Использование анализа семантической близости слов при решении задачи определения жанровой принадлежности текстов методами глубокого обучения | Вестник Томского государственного университета. Управление, вычислительная техника и информатика. 2020. № 50. DOI: 10.17223/19988605/50/2

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

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

Using the analysis of semantic proximity of words in solving the problem of determining the genre of texts within deep l.pdf Автоматизация извлечения различной информации из текстов стала одной из основных проблем, связанных с информационным поиском. Так как тексты чаще всего либо являются слабо структурированными, либо вообще не обладают структурой с точки зрения решаемой задачи, то особо важным стало направление интеллектуального анализа текстов, включающее в себя методы классификации и анализа текстов на основе алгоритмов машинного обучения. В частности, одной из задач анализа текстов является тематическая классификация, которая позволяет определить принадлежность текста к определенной группе тем. Особенно актуальна такая классификация для решения задач корпусной лингвистики, так как в большинстве существующих на сегодняшний день корпусов деление по темам и жанрам выполняется вручную или исходя из тематики источников текста [1]. Особенностью классификации текстов языковых корпусов является то, что для них важна, скорее, литературная классификация по темам (война, история, фантастика, сказки и т.д.) и жанрам (песни, стихи, повествование и т.п.). В данной работе рассматривается решение задачи классификации текстов для использования в языковых корпусах. Более формально задача жанровой классификации может быть сформулирована так: даны текст на естественном языке и множество возможных жанров, к которым он может принадлежать. Требуется определить жанр текста. Если текст относится к нескольким жанрам одновременно, то определить основной жанр. В последнее время наибольшую популярность для решения задач классификации приобрели глубокие нейронные сети, так как они позволяют достичь наивысшей точности среди всех известных моделей машинного обучения. В частности, сверточные нейронные сети совершили прорыв в классификации изображений. В настоящее время они успешно справляются и с некоторыми задачами автоматической обработки текстов. Более того, как утверждается в некоторых исследованиях [2-5], сверточные сети подходят для этого даже лучше рекуррентных нейронных сетей, которые чаще всего используются для анализа текстовых последовательностей [6]. С другой стороны, использование сверточных сетей для классификации текстов мало исследовано. Поэтому исследование применения сверточных нейронных сетей для задачи классификации текстов в качестве альтернативы рекуррентным нейронным сетям представляет практический интерес. Для решения поставленной задачи требуется получить способ представления данных в виде, пригодном для обработки сверточной нейронной сетью. Например, в виде матрицы вещественных чисел. Наиболее распространенным является способ отображения каждого слова в многомерное векторное пространство. В рамках данной работы векторные представления слов строились на основе модели word2vec [7]. Таким образом, поставленная задача решалась сверточной нейронной сетью, на вход которой подавались векторные представления слов, полученные при обучении модели word2vec. 1. Предварительная обработка данных На вход модели должен подаваться заранее обработанный корпус текстов. Предварительная обработка состоит из следующих этапов: - Удаление всех знаков препинания, чисел и слов «нецелевых» языков (не предназначенных для обработки моделью). - Разбиение текста на предложения. Для этого был выбран пакет библиотек Natural Language Toolkit (NLTK). Данная библиотека применяет регулярные выражения, а также некоторые алгоритмы машинного обучения для обработки естественного языка. Базовая версия NLTK не поддерживает разбиение русскоязычных текстов на предложения, поэтому использовалась модификация, расширяющая функционал библиотеки [8, 9]. - Удаление «стоп-слов» - слов, не несущих определенной смысловой нагрузки, но при этом затрудняющих обработку исходного текста. Обычно для каждой специфической задачи применяется свой словарь стоп-слов, однако для нашей задачи достаточно стандартного словаря, содержащего буквы, частицы, предлоги, союзы, местоимения, числительные. Установлено, что удаление стоп-слов из тренировочного набора значительно снижает вычислительную стоимость, а также повышает точность модели. - К корпусу текстов применяется стемминг или лемматизация. Это позволяет сократить размер словаря и искать семантически близкие слова, а не разные формы одного слова. Стемминг - это поиск основы слова, причем не обязательно совпадающей с корнем. Он имеет высокую скорость работы, но наиболее эффективен для английского языка, так как в нем для нахождения основы слова обычно достаточно удалить окончание. Для русского языка стемминг малоэффективен, поэтому применяется более ресурсоемкий алгоритм лемматизации. Лемматизация - это процесс приведения слова к начальной форме. В данной работе лемматизация осуществлялась морфологическим анализатором MyStem [10, 11]. - Дополнение предложений до одинаковой длины с использованием нейтрального слова, так как сверточные нейронные сети способны обрабатывать только последовательности одинаковой длины. 2. Построение векторного представления слов (модель word2vec) Как уже было сказано, на начальном этапе необходимо перевести слова естественного языка в форму, пригодную для анализа сверточной нейронной сетью. Для этого лучше всего подходит векторное представление слов. Кроме того, среди всех моделей выберем ту, которая наиболее точно отражает реальные взаимосвязи между словами, а именно семантическую близость. Отметим, что модель не должна быть слишком требовательной к вычислительным ресурсам, чтобы было возможно совершать обучение сети на достаточно больших объемах данных. Для выявления семантических связей между словами воспользуемся предположением лингвистики - дистрибутивной гипотезой: лингвистические единицы, встречающиеся в схожих контекстах, имеют близкие значения. Во многих моделях обработки текстов входные данные кодируются унарным кодом (one-hot encoding) - вектором, размерность которого равна мощности словаря. Элемент, соответствующий номеру слова в словаре, равен единице, а остальные элементы равны нулю. Однако у этого метода есть ряд существенных недостатков: - словари естественных языков могут быть достаточно объемными и исчисляться десятками и сотнями тысяч слов; следовательно, если каждое слово кодировать таким вектором, объем данных становится слишком большим; - при таком способе кодирования теряется связь между словами: все слова считаются разными и никак не связанными между собой. В силу вышесказанного, one-hot encoding не подходит для анализа семантической близости слов. Поэтому для данной задачи воспользуемся другим способом кодирования - распределенным представлением слов. Распределенное (или векторное) представление слов - это способ представления слов в виде векторов евклидова пространства, размерность которого обычно равна нескольким сотням. Основная идея заключается в том, что геометрические отношения между точками евклидова пространства будут соответствовать семантическим отношениям между словами. Например, слова, представленные двумя близко расположенными точками векторного пространства, будут, скорее всего, синонимами или просто тесно связанными по смыслу словами. Семантическая близость слов вычисляется как расстояние между векторами, для чего используется так называемая косинусная мера [12]. В 2013 г. группой исследователей Google под руководством Томаша Миколова была разработана нейросетевая модель для анализа семантики естественных языков, названная word2vec. В ее основу легли идея распределенного представления слов и дистрибутивная гипотеза, позволяющая рассматривать тексты с точки зрения статистики. Word2vec включает в себя две различные архитектуры - CBOW (Continuous Bag of Words - непрерывный мешок слов) и Skip-gram. CBOW пытается предсказать слово, исходя из текущего контекста, а Skip-gram, наоборот, пытается предсказать контекст по текущему слову. Для реализации модели была выбрана архитектура Skip-gram, которая, несмотря на меньшую скорость обучения, лучше работает с редкими словами. Предварительно обработанный текст можно подавать на вход модели, после чего будут выполнены следующие действия: - считывается корпус текстов и рассчитывается, сколько раз в нем встретилось каждое слово; - из этих слов формируется словарь, который сортируется по частоте слов; также из словаря для сокращения его размера удаляются редкие слова; - модель идет по субпредложению (обычно предложение исходного текста или абзац) окном определенного размера; под размером окна понимается максимальная длина между текущим словом и словом, которое предсказывается. Оптимальный размер окна - 10 слов; - к данным, находящимся в текущем окне, применяется нейронная сеть прямого распространения с линейной функцией активации скрытого слоя и функцией активации softmax для выходного слоя. Из всего вышесказанного ясно, что матрицы, задающие скрытый и выходной слои, получаются чрезвычайно большими. Это делает обучение сети долгим процессом. Поэтому используются различные оптимизации, которые позволяют существенно снизить временные и вычислительные затраты, незначительно потеряв в точности. Одной из таких модификаций является субсемплирование. Дело в том, что в больших корпусах некоторые слова могут встречаться сотни миллионов раз. Такие слова зачастую несут меньшую информационную ценность, чем редкие слова. Чтобы избежать дисбаланса между редкими и часто встречающимися словами, используется простой подход: каждое слово отбрасывается с вероятностью, зависящей от частоты вхождения этого слова в текст. В качестве модели word2vec была выбрана реализация из библиотеки Gensim [13]. Гиперпараметры модели: - размерность векторного пространства - 300; - размер сканирующего окна - 10; - константа в формуле субсемплирования - 0,00001; - количество эпох - 5. В качестве обучающих данных был выбрал корпус русскоязычных текстов Максима Мошкова [14]. Он содержит более 25 тыс. книг общим объемом примерно 450 млн слов. Сформированный словарь содержал около 1,3 млн слов. сти

Ключевые слова

text natural language processing, word2vec model, convolutional neural networks, machine learning, интеллектуальный анализ текстов, модель word2vec, сверточные нейронные сети, машинное обучение

Авторы

ФИООрганизацияДополнительноE-mail
Батраева Инна АлександровнаСаратовский государственный университет им. Н.Г. Чернышевскогодоцент, кандидат физико-математических наук, заведующая кафедрой технологий программирования на базе филиала ООО «Мирантис ИТ» в г. Саратове факультета компьютерных наук и информационных технологийBatraevaIA@info.sgu.ru
Нарцев Андрей ДмитриевичСаратовский государственный университет им. Н.Г. Чернышевскогостудентnarcev.andrey@gmail.com
Лезгян Артем СаркисовичСаратовский государственный университет им. Н.Г. Чернышевскогостудентlezgyan@yandex.ru
Всего: 3

Ссылки

Kamran K., Donald E., Mojtaba H., Kiana J.M., Matthew S., Laura E. HDLTex: Hierarchical Deep Learning for Text Classification. 2017. arXiv preprint arXiv:1709.08267.
Kim Y. Convolutional neural networks for sentence classification // Proc. of the 2014 Conf. on Empirical Methods in Natural Language Processing (EMNLP 2014). 2014. P. 1746-1751.
Флах П. Машинное обучение. Наука и искусство построения алгоритмов, который извлекают знания из данных. М. : ДМК Пресс, 2015. 402 с.
Gensim documentation. URL: https://radimrehurek.com/gensim/tutorial.html (accessed: 10.02.2019).
Библиотека Максима Мошкова. URL: http://lib.ru (дата обращения: 20.01.2019).
Mikolov T., Sutskever I., Chen K., Corrado G., Dean J. Distributed representations of words and phrases and their compositionality. 2013. arXiv preprint arXiv: 1310.4546
Segalovich I. A fast morphological algorithm with unknown word guessing induced by a dictionary for a web search engine // Proc. of the International Conf. on Machine Learning. Models, Technologies and Applications. MLMTA'03, June 23-26, 2003, Las Vegas, Nevada, USA. P. 1-8.
Train NLTK punkt tokenizers. URL: https://github.com/mhq/train_punkt (accessed: 08.02.2019).
Яндекс технология MyStem. URL: https://tech.yandex.ru/mystem/ (дата обращения: 08.02.2019).
Rong Xin. Word2vec parameter learning explained. 2014. arXiv preprint arXiv: 1411.2738.
NLTK 3.4 documentation. URL: http://www.nltk.org/ (accessed: 08.02.2019).
Yin W., Kann K., Yu M., Schutze H. Comparative study of CNN and RNN for natural language processing. 2017. arXiv preprint arXiv: 1702.01923.
Yogatama D., Dyer Chr., Ling W., Blunsom Ph. Generative and discriminative text classification with recurrent neural networks. 2017. arXiv preprint arXiv: 1703.01898.
Zhang X., Zhao J., LeCun Y. Character-level Convolutional Networks for Text Classification. 2016. arXiv preprint arXiv: 1509.01626.
Conneau A., Schwenk H., Barrault L., LeCun Y. Very deep convolutional networks for text classification. 2017. arXiv preprint arXiv: 1606.01781.
Bai S., Kolter J.Z., Koltun V. An empirical evaluation of generic convolutional and recurrent networks for sequence modeling. 2018. arXiv preprint arXiv: 1803.01271.
Батраева И.А., Крючкова А.А. Разработка программного обеспечения диалектологических корпусов // Компьютерные науки и информационные технологии : материалы Междунар. науч. конф. Саратов : Наука, 2018. С. 45-49.
 Использование анализа семантической близости слов при решении задачи определения жанровой принадлежности текстов методами глубокого обучения | Вестник Томского государственного университета. Управление, вычислительная техника и информатика. 2020. № 50. DOI: 10.17223/19988605/50/2

Использование анализа семантической близости слов при решении задачи определения жанровой принадлежности текстов методами глубокого обучения | Вестник Томского государственного университета. Управление, вычислительная техника и информатика. 2020. № 50. DOI: 10.17223/19988605/50/2