В настоящее время я использую Vader через библиотеку nltk, но после нескольких экспериментов я понимаю, что мне нужно добавить некоторые c выражения (части предложений) с точной оценкой, чтобы составная оценка могла получить подходящее значение (соответствующее значение идет в том направлении, которое мне кажется лучшим).
Всякий раз, когда я даю пример предложения типа «… поднимает цель», я получаю 100% нейтральный результат, в то время как «… сокращает цель» приводит к отрицательному значению. результат.
Я попытался добавить предложения в лексикон следующим образом, но результаты остались без изменений:
##
from nltk.sentiment.vader import SentimentIntensityAnalyzer as SIA
SIA = SentimentIntensityAnalyzer()
my_lexicon =SIA.lexicon
my_lexicon.update({“raises the target”:2.0 })
SIA.lexicon=my_lexicon
##
В исходном коде (https://www.nltk.org/_modules/nltk/sentiment/vader.html) я нашел детали о том, что они называют «идиомами особого случая»… Мне было интересно, могу ли я добавить свои выражения без изменения этой части исходного кода.
# check for special case idioms using a sentiment-laden keyword known to SAGE
SPECIAL_CASE_IDIOMS = {
"the shit": 3,
"the bomb": 3,
"bad ass": 1.5,
"yeah right": -2,
"cut the mustard": 2,
"kiss of death": -1.5,
"hand to mouth": -2,
}
Не могли бы вы предложить?
Спасибо .