Повышение точности настроений с помощью StanfordCoreNLP

Поэтому я пытаюсь предсказать настроение отзывов как можно точнее. Я переключился на Stanford Core NLP, считая его более точным. Так что для предложения,

Staff were very helpful in store when I wanted to return the product and promptly processed the refund.

Для этого предложения выше, я получаю оценку отрицательного значения 1.

Затем я использовал senti_wordnet для того же предложения, и я получил положительный результат, который является правильным. Мне было интересно, что я делаю что-то не так, потому что, если я правильно читаю в разных источниках, в нем упоминается, что StanfordCoreNLP более точный, но это не так. Поэтому мне было интересно, делаю ли я что-то не так. Я также написал свои программы на python для StanfordCoreNLP (используя класс-оболочку) Код, который я использую для senti_wordnet.

def classifySentence(sen):
  wn_lem = WordNetLemmatizer()
  pos = 0
  neg = 0
  for token in nltk.word_tokenize(sen):
      lemma = wn_lem.lemmatize(token)
      if len(wn.synsets(lemma))>0:
          synset = wn.synsets(lemma)[0]
          sent = swn.senti_synset(synset.name())
          print("Sentiment of "+token+" "+str(sent))
          pos = pos + sent.pos_score()
          neg = neg + sent.neg_score()
  return [pos, neg]

Код для stanfordCoreNLP

for Review in filtered_ReviewsAfterProcess1:
    res = nlp.annotate(Review,operations)
    for s in res["sentences"]:
        for token in s["tokens"]:
          print("Sentiment of sentence: "+s["sentiment"]+' value: '+s["sentimentValue"])

0 ответов

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