Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何访问NLTK树中节点的内容?_Python_Python 3.x_Tree_Nltk - Fatal编程技术网

Python 如何访问NLTK树中节点的内容?

Python 如何访问NLTK树中节点的内容?,python,python-3.x,tree,nltk,Python,Python 3.x,Tree,Nltk,我正在尝试使用NLTK树搜索基于单词的POS标记 我想在树中找到一个单词(此处:different)(该单词肯定存在于树中),并检查包含该单词的节点的任何子节点是否具有给定的标签(此处:NN) 您可以遍历树的所有子树 tree = Tree.fromstring( input_string, read_node=lambda s: '<%s>' % s, read_leaf=lambda s: '%s' % s)

我正在尝试使用NLTK树搜索基于单词的POS标记

我想在树中找到一个单词(此处:different)(该单词肯定存在于树中),并检查包含该单词的节点的任何子节点是否具有给定的标签(此处:NN)


您可以遍历树的所有子树

tree = Tree.fromstring(
           input_string, 
           read_node=lambda s: '<%s>' % s,
           read_leaf=lambda s: '%s' % s)

for sub_tree in tree.subtrees(): 
    if sub_tree.label()  == '<JJ>' and 'different' in set(sub_tree.leaves()):
        print('yes')
tree=tree.fromstring(
输入_字符串,
读取节点=λs:''%s,
read_leaf=lambda s:“%s”%s)
对于树中的子树。子树():
如果集合(sub_tree.leaves())中的sub_tree.label()==''和'different':
打印('是')

虽然这没有给我任何输出,但是感谢
集合(sub_tree.leaves())
。我现在可以访问节点的内容。如果您仍然对单词
read\u leaf=lambda s:'%s''%s
,它将不会给出任何输出。我删除了引号并将其打印出来
Yes
if t.leaves() in ["different"]:
    if content_of_t (I don't know how to access that) in ["NN"]:
        return "yes"
tree = Tree.fromstring(
           input_string, 
           read_node=lambda s: '<%s>' % s,
           read_leaf=lambda s: '%s' % s)

for sub_tree in tree.subtrees(): 
    if sub_tree.label()  == '<JJ>' and 'different' in set(sub_tree.leaves()):
        print('yes')