Sentiment analysis (анализ тональности) — это область компьютерной лингвистики, которая занимается изучением мнений и эмоций в текстовых документах. В зависимости от поставленной задачи нас могут интересовать разные свойства, например:
- автор — кому принадлежит это мнение
- тема — о чем говорится во мнении
- тональность — позиция автора относительно упомянутой темы
- Лемматизация документа - приведение всех слов в документе к начальной форме с помощью морфологического анализатора pymorphy2, удаление знаков препинания, служебных частей речи, слов, которые содержат буквы латинского алфавита.
- Выделение признаков текста - документу сопоставляется 3 числа, которые являются численной характеристикой его эмоциональной окраски, посчитанной с помощью формулы ΔTF-IDF. Веса считаются для с применением униграмм (слова документа по одному), биграмм (комбинации из двух слов) и триграмм (сочетание 3 слов).
- Определение класса документа ("положительный", "отрицательный") с помощью Наивного Байесовского классификатора
Сборка осуществляется с помощью интерпретатора Pytnon 3.x через командную строку или IDE. Необходимо запустить файл "Demo.py".
Входные данные: Полный текст документа.
Выходные данные: Тональность документа и вероятность принадлежности документа к этой тональности.
Более подробную информацию по интерфейсу и сборке можно найти в документации.
- PyQt5
- sklearn
- pandas
- pymorphy2
- requests
- speech_recognition
- gensim
- sys
- os
- logging
- datetime
- platform
- math
- sqlite3
- re
- time
- csv
- warnings
- string
Названия и версии сторонних библиотек, используемых в проекте, находятся в файле Python/requirements.txt. С помощью данного файла можно быстро установить все необходимые пакеты, выполнив команду:
pip install -r requirements.txt
cd Text_tone_analyzer
python Python/Demo.py
Text: "Главный итог завершившихся Игр ХХХ Олимпиады в Лондоне – то чувство гордости за нашу страну, которое испытывали болельщики благодаря выступлениям российских олимпийцев», — считает Александр Жуков"
Output:
Positive
80.598%
- http://study.mokoron.com/ - данные для обучения (дата обращения: 23.07.18)
- http://linis-crowd.org/ - данные для обучения (дата обращения: 23.07.18)
- https://habr.com/post/149605/ - статья про анализ тональности (дата обращения: 23.07.18)
- https://nlpub.ru/Ресурсы - материалы для NLP (дата обращения: 23.07.18)
Лицензировано согласно Лицензии Apache, Версия 2.0 ("Лицензия"); вы можете использовать этот файл только в соответствии с Лицензией. Вы можете найти копию Лицензии по адресу
http://www.apache.org/licenses/LICENSE-2.0.
За исключением случаев, когда это регламентировано существующим законодательством или если это не оговорено в письменном соглашении, программное обеспечение распространяемое на условиях данной Лицензии, предоставляется "КАК ЕСТЬ" и любые явные или неявные ГАРАНТИИ ОТВЕРГАЮТСЯ. Информацию об основных правах и ограничениях, применяемых к определенному языку согласно Лицензии, вы можете найти в данной Лицензии.