НЕЙРОСЕТЕВОЙ ПОДХОД К АНАЛИЗУ ТЕКСТА А.В. Луканин, А. Микушева, Д. Гребельная Факультет лингвистики Южно-Уральский государственный университет В статье приводятся результаты экспериментов по моделированию речемыслительной деятельности человека на примере допустимости сочетаний морфем при образовании слов и слов при образовании словосочетаний с использованием искусственных нейронных сетей. 1. Введение Субсимвольный подход при моделировании естественного языка с помощью искусственных нейронных сетей оправдал себя в задачах переработки естественного языка [Mikkulainen]. Одной из популярных архитектур искусственных нейронных сетей для моделирования синтаксиса является простая рекуррентная сеть [Elman, 1990; 1991; Stolcke]. В данной работе нас интересует не уровень грамматики, а семантика, влияющая на допустимость сочетаемости компонентов. Мы рассматриваем два языковых уровня – уровень морфем и уровень слов, семантика которых моделируется с помощью многослойного персептрона. Выбранная модель нейронной сети, по нашему мнению, лучше отражает структуру оперативной памяти человека при обработке последовательностей, состоящих из двух компонентов (основы и морфемы, словаприлагательного и слова-существительного). 2. Прогнозирование допустимости сочетания морфем В данном разделе приводятся результаты проведенного нами эксперимента по обработке нейронной сетью информации о допустимости различных словоформ русского языка, образованных от 12 словообразовательных суффиксов. Основное внимание при генерации слов мы уделяем семантике данных суффиксов, что объясняет нарушение правил морфотактики и морфофонемики русского языка в некоторых случаях. Полученные словоформы будут закодированы методом усеченного кодирования и послужат входной информацией. В качестве выходной информации мы используем усредненную оценку допустимости данных словоформ, полученную на основании опроса носителей русского языка. 2.1 Сбор и предобработка анализируемой информации Мы рассматриваем словообразовательные модели русского языка, на примере использования 12 словообразовательных суффиксов. Материал для исследования взят из [Словообразовательный словарь русского языка]. Для проведения эксперимента мы выбрали в произвольном порядке 24 существительных, представляющих собой производные формы, образованные с использованием одного из 12 указанных суффиксов, по два слова на каждый суффикс: -ик (животик, кедрик), -ист (экономист, юрист), -ка (агрономка, гуска), -ник (частник, очник), -ок (бегунок, квасок), -ор (комментатор, редактор), -ость (бедность, правость), -ство (институтство, шаманство), -тель (мыслитель, удлинитель), -чик (наладчик, резчик), -ша (адмиралша, инспекторша), -щик (крановщик, мыльщик). Соединив производящие основы указанных слов с данными суффиксами, мы получили 288 словоформ, многие из которых заведомо неверны, так как образованы с нарушением правил морфотактики и морфофонемики русского языка. Для достижения более полного тематического охвата мы выбрали слова с каждой тридцатой страницы. В результате получили более 250 словоформ, из которых случайным образом выбрали 24 существительных. Нас интересует моделирование восприятия словообразовательного процесса человеком с использованием нейронных сетей как средства, максимально близко передающего когнитивные процессы, следовательно, нас интересуют как слова, реально существующие в языке, так и слова, являющиеся приемлемыми с точки зрения носителя языка. Именно поэтому мы используем слова, выбранные из словаря наряду со словами, заведомо не несущими смысла, но образованные от значащих основ. На наш взгляд такой подход позволит выявить существенные моменты в порождении новых слов и функционировании словообразовательных процессов. В ходе эксперимента мы проводили опрос людей различного пола, возраста и социального положения с целью выяснения восприятия данных слов с точки зрения правильности и грамматической допустимости данных слов, с одной стороны, и с точки зрения возможности существования данных слов без относительно их лексического наполнения, с другой стороны. Для этого, часть людей, а именно - 21 человек, мы попросили выбрать правильные слова из предоставленного списка, а другую часть (20 человек) - понравившиеся или приятные слова. Опрос проводился среди людей в возрасте от 18 до 50 лет, в нем принимали участие студенты ЮУрГУ приборостроительного, исторического факультетов, а также факультета лингвистики, второго, третьего и четвертого курсов, помимо этого, были опрошены сотрудники компании "Компас +". В опросном листе, включавшем все образованные словоформы, участники опроса отмечали выбранные ими слова. Затем, для каждого слова подсчитывалась средняя частота положительных ответов из двух групп опросных листов, учитывая таким образом правильность слов и интуитивный выбор возможных слов. На основании этой числовой оценки нейронная сеть обучалась оценивать приемлемость данной словоформы для носителя языка. Распределение значений вероятности допустимости данных слов в языке находится в диапазоне от 0 до 1. Для кодировки 24 слов и 12 суффиксов методом усеченного кодирования [Луканин, c. 43] потребовалось 18 разрядов. Мы применили данный вариант кодирования, кодируя основы заданных слов и суффиксы одним списком по алфавиту. На вход нейронной сети подаются векторы словоформ, сформированные путем конкатенации полученных векторов. Например, слово «редактор» при усеченном алфавитном кодировании будет выглядеть следующим образом 111111111111000000111111111111111100 («редакт» - 111111111111000000, «ор» 111111111111111100). Таким образом, для кодирования конечных словоформ используется 36 разрядов. Нелинейный характер нейронной сети определяется количеством нейронов в скрытом слое. Эмпирическим путем мы установили, что нейронная сеть обучается эффективнее при 5 нейронах на скрытом слое. Для установления этого мы обучали нейронную сеть с 5, 6, 7, 10 нейронами на скрытом слое. 2.2 Интерпретация и анализ полученных результатов Результаты проверки обучения данной сети представлены в таблице 1, в ней отражены ошибки, допущенные сетью при обучении на половине примеров и на 60 % множества слов. Для каждого суффикса приведены количественные и долевые показатели. Общее количество ошибок при проверке 126 слов составляет 27, а при проверке 144 слов - 49. Суффиксы, расположены в соответствии со значениями, которые они выражают: -ик, -ок - относятся к модификационному словообразовательному типу, они несут уменьшающее значение, являются стилистически окрашенными; -ка, -ша - относятся к модификационному типу, придают производному слову значение женского рода; -ость, -ство - относятся к транспозиционному типу, несут значения абстрактного действия, обобщения какого-либо процесса или явления; 2 -ник - относится к мутационному словообразовательному типу, несет значение принадлежность к какому-либо классу; -ист, -ор, -тель - относятся к мутационному типу, несут значение деятеля; -чик, -щик - относятся к мутационному типу, несут значения исполнителя. Таблица 1. Распределение ошибок по суффиксам в двух выборках. ошибки обучения сети при проверке на 40 % слов Суффиксы количество доля от общего ошибок количества ошибок ик 0 0 ок 2 0,07 ка 3 0,10 ша 4 0,14 ость 1 0,03 ство 1 0,03 ник 2 0,07 ист 6 0,21 ор 2 0,07 тель 3 0,10 чик 1 0,03 щик 4 0,14 ошибки обучения сети при проверке на 50 % слов количество доля от общего ошибок количества ошибок 3 0,06 3 0,06 4 0,08 5 0,10 3 0,06 4 0,08 4 0,08 5 0,10 5 0,10 2 0,04 6 0,12 8 0,15 Таким образом, данная нейронная сеть с относительным успехом спрогнозировала допустимость в русском языке представленных словоформ, так как в среднем ошибочно определено 28 процентов слов. Причем, при проверочной выборке, составившей 40% от всех заданных слов, доля ошибок (0,23) была меньше соответственной доли (0,36) при проверочной выборке, составившей 50% от всех заданных слов, что указывает на то, что при обучении сети эффективней использовать не равное разделение информации на подмножества. Необходимо обучать сеть на большем количестве примеров, что вполне соответствует естественному процессу обучения человека. Как видно из приведенной выше таблицы наиболее ровно (то есть разброс значений доли ошибок не превышал 0,04) были спрогнозированы группы слов со следующими суффиксами: модификационные -ик, -ок, причем из данных конкурирующих суффиксов победили слова с суффиксом -ик; как и в группе мутационных -щик, -чик победил суффикс -чик. мутационные -ник, распределение доли ошибок которого практически одинаково для обоих выборок; транзитивные -ость, -ство, снизившие количество ошибок в меньшей проверочной выборке. Наибольшее количество ошибок, связано с определением допустимости слов со значением деятеля. Возможно, это было следствием того, что в данной группе больше всего представителей, а также тем, что суффиксы -ист, и -ор носят заимствованный характер, что накладывает на их употребление более жесткие ограничения. Данная модель анализатора не является законченной, в дальнейшем планируется решать с использованием искусственных нейронных сетей задачи классификации определенных словоформ, а также провести исследование, основанное на прогнозировании допустимости слов, образованных по иным словообразовательным моделям. Полученные данные показали, что данная нейронная сеть справилась с задачей на 72%, что говорит о возможности и приемлемости данного подхода к анализу 3 лингвистической информации, с одной стороны, и о недоработках либо в алгоритме работы, либо в подборе оценки входных данных, с другой стороны. Этот факт побуждает к дальнейшему исследованию функционирования нейронных сетей, как метода обработки лингвистической информации. 3. Прогнозирование допустимости сочетания слов Лексическими составляющими в данном эксперименте являются 30 слов, из которых 20 прилагательных и 10 существительных. Существительные объединены общим семантическим полем “друг”. Таким образом, главными словами в наших словосочетаниях являются следующие существительные: брат, друг, знакомый, коллега, однокашник, партнер, приятель, соратник, сосед, товарищ. Нами были отобраны следующие прилагательные в качестве зависимых слов: близкий, верный, давний, давнишний, закадычный, заносчивый, искренний, лучший, надежный, настоящий, новый, очередной, плохой, скучный, случайный, старинный, старый, фронтовой, хороший, школьный. Однако не все прилагательные, которые были выбраны для исследования, сочетались по смыслу с каждым существительным из списка. Это было сделано для того, чтобы показать и обучить нейронную сеть тому, что не всегда словосочетания, которые являются стилистически и грамматически верно построенными, адекватны с точки зрения семантики. Данные слова (прилагательные и существительные) были взяты из Русского ассоциативного словаря [Караулов, Черкасова], Словаря сочетаемости слов русского языка [Денисов, Морковкин], Словаря синонимов русского языка [Евгеньева], Словаря русского языка [Ожегов] и отобраны по принципу наибольшей частотности употребления. Были составлены субстантивные словосочетания с каждым существительным и прилагательным из списка, т.е. всего 200 словосочетаний. Тип словосочетаний: свободные (т.е. сохраняются самостоятельные лексические значения всех входящих в него знаменательных слов), субстантивные (главное слово - существительное), с точки зрения стилистики словосочетания построены с помощью нейтральной (близкий, хороший, друг, коллега) и разговорной лексики (приятель, соратник, давнишний, очередной). Грамматическое согласование – именительный падеж, единственное число, мужской род. Частотность употребления составленных нами словосочетаний невозможно проверить с помощью словаря сочетаемости, так как в данном словаре представлены наиболее употребительные, и некоторые из используемых нами словосочетаний не встречаются в данном источнике. Поэтому мы использовали информационнопоисковую систему Yandex. Число сайтов, возвращаемое при запросе каждого словосочетания использовалось как показатель частоты его употребления. Разброс частот всех словосочетаний приводился к диапазону [0; 1]. Мы создали бинарную градацию, которая характеризует частотность употребления того или иного словосочетания: 4 оценки, кодируемые 2 разрядами (2²). Если значение принадлежало промежутку от 1 до 0,0923, то мы присваивали оценку 11 (3 в двоичной системе счисления), что означает, что данное словосочетание очень часто встречается (лучший друг, настоящий друг). Если значение принадлежало промежутку от 0,0873 до 0,0062, то мы присваивали оценку 10, что означает, что данное словосочетание встречается достаточно часто (давний друг, старый приятель). Если значение принадлежало промежутку от 0,0052 до 0,0010, мы присваивали оценку 01, т.е. данное словосочетание встречается редко (близкий соратник, давний партнер). Если значение принадлежало промежутку от 0,0009 до 0, мы присваивали оценку 00, что означает, что данное словосочетание практически никогда не используется, либо вообще не употребляется (закадычный приятель, очередной товарищ). Все слова из списка были закодированы с использованием простого бинарного кодирования по алфавиту [Луканин, с. 43], но в данном списке шли сначала прилагательные по алфавиту, затем существительные по алфавиту, пронумерованные от 0 до 29. Например, словосочетанию лучший друг присваивался код 0011110101, образованный путем конкатенации кодов 00111 (№7 в списке слов) для слова лучший и 4 10101 (№21) для слова друг. Таким образом, каждому словосочетанию из нашей выборки мы присвоили двоичный код, состоящий из 10 битов. Данное число, состоящее из 10 битов, является входным бинарным вектором нейронной сети. В данной нейронной сети размер входного слоя равен 10, что соответствует коду словосочетания в двоичной системе счисления. Эмпирическим путем мы установили, что нейронная сеть обучается эффективнее при 17 нейронах на скрытом слое. Для установления этого мы обучали нейронную сеть с числом нейронов от 2 до 50 на скрытом слое. При маленьком количестве нейронов обучение происходит быстро, но не достигается достаточная точность полученных результатов. При большом количестве нейронов скорость обучения низкая, но при этом не дает большого увеличения точности. Размер выходного слоя равен 2 (значения соответствуют 2 числам, образующих оценку словосочетания в двоичной системе счисления). Для того чтобы проанализировать, какие параметры нужно задавать нейронной сети при обучении для того, чтобы она лучше обучилась, мы изменяли количество циклов обучения и процент обучающей выборки. Обучение проводилось при 500, 1000, 1500, 2000 циклах обучения. При обучении использовались 10%, 20%, 30%, 40%, 50%, 60%, 70%, 80%, 90% выборки. При этом следует уточнить, что выборка составлялась заново перед каждым обучением, т.о. в данном эксперименте не учитывалось влияние определенного словосочетания или слова на результат, а рассматривались возможности нейронной сети к прогнозированию допустимости словосочетаний на основе количества случайно выбранных словосочетаний, используемых при обучении. Результаты прогнозирования допустимости словосочетаний при разном проценте обучающей выборки представлены в таблице 2. Таблица 2. Точность (%) прогнозирования допустимости словосочетаний. оценка циклы отн. абс отн. абс отн. абс отн. абс 500 1000 1500 2000 10 58,3 34,5 59,7 37 59,3 37 59,5 37,5 20 66,2 43 67,8 44 68,5 45,5 69 46,5 Процент обучающей выборки 30 40 50 60 70 79,2 83,2 83,3 89,5 90,2 62 70 70,5 81 82,5 79 83,2 85,3 89,3 94,3 62,5 68 75 79,5 88,5 76,3 84,2 86,5 89,3 94,3 58,5 70 77 80 88,5 79 83,9 87,2 89 94,7 61 70 77,5 80 89,5 80 89,5 78,5 92,8 86,5 92,8 87 93 87 90 92,8 86,5 93,7 88 94,8 90 94,8 90,5 Во время эксперимента подсчитывалась абсолютная и относительная оценки. Абсолютная оценка - это процент точного совпадения желаемого (правильного) результата и результата на выходе нейронной сети. Относительная оценка основана на близости оценок. Поскольку правильность словосочетания оценивается не просто по параметру правильно/неправильно, а дифференцируемо, то более важным является то, насколько близкий результат выдала нейронная сеть правильному значению. Если правильности словосочетания соответствует оценка 3 (максимально правильное “11” в двоичной системе счисления), а сеть выдала оценку 1, то, следовательно, относительная ошибка составила 3-1=2. При полном соответствии значение оценки было бы равным 0. Таким образом, правильность оценки считается по следующей формуле: Is_right=1-|real-net_res|/3. Is_right – правильность оценки, изменяется от 0 до 1; real – правильное значение, изменяется от 0 до 3; net_res – результат, который выдала сеть после обучения; 3 – число градаций (3=11 в двоичной системе счисления, 2=10, 1=01, 0=00). 5 Очевидно, что относительная оценка дает лучшие результаты, нежели абсолютная. Основными выводами, к которым можно придти при анализе данных эксперимента, являются: 1. Качество обучения нейронной сети зависит от количества циклов обучения (при 2000 циклах обучения наблюдаются самые высокие показатели абсолютной и относительной оценок). При этом скорость обучения зависит от количества циклов обучения и объема обучающей выборки. 2. При обучении сеть запоминает практически все словосочетания обучающей выборки (за исключением некоторых случаев, когда, например при 500 циклах обучения и 90% обучающей выборки сеть не запомнила 3,5% словосочетаний). 3. Максимальное количество, которое сеть может точно предсказать из списка 200 возможных словосочетаний, составляет 181 словосочетание (2000 циклов обучения, используя 90% обучающей выборки). Однако это говорит о том, что при обучении 180 словосочетаниям, сеть предсказывает лишь 1 новое (не входящее в обучающую выборку) словосочетание. 4. Чем больше объем обучающей выборки, тем ниже эффективность обучения. Очень хорошую способность предсказывать сеть проявила при обучении на 10% словосочетаний (верно предсказывается до 60% всех возможных словосочетаний из списка). 5. При 500, 1000 циклах обучения на 90% обучающей выборки наблюдалось явление, при котором сеть не запомнила часть словосочетаний. 4. Заключение Нами было проведено несколько экспериментов, показывающих возможности персептрона при прогнозировании допустимости сочетаний морфем и слов. Результаты экспериментов показывают, что данные модели могут применяться при создании систем искусственного интеллекта и программ автоматической переработки текста. Успешность прогнозирования допустимости морфем и слов свидетельствует о возможности выявления закономерностей персептроном на основе недостаточных данных. Эксперименты также показывают, что при увеличении обучающей выборки, число верно предсказанных сочетаний снижается, что свидетельствует о наличии в языке исключений, которые необходимо запоминать. Таким образом, персептрон адекватно моделирует речемыслительную деятельность человека. Список литературы 1. 2. 3. 4. 5. 6. 7. 8. 9. Денисов П.Н., Морковкин В.В. Словарь сочетаемости слов русского языка. – М.: ООО “Издательство Астрель”: “Издательство АСТ”, 2002. – 816 с. Евгеньева А.П. Словарь синонимов русского языка. - М.: ООО “Издательство Астрель”: “Издательство АСТ”, 2001. – 680 с. Караулов Ю.Н., Черкасова Г.А. Русский ассоциативный словарь, в 2 томах, том І. - М.: ООО “Издательство Астрель”: “Издательство АСТ”, 2002. – 784 с. Луканин А.В. Нейронные сети как механизм представления лексико-семантической информации // Труды казанской школы по компьютерной и когнитивной лингвистике TEL'2004. Казань: Отечество, 2004. - С. 37-47. Ожегов С.И. Словарь русского языка. – М.: ООО “Издательский дом ОНИКС 21 век”: “Издательство “Мир и образование””, 2004. – 1200 с. Словообразовательный словарь русского языка в двух томах, ред. Тихонов А.Н.: Ок. 145000 слов. - М.: "Русский язык", 1985. - 1 том 854 с., 2 том 885 с. Elman, J.L. (1990). Finding structure in time. Cognitive Science, 14, 179-211. URL: http://crl.ucsd.edu/~elman/Papers/fsit.pdf Elman, J. L. (1991). Distributed representations, simple recurrent networks, and grammatical structure. Machine Learning, 7, 195-224. URL: http://crl.ucsd.edu/~elman/Papers/machine.learning.pdf Miikkulainen, Risto. Natural Language Processing with Subsymbolic Neural Networks, In A. Browne (editor), Neural Network Perspectives on Cognition and Adaptive Robotics. Institute of 6 Physics Publishing, 1997. URL: http://nn.cs.utexas.edu/downloads/papers/miikkulainen.perspectives.pdf 10. Stolcke, Andreas. Learning Feature-based Semantics with Simple Recurrent Networks. ICSI Technical Report tr-90-015, April 1990. URL: ftp://ftp.icsi.berkeley.edu/pub/techreports/1990/tr-90015.pdf 7