ПРИМЕНЕНИЕ НЕЙРОННЫХ СЕТЕЙ В ЗАДАЧАХ ОБРАБОТКИ
ТЕКСТОВЫХ ДАННЫХ Р.О. Белоус, Ю.А. Чернятина Научный руководитель - к.т.н., доцент И.А. Бессмертный
В докладе рассматриваются вопросы анализа текстов на естественном языке с помощью нейронных сетей. Очерчивается круг задач, требующих анализа текстовых данных, рассматриваются сопутствующие вопросы, проблемы и решения. Обосновывается необходимость развития данного направления.
Введение
Широкое развитие компьютерных технологий и коммуникаций привело к появлению мощных информационных массивов и потоков, аналогов которым в прошлом не существовало. Например, ежедневный объем публикаций электронных средств массовых информаций не позволяет даже бегло с ними ознакомиться одному человеку. Распределение этой задачи среди нескольких исполнителей приведет к проблеме коммуникации и координирования работ между ними. В то же время анализ публикаций может быть очень ценным средством получения актуальной информации, ценной для получения компанией конкурентного преимущества. Многие фирмы имеют специальные отделы информационной безопасности, которые отслеживают и анализируют публикации, посвященные компании и конкурентам. Те же методы могут использоваться, например, для проверки новых сотрудников. Изучая след человека, оставленный в интернет-форумах, блогах и социальных сетях, можно сделать определенные выводы о его личности.
Довольно очевидно, что постоянное изучение всего потока информации по конкретной тематике, более того, даже формирование такого потока без применения автоматизированных средств - практически безнадежная задача. И - конечно же - эти средства появляются. Они могут принимать разнообразные формы, но нас интересуют методы, лежащие в основе этих средств. В течение последних 20 лет активно развиваются методы интеллектуального анализа и получения информации из массивов данных. Этот класс методов называют Data Mining, что на русский язык можно привести примерно как «добыча данных», «извлечение данных». Это междисциплинарная область, возникшая и развивающаяся на базе таких наук, как прикладная статистика, искусственный интеллект, теория баз данных и др. [1]. Изначально Data Mining возник для обработки высокоструктурированных реляционных данных, но развитие технологий требует применения подобных средств для менее структурированных данных.
Примером слабо структурированных данных может служить простой текст. Другим примером (так называемых полуструктурированных данных [2]) служат XML-документы. Текст является универсальным средством представления, накопления и передачи знаний в человеческом обществе. Кроме того, преобразовать текстовый документ в реляционное представление практически невозможно без потери семантики текста и отношений между сущностями, не говоря уж о накладных расходах на подобное преобразование. В то же время в тексте скрыто огромное количество информации, но ее анализ методами Data Mining невозможен в силу неструктурированности. Решением этой проблемы занимаются методы анализа текстовой информации - Text Mining [2, 3].
Задачи Text Mining
Рассмотрим, каковы типичные задачи анализа текстов [2]. Среди них присутствуют как задачи, характерные для Data Mining в целом, так и более специфичные. К первой группе относятся задачи классификации и кластеризации, ко второй - автоматиче-
ское аннотирование, извлечение ключевых понятий, навигация по тексту, анализ трендов, поиск ассоциаций.
Одной из наиболее распространенных задач является классификация. Цель классификации состоит в определении некоторого набора категорий из заранее заданного множества, к которым относится документ. Классификация может использоваться для определения тематики документов, установки тегов и тому подобное.
Второй задачей является кластеризация документов. Целью этого процесса является автоматическое выделение групп семантически похожих документов среди заданного фиксированного множества. Группы формируются исключительно на основе попарной схожести описаний документов. Никакие характеристики групп не задаются заранее.
Автоматическое аннотирование позволяет сократить текст, сохраняя его смысл. При этом, объем аннотации, как правило, регулируется пользователем, что позволяет выбрать желаемый уровень детализации.
Извлечение ключевых понятий позволяет идентифицировать факты и отношения в тексте. Часто такими понятиями оказываются собственные имена существительные: имена людей, названия организаций и другие.
Навигация по тексту предоставляет в распоряжение пользователя компактное интерактивное изображение массива документов с выделенными темами и значимыми терминами. Пользователь может выбрать интересующее его подмножество документов и перемещаться между связанными текстами, например, с помощью автоматически сгенерированных гиперссылок.
Анализ трендов позволяет идентифицировать определенные тенденции в наборах документов. Это может быть использовано, например, для обнаружения перемещения интересов компании от одного сегмента рынка к другому.
Поиск ассоциаций заключается в выявлении ассоциативных отношений между ключевыми понятиями текста.
Для решения вышеприведенных задач разработан ряд методов. Как правило, это обычные алгоритмические методы. С другой стороны, существует класс мощных методов, которые хороши для решения, как минимум, некоторых из указанных задач. Это нейросе-тевые методы. Теория нейронных сетей возникла и развилась, как попытка объяснить принципы функционирования мозга. Нейронные сети оказались весьма гибким и эффективным методом решения некоторых задач, которые плохо решаются другими методами.
Нейронная сеть состоит из формальных нейронов. Каждый нейрон является простым вычислительным элементом со многими входами и одним выходом. Каждый вход нейрона с номером г обладает синаптическим весом Wi и уровнем сигнала хг. Как правило, нейроны вычисляют взвешенную сумму входов, и результат подвергается воздействию некоторой нелинейной функции / (функции активации нейрона): у = . xjwi) (см. рис. 1).
Нейросетевые методы
Рис. 1. Формальный нейрон с векторным входом X, вектором весов Ш, функцией активации f и выходным сигналом у
Нейроны организуются в слои. Векторный вход X = {хг }0 подается на каждый
нейрон слоя (т.е. каждый нейрон имеет N входов). Выход всех нейронов одного слоя служит входом для следующего слоя. Нейронные сети обычно классифицируется по количеству слоев (однослойные и многослойные), по наличию обратных связей (рекку-рентные или прямого распространения), по способу обучения (с учителем или без учителя) [5].
Применение нейронных сетей для анализа текстовых данных не слишком распространено по ряду причин. Одна из основных причин та, что нейронные сети не приспособлены к работе с символьными данными, а требуют числовых входов. Тем не менее, существуют определенные возможности для такой обработки и, возможно, они могут послужить ключом к объяснению того, как наш мозг работает с текстовыми данными. Как известно, наше мышление носит символьный характер (логика, мы не говорим здесь о явлении интуиции). Существует значительный пробел в знаниях о том, как работает мозг на «низком» уровне (нейронные сети представляют собой неплохую модель этих процессов) и как работает наше сознание. Возможно, изучение возможностей нейронных сетей для обработки текстовых данных позволит когда-нибудь пролить свет на этот вопрос.
Наиболее интересными архитектурами нейронных сетей, пригодными для обработки текстовых данных, являются самоорганизующиеся карты Кохонена и сети рекурсивной автоассоциативной памяти. Расскажем о них подробнее.
Конкурентные сети
Принципы работы и обучения самоорганизующихся карт были сформулированы финским ученым Тойво Кохоненом в 1982 г. Основной идей Т. Кохонена является введение в правило обучения нейрона информации о его расположении. По Кохонену, нейронная сеть имеет один входной слой с числом нейронов, равным числу входов, и единственный скрытый (выходной) слой нейронов, образующий одномерную (линия) или двухмерную (прямоугольник) решетку. По аналогии с топографическими картами такую сеть также называют картой Кохонена. Архитектура сети изображена на рис. 2.
Для этой парадигмы обучение проводится без учителя, т.е. в процессе обучения нет сравнивания выходов нейронов с эталонными значениями. В процессе обучения на вход такой нейронной сети последовательно подаются обучающие примеры. После подачи очередного примера определяется наиболее схожий нейрон, т. е. нейрон, у которого скалярное произведение весов и поданного на вход вектора минимально. Такой нейрон объявляется победителем и будет являться центром при подстройке весов у соседних нейронов. Правило обучения, предложенное Кохоненом, предполагает соревновательное обучение с учетом расстояния нейронов от «нейрона победителя» и записывается в виде Лw■ = Д\(|г -/*|)(хг - wг), где Л(|г - г* ) - функция соседства, определяющая
величину корректировки веса нейрона, wг■ - веса 1-го нейрона, в - скорость обучения. Для нейрона-победителя функция соседства равна 1 и затем плавно (по линейному или экспоненциальному закону) уменьшается при удалении от него. Таким образом, в процессе обучения, подстройка весов происходит не только в одном нейроне-победителе, но и в его окрестностях.
После окончания процесса обучения карта Кохонена классифицирует входные примеры на группы схожих. Вся совокупность нейронов в выходном слое точно моделирует структуру распределения обучающих примеров в многомерном пространстве. Уникальность технологии самоорганизующихся карт состоит в преобразовании ^го пространства в двух- или одномерное. Единственное, что надо помнить - такое преоб-
разование сопряжено с некоторыми ошибками. Две точки, близко лежащие на карте Кохонена, будут близки и в ^-мерном входном пространстве, но не наоборот.
Рис. 2. Архитектура самоорганизующейся карты Кохонена
На основе данной архитектуры финскими учеными были предложены решения задач кластеризации документов и навигации в текстовых массивах [4]. Разработанный ими метод WEBSOM предназначен для представления массивов полнотекстовых документов в виде двумерной карты, раскраска которой отражает плотность распределения образов документов. Конкретные документы при этом связываются со своими областями карты, причем к каждой области может относиться множество близких по содержанию документов - тематический класс. В свою очередь, близким областям обычно соответствуют близкие классы документов, что является основной особенностью карты. Области карты именуются в зависимости от содержания документов, к ним относящихся. Пользователь выбирает на карте интересующую область и получает класс соответствующих ей документов близкого содержания. Если же ищутся документы, включающие некоторые слова, то результаты поиска также могут быть отражены на карте, что достигается выделением областей, которым принадлежат найденные документы. В итоге пользователь получает возможность оценить тематическое распределение искомой информации.
Развитием конкурентных сетей, подобных сетям Кохонена, являются сети LVQ (Linear Vector Quantization). Нейронная сеть LVQ состоит из двух последовательно соединенных слоев нейронов: конкурирующего слоя и линейного слоя. Оба слоя НС LVQ содержат по одному конкурирующему на каждый кластер и одному линейному нейрону на каждый целевой класс. Обозначим S1 - количество кластеров, S2 - количество целевых классов (S1 всегда будет больше, чем S2). Конкурирующий слой производит разделение множества входных векторов X на классы, выделяя центры сосредоточения входных векторов mi. Для этого определяются расстояния между входными векторами x и начальными значениями центров кластеров. Линейный слой преобразует класс входного вектора, определенный конкурирующим слоем (кластер a1), в класс, определенный пользователем - целевой класс a2. Соответствующие n2 подаются на выходы всех линейных нейронов, образуя двоичный вектор a2, все элементы которого равны 0, за исключением элемента, который соответствует целевому классу (этот элемент равен 1). Таким образом, LVQ - сеть имеет два слоя: соревновательный - выполняющий кластеризацию входных элементов; линейный - соотносящий кластеры входных элементов с выходными классами. Архитектура сети LVQ изображена на рис. 3.
Рис. 3. Архитектура сети ЬУО Рекурсивная автоассоциативная память
Третьей интересующей нас архитектурой является рекурсивная автоассоциативная память (ЯЛЛМ), предложенная в 1990 г. Поллаком [6]. Целью ЯЛЛМ является представление символьных структур средствами нейронных сетей. Символьные структуры представляют собой деревья фиксированной валентности. По существу, сеть ЯЛЛМ является автоассоциативной сетью с обратным распространением ошибки. Во входном и выходном слоях ЯЛЛМ элементы организованы в поля, где каждое поле содержит одинаковое число элементов. Число полей определяется валентностью кодируемых деревьев, а число элементов в скрытом слое соответствует числу элементов одного поля. Если взять сеть ЯЛЛМ, обученную представлять некоторое множество деревьев, то эту сеть можно рассматривать как два автомата: первый слой весовых значений является автоматом для создания представлений деревьев (его называют кодером), а второй слой - автоматом, разбивающим созданное представление на составные части (его соответственно называют декодером). Схематичное изображение архитектуры ЯЛЛМ представлено на рис. 4.
Представление некоторой структуры в сети ЯЛЛМ порождается значениями скрытого активности слоя. В процессе создания представления всего дерева ЯЛЛМ генерирует представления для каждой внутренней вершины (поддерева). Деревья являются рекурсивными структурами, и ЯЛЛМ формирует их представления некоторым рекурсивным образом с помощью обратной подпитки входного слоя ранее сформированными представлениями частей, происходящей в определенные моменты времени.
Конкретные символы в сети представляются векторами. Как правило, применяются ортогональные векторы. Размерность векторов, представляющих символы, определяет минимальное число элементов, образующих поле ЯЛЛМ. Поскольку число элементов скрытого слоя меньше числа входных элементов, то им порождается сжатое представление. Но показатель сжатия зависит от конкретного набора входных данных, в связи с чем может возникнуть необходимость дополнить векторы нулями.
Значения активации скрытого слоя формируют распределенное пространственное представление символов, поданных на вход сети. Пространственное размещение разных символьных структур может быть проанализировано с помощью самоорганизующейся карты с целью выявления их топологической структуры. Пока сложно сказать, насколько полученный результат будет содержателен. Но мы уверены, что подобная операция может быть применена, например, для выделения определенных структурных шаблонов в тексте.
► Декодер
Кодер
Рис. 4. Схематичная архитектура двоичной сети ВДДМ Заключение
Представление символьных структур и их анализ с помощью нейронных сетей представляется интересным и полезным направлением в теории нейронных сетей. Мы рассмотрели несколько архитектур нейронных сетей, которые, с нашей точки зрения, заслуживают более подробного изучения в данном контексте. Наша дальнейшая работа будет посвящена конкретным экспериментам в этой области. Таким образом, очерчен круг проблем для дальнейшего изучения и экспериментирования и обозначены потенциальные возможности применения некоторых нейросетевых моделей для анализа текстовой информации.
Литература
1. Чубукова И.А. Data Mining. - М: БИНОМ, 2006. - 382 с.
2. Барсегян А.А. и др. Технологии анализа данных. - СПб: БХВ-Петербург, 2007. -384 с.
3. Башмаков А.И., Башмаков И.А. Интеллектуальные информационные технологии. -М: Издательство МГТУ им. Н.Э. Баумана, 2005. - 304 с.
4. WEBSOM - Self-organizing Maps for Internet Exploration [электронный ресурс]. -Режим доступа: http://websom.hut.fi/
5. Хайкин С. Нейронные сети: полный курс. - М: Вильямс, 2006. - 1104 с.
6. Каллан Р. Основные концепции нейронных сетей. - М: Вильямс, 2001. - 288 с.