Analyse des sentiments : une intuition derrière l'analyse des sentiments en 2022
Publié: 2021-01-02Table des matières
introduction
Le texte est le moyen le plus important de percevoir l'information pour les êtres humains. La majorité de l'intelligence acquise par les humains se fait par l'apprentissage et la compréhension du sens des textes et des phrases qui les entourent. Après un certain âge, les humains développent un réflexe intrinsèque pour comprendre l'inférence de n'importe quel mot/texte sans même le savoir.
Pour les machines, cette tâche est complètement différente. Pour assimiler le sens des textes et des phrases, les machines s'appuient sur les fondamentaux du traitement automatique du langage naturel (TAL). L'apprentissage en profondeur pour le traitement du langage naturel est la reconnaissance de formes appliquée aux mots, aux phrases et aux paragraphes, de la même manière que la vision par ordinateur est la reconnaissance de formes appliquée aux pixels d'une image.
Aucun de ces modèles d'apprentissage en profondeur ne comprend vraiment le texte au sens humain ; au contraire, ces modèles peuvent cartographier la structure statistique du langage écrit, ce qui est suffisant pour résoudre de nombreuses tâches textuelles simples. L'analyse des sentiments est l'une de ces tâches, par exemple : classer le sentiment des chaînes ou des critiques de films comme positif ou négatif.
Ceux-ci ont également des applications à grande échelle dans l'industrie. Par exemple : une entreprise de biens et de services souhaite recueillir les données sur le nombre d'avis positifs et négatifs qu'elle a reçus pour un produit particulier afin de travailler sur le cycle de vie du produit, d'améliorer ses chiffres de vente et de recueillir les commentaires des clients.
Apprenez le cours en ligne d'apprentissage automatique des meilleures universités du monde. Gagnez des programmes de maîtrise, Executive PGP ou Advanced Certificate pour accélérer votre carrière.
Lire : Idées de projets d'apprentissage automatique

Prétraitement
La tâche d'analyse des sentiments peut être décomposée en un simple algorithme d'apprentissage automatique supervisé, où nous avons généralement une entrée X , qui entre dans une fonction de prédiction pour obtenir Nous comparons ensuite notre prédiction avec la vraie valeur Y , Cela nous donne le coût que nous utilisons ensuite pour mettre à jour les paramètres Pour s'attaquer à la tâche d'extraire des sentiments d'un flux de textes inédits, l'étape primitive consiste à rassembler un ensemble de données étiqueté avec des sentiments positifs et négatifs séparés. Ces sentiments peuvent être : une bonne critique ou une mauvaise critique, une remarque sarcastique ou une remarque non sarcastique, etc.
L'étape suivante consiste à créer un vecteur de dimension V , où Ce vecteur de vocabulaire contiendra chaque mot (aucun mot n'est répété) présent dans notre ensemble de données et agira comme un lexique pour notre machine auquel il pourra se référer. Maintenant, nous prétraitons le vecteur de vocabulaire pour supprimer les redondances. Les étapes suivantes sont effectuées :
- Éliminer les URL et autres informations non triviales (qui n'aident pas à déterminer le sens d'une phrase)
- Tokenisation de la chaîne en mots : supposons que nous ayons la chaîne "J'aime l'apprentissage automatique", maintenant en tokenisant, nous décomposons simplement la phrase en mots simples et la stockons dans une liste sous la forme [I, love, machine, learning]
- Suppression des mots vides comme « et », « suis », « ou », « je », etc.
- Stemming : nous transformons chaque mot en sa forme radicale. Des mots comme «tune», «tuning» et «tuned» ont sémantiquement la même signification, donc les réduire à sa forme radicale qui est «tun» réduira la taille du vocabulaire
- Convertir tous les mots en minuscules
Pour résumer l'étape de prétraitement, examinons un exemple : disons que nous avons une chaîne positive « J'adore le nouveau produit sur upGrad.com » . La chaîne prétraitée finale est obtenue en supprimant l'URL, en segmentant la phrase en une seule liste de mots, en supprimant les mots vides tels que "je, suis, le, à", puis en radicalisant les mots "aimant" en "lov" et "produit" en "produ" et enfin en convertissant le tout en minuscules, ce qui donne la liste [lov, new, produ] .
Extraction de caractéristiques
Une fois le corpus prétraité, la prochaine étape consisterait à extraire les caractéristiques de la liste des phrases. Comme tous les autres réseaux de neurones, les modèles d'apprentissage en profondeur ne prennent pas de texte brut en entrée : ils fonctionnent uniquement avec des tenseurs numériques.

La liste de mots prétraitée doit donc être convertie en valeurs numériques. Cela peut être fait de la manière suivante. Supposons que compte tenu d'une compilation de chaînes avec des chaînes positives et négatives telles que (supposons ceci comme jeu de données) :
Chaînes positives | Chaînes négatives |
|
|
Maintenant, pour convertir chacune de ces chaînes en un vecteur numérique de dimension 3, nous créons un dictionnaire pour mapper le mot et la classe dans laquelle il est apparu (positif ou négatif) au nombre de fois que ce mot est apparu dans sa classe correspondante.
Vocabulaire | Fréquence positive | Fréquence négative |
je | 3 | 3 |
un m | 3 | 3 |
content | 2 | 0 |
car | 1 | 0 |
apprentissage | 1 | 1 |
PNL | 1 | 1 |
triste | 0 | 2 |
ne pas | 0 | 1 |
Après avoir généré le dictionnaire susmentionné, nous examinons chacune des chaînes individuellement, puis additionnons le nombre de fréquences positives et négatives des mots qui apparaissent dans la chaîne en laissant les mots qui n'apparaissent pas dans la chaîne. Prenons la chaîne '"Je suis triste, je n'apprends pas la PNL" et générons le vecteur de dimension 3.
"Je suis triste, je n'apprends pas la PNL"
Vocabulaire | Fréquence positive | Fréquence négative |
je | 3 | 3 |
un m | 3 | 3 |
content | 2 | 0 |
car | 1 | 0 |
apprentissage | 1 | 1 |
PNL | 1 | 1 |
triste | 0 | 2 |
ne pas | 0 | 1 |
Somme = 8 | Somme = 11 |
On voit que pour la chaîne "je suis triste, je n'apprends pas la PNL", seuls deux mots "heureux, parce que" ne sont pas contenus dans le vocabulaire, maintenant pour extraire des traits et créer ledit vecteur, on somme la fréquence positive et négative colonnes séparément en omettant le nombre de fréquences des mots qui ne sont pas présents dans la chaîne, dans ce cas nous laissons "heureux, parce que". Nous obtenons la somme comme 8 pour la fréquence positive et 9 pour la fréquence négative.

Par conséquent, la chaîne "Je suis triste, je n'apprends pas la PNL" peut être représentée par un vecteur Le nombre « 1 » présent dans l'indice 0 est l'unité de biais qui restera « 1 » pour toutes les chaînes à venir et les nombres « 8 », « 11 » représentent respectivement la somme des fréquences positives et négatives.
De la même manière, toutes les chaînes de l'ensemble de données peuvent être converties confortablement en un vecteur de dimension 3.
Lisez aussi : Explication des modèles d'apprentissage automatique
Application de la régression logistique
L'extraction de caractéristiques facilite la compréhension de l'essence de la phrase, mais les machines ont toujours besoin d'un moyen plus précis pour signaler une chaîne invisible en positif ou en négatif. Ici, la régression logistique entre en jeu qui utilise la fonction sigmoïde qui génère une probabilité entre 0 et 1 pour chaque chaîne vectorisée.
Dernières pensées
De plus, si vous souhaitez en savoir plus sur l'apprentissage automatique, consultez le programme Executive PG d'IIIT-B & upGrad en apprentissage automatique et IA, conçu pour les professionnels en activité et offrant plus de 450 heures de formation rigoureuse, plus de 30 études de cas et missions. , statut IIIT-B Alumni, plus de 5 projets de synthèse pratiques et aide à l'emploi avec les meilleures entreprises.