【问题标题】:How can I easily draw a parse tree from Stanford parsing data in python?如何轻松地从斯坦福解析 Python 中的数据中绘制解析树?
【发布时间】:2015-06-24 09:42:20
【问题描述】:

所以我有这个斯坦福风格的英语句子解析:

"There is a tree behind a car"
Parse: [S [NP There_EX NP] [VP is_VBZ [NP [NP a_DT tree_NN NP] [PP behind_IN [NP a_DT car_NN NP] PP] NP] VP] S]

我想用python中的一些树绘制方法,从数据中画出解析树。

有没有一种简单的方法可以使用该解析表示来用 python 绘制一棵树,或者我应该以某种方式更改表示?

【问题讨论】:

标签: python parsing nlp parse-tree


【解决方案1】:

NLTK 有一个tree 模块。您可以使用它来解析您从斯坦福大学获得的表示(请参阅this related question)。然后就可以用nltk.tree.draw来显示了。

【讨论】:

  • 我尝试将解析输出传递给 python 上的树模块,但它不是必需的格式,所以我得到一个错误。我一直在寻找一种无需更改整个输入格式的方法,因为我不知道该怎么做。或者至少是一种轻松更改格式的方法。
  • 你是怎么得到这个输出的?它看起来不像斯坦福正常输出的那样。必须有一个参数来控制格式。如果没有,则必须将方括号替换为圆括号,然后拆分 PoS 标签并将它们放在每个令牌之前。请参阅链接问题中的格式 - 这几乎是常态。
【解决方案2】:

将解析转换为graphviz可以理解的表示。然后将该表示传递给graphviz。还有一个名为 pygraphviz 的接口库。

【讨论】:

    猜你喜欢
    • 2014-04-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多