我使用StanfordNLP OpenIE从更复杂的句子中提取更简单的句子,方法是使用OpenIE识别三元组。为了提高下游NLP答疑任务的性能,需要使用更简单的句子。
以下是我的默认属性:
属性=‘{“注释者”:“记号化,ssplit,pos,引理,ner,depparse,natlog,openie","outputFormat":"json"}’
这是我的试题:
text =“病人被置于左侧位置,并通过心电图追踪、脉搏血氧监测和直接观察持续监测。”
无论是使用docker服务器还是从下载的Java发行版中运行,我都会得到以下结果(这很有意义):
病人在侧方位置
病人连续监护连续心电图追踪
病人脉搏血氧监测
病人被置于左侧位置
病人被安置
病人被放置在左侧位置
病人经监测的连续心电图追踪
病人的位置
但是,如果我在http://corenlp.run/的演示页面上运行相同的测试语句,Brat可视化将返回一组更简洁的三胞胎:
病人连续监护连续心电图追踪
病人脉搏血氧监测
病人被置于左侧位置
我试验了这里列出的每个OpenIE注释选项:
https://nlp.stanford.edu/software/openie.html#Questions,但未能产生更简洁的结果。
有这个选项吗?如果没有,任何算法获得这一结果将不胜感激。
谢谢
发布于 2018-08-08 04:54:34
当我尝试corenlp.run时,如果您悬停在每个实体上,就会得到相同的扩展的三元组:

但是,只要采用尽可能宽的subject+object+relation作用域,就可以将它们折叠成更少的三元组。有几种方法可以做到这一点:
QA_SRL输出格式实际上将为您执行选项(1),以符合惩罚“重复”关系提取的评估。然而,在许多情况下,保持更多的提取也是无害的/可取的。每一个摘录都应该是“正确的”,因为它们是从源句中提取出来的--有些比另一些更具体。
https://stackoverflow.com/questions/51695442
复制相似问题