gpt4 book ai didi

java - 树库式树解析器 python

转载 作者:太空宇宙 更新时间:2023-11-03 18:06:42 25 4
gpt4 key购买 nike

最近我一直在尝试解析stanford parser返回的语法树。在Python中。我一直在尝试使用 nltk tree = Tree.parse(result['sentences'][0]['parsetree']) 来做到这一点,并且解析成功,但是 nltk 的树类提供了很少的内容加工方法。我将需要像 tree.isPrePreTerminal() 这样的方法,据我所知,这些方法不包括在内。我发现this另一种选择,但它似乎不喜欢 64 位架构,并且它给了我这个错误 ImportError: InputTree/_InputTree.so: error ELF class: ELFCLASS32 即使我用 -m64 编译> 旗帜。过去 2 天我一直在研究这个问题,如果您知道如何使上述模块与 64 位系统或备用库一起工作,或者至少有一个好的 nltk.tree 文档,以便我自己实现这些方法,请告诉我.

最佳答案

不幸的是,PyInputTree 不再维护。然而,来自 Charniak 解析器的 InputTree 类以包装形式存在,如 Tree class in BLLIP Parser 。它没有实现 isPrePreTerminal() ,但这是一种实现方法:

import bllipparser

def is_prepreterminal(node):
"""Returns True iff all children of this node are preterminals."""
subtrees = node.subtrees()
return len(subtrees) > 0 and \
all(subtree.is_preterminal() for subtree in subtrees)

# testing code
tree = bllipparser.Tree('(S1 (S (NP (DT This)) (VP (VBZ is) (NP (DT a) (ADJP (RB fairly) (JJ simple)) (NN parse) (NN tree))) (. .)))')
for subtree in tree.all_subtrees():
print subtree, is_prepreterminal(subtree)

参见bllipparser有关更多信息,请访问 PyPI。

关于java - 树库式树解析器 python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26752970/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com