Inhaltsverzeichnis[Ausblenden][Zeigen]
Unternehmen werden die Erfassung von Verbraucherinteraktionsdaten bis 2021 gemeistert haben.
Das übermäßige Vertrauen auf diese Datenpunkte führt andererseits häufig dazu, dass Unternehmen Kundeneingaben als Statistik behandeln – ein ziemlich eindimensionaler Ansatz, um auf die Stimme des Kunden zu hören.
Die Stimme des Kunden kann nicht markiert oder in eine Nummer umgewandelt werden.
Es muss gelesen, verdichtet und vor allem verstanden werden.
Tatsache ist, dass Unternehmen aktiv zuhören müssen, was ihre Kunden auf jedem Kanal zu sagen haben, über den sie mit ihnen interagieren, sei es durch Telefonanrufe, E-Mails oder Live-Chat.
Jedes Unternehmen sollte der Überwachung und Bewertung der Kundenfeedback-Stimmung Priorität einräumen, aber Unternehmen haben traditionell Schwierigkeiten, mit diesen Daten umzugehen und sie in aussagekräftige Informationen umzuwandeln.
Dies ist bei der Sentimentanalyse nicht mehr der Fall.
In diesem Tutorial werfen wir einen genaueren Blick auf die Stimmungsanalyse, ihre Vorteile und die Verwendung von NLTK Bibliothek zur Stimmungsanalyse von Daten.
Was ist Sentimentanalyse?
Die Stimmungsanalyse, oft auch als Conversation Mining bekannt, ist eine Methode zur Analyse der Gefühle, Gedanken und Ansichten von Menschen.
Die Stimmungsanalyse ermöglicht es Unternehmen, ihre Kunden besser zu verstehen, den Umsatz zu steigern und ihre Produkte und Dienstleistungen auf der Grundlage von Kundeneingaben zu verbessern.
Der Unterschied zwischen einem Softwaresystem, das in der Lage ist, die Kundenstimmung zu analysieren, und einem Verkäufer/Kundendienstmitarbeiter, der versucht, sie abzuleiten, ist die schiere Fähigkeit des ersteren, objektive Ergebnisse aus dem Rohtext abzuleiten – dies wird hauptsächlich durch Verarbeitung natürlicher Sprache (NLP) und erreicht Maschinelles Lernen Techniken.
Von der Emotionserkennung bis zur Textkategorisierung hat die Stimmungsanalyse ein breites Anwendungsspektrum. Wir verwenden Stimmungsanalysen für Textdaten, um Unternehmen dabei zu unterstützen, die Stimmung von Produktbewertungen oder Verbraucherfeedback zu überwachen.
Verschiedene Social-Media-Sites verwenden es, um die Stimmung von Posts zu bewerten, und wenn die Emotion zu stark oder heftig ist oder unter ihre Schwelle fällt, wird der Post entweder gelöscht oder ausgeblendet.
Die Stimmungsanalyse kann für alles von der Emotionsidentifikation bis zur Textkategorisierung verwendet werden.
Die beliebteste Anwendung der Stimmungsanalyse sind Textdaten, wo sie einem Unternehmen helfen, die Stimmung von Produktbewertungen oder Verbraucherkommentaren zu verfolgen.
Verschiedene Social-Media-Sites verwenden es auch, um die Stimmung von Posts zu bewerten, und wenn die Emotion zu stark oder heftig ist oder unter ihre Schwelle fällt, löschen oder verbergen sie den Post.
Vorteile der Stimmungsanalyse
Im Folgenden sind einige der wichtigsten Vorteile der Stimmungsanalyse aufgeführt, die nicht außer Acht gelassen werden sollten.
- Helfen Sie bei der Bewertung der Wahrnehmung Ihrer Marke in Ihrer Zielgruppe.
- Direktes Kundenfeedback wird bereitgestellt, um Sie bei der Entwicklung Ihres Produkts zu unterstützen.
- Erhöht den Umsatz und die Prospektion.
- Upsell-Möglichkeiten für die Champions Ihres Produkts haben zugenommen.
- Proaktiver Kundenservice ist eine praktische Option.
Zahlen können Ihnen Informationen wie die Rohleistung einer Marketingkampagne, das Engagement bei einem Kundenanruf und die Anzahl der beim Kundensupport ausstehenden Tickets liefern.
Es wird Ihnen jedoch nicht mitgeteilt, warum ein bestimmtes Ereignis aufgetreten ist oder was es verursacht hat. Analysetools wie Google und Facebook können Ihnen beispielsweise dabei helfen, die Leistung Ihrer Marketingmaßnahmen zu bewerten.
Sie vermitteln Ihnen jedoch kein tiefes Wissen darüber, warum diese bestimmte Kampagne erfolgreich war.
Die Stimmungsanalyse hat das Potenzial, in dieser Hinsicht bahnbrechend zu sein.
Stimmungsanalyse – Problemstellung
Ziel ist es, anhand von Tweets festzustellen, ob ein Tweet positive, negative oder neutrale Emotionen in Bezug auf sechs US-Fluggesellschaften hat.
Dies ist eine standardmäßige überwachte Lernaufgabe, bei der wir eine Textzeichenfolge in vorgegebene Kategorien kategorisieren müssen, wenn eine Textzeichenfolge gegeben ist.
Lösung
Wir verwenden den standardmäßigen maschinellen Lernprozess, um dieses Problem zu lösen. Wir beginnen mit dem Importieren der erforderlichen Bibliotheken und Datensätze.
Dann führen wir eine explorative Datenanalyse durch, um festzustellen, ob es irgendwelche Muster in den Daten gibt. Anschließend führen wir eine Textvorverarbeitung durch, um numerische Eingabedaten in Textform umzuwandeln, die a Maschinelles Lernen System verwenden kann.
Abschließend trainieren und evaluieren wir unsere Stimmungsanalysemodelle mit Methoden des maschinellen Lernens.
1. Bibliotheken importieren
Laden Sie die erforderlichen Bibliotheken.
2. Datensatz importieren
Dieser Artikel basiert auf einem Datensatz, der auf zu finden ist Github. Der Datensatz wird mit der CSV-Lesefunktion von Pandas importiert, wie unten zu sehen:
Untersuchen Sie mit der Funktion head() die ersten fünf Zeilen des Datasets:
Ausgang:
3. Analyse der Daten
Lassen Sie uns die Daten untersuchen, um festzustellen, ob es irgendwelche Trends gibt. Aber zuerst ändern wir die Standardplotgröße, um die Diagramme besser sichtbar zu machen.
Beginnen wir mit der Anzahl der Tweets, die jede Fluggesellschaft erhalten hat. Wir verwenden dazu ein Tortendiagramm:
Der Prozentsatz der öffentlichen Tweets für jede Fluggesellschaft wird in der Ausgabe angezeigt.
Schauen wir uns an, wie sich die Gefühle auf alle Tweets verteilen.
Ausgang:
Untersuchen wir nun die Stimmungsverteilung für jede einzelne Fluggesellschaft.
Demnach ist der Großteil der Tweets für fast alle Fluggesellschaften ungünstig, gefolgt von neutralen und guten Tweets. Virgin America ist vielleicht die einzige Fluggesellschaft, bei der der Anteil der drei Gefühle vergleichbar ist.
Ausgang:
Schließlich verwenden wir die Seaborn-Bibliothek, um das durchschnittliche Konfidenzniveau für Tweets aus drei Stimmungskategorien zu erhalten.
Ausgang:
Das Ergebnis zeigt, dass das Konfidenzniveau für negative Tweets größer ist als für positive oder neutrale Tweets.
4. Bereinigen der Daten
In Tweets sind viele umgangssprachliche Begriffe und Satzzeichen zu finden. Bevor wir das maschinelle Lernmodell trainieren können, müssen wir unsere Tweets bereinigen.
Bevor wir jedoch mit der Bereinigung der Tweets beginnen, sollten wir unseren Datensatz in Feature- und Label-Sets aufteilen.
Wir können die Daten bereinigen, sobald wir sie in Features und Trainingssets aufgeteilt haben. Dazu werden reguläre Ausdrücke verwendet.
5. Numerische Darstellung von Text
Um maschinelle Lernmodelle zu trainieren, verwenden statistische Algorithmen Mathematik. Die Mathematik hingegen arbeitet ausschließlich mit Zahlen.
Wir müssen den Text zuerst in Zahlen umwandeln, damit statistische Algorithmen damit umgehen können. Dafür gibt es drei grundlegende Möglichkeiten: Bag of Words, TF-IDF und Word2Vec.
Glücklicherweise kann die TfidfVectorizer-Klasse im Scikit-Learn-Modul von Python verwendet werden, um Textmerkmale in TF-IDF-Merkmalsvektoren umzuwandeln.
6. Erstellen von datengesteuerten Trainings- und Testreihen
Schließlich müssen wir unsere Daten in Trainings- und Testsets aufteilen, bevor wir unsere Algorithmen trainieren.
Das Trainingsset wird verwendet, um den Algorithmus zu trainieren, und das Testset wird verwendet, um die Leistung des maschinellen Lernmodells zu bewerten.
7. Modellentwicklung
Nachdem die Daten in Trainings- und Testsätze getrennt wurden, werden maschinelle Lerntechniken verwendet, um aus den Trainingsdaten zu lernen.
Sie können jeden maschinellen Lernalgorithmus verwenden. Der Random-Forest-Ansatz wird jedoch wegen seiner Fähigkeit verwendet, mit nicht normalisierten Daten umzugehen.
8. Vorhersagen und Modellbewertung
Nachdem das Modell trainiert wurde, besteht die letzte Stufe darin, Vorhersagen zu treffen. Dazu müssen wir die Methode „predict“ auf das von uns trainierte Klassenobjekt „RandomForestClassifier“ anwenden.
Schließlich können Klassifizierungsmaße wie Konfusionsmetriken, F1-Maße, Genauigkeit usw. verwendet werden, um die Leistung von Modellen für maschinelles Lernen zu bewerten.
Ausgang:
Unser Algorithmus erreichte eine Genauigkeit von 75.30, wie die Ergebnisse zeigen.
Zusammenfassung
Die Stimmungsanalyse ist eine der häufigsten NLP-Aufgaben, da sie dabei hilft, die allgemeine öffentliche Meinung zu einem bestimmten Thema zu ermitteln.
Wir haben gesehen, wie mehrere Python-Bibliotheken bei der Stimmungsanalyse helfen können.
Wir haben eine Studie zu öffentlichen Tweets über sechs US-Fluggesellschaften durchgeführt und eine Genauigkeit von etwa 75 % erreicht.
Ich würde vorschlagen, dass Sie einen anderen maschinellen Lernalgorithmus wie logistische Regression, SVM oder KNN ausprobieren, um zu sehen, ob Sie bessere Ergebnisse erzielen können.
Hinterlassen Sie uns einen Kommentar