查找文本中单词之间的关系

Posted

技术标签:

【中文标题】查找文本中单词之间的关系【英文标题】:Finding relationships among words in text 【发布时间】:2014-11-05 12:00:38 【问题描述】:

在文本中,有时单词往往指向同一个对象。 例如: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

潜在语义分析和Probabilistic latent semantic analysis (PLSA)提供关系,可用于分析双模和共现数据。但是具体怎么用还不清楚。

更多的语义和句法分析。 对此的任何建议或参考将不胜感激。

【问题讨论】:

也许 nltk 可以帮助你? nltk.org/book/ch08.html @danielfranca:谢谢亲爱的。它有助于句法分析。语义分析的任何线索? nltk 对此有任何支持吗? 是的,有一个专门的章节 :) nltk.org/book/ch10.html 如果有帮助,请告诉我。 @danielfranca:谢谢,它帮助我前进。但我很困惑。 我可以使用 python nltk 或 prolog。 Watson 人使用 prolog,因为它是 AI 工具,我想它会是更好的选择。但无法决定跟随哪一个。 【参考方案1】:

你所描述的被称为 coreference resolution 对于前一个问题(his 指的是什么?约翰!)和 关系提取对于后者(即job(John, actor)job(Abraham,doctor)father(John,Abraham))。

有大量关于这些主题的研究。希望 ACL Anthology 能为您提供帮助:

coreference resolution relation extraction

【讨论】:

【参考方案2】:

我认为有一个特定的依赖于 NLTK 的库非常适合您的情况:https://code.google.com/p/nltk-drt/

此 PDF 非常详细地解释了它的工作原理:https://code.google.com/p/nltk-drt/downloads/detail?name=NLTK-DRT.pdf

【讨论】:

关于如何将如此长的查询分开的任何想法

以上是关于查找文本中单词之间的关系的主要内容,如果未能解决你的问题,请参考以下文章

查找不同单词之间的语义相似性和关系

javascript 能够扫描文本并查找单词之间的匹配点,以提取语法

grep 访问多行,查找两个模式之间的所有单词

在 wordnet 中查找同义词集之间的距离

Word VBA查找某种颜色的文本并在其前面插入一个空格

尝试在单独的文本文件中查找单词