Je me demandais si quelqu'un savait où trouver des dictionnaires de mots positifs et négatifs. J'examine l'analyse des sentiments et c'est une partie cruciale de celle-ci.
Le Sentiment Lexicon , à l'Université de Pittsburgh pourrait être ce que vous recherchez. C'est un lexique d'environ 8 000 mots avec un sentiment positif/neutre/négatif. Il est décrit plus en détail dans cet article et publié sous la GPL.
En arrivant un peu tard, je noterai simplement que les dictionnaires ont une contribution limitée à l'analyse des sentiments. Certaines phrases portant des sentiments ne contiennent aucun mot "sentiment" - par exemple "lire le livre", ce qui pourrait être positif dans une critique de livre tandis que négatif dans une critique de film. De même, le sentiment Word "imprévisible" pourrait être positif dans le contexte d'un thriller mais négatif lors de la description du système de rupture de la Toyota.
et il y en a beaucoup plus ...
Sources:
Le professeur Bing Liu fournit un lexique anglais d'environ 6800 mots, vous pouvez télécharger ce lien: Exploration d'opinion, analyse de sentiment et détection de spam d'opinion
Cet article de 2002 décrit un algorithme pour dériver un tel dictionnaire à partir d'échantillons de texte automatiquement, en utilisant seulement deux mots comme ensemble de départ.
Le répertoire du dictionnaire Harvard-IV http://www.wjh.harvard.edu/~inquirer/homecat.htm contient au moins deux ensembles de dictionnaires prêts à l'emploi pour une orientation positive/négative.
AFINN vous pouvez trouver ici et aussi le créer dynamiquement. Comme chaque fois qu'un mot inconnu + ve vient l'ajouter avec +1. Comme banane est un nouveau mot + ve et apparaissant deux fois, il deviendra +2.
Autant d'articles et de données que vous explorez votre dictionnaire deviendrait plus fort!
Vous pouvez utiliser Vador sentiment Lexicon
from nltk.sentiment.vader import SentimentIntensityAnalyzer
sentence='Apple is good for health'
sid = SentimentIntensityAnalyzer()
ss = sid.polarity_scores(sentence)
print(ss)
cela vous donnera la polarité de la phrase.
production:
{'compound': 0.4404, 'neu': 0.58, 'pos': 0.42, 'neg': 0.0}
Sentiwords donne 155 000 mots (et leur polarité, c'est-à-dire un score entre -1 et 1 pour très négatif à très positif). Le Lexique est discuté ici