I am trying to find the parties between which the agreement is executed from the statement below.
AGREEMENT, dated as of January 10, 2000, is entered into by and between ABC-EFG GROUP Inc. having an address at 418 Mona Drive, Prominade 34, Florida 34673, United States of America and Rob Cummins, an individual residing in the state of Florida, and having an address at 13 test Dr, Arosa, FL 43566
To get this, I tried the following code:
for chunk in doc.noun_chunks: # after loading "nlp = spacy.load("en_core_web_sm")" and doc = nlp("string") print(chunk.text, chunk.root.text, chunk.root.dep_,chunk.root.head.text)
which gives me:
AGREEMENT AGREEMENT nsubjpass entered January January pobj of ABC-EFG GROUP Inc. Inc. pobj between an address address dobj having 418 Mona Drive Drive pobj at United States States conj Drive America America pobj of Rob Cummins Cummins conj America an individual individual appos States the state state pobj in Florida Florida pobj of an address address dobj having 13 test test pobj at Dr Dr ROOT Dr FL FL appos Arosa
I don't understand how I am supposed to find the two parties from this output.
I am not specific to spaCy. A suggestion of any other model or method also will work.
Please note that I have already tried NER but the results are very poor.