python - 如何阅读基于选区的解析树

标签 python parsing nlp parse-tree

我有一个由斯坦福 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/

相关文章:

php - 正则表达式php重复字符错误

c++ - 如何在编译时解析静态常量 std::string?

java - java中的停用词和词干分析器

python - 无法迭代列表 -pyPDF2

python - 如何删除没有内容的标签

c - Java-Python 翻译器中求和运算的语法问题

python - Gensim:如何从文本文件加载预计算的词向量

python - gensim most_similar with positive 和 negative,它是如何工作的?

python - 为什么我不能在 Django 中保存对象?

Python 3 : how to tests exceptions within with?