Auf einem mehrsprachigen Stimmungskorpus

7

Ich möchte einen Stimmungskorpus für Nachrichtenartikel in mehreren Sprachen (~ 100.000 pro Sprache für ein Experiment zum maschinellen Lernen) zusammenstellen, in dem jeder Artikel als positiv, neutral oder negativ gekennzeichnet ist. Ich habe hoch und niedrig gesucht, konnte aber so etwas nicht finden. Ich habe bereits die Nachrichtenartikel in jeder Sprache.

Meine Frage an die Community lautet: Wie würden Sie dies so genau wie möglich erreichen?

Ich habe mir zuerst Mechanical Turk angesehen , wo Sie Leute einstellen können, die jeden Artikel manuell für Sie beschriften. Und dies ist vielleicht der beste Weg, aber teuer . Geben Sie hier die Bildbeschreibung ein

Als nächstes dachte ich an all die vorhandenen populären Bibliotheken (von denen einige bereits Mechanical Turk verwendet haben), die Stimmungsanalysen durchführen ( AFINN , Bing Liu , MPQA , VADER , TextBlob usw.).

  1. Gefühlsidee

Meine aktuelle Idee ist, dass ich jeden Nachrichtenartikel in einigen dieser Bibliotheken (z. B. AFINN, dann TextBlob, dann VADER) und in Artikeln, die einstimmig positiv, negativ und neutral sind, obwohl alle drei Bibliotheken in den Korpus aufgenommen werden. Scheint das ein ziemlich starker und vernünftiger Überprüfungsprozess zu sein?

  1. Sprachidee

Die nächste Ausgabe betrifft die Sprache selbst. Die obige 3-lib-Pipeline kann problemlos auf Englisch ausgeführt werden. Diese Bibliotheken unterstützen jedoch nicht viele andere Sprachen (Spanisch, Deutsch, Chinesisch, Arabisch, Französisch, Portugiesisch usw.). Ich habe darüber nachgedacht, das zu tun, was VADER vorschlägt, die Nachrichten in nicht-englischen Sprachen aufzunehmen und sie über Google Translation zu senden API, um sie ins Englische zu bringen und sie dann über die vorhandene 3-lib-Pipeline oben zu senden. Mir ist klar, dass es bei vielen Artikeln zu einem Verlust der Semantik kommen wird. Ich hoffe jedoch, dass genügend Artikel gut genug übersetzt werden, damit einige die 3-lib-Pipeline durchlaufen.

Ich bin mir bewusst, dass das Übersetzen und Senden von Nachrichtenartikeln über diese dreifach blinde Stimmungspfeife 100.000 Korpus erfordern und 10.000 Ergebnisse liefern kann. Damit bin ich einverstanden. Die Genauigkeit und dann der Preis sind mein Anliegen. Ich kann leicht mehr Daten erfassen.

Was würden Sie tun, um einen Stimmungskorpus von Nachrichtenartikeln zu erreichen? Gibt es eine bewährte Methode für die Zusammenstellung eines solchen Korpus?

Chris
quelle
2
Ich denke, das Hauptproblem dabei ist, dass je länger ein Artikel ist, desto weniger klar ist die Stimmung. Ein langer Nachrichtenartikel kann leicht positive, negative und neutrale Teile in unterschiedlichen Verhältnissen enthalten. Aus diesem Grund wird die Stimmungsanalyse hauptsächlich für Kurztexte wie Umfrageantworten, Tweets usw. angezeigt. Ist aus Ihren Artikeln ziemlich klar, welcher Stimmung sie zugeordnet werden sollten?
oW_
Interessant. Danke für Ihre Antwort! Es ist nicht klar, wie die allgemeine Stimmung für die Akten ist.
Chris
@ Chris Wenn es nicht klar ist, wie die Stimmung ist, warum willst du sie dann beschriften? Was ist das Ziel, die Stimmung pro Artikel zu haben?
Bruno Lubascher
Vielen Dank, dass Sie @BrunoGL. Ich möchte jeden Artikel für ein Trainingsset kennzeichnen. Dies sind zufällige Artikel. Ich benutze sie speziell für die Verallgemeinerung (Training eines NN) im gesamten Korpus.
Chris
Wie wäre es, wenn Sie nicht den gesamten Artikel mit einem einzigen Gefühl kennzeichnen, sondern jede Zeile in den Artikeln ein eigenes Gefühl haben kann?
Atmarges

Antworten:

1

Einige Fragen und Gedanken kommen mir in den Sinn.

  1. Welche Sprachen enthält der Korpus? Dies kann sich darauf auswirken, welche Services Sie nutzen können.
  2. Ich mag die "Sentiment Idea" für Sprachen, die von den von Ihnen genannten Diensten nativ unterstützt werden.
  3. Ich würde die "Sprachidee" als letzten Ausweg beibehalten, da es möglich ist, dass die Übersetzungsmaschine möglicherweise nicht die Stimmung der Originalsprache erfasst.
  4. Mechanical Turk ist eine gute Option, wenn Sie die Anzahl der zur Klassifizierung gesendeten Proben begrenzen können. Für jede Sprache können Sie versuchen, die Passagen zu gruppieren, indem Sie beispielsweise die Wortzahl in 30 (Sie wählen) Cluster aufteilen und dann innerhalb der Cluster Stichproben durchführen, um mögliche Passagen zu identifizieren, die an Mechanical Turk gesendet werden sollen. Ich habe diese Technik verwendet, um zu versuchen, den Vektorraum gleichmäßiger abzutasten.

Entlassen Sie den Kommentar von oW_ nicht. Sie sollten ernsthaft in Betracht ziehen, die Artikel in Absätze zu unterteilen. Sie können die Absatzbewertungen immer zu dem Artikel zusammenfassen, aber es ist schwierig, eine repräsentative Bewertung zu erhalten, wenn der Text länger wird.

HTH

Skiddles
quelle