Далее я попытаюсь объяснить свое понимание того, как наивный байесовский классификатор можно использовать для классификации настроений.

Что такое вероятностный классификатор?

Классификатор, который выводит распределение вероятностей по набору выходных классов. Допустим, событие имеет 3 возможных исхода. Вероятностный классификатор предсказывает вероятность каждого из этих исходов. Сумма этих вероятностей для события равна 1.

Эти распределения называются условными распределениями. Это означает, что для определенного значения входа в наборе X (это условие) выход представляет собой набор вероятностей всех результатов. Он представлен как Pr(Y|X). Исход, который имеет максимальную вероятность среди возможных исходов, рассматривается как предсказание.

Что такое наивный байесовский классификатор?

Теорема Байеса утверждает или описывает вероятность события на основе других связанных событий. Например, вероятность того, что случайного водителя остановит полицейский в нетрезвом состоянии, меняется в зависимости от времени суток. Если водителя остановит полицейский в 2 часа ночи в пятницу, вероятность возрастает. Если это 8 утра в будний день, шансов, что водитель пьян, меньше.

Теперь наивный байесовский классификатор — это вероятностный классификатор, который применяет теорему Байеса с предположением. Предполагается, что связанные события, влияющие на вероятность выхода, не зависят друг от друга. Это предположение является «наивной» частью наивного байесовского классификатора.

Чтобы понять это предположение, давайте попробуем предсказать, опоздаю ли я сегодня в офис. Есть много факторов или связанных с ними событий, которые могут повлиять на то, что я вовремя прибуду на работу. Сработает ли сигнализация, пробки на пути, состояние автомобиля, который я использую для поездок на работу, и многое другое. Хотя мы можем учитывать все эти события для расчета вероятности, мы предполагаем, что эти события независимы друг от друга и не имеют корреляции между собой. Своевременное срабатывание сигнализации никак не связано с состоянием моего автомобиля и тому подобное.

Приступаем к математическому представлению вышеизложенного применительно к задаче классификации документа или текста. Пусть каждый документ (например, обзор фильма или обзор продукта) представлен как документ d, а его классификация — как класс c (например, положительный отзыв или неблагоприятный отзыв).

Вероятность того, что документ d принадлежит классу c, можно представить как:

P(c|d) = P(d|c) * P(c) / P(d)

P(c): называется априорной вероятностью. Вероятность исхода без учета каких-либо связанных событий.

P(d|c): называется вероятностью, которая выражает вероятность того, что документ d со всеми его характеристиками принадлежит к определенному классу C.

P(d): называется свидетельством. Это можно опустить во время расчетов вероятности, поскольку свидетельство не меняется в зависимости от класса.

Как классифицировать текст с помощью наивного байесовского классификатора?

Еще до классификации текст должен быть представлен в числовой форме, которая сохраняет некоторые свойства текста, так что любые предсказания, сделанные в числовой форме, применимы и к тексту. Эта форма представления называется векторизацией.

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

В модели «мешок слов» есть несколько способов представить каждое слово.

Подсчет: просто подсчитайте появление каждого слова. Если слово, например: «хороший», встречается 5 раз, используйте 5 для представления «хорошего» в виде вектора.

Двоичный: каждое слово представлено 1, если оно существует в документе, независимо от того, сколько раз оно встречается. 0, если это не происходит.

TF-IDF (Частота термина — обратная частота документа): это произведение двух терминов, где каждый термин отражает аспект слова. Частота терминов (TF) — как часто термин встречается в документе. Обратная частота документа (IDF) придает больший вес словам, которые встречаются только в нескольких документах. IDF – это доля от общего числа документов, в которых встречается это слово.
tf-idf = (TF) * (IDF)

Частота: как часто конкретное слово встречается как часть всех других слов.

Достаточно теории, давайте взглянем на пример. Следующий пример создан по существующему примеру из книги Обработка речи и языка.

Здесь у нас есть 5 документов (каждый отзыв является документом). Из пяти 3 отрицательных и 2 положительных.

2 возможных исхода — Положительный и Отрицательный.

Используя эти отзывы, нам нужно классифицировать новый отзыв как положительный или отрицательный.

Априорные вероятности P(c):

Рассчитайте априорные вероятности, используя данные обучения.
P(отрицательный) = 3/5
P(положительный) = 2/5

Вероятностные вероятности P(c|d):

Рассчитайте как вероятность положительного отзыва для данного документа, так и вероятность отрицательного отзыва для данного документа. Здесь мы используем векторы, созданные с помощью модели мешка слов.

Мы делаем это следующим образом: берем вектор каждого слова из «нового» документа и вычисляем вероятность его принадлежности к каждому классу.

Примечание. Во избежание деления на нули и с нулевыми вероятностями применяется сглаживание по Лапласу, добавляющее 1 к количеству слов.

Вероятность положительной классификации:

P('Великий'|+) = 1+1 / 12+8
P('Музыка'|+) = 0+1 / 12+8
P('и'|+) = 1 +1 / 12+8
P('разумный'|+) = 1+1 / 12+8
P('действующий'|+) = 1+1 / 12+8
Итак, P(+|Новый документ) = (2/5) * (2*1*2*2*2/20⁵)

Точно так же вероятность отрицательной классификации:

P( — |Новый документ) = (3/5) * (1*1*2*1*1/(15+14)⁵)

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