Maison > développement back-end > Tutoriel Python > Classification des sentiments à l'aide du dictionnaire NRC en Python

Classification des sentiments à l'aide du dictionnaire NRC en Python

WBOY
Libérer: 2023-09-12 08:13:02
avant
920 Les gens l'ont consulté

Classification des sentiments à laide du dictionnaire NRC en Python

Reconnaissance d'émotion ou Reconnaissance est la capacité d'une personne ou d'un objet à percevoir une émotion spécifique affichée dans l'environnement et à la placer dans l'une des multiples catégories d'émotions.

La

Classification des sentiments en Python est une alternative viable aux techniques traditionnelles d'analyse des sentiments qui marquent les mots ou les phrases comme positifs ou négatifs et les attribuent en conséquence avec des scores de polarité.

L'idée de base derrière cet algorithme est d'imiter le processus de pensée humain, qui tente de segmenter les mots décrivant les émotions du texte. L'analyse est effectuée à l'aide d'un ensemble de données de formation, dans lequel un ensemble prédéfini d'informations est introduit dans le système comme base de classification.

Il s'agit d'un package basé sur le thésaurus WordNet de la bibliothèque NLTK et le lexique des sentiments du Conseil national de recherches du Canada (CNRC), qui compte plus de 27 000 termes .

La bibliothèque utilise les catégories suivantes pour mesurer et classer l'impact émotionnel des mots -

  • Peur

  • En colère

  • J'ai hâte d'y être

  • Confiance

  • Surprise

  • Positif

  • Négatif

  • Triste

  • dégoûté

  • joie

Étapes d'installation

  • Étape 1 - Installez le module NRC à l'aide de la commande pip install dans le terminal.

  • pip install NRCLex
    
    Copier après la connexion
    Si vous utilisez Windows, l'
Installation de

Notebook et de Invite de commandesdans jupyter suit généralement les mêmes étapes.

L'installation sous MacO suit également la même commande. Utilisez directement le terminal.

  • Étape 2 - Installez également textblob et nrclex pour éviter de rencontrer MissingCorpusError

  • pip install textblob
    
    Copier après la connexion
    • Étape 3 - Télécharger le corpus depuis textblob

    • python -m textblob.download_corpora
      
      Copier après la connexion
    Après l'installation, nous pouvons procéder à l'importation de la bibliothèque et créer des objets texte.

    Méthode de base

    1. Texte original en texte filtré (pour de meilleurs résultats, "texte" doit être unicode).

    text_object.load_raw_text(text: str)
    Copier après la connexion

    2. Convertissez la liste de mots tokenisée en liste de jetons

    text_object.load_token_list(list_of_tokens: list)
    Copier après la connexion

    3. Revenir à la liste de mots.

    text_object.words
    Copier après la connexion

    4. Renvoie une liste de phrases.

    text_object.sentences
    Copier après la connexion

    5. Renvoie la liste des impacts.

    text_object.affect_list
    Copier après la connexion

    6. Renvoie un dictionnaire d'effets.

    text_object.affect_dict
    Copier après la connexion

    7. Renvoyez le nombre d’émotions brutes.

    text_object.raw_emotion_scores
    Copier après la connexion

    8. Retour aux émotions les plus élevées.

    text_object.top_emotions
    Copier après la connexion

    9. Fréquence de retour.

    Text_object.frequencies
    Copier après la connexion

    Ici, nous utilisons la fonction top_emotions pour classer une liste de mots en fonction des émotions.

    Algorithme

    Étape 1 - Importer nrclex Importer nrclex

    Étape 2 - Importer NRCLex depuis nrclex

    Étape 3 - Initialisez la liste des mots-chaînes que vous souhaitez classer

    Étape 4 - pour i dans la plage len(texte)

    Étape 4 - Sentiment = NRCLex(text[i]) #Créez un objet pour chaque texte

    Étape 5 - emotion.top_emotions #Classifier les émotions

    Exemple

    # 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) 
    
    Copier après la connexion

    Sortie

    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)]
    
    Copier après la connexion

    Algorithme

    Étape 1 - Importer nrclex

    Étape 2 - Importer NRCLex depuis nrclex

    Étape 3 - Initialisez la liste des mots-chaînes que vous souhaitez classer

    Étape 4 - pour moi à portée len(texte)

    Étape 4 - Sentiment = NRCLex(text[i]) #Créez un objet pour chaque texte

    Étape 5 - emotion.top_emotions #Classifier les émotions

    Exemple

    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) 
    
    Copier après la connexion

    Sortie

    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)] 
    
    Copier après la connexion
    Conclusion

    Le dictionnaire des sentiments du CNRC est largement utilisé dans les tâches d'analyse et de classification des sentiments dans la recherche et l'industrie. Cela signifie qu'il existe une vaste communauté d'utilisateurs et de ressources disponibles pour l'assistance et le développement ultérieur. NRCLex utilise également Google Translate pour fournir une sortie stable dans plus de 100 langues à travers le monde, éliminant ainsi les barrières linguistiques. Cela a de multiples applications dans le domaine des soins de santé et peut aider à comprendre les réponses à la pandémie. Les applications pratiques incluent la psychologie et les sciences du comportement, la détection des fausses nouvelles et l'amélioration de l'interaction homme-machine.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:tutorialspoint.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal