Ошибка прогнозирования настроений в Stanford NLP; отличается от живого демо - PullRequest
0 голосов
/ 20 марта 2019

Я хотел найти настроение для следующего предложения (твит):

После сегодняшнего переворота с помощью #Boeing, $ SPX движется к лучшему недельному выигрышу с ноября во главе с акциями #tech.которые летят!

Некоторые эксперименты с предсказаниями настроений НЛП приводят меня к следующему коду:

val pipeline = {
  val props = new Properties()
  props.setProperty("annotators", "tokenize, ssplit, pos, lemma, parse, sentiment")
  props.setProperty("outputFormat", "json")
  new StanfordCoreNLP(props)
}
val text = "After today's turnaround by #Boeing , the $SPX is heading for the best weekly gain since November led by #tech stocks that are flying!"
val annotation: Annotation = pipeline.process(text)
val sentences = annotation.get(classOf[CoreAnnotations.SentencesAnnotation])
pipeline.annotate(annotation)
println(JSONOutputter.jsonPrint(sentences.head.get(classOf[SentimentCoreAnnotations.SentimentAnnotatedTree]))

, который возвращает отрицательные чувства вопреки интуиции и результат живой демонстрации http://nlp.stanford.edu:8080/sentiment/rntnDemo.html (положительный с вероятностью 40%).

Что мне здесь не хватает?

1 Ответ

0 голосов
/ 21 марта 2019

Лемматизатор обычно необязателен в типичном конвейере НЛП.Необходимо выполнить внешнюю / внутреннюю оценку с различными компонентами конвейера и без них.Попробуйте сбросить лемматизатор и добавить NER

...