Maison > développement back-end > Tutoriel Python > Exemples de traitement du langage naturel en Python : analyse des sentiments

Exemples de traitement du langage naturel en Python : analyse des sentiments

王林
Libérer: 2023-06-11 08:26:12
original
1824 Les gens l'ont consulté

Exemples de traitement du langage naturel en Python : analyse des sentiments

Avec le développement de l'intelligence artificielle, le traitement du langage naturel (NLP) a attiré de plus en plus d'attention dans divers domaines. Parmi eux, l’analyse des sentiments est une direction importante de l’application de la PNL. L'analyse des sentiments peut être utilisée pour analyser les tendances émotionnelles des utilisateurs à l'égard de produits, de services ou d'événements, aidant ainsi les entreprises à mieux comprendre les besoins des consommateurs et à promouvoir la formulation de stratégies marketing. Cet article présentera des exemples d'analyse des sentiments en Python.

  1. Installez les bibliothèques nécessaires

Pour effectuer une analyse des sentiments en Python, vous devez utiliser la bibliothèque tierce Natural Language Toolkit (NLTK) et TwitterAPI. Vous pouvez utiliser pip pour installer ces deux bibliothèques :

pip install nltk
pip install TwitterAPI
Copier après la connexion
  1. Prétraitement des données

Avant d'effectuer une analyse des sentiments, le texte doit être prétraité. Il peut convertir uniformément le texte en lettres minuscules et supprimer les informations non pertinentes telles que les signes de ponctuation, les chiffres, les mots vides, etc. Le code de prétraitement est le suivant :

import re
from nltk.corpus import stopwords

def clean_text(text):
    text = text.lower() # 将文本转换成小写字母
    text = re.sub(r'[^ws]', '', text) # 去除标点符号
    text = re.sub(r'd+', '', text) # 去除数字
    stop_words = set(stopwords.words('english'))
    words = text.split()
    words = [w for w in words if w not in stop_words] # 去除停用词
    text = ' '.join(words)
    return text
Copier après la connexion
  1. Modèle d'analyse des sentiments

Ensuite, vous devez créer un modèle d'analyse des sentiments. Étant donné que l'analyse des sentiments est un apprentissage supervisé (c'est-à-dire qu'elle nécessite des données étiquetées), la construction d'un modèle nécessite des données de formation étiquetées. Un ensemble de données de critiques de films de NLTK est utilisé ici, qui contient 1 000 critiques avec des tendances sentimentales positives ou négatives. Ces commentaires ont été signalés.

import nltk
from nltk.corpus import movie_reviews
import random

documents = [(list(movie_reviews.words(fileid)), category)
             for category in movie_reviews.categories()
             for fileid in movie_reviews.fileids(category)]

random.shuffle(documents)
Copier après la connexion

Après avoir obtenu les données d'entraînement, vous pouvez créer un classificateur Naive Bayes en utilisant le NaiveBayesClassifier dans nltk. Le code est le suivant :

all_words = nltk.FreqDist(w.lower() for w in movie_reviews.words())
word_features = list(all_words.keys())[:2000]

def document_features(document):
    document_words = set(document)
    features = {}
    for word in word_features:
        features['contains({})'.format(word)] = (word in document_words)
    return features

featuresets = [(document_features(d), c) for (d,c) in documents]
train_set, test_set = featuresets[200:], featuresets[:200]
classifier = nltk.NaiveBayesClassifier.train(train_set)
Copier après la connexion

Ce classificateur est basé sur l'algorithme Naive Bayes et utilise les caractéristiques des données d'entraînement pour classer. Dans cet exemple, la fonction « contient (mot) » qui caractérise les formes de mots est utilisée. Cette fonction vérifie si le document contient le mot.

  1. Application d'analyse des sentiments

Après avoir terminé l'établissement du modèle, vous pouvez l'utiliser pour effectuer une analyse des sentiments. Dans cet exemple, l'API Twitter est utilisée pour obtenir des tweets de Twitter, puis une analyse des sentiments est effectuée sur les tweets.

from TwitterAPI import TwitterAPI
import json

consumer_key = 'your consumer key'
consumer_secret = 'your consumer secret'
access_token_key = 'your access token key'
access_token_secret = 'your access token secret'

api = TwitterAPI(consumer_key,
                 consumer_secret,
                 access_token_key,
                 access_token_secret)

def analyze_tweet(tweet):
    tweet_text = tweet['text']
    tweet_clean = clean_text(tweet_text)
    tweet_features = document_features(tweet_clean.split())
    sentiment = classifier.classify(tweet_features)
    return sentiment

keywords = 'Trump'

for tweet in api.request('search/tweets', {'q': keywords, 'lang': 'en', 'count': 10}):
    sentiment = analyze_tweet(tweet)
    print(tweet['text'])
    print(sentiment)
    print('
')
Copier après la connexion

Cet extrait de code utilise TwitterAPI pour obtenir les 10 derniers tweets contenant le mot-clé « Trump ». Ensuite, une analyse des sentiments est effectuée sur chaque tweet et la tendance des sentiments est affichée.

En plus de Twitter, vous pouvez également utiliser ce modèle pour effectuer une analyse des sentiments sur d'autres données textuelles.

Conclusion

Cet article présente des exemples d'analyse des sentiments en Python. Cet exemple utilise un classificateur Naive Bayes formé pour classer le texte, qui peut être utilisé pour déterminer la tendance émotionnelle du texte. L'analyse des sentiments peut être largement utilisée dans des domaines tels que le marketing et la surveillance des médias sociaux.

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!

Étiquettes associées:
source:php.cn
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