Skip to content

alcatraz-rm/Text_tone_analyzer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Анализатор тональности текста

Sentiment analysis (анализ тональности) — это область компьютерной лингвистики, которая занимается изучением мнений и эмоций в текстовых документах. В зависимости от поставленной задачи нас могут интересовать разные свойства, например:

  • автор — кому принадлежит это мнение
  • тема — о чем говорится во мнении
  • тональность — позиция автора относительно упомянутой темы

Прицип работы программы:

  1. Лемматизация документа - приведение всех слов в документе к начальной форме с помощью морфологического анализатора pymorphy2, удаление знаков препинания, служебных частей речи, слов, которые содержат буквы латинского алфавита.
  2. Выделение признаков текста - документу сопоставляется 3 числа, которые являются численной характеристикой его эмоциональной окраски, посчитанной с помощью формулы ΔTF-IDF. Веса считаются для с применением униграмм (слова документа по одному), биграмм (комбинации из двух слов) и триграмм (сочетание 3 слов).
  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%

Используемые ресурсы:

Лицензия

Лицензировано согласно Лицензии Apache, Версия 2.0 ("Лицензия"); вы можете использовать этот файл только в соответствии с Лицензией. Вы можете найти копию Лицензии по адресу

http://www.apache.org/licenses/LICENSE-2.0. 

За исключением случаев, когда это регламентировано существующим законодательством или если это не оговорено в письменном соглашении, программное обеспечение распространяемое на условиях данной Лицензии, предоставляется "КАК ЕСТЬ" и любые явные или неявные ГАРАНТИИ ОТВЕРГАЮТСЯ. Информацию об основных правах и ограничениях, применяемых к определенному языку согласно Лицензии, вы можете найти в данной Лицензии.

Copyright © 2018. All rights reserved.

Author: German Yakimov