Анализ мнений для Твиттера в [закрытом] Python

Я ищу реализацию с открытым исходным кодом, предпочтительно в Python, Текстового Анализа мнений (http://en.wikipedia.org/wiki/Sentiment_analysis). Действительно ли кто-либо знаком с такой реализацией с открытым исходным кодом, которую я могу использовать?

Я пишу приложение, которое ищет Твиттер некоторый критерий поиска, скажите "YouTube", и считает "счастливые" твиты по сравнению с "печальными" твитами. Я использую appengine Google, таким образом, это находится в Python. Я хотел бы смочь классифицировать возвращенные результаты поиска от Твиттера, и я хотел бы сделать это в Python. Я не смог найти такое чувство анализатором до сих пор, конкретно не в Python. Действительно ли Вы знакомы с такой реализацией с открытым исходным кодом, которую я могу использовать? Предпочтительно это уже находится в Python, но в противном случае надо надеяться, я могу перевести его в Python.

Отметьте, тексты, которые я анализирую, ОЧЕНЬ кратки, они - твиты. Так идеально этот классификатор оптимизирован для таких кратких текстов.

BTW, Твиттер действительно поддерживает операторы ":)" и ":(" в поиске, которые имеют целью делать просто это, но к сожалению, классификация, обеспеченная ими, не является настолько большой, таким образом, я полагал, что мог бы дать этому попытку сам.

Спасибо!

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

86
задан Benyamin Jafari 9 September 2019 в 11:57
поделиться

7 ответов

С большинством этих видов приложений необходимо будет прокрутить большую часть собственного кода для статистической задачи классификации. Как предложенный Lucka, NLTK является идеальным инструментом для управления естественным языком в Python, пока Ваша цель не вмешивается в не коммерческий характер своей лицензии. Однако я предложил бы другие пакеты программного обеспечения для моделирования. Я не нашел много сильных усовершенствованных моделей машинного обучения доступными для Python, таким образом, я собираюсь предложить некоторые автономные двоичные файлы, которые легко сотрудничают с ним.

можно интересоваться Инструментарий для Усовершенствованного Отличительного Моделирования , с которым можно легко соединить интерфейсом с Python. Это использовалось для задач классификации в различных областях обработки естественного языка. У Вас также есть выбор многих различных моделей. Я предложил бы запуститься с Максимальной Энтропийной классификации, пока Вы уже знакомы с реализацией наивного классификатора Байеса. В противном случае можно хотеть изучить его и кодировать один до, действительно получают достойное понимание статистической классификации как задача машинного обучения.

группы компьютерной лингвистики Техасского университета в Остине содержали классы, где большинство проектов, выходящих из них, использовало этот большой инструмент. Можно посмотреть на страницу курса для компьютерная лингвистика II для понимания то, как заставить ее работать и каким предыдущим приложениям она служила.

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

Удача с Вашей задачей. Очень трудная часть, вероятно, будет суммой инженерии знаний, требуемой впереди, чтобы Вы классифицировали 'набор семени' прочь, о которых узнает Ваша модель. Это должно быть довольно большим, в зависимости от того, делаете ли Вы бинарную классификацию (счастливый по сравнению с печальным) или целый диапазон эмоций (который потребует еще больше). Удостоверьтесь, что протянули некоторые из этих спроектированных данных для тестирования или выполнили некоторых в десять раз, или удалить каждый тестирует, чтобы удостовериться, что Вы на самом деле делаете хорошее задание, предсказывая перед помещением его там. И больше всего, развлекайтесь! Это - большая часть обработки естественного языка и AI, по-моему.

42
ответ дан Robert Elwell 24 November 2019 в 08:01
поделиться

Удача с этим.

Чувство является чрезвычайно контекстным, и культура для Твиттера делает проблему хуже, потому что Вам не дают контекст для большинства твитов. Смысл Твиттера - то, что можно усилить огромную сумму общего контекста "реального мира" для упаковки значимой коммуникации в очень коротком сообщении.

, Если они говорят, что видео плохо, который означает плохо, или плохой ?

преподаватель лингвистики А читал лекции к ее классу однажды. "На английском языке", она сказала, "Двойное отрицание формы положительное. На некоторых языках, тем не менее, таких как русский язык, двойное отрицание является все еще отрицанием. Однако нет никакого языка, где двойное положительное может сформировать отрицание".

речь А из дальнего конца заигравшей комнаты, "Да.. .right".

75
ответ дан dbr 24 November 2019 в 08:01
поделиться

Спасибо все для Ваших предложений, они были действительно очень полезны! Я закончил тем, что использовал Наивный байесовский классификатор, который я одолжил от здесь . Я запустил путем питания его со списком хороших/плохих ключевых слов и затем добавил "изучить" опцию путем использования отзывов пользователей. Это, оказалось, работало довольно хорошее.

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

Снова, Ваша справка была очень полезна, так спасибо!

18
ответ дан Ran 24 November 2019 в 08:01
поделиться

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

Теперь, это сказанное, чувство является зависящим от домена, и Вы могли бы найти трудным получить высокий уровень точности с набором данных общего назначения.

Удача.

9
ответ дан 24 November 2019 в 08:01
поделиться

Я думаю, что можно найти трудным найти то, что Вы после. Самая близкая вещь, о которой я знаю, - LingPipe, который имеет приблизительно функциональность анализа мнений и доступен под ограниченным видом лицензии с открытым исходным кодом, но записан в Java.

кроме того, системы анализа мнений обычно разрабатываются обучением система на данных продукта/обзора фильмов, которые существенно отличаются из среднего твита. Они собираются быть оптимизированными для текста с несколькими предложениями, всеми о той же теме. Я подозреваю, что Вы добились бы большего успеха придумывающий основанную на правилах систему сами, возможно, на основе словаря условий чувства как то, которое Питтсбургский университет обеспечивает .

Выезд Мы Чувствуем себя прекрасно для реализации подобной идеи с действительно красивым интерфейсом (и twitrratr).

4
ответ дан Stompchicken 24 November 2019 в 08:01
поделиться

Я столкнулся Инструментарий естественного языка только что. Вы могли, вероятно, использовать его в качестве начальной точки. Это также имеет много модулей и дополнений, поэтому возможно, у них уже есть что-то подобное.

1
ответ дан Ani Menon 24 November 2019 в 08:01
поделиться

Несколько дурацкая мысль: Вы могли попытаться использовать Программный интерфейс Твиттера, чтобы загрузить большой набор твитов и затем классифицировать подмножество того набора с помощью эмотиконов: одна положительная группа для ":)", ":]", ": D", и т.д., и другая отрицательная группа с ": (", и т.д.

, Как только у Вас есть та сырая классификация, Вы могли искать больше подсказок с частотой или n-граммным анализом или чем-то вдоль тех строк.

Это может казаться глупым, но серьезное исследование было проведено на этом (поиск "анализа мнений" и эмотикона). Стоящий взгляда.

0
ответ дан 24 November 2019 в 08:01
поделиться
Другие вопросы по тегам:

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