Классификация текстов и анализ тональности — различия между версиями
KirillTim (обсуждение | вклад) (+ алгоритмы список + тезаурусы) |
KirillTim (обсуждение | вклад) (+ line breaks) |
||
Строка 53: | Строка 53: | ||
== Применение семантических тезаурусов для анализа тональности текстов == | == Применение семантических тезаурусов для анализа тональности текстов == | ||
− | Существуют тезаурусы<ref>[https://ru.wikipedia.org/wiki/%D0%A2%D0%B5%D0%B7%D0%B0%D1%83%D1%80%D1%83%D1%81 Тезаурус]</ref>, размеченные силами людей с учётом эмоциональной окраски слов, содержащихся в них. Такие словари позволяют определять тональность текста без применения алгоритмов машинного обучения. Тональность текста определяется как сумма тональностей слов, содержащихся в размеченных словарях. | + | Существуют тезаурусы<ref>[https://ru.wikipedia.org/wiki/%D0%A2%D0%B5%D0%B7%D0%B0%D1%83%D1%80%D1%83%D1%81 Тезаурус]</ref>, размеченные силами людей с учётом эмоциональной окраски слов, содержащихся в них. Такие словари позволяют определять тональность текста без применения алгоритмов машинного обучения. Тональность текста определяется как сумма тональностей слов, содержащихся в размеченных словарях. |
+ | |||
Основной проблемой методов, основанных на словарях является трудоёмкость построения словаря: отдельного для каждого нового языка и каждой новой тематики. | Основной проблемой методов, основанных на словарях является трудоёмкость построения словаря: отдельного для каждого нового языка и каждой новой тематики. | ||
+ | |||
Известные тезаурусы: | Известные тезаурусы: | ||
* [http://wndomains.fbk.eu/wnaffect.html| WordNet-Affect]; | * [http://wndomains.fbk.eu/wnaffect.html| WordNet-Affect]; |
Версия 11:51, 9 апреля 2019
Классификация текстов (документов) (Document classification) — задача компьютерной лингвистики[1], заключающаяся в отнесении документа к одной из нескольких категорий на основании содержания документа.
Анализ тональности текста (Sentiment analysis) — задача компьютерной лингвистики, заключающаяся в определении эмоциональной окраски (тональности) текста и, в частности, в выявлении эмоциональной оценки авторов по отношению к объектам, описываемым в тексте.
Содержание
Задачи классификации текстов
Классификация текстов применяется, в том числе, для:
- Разделения веб страниц и сайтов по тематическим каталогам;
- Борьбы со спамом;
- Определение языка текста;
- Показа более релевантной рекламы;
Задачи анализа тональности текста
Основной задачей анализа тональности текста является определение его эмоциональной окраски. Это необходимо, в том числе, для:
- Анализа отзывов о товарах и услугах;
- Определение языка вражды[2];
В общем случае, задача анализа тональности текста эквивалентна задаче классификации текста, где категориями текстов могут быть тональные оценки. Примеры тональных оценок:
- позитивня;
- негативня;
- нейтральная;
Под «нейтральной» подразумевается, что текст не содержит эмоциональной окраски.
Классификация текстов методами машинного обучения
Постановка задачи
Имеется множество категорий (классов, меток)
.Имеется множество документов
.Неизвестная целевая функция
.Необходимо построить классификатор
, максимально близкий к .Имеется некоторая начальная коллекция размеченных документов
, для которых известны значения . Обычно её делят на «обучающую» и «проверочную» части. Первая используется для обучения классификатора, вторая — для независимой проверки качества его работы.Классификатор может выдавать точный ответ
или степень подобия .Этапы подготовки
Предобработка текста
Предобработка текста переводит текст на естественном языке в формат удобный для дальнейшей работы. Применяются следующие операции:
- Перевод всех букв в тексте в нижний или верхний регистры;
- Удаление чисел или замена на текстовый эквивалент;
- Удаление пунктуации;
- Удаление редких и слишком частых слов;
- Стемминг или Лемматизация;
Извлечение признаков из текстов
Большинство математических моделей работают в векторных пространствах больших размерностей, поэтому необходимо отобразить текст в векторном пространстве. Основным походом является мешок слов (bag-of-words): для документа формируется вектор размерности словаря, для каждого слова выделяется своя размерность, для документа записывается признак насколько часто слово встречается в нем, получаем вектор. Наиболее распространенным методом для вычисления признака является TF-IDF[4] (TF — частота слова, term frequency, IDF — обратная частота документа, inverse document frequency). Плюсами мешка слов является простая реализация, однако данный метод теряет часть информации, например, порядок слов. Для уменьшения потери информации можно использовать мешок N-грамм (добавлять не только слова, но и словосочетания), или использовать методы векторных представлений слов это, например, позволяет снизить ошибку на словах с одинаковыми написаниями, но разными значениями.
Алгоритмы классификации
Наивная байесовская модель
Метод K ближайших соседей
Метод опорных векторов
Свёрточная нейронная сеть
Оценка качества классификации
Применение семантических тезаурусов для анализа тональности текстов
Существуют тезаурусы[3], размеченные силами людей с учётом эмоциональной окраски слов, содержащихся в них. Такие словари позволяют определять тональность текста без применения алгоритмов машинного обучения. Тональность текста определяется как сумма тональностей слов, содержащихся в размеченных словарях.
Основной проблемой методов, основанных на словарях является трудоёмкость построения словаря: отдельного для каждого нового языка и каждой новой тематики.
Известные тезаурусы: