在文本中,有时单词往往指向同一个对象。例如:John is an actor, his father Abraham was Doctor
所以这里his
指向John
,如果我们有问题Who is John's father?
或What is John's father's occupation?
,我们应该能够回答这个问题,但我不知道如何实现。
使用词法分析,解析;通过句法分析,我们可以从句子中得到VP, NP, N
等。这可以帮助它-https://pypi.python.org/pypi/pylinkgrammar
潜在语义分析和概率潜在语义分析(PLSA)提供了关系,可以用于分析两种模式和共现数据。但目前尚不清楚如何使用它。
更多的是语义和句法分析。如有任何建议或参考,不胜感激。
对于前一个问题(his指的是什么?John!),您所描述的被称为共引用解析,对于后一个问题,则称为关系提取(即job(John, actor)
、job(Abraham,doctor)
和father(John,Abraham)
)。
关于这些主题有很多研究。希望ACL选集能有所帮助:
- 共参考分辨率
- 关系提取
有一个特定的依赖于NLTK的库,我认为它非常适合您的情况:https://code.google.com/p/nltk-drt/
此PDF非常详细地解释了它的工作原理:https://code.google.com/p/nltk-drt/downloads/detail?name=NLTK-DRT.pdf