Анализ мнений с Python NLTK для предложений с помощью демонстрационных данных или веб-сервиса?

Я предпринимаю проект обработки естественного языка для анализа мнений.

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

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

  1. Я запускаю с одной длинной части данных (позволяет, говорят что несколько сотен твитов на предмет британских выборов от их веб-сервиса),
  2. Я хотел бы разбить это в предложения (или информация не более приблизительно 100 символов) (я предполагаю, что могу просто сделать это в Python??)
  3. Затем перерыть все предложения для определенных экземпляров в том предложении, например, "David Cameron"
  4. Затем я хотел бы проверить на положительное/отрицательное чувство в каждом предложении и считать их соответственно

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

Вот затруднения, которые я испытываю:

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

  2. Я не уверен, что понимаю, почему WEKA и NLTK использовались бы вместе. Кажется, что они делают почти такую же вещь. Если бы я обрабатываю данные с WEKA сначала для нахождения чувства, почему мне был бы нужен NLTK? Действительно ли возможно объяснить, почему это могло бы быть необходимо?

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

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

Аплодисменты Ke

17
задан mjv 14 May 2010 в 13:26
поделиться

2 ответа

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

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

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

12
ответ дан 30 November 2019 в 14:24
поделиться

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

1
ответ дан 30 November 2019 в 14:24
поделиться
Другие вопросы по тегам:

Похожие вопросы: