Прежде чем использовать наивный байесовский классификатор, давайте сначала определим его!

Наивный байесовский классификатор направлен на оценку вероятности каждого класса данного текста.

Просто возьмите простой пример для расчета результатов. В этом случае я буду использовать только признаки прилагательных.

Первый шаг (приоры):

P(положительный) = количество(положительное)/количество(документ) = 3/7
P(отрицательное) = количество(отрицательное)/количество(документ) = 4/7

Второй шаг (вероятность):

Для положительного класса: (в положительном классе 10 признаков adj)
P(восхитительно|положительно) = 2/10
P(плохо| положительно) = 1/10
P(отлично|положительно) = 1/10
P(фантастически|положительно) = 1/10
P(хорошо|положительно) = 1/10
P(отлично|положительно) = 1/10
P(прекрасно|положительно) = 1/10
P(исходно|положительно) = 0/10
P(плохо|положительно) = 0/10
P(известный|положительный) = 1/10
P(лишенный воображения|положительный) = 0/10
P(!!!|положительный) = 1/10

Для отрицательного класса: (в отрицательном классе есть восемь признаков adj)
P(потрясающие|отрицательные) = 0/8
P(плохие| отрицательно) = 3/8
P(отлично|отрицательно) = 0/8
P(фантастически|отрицательно) = 0/8
P(хорошо|отрицательно) = 0/8
P(отлично|отрицательно) = 2/8
P(прекрасно|отрицательно) = 0/8
P(исходно|отрицательно) = 1/8
P(плохо|отрицательно) = 1/8
P(известный|отрицательный) = 0/8
P(лишенный воображения|отрицательный) = 1/8
P(!!!|отрицательный) = 0/8

Заключительный шаг (задний):

Учитывая новое предложение, чтобы классифицировать, является ли оно положительным или отрицательным.

например Это была фантастическая история, добрая, милая.

P(положительно|предложение) = P(положительно) * P(фантастически|положительно) * P(хорошо|положительно) * P(прекрасно|положительно) = 0,00043

P(отрицательное|предложение) = P(отрицательное) * P(фантастическое|отрицательное) * P(хорошее|отрицательное) * P(прекрасное|отрицательное) = 0

Следовательно, тональность этого предложения будет классифицироваться как положительная.

Однако этот подход имеет некоторые недостатки. Давайте посмотрим на другой пример.

например Скучный фильм, нудный сюжет, банальный конец.

P(положительное|предложение) = P(положительное) * P(скучное|положительное) * P(раздражающее|положительное) * P(лишенное воображения|положительное) = 0

P(отрицательное|предложение) = P(отрицательное) * P(скучное|отрицательное) * P(раздражающее|отрицательное) * P(лишенное воображения|отрицательное) = 0

В этом случае мы не можем определить, является ли это предложение положительным или отрицательным.

Сглаживание Лапласа

P(токен|класс) = (количество(токен, класс) + 1) / (количество(класс) + |V|)
где |V| - количество различных атрибутов в обучающем корпусе.

например Скучный фильм, нудный сюжет, банальный конец.

P(положительное|предложение)
= P(положительное) * P(скучное|положительное) * P(раздражающее|положительное) * P(лишнее воображения|положительное)
= 3/7 * ((0+1 )/(10+12)) * ((0+1)/(10+12)) * ((0+1)/(10+12))
=0,000040

P(отрицательное|предложение)
= P(отрицательное) * P(скучное|отрицательное) * P(раздражающее|отрицательное) * P(лишенное воображения|отрицательное)
= 4/7 * ((0+1 )/(8+12)) * ((0+1)/(8+12)) * ((1+1)/(8+12))
=0,000143

Следовательно, настроение будет классифицироваться как отрицательное!

Вывод

Имея обученный классификатор, который классифицирует произвольные сегменты текста, мы можем использовать его для:

  1. Классифицировать целые документы, например. целый обзор.
  2. Классифицируйте предложения в документе, а затем вычислите классификацию документа, объединив настроения отдельных предложений в соответствии с некоторой функцией.
  3. Классифицируйте предложения или фразы, идентифицированные как обсуждение аспекта или особенности целевого объекта, и интерпретируйте настроение как отношение держателя мнения к конкретному обсуждаемому аспекту.