Python - Как вы используете теги от pos_tag (NLTK)?

Я пытался выяснить, как использовать "помеченные" результаты от части речевого тегирования. В настоящее время у меня есть этот тестовый код:

нажмите для просмотра

Когда я запускаю его, он возвращается с этим:

нажмите для просмотра

Это все хорошо. Но я хочу иметь возможность использовать этот результат, и я не знаю, как это сделать. Как я могу проверить, содержит ли переменная 'test' тег 'VBG'? Есть ли способ проверить значения "теста"? Я пытался сделать что-то вроде этого:

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

Но это ничего не делает. Как вы узнаете, является ли слово / строка / атрибут результатом "теста"? Благодарю.

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: Пожалуйста, ознакомьтесь с этикетом переполнения стека, прежде чем отправлять вопрос.

Другие вопросы по тегам