Heim  >  Artikel  >  Backend-Entwicklung  >  Stimmungsklassifizierung mithilfe des NRC-Wörterbuchs in Python

Stimmungsklassifizierung mithilfe des NRC-Wörterbuchs in Python

WBOY
WBOYnach vorne
2023-09-12 08:13:02889Durchsuche

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
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

  • ul> auftritt
    pip install textblob
    
    • Schritt 3 – Korpus vom Textblob herunterladen

    python -m textblob.download_corpora
    

    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)

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

    text_object.load_token_list(list_of_tokens: list)

    3. Zurück zur Wortliste.

    text_object.words

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

    text_object.sentences

    5. Gibt die Auswirkungsliste zurück.

    text_object.affect_list

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

    text_object.affect_dict

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

    text_object.raw_emotion_scores

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

    text_object.top_emotions

    9. Rücklauffrequenz.

    Text_object.frequencies

    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) 
    

    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)]
    

    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) 
    

    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)] 
    

    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!

Stellungnahme:
Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen
Vorheriger Artikel:Parallelverarbeitung in PythonNächster Artikel:Parallelverarbeitung in Python