Подтвердить что ты не робот

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

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

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

4b9b3361

Ответ 1

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

sentiment: Tools for Sentiment Analysis

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

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

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

Ответ 2

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

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

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

Ответ 4

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

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

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"

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

Ответ 5

Вы все еще можете использовать пакет настроений. Установите его после script ниже.

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