Научная статья на тему 'Алгоритмическое и программное обеспечение для анализа тональности текстовых сообщений с использованием машинного обучения'

Алгоритмическое и программное обеспечение для анализа тональности текстовых сообщений с использованием машинного обучения Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
3579
549
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
АНАЛИЗ ТЕКСТА / АНАЛИЗ ТОНАЛЬНОСТИ / СЕНТИМЕНТ АНАЛИЗ / МАШИННОЕ ОБУЧЕНИЕ / TEXT ANALYSIS / SENTIMENT ANALYSIS / OPINION MINING / MACHINE LEARNING

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Юсупова Нафиса Исламовна, Богданова Диана Радиковна, Бойко Максим Викторович

В статье рассматривается задача классификации тональности текстовых сообщений с использованием методов машинного обучения, в частности наивного байесовского классификатора. Для повышения точности классификации тональности рассматривается применение алгоритмов бустинга и бэггинга.

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Юсупова Нафиса Исламовна, Богданова Диана Радиковна, Бойко Максим Викторович

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Algorithms and software for sentiment analysis of text messages based on machine learning

This paper considers the problem of Sentiment Classification in text messages based on Machine Learning methods, in particularly Naive Bayes classifier. For improving an accuracy of sentiment classification we apply boosting and bagging algorithms.

Текст научной работы на тему «Алгоритмическое и программное обеспечение для анализа тональности текстовых сообщений с использованием машинного обучения»

МАТЕМАТИЧЕСКОЕ МОДЕЛИРОВАНИЕ, ЧИСЛЕННЫЕ МЕТОДЫ И КОМПЛЕКСЫ ПРОГРАММ

УДК 004.912

Н. И. Юсупова, Д. Р. Богданова, М. В. Бойко

АЛГОРИТМИЧЕСКОЕ И ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ДЛЯ АНАЛИЗА ТОНАЛЬНОСТИ ТЕКСТОВЫХ СООБЩЕНИЙ С ИСПОЛЬЗОВАНИЕМ МАШИННОГО ОБУЧЕНИЯ

В статье рассматривается задача классификации тональности текстовых сообщений с использованием методов машинного обучения, в частности наивного байесовского классификатора. Для повышения точности классификации тональности рассматривается применение алгоритмов бустинга и бэггинга. Анализ текста; анализ тональности; сентимент анализ; машинное обучение

ВВЕДЕНИЕ

Современный этап развития человечества характеризуется бурным ростом количества информации. Одной из наиболее распространенных форм хранения информации являются тексты на естественном языке. Текстовая форма информации естественна для человека и легко им воспринимается. Развитие информационных технологий сопровождается интенсивным ростом числа веб-сайтов, которое на сегодняшний день составляет более 285 млн, и, как следствие, ростом объема текстовых данных. Огромное количество информации скапливается в многочисленных текстовых базах, хранящихся в персональных компьютерах, в локальных и глобальных сетях. Рядовому пользователю становится все сложнее работать с гигантскими объемами данных. Чтение объемных текстов, ручной поиск и анализ нужной информации в ги-

Контактная информация: 8-987-255-15-05 Результаты, приведенные в статье, являются частью научных исследований по тематическому плану НИР по заданию Министерства образования и науки РФ «Исследование интеллектуальных технологий поддержки принятия решений и управления для сложных социально-экономических объектов» и научноисследовательской работы по теме «Исследования и разработка интеллектуальных технологий поддержки принятия решений и управления на основе инженерии знаний». Исследования поддержаны грантом РФФИ №09-07-00408-а «Распределенная интеллектуальная система поддержки принятия решений при выполнении проектов фундаментальных исследований сложных систем» и грантом Президента Российской Федерации № НШ-65497.2010.9 «Теоретические и методические основы разработки информационных систем, а также их применения в промышленности и в социально-экономической среде с учетом тенденции развития информационных технологий».

гантских массивах текстовых данных малоэффективны. Для решения данной проблемы и автоматизации процессов получило развитие направление обработки естественного языка (natural language processing), решающее задачи информационного поиска (information retrieval), машинного перевода (machine translation), извлечения информации (information extraction), анализа тональности текста (sentiment analysis) и др.

Статья посвящена вопросам анализа тональности текстовых сообщений (sentiment analysis) с использованием машинного обучения. Анализ тональности в тексте является одним из направлений в анализе естественно-языковых текстов. Тональностью называется эмоциональная оценка, которая выражена в тексте. Она может иметь одномерное эмотивное пространство (два класса) или многомерное (несколько классов). Перспективность анализа тональности текста заключается в том, что на основе текстовой информации он позволяет оценить успешность рекламной кампании, политических и экономических реформ; выявить отношение прессы и СМИ к определенной персоне, к организации, к событию; определить, как относятся потребители к определенной продукции, к услугам, к организации. Так, в работе [1] авторами рассматривается применение анализа тональности к исследованию мнений потребителей.

Несмотря на перспективы данного направления, пока оно не столь активно применяется в системах обработки текстовой информации. Причинами являются трудности выделения эмоциональной лексики в текстах, несовершенство существующих текстовых анализаторов, зависимость от предметной области. Поэтому совершенствование и разработка новых методов

анализа тональности на основе машинного обучения является актуальной задачей.

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

1. ПОДХОДЫ К АНАЛИЗУ ТОНАЛЬНОСТИ ТЕКСТОВЫХ СООБЩЕНИЙ

На сегодняшний день существует три подхода к анализу тональности текстовых сообщений:

1. Анализ тональности текста по заранее составленным тональным словарям с применением лингвистического анализа. Тональные словари состоят из таких элементов как слова, словосочетания, паттерны, каждый из которых имеет свою эмоциональную окраску. Тональность текста определяется по совокупности найденной эмотивной лексики и оценивается в зависимости от количества позитива и негатива.

2. Анализ тональности текста методами машинного обучения. Текст представляется в векторной форме. По имеющейся обучающей выборке производится обучение классификатора. После этого производится классификация тональности текста.

3. Комбинация первого и второго подходов.

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

В работе [2] авторами представлен алгоритм анализа тональности текста, основанный на тональных словарях, состоящий из нескольких этапов: морфологического анализа текста, разметки по словарным спискам тональной лексики, синтаксического анализа и непосредственно определения тональности. Работу алгоритма можно оценить на веб-сайте [3].

В работе [4] авторами разработан следующий алгоритм оценки тональности текста, который включает распознавание объекта тональности, синтаксический анализ текста, выделение и классификация пропозиций, которые выра-

жают тональность, оценка общей тональности на основе тональности всех пропозиций.

За рубежом так же ведется активный поиск и совершенствование анализа тональности текста на основе тональных словарей и лингвистического анализа. Одно из таких исследований представлено в работе [5]. В ней описан анализатор, который состоит из: 1) извлечения специальной терминологии из текста; 2) определения тональности; 3) ассоциативного анализа отношений. Анализатор использует два лингвистических аппарата: тональный словарь и базу тональных шаблонов.

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

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

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

Большой вклад в развитие анализа тональности текстовых сообщений внесли исследователи из Корнельского университета Б. Пэнг и Л. Ли. В 2008 году они выпустили книгу «Opinion Mining and Sentiment Analysis» [6], посвященную современным методам и подходам к анализу тональности в текстовых сообщениях. В их работе [7] рассматривается классификация тональности с использованием машинного обучения и показывается, что такой подход превосходит простые техники, основанные на составлении словарей часто употребляемых позитивных и негативных слов. В дальнейшей работе [8] авторы описывают алгоритм, который позволяет классифицировать тональность, используя только субъективные предложения. Объективные предложения, как правило, не имеют тональной окраски, но создают шум в данных.

В работе [9] авторами рассматривается проблема того, что при классификации тональности из обучающих данных извлекается очень большое число термов. Авторы описывают способы для отбора наиболее информативных термов и оценки их тональности.

Для устранения недостатков рассмотренных выше подходов применяется их комбинирование. Так, в работе [10] метод основан на извлекаемых лексических правилах, при этом обучение с участием человека и машинное обучение комбинируются в один алгоритм классификации тональности.

В другой работе [11] исследователи из корпорации Майкрософт предлагают пути сокращения времени на составление тональных словарей. Результат достигается за счет совместного использования автоматического извлечения информативных шаблонов и машинного обучения.

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

2. ПРЕДЛАГАЕМЫЙ МЕТОД

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

Математически задача классификации тональности может быть представлена следующим образом. Имеется два класса - класс положительных сообщений с1 и класс негативных сообщений с2:

С = {С1, с2}, (1)

имеется множество сообщений:

В = Ц, й 2,..., йп}, (2)

и неизвестная целевая функция:

¥: СхВ ® {0,1}, (3)

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

Признаковое пространство в задаче распознавания тональности может быть представлено с помощью векторной модели. Каждое текстовое сообщение рассматривается в виде набора слов (bag of words). Это представление текстового сообщения в качестве точки в многомерном пространстве. Близко лежащие друг к другу точки соответствуют семантически схожим сообщениям. В данной модели игнорируется последовательность слов. Так, например, «хорошая книга» и «книга хорошая» одно и тоже. Таким образом, сообщение представляет собой «мешок» со словами.

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

Пусть каждое сообщение d принимает значения из словаря V и описывается некоторым набором слов {wb w2,..., wn}. Имеется множество классов C = {сь c2}, состоящее из класса позитивных сообщений и класса негативных сообщений. Необходимо найти наиболее вероятное значение соответствующего класса данного набора слов:

CNB = argmax Cj.cP(d = Cj I Wt^.^ Wn ). (5)

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

p(d = cj 1 w2,..., wn ) =

= p(Wi, W2,...,Wn I d = Cj)• p(d = Cj) (6)

p(w1, w2,..., wn)

Тогда выражение (5) примет вид:

CNB = arg max c

K с C x Dl.

(4)

р(^W2,..., | й = С]) • р(й = С])

р(^ W2,..., Wn )

(7)

Из выражения (7) нам интересен только числитель дроби, так как ее знаменатель не зависит от класса. Таким образом, знаменатель является константой и может быть сокращен. Предположив условную независимость признаков, получим выражение, по которому производится классификация:

Ст = а^тах^р^, W2, ..., wn | й=с)• р(й=с).

(8)

Наивный байесовский классификатор работает при следующих допущениях:

• слова и словосочетания в сообщении независимы между собой;

• не учитывается последовательность слов;

• не учитывается длина сообщения.

Существуют два способа реализации наивного байесовского классификатора - многомерный или другое название - модель Бернулли (,multivariate, Bernoulli model) и мультиномиальный {multinomial). Различие заключается в том, что в модели Бернулли в качестве признака рассматривается присутствие слова в тексте. В мультиномиальной модели рассматривается число появлений какого-либо слова в тексте. В табл. 1 представлен пример векторной записи текста.

Т аблица 1

Векторная запись

Модель Бернулли [0, 0, 1, 1,0, 1, 1, 1,0, 0, 0]

Мультиномиальная модель [0, 0, 2, 1,0,3, 1,2, 0, 0, 0]

Модель Бернулли

Рассмотрим алгоритм классификации тональности в модели Бернулли [12]. В модели Бернулли сообщение описывается вектором, состоящим из атрибутов, принимающих значения 0 либо 1. Таким образом, рассматривается только присутствие или отсутствие слова в сообщении, а сколько раз оно повторяется в сообщении неважно.

Пусть дан словарь V = {wj^. Тогда сообщение dt описывается вектором длины Щ. состоящим из битов bit. Если слово wt встречается в сообщении dh то bit = 1, если отсутствует, то bit= 0. Тогда правдоподобие принадлежности сообщения dj к классу с;- можно посчитать по формуле:

+ {\-bit)-{\-p{w, \с ))).

(9)

Для обучения классификатора нужно найти вероятности р(\\-! | с;). Пусть имеется обучающий набор сообщений И = , которые уже рас-

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

p(w, \с ) =

1+Z',!K -p(cj\di) 2+Z l^p(cj\di)

(10)

Априорные вероятности классов можно подсчитать по формуле:

\D I

YsPfcjld,)

p(cj) = J~,d\-----------•

(11)

Тогда классификация будет осуществляться по формуле:

смв = агётах( ,. р(С])-р(4, I с.) =

\в\ и

= аrgmа?^CJeC[log(YJP(cj\di)) + YJ log|/^( х (12)

/=1 1=1

У.р{ч>,\с^ + {1-Ъ1,)0--р{™,\с^)\\.

Из формулы (10) следует, что некоторые вероятности будут иметь нулевые значения, так как какие-то слова могут присутствовать в одном классе обучающих данных и отсутствовать в другом. Сложности с нулевыми вероятностями возникают, когда они перемножаются в формуле (12). При этом все выражение обнуляется, и происходит потеря информации. Чтобы избежать получения нулевых вероятностей, применяется add-one или Лапласовское сглаживание, которое заключается в добавлении единицы к числителю:

p(w, \с ) =

l+Y!Hbi,-p(cj ю

2+z!!l p(cj\di)

(13)

Алгоритм классификации тональности в текстовом сообщении с использованием модели Бернулли представлен на рис. 1-2. Он состоит из обучающей части и классифицирующей части. В обучающей части входными параметрами являются множество обучающих сообщений и множество классов. Здесь создается словарь термов V, находятся вероятности /;(с;) и вероятности р(\\-, | с;), настраивается пороговое значение к для минимизации ошибки классификации. Выходными данными является полностью обученный классификатор с настроенными параметрами. Классифицирующая часть применяется для сообщений, тональность которых нужно определить.

Мультиномиальная модель

В мультиномиальной модели [12] сообщение представляет собой последовательность случайного выбора одного слова из словаря. В данной модели учитывается количество повторений каждого слова в одном сообщении, но не учитываются слова, которых нет в сообщении.

Пусть дан словарь V = . Тогда со-

общение dj описывается вектором длины Щ. состоящим из слов, каждое из которых вынуто из словаря с вероятностью p(wt | с;). Тогда правдоподобие принадлежности сообщения б/, к классу сг считается по формуле:

Ж, I cj) = P<\d,|)' К 1! ПТТЖ I Cj)к", (14)

»=1 //

где Ки - количество вхождений слова wt в сообщение б/(.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Вход: множество сообщений D = {й1; d2, ■■■ < множество классов С = {с1; с2}

1. Извлечь все слова из D в словарь У

2. Для каждого с,- £ С делать

3. Подсчитать число сообщений Л/с в классе

4. Вычислить вероятность р(с,-) = № /Л/

5. Для каждого и/£ £ У делать_______________

6. Подсчитать число сообщений , содержащих слово и/£

7. Вычислить вероятность р(^|с,-) = Л^ + 1)/(ЛГ + 2)

8. Найти пороговое значение к, минимизирующее ошибку классификации

Выход: V, p(cj), p(wt Cj), h

_

Рис. 1. Алгоритм обучения классификатора

Вход: сообщений d, V, p(cj), p(wt с;), h

1. Извлечь все термы из с1 в словарь Уа

2. Для каждого с,- £ С делать___________

3. sc0re[cj] = lnp (Cj)

4. Для каждого w£ £ У делать

5. Если w£ £ тогда score[cj] += lnp (wt|c,-)

6. Иначе score [с,] += ln(l — р (wt|c,-)

7. Если score[c-J > h • score[c2], тогда d £ cx, иначе d £ c2

Выход: тональность сообщения d______________________

Рис. 2. Алгоритм работы классификатора

Для обучения классификатора нужно тоже найти вероятности p(wt | с;). Пусть имеется обучающий набор сообщений D = {d}^, которые уже распределены по классам q. и мы знаем число вхождений слов в сообщения Ки. Тогда можно подсчитать оценки вероятностей того, что то или иное слово встречается в том или ином классе. В данном случае также применяется сглаживании add-one:

,(.,!, )■ . (15) ' M+E'ISX ■/**,№

Априорные вероятности классов можно подсчитать по формуле:

Ж) =

(16)

Тогда классификация будет осуществляться по формуле:

cNB = argmax р(с,)■ p(d\ с ) =

J * v J '

1-ої

= arg max . [log( ^ P(Cj I dt)) +

/=1

+ -^gp(wt \Cj)].

(17)

Разработанный алгоритм классификации тональности в текстовом сообщении с помощью Multinomial Naive Bayes model представлен на рис. 3-4.

Вход: множество сообщений D = {d±, d2,..., dn}, _______множество классов С — (с-|,с7)____________

1. Извлечь все слова из D в словарь V

2. Для каждого с,- £ С делать____________________

3. Подсчитать число сообщений № в классе

4. Вычислить вероятность р(с7) = № /Л/

5. Для каждого и/£ £ У делать_______________

6. Подсчитать число употреблений М£ слова и/£

7. Вычислить вероятность =

= (лс( + +1)

8. Найти пороговое значение к, минимизирующее ошибку классификации

^ыход^^р(с^р(и^

Рис. 3. Алгоритм обучения классификатора

Вход: сообщений d, V, p(cj), p(wt Cj),

1. Извлечь все термы из й в словарь Уа

2. Для каждого с,- £ С делать___________

3. SCOre[Cj] = lnp (Cj)

4. Для каждого w£ £ V делать

5. Если и/£ £ Уа, тогда 5с0ге[с7] += 1пр (и^Су)

6. Если 5соге[сх] > ^ • 5соге[с2], тогда d £ с1; иначе d £ с2

Выход: тональность сообщения d__________________

Рис. 4. Алгоритм работы классификатора

Он состоит из обучающей части и непосредственно классификации сообщения. В обучающей части создается словарь термов V, находятся вероятности />(с;) и вероятности р(м!( | с;), настраивается пороговое значение И для минимизации ошибки классификации. В классификационной части производится распознавание тональности сообщений.

Алгоритм бустинга

С целью повышения точности классификации тональности были рассмотрены алгоритмы построения ансамблей классификаторов - бус-тинг и бэггинг.

Бустинг является мета-алгоритмом машинного обучения ансамблей классификаторов, позволяющий повысить точность классификации, предложенный И. Фройндом и Р. Шапиро [15]. Бустинг является адаптивным алгоритмом в том смысле, что каждый следующий классификатор строится по объектам, неверно классифицированным предыдущими классификаторами. Алгоритм бустинга применяется для линейных классификаторов.

Алгоритм одной из модификаций бустинга -Ас1аВооз1 - представлен на рис. 5. Алгоритм начинается с инициализации начальных весов и',(/). Далее строится классификатор И, с минимальной взвешенной ошибкой в,. Затем находятся значения а, и обновляются веса УУ, ,(/). Начинается следующая итерация. И так до тех пор, пока все Т классификаторов не будут обучены.

Анализ алгоритма бустинга показал, что он хорошо работает с классами, которые имеют сложную нелинейную границу. На рис. 6 представлено визуальное распределение позитивных и негативных сообщений в зависимости от вероятности их принадлежности к тому или иному классу. По оси X откладывается вероятность принадлежности сообщения к положительному классу. По оси Г - вероятность принадлежности сообщения к негативному классу. Из рисунка видно, что, в случае классификации тональности с помощью наивного байесовского классификатора, классы имеют строгую линейную разделимость. Построение дополнительных классификаторов не снижает ошибку классификации. Поэтому из-за неприменимости метаалгоритма бустинга в дальнейшем использовался мета-алгоритм бэггинга.

Вход: (d2,y2),..., (dm, ym), где dt E D -

множество размеченных сообщений; yt £ Y = {+1, —1}, yi = +1, если позитивная и уi = — 1, если негативная тональность текста;

Т- число классификаторов в ансамбле________________

1. Инициализировать веса 14^(0 = —, £ = 771

2. Для t = 1 доТ делать

3. Построить классификатор ht\ D -» {+1,-1} с минимальной взвешенной ошибкой

ht = argminh .£H£j,

£j = • Ы * hjidi)]

4. Если £t > 0,5, то СТОП

5. Найти at где Et - взвешенная

2 Et

ошибка классификатора ht

Wf(i~)e~atytht(dt)

6. Обновить веса Wt+1(i) =---------------------,

zt

где Zt - нормализующий параметр________________

Выход: H(d) = sign('Zt=iatht(d)) ансамбль

Рис. 5. Алгоритм AdaBoost

Рис. 6. Распределение классов положительных и негативных сообщений

Алгоритм бэггинга

Другой алгоритм повышения качества классификации называется бэГГ™игпл,г ТЗттяпвые был предложен Л. Брейманом Негативные работе [16]. Алгоритм бэггинга пр сообщения рИС 7 Из исходного обучающего множества сообщений О длины |/.) формируются различные обучающие подмножества сообщений /), той же длины |£)| с помощью бутстрепа - случайного выбора с возвращениями. При этом некоторые сообщения попадают в подмножества по нескольку раз, некоторые - ни разу. Далее строятся контрольные множества сообщений вычитанием из множества В подмножества / ),.

Негативные

сообщения

Положительные

сообщения

Вход: Ы1,у1),(й2,у2),-,((1т,у1П), где £ £> множество размеченных сообщений;

У1 £ У = {+1, —1}, уь = +1, если позитивная и у; = — 1, если негативная тональность текста; Т -число классификаторов в ансамбле;

\0\ - длина обучающей выборки; е - допустимая ошибка классификации____________

1. Для t = 1 доТ делать

2. Случайно выбрать |£)| сообщений из И для построения обучающего множества В£

3. Построить контрольное множество сообщений из множества сообщений

4. Построить классификатор Л£: О -» {+1, —1}

5. Оценить ошибку е£ классификатора Л£ на контрольном множестве

6. Если е > е£ тогда добавить классификатор

^£ в ансамбль_________________________________

Выход: H(d) = sign(X£=i ht(d)) ансамбль классификаторов____________________________

Рис. 7. Алгоритм бэггинга

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

По обучающим подмножествам строятся классификаторы ht. Их ошибка классификации et оценивается по контрольной подвыборке и затем сравнивается с допустимой ошибкой классификации е. Если ошибка построенного классификатора меньше допустимой ошибки, то он добавляется в ансамбль. Классификация сообщений производится ансамблем построенных и допущенных классификаторов с помощью простого голосования.

4. РЕЗУЛЬТАТЫ ЭКСПЕРИМЕНТА

На базе рассмотренных алгоритмов авторами была разработана программа «Text Analyzer» на языке программирования С#. Для обучения и оценки точности классификации использовался тестовый набор, состоящий из отзывов клиентов российских банков взятых с интернет-сайта [13]. Он включает 304 положительных отзыва и 850 негативных отзывов на русском языке. Примером отзыва о банке с положительной тональностью является отрывок: «Заявку на кредит оформил быстро, без лишних вопросов, в течение 20 минут». Пример отзыва с негативной тональностью: «Рассмотрение заявки заняло по времени два месяца». Пример работы программы представлен на рис. 8.

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

единственное число. Мотивация к лемматиза-ции текста обусловлена тем фактом, что различные строки могут зачастую выражать один и тот же смысл. В связи с этим оправдано приведение слов к единой форме. Были использованы библиотеки ЬсттаСеп, написанные на языке С# и предназначенные для лемматизации слов. Данные библиотеки доступны на интернет-странице разработчика [14].

Text Analysis

#0|

Classify

Load new comments

Use dicfionafy (only)

Use Bernoulli model Naive Bayes

Use Multinomial Naive Bayes

Use Bernoulli Naive Bayes with Subjective Filter

Classifier learning

Load learning list Load subjective data

Classify comments

Рис. 8. Интерфейс программы

Для оценки обобщающей способности алгоритма использовался скользящий контроль или кросс-проверка. Фиксировалось множество, состоящее из 10 разбиений исходной выборки, каждое из которых в свою очередь состояло из двух подвыборок: обучающей и контрольной. Для каждого разбиения выполнялась настройка алгоритма по обучающей подвыборке, затем оценивалась его средняя ошибка на объектах контрольной подвыборки. Оценкой скользящего контроля являлась средняя по всем разбиениям величина ошибки на контрольных подвыборках. Для алгоритма бэггинга принята допустимая ошибка классификатора равная е = 25 %.

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

TP + TN

Accuracy =---------------------100%, (18)

TP + TN + FP + FN

где ТР - число верно классифицированных положительных отзывов; TN - число верно классифицированных негативных отзывов; FP -число неверно классифицированных положительных отзывов; FN - число неверно классифицированных негативных отзывов.

Результаты вычислительных экспериментов приведены в табл. 2. Наивные байесовские классификаторы, реализованные по мультиномиальной модели и модели Бернулли, показали

приблизительно одинаковую точность классификации, 86,49 и 86,82 % соответственно. Применение алгоритма бэггинга дало прирост точности на 0,33 % для модели Бернулли и 0,86 % для мультиномиальной модели. На рис. 9 изображен график зависимости точности классификации от числа классификаторов в ансамбле. На графике видно, что максимальная точность классификации достигается при числе классификаторов от 8 до 18. Дальнейшее увеличение этого числа ведет к снижению точности классификации.

ЗАКЛЮЧЕНИЕ

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

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

Таблица 2

Алгоритм Точность, %

Модель Бернулли 86,49

Мультиномиальная модель 86,83

Бэггинг (модель Бернулли) 86,82

Бэггинг 87,69

(мультиномиальная модель)

Несмотря на сложность задачи, она привлекает большое количество исследователей по всему миру. Поиски в данной области активно ведутся, и есть некоторые достижения. Многие разработанные алгоритмы достигают точности классификации более 85 %. Но нужно учиты-

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

- Бэггинг (мультиномиальная модель)

- Мультиномиальная модель

Рис. 9. График зависимости

Дальнейшее исследование будет продолжено в рамках научных работ, проводимых по теме «Разработка инструментальных средств поддержки принятия решений для различных видов управленческой деятельности в промышленности в условиях слабоструктурированной информации на основе технологий распределенного искусственного интеллекта» по заданию Министерства образования РФ на проведение научных исследований, поддержано грантами РФФИ 12-07-00377-а, 11-07-00687-а, 12-07-

00377-а «Алгоритмическое и программное обеспечение поддержки принятия решений в задачах управления сложными социальноэкономическими системами при наличии слабо структурированных данных», 11-07-00687-а

«Интеграция интеллектуальных информационных технологий на примере мониторинга банкротств» и будет посвящено выявлению лингвистических особенностей русского языка с целью их использования для увеличения точности классификации. Отдельный интерес представляет комбинирование подходов, основанных на лингвистике и на машинном обучении.

СПИСОК ЛИТЕРАТУРЫ

1. Marketing research of cosumer opinions with using information technologies / M. Boyko [et al.] // Proc. of the 13th Intern. Workshop on Computer Science and Information Technologies, Germany. 2011. P. 103— 105.

2. Пазельская А. Г., Соловьев А. Н. Метод определения эмоций в текстах на русском языке //

Компьютерная лингвистика и интеллектуальные технологии: c6. научных статей. Вып. 10 (17). М.: Изд-во РГГУ, 2011. С. 510-522.

3. Официальный сайт компании «Эр Си О». Компонент определения тональности текста [Электронный ресурс] (http://x-file.su/tm/Default.aspx)

4. Ермаков А. Е., Киселев С. Л. Лингвистическая модель для компьютерного анализа тональности публикаций СМИ. Компьютерная лингвистика и интеллектуальные технологии: междунар. конф. Диа-лог’2005. М.: Наука, 2005.

5. Yi J. Nasukawa T., Niblack W., Bunescu R. Sentiment analyzer: Extracting sentiments about a given topic using natural language processing techniques // Proc. of the 3rd IEEE international conference on data mining (ICDM 2003) Florida. USA. P. 427-434.

6. Pang B., Lee L. Opinion Mining and Sentiment Analysis. Foundations and Trends in Information Retrieval. 2. No. 1-2 (2008). P. 1-135.

7. Pang B., Lee L. Thumbs up? Sentiment Classification using Machine Learning Techniques. Proceedings of the Conference on Empirical Methods in Natural. Language Processing (EMNLP). Philadelphia. 2002. P. 79-86.

8. Pang B., Lee L. A Sentimental Education: Sentiment Analysis Using Subjectivity Summarization Based on Minimum Cuts // Proc. of the ACL. 2004.

9. O’Keefe T., Koprinska I. Feature selection and weighting methods in sentiment analysis // Australasian Document Computing Symposium. 2009.

10. Prabowo R., Thelwall M. Sentiment analysis: A combined approach // Journal of Informatics. 2009.

11. Konig A., Brill E. Reducing the Human Overhead in Text Categorization // Proc. of KDD. 2006.

12. Manning C., Raghavan P., Schuetze H. An

Introduction to Information Retrieval. Cambridge University Press. Cammbridge, England (2009).

13. Интернет-портал, посвященный российским банкам [Электронный ресурс] (http://banki.ru).

14. Портал, посвященный лемматизации [Электронный ресурс] (http://lemmatise.ijs.si/Software/Ver-sion3).

15. Freund Y., Schapire R. Experiments with New Boosting Algorithm // Machine Learning: Proc. of the 13th Intern. Conference. 1996. P. 148-156.

16. Breinman L. Bagging Predictors // Machine Learning. 24. 1996. P. 123-140.

ОБ АВТОРАХ

Юсупова Нафиса Исламовна, проф., зав. каф. вы-числительн. математики и кибернетики, декан факультета информатики и робототехники. Дипл. радиофизик (Воронежск. гос. ун-т, 1975). Д-р техн. наук по управлению в техн. системах (УГАТУ, 1998). Иссл. в обл. критическ. ситуационного управления, информатики.

Богданова Диана Радиковна, доц. той же каф. Канд. тех. наук (УГАТУ, 2008). Дипл. экономист-математик (УГАТУ, 2005). Иссл. в обл. управления в социальных и экономических системах.

Бойко Максим Викторович, асп. той же каф. Дипл. экономист-математик (УГАТУ, 2011). Иссл. в обл. управления в социальных и экономических системах.

i Надоели баннеры? Вы всегда можете отключить рекламу.