NLP将括号表示法转换为依赖关系树
问题描述:
给出了构成词的括号表示法,是否有办法将它转换为其依赖树?NLP将括号表示法转换为依赖关系树
[S [NP [Proper-Noun John]][VP [Verb saw][NP [Proper-Noun Mary]][PP [Preposition with][NP [Determiner a][Noun telescope]]]]]
到
nsubj(saw-2, John-1)
root(ROOT-0, saw-2)
dobj(saw-2, Mary-3)
case(telescope-6, with-4)
det(telescope-6, a-5)
nmod(saw-2, telescope-6)
答
有参与这种转换,所以你不会找到任何标准语言无关的转换工具,多语言/特定表示,决定和启发。如果你正在使用PTB式英语树木的工作有几个现有的转换器:
有一个为斯坦福解析器(edu.stanford.nlp.trees.EnglishGrammaticalStructure)开发的,其产生的输出类型,你在上面,在他们FAQ描述。 (另请参阅相关问题:Stanford Dependencies Conversion Tool。)
还有一个非常老的PTB专用LTH Constituent-to-Dependency Conversion Tool for Penn-style Treebanks,它生成CoNLL 2008风格的输出。
你的榜样看起来并不像一个标准的PTB树,所以你可能需要调整现有的转换器,在这种情况下,斯坦福转换可能是一个很好的起点。
那么为了获得SVO三元组,你需要依赖分析?或者只能从上述输出中提取此信息? – arjun
不,从类似于上面的组成分析树中提取依赖关系。查看edu.stanford.nlp.trees.EnglishGrammaticalStructure和edu.stanford.nlp.trees.EnglishGrammaticalRelations中的Stanford解析器代码。 EnglishGrammaticalRelations显示了用于查找像nsubj这样的关系的树形模式。你可以看到,这是非常英语/ PTB的具体和有很多启发式。 – aab