простой анализ настроений с помощью Java - PullRequest
0 голосов
/ 13 января 2012

Я очень новичок в анализе настроений.Как я могу судить, является ли данное слово или предложение положительным или отрицательным.Я должен реализовать это с Java.Я пытался прочитать что-то вроде lingpipe, обучающий метод по быстрым шахматам, но я не понимаю.В своих примерах они используют много данных.В моем случае у меня не так много данных.Все, что у меня есть, это слово или предложение, скажем так.Я тоже пытался читать вопросы из stackoverflow.Но они мне мало помогают.Заранее спасибо.

Ответы [ 4 ]

3 голосов
/ 13 января 2012

Компьютеры не знают ничего о человеке, таком как чувство , если только они не узнают об этом из примеров, которые человек пометил как положительные или отрицательные.из Машинное обучение фактически является наиболее информированным решением о новом примере, основанном на эмпирических данных предыдущих примеров.Статистически, чем больше данных, тем лучше.

Чтобы «судить» о смысле предложения, вам необходимо обучить модель или классификатор на некоторыхпредложения помечены для чувства.Классификатор принимает предложение без метки в качестве входных данных и выводит метку: положительную или отрицательную.

Сначала получите обучающие примеры.Я уверен, что вы можете найти некоторые данные о настроениях в открытом доступе. Одним из лучших репозиториев наборов данных является UCI KDD Archive .Затем вы можете обучить классификатор на данных, чтобы судить новые примеры.Есть множество доступных ресурсов алгоритма обучения.Мои любимые jBoost , которые могут выводить классификатор в виде кода Java и Rapidminer , что лучше для визуального анализа.

1 голос
/ 16 января 2012

Вы можете использовать существующий веб-сервис, который обучен по предварительным данным.Например:

API определения настроения Chatterbox

, в котором есть библиотеки для Java и Android.

(Раскрытие информации: я работаю в компании, которая разрабатывает этоAPI)

0 голосов
/ 13 января 2012

Вы можете попытаться использовать Wordnet для поиска семантической ориентации слова на основе вычисления «расстояния» между вашим словом и «хорошими» или «плохими» словами. Более короткое расстояние даст вам слово SO.Результаты, кажется, будут немного слабыми, но для этого подхода не требуется много данных (или времени).

0 голосов
/ 13 января 2012

Это на самом деле не связано с программированием (нейролингвистическое программирование - это не программирование), и в целом надежного решения не существует.

Моя лучшая идея - заставить его работать как Google "Pigeon" Rank, то есть собирать слова и предложения, а затем собирать отзывы людей, будь они положительными или отрицательными, а затем использовать байесовское сопоставление с этими данными.

...