Please enable JavaScript.
Coggle requires JavaScript to display documents.
Анализ тональности текста (sentimental analysis) (Общие понятия (подходы…
Анализ тональности текста
(sentimental analysis)
Общие понятия
Метод обработки естественного языка
Цель - извлечение из текста эмоционального содержания
Простейшая реализация с помощью словаря хороших и плохих слов.
Пренебрежение контекстом и близлежащими словами
это область компьютерной лингвистики, которая занимается изучением мнений и эмоций в текстовых документах
подходы к классификации тональности
основанные на правилах
основанные на словарях
Машинное обучение с учителем
Машинное обучение без учителя
основанный на теоретико-графовых моделях
Примеры
Понять реакцию покупателя на товар
Негативные комментарии в соцсетях
https://www.datacamp.com/community/tutorials/simplifying-sentiment-analysis-python
в статье хорошо все описано
Методы
Логистическая регрессия
https://www.youtube.com/watch?v=uYC2eLVSpI8
Логистическая регрессия или логит-регрессия (англ. logit model) — это статистическая модель, используемая для прогнозирования вероятности возникновения некоторого события путём подгонки данных к логистической кривой.
Метод опорных векторов SVM
https://www.youtube.com/watch?v=eUfvyUEGMD8
создает разделительную линию между категориями данных так, что ближайшие точки в каждой из групп будут наиболее удалены друг от друга.
Word2Vec
continuous bag of words (CBOW, непрерывный мешок слов)
skip-gram
Схемы
Плюсы
есть контекст слова
пространство признаков имеет значительно меньшую размерность
Минусы
Игнорируется порядок слов
Doc2Vec
distributed memory (DM, распределенная память)
distributed bag of words (DBOW, распределенный мешок слов)
Схема
Сверточные нейронные сети CNN
Word2Vec
Модули Python
sklearn
https://scikit-learn.org/dev/documentation.html
модуль linear_model
https://scikit-learn.org/dev/modules/linear_model.html#logistic-regression
gensim
https://github.com/RaRe-Technologies/gensim
TextBlob
https://github.com/sloria/TextBlob
метод sentiment. 2 параметра
полярность
от -1 до 1, где -1 - негативный оттенок, 0 - нейтральный, 1 - позитивный
объективность
от 0 до 1, где 0 - очень объективно, 1 - очень субъективно
https://textblob.readthedocs.io/en/latest/quickstart.html#quickstart
NLTK
http://www.nltk.org/
https://github.com/cjhutto/vaderSentiment#python-code-example
Используется библиотека NLTK
sentimental
https://github.com/text-machine-lab/sentimental
просто берет слова из списка и сравнивает с текстом. каждому слову соответствует свой вес. Никак не анализирует контекст и соседние слова.