УДК 004.8
А. А. Харламов1, Ле Мань Ха2
1 Институт высшей нервной деятельности и нейрофизиологии РАН 2 Московский физико-технический институт (государственный университет)
Нейросетевые подходы к классификации текстов на основе морфологического анализа
В данной работе было рассмотрено применение морфологического анализа в классификации текстов. Морфологический анализ позволяет изучать грамматические свойства слов, а также грамматическую семантику и взаимодействие между элементами текстов. Были предложены нейро-семантическая сеть на основе морфологического анализа для изучения векторных представлений грамматических структур текста и рекурсивный автоэнкодер, который состоит из двух частей: первая объединяет два вектора слов, а вторая - два вектора морфологий.
Ключевые слова: классификация, морфология, нейронная сеть
A.A. Kharlamov1, Le Manh Ha2
1 Institute of Higher Nervous Activity and Neurophysiology of RAS 2 Moscow Institute of Physics and Technology (State University)
Neural network approaches to the classification of texts based on morphological analysis
In this paper, the main purpose is to consider applications of morphological analysis in text classification. Morphological analysis helps us to learn grammatical features of words, grammatical semantic and the interaction between the elements of text. We propose the neurosemantic network based on morphological analysis for learning vector representations of the text's grammatical structures and the recursive autoencoder that consists of two parts - the first part combines two vectors of words, the second one combines two vectors of morphology.
Key words: classification, morphology, neural network
1. Введение
За последние несколько лет нейронные сети вновь появились в качестве мощных моделей машинного обучения, показали лучшие результаты в таких областях, как распознавание образов и обработки речи. Еще совсем недавно нейросетевые модели начали применяться также к различным задачам обработки естественного языка с очень хорошими результатами [1]. Традиционная модель «мешок слов» вместе с классификаторами, которые используют эту модель, такими, как байесовский метод, были успешно использованы для того, чтобы получать очень точные прогнозы в задаче анализа настроений [2]. С появлением технологий глубокого обучения и их применения в обработке естественного языка было сделано улучшение точности этих методов в двух основных направлениях: использование нейронной сети с учителем для обучения классификатора и без учителя для оптимизации предварительной обработки данных и выбора характеристик.
Морфология имеет важное значение в обработке естественного языка, в том числе для анализа и генерации текстов. Существует широкий спектр таких приложений, например, извлечение информации из текстовых сообщений или диалоговых систем, машинный перевод [3]. Морфологический анализ является важной частью синтаксического анализа. Свойства слов, полученные в результате морфологического анализа (леммы и его части речи), используются для глубокого анализа текстов. Другой важной задачей является лем-матизация - поиск соответствующей словоформы для данного входного слова.
2. Нейросетевые подходы к классификации текстов на основе морфологического анализа
2.1. Морфологический анализ
Морфологический анализ - процесс поиска морфологических разборов слов. Цель морфологического анализа - выяснить, из каких морфем построены слова. Например, морфологический анализатор должен сказать, что слово «кошки» является формой множественного числа существительного «кошка», и слово «мыши» является формой множественного числа существительного «мышь». Таким образом, принимая слово «кошек» в качестве входных данных, морфологический анализатор должен производить выход, похожий на «кошка NOUN femn plur gent».
Рис. 1. Структура морфологического словаря
Для реализации морфологического словаря используется структура данных «префиксное дерево» [4] - это тип дерева поиска для хранения ассоциативного массива из элементов (ключ, значение), где ключи являются префиксами строк. Ключ одного узла состоит из символов на пути из корня дерева до этого узла. Корень дерева содержит пустую строку. Значения, связанные с ключом, содержат морфологические модели префикса этого узла. Чтобы найти морфологические варианты словоформы, нужно обходить дерево по символам этой словоформы. Временная сложность операции морфологического поиска словоформы является линейной и равна О(п), где п - длина словоформы.
Пример модели русской морфологии № 106:
Модель Суффикс Разметка
-ть impf, tran, VERB
-ю 1per, indc, pres, sing
-ем 1per, indc, plur, pres
-ешь 2per, indc, pres, sing
-ете 2per, indc, plur, pres
-ет 3per, indc, pres, sing
106 -ют 3per, indc, plur, pres
-л indc, masc, past, sing
-ла femn, indc, past, sing
-ло indc, neut, past, sing
-ли indc, past, plur
-й excl, impr, sing
-йте excl, impr, plur
2.2. Нейро-семантическая сеть на основе морфологического анализа — Morphological Neural Semantic Networks — MNSN
Нейро-семантическая сеть состоит из трех последовательных частей.
1. Часть «семантические векторные представления», которая вычисляет векторные представления грамматических структур предложений, содержит автоэнкодеры по заданным грамматическим структурам (SVO, SVA, ...), которые принимают на вход слова в виде пар (вектор, морфология) и объединяют их в одну пару. Цель заключается в том, чтобы близкие по смыслу структуры предложений имели похожие векторные представления, например: «девушка читает книгу» и «женщина читает роман».
Примеры часто встречаемых грамматических структур:
• AN (прилагательное - существительное);
• SVO (субъект-действие-объект);
• SVA (субъект-действие-наречие).
Рис. 2. Семантическое векторное представление
Для поиска грамматических структур для обучения семантических векторных представлений будем считать частоту вхождения множеств из не более чем пд семантических моделей. Задан семантический разбор текста в виде последовательности из п семантических моделей ш1, ш2,..., Шп, рассмотрим:
Для г1 = 1..п:
Для г2 = г1 + 1..п:
Для ги = ¿к-1 + 1..п(к ^ Пд):
Сортировать Шг1 ,Шг2,...,Шгк по возрастанию, получаем Ш¿1 ,Ш¿2,...,Ш к. Обновить частоту для множеств Ш¿1, Ш¿2,..., Шк.
В результате получаем набор самых встречаемых множеств семантических моделей.
Для обучения семантических векторных представлений используются автоэнкодеры [5] размера пд х кшОга, где пд - количество элементов в грамматической структуре (например, пд = 2 для А^ пд = 3 для SVO и ЯУЛ), а к,ШОГ4 - размерность векторного пространства слов. Для каждой грамматической структуры используется отдельный автоэнкодер для обучения представлений. Входной и выходной слои автоэнкодера имеют пд х к нейронов, а скрытый слой - кзетепцс нейронов (к3етепис - размерность пространства семантических векторных представлений):
Автоэнкодер объединяет элементы грамматической структуры х1,х2, ...,хПд (пд-вектора длины кыоы) в один вектор у (длины кэетеп^)
У = /(№(1) [Х1,Х2, ...,Хпд]+ Ь(1)). (1)
Чтобы вычислить ошибку объединения, нужно восстанавливать исходные слова х1,х2, ...,хПд из вектора у:
[х\,х2,...,хПд ] = № (2)у + Ь(2). (2)
Ошибка объединения есть евклидово расстояние между парами исходных и восстановленных слов:
Егес([х1,х2, ...,хпд ]) = ||х1 - хЩ2 + ||х2 - х^Ц2 + ... + \\хпд - хПд\\2. (3)
Чтобы ошибка объединения не уменьшилась просто из-за уменьшения скрытых слоев, используется нормализация объединенного вектора:
у=т (4)
2. Часть «распределение по категориям семантического представления», которая принимает на вход объединенный вектор х и вычисляет распределение категорий к по предложению, является слоем Войтах [6].
3. Часть «распределение по категориям текста», которая принимает на вход распределения категорий по предложениям и вычисляет распределение категорий по тексту. Распределение вероятностей для текста, состоящего из N предложений, есть среднее распределение вероятностей по предложениям:
1 N
кв = ^Е ко]. (5)
t=l
Нейро-семантическая сеть на основе морфологического анализа имеет преимущество перед обычным рекурсивным автоэнкодером в том, что она учитывает грамматическую структуру текстов, поэтому векторные представления грамматических структур отражают семантические значения текстов.
Целью здесь является создание семантических векторных пространств и поиск функций, которые вычисляют семантические векторные представления грамматических структур по векторным представлениям слов, такие как:
vAN (red car) = /AN (v(red),v(car)), (6)
van (blue car) = Jan (v(blue),v(car)), (7)
vsvo(я читаю книгу) = /,5Уо^(я)^(читать)^(книга)), (8)
где van (red car ),vsvo (я читаю книгу) - семантические векторные представления для «red car» и «я читаю книгу», v(red),v(blue),v(car),v(я),v(читать),v(книга - векторные представления, /an и jsvo - искомые функции.
Рис. 3. Семантическое векторное пространство
2.3. Рекурсивный автоэнкодер морфологического анализа — Morphological Recursive AutoEncoder — MRAE
Предлагается рекурсивный автоэнкодер [7] морфологического анализа, который состоит из двух частей: первая объединяет два вектора слов, а вторая объединяет два вектора морфологий. Морфологическая часть рекурсивного автоэнкодера позволяет повышать точность выбора векторов слов в процедуре формирования векторного представления текста.
Векторное представление текста получается повторением процесса объединения двух слов-векторов с использованием рекурсивного автоэнкодера. На каждом этапе выбор пары слов-векторов объединение происходит с помощью данного рекурсивного автоэнкодера. Автоэнкодер объединяет две пары (слово; морфологический разбор) (x\; mi), {x2, m2) в
одну пару {Vi ш):
У = I + Ь^), (9)
Ш = I ^тЧШ1,Ш2 ] + ьт]). (10)
Чтобы вычислять ошибки объединения, нужно восстанавливать исходные слова ж1,ж2 из вектора У:
[¿1 ,¿2] = Ш^У + (11)
[Ш1,Ш 2]=шт]Ш+ьт?. (12)
Ошибки объединения есть евклидово расстояние между парами исходных и восстановленных слов:
Ew ([Х1,Х2]) = -n-||xi - x'lll2 +--n-||X2 - X2II2, (13)
ni + П2 ni + П2
Em{[mi, Ш2]) = —П1— ||mi - Шi||2 +--П2— ||Ш2 - Ш2Ц2, (14)
ni + П2 ni + П2
Erec = aEw + {1 - a)Em, (15)
где П\,П2 - количества объединенных слов в х\,х2 соответственно; а - взвешенный параметр для ошибок объединений слов и морфологических разборов.
Чтобы ошибка объединения не просто уменьшалась из-за уменьшения значений нейронов скрытых слоев, будем нормализовать объединенные вектора слов и морфологии:
m
Этот процесс повторяется N — 1 раз для текста, состоящего из N слов. В результате получается окончательный вектор - семантическое векторное представление текста, этот вектор используется как вход для системы обучения.
Распределение вероятностей для ^-классовой классификации для векторного представления текста у вычисляется слоем Бойтах [6]:
й(у, 9) = Бо/Шах^3о^таху). (18)
Ошибка регрессии для ^-классовой классификации записывается как перекрёстная энтропия между выходным и целевым распределениями:
к
Ereg = - ^ tk log dk. (19)
к=1
Ошибка объединения на узле j:
Emerj = PErec + (1 — (3)Ereg, (20)
где в - взвешенный параметр для ошибок регрессии и объединения. Суммарная ошибка на всех узлах текста г:
N-1
Ei = ^ Етег^ . (21)
3=1
Функция потерь автоэнкодера есть средняя ошибка для всех текстов в обучаемой выборке из М текстов:
1 M \
J = мЕ E + 2 И6!?' (22)
i=l
Градиент функции потерь:
J=(23)
i=l
3. Эксперименты и оценка результатов реализуемых алгоритмов
Для оценки алгоритмов был использован метод K-Fold Cross-validation [8] с параметром K = 10. В качестве экспериментальной базы использованы базы Movie Review и Wikinews на русском и английском языках. Обучающая выборка Movie Review состоит из 10662 текстов по двум категориям (позитивной и негативной). Обучающая выборка Wikinews-Ru состоит из 7233 текстов - новостей на русском языке, её количество категорий равно 8. Обучающая выборка Wikinews-En состоит из 23588 текстов - новостей на английском языке, её количество категорий равно 11.
Классификация базы данных Movie Review:
Метод Movie Review
RAE (Socher et al., 2011) 77.7
MV-RNN (Socher et al., 2012) 79.0
CNN-rand 76.1
CNN-static 81.0
CNN-non-static 81.5
CNN-multichannel 81.1
MNSN 79.3
MRAE 80.6
Классификация баз данных Wikinews:
Метод Wikinews-Ru Wikinews-En
Naive Bayes 66.4 81.1
Nearest Centroid 68.6 86.3
KNN 72.5 87.3
Оптимизированный KNN 71.7 88.9
MNSN 75.2 91.3
MRAE 74.3 90.2
75
74
73
72
Точность [<№]
71
70
69
63
0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.3 0.9
и
Рис. 4. Точность классификации базы Wikinews-En рекурсивным автоэнкодером морфологического анализа в зависимости от взвешенного параметра а для ошибок объединений слов и морфологических разборов
4. Заключение
Учитывая результаты экспериментов, можно прийти к выводу, что морфологический анализ позволяет изучать морфологические свойства слов, а также грамматическую се-
мантику и взаимодействие между элементами текстов, что позволяет изучать смысловое значение и структуру текстов и повышать качество классификации текстов.
Литература
1. Lee J.Y., Dernoncourt F. Sequential Short-Text Classification with Recurrent and Convolutional Neural Networks // Proceedings of NAACL-HLT. 2016. P. 515-520.
2. Narayanan V., Arora I., Bhatia A. Fast and accurate sentiment classification using an enhanced Naive Bayes model // International Conference on Intelligent Data Engineering and Automated Learning. 2013. Oct 20. P. 194-201. Springer Berlin Heidelberg.
3. Carstairs-McCarthy A. An Introduction to English Morphology: Words and Their Structure. Edinburgh: Edinburgh University Press, 2002.
4. Knuth D.E. The Art of Computer Programming: Volume 3: Sorting and Searching. Addison-Wesley Professional, 1998. Apr 24.
5. Hinton G.E., Salakhutdinov R.R. Reducing the dimensionality of data with neural networks. science. 2006. Jul 28. 313(5786):504-7.
6. Memisevic R., Zach C., Pollefeys M., Hinton G.E. Gated softmax classification // Advances in neural information processing systems. 2010. P. 1603-1611.
7. Socher R, Pennington J, Huang EH, Ng AY, Manning CD. Semi-supervised recursive autoencoders for predicting sentiment distributions // Proceedings of the conference on empirical methods in natural language processing 2011 Jul 27. Association for Computational Linguistics. P. 151-161.
8. Efron B, Tibshirani R. Bootstrap methods for standard errors, confidence intervals, and other measures of statistical accuracy. Statistical science. 1986. Feb 1:54-75.
References
1. Lee J.Y., Dernoncourt F. Sequential Short-Text Classification with Recurrent and Convolutional Neural Networks. Proceedings of NAACL-HLT. 2016. P. 515-520.
2. Narayanan V., Arora I., Bhatia A. Fast and accurate sentiment classification using an enhanced Naive Bayes model. International Conference on Intelligent Data Engineering and Automated Learning. 2013. Oct 20. P. 194-201. Springer Berlin Heidelberg.
3. Carstairs-McCarthy A. An Introduction to English Morphology: Words and Their Structure. Edinburgh: Edinburgh University Press, 2002.
4. Knuth D.E. The Art of Computer Programming: Volume 3: Sorting and Searching. Addison-Wesley Professional, 1998. Apr 24.
5. Hinton G.E., Salakhutdinov R.R. Reducing the dimensionality of data with neural networks. science. 2006. Jul 28. 313(5786):504-7.
6. Memisevic R, Zach C., Pollefeys M, Hinton G.E. Gated softmax classification. Advances in neural information processing systems. 2010. P. 1603-1611.
7. Socher R, Pennington J, Huang EH, Ng AY, Manning CD. Semi-supervised recursive autoencoders for predicting sentiment distributions. Proceedings of the conference on empirical methods in natural language processing 2011 Jul 27. Association for Computational Linguistics. P. 151-161.
8. Efron B, Tibshirani R. Bootstrap methods for standard errors, confidence intervals, and other measures of statistical accuracy. Statistical science. 1986. Feb 1:54-75.
Поступила в редакцию 31.05.2017