程序如何学会正确地映射代词?

时间:2018-02-08 14:55:01

标签: machine-learning nlp artificial-intelligence nltk

程序如何学会将代词正确映射到文本中的其他内容?

例如,在文字" Lisa击败珍妮。她很残忍。",我想"她"映射到" Lisa"。

这种算法是否有已知名称?如果是,那是什么?

3 个答案:

答案 0 :(得分:2)

你正在寻找的是共识/回指/代词解析[12],但它更像是一个研究问题,而不是一个算法。

请参阅下面的图片,了解CoreNLP online demo对“Lisa击败Jenny”这句话所做的事情。她很残忍。 请注意,它并不总是具有您想要/期望的结果。

Result of CoreNLP on coreference resolution

答案 1 :(得分:0)

我相信您正在寻找的信息可以在此链接中找到,关于NLP(自然语言处理)并在CNN(卷积神经网络)中使用

http://www.wildml.com/2015/11/understanding-convolutional-neural-networks-for-nlp/

值得注意的是,CNN是专为“视觉”或图像解析而制作的。在大多数情况下,需要DNN(深度神经网络)来满足这种复杂的要求。

DNN / NLP阅读可在此处找到:https://arxiv.org/pdf/1703.03091.pdf

<强> TL; DR

没有特定的算法,而是可用于推断上述信息的多种算法的子集。查看微软关于语言研究的白皮书。

答案 2 :(得分:0)

解析这样的句子需要大量的常识。你需要知道殴打某人可能被认为是一种残酷的行为。据我所知,没有人能够在不受约束的演讲中真正处理这个问题。

IMO,机器学习技术会失败,因为它们通过仅仅复制学习模式而无需理解就能工作。但是想想“Lisa击败Jenny。她很残忍。”并且“Lisa击败Jenny。她是金发女郎。”在结构上是相同的,但你不能将其中一个概括为一个。

某些系统(如Google翻译)通过重复使用已经看过的片段(即短字序列)来工作。但在你的情况下,模式可以跨越几个句子,并且它们重新发生的可能性太小。