0
我正在尝试使用NLTK树根据单词搜索POS标签。如何访问NLTK树中节点的内容?
我想在树中找到一个词(这里是:不同的)(该词绝对存在于树中),并检查包含这个词的节点的任何子节点是否有给定的标签(这里:NN )。
from nltk.tree import Tree
input_string = '(ROOT (SBARQ (WHADVP (WRB How)) (SQ (VBZ is) (NP (PRP it)) (ADJP (JJ different) (PP (IN from) (NP (DT the) (JJ dishonest) (NNS businessmen))))) (. ?)))'
for t in Tree.fromstring(input_string, read_node=lambda s: '<%s>' % s, read_leaf=lambda s: '"%s"' % s):
print (t)
我试图通过文档,但我无法得到比这更进一步。
我所试图做的是:
if t.leaves() in ["different"]:
if content_of_t (I don't know how to access that) in ["NN"]:
return "yes"
虽然这不给我输出,感谢'set(sub_tree.leaves())'。我现在可以访问节点的内容。 – user110327
如果您仍然将引号应用于单词'read_leaf = lambda s:'“%s”'%s',它将不会输出。我删除了引号,并打印出'是' –