Содержание к диссертации
Введение
Глава 1: Критический анализ существующих методов представления и классификации текстов 14
1.1 Методы представления текстов 14
1.1.1 Статистический метод TF-IDF 14
1.1.2 Векторное представление слов
1.2 Байесовский метод для классификации текстов 18
1.3 Метод Роччио 21
1.4 Метод «К» ближайших соседей 22
1.5 Метод опорных векторов 24
1.6 Логистическая регрессия
1.6.1 Бинарная логистическая регрессия 28
1.6.2 Мультиномиальная логистическая регрессия - Softmax 29
1.7 ЕМ-алгоритм 29
1.7.1 Функция правдоподобия 30
1.7.2 ЕМ-алгоритм 30
1.8 Скрытая марковская модель 31
1.8.1 Марковская модель 31
1.8.2 Скрытая марковская модель 34
1.8.3 Алгоритм прямого-обратного хода 34
1.8.4 Алгоритм Витерби 36
1.9 Латентно-семантический анализ 42
1.9.1 Латентно-семантический анализ с использованием нейрон
1.9.2 Вероятностный латентно-семантический анализ 46
1.10 Рекурсивный автоэнкодер 48
1.11 Свёрточные нейронные сети для классификации текстов 51
1.12 Рекуррентные нейронные сети для классификации текстов 52
1.13 Выводы 54
Глава 2: Анализ методов глубокого обучения посредством искусственных нейронных сетей для обработки и классификации текстов 56
2.1 Многослойные нейронные сети 59
2.2 Метод обратного распространения ошибки 62
2.3 Метод стохастического градиента 64
2.4 Автоэнкодер
2.4.1 Скрытые признаки и глубинное обучение 65
2.4.2 Автоэнкодер 66
2.5 Свёрточная нейронная сеть 70
2.5.1 Свёртка 71
2.5.2 Субдискретизация 72
2.5.3 Обучение свёрточной нейронной сети 72
2.5.4 Преимущества свёрточной нейронной сети 74
2.6 Рекуррентная нейронная сеть 75
2.6.1 Long Shorterm Memory 76
2.7 Выводы 78
Глава 3: Математическое и алгоритмическое обеспечение вычислительного комплекса-классификатора текстов с использованием морфологического анализа и нейро-семантических сетей 80
3.1 Разработка метода морфологического анализа текстов 81
3.1.1 Структура морфологического словаря 84
3.1.2 Морфологический разбор 85
3.1.3 Разрешение морфологической многозначности 86
3.2 Разработка математического и алгоритмитического обеспечения
вычислительного комплекса семантической нейронной сети 88
3.3 Разработка математического и алгоритмитического обеспечения вычислительного комплекса рекурсивного автоэнкодера морфологического анализа 93
3.4 Разработка метода «К» ближайших соседей с использованием двоичного дерева 97
3.5 Выводы 100
Глава 4: Экспериментальное исследование вычислительного комплекса классификатора текстов 101
4.1 Разработка программного обеспечения вычислительного комплекса-классификатора текстов с использованием морфологического анализа и нейро-семантических сетей 101
4.2 Эксперименты и оценка результатов
4.2.1 Метод оценки результатов экспериментов 107
4.2.2 Экспериментальное исследование нейро-семантической сети на основе морфологического анализа 108
4.2.3 Экспериментальное исследование рекурсивного автоэнкодера морфологического анализа 110
4.2.4 Экспериментальное исследование алгоритма «К» ближайших соседей с использованием двоичного дерева 112
4.3 Выводы 113
Заключение
Список литературы
- Байесовский метод для классификации текстов
- Метод стохастического градиента
- Разработка математического и алгоритмитического обеспечения вычислительного комплекса рекурсивного автоэнкодера морфологического анализа
- Экспериментальное исследование нейро-семантической сети на основе морфологического анализа
Введение к работе
Актуальность темы диссертации
Классификация текстов — одна из главных задач обработки естественного языка, заключающаяся в определении категории текста, список категорий может быть известен или нет. Классификация текстов часто реализуется на основании содержания текстов, анализа элементов текста (слова, предложения и т.п.) и взаимодействия между ними. Классификация может осуществляться вручную или автоматически с применением методов машинного обучения. Современные методы классификации текстов требуют огромных баз данных для обучения, и способны изучать и классифицировать семантические значения текстов.
С развитием компьютерных технологий появились требования к созданию интеллектуальных систем, которые способны решать творческие задачи без участия человека. Спустя полвека, технология машинное обучение, в том числе обработка естественных языков и классификация текстов еще далеки от совершенства.
Для классификации данных интернет-ресурсов требуются современные алгоритмы, способные не только обработать огромное количество информации, но и решать задачи, которые несколько лет назад решали полностью вручную: разделение сайтов по тематическим каталогам, борьба со спамом, распознавание эмоциональной окраски текстов, персонификация рекламы и т.п.
Российские и иностранные ученые и исследователи, такие как Л. Л. Иомдин, А. И. Галушкин, А. А. Харламов, В. М. Хачумов, М. В. Киселев, Д. О. Жуков, В. Я. Цветков, А. О. Казенников, A. Ng, D. Jurafsky, J. H. Martin, C. D. Manning, R. Socher, T. Mikolov, внесли значительный вклад в развитие теории информационных систем, методов информационного поиска, методов классификации и кластеризации текстов, методов синтаксического анализа и извлечения знаний из текстов. Активно ведут работы в этих направлениях такие организации, как Институт Проблем Передачи Информации РАН, Институт системного анализа РАН, Яндекс, Mail.ru, ABBYY, Google, Facebook, Microsoft.
В диссертационной работе, на основе критического анализа существующих методов классификации текстов гипотезируется, что создание вычислительного комплекса-классификатора текстов с использованием морфологического анализа и нейро-семантических сетей может обеспечить высокое качество и быстродействие обработки и классификации текстов.
Цель и задачи исследования
Целью диссертации является разработка математического, алгоритмитического и программного обеспечения вычислительного комплекса-
классификатора текстов с использованием морфологического анализа и нейро-семантических сетей.
Для достижения этой цели в диссертационной работе сформулированы следующие задачи :
1. Проведение критического анализа существующих методов представления и
классификации текстов.
-
Проведение анализа методов глубокого обучения посредством искусственных нейронных сетей для обработки и классификации текстов
-
Разработка метода морфологического анализа текстов.
4. Разработка математического и программного обеспечения вычислительного
комплекса семантической нейронной сети для получения векторного представления
грамматических структур текстов.
5. Разработка алгоритмитического и программного обеспечения
вычислительного комплекса рекурсивного автоэнкодера морфологического анализа
для получения векторного представления текстов.
6. Разработка метода «К» ближайших соседей с использованием двоичного
дерева.
7. Разработка архитектуры сервер-клиент и веб-интерфейса демо комплекса для
морфологического анализа и классификации текстов.
8. Внедрение результатов и научных положений диссертации в практические
разработки.
Объектом исследования диссертации является вычислительный комплекс
морфологического анализа и классификации текстов.
Предмет исследования определен паспортом специальности 05.13.15, областями
исследования: №2 - «Теоретический анализ и экспериментальное исследование
функционирования вычислительных комплексов с целью улучшения их
технико-экономических и эксплуатационных характеристик» и №3 - «Разработка научных методов и алгоритмов организации специальной обработки данных, хранения и ввода-вывода информации», а также перечнем задач, решаемых в диссертации.
Научная новизна работы состоит в следующем:
-
Разработан метод обработки данных для создания морфологических словарей.
-
Разработан метод морфологического анализа для предварительной обработки текстов, позволяющий методом развитых словоформ выделять морфологические признаки слов для последующей классификации.
3. Разработаны математическое и программное обеспечения вычислительного
комплекса нейро-семантической сети для определения адекватного векторного
представления грамматических структур текстов, который позволяет повышать
точность классификации текстов на 5-12% по сравнению с другими методами
классификации.
4. Разработаны алгоритмитическое и программное обеспечения
вычислительного комплекса рекурсивного автоэнкодера с объединием векторов-слов и
векторов-морфологий, который позволяет повышать точность классификации текстов
на 7-13% по сравнению с другими методами классификации.
5. Разработан метод «К» ближайших соседей с использованием двоичного
дерева для уменьшения количества вычислительных операций, который позволяет
увеличить скорость классификации текстов в 2-4 раза.
Практическая значимость полученных результатов состоит в повышении точности классификации текстов на 5-13% по сравнению со другими методами классификации, в повышении скорости классификации текстов в 2-4 раза, так же в возможности применения морфологического анализа и нейронных сетей для решения других задач обработки естественного языка. Результаты диссертационного исследования были использованы в технологиях научно-производственного инновационного центра МИКРОСИСТЕМЫ и в исследовании системы голосового управления в Институте Военных Автоматизированных Технологий, Академия Военных Наук и Технологий, Министерство Обороны Вьетнама, что подтверждено актами о внедрении, кроме того автору был выдан патент на изобретение «Голосовая связь на естественном языке между человеком и устройством» (RU 2583150) [13].
Обоснованность и достоверность результатов и выводов определяется следующими факторами:
Согласованностью теоретических выводов с результатами экспериментов на
разных базах данных;
Докладами на российских и международных научных конференциях и публикациями результатов исследования в рекомендованных Высшей аттестационной комиссией научных изданиях.
Положительными результатами практического использования результатов диссертационной работы, подтвержденными актами о внедрении;
Патентом на изобретение;
Личный вклад соискателя в работах заключается в следующем:
1. Разработка метода обработки данных для создания морфологических
словарей.
2. Разработка метода морфологического анализа текстов.
-
Разработка математического и программного обеспечения вычислительного комплекса нейро-семантической сети на основе морфологических словарей.
-
Разработка алгоритмического и программного обеспечения вычислительного комплекса рекурсивного автоэнкодера с объединием векторов-слов и векторов-морфологий.
5. Разработка метода «К» ближайших соседей с использованием двоичного
дерева.
Основные результаты по теме диссертационной работы получены автором самостоятельно [1, 3, 4, 6, 7, 8, 9, 10, 11, 12], совместно с научным руководителем и коллегами [2, 5, 13].
Апробация результатов работы
Основное содержание работы докладывалось на 55-ой и 57-ой научных конференциях МФТИ 2012 и 2014г., XI, XIII, XIV и XV Всероссийских научных конференциях «Нейрокомпьютеры и их применение» 2013, 2015, 2016 и 2017г. а также на международной конференции «Инжиниринг и Телекоммуникации - EnT 11/2014».
Публикации автора по теме диссертации
По теме диссертации опубликовано 12 статьей в журналах и докладов на конференциях, 5 из них в списке научных изданий, зарегистрированных в Высшей аттестационной комиссией Минобрнауки России, которые рекомендуемые для опубликования основных научных результатов исследований на соискание ученой степени кандидата наук.
Структура и объём работы
Данная диссертационная работа состоит из титульного листа, оглавления, введения, пяти глав, заключения, списка литературы и приложений. Объем диссертации составляет 148 страниц формата A4, 46 рисунков и 11 таблиц. Список литературы включает 182 наименований.
Байесовский метод для классификации текстов
Метод векторного представления слов word2vec был предложен в работе [28]. word2vec — это набор алгоритмов для вычисления векторных представлений слов. На вход подается набор текстов для обучения, а на выходе набор векторов слов, которые содержатся в текстах. Word2vec собирает статистику по совместному появлению слов в фразах, после чего методами нейронных сетей решает задачу снижения размерности и выдает на выходе компактные векторные представления слов, в максимальной степени отражающие отношения этих слов в обрабатываемых текстах. Word2vec реализует две основные архитектуры — Continuous Bag of Words (CBOW) и Skip-gram.
В работе [44] был предложен другой метод векторного представления слов GloVe. Этот метод учитывает вероятность проявления одного слова в контексте другого слова в корпусе.
Байесовский метод [46] — это класс статистических алгоритмов классификации по оценке вероятности принадлежности объекта классу. Для каждого объекта вычисляются функции правдоподобия вероятности принадлежности объекта каждому из классов. Объект принадлежит классу, с максимальной вероятность принадлежности [47].
Байесовский метод классификации основан на тем, что если известны плотности распределения каждого из классов, то функции вероятности принадлежности объекта каждому из классов можно вычислять аналитическим образом. Этот алгоритм обладает минимальной вероятностью ошибок, он простой и легко реализуется [48].
Байесовский метод классификации очень широко используется и дает удивительно хорошие результаты несмотря на его простой принцип, он обладает прочную позицию в машинном обучении, в том числе и классификация. Многие современные алгоритмы классификации были разработаны на основе байесовского метода [49]. Наивный байесовский классификатор (Naїve Bayes) [50] - это алгоритм классификации, который основан на Байесовском методе с предположением, что признаки объекта являются независимыми. Формула Байеса для условной вероятности: P(BA) P(A) P(AB)= P(B) . (1.9) Для классификации наивный байесовский классификатор использует модели, в которых объекты представляются в виде векторов значений признаков. Вероятность принадлежности объекта классу можно записать таким образом:
В работе [51] был предложен наивный байесовский подход к классификации текстов. Каждый текст можно считать как набор слов. Вероятность того, что слово w относится к классу c выписываем как:
Вероятность класса c: пс PІС) = —, (1.18) N где nc - количество текстов класса c, N - суммарное количество текстов в обучаемой выборке. , і J- r 7 jdc- Г) wd Plw \c) = =—=— , (1.19) k + Ъго l deDc nwd где Dc - набор текстов класса c в обучаемой выборке, k - размер словаря. Вероятность того, что данный текст d относится к классу c: P(c\d) = P(с) І І P(w\c)nwd, (1.20) w Ed где nwd - сколько раз слово w встречается в тексте d, P{d) - константа. Чтобы избежать погрешность вычисления, на практике используются лог-вероятности: { пс\ P/оо(с) = log — , (1.21) N ( 1 I \ л /к1 \ jd D wd \ =—=— , (1.22) k + bwl deDc nwd Piog(c\d) = log! P(c) I I P(w\c)nwd ) = Piog(c) + У nwdPiog(w\c). (1.23) Для нового текста d класс, к которому он относится определяется как класс с наибольшей вероятностью: Cd = argmaxfec Piog{c\d). (1.24) С одной стороны, байесовский классификатор работает очень быстро, его принцип работы простой и легко реализовать. С другой стороны, байесовский классификатор не учитывает порядок и сематические значения слов в тексте, поэтому он не подходит для задачи классификации текстов по эмоциональной окраске [52].
«К» ближайших соседей (англ. K Nearest Neighbors - KNN) [56] - один из самых используемых методов классификации. Для классификации объекта рассматриваем его ближайшие соседи в векторном пространстве, объект принадлежит тому классу, которому принадлежат больше всего соседей из этих ближайших соседей [57]. Рис. 1.4: Метод KNN.
KNN широко используется для классификации текстов. Для начала считаем координаты текстов в пространстве [58]. Размер пространства есть количество терминов в корпусе (объем словаря). Считая TF-IDF для всех текстов в корпусе, получаем представления текста в виде числовых векторов, каждый компонент вектора - важность соответствующего слова для данного текста. Координаты текстов используются для решения различных задач, в том числе классификация. [59]
В работе [60] был использован метод KNN для классификации текстов. Эксперименты показали, что классификация текстов с использованием KNN выдает качество лучше чем метод Роччио и байесовский классификатор [61]. Недостаток KNN - медленная скорость [62], для классификации нового текста, нужно вычислять расстояния между этим текстом со всеми текстами в корпусе, а их количество может быть миллионы. В разделе 3.4 данной работы был предложен вычислительный комплекс алгоритма «К» ближайших соседей с использованием двоичного дерева для повышения скорости работы алгоритма. 1.5 Метод опорных векторов
Метод опорных векторов (англ. Support Vector Machine - SVM) [63] является алгоритмом машинного обучения с учителем, который широко используют для решения задачи классификации. Основная идея метода заключается в поиске гиперплоскости, которые разделяют объектов разных классов с максимальным зазором в этом пространстве, этот зазор ограничиваются двумя параллельными гиперплоскости, на которых находятся ближайшие к разделяющей гиперплоскости объекты разделяемых классов [64]. Чем дальше разделяющие гиперплоскости находятся друг от друга, тем меньше средняя ошибка классификации объектов. Метод опорных векторов хорошо работает с данными многомерных пространств [65], многие считают его одним из лучших методов классификации.
Метод стохастического градиента
В настоящее время теория нейронных сетей является одним из важнейших направлений науки, которое играет очень важную роль в технологиях обработке цифровых сигналов, машинного обучения [111]. При помощи искусственных нейронных сетей решаются сложные практические задачи [112].
Главной целю искусственных нейронных сетей нейронной сети является решение проблем таким же образом, что люди, хотя несколько категорий искусственных нейронных сетей являются более абстрактными [113]. Новые исследования мозга человека часто стимулирует новые модели нейронных сетей. Динамические нейронные сети являются самыми передовыми, в том, что они, основываясь на правилах, могут динамически формировать новые нейроны и новые связи, в то время и отключать другие существующие нейроны и связи [114].
Обычно, нейроны объединены в слои, и сигнал распространяет с первого (входного) до последнего (выходного) слоя. Современные искусственные нейронные сети могут иметь несколько тысяч до несколько миллионов нейронов и миллионов связей. Сигналы и состояние искусственных нейронов являются реальными цифрами, как правило, ограниченными между 0 и 1 (или -1 и 1, зависит от типа функции активации) [115]. Обратное распространение является методом для изменения веса связи, чтобы обучить сеть, используя известные правильные выходы (обучение с учителем). Обучение обычно требует несколько тысяч циклов [116].
На основе искусственных нейронных сетей развиваются области науки: компьютерные технологии, обработка сигналов, медицинские технологии, управление и т.п. [117] Одним из важнейших свойств искусственных нейронных сетей является способность обучения на основе примеров, обучение может быть с учителем, без учителя или гибридным (частично с учителем) [91]. Благодаря возможности обучаться искусственные нейронные сети имеют применения в таких технологиях, как моделирование, анализ временных рядов, распознавание образов и т.п. [118]
Искусственная нейронная сеть состоит из слоев, а каждый слой состоит из нейронов с различными типами связей между ними [119]. Число слоев и число нейронов каждого слоя зависят от конкретной задачи, чем больше число нейронов и число слоев, тем больше времени нужно для обучения. Искусственные нейронные сети имеют очень важное свойство - возможность распараллеливания вычислений при обучение, таким образом обучение сети можно производить на многоядерных, в том числе и графических процессорах, это свойство позволяет эффективно обучать нейронные сети на компьютерах и существенно сократить время обучения[19].
При помощи искусственных нейронных сетей входное пространства преобразуется в выходное, и это преобразование можно легко регулировать изменениями числа слоев искусственной нейронной сети, числа нейронов на слоях и типа связей по требованям задачи [120].
Нейронные сети можно настроить и их функционирование можно контролировать в процессе решения задачи. Структура и конфигурация нейронной сети зависят от сложности конкретной задачи. Очень важное свойство нейронных сетей - возможность адаптации, их настройка можно изменять даже во время обучения по требованиям задач [121].
Основные преимущества искусственных нейронных сетей [122]:
Адаптивное обучение: возможность научиться выполнять задания на основе данных для обучения;
Самоорганизация: Искусственные нейронные сети могут создавать свои структуры и представления информации, которую он получает во время обучения;
Возможность работы в режиме реального времени : Вычисления в искусственных нейронных сетях могут осуществляться параллельно, и специальные технические устройства реализуются, чтобы использовать такую возможность;
Отказоустойчивость: частичное разрушение сети приводит к соответствующему снижению производительности. Однако состояния искусственных нейронных сетей могут быть сохранены даже при их серьезных повреждениях. Это свойство позволяет восстанавливать сетей и продолжать обучение;
Возможность масштабировать: для проверки правильность работы нейронной сети можно использовать небольшую сеть и тестировать на небольшие выборки данных, а при решении реальных задач можно увеличить количество слоев и нейронов, и размер выборки данных;
Возможность распараллеливания вычислений и реализации алгоритмов обучения сети на компьютерах с многоядерными процессорами или на множестве компьютеров;
Чем отличаются искусственные нейронные сети от обычных компьютеров в решении задач. Обычные компьютеры используют алгоритмический подход, т. е. компьютер следует набор инструкций для того, чтобы решить проблему. Компьютер может решить эту проблему только при условии, что известны конкретные шаги, которые он должен следовать. Но компьютеры были бы намного более полезно, если они могли бы сделать вещи, которые мы не знаем, как это сделать. Эта возможность есть у искусственных нейронных сетей. Нейронные сети обрабатывают информации каким образцом, таким как человеческий мозг. Нейронные сети состоят из взаимосвязанных нейронов, работающих параллельно, чтобы решить конкретную проблему. Нейронные сети обучаются на примерах. Они не могут быть запрограммированы для выполнения определенных задач. Примеры должны быть тщательно подобраны, в противном случае полезного времени тратится впустую, или еще хуже нейронные сети могут неправильно функционировать. Недостатком нейронных сетей является то, что, так как нейронные сети сами решают задачу, его работа может быть непредсказуемой [123].
Теория нейронных сетей зародилась в 40-х годах прошлого века и до сих пор постоянно развивалась. Прошло более 60 лет, но теория нейронных сетей еще далека от завершения. Существует огромное количество нерешенных проблем теории нейронных сетей, которые возникают при решении различных сложных задач [124].
В самой теории нейронных сетей развиваются много разных направлений исследования, для решения конкретных задач (распознавание образов, криптография, анализ характеристик сигналов, логистические системы) придуманы различные архитектуры нейронных сетей (такие как сверточные нейронные сети, рекуррентные нейронные сети т.п.) [125]. Эти исследования с одной стороны позволят эффективно продвигаться в части , а с другой стороны позволят использовать заранее заданные свойства. Такие исследования в полной мере требуют огромное количество вычислений, и могут быть проведены только с использованием высокопроизводительных систем, можно сказать, что развитие компьютерных технологий является основой для развития теории нейронных сетей [126].
Многослойные нейронные сети - это модель искусственной нейронной сети, которая принимает на входе наборы входных данных и выдает на выходе множество соответствующих данных. Многослойные нейронные сети состоят из слоев, при этом каждый слой состоит из множества узлов (нейронов) и подключается к следующему. Кроме входных узлов, каждый узел является нейрон с нелинейной функцией активации. Для обучения многослойных нейронных сетей используется алгоритм обратного распространения ошибки, который основан на методе градиентного спуска. Алгоритм обратного распространения ошибки был впервые описан А.И. Галушкиным [127], и Полом Дж. Вербосом [128] независимо и одновременно в 1974 г. Многослойные нейронные сети были популярным решением машинного обучения в 1980-е годы, их применения широко исползовались и до сих пор используются в различных областях, таких как распознавание речи, распознавание образов и машинный перевод, но уже с 1990-х годов столкнулись с сильной конкуренцией со стороны опорных векторов. В последнее время наблюдается некоторое возрождение интереса к многослойной нейронной сети обратного распространения в связи с успехами технологий глубокого обучения.
Разработка математического и алгоритмитического обеспечения вычислительного комплекса рекурсивного автоэнкодера морфологического анализа
За последние несколько лет, нейронные сети вновь появились в качестве мощных моделей машинного обучения, показали лучшие результаты в таких областях, как распознавание образов и обработки речи [151]. Еще совсем недавно, ней-росетевые модели начали применяться также к различным задачам обработки естественного языка, тоже с очень хорошими результатами [152]. Традиционная модель «мешок слов» вместе с классификаторами, которые используют эту модель, таким как байесовский метод, были успешно использованы для того, чтобы получать очень точные прогнозы в задаче анализа текстов по эмоциональной окраске [153]. С появлением технологий глубокого обучения и их применения в обработке естественного языка, было сделано улучшение точности этих методов в двух основных направлениях: использование нейронной сети с учителем для обучения классификатора, и без учителя для оптимизации, предварительной обработки данных и выбора характеристик [31]. Другое направление применения нейронных сетей в обработке естественного языка - нейронный машинный перевод, это новый подход, при котором машины учатся переводить тексты используя нейронную сеть [154]. Такой подход становится все более популярным среди исследователей и разработчиков систем машинного перевода, так как системы нейронного машинного перевода начали показывать лучшие результаты для многих языковых пар по сравнению с статистическими методами машинного перевода [155].
Морфология имеет важное значение в обработке естественного языка, в том числе для анализ и генерации текстов. Существует широкий спектр таких приложений, например, извлечение информации из текстовых сообщений или диалоговых систем, машинный перевод [156]. Морфологический анализ является важной частью синтаксического анализа [157]. Свойства слов, полученные в результате морфологического анализа (леммы и его части речи) используются для глубокого анализа текстов [158]. Другой важной задачей является лемматиза-ция [159] - поиск соответствующей словоформы для данного входного слова.
В этой главе рассмотрим нейросетевые подходы к классификации текстов на основе морфологического анализа [40].
В лингвистике, морфологией [160] называется изучение слов, способов их формирования, и их отношения с другими словами на том же языке. Морфология анализирует структуру и части слов, такие как леммы, корень слова, префиксы и суффиксы. Морфология также рассматривает части речи, ударение и взаи мосвязи между контекстом и смыслом слов. Морфология отличается от морфологической типологии, которая является классификацией языков на основе использования слов и лексикологии, которая изучает слова и то, как они составляют языковые словари.
Слово, как правило, считается наименьшей единицей синтаксиса, в большинстве языков, если не во всех, многие слова могут быть связаны с другими словами по правилам, которые описывают грамматику этого языка. Например, слова “собака” и “собаки” тесно связаны между собой, отличаются только суффиксом “-а” и “-и”, и такие правила применяются к многим другим существительным. И так, слова образуются из более мелких единиц в языке, который они используют и эти единицы взаимодействуют в речи по морфологическим правилам. Таким образом, морфология - это раздел лингвистики, изучающий правила формирования словоформы конкретных языков и правила, которые моделируют знания на этих языках [161].
Морфологический анализ - процесс поиска морфологических разборов слов [162]. Цель морфологического анализа - выяснить, из каких морфем построены слова. Например, морфологический анализатор должен сказать, что слово “кошки” является формой множественного числа существительного “кошка”, и слово “мыши” является формой множественного числа существительного “мышь”. Таким образом, принимая слово “кошек” в качестве входных данных, морфологический анализатор должен производить выход, похожий на “кошка NOUN femn plur gent”.
Морфологический разбор дает информацию, которая полезна во многих приложениях обработки естественных языков [163]. Морфологический анализ помогает узнать особенности слов и грамматики. Морфологическая информация также помогает проверять орфографию, чтобы решить, является ли какой-то токен словом или нет. Например, в документах можно использовать для поиска не только слово “кошки”, если пользователь задает запрос “кошки”, но и слово “кошка”.
В настоящее время большинство методов обработки и классификации текстовой информации не учитывают морфологические характеристики, а используют только статистические меры. Такие методы не полностью отражают семан тические значения текстов, разные словоформы одной и той же леммы могут считать разными объектами, например “машина” и “машины”, что увеличивает вероятность ошибки при обработке и классификации. Целью данной работы является использование морфологических характеристик при обработке текстов, для того, чтобы компьютер мог изучать языки как человек, т.е. понимать грамматику и взаимосвязи между элементами текстов [164]. В данной работе используются два главных источника для создания морфологических словарей: Открытый корпус для русского языка Открытый Корпус [165] — это проект по созданию русского морфологического словаря и корпуса текстов с лингвистическими разметками на русском языке, которые являются свободно доступными для использования.
Корпуса размеченных текстов используются для решения лингвистических задач, например, классификации текстов, автоматической морфологической разметки (part-of-speech tagging), распознавания речи и т.п. В размеченных корпусах частям текста приписана лингвистическая информация [166].
Создание размеченных корпусов требует много времени и сил. Размеченные корпуса часто создаются при поддержке государственных организаций, и количество таких корпусов невелико. Однажды созданные корпуса помогают многим исследователям в решении различных задач. Чтобы корпуса могли максимально помогать научному сообществу, нужно, чтобы они были свободно доступны для просмотра через интерфейс и скачивания для дальнейших обработки и использований.
Экспериментальное исследование нейро-семантической сети на основе морфологического анализа
Для создания морфологических словарей нужно собрать морфологические данные языков (в данной работе используются OpenCorpora для русского языка и PennTreeBank для английского). Все слова нужно группировать по леммам, потом для каждой леммы ищем общий префикс (самый длинный общий префикс всех словоформ этой леммы) и составляем список (суффикс, морфологические характеристики). Поскольку суффиксы и наборы морфологических характеристик повторяются во многих словоформах, создаем модели морфологических характеристик и модели (суффикс, морфологические характеристики). Построим дерево для хранения префиксов и моделей (суффикс, морфология).
Для поиска морфологических вариантов словоформы необходимо обходить дерево по символам этой словоформы [180], проверять совпадение префикса и суффикса каждого элемента моделей словоформе, если они совпадают, то морфологические признаки этого элемента добавляются в список морфологических вариантов словоформы. Для разрешения морфологической многозначности применяется скрытая модель Маркова и алгоритм Витерби [181].
Вычислительный комплекс-классификатор текстов с использованием морфологического анализа и нейро-семантических сетей:
1. Токенизатор: на вход подается текст, на выходе список предложений, каждое предложение имеет вид списка слов.
2. Морфологический анализатор: на вход подается предложение в виде последовательности слов, на выходе список пар (id леммы, id модели морфологических характеристик)
3. Классификатор: на вход подается список пар (id леммы, id модели морфологических характеристик), на выходе - распределение категорий.
Векторизация слов и морфологических моделей: В данной работе не используется готовый набор векторных представлений слов, а представления обучаются с нуля. Для вычисления векторных представлений слов и морфологических моделей используется метод word2vec с помощью модели CBOW (Continuous Bag-of-Words) [28].
После морфологического анализа текста и получения последовательности пар (id леммы, id модели морфологических характеристик), применяем метод CBOW для обучения векторных представлений слов и морфологических моделей. После обучения получаем представления в виде: WordVector(id леммы) и MorphologyVector(id модели морфологических характеристик). Эти наборы представлений используются в дальнейшей обработке и классификации.
Нейро-семантическая сеть на основе морфологического анализа: Для оценки алгоритмов был использован метод K-Fold Cross-validation с параметром K = 10.[182]: разделим выборку данных на К частей. Повторяем процесс К раз с i = 1 .. K: 1. Обучать все К частей, кроме i-ой части, которая для тестирования. 2. Считаем результаты обучения и тестирования на этой итерации: Считаем средние значения результатов обучения и тестирования на всех К итерациях.
При проведении экспериментов использовались базы Movie Review и Wikinews на русском и английском языках. Обучающая выборка Movie Review состоит из 10662 текстов по двум категориям (позитивной и негативной). Обучающая выборка Wikinews-Ru состоит из 7233 текстов - новостей на русском языке, её количество категорий равно 8. Обучающая выборка Wikinews-En состоит из 23588 текстов - новостей на английском языке, её количество категорий равно 11.
Для улучшения английского морфологического словаря был добавлен набор данных Lingvo.
Экспериментальное исследование нейро-семантической сети на основе морфологического анализа Нейро-семантическая сеть [40] состоит из трех последовательных частей:
1. Часть «семантические векторные представления», которая вычисляет векторные представления грамматических структур предложений, содержит авто-энкодеры по заданным грамматическим структурам (SVO, SVA, ...), которые принимают на вход слова в виде пар (вектор, морфология) и объединяют их в одну пару.
Список используемых грамматических структур для семантических векторных представлений: AN (прилагательное - существительное); SVO (субъект - действие - объект); SVA (субъект - действие - наречие); Для обучения части семантических векторных представлений используются автоэнкодеры разных размеров (nxfc, где п - количество элементов в грамматической структуре (например, п = 2 для AN, п = 3 для SVO и SVA), к - размер векторного пространства слов, равно 300). 2. Часть «распределение по категориям сематического представления», которая принимает на вход объединенный вектор и вычисляет распределение категорий по предложению, является слоем Softmax. 3. Часть «распределение по категориям текста», которая принимает на вход распределения категорий по предложениям и вычисляет распределение категорий по тексту