2016-05-12 7 views
0

Für die Aufgabe der Sentiment-Analyse auf einen Text verzichten, habe ich die folgenden Annotatoren bin mit einer Pipeline zu erstellen:Wie tokenize und ssplit Annotatoren für Sentiment Analysis

Annotatoren = tokenize, ssplit, analysieren, Stimmungs

Nachdem ich die Annotator-Dokumentation gelesen hatte, wurde mir klar, dass tokenize und ssplit den ganzen Text nehmen und ihn in einzelne Sätze zerlegen, um sie für weitere Analysen zu verwenden. Das Problem, an dem ich gerade arbeite, ist die Sentimentanalyse von Tweets. Da Tweets meistens nicht mehr als eine Zeile überschreiten, ist die Verwendung von Tokenize und Split Annotator vor dem Parsen übertrieben.

ich die ersten beiden auszuschließen versucht, aber es wird mir eine Nachricht Exception in thread „main“ java.lang.IllegalArgumentException heraus geben nicht zulassen: annotator „Parse“ erfordert annotator „tokenize“

Gibt es Wie kann man vermeiden, die Annotatoren tokenize und ssplit zu verwenden, um die Effizienz zu steigern?

Antwort

2

Ja, wenn Ihr Text bereits in Token umgewandelt wurde und Sie eine Datei mit einem Satz pro Zeile haben, können Sie dem Tokenizer Token nur an Leerzeichen und den Satzsplitter nur an Zeilenumbrüchen teilen. Die Option für den Tokenizer ist -tokenize.whitespace true und die Option für den Satzteiler -ssplit.eolonly true.

Weitere Informationen zu den Optionen tokenizer und sentence splitter finden Sie in der CoreNLP documentation.

Verwandte Themen