嗨,我刚开始学习 NLP,并选择了斯坦福 api 来完成我所有需要的任务。我能够完成 POS 和 NER 任务,但我坚持使用共同参考解决方案。我什至能够获得“corefChaingraph”并能够将所有代表性提及和相应提及打印到控制台。但是,我真的很想知道如何在解决共同引用后获得最终文本。有人可以帮我解决这个问题吗?
示例:输入句子:John Smith 谈论欧盟。他喜欢万国之家。
预期输出:约翰史密斯谈论欧盟。约翰史密斯喜欢国际大家庭。
嗨,我刚开始学习 NLP,并选择了斯坦福 api 来完成我所有需要的任务。我能够完成 POS 和 NER 任务,但我坚持使用共同参考解决方案。我什至能够获得“corefChaingraph”并能够将所有代表性提及和相应提及打印到控制台。但是,我真的很想知道如何在解决共同引用后获得最终文本。有人可以帮我解决这个问题吗?
示例:输入句子:John Smith 谈论欧盟。他喜欢万国之家。
预期输出:约翰史密斯谈论欧盟。约翰史密斯喜欢国际大家庭。
根据我的经验,你试图解决的问题并没有完全解决,但有很多人在努力解决这个问题。我尝试了“卡拉卡”的方法。不仅要获取主谓宾,还要从句子中获取其他引用。
这是我解决问题的方法:
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”是位置引用。
类似地,“有/无”和工具“为”是与格。
当我必须处理一个单词及其在句子中的规则时,我基本上相信这种深度解析和规则系统。
我对这种方法有很好的准确性。
这在很大程度上取决于您采取的方法。我个人会尝试解决这个问题,看看单词在句子中扮演什么角色,以及上下文是什么。根据词性标签,尝试映射主谓宾模型。一旦确定了主题和对象,您就可以构建一个简单的上下文继承规则系统来实现您想要的。
例如
基于以下标签:
[('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
形式上。
现在基于此,你知道什么是上下文结转。
例如:“他”表示主题正在向前推进。“它”表示对象(这是一个非常基本的示例。您可以为模式构建一个强大的基于规则的系统。)我过去尝试过很多方法,这个给了我最好的结果。
我希望我有所帮助。