web-dev-qa-db-fra.com

Analyse de sentiment en utilisant R

Existe-t-il des packages R axés sur l'analyse des sentiments? J'ai un petit sondage où les utilisateurs peuvent écrire un commentaire sur leur expérience d'utilisation d'un outil Web. Je demande un classement numérique, et il y a la possibilité d'inclure un commentaire. 

Je me demande quel est le meilleur moyen d'évaluer la positivité ou la négativité du commentaire. J'aimerais pouvoir le comparer au classement numérique fourni par l'utilisateur, à l'aide de R.

28
djq

Et il y a ce paquet :

sentiment: Tools for Sentiment Analysis

sentiment est un paquet R avec des outils d'analyse des sentiments, notamment des classificateurs bayésiens pour la classification de la positivité/négativité et des émotions.

Mise à jour du 14 décembre 2012: il a été supprimé de l'archive archive ...

Mise à jour du 15 mars 2013: le paquet qdap a une fonction polarity, basée sur le travail de Jeffery Breen

26
Ben

_ { Voici le travail que j'ai effectué sur l'analyse des sentiments sous R.

Le code est, en aucun cas, poli ou bien emballé, mais je l'a posté sur Github avec une documentation de base. J'ai utilisé la API de sentiment ViralHeat , qui renvoie simplement JSON. La fonction permettant d'analyser les sentiments est donc relativement simple (voir le code ici ).

N'hésitez pas à me contacter si vous rencontrez des difficultés pour l'utiliser. Et notez que vous devrez vous inscrire pour obtenir une clé API avec ViralHeat avant de pouvoir l'utiliser. Si vous trouvez que les quotas sont trop restrictifs, je les avais contactés et ils étaient heureux de me donner des tonnes de questions supplémentaires pendant quelques mois pendant que je jouais avec l'API. 

18
Jeff Allen

Guide d'utilisation étape par étape 1) API Viral Heat 2) Approche de Jeffrey Breen 3) En utilisant Sentiment Package, consultez ce lien: https://sites.google.com/site/miningtwitter/questions/sentiment

5
paras_doshi

J'ai essayé de réorganiser et de fournir un ensemble cohérent d'analyse des sentiments ici . SentR inclut le traitement et le prétraitement de Word et fournit un accès à l’API ViralHeat, une fonction d’agrégation par défaut ainsi qu’à une méthode Naive Bayes plus avancée. 

L'installation est relativement simple:

install.packages('devtools')
require('devtools')
install_github('mananshah99/sentR')
require('sentR')

Et un exemple de classification simple:

# Create small vectors for happy and sad words (useful in aggregate(...) function)
positive <- c('happy', 'well-off', 'good', 'happiness')
negative <- c('sad', 'bad', 'miserable', 'terrible')

# Words to test sentiment
test <- c('I am a very happy person.', 'I am a very sad person', 
'I’ve always understood happiness to be appreciation. There is no greater happiness than appreciation for what one has- both physically and in the way of relationships and ideologies. The unhappy seek that which they do not have and can not fully appreciate the things around them. I don’t expect much from life. I don’t need a high paying job, a big house or fancy cars. I simply wish to be able to live my life appreciating everything around me. 
')

# 1. Simple Summation
out <- classify.aggregate(test, positive, negative)
out

# 2. Naive Bayes
out <- classify.naivebayes(test)
out

Ce qui fournit la sortie suivante:

  score
1     1
2    -1
3     2

     POS                NEG                 POS/NEG             SENT      
[1,] "9.47547003995745" "0.445453222112551" "21.2715265477714"  "positive"
[2,] "1.03127774142571" "9.47547003995745"  "0.108836578774127" "negative"
[3,] "67.1985217685598" "35.1792261323723"  "1.9101762362738"   "positive"

S'il vous plaît, n'hésitez pas à contribuer :) Espérons que cela aide!

2
manan

Vous pouvez toujours utiliser le package sentiment. Installez-le en suivant le script ci-dessous.

Vous aurez peut-être besoin de R 3.x.

require(devtools)
install_url("http://cran.r-project.org/src/contrib/Archive/sentiment/sentiment_0.2.tar.gz")
require(sentiment)
ls("package:sentiment")
0
Frank Wang