Stimmungsanalyse: Eine Intuition hinter der Stimmungsanalyse im Jahr 2022
Veröffentlicht: 2021-01-02Inhaltsverzeichnis
Einführung
Text ist für den Menschen das wichtigste Mittel zur Wahrnehmung von Informationen. Der Großteil der Intelligenz, die der Mensch erlangt, ist das Lernen und Verstehen der Bedeutung von Texten und Sätzen um ihn herum. Ab einem bestimmten Alter entwickeln Menschen einen intrinsischen Reflex, um die Schlussfolgerung eines Wortes/Textes zu verstehen, ohne es überhaupt zu wissen.
Bei Maschinen ist diese Aufgabe völlig anders. Um die Bedeutung von Texten und Sätzen aufzunehmen, verlassen sich Maschinen auf die Grundlagen der Verarbeitung natürlicher Sprache (Natural Language Processing, NLP). Deep Learning für die Verarbeitung natürlicher Sprache ist eine Mustererkennung, die auf Wörter, Sätze und Absätze angewendet wird, ähnlich wie Computer Vision eine Mustererkennung ist, die auf Bildpixel angewendet wird.
Keines dieser Deep-Learning-Modelle versteht Text wirklich im menschlichen Sinne; vielmehr können diese Modelle die statistische Struktur der geschriebenen Sprache abbilden, was ausreicht, um viele einfache Textaufgaben zu lösen. Stimmungsanalyse ist eine solche Aufgabe, zum Beispiel: die Stimmung von Streichern oder Filmkritiken als positiv oder negativ einzustufen.
Diese haben auch in der Industrie große Anwendungen. Beispiel: Ein Waren- und Dienstleistungsunternehmen möchte die Daten über die Anzahl der positiven und negativen Bewertungen sammeln, die es für ein bestimmtes Produkt erhalten hat, um am Produktlebenszyklus zu arbeiten und seine Verkaufszahlen zu verbessern und Kundenfeedback zu sammeln.
Lernen Sie den Online-Kurs für maschinelles Lernen von den besten Universitäten der Welt. Erwerben Sie Master-, Executive PGP- oder Advanced Certificate-Programme, um Ihre Karriere zu beschleunigen.
Lesen Sie: Projektideen für maschinelles Lernen

Vorverarbeitung
Die Aufgabe der Stimmungsanalyse kann in einen einfachen Algorithmus für überwachtes maschinelles Lernen unterteilt werden, bei dem wir normalerweise eine Eingabe X haben , die in eine Prädiktorfunktion einfließt, um Wir vergleichen dann unsere Vorhersage mit dem wahren Wert Y . Dies gibt uns die Kosten, die wir dann verwenden, um die Parameter Um die Aufgabe des Extrahierens von Stimmungen aus einem zuvor unsichtbaren Strom von Texten anzugehen, besteht der primitive Schritt darin, einen gekennzeichneten Datensatz mit getrennten positiven und negativen Stimmungen zu sammeln. Diese Gefühle können sein: gute Bewertung oder schlechte Bewertung, sarkastische Bemerkung oder nicht sarkastische Bemerkung usw.
Der nächste Schritt besteht darin, einen Vektor der Dimension V zu erzeugen , wobei Dieser Vokabularvektor enthält jedes Wort (kein Wort wird wiederholt) , das in unserem Datensatz vorhanden ist, und fungiert als Lexikon für unsere Maschine, auf das er sich beziehen kann. Jetzt verarbeiten wir den Vokabularvektor vor, um Redundanzen zu entfernen. Folgende Schritte werden durchgeführt:
- Eliminieren von URLs und anderen nicht trivialen Informationen (die nicht helfen, die Bedeutung eines Satzes zu bestimmen)
- Tokenisierung der Zeichenfolge in Wörter: Nehmen wir an, wir haben die Zeichenfolge „Ich liebe maschinelles Lernen“. Durch die Tokenisierung zerlegen wir den Satz einfach in einzelne Wörter und speichern ihn in einer Liste als [I, love, machine, learning]
- Entfernen von Stoppwörtern wie „und“, „bin“, „oder“, „ich“ usw.
- Wortstamm: Wir wandeln jedes Wort in seine Stammform um. Wörter wie „tune“, „tuning“ und „tuned“ haben semantisch die gleiche Bedeutung, daher reduziert die Reduzierung auf die Stammform „tun“ den Wortschatz
- Umwandlung aller Wörter in Kleinbuchstaben
Um den Vorverarbeitungsschritt zusammenzufassen, sehen wir uns ein Beispiel an: Angenommen, wir haben eine positive Zeichenfolge „Ich liebe das neue Produkt bei upGrad.com“ . Die endgültige vorverarbeitete Zeichenfolge wird erhalten, indem die URL entfernt wird, der Satz in eine einzelne Wortliste zerlegt wird, die Stoppwörter wie „I, am, the, at“ entfernt werden und dann die Wörter „loving“ zu „lov“ und „product“ zusammengefasst werden. in „produ“ umwandeln und schließlich alles in Kleinbuchstaben umwandeln, was zu der Liste [lov, new, produ] führt .
Feature-Extraktion
Nachdem der Korpus vorverarbeitet wurde, wäre der nächste Schritt, Merkmale aus der Satzliste zu extrahieren. Wie alle anderen neuronalen Netze verwenden Deep-Learning-Modelle keinen Rohtext als Eingabe: Sie arbeiten nur mit numerischen Tensoren.

Die vorverarbeitete Wortliste muss also in Zahlenwerte umgewandelt werden. Dies kann auf folgende Weise erfolgen. Angenommen, bei einer Zusammenstellung von Zeichenfolgen mit positiven und negativen Zeichenfolgen wie (nehmen Sie dies als Datensatz an) :
Positive Saiten | Negative Saiten |
|
|
Um nun jede dieser Zeichenfolgen in einen numerischen Vektor der Dimension 3 umzuwandeln, erstellen wir ein Wörterbuch, um das Wort und die Klasse, in der es vorkommt (positiv oder negativ) , der Häufigkeit zuzuordnen, mit der dieses Wort in seiner entsprechenden Klasse vorkommt.
Wortschatz | Positive Frequenz | Negative Frequenz |
ich | 3 | 3 |
bin | 3 | 3 |
glücklich | 2 | 0 |
da | 1 | 0 |
Lernen | 1 | 1 |
NLP | 1 | 1 |
traurig | 0 | 2 |
nicht | 0 | 1 |
Nachdem wir das oben erwähnte Wörterbuch erstellt haben, betrachten wir jede der Zeichenfolgen einzeln und summieren dann die positive und negative Häufigkeitszahl der Wörter, die in der Zeichenfolge erscheinen, wobei die Wörter übrig bleiben, die nicht in der Zeichenfolge erscheinen. Nehmen wir die Zeichenkette „Ich bin traurig, ich lerne kein NLP“ und erzeuge den Vektor der Dimension 3.
„Ich bin traurig, ich lerne kein NLP“
Wortschatz | Positive Frequenz | Negative Frequenz |
ich | 3 | 3 |
bin | 3 | 3 |
glücklich | 2 | 0 |
da | 1 | 0 |
Lernen | 1 | 1 |
NLP | 1 | 1 |
traurig | 0 | 2 |
nicht | 0 | 1 |
Summe = 8 | Summe = 11 |
Wir sehen, dass für die Zeichenfolge „Ich bin traurig, ich lerne NLP nicht“ nur zwei Wörter „glücklich, weil“ nicht im Vokabular enthalten sind, um nun Merkmale zu extrahieren und den besagten Vektor zu erstellen, summieren wir die positive und negative Frequenz Spalten getrennt die Häufigkeitszahl der Wörter weglassen, die nicht in der Zeichenfolge vorhanden sind, in diesem Fall lassen wir „happy, because“ stehen. Wir erhalten die Summe als 8 für die positive Frequenz und 9 für die negative Frequenz.

Daher kann die Zeichenfolge „Ich bin traurig, ich lerne NLP nicht“ als Vektor Die im Index 0 vorhandene Zahl „1“ ist die Bias-Einheit, die für alle kommenden Saiten „1“ bleibt, und die Zahlen „8“, „11“ stellen die Summe der positiven bzw. negativen Frequenzen dar.
Auf ähnliche Weise können alle Zeichenfolgen im Datensatz bequem in einen Vektor der Dimension 3 konvertiert werden.
Lesen Sie auch: Modelle für maschinelles Lernen erklärt
Anwenden der logistischen Regression
Die Merkmalsextraktion macht es einfach, die Essenz des Satzes zu verstehen, aber Maschinen brauchen immer noch eine klarere Methode, um eine unsichtbare Zeichenfolge als positiv oder negativ zu kennzeichnen. Hier kommt die logistische Regression ins Spiel, die die Sigmoidfunktion verwendet, die für jede vektorisierte Zeichenfolge eine Wahrscheinlichkeit zwischen 0 und 1 ausgibt.
Abschließende Gedanken
Wenn Sie mehr über maschinelles Lernen erfahren möchten, sehen Sie sich auch das Executive PG-Programm in maschinellem Lernen und KI von IIIT-B & upGrad an, das für Berufstätige konzipiert ist und mehr als 450 Stunden strenge Schulungen, mehr als 30 Fallstudien und Aufgaben bietet , IIIT-B-Alumni-Status, mehr als 5 praktische Schlusssteinprojekte und Arbeitsunterstützung bei Top-Unternehmen.