Obtain relationship between words of a sentence

1k views Asked by At

I am working on a project based something on natural language understanding. So, what I am currently doing is to try and reference the pronouns to their respective antecedents, for which I am trying to build a model. I have worked out the basic part of it, but to complete the task, I need to understand the narrative of the sentence. So what I want is to check whether the noun and object are associated with each other by the verb using an API in python.

Example:

method(laptop, have, operating-system) = yes

method(program, have, operating-system) = No

method("he"/"proper_noun", play, football) = yes

method("he"/"proper_noun", play, college) = No

I've heard about nltk's wordnet API, but I am not sure whether I can use it to perform the same. Can it be used? Also, I am kind of on a clock.

Any suggestions are welcome and appreciated.

Notes: I am using parsey-mcparseface to break the sentence. I could do the same with nltk but P-MPF is more accurate.

** Why isn't there an NLU tag available? **

Edit 1: Thanks to alexis, The thing I am trying to do is called "Anaphora Resolution".

1

There are 1 answers

0
alexis On BEST ANSWER

The name for what you want is "anaphora resolution", or "coreference resolution". It's a hard problem (probably harder than you realize-- nlp tasks are like that), so unless your purpose is just to learn, I recommend you try some existing solutions. I don't know of an anaphora resolution module in the nltk itself, but you can find it as part of the Stanford CoreNLP suite. See this question about how to interface to it from the nltk. (I haven't tried it myself).