Stimmungsanalyse oder Sentiment-Analyse mit KI – benutzen Sie Opinion Mining um Ihre Geschäftsergebnisse zu verbessern

Einführung

Die Stimmungsanalyse ist in den letzten Jahren zu einer beliebten Methode geworden, um sich über die Meinungen von Kunden zu Produkten und Dienstleistungen zu informieren. Es wird sowohl für akademische Zwecke als auch im Handel eingesetzt.

Es geht im Wesentlichen um die Suche nach Daten, die dann auf subjektive Meinungen oder Gefühle hin ausgewertet werden.

Wertvolle Informationen können von Websites stammen, die Produkte und Dienstleistungen verkaufen, z. Bewertungen auf Amazon oder Tripadvisor. Noch größere Datensätze von Stimmungsdaten können aus der Analyse von Daten gewonnen werden, die auf Social-Media-Plattformen wie Twitter, Instagram und anderen erstellt wurden.

Historisch gesehen konzentrierte sich die erste Phase der Stimmungsanalyse-Entwicklung auf die Bestimmung der Gesamtstimmung oder Stimmungspolarität von Sätzen, Absätzen oder ganzen Dokumenten.

Unternehmen sind jedoch in der letzten Zeit anspruchsvoller geworden und interessieren sich nicht nur für die allgemeine Wahrnehmung von Texten über ihre Produkte und Dienstleistungen. Sie möchten mehr darüber erfahren, wovon die Kunden sprechen:

  • Welche spezifischen Produkte werden in der Kundenbewertung erwähnt?
  • Welche Aspekte von Produkten oder Dienstleistungen werden erwähnt (z. B. für das Hotel können Standort, Service und Preis in Betracht gezogen werden)
  • Was ist die Meinung zu diesen Aspekten aus Kundenrezensionen

 

Aspect Based Sentiment Analysis

Dieser Ansatz ist auch unter einem bestimmten Namen bekannt – Aspect Based Sentiment Analysis (ABSA).

ABSA ist im Wesentlichen daran interessiert, mehr über bestimmte Aspekte von Produkten oder Dienstleistungen zu erfahren. Aspect Based Sentiment Analysis besteht aus mehreren Methoden:

  • Identifizierung der relevanten Entitäten
  • Extraktion ihrer Merkmale und Aspekte (manchmal auch als Aspektextraktion bezeichnet)
  • Verwenden sogenannter Aspektbegriffe, um die Stimmung über ein bestimmtes Merkmal oder einen bestimmten Aspekt herauszufinden (die Stimmungspolaritäten sind positiv, neutral und negativ)

Wie bestimmen wir die Aspekte?

Man kann verschiedene Ansätze verwenden, vom tiefen Lernen bis zum Parsen von Abhängigkeiten. Eine großartige Bibliothek zum Parsen von Abhängigkeiten und zum Extrahieren von Aspekten ist spacy. Auch häufig verwendete Abhängigkeitsbibliothek ist Stanford CoreNLP.

Die Stimmungsanalyse, d. H. das Bestimmen der Stimmung von Aspekten oder ganzen Sätzen, kann durch Trainieren von maschinellem Lernen oder Tiefenlernmodellen durchgeführt werden. Ich werde Ihnen den Code zeigen, wie Sie selbst ein ziemlich großes und genaues Modell für die Klassifizierung von Stimmungen trainieren können.

Das Training von Sentiment Classifier mittels maschinellem Lernen beinhaltet:

  • Vorbereitung eines geeigneten Datensatzes (wir verwenden einen mit Stanford Datensatz von Tweets)
  • Verwenden eines spezifischen maschinellen Lernmodells (machine learning model), z. Support Vector Machines eignen sich sehr gut für diese Textklassifikation
  • Trainieren des Modells am Datensatz
  • Auswertung der Ergebnisse (Präzision, Recall, F1-Score und Genauigkeit überprüfen)
  • Verwenden Sie das Modell in der Produktion, um Erkenntnisse zu gewinnen

Die Stimmungsanalyse kann auf viele Arten von Texten angewendet werden

Mit der Stimmungsanalyse können Sie die Stimmung aus einer Vielzahl möglicher Texte extrahieren:

  • Tweets
  • Instagram Beiträge
  • Produktrezensionen
  • Restaurant Bewertungen
  • Hotelbewertungen
  • Umfragen
  • E-Mails
  • Tickets (Unterstützung)

Stimmungsanalyse oder Opinion Mining ist eine großartige Lösung für Unternehmen, die Big Data in Form von unstrukturierten Texten haben, z. E-Mail-Kommunikation mit Kunden. Es ist ein wicthiges Teil unter Data Science Methoden. Auf diese Weise können sie wertvolle Informationen und umsetzbare Erkenntnisse aus diesen Datenbeständen gewinnen.

Training eines Stimmungsklassifikators basierend auf SVM (Support Vector Machines) und unter Verwendung des Stanford 140-Datensatzes

Wir werden die Scikit-Learn bibliothek verwenden, um einen auf SVM basierenden Stimmungsklassifikator zu trainieren.

Wir werden den Stanford 140-Datensatz verwenden. Sie können es von dieser Website herunterladen:

http://help.sentiment140.com/for-students

Beachten Sie das Datenformat, es hat 6 Felder:

  • 0 – die Polarität des Tweets (0 = negativ, 2 = neutral, 4 = positiv)
  • 1 – die ID des Tweets
  • 2 – das Datum des Tweets
  • 3 – die Abfrage. Wenn keine Abfrage vorliegt, lautet dieser Wert NO_QUERY.
  • 4 – der Benutzer
  • 5 – der Text des Tweets

Erste Schritte:

Im nächsten Schritt werden die Daten aus dem Stanford 140-Datensatz geladen und vorverarbeitet:

Wir werden die TF-IDF-Darstellung von Tweets verwenden, bevor wir sie dem SVM-Modell zuführen:

Als nächstes trainieren wir das Modell mit der linearen SVM von scikit-learn:

Nach der Konvergenz können wir die Genauigkeit des Modells bewerten, indem wir Präzision, Rückruf und f1-Score berechnen:

Der auf den Stanford 140-Datensatz trainierte Stimmungsklassifikator weist eine gute Genauigkeit von 82% auf

Benötigen Sie Hilfe mit Code oder haben Sie eine Idee für ein Projekt? Sie können mich kontaktieren unter:

http://chxo.com/labelgen/labelgen.php?textval=info%40maschinelleslernen.org&font=ARIAL.TTF&size=12&bgcolor=%23ffffff&textcolor=%23000000&submit=create+image