0

我一直在试图弄清楚如何使用词性标记的“标记”结果。目前我有这个测试代码:

点击查看

当我运行它时,它会返回:

点击查看

这一切都很好。但我希望能够使用此结果,但我不知道如何使用。如何检查“测试”变量是否包含“VBG”标签?有没有办法检查“测试”的值?我试着做这样的事情:

if 'VBG' in test: 
   print ('success')
else:
    print('Nope')
    print(test)

但这无济于事。你如何找到一个单词/字符串/属性是否在“测试”的结果中?谢谢。

4

1 回答 1

1

在您的示例中,test返回一个列表,因此检查它是否包含“VBG”或任何其他 POS 的正确方法是对该列表进行索引。同样,在你的情况下,你想做if 'VBG' in test[0]. 对于单词列表,您可以执行以下操作。

import nltk
words = ['doing','cat','blue']
tags = nltk.pos_tag(words)
for idx,word in enumerate(words):
    if 'VBG' in tags[idx]:
        print word + ' is a VBG'

PS:发问题前请先熟悉栈溢出的礼仪。

于 2017-02-01T21:41:38.980 回答