我一直在试图弄清楚如何使用词性标记的“标记”结果。目前我有这个测试代码:
当我运行它时,它会返回:
这一切都很好。但我希望能够使用此结果,但我不知道如何使用。如何检查“测试”变量是否包含“VBG”标签?有没有办法检查“测试”的值?我试着做这样的事情:
if 'VBG' in test:
print ('success')
else:
print('Nope')
print(test)
但这无济于事。你如何找到一个单词/字符串/属性是否在“测试”的结果中?谢谢。
我一直在试图弄清楚如何使用词性标记的“标记”结果。目前我有这个测试代码:
当我运行它时,它会返回:
这一切都很好。但我希望能够使用此结果,但我不知道如何使用。如何检查“测试”变量是否包含“VBG”标签?有没有办法检查“测试”的值?我试着做这样的事情:
if 'VBG' in test:
print ('success')
else:
print('Nope')
print(test)
但这无济于事。你如何找到一个单词/字符串/属性是否在“测试”的结果中?谢谢。
在您的示例中,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:发问题前请先熟悉栈溢出的礼仪。