我一直在尝试找出如何使用部分语音标记中的“标记”结果。目前,我有以下测试代码:



当我运行它时,它返回:



一切都很好。但是我希望能够使用此结果,但我不知道如何使用。如何检查“ 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:请在发布问题之前先熟悉一下堆栈溢出的礼节。

关于python - Python-如何使用pos_tag(NLTK)中的标签?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41989543/

10-12 20:00