Анализ настроений с использованием R

Есть ли пакеты R, которые фокусируются на анализе настроений? У меня есть небольшой опрос, где пользователи могут написать комментарий о своем опыте использования веб-инструмента. Я прошу числовой рейтинг, и есть возможность включить комментарий.

Мне интересно, каков наилучший способ оценить позитивность или негативность комментария. Я хотел бы иметь возможность сравнить его с числовым рейтингом, который предоставляет пользователь, используя R.

5 ответов

Решение

И есть этот пакет:

sentiment: Tools for Sentiment Analysis

sentiment - это пакет R с инструментами для анализа настроений, включая байесовские классификаторы для классификации позитивности / негатива и эмоций.

Обновление 14 декабря 2012: удалено в архив...

Обновление 15 марта 2013: пакет qdap имеет polarity функция, основанная на работе Джеффри Брина

Вот работа, которую я сделал по анализу настроений в R.

Код ни в коем случае не отшлифован или хорошо упакован, но я разместил его на Github с базовой документацией. Я использовал API-интерфейс ViralHeat, который просто возвращает JSON, поэтому фактическая функция для анализа настроений довольно тривиальна (см. Код здесь).

Не стесняйтесь связаться со мной, если у вас возникли проблемы с его использованием. И обратите внимание, что вам нужно будет зарегистрировать ключ API в ViralHeat, прежде чем вы сможете его использовать. Если вы считаете, что квоты слишком ограничены, я связался с ними, и они были рады дать мне еще несколько запросов в течение нескольких месяцев, пока я играл с API.

Пошаговое руководство по использованию 1) Viral Heat API 2) Подход Джеффри Брина 3) Используя Sentiment Package, перейдите по этой ссылке: https://sites.google.com/site/miningtwitter/questions/sentiment

Я попытался реорганизовать и предоставить комплексный пакет для анализа настроений здесь. SentR включает в себя обработку слов и предварительную обработку и предоставляет доступ к API-интерфейсу ViralHeat, функции агрегирования по умолчанию, а также к более продвинутому наивному байесовскому методу.

Установка относительно проста:

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

И простой пример классификации:

# 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

Который обеспечивает следующий вывод:

  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"

Пожалуйста, не стесняйтесь вносить свой вклад:) Надеюсь, что это помогает!

Вы все еще можете использовать пакет настроений. Установите его, следуя сценарию ниже.

Вам может понадобиться 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")
Другие вопросы по тегам