小编Eri*_*ica的帖子

怎么用nltk.util.breadth_first进行搜索?

我正在尝试使用breadth_first 在ParentedTree 中搜索(首先)一个特定的叶词,然后搜索某个标签(NP)。如果已经有一种方法,我真的宁愿不自己实现它。这是我尝试过的(包括我是如何制作树的,以防那是我搞砸的地方):

import nltk
from nltk.util import breadth_first

grammar = nltk.data.load("/path/to/grammar.cfg")
parser = nltk.parse.EarleyChartParser(grammar)
sent = "They are happy people"
parse1 = list(parser.parse(sent.split()))
tree1 = nltk.tree.ParentedTree.convert(parse1[0])
bf = breadth_first(tree1)
Run Code Online (Sandbox Code Playgroud)

这给了我一个生成器对象,但我不确定如何使用它来搜索我想要的东西(代词“他们”)。我尝试做一个简单的“for node in bf: print(node)”,它自己在一行上打印字符串的每个字母,一直重复,直到我不得不关闭窗口。

我已经阅读了文档并且我已经做了很多谷歌搜索,但我找不到它实际用于搜索的例子。我究竟做错了什么?

python nlp nltk

5
推荐指数
0
解决办法
307
查看次数

标签 统计

nlp ×1

nltk ×1

python ×1