Обзор решений SDN/NFV зарубежных производителей

ТЕХНОЛОГИЯ ОПРЕДЕЛЕНИЯ ЭМОЦИОНАЛЬНОЙ ТОНАЛЬНОСТИ ТЕКСТОВ, НАПИСАННЫХ НА РУССКОМ ЯЗЫКЕ

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

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

1. Разрабатывается алгоритм перевода текстовых сообщений в векторный вид.

2. Реализуется классификатор векторов, на основе которого будет проводиться оценка тональности текстовых сообщений.

Для цитирования:

Сороковой Н.К., Моторков А.А., Белоусов Р.Л. Обзор решений SDN/NFV зарубежных производителей // T-Comm: Телекоммуникации и транспорт. - 2015. - Том 9. - №9. - С. 61-67.

For citation:

Sorokovoy N.K., Motorkov A.A., Belousov R.L. Technology certain emotional tonality of a text written in russian language. T-Comm. 2015. Vol 9. No.9, рр. 61-67. (in Russian).

Сороковой Никита Константинович,

оператор лаборатории, ФГБОУ ВПО "Академия гражданской защиты МЧС России", Московская обл, г. Химки, Россия, nixl@yandex.ru

Моторков Антон Александрович,

оператор лаборатории, ФГБОУ ВПО "Академия гражданской защиты МЧС России", Московская обл, г. Химки, Россия, a.motorkov@gmail.com

Белоусов Роман Леонидович,

онаучный сотрудник, к.т.н., ФГБОУ ВПО "Академия гражданской защиты МЧС России", Московская обл, г. Химки, Россия, romabel-87@mail.ru

Ключевые слова: машинное обучение, анализ эмоциональная тональность, векторная модель представления текстов, ТГ.ЮГ, БУМ-классификатора.

Основные понятия

Тональность текста - это эмоциональное отношение, выраженное в тексте. Анализ тональности (sentiment analysis) подразумевает наличие определенной шкалы в диапазоне от отрицательной тональности до положительной. Количество значений на этой шкале может быть равно двум (положительная / отрицательная), трем {добавляется нейтральная тональность) или более (выделяются различные степени положительной и отрицательной тональностей). Задача анализа тональности текста в простейшем случае заключается в автоматическом определении для данного текста значения на шкале тональности. Также множество значений на этой шкале часто называют классами тональности. В проведенном исследовании используется бинарная шкала измерения, то есть реализуется деление на два класса тональности (положительный и отрицательный) и шкала измерений с пятью классами (-2, -1,0, !, 2).

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

Me mod опорных векторов (SV7VI, support vector machine) -набор схожих алгоритмов обучения с учителем, использующихся для задач классификации и регрессионного анализа. Принадлежит к семейству линейных классификаторов. Особым свойством метода опорных векторов является непрерывное уменьшение эмпирической ошибки классификации и увеличение зазора, поэтому метод также известен как метод классификатора с максимальным зазором.

Решение задачи № I

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

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

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

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

Чем обусловлен выбор Л/-грамм? Как уже было сказано ранее, описываемый метод превращает упорядоченный текст в мешок с перемешенным содержимым, то есть теряется отношение порядка слов в тексте. Для решения этой проблемы и используются словосочетания различной длины. В последующих сессиях некоторые из №-грамм могут быть вручную объединены (пример: может быть = быть может, углекислый газ - угарный газ) или удалены вовсе, если по отношению к обрабатывающему их методу в результате работы предыдущей сессии они были признаны несущественными.

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

Решение задачи №2

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

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

Техническая реализация

Реализация этого метода происходит в три фазы: фаза обучения, фаза распознавания и фаза тестирования.

Фаза обучения

1. Предобработка текстов обучающей выборки

2. Создание словаря признаков

3. Расчет глобальных весов каждого признака

4. Формирование векторного пространства

5. Обучение 5УЛ1 - классификатора

Фаза распознавания

1. Предобработка нового текста

2. Формирование вектора

3. Оценка эмоциональной тональности

Фаза тестирования

1. Определение процента точности текущей сессии

2. Корректировочные изменения и подпор параметров

3. Пополнение обучающей выборки и подготовка к последующей сессии

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

Т-Сотт Уо!.9. #9-2015

1. Создание словаря признаков

Программа последовательно считывает из получившихся массивов текстов обучающей выборки переменные типа string (обработанные слова и словосочетания) и по-средствам встроенных в систему управления базами данных PostgreSQL поисковых алгоритмов взаимодействует с заранее созданной базой данных, которая называется словарем. Она действует согласно следующему алгоритму: если признак не встречался в массивах, обработанных ранее, программа заносит его в словарь, если встречался, то меняет статистическую информацию об этом признаке. Статистической информацией признака является множество следующих величин: количество упоминаний признака в текстах отдельно положительной, отдельно отрицательной тональности, количество текстов того и другого класса, в которых участвует данный признак. На основе этих данных в дальнейшем получаются другие величины: различные суммы, отношения и иные функции, использующие их. Анализ этих величин позволяет сделать многие выводы, в частности те, что используются на этапе тестирования для удаления несущественных слов.

3. Расчет глобальных весов каждого признака

На этапе взвешивания для каждого признака из словаря вычисляется и сохраняется глобальный вес, определяющий значимость признака для решения задачи анализа тональности. 8 результате исследований [3] установлено, что для данной задачи наиболее эффективен способ вычисления весов IDF (inverse document frequency) — инверсия частоты, с которой некоторое слово встречается в документах коллекции. Учёт /DF уменьшает вес широкоупотребительных слов. Для каждого уникального слова в пределах конкретной коллекции документов существует только одно значение VDF:

IDF

Mp'/I

где \D\ - количество документов в обучающей выборке;

tf)| - количество документов, в которых встречается данный признак tt.

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

4. Формирование векторного пространства

На этом этапе формируется векторная модель текстов [4]. В векторной модели все тексты обучающей выборки представляются в виде векторов, количество компонентов L которых совпадает с количеством признаков в словаре. Каждый компонент является весом соответствующего признака в конкретном тексте. Для вычисления весов используется подход TF.IDF [4]:

= U

Gj Dt

где - вес^го признака в £-м тексте; ¿г. - локальный вес ;-го признака в 1-м тексте, отражающий значимость признака для данного текста; С} - глобальный вес ;-го признака, отражающий значимость признака для всей коллекции;

£>с - нормализация для Г-го текста (в этом методе используется косинусная нормализация).

Для вычисления локального веса в соответствии с результатами [3] применяются бинарный способ

\ - й признак встретился в 1 -м тексте, признак не встретился вЬм тексте,

или способ TF

!L> I U IUI 1П J 1 I

{1,есди j-Й г О,если j-й I

h =

—,если J - и признак встретился в с - м тексте п раз, к

к - общее количество признаков этого текста,

О,если j - й лрШнакне встретился в t - м тексте.

Строят эти векторы следующим образом: вектору длины К будет соответствовать массив переменных типа double длины К. Каждая ячейка этого массива будет соответствовать признаку в словаре в соответствии с ее порядковым номером, то есть первому признаку соответствует первая ячейка, десятому - десятая и так далее. Программа работает следующим образом: рассматривая текст, она обращается к массиву этого текста, полученному на первом этапе. Обрабатывая его, она последовательно считывает признаки (переменные типа siring), находит их в словаре, определяет номера (id) этих признаков, после ставит единицы или прибавляет единицы (в зависимости от выбора способа определения локального веса) к соответствующим значениям в итоговом массиве длины К в ячейках с этими номерами. Обработав весь массив признаков, программа заполняет оставшиеся пустыми ячейки массива переменных типа doub/e нулями. Далее, умножает получившиеся числа на соответствующие этим признакам глобальные веса. В конце проводит нормализацию, в описываемом методе - косинусную, то есть делит каждое число в массиве на корень из суммы квадратов всех чисел массива. В итоге получается массив длины К, частично заполненный нулями и числами меньше единицы, то есть получается числовой вектор.

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

5. Обучение SV7VI-классификатора

Этап обучения SVM-классификатора - стандартная процедура построения в К-мерном пространстве признаков гиперплоскости, разделяющей векторы нескольких классов [5], Делается это с помощью выделения, так называемых, опорных векторов, находящихся ближе всего к разделяющей гиперплоскости.

Программа использует классификатор, реализованный в библиотеке LIBSVM [6]. Для этого она получает на вход множество числовых массивов текстов обучающей выборки. полученных на предыдущем этапе, и массив чисел, соответствующих тональностям этих сообщений. Оператор программы устанавливает необходимые для работы классификатора параметры, такие как вид ядер (линейные, полиномиальные, экспоненциальные и другие), различные числовые параметры [7]. Основываясь на полученных

T-Comm Том 9. #9-2015

данных, программа строит разделительную гиперплоскость, чем и заканчивает свое обучение.

Фаза распознавания:

1. Предобработка нового текста

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

2. Формирование векторов

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

3. Определение эмоциональной тональности

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

Фаза тестирования

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

1. Определение процента точности текущей сессии

Для проверки эффективности работы метода создается

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

2. Корректировочные изменения и подбор параметров

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

3. Пополнение обучающей выборки и подготовка к последующей сессии

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

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

Результаты экспериментальной части

Для написания программы определения эмоциональной тональности использовались следующие инструменты:

1. Библиотека LIBSV7V1 языка программирования С++, реализующая обучение SVM-классификатора [6].

2. Морфологический анализатор mystem от компании Яндекс [8].

3. Система управления базами данных PostgreSQL [9].

В качестве обучающей выборки были выбраны 3000

текстов, а в качестве тестовой выборки были использованы 20000 текстов. Эти тексты связаны с тематикой МЧС и были собраны из 300 наиболее популярных СМИ. Была использована классификация типа I {также известна как С-SVM классификация), В качестве ядра модели используется RBF (радиальные базисные функции).

Для оценки эффективности методов определения эмоциональной тональности для разделения на 2 класса используются метрики точности {precision, р+, р~, р), полноты (recall, R+, R~, д), правильности (accuracy, л) и FJ-меры (Fl-measure, Fl+, Flai'eraae, FT) [10],

TP TN _ Р++Я" P+ ——J P~ = — , —; P=—--

R =

TP + FP TP

TN + FN TN

R+ + R~

ТР + РЛ ТЫ+РР 2

где ТР - количество положительных текстов, тональность которых определена верно; ^Р - количество положительных текстов, тональность которых определена ошибочно; Т1\! - количество отрицательных текстов, тональность которых определена верно; FN - количество отрицательных

текстов, тональность которых определена ошибочно.

_ Г1* + И"

, --------- ~

Р++Д+

2 « Р * й 2 * Р" »Я" 2*Р«Д _

F1 = —--; F Г =-; F l™"*'= ———• И>

р-+в~ Р+Я

А =

TP + TN

ТР +FN + FP +TN Для оценки эффективности методов определения эмоциональной тональности для разделения на 5 классов используются следующие метрики; - количество положительных текстов, определённых как отрицательные; А^. - количество отрицательных текстов, определённых как положительные; - количество текстов правильно определённых как положительные; Лд - количество текстов правильно определённых как отрицательные; дТ - количество текстов правильно определённых как

положительные с ошибкой в I класс; а\ - количество текстов правильно определённых как отрицательные с ошибкой в I класс; а\ ~ количество текстов правильно определённых как положительные с ошибкой в 2 класса. Точность:

А* +Ло

А = -—, , — * 100 % |£>)

где |о] - общее количество текстов;

Бинарный способ вычисления локального веса

2 класса тональности: точность: 50,66%

р+ 1

р- 0.00671 141

р 0.503356

R* 0.505017

R- 1

R 0.752508

F1+ 0.671 1 1 1

Fl" 0,0133333

^^ average 0.603217

Fl 0,342222

А 0.506667

5 классов тональности: точность: 3 1,5%

А" 0

А» 296

187

Ъ 2

At 1 15

Al 0

At 0

Способ ТР вычисления локального веса

2-ух классовая классификация: 5-ти классовая классификация: Точность: 82,83% Точность: 70%

Р + 0.880795

Р~ 0.775168

Р 0.827981

fi+ 0.798799

Д~ 0.865169

R 0.831984

Fl* 0.837795

Fl" 0.817699

p -^average 0.829978

FT 0.827747

A 0.828333

Ap 52

AP 50

A+ 210

AZ 210

40

Ai 38

At 0

Заключение

Из результатов приведённых выше видно, что использование способа вычисления локального веса ТР для вычисления эмоциональной тональности приводит к большей точности.

На данном этапе исследования получившийся результат (82% точности) при условии, что метрика Р/ практически совпадает с метрикой А, является удовлетворительным.

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

Литература

1. Сборник научных материалов Межрегионального научно-практического семинара (5 декабря 2014) под общ. ред. И.А. Максимова. - Екатеринбург: Уральский институт ГПС МЧС России, 2014.-С. 18-25.

2. Vapnik V. Statistical learning theory. NY: Wiley, 1998.

3. Котельников E.B., Клековкина M.ñ. Автоматический анализ тональности текстов на основе методов машинного обучения // Компьютерная лингвистика и интеллектуальные технологии: по материалам ежегодной Международной конференции «Диалог». 2012. № II (18). С. 753-762,

4. Saltón G., Buckley С. Term-weighting approaches in automatic text retrieval // Information Processing & Management, 1988, Vol. 24, no. 5. pp. 513-523.

5. Sebast/om F. Machine learning in automated text categorization // ACM Computing Surveys, 2002, Vol. 34, no. I, pp. I -47.

6. LIBSVM - A Library for Support Vector Machines, available at: www.csie.ntu.edu.tw/~cjlin/libsvm {дата обращения: 15.12.2014).

7. http://www.machinelearning.ru/wiki/index.phpititle-SVM (дата обращения: 15.12.2014).

8. Морфологический анализатор Mystem от компании Yandex. URL: http://company.yandex.ru/technologies/mystem (дата обращения: 15.12.2014).

9. http://www.postgresql.org/about/ (дата обращения: 15.12.2014).

10. Chetviorkin, I.I, Sentiment Analysis Track at ROMIP 2011 / I.I, Chetviorkin, P.I. Braslavskiy, N.V. Loukachevitch // Компьютерная лингвистика и интеллектуальные технологии. По материалам ежегодной Международной конференции «Диалог», Бекасово, 30 мая - 3 июня 2012 г.В 2 т. Т. 2. Доклады специальных секций / Рос. гос. гуманитар, ун-т. - М.,2012. - Вып. I 1(18). - С. 1-14.

T-Comm Том 9. #9-2015

TECHNOLOGY CERTAIN EMOTIONAL TONALITY OF A TEXT WRITTEN IN RUSSIAN LANGUAGE

Nikita Sorokovoy, Civil Defence Academy EMERCOM of Russia, Khimki, Russia, operator, nixl@yandex.ru Anton Motorkov, Civil Defence Academy EMERCOM of Russia, Khimki, Russia, operator, a.motorkov@gmail.com Roman Belousov, Civil Defence Academy EMERCOM of Russia, Khimki, Russia, research associate, Ph.D.,

romabel-87@mail.ru

Abstract

The paper presents the mathematical apparatus of automatic text processing and machine learning, used for solving the problem of analyzing a text message tone. The variant of the vector model representation of text-based approach TF.IDF. As a method of machine learning is considered a method based on the work of SVM-classifier (support vector machine).

Keywords: machine learning, sentiment analysis, vector model representation of texts, TF.IDF, SVM-classifier.

References

1. Sbornik nauchnyx materialov mezhregionalnogo nauchno-prakticheskogo seminara

2. V. Vapnik Statistical learning theory. NY: Wiley, 1998.

3. Kotelnikov E.V., Klekovkina M.V. avtomaticheskij analiz tonalnosti tekstov na osnove metodov mashinnogo obucheniya / Kompyuternaya lingvistika i intellektual-nye texnologii: po materialam ezhegodnoj mezhdunarodnoj konferencii "dialog". 2012. No. 11 (18). pp. 753-762.

4. Salton G., Buckley C. Term-weighting approaches in automatic text retrieval / Information processing & management, 1988, vol. 24, no.

5. pp. 513-523.

5. Sebastiani F. Machine learning in automated text categorization / acm computing surveys, 2002, vol. 34, no. 1. Pp. 1-47.

6. LIBSVM - A Library for Support Vector Machines, available at: www.csie.ntu.edu.tw/~cjlin/libsvm (15.12.2014).

7. http://www.machinelearning.ru/wiki/index.php?title=svm (15.12.2014).

8. Morfologicheskij analizator Mystem ot kompanii Yandex. URL: http://company.yandex.ru/technologies/mystem

9. http://www.postgresql.org/about/ (15.12.2014).

10. Chetviorkin, I.I. Sentiment Analysis Track at ROMIP 2011 / I.I. Chetviorkin, P.I. Braslavskiy, N.V. Loukachevitch / kompyuternaya lingvistika i intellektualnye texnologii, po materialam ezhegodnoj mezhdunarodnoj konferencii "dialog", Bekasovo, may 30 - june 3, 2012 g.v 2 t. t. 2. doklady specialnyx sekcij / ros. gos. gumanitar. un-t. - m.,2012. V. 11(18). Pp. 1-14.

/ \>N