错误:注释器"sentiment"需要注释器"binarized_trees"



有谁可以帮助我当这个错误可能发生。任何想法都非常感谢。我需要添加什么吗,任何注释器。这是数据或模型的问题,我正在传递除了默认模型。

我使用斯坦福NLP 3.4.1对社交媒体数据进行情感计算。当我通过spark/scala作业运行它时,我得到一些数据的以下错误。

java.lang.IllegalArgumentException: annotator "sentiment" requires annotator "binarized_trees"
    at edu.stanford.nlp.pipeline.StanfordCoreNLP.construct(StanfordCoreNLP.java:300)
    at edu.stanford.nlp.pipeline.StanfordCoreNLP.<init>(StanfordCoreNLP.java:129)
    at edu.stanford.nlp.pipeline.StanfordCoreNLP.<init>(StanfordCoreNLP.java:125)
    at com.pipeline.sentiment.NonTwitterSentimentAndThemeProcessorAction$.create(NonTwitterTextEnrichmentComponent.scala:142)
    at com.pipeline.sentiment.NonTwitterTextEnrichmentInitialized.action$lzycompute(NonTwitterTextEnrichmentComponent.scala:52)
    at com.pipeline.sentiment.NonTwitterTextEnrichmentInitialized.action(NonTwitterTextEnrichmentComponent.scala:50)
    at com.pipeline.sentiment.NonTwitterTextEnrichmentInitialized.action(NonTwitterTextEnrichmentComponent.scala:49)

这是我在scala中的代码

 def create(features: Seq[String] = Seq("tokenize", "ssplit", "pos","parse","sentiment")): TwitterSentimentAndThemeAction = {
      println("comes inside the TwitterSentimentAndThemeProcessorAction create method")
      val props = new Properties()
      props.put("annotators", features.mkString(", "))
      props.put(""pos.model", "tagger/gate-EN-twitter.model");
      props.put("parse.model", "tagger/englishSR.ser.gz");
      val pipeline = new StanfordCoreNLP(props)

任何帮助都是非常感激的。谢谢你的帮助

…你确定这是你得到的错误吗?用你的代码,我得到一个错误

Loading parser from serialized file tagger/englishSR.ser.gz ...edu.stanford.nlp.io.RuntimeIOException: java.io.IOException: Unable to resolve "tagger/englishSR.ser.gz" as either class path, filename or URL

这更有意义。移位约简解析器模型位于edu/stanford/nlp/models/srparser/englishSR.ser.gz。如果我不使用shift - reduce模型,所写的代码对我来说工作得很好;同样,如果我包含上面的模型路径,它也可以工作。

我尝试的确切代码是:

#!/bin/bash
exec scala -J-mx4g "$0" "$@"
!#
import scala.collection.JavaConversions._
import edu.stanford.nlp.pipeline._
import java.util._
val props = new Properties()
props.put("annotators", Seq("tokenize", "ssplit", "pos","parse","sentiment").mkString(", "))
props.put("parse.model", "edu/stanford/nlp/models/srparser/englishSR.ser.gz");
val pipeline = new StanfordCoreNLP(props)

最新更新