检测文本中两个人之间的关系

Detect relation between two persons in text

目标是找到一段文本中存在任何种关系的所有人物对。特别是,如果我们有这段文字:

Alice Wilson, doctor with more than 30 years of experience in suppressing virus epidemics, has met with the president of Neverland country, John Doe, to discuss ways of tackling a new virus.

John Doe will meet next week with the state official Jack Sparrow of some other country to discuss something totally-unrelated-to-the-first-part-of-text.

Alice WilsonJohn Doe有关系,John DoeJack Sparrow也有关系。然而,Alice WilsonJack Sparrow 之间没有真正的关系,除了它们都出现在同一文本中。

因此,结果对将是:

Alice Wilson, John Doe
John Doe, Jack Sparrow

我找到了一种使用 Stanford CoreNLP 的命名实体识别器从文本中提取人名的方法,因此具有 Alice WilsonJohn DoeJack Sparrow,但我不确定如何找出它们之间的关系。 CoreNLP 可以执行词性标注,它可以用 SubjectVerbObject 等标记单词。尽管如此,我仍然没有找到解决所有可能变化的方法在哪里可以找到一个人的名字,例如:

John Doe said that... <- 'John Doe' is a Subject
Jack Sparrow introduced John Doe to the senior officials... <- 'John Doe' is an Object
Jack Sparrow, John Doe's cousin, told the press... <- Not even sure what 'John Doe' here is.

关于如何解决这个问题的任何想法(欢迎使用代码,但不是必需的)?

你可以看看句子中的两个实体之间是否存在依赖路径。更多信息:http://nlp.stanford.edu/software/stanford-dependencies.shtml

它不会 100% 准确,但已经足够好了。为了提高准确性,您可以修剪超过一定长度或具有一定依赖性的路径。

你也可以看看http://reverb.cs.washington.edu

等开放的信息提取工具