Извлечение признаков с помощью flairNLP

Я пытаюсь использовать чутье для анализа настроений, но мне также нужно знать, насколько каждое слово повлияло на оценку предложения.

Я следил за этой статьей, чтобы предсказать настроение, но она не показывает, как извлечь особенности данного предложения. Я предполагаю, что есть способ извлечь эту функцию из-за того, как он представлен в этой статье, но я не могу его найти. Я пробовал читать документацию по чутью и сам код, но не видел способа сделать это.

Я ищу такую ​​функциональность:

import flair
text = flair.data.Sentence(<string-with-sentiment>)
model = flair.models.TextClassifier.load('en-sentiment')
model.predict(text)
print(s.individual_sentiments)

Результат:

[('i', 0.08), ('do', 0.09), ('like', 1.0), ('you', -0.32)]

Я не пытаюсь обучать свою собственную модель, а скорее использую предварительно обученную, как в примере кода выше.

Примечание: я не обязан изощренно, если существует другой фреймворк с этой функциональностью, я тоже буду рад узнать об этом. Я пытаюсь использовать чутье, потому что он выполнял Textblob и nltk VADER с точностью, когда я его тестировал.

1 ответ

Решение

В статье на самом деле есть ссылка на блокнот colab внизу, который я пропустил. Похоже, что в этой статье это достигается путем классификации каждого слова отдельно в дополнение ко всему предложению.

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