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

Анализ настроений с использованием python NLTK для предложений с использованием выборочных данных или webservice?

Я приступаю к проекту NLP для анализа настроений.

Я успешно установил NLTK для python (для этого похоже большое программное обеспечение). Однако мне трудно понять, как это можно использовать для выполнения моей задачи.

Вот моя задача:

  • Я начинаю с одного длинного фрагмента данных (скажем, несколько сотен чириканье на тему выборов в Великобритании из их веб-службы).
  • Я хотел бы разбить это на предложения (или информацию не более чем на 100 символов) (я думаю, я могу просто сделать это в python?)
  • Затем выполнить поиск по всем предложениям для определенных экземпляров в этом предложении, например. "Дэвид Кэмерон"
  • Затем я хотел бы проверить положительные/отрицательные чувства в каждом предложении и посчитать их соответственно.

NB: Я не слишком сильно беспокоюсь о точности, потому что мои наборы данных большие, а также не слишком беспокоятся о сарказме.

Вот проблемы, которые у меня возникают:

  • Все наборы данных, которые я могу найти, например. данные просмотра фильма корпуса, которые поставляются с NLTK arent в формате webservice. Похоже, что уже была сделана некоторая обработка. Насколько я вижу, обработка (по Стэнфорду) проводилась с WEKA. Не возможно ли NLTK сделать все это самостоятельно? Здесь все наборы данных уже были организованы в положительные/отрицательные, например, набор полярности http://www.cs.cornell.edu/People/pabo/movie-review-data/ Как это делается? (чтобы организовать предложения по настроениям, это определенно WEKA? или что-то еще?)

  • Я не уверен, что понимаю, почему WEKA и NLTK будут использоваться вместе. Похоже, они делают то же самое. Если im обрабатывать данные с WEKA сначала, чтобы найти чувства, зачем мне нужен NLTK? Можно ли объяснить, почему это может быть необходимо?

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

Любая помощь очень ценится и спасет меня много волос!

Cheers Ke

4b9b3361

Ответ 1

Данные обзора фильма уже были отмечены людьми как положительные или отрицательные (человек, который сделал обзор, дал фильму рейтинг, который используется для определения полярности). Эти золотые стандартные этикетки позволяют вам обучать классификатор, который затем можно использовать для других обзоров фильмов. Вы можете обучить классификатор в НЛТК этими данными, но применение результатов к твитам на выборах может быть менее точным, чем случайное угадывание положительного или отрицательного. Кроме того, вы можете пройти через несколько тысяч твитов и пометить их как положительные или отрицательные, и использовать это как свой набор тренировок.

Описание использования Naive Bayes для анализа настроений с помощью NLTK: http://streamhacker.com/2010/05/10/text-classification-sentiment-analysis-naive-bayes-classifier/

Затем в этом коде вместо использования корпуса фильма используйте свои собственные данные для вычисления количества слов (в методе word_feats).

Ответ 2

Почему вы не используете WSD. Используйте инструмент Disambiguation, чтобы найти чувства. и используйте вместо полярности полярность карты для чувств. В этом случае вы получите более точные результаты по сравнению с полярностью индекса слова.