【问题标题】:pronoun resolution backwards代词解析向后
【发布时间】:2016-04-10 06:05:50
【问题描述】:

通常的共指解析工作方式如下:

提供

The man likes math. He really does.

发现

he 

指的是

the man.

有很多工具可以做到这一点。

但是,有没有办法倒退?

例如,

给定

The man likes math. The man really does.

我想“向后”做代词解析

这样我就能得到类似的输出

The man likes math. He really does.

我的输入文本大多是 3~10 句话,我正在使用 python。

【问题讨论】:

  • 如果先找出照应词及其先行词,然后将照应词换成先行词,岂不是很容易?
  • 你能提供更多句子的例子吗?
  • 在提供的示例中,您如何确定第二个“男人”指的是同一个人?另外,如果你能提供更多的测试用例,我认为会有所帮助。

标签: python nlp nltk stanford-nlp


【解决方案1】:

这可能不是一个真正令人高兴的答案,但我认为答案是任何地方都没有内置这样的功能,尽管您可以自己编写代码而不会有太大困难。概述我将如何使用 CoreNLP:

  1. 仍在运行 coref。这将告诉您“the man”和“the man”是相关的,因此您可以将第二个替换为代词。

  2. 从 CoreNLP 运行 gender 注释器。这是一个记录不充分、宣传效果更差的注释器,它试图将性别附加到句子中的标记上。

  3. 以某种方式找出复数。大多数时候你可以使用词性标签:复数名词得到标签 NNS 或 NNPS,但有一些复杂性,所以你可能还需要考虑(1)先行词中是否存在连词; (2) 词的引理与其文本不同; (3) 特别是与 2 结合,以 's' 或 'es' 结尾的词——这可以区分去除复数的词形还原和去除时态等的词形还原。

  4. 这足以找出正确的代词。现在只需将句子切分并重新组合即可。如果你在 CoreNLP 中这样做会有点痛苦——代码只是没有设置来更改句子的文本——但在最坏的情况下,你总是可以重新注释一个新的表面形式。

希望这会有所帮助!

【讨论】:

  • 酷!不知道 CoreNLP 有一个“性别”注释器。
猜你喜欢
  • 1970-01-01
  • 2017-08-25
  • 2010-11-19
  • 2013-09-11
  • 1970-01-01
  • 1970-01-01
  • 2014-07-26
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多