我有一个由斯坦福 CoreNLP 预处理过的句子语料库系统。它提供的功能之一是句子的解析树(基于选区)。虽然我可以理解绘制的解析树(就像树一样),但我不确定如何以这种格式阅读它:
例如:
(ROOT
(FRAG
(NP (NN sent28))
(: :)
(S
(NP (NNP Rome))
(VP (VBZ is)
(PP (IN in)
(NP
(NP (NNP Lazio) (NN province))
(CC and)
(NP
(NP (NNP Naples))
(PP (IN in)
(NP (NNP Campania))))))))
(. .)))
原句是:
sent28: Rome is in Lazio province and Naples in Campania .
我应该如何阅读这棵树,或者是否有一个代码(在 python 中)可以正确地完成它? 谢谢。
最佳答案
NLTK
有一个用于读取解析树的类:nltk.tree.Tree
。相关方法称为 fromstring
。然后您可以迭代它的子树、叶子等...
顺便说一句:您可能想要删除显示 sent28:
的位,因为它会混淆解析器(它也不是句子的一部分)。您得到的不是完整的解析树,而只是一个句子片段。
关于python - 如何阅读基于选区的解析树,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28674417/