Stimmungsklassifizierung mithilfe des NRC-Wörterbuchs in Python

WBOY
Freigeben: 2023-09-12 08:13:02
nach vorne
913 Leute haben es durchsucht

Stimmungsklassifizierung mithilfe des NRC-Wörterbuchs in Python

Emotionserkennung oder Erkennung ist die Fähigkeit einer Person oder eines Objekts, eine bestimmte in der Umgebung angezeigte Emotion wahrzunehmen und sie in eine von mehreren Emotionskategorien einzuordnen.

Die

Stimmungsklassifizierung in Python ist eine praktikable Alternative zu herkömmlichen Stimmungsanalysetechniken, die Wörter oder Sätze als positiv oder negativ markieren und ihnen entsprechend Polaritätswerte zuweisen.

Die Grundidee dieses Algorithmus besteht darin, den menschlichen Denkprozess nachzuahmen, der versucht, Wörter, die Emotionen darstellen, aus dem Text zu segmentieren. Die Analyse erfolgt mithilfe eines Trainingsdatensatzes, bei dem ein voreingestellter Satz an Informationen als Grundlage für die Klassifizierung in das System eingespeist wird.

Dies ist ein Paket, das auf dem WordNet-Thesaurus in der NLTK-Bibliothek und dem Sentiment-Lexikon des National Research Council of Canada (NRC) basiert, das über 27.000 Begriffe enthält.

Die Bibliothek verwendet die folgenden Kategorien, um die emotionale Wirkung von Wörtern zu messen und zu klassifizieren –

  • Angst

  • Wütend

  • Ich freue mich darauf

  • Vertrauen

  • Überraschung

  • Positiv

  • Negativ

  • Traurig

  • angewidert

  • Freude

Installationsschritte

  • Schritt 1 – Installieren Sie das NRC-Modul mit dem Befehl „pip install“ im Terminal.

pip install NRCLex
Nach dem Login kopieren
Wenn Sie Windows verwenden, erfolgt die

Installation von

Notebook und Eingabeaufforderungin Jupyter im Allgemeinen nach denselben Schritten.

Die Installation in MacO folgt ebenfalls dem gleichen Befehl. Nutzen Sie direkt das Terminal.

  • Schritt 2 – Installieren Sie außerdem Textblob und nrclex, um zu vermeiden, dass MissingCorpusError

  • auftritt
    pip install textblob
    
    Nach dem Login kopieren
    • Schritt 3 – Korpus vom Textblob herunterladen

    python -m textblob.download_corpora
    
    Nach dem Login kopieren

    Nach der Installation können wir mit dem Importieren der Bibliothek fortfahren und Textobjekte erstellen.

    Grundlegende Methode

    1. Originaltext in gefilterten Text (für beste Ergebnisse sollte „Text“ Unicode sein).

    text_object.load_raw_text(text: str)
    Nach dem Login kopieren

    2. Konvertieren Sie eine tokenisierte Wortliste in eine Token-Liste

    text_object.load_token_list(list_of_tokens: list)
    Nach dem Login kopieren

    3. Zurück zur Wortliste.

    text_object.words
    Nach dem Login kopieren

    4. Gibt eine Liste von Sätzen zurück.

    text_object.sentences
    Nach dem Login kopieren

    5. Gibt die Auswirkungsliste zurück.

    text_object.affect_list
    Nach dem Login kopieren

    6. Gibt ein Wörterbuch mit Effekten zurück.

    text_object.affect_dict
    Nach dem Login kopieren

    7. Geben Sie die Anzahl der rohen Emotionen zurück.

    text_object.raw_emotion_scores
    Nach dem Login kopieren

    8. Kehren Sie zu den höchsten Emotionen zurück.

    text_object.top_emotions
    Nach dem Login kopieren

    9. Rücklauffrequenz.

    Text_object.frequencies
    Nach dem Login kopieren

    Hier verwenden wir die Funktion top_emotions, um eine Liste von Wörtern basierend auf Emotionen zu klassifizieren.

    Algorithmus

    Schritt 1 – nrclex importieren nrclex importieren

    Schritt 2 – NRCEx aus nrclex importieren

    Schritt 3 – Initialisieren Sie die Liste der Zeichenfolgenwörter, die Sie klassifizieren möchten

    Schritt 4 - für i

    im Bereich len(text)

    Schritt 4 – Sentiment = NRCLex(text[i]) #Erstellen Sie für jeden Text ein Objekt

    Schritt 5 - emotions.top_emotions #Emotionen klassifizieren

    Beispiel

    # Import module
    import nrclex
    from nrclex import NRCLex
    
    text = ['happy', 'beautiful', 'exciting', 'depressed']
    
    # Iterate through list
    for i in range(len(text)):
    
       # call by object creation
       emotion = NRCLex(text[i])
    
       # Classify emotion
       print('\n', text[i], ': ', emotion.top_emotions) 
    
    Nach dem Login kopieren

    Ausgabe

    innocent : [('trust', 0.5), ('positive', 0.5)]
    hate : [('fear', 0.2), ('anger', 0.2), ('negative', 0.2), ('sadness', 0.2), ('disgust', 0.2)]
    irritating : [('anger', 0.3333333333333333), ('negative', 0.3333333333333333), 
    ('disgust', 0.3333333333333333)]
    annoying : [('anger', 0.5), ('negative', 0.5)]
    
    Nach dem Login kopieren

    Algorithmus

    Schritt 1 – nrclex importieren

    Schritt 2 – NRCEx aus nrclex importieren

    Schritt 3 – Initialisieren Sie die Liste der Zeichenfolgenwörter, die Sie klassifizieren möchten

    Schritt 4 – für mich im Bereich len(text)

    Schritt 4 – Sentiment = NRCLex(text[i]) #Erstellen Sie für jeden Text ein Objekt

    Schritt 5 - emotions.top_emotions #Emotionen klassifizieren

    Beispiel

    import nrclex
    from nrclex import NRCLex
     
    # Assign list of strings
    text = ['innocent','hate', 'irritating','annoying']
     
    # Iterate through list
    for i in range(len(text)):
     
       # Create object
       emotion = NRCLex(text[i])
    
       # Classify emotion
       print('\n\n', text[i], ': ', emotion.top_emotions) 
    
    Nach dem Login kopieren

    Ausgabe

    innocent :  [('trust', 0.5), ('positive', 0.5)] 
     hate :  [('fear', 0.2), ('anger', 0.2), ('negative', 0.2), ('sadness', 0.2), ('disgust', 0.2)] 
    irritating :  [('anger', 0.3333333333333333), ('negative', 0.3333333333333333), ('disgust', 0.3333333333333333)] 
     annoying :  [('anger', 0.5), ('negative', 0.5)] 
    
    Nach dem Login kopieren

    Fazit

    Das NRC-Stimmungswörterbuch wird häufig bei Stimmungsanalysen und Stimmungsklassifizierungsaufgaben in Forschung und Industrie verwendet. Dies bedeutet, dass eine große Benutzergemeinschaft und Ressourcen für Support und Weiterentwicklung zur Verfügung stehen. NRCEx nutzt außerdem Google Translate, um eine stabile Ausgabe für mehr als 100 Sprachen auf der ganzen Welt bereitzustellen und so Sprachbarrieren erfolgreich abzubauen. Dies hat vielfältige Anwendungsmöglichkeiten im Gesundheitswesen und kann helfen, die Reaktionen auf Pandemien zu verstehen. Zu den praktischen Anwendungen gehören Psychologie und Verhaltenswissenschaften, die Erkennung gefälschter Nachrichten und eine verbesserte Mensch-Computer-Interaktion.

    Das obige ist der detaillierte Inhalt vonStimmungsklassifizierung mithilfe des NRC-Wörterbuchs in Python. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:tutorialspoint.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage