1

嗨,我刚开始学习 NLP,并选择了斯坦福 api 来完成我所有需要的任务。我能够完成 POS 和 NER 任务,但我坚持使用共同参考解决方案。我什至能够获得“corefChaingraph”并能够将所有代表性提及和相应提及打印到控制台。但是,我真的很想知道如何在解决共同引用后获得最终文本。有人可以帮我解决这个问题吗?

示例:输入句子:John Smith 谈论欧盟。他喜欢万国之家。

预期输出:约翰史密斯谈论欧盟。约翰史密斯喜欢国际大家庭。

4

2 回答 2

0

根据我的经验,你试图解决的问题并没有完全解决,但有很多人在努力解决这个问题。我尝试了“卡拉卡”的方法。不仅要获取主谓宾,还要从句子中获取其他引用。

这是我解决问题的方法:

step 1: Detect the voice of the sentence. 


Step 2: For active voice, parse a POS tagged sentence from left to right to get 
subject-verb-object (It will be always in that form for active voice). For passive voice look for "by" and take the next noun as a subject. 

看你的例子:

在这两个句子中,您都有名词-动词-名词结构。您可以轻松地将其解析为第一个名词是主语,然后是动词,然后是 IN(关于表示宾语),然后是名词。从那里的规则:约翰史密斯是主体,会谈是行动,欧盟是对象。

语言学中的卡拉卡理论也将帮助您扮演其他角色。

例如:John Smith talks about EU in Paris.

在这里,当您在(IN 标记)巴黎(NNP 标记)中进行 enouter 时,您可以有一条规则告诉您“in/on/around/inside/outside”是位置引用。

类似地,“有/无”和工具“为”是与格。

当我必须处理一个单词及其在句子中的规则时,我基本上相信这种深度解析和规则系统。

我对这种方法有很好的准确性。

于 2013-07-28T15:31:35.667 回答
0

这在很大程度上取决于您采取的方法。我个人会尝试解决这个问题,看看单词在句子中扮演什么角色,以及上下文是什么。根据词性标签,尝试映射主谓宾模型。一旦确定了主题和对象,您就可以构建一个简单的上下文继承规则系统来实现您想要的。

例如

基于以下标签:

[('John', 'NNP'), ('Smith', 'NNP'), ('talks', 'VBZ'), ('about', 'IN'), ('the', 'DT'), ('EU.', 'NNP'), ('He', 'NNP'), ('likes', 'VBZ'), ('the', 'DT'), ('family', 'NN'), ('of', 'IN'), ('nations', 'NNS'), ('.', '.')]

您可以创建块:

[['noun_type', 'John', 'Smith'], ['verb_type', 'talks'], ['in_type', 'about'], ['noun_type', 'the', 'EU']]

[['noun_type', 'He'], ['verb_type', 'likes'], ['noun_type', 'the', 'family'], ['in_type', 'of'], ['noun_type', 'nations']]

一旦你有了这些块,就从左到右解析它们,把它们放在Subject-Verb-Object形式上。

现在基于此,你知道什么是上下文结转。

例如:“他”表示主题正在向前推进。“它”表示对象(这是一个非常基本的示例。您可以为模式构建一个强大的基于规则的系统。)我过去尝试过很多方法,这个给了我最好的结果。

我希望我有所帮助。

于 2013-07-27T14:04:06.827 回答