Cloud of Science. 2017. T. 4. № 3 http:/ / cloudofscience.ru
Алгоритмы и методы представления знаний для предсинтаксического анализа текстов на естественных языках
А. К. Розанов, А. В. Пруцков
Рязанский государственный радиотехнический университет 390005, Рязань, ул. Гагарина, 59/1
e-mail: [email protected], [email protected]
Аннотация. Предлагается способ представления знаний о формообразовании естественных языков, включающий модель формообразования языка на основе трехуровневой иерархии слов «супертип» — «тип» — «семейство», обеспечивающая низкую избыточность при описании парадигм (например, для русских глаголов) и, независимо от нее, модель правил формообразования в виде преобразований слов. Для случая только постфиксных правил формообразования предлагается способ представления данных и алгоритм, обеспечивающие высокую скорость определения форм слов. В первой части статьи предложен способ представления правил формообразования и алгоритм, обеспечивающий высокую скорость анализа форм слов; во второй части статьи предложена структура представления знаний о формообразовании и приведен пример описания формообразования слов русского языка. Ключевые слова: автоматическая обработка текстов, морфологический анализ, лингвистические знания.
1. Словоизменение в естественных языках
Проблема понимания естественного языка является одной из центральных проблем, препятствующих росту доступности информации. По мере того, как эта проблема становилась все более актуальной (как для экспертных систем, так и для машинного перевода текстов), стала формироваться математическая лингвистика — специальный раздел искусственного интеллекта, ставящий целью построение и использование математических моделей для описания естественных языков.
В задачах автоматической обработки текстов на естественном языке традиционно выделяют морфологический, синтаксический, семантический и прагматический уровни понимания.
Морфологический уровень включает задачи разбиения на отдельные слова (это актуально, к примеру, для распознавания речи и для языков с иероглифическим письмом), а также определения грамматической информации для отдельных слов и генерации словоформ с заданной грамматической информацией.
Синтаксический уровень подразумевает построение структурных схем, т. е. деление анализируемого текста на предложения, устойчивые словосочетания и т. д.
На семантическом уровне выполняется анализ смысла текста. Это необходимо для экспертных систем, которые имеют целью поиск ответа на вопрос, заданный на естественном языке, а также для систем автоматического перевода.
Прагматический уровень (в экспертных системах диалогового режима, как правило, представленный блоком целей) осуществляет трактовку вводимой информации в виде запроса или команды, определяет возможность, правомерность и способ ее выполнения.
На данный момент существует целый ряд методов, разработанных для решения задачи определения и генерации форм слов естественного языка, имеющих свои достоинства и недостатки [1]. Примерами могут служить:
- словарный алгоритм Г. Г. Белоногова (точные и приближенные процедуры определения и генерации словоформ) [2];
- стеммер Мартина Портера — один из самых старых и самых быстрых методов определения основы слова, который, впрочем, не определяет грамматическую информацию [3];
- двухуровневая модель генерации и определения форм слов Киммо Ко-скенниеми [4], двунаправленная система с универсальной структурой словарей;
- алгоритм морфологического анализа без словаря И. М. Ножова [5];
- алгоритм анализа без словаря Джона Голдсмита с помощью самообучения на основе имеющегося текста [6];
- семантическая нейронная сеть Д. Е. Шуклина [7].
Ключевыми недостатками известных подходов к морфологическому анализу и синтезу форм слов являются следующие:
- направленность некоторых методов только на определение, без возможности генерации;
- статистический характер ответа (это характерно, в основном, для методов анализа без словаря);
- низкая скорость определения форм слов;
- использование в алгоритме особенностей конкретного языка, что сильно затрудняет применение алгоритмов к другим языкам либо вовсе привязывает алгоритм к конкретному языку.
В работах [8, 9] была предложена универсальная модель представления правил генерации форм слов и алгоритм определения форм слов естественного языка. Данная универсальная модель лишена недостатков перечисленных выше методов морфологического анализа и синтеза.
Все правила в модели описываются в виде цепочек элементарных преобразований строк, каждое из которых обладает свойствами однозначности (каждое правило преобразует любое слово единственным детерминированным способом) и обратимости [для каждого преобразования Р существует строго одно преобразование Р 1 такое, что Р 1 (P(s)) = s для любой строки S, к которой применимо исходное преобразование Р.
Формообразование (или словоизменение) в естественном языке — это процесс образования разных форм одного и того же слова (в противовес словообразованию — процессу образования новых слов).
Сложность задачи определения форм слов меняется от языка к языку, поскольку словоизменение сильно отличается для различных языков, но, тем не менее, в процессе обработки текстов на естественном языке анализ форм слов всегда является необходимым шагом. В настоящей статье рассматриваются два важных (на наш взгляд) аспекта задачи определения форм слов естественных языков. Первая часть статьи посвящена проблеме повышения скорости определения форм слов естественных языков. В этой части предлагаются алгоритм и способ представления правил словоизменения, подходящие для языков с постфиксным словоизменением и обеспечивающие существенный прирост скорости по сравнению с более общим алгоритмом, описанным в [8, 9]. Во второй части статьи предлагается трехуровневая иерархическая модель представления знаний о формообразовании языка и описываются преимущества такого структурирования. В заключение приводятся данные о результатах тестирования скорости определения форм слов.
2. Правила словоизменения
Выбор способа представления правил словоизменения определяет выбор алгоритмов, применяемых для определения и генерации форм слов, и, как показано в статье, хорошо структурированная база данных позволяет применять эффективные алгоритмы анализа, приносящие существенный прирост скорости определения форм слов.
2.1. Обозначения
Правило словоизменения по сути есть некоторая функция, преобразующая строку, связанная с грамматической информацией (например, падеж, род и т. д.), которой будет обладать словоформа, полученная из начальной формы слова путем применения этого правила.
В работах [8, 9] все правила преобразований строк описываются как конечные цепочки элементарных преобразований строк, каждое из которых отвечает тре-
бованиям обратимости и однозначности. В настоящей работе также для краткости будем называть все функции преобразования строк цепочками. Далее будет показано, что для языков с чисто постфиксным словоизменением применение цепочек преобразований избыточно.
Поскольку в статье рассматривается только постфиксное словоизменение, то будем обозначать операцию присоединения постфикса а' в виде (+а), а операцию удаления постфикса 'Ь' — в виде (—Ь). Будем называть «+» и «-» знаками операций, а а и Ь — параметрами операций.
Операции удаления постфикса ограничивают область определения цепочки (как функции), в которую они входят. Так, область определения цепочки /, не содержащей операций удаления постфикса, есть все множество 5 конечных строк, а область определения цепочки g, содержащей хотя бы одну такую операцию, соответствует некоторому подмножеству 5 .
Будем называть цепочки / и g эквивалентными тогда, и только тогда, когда: (а) их области определения совпадают (/ ] = g ]) и (б) для всякой строки из их области определения результат их применения одинаков V 8 е £>[ g ] / (5) = g (s)). Будем называть цепочку действующей, если существует хотя бы одна строка, к которой эту цепочку можно применить. Всякая подцепочка, входящая в действующую цепочку, также является действующей, но не наоборот.
В случае чисто постфиксного формообразования существует только две элементарных операции, а именно присоединение постфикса (+5) и удаление постфикса (—5). Будем обозначать цепочки путем последовательного перечисления всех входящих в них операций: /а^ь = (—а + Ь). Там, где это имеет значение, будем писать / = (- а + аЬ), если один из параметров операций целиком или частично встречается в составе другого. В случаях, подобных описанному выше, будем называть строку Ь хвостом строки аЬ.
2.2. Редукция цепочек
Для редукции любой произвольной цепочки будем использовать следующий список замен до тех пор, пока либо число операций в цепочке не станет строго меньшим 3, либо не будет установлено, что цепочка не является действующей.
(1) (+а - а) ^ () (нулевой эффект);
(2) (+а - Ьа) ^ (-Ь);
(3) (+аЬ - Ь) ^ (+а);
(4) (- а - Ь) ^ (-Ьа);
(5) (+а + Ь) -»(+аЬ):
(6) (+а—Ь) —> (цепочка не действующая).
Рассмотрим процесс редукции произвольной действующей цепочки /.
1. Благодаря правилам (4) и (5), всякая цепочка будет в итоге приведена к виду, в котором отсутствуют смежные подцепочки с одинаковыми знаками длиной более 1.
2. В любой цепочке из 3 и более операций, в которой нет подцепочек из 2 и более операций с одинаковым знаком, всегда найдется подцепочка (+.х -у), которая, в зависимости от того, является ли х хвостом у, или, наоборот, будет заменена единственной операцией по правилам 2 или 3. Это так, поскольку никакая действующая цепочка не может содержать подцепочки, сначала добавляющей постфикс, а затем удаляющей другой, несовместимый с ним постфикс.
Таким образом, пока в цепочке есть хотя бы 3 операции, она всегда может быть преобразована в эквивалентную цепочку из меньшего числа операций.
Теперь можно перечислить все классы редуцированных цепочек:
(1) (-а) удаление постфикса;
(2) (+д) присоединение постфикса;
(3)(-а + аЬ) присоединение постфикса (+Ь) с проверкой, срабатывающее только для строк, которые оканчиваются на а;
(4) {-аЪ + а) удаление постфикса (-/?) с проверкой, срабатывающее только для строк, которые оканчиваются на а;
(5) (-а + Ь) замена постфикса а —> Ь:
(6) ( ), пустая цепочка, применяемая, когда преобразования не требуются.
Таким образом, функция преобразования строк, описывающая правило словоизменения, всегда может быть редуцирована до единственной операции замены постфикса. Будем обозначать такие правила в виде / = (-а + Ь), где а — отсоединяемый постфикс, Ь — постфикс, на который его следует заменить. Если для некоторой функции а или Ь соответствуют пустой строке (что означает, что речь идет об операции присоединения или удаления постфикса), будем опускать соответствующую часть и писать кратко: f+a = (+«), /_ь = (~Ь).
Такое представление дает ряд преимуществ:
- для получения обратного преобразования достаточно поменять местами операнды а и ¿>;
- применение функций вида / = {-аЪ + ас) дает простор для дополнительных проверок в ходе анализа форм слов;
- правила в таком виде легко генерировать, поэтому при создании новых правил в процессе расширении словаря достаточно лишь указать начальную форму и требуемую словоформу, и нужное правило будет сгенерировано автоматически;
- простота структуры правил позволяет организовывать их в древовидные структуры, что дает возможность быстрого поиска: это преимущество обсуждается ниже.
2.3. Множества функций замен постфиксов
Предлагается следующая структура для множества правил формообразования языка (рис. 1), основанная на том, что для языков с постфиксным словоизменением в качестве правила достаточно использовать одну функцию замены постфикса. Каждое правило словоизменения представляется в виде дуги, соединяющей узел левого дерева постфиксов с узлом правого дерева постфиксов. Дуги подписаны примерами словоформ, которые они формируют из соответствующих начальных форм.
Рисунок 1. Представление правил формообразования.
Так, правило Р = (-«ть») позволяет получить повелительное наклонение глагола корить, Р2 = (+«ся») генерирует возвратную форму глагола лить Р3 = (-«ть» + «я») применяется для получения деепричастной формы глагола делать, Р4 = (—«ь» + «я») может использоваться для получения родительного и винительного падежей единственного числа существительного конь, и Р5 = (—«ень» + «ня») образует родительный падеж существительного ливень в единственном числе.
Теперь, организовав все правила словоизменения в структуру из двух постфиксных деревьев наподобие изображенной на рис. 1, можно применить следующий алгоритм для определения форм слов:
1) выделить цепь Z правого дерева, соответствующую символам анализируемого слова, взятым в обратном порядке;
2) путем перебора вершин этой цепи рассмотреть все способы разбиения слова на основу и постфикс;
3) перебирая правила, ассоциированные с вершиной Z;, выбрать те, инверсии которых превращают анализируемое слово в одну из начальных форм, с которыми ассоциируется текущее правило;
4) полученное множество правил дает нам информацию обо всех возможных интерпретациях слова, а также соответствующие каждой из интерпретаций начальные формы. Если это множество пусто, слово системе неизвестно.
2.4. Преимущества применения постфиксных деревьев
Хотя данный подход и является менее общим по сравнению с подходом, предлагаемым в [8, 9] из-за использования особой формы представления правил словоизменения, его применение дает существенные преимущества:
- множество правил, которые следует рассмотреть, уменьшается до очень малого подмножества, включающего лишь одну цепь из правого дерева;
- применение любого преобразования выполняется одной операцией замены постфикса, и поэтому тривиально реализуется в большинстве языков программирования;
- дополнительные расходы памяти сравнительно малы: так, для тестовой базы для русского языка, содержащей чуть более 8 ООО начальных форм слов (что обеспечивало распознавание около 250 ООО уникальных словоформ), деревья занимали в памяти приблизительно 2 мегабайта, в то время как сама база в оперативной памяти компьютера занимала около 20 мегабайт. Оба значения соответствуют затратам управляемой памяти .NET, поскольку алгоритм был реализован с применением платформы .NET на языке Visual С#;
- поскольку алгоритм не содержит операций записи в общую память, скорость определения увеличивается пропорционально числу параллельно выполняемых потоков.
2.5. Быстродействия и цепочки с проверками
При генерации наборов правил формообразования для групп слов формирование проверок на максимально длинные постфиксы в каждое из правил дает дополни-
тельный прирост производительности, хотя и влечет увеличение затрат памяти на представление деревьев.
Например, вместо цепочки /ге/ = (+<<ся»), образующей возвратные формы для
группы глаголов, спрягающихся идентично глаголу тронуть, можно добавить цепочку уть = (—«уть» + «уться»). Это приведет к сильному уменьшению числа
дуг, входящих в узел «ся» правого дерева, что в свою очередь ведет к снижению числа ненужных проходов по цепочкам всякий раз, когда обнаруживается слово, оканчивающееся на «ся», и из всех узлов, дочерних по отношению к «ся», только один будет рассмотрен для каждого из анализируемых слов.
Рисунок 2 иллюстрирует положение дел в тестовой базе для русских глаголов. Видно, что узлы, соответствующие правилам, присоединяющим короткие постфиксы, нагружены, и суммарное подмножество цепочек, по которым будет выполнен перебор, например для слова вернуться, будет состоять более чем из 600 цепочек. Отметим особо, что только одно правило подразумевает присоединение постфикса, включающего справа «ться» — это правило преобразования «расстелить — разостлаться», являющееся единичным случаем.
40 деепричастных правил:
366 правил (инф., л.ф. муж. рода) :
Рисунок 2. Поддерево К до балансировки нагрузки
Рассмотрим теперь поддерево для этой же базы, полученной в результате балансировки, процедура которой заключалась в расширении отсоединяемого и присоединяемого постфиксов каждого из правил до максимального из имеющихся в пределах семейства. Вид получившегося поддерева частично изображен на рис. 3.
Из рис. 3 видно, что суммарное количество правил, которое будет рассмотрено при анализе слова вернуться, снизилось до 74. Благодаря этому увеличивается скорость определения каждого отдельного слова, поскольку множество правил, которые необходимо рассмотреть, усекается еще больше по сравнению с правилами, ассоциированными с изначальной цепью в К. Схема алгоритма показана на рис. 4.
22 деепр. правила \
6 правил прош. м.р.
Рисунок 3. Поддерево К после балансировки нагрузки ^ начало
геХ
Ь = МР[.г] т = \Ь\
+
✓ ч
р €Х
'=1 вы я=А[р] А[р]=6[0:м-(]+а
+
1 Р /
1 X
1
С конец >
Рисунок 4. Алгоритм балансировки дерева К
В схеме алгоритма (рис. 4) приняты следующие обозначения: X — множество групп слов с одинаковым набором правил словоизменения; МР[х] — самый длинный постфикс среди набора правил для группы слов х;
В\ р | — отсоединяемый и присоединяемый постфиксы правила р; | я | — длина строки;
ф', л] — взятие подстроки длиной п, начиная с /-го символа;
)
$1+52 — конкатенация строк.
Построение правил в таком виде помимо повышения скорости определения форм слов также сильно упрощает классификацию новых слов, в особенности русских глаголов, поскольку парадигма русского глагола очень сложна, и для некоторых глаголов состоит из более чем 200 различных форм.
Несмотря на то что получаемое дерево потребует больше памяти для хранения ввиду большего разветвления, дополнительные затраты памяти остаются несравнимыми с затратами на построение полного банка словоформ. Следует отметить, что скорость определения без балансировки дерева Я остается высокой, что позволяет выполнять балансировку не до конца, отталкиваясь от доступного объема оперативной памяти.
3. Представление структуры знаний о словоизменении
Структура словаря также очень важна в базах лингвистических знаний. Проблема представления лингвистических знаний уже затрагивалась ранее, например в работах [10-12]. Преимущества хорошо структурированных словарей включают:
(а) упрощение процесса добавления новых слов в словарь из-за возможности предсказывать возможные правила формообразования;
(б) снижение избыточности в представлении грамматических категорий: в предлагаемой модели нет необходимости в фиктивных категориях, таких как, например, «Род и число» для прилагательных и местоимений, которые применяются в неиерархических моделях для исключения возможности некорректных комбинаций значений грамматических категорий, например в случае указания рода для прилагательных во множественном числе;
(в) структура парадигмы для вновь добавляемого в словарь слова может быть предсказана, опираясь на его начальную классификацию (часть речи, постоянные признаки), что позволяет снизить объем работы, которую придется выполнять оператору информационной интеллектуальной системы.
Ниже приводится предлагаемая структура базы знаний о формообразовании естественного языка.
3.1. Реестр грамматических категорий
Грамматическая категория (для краткости СТурс) — это множество взаимоисключающих значений (СУа1исз).
Все множество грамматических категорий, используемых в языке, следует хранить в глобально доступном реестре:
СУсйие^ = {СУа1ие^], СУа1иеь2,..., СУсйиезд,}
GTypes = {(GTypex, GValuesl),..., (GTypeM, GValuesM)}.
Примеры категорий для русского языка: (Case, {Nominative, Genitive,.... Prepositional}) (Number, {Singular, Plural}) (Animacy, {Inanimate, Animate}).
Одной из центральных идей, которые легли в основу созданной модели представления знаний о словоизменении естественного языка стала идея о минимизации использования фиктивных категорий, т. е. таких, которые не вводятся в классической грамматике анализируемого языка. Примером фиктивной категории может служить «род и число» имен прилагательных русского языка, которая часто вводится по той причине, что две категории, формирующие данную фиктивную категорию, не являются независимыми: в русском языке слова во множественном числе не изменяются по родам. Введение фиктивной категории позволяет описывать структуру парадигмы или ее части так, что любая комбинация параметров будет иметь смысл. Однако введение таких фиктивных категорий все равно оказывается недостаточно рациональным при описании, к примеру, структуры парадигм русских глаголов, некоторые из которых насчитывают около 200 форм, при этом зависимости между реальными грамматическими категориями могут быть весьма сложными (например, категория рода имеет смысл для глаголов в прошедшем времени и для причастных форм обоих времен при условии единственного числа, категория числа имеет смысл почти для всех форм кроме деепричастных, категория лица ограничена первым и вторым лицами для императива (идите, идемте), категория возвратности, напротив, имеет смысл всегда, когда глагол в принципе может быть возвратным. Из-за наличия подобных особенностей было решено не вводить фиктивные грамматические категории, а применять более сложную структуру знаний о словоизменении, чтобы описание таких нюансов формообразования не требовало введения фиктивных грамматических категорий.
3.2. Карты грамматических значений и карты словоизменения
Карта грамматических значений (GValueMap) — это структура, которая используется для описания слов и множеств слов, описываемых одной и той же грамматической информацией. Каждая карта по существу есть множество пар ключ-значение, где ключами являются грамматические категории (как следствие, в одной карте каждая категория появляется не более одного раза), а значения выбираются из числа входящих в грамматическую категорию, являющуюся ключом. Примерами для русского языка могут служить:
(1) "делами^: {{Case: Instrumental},
{Number : Plural}, {Animacy : Inanimate},
{Gender: Neuter}}
(2) все одушевленные существительные женского рода: {{Animacy : Animate},{Gender : Feminine}}.
Карты грамматических значений полезны как для представления результатов анализа, так и для внутреннего описания групп слов, поэтому реализация основных стандартных операций над ними (пересечение, объединение, проверка совместимости, проверка вхождения одной карты в другую и т. д.) является полезной при реализации системы анализа форм слов естественных языков.
Таким образом, можно описать правило словоизменения в общем виде как пару «операция + карта грамматических значений», где операция (в случае постфиксного формообразования) описывается в виде пары постфиксов, как это обсуждалось в части 2 настоящей статьи.
3.3. Зависимости между грамматическими категориями
Проблема взаимной зависимости грамматических категорий русского языка хорошо иллюстрируется на примере полной парадигмы прилагательных, которая отражена в таблицы (в качестве примера взято качественное прилагательное «ясный»).
Таблица. Структура парадигмы русских прилагательных
Число, род, одушевленность Степень сравнения, полная/краткая формы, падежи Единственное Множ., Одуш./ Неодуш.
Мужской Одуш./ Неодуш. Женский Средний
Положительная Полная форма Им. ясный ясная ясное ясные
Род. ясного ясной ясного ясных
Дат. ясному ясной ясному ясным
Вин. ясного/ ясный ясную ясное ясных/ ясные
Тв. ясным ясной/ ясною ясным ясными
Пр. ясном ясной ясном ясных
Краткая форма ясен ясна ясно ясны
Сравнительная яснее/ясней
Грамматические категории в целом сильно зависят друг от друга. Например, в русском языке род не определен для множественного числа, возможность образо-
вания причастий и деепричастий зависит от вида и переходности глагола. Поэтому описание парадигмы путем простого перечисления всех изменяемых грамматических категорий неэффективно. Как видно из табл. 1, есть всего 31 допустимая комбинация грамматических значений из 288 возможных комбинаций (число получено перемножением количеств значений в каждой из изменяемых категорий, применимых к именам прилагательным).
Для решения этой проблемы введем понятие карт формообразования, или карт словоизменения. Центральной идеей является представление структуры парадигмы слова в виде объединения многомерных таблиц, каждая из которых описывается набором независимых грамматических категорий, каждая из которых формирует одно измерение таблицы. Каждой таблице приписывается карта грамматических значений, описывающая грамматическую информацию, постоянную в рамках данной карты словоизменения, и набор дополнительных ограничений, позволяющих исключить отдельные грамматические значения (т. е. соответствующие им гиперплоскости) из многомерной таблицы.
Следует обратить внимание, что практически все русские прилагательные имеют две различные формы творительного падежа женского рода, а также сравнительные степени. Чтобы правильно обрабатывать такие случаи, рекомендуется допускать наличие нескольких правил, описываемых одинаковой грамматической информацией.
Таким образом, можно представить структуру парадигмы русских прилагательных с использованием восьми карт словоизменения: /, : ({{Number : Plural}, {Form : Short] ], 0, 0) (краткая форма множественного числа уникальна), !- : ({{Number : Singular}, {Form: Short}}, {Gender}, 0) (краткая форма единственного числа), /3 : ({{ComparisonDegree : Comparative}}, 0, 0) (сравнительная степень также уникальна), /4 : ({{Number : Plural}}, {Case}, {Case Ф Accusative}) (полная форма множественного числа), /5 : ({{Number : Singular}, {Case, Gender}, {Case Ф Accusative}) (полная форма единственного числа кроме винительного), /6 : ({{Number : Plural}}, {Case: Accusative}}, {Auiimacy}, 0) (Карты 6-8 описывают образование винительного падежа), /7 : ({{Number : Singular}, {Case: Accusative}}, {Gender}, {Gender Ф Masculine}),
Ig : {{{Number : Singular), {Case: Accusative},
{Gender : Masculine}}, {Animacy}, 0).
Далее следует разбить множество слов в начальных формах на подмножества, которым соответствуют одни и те же множества правил словоизменения. Каждое из таких подмножеств будет ассоциировано с особой картой грамматических значений (например, неизменяемые признаки существительных — одушевленность и род).
4. Иерархия и части речи
Структур данных и алгоритмов, описанных нами до сих пор, достаточно для построения анализатора форм слов, поскольку анализ есть процесс определения начальной формы слова и получения карты грамматических значений из правила, с помощью которого была получена эта начальная форма слова.
Тем не менее процесс заполнения словаря требует большого объема человеческой работы, поэтому предлагается более глубокий уровень структуризации словаря, дающий ряд преимуществ:
- автоматическая генерация шаблонов парадигм для новых слов на основании их начальной классификации (так, для русских глаголов шаблон парадигмы будет сгенерирован на основании данных о виде и переходности);
- сгенерированный шаблон можно частично или полностью заполнить, используя уже имеющиеся в базе правила (если они применимы к новому слову) и, если вариантов несколько, их можно отсортировать по степени близости соответствующих семейств новому слову, так что более релевантные гипотезы будут отображены первыми.
В модели, предлагаемой в настоящей работе, предлагается трехуровневая иерархия «Супертип» — «Тип» — «Семейство», каждый из уровней рассматривается ниже.
(1) Супертипы в предлагаемой модели в большинстве своем соответствуют частям речи естественного языка, для которого строится модель словоизменения. На уровне супертипов описывается множество всех возможных карт словоизменения. Например, для русских существительных задается 2 неизменяемых грамматических категории (род, одушевленность) и единственная карта словоизменения (0, {Case, Number}, 0), что означает, что большинство русских существительных имеют 12 различных форм, за исключением некоторых случаев, описанных ниже.
(2) Типы — это наборы слов, отличающиеся общим набором неизменяемых грамматических признаков (например, имена существительные женского рода,
неодушевленные). Типы описываются с помощью: (1) общей на весь тип карты грамматических значений, (2) набора применимых карт словоизменения (так, некоторые русские глаголы имеют не все причастия, поэтому исключаются соответствующие карты словоизменения для таких глаголов), (3) набора ограничений (часто пустого), накладываемых на отдельные карты словоизменения, и (4) набора семейств (см. ниже), содержащих все слова, принадлежащие типу. Так, можно выделить 8 типов русских существительных: неодушевленные мужского рода, неодушевленные женского рода, одушевленные мужского рода, одушевленные женского рода, существительные среднего рода, существительные только множественного числа {ножницы, брюки), существительные только единственного числа {ребенок), несклоняемые существительные {кофе). Карта значений, относящаяся к типу, может включать категории, которые обычно не являются неизменяемыми, что исключает эту категорию из рассмотрения при генерации шаблонов парадигм, как в случае с { {Number : Plural} } для описанных выше существительных без единственного числа, для которых число возможных форм снижается с 12 до 6, по числу падежей в русском языке.
(3) Семейства — подмножества слов, входящие в состав типов. Семейства описываются с помощью набора правил словоизменения (каждое из которых состоит из пары постфиксов и карты грамматических значений) и набора слов, которые используют эти правила для образования всех своих форм.
Ниже приводится набор правил для семейства, включающего существительное «телефон».
Rx = 0 : {{Case : Nominative], {Number : Singular}} R, = (+a) : {{Case : Genitive), {Number : Singular}} R3 = (+y) : {{Case : Dative}, {Number : Singular}} R4= 0 : {{Case : Accusative}, {Number : Singular}} R- = {+om) : {{Case : Instrumental), {Number : Singular}} R6 = (+e) : {{Case : Prepositional), {Number : Singular}} R7 = (+ы) : {{Case : Nominative}, {Number : Singular}} R, = (+oe) : {{Case : Genitive), {Number : Plural}} R4 = (+СШ) : {{Case : Dative), {Number : Plural)} RV) = (+ы) : {{Case : Accusative), {Number : Plural)} Ru = (+сши) : {{Case : Instmmental), {Number : Plural)} Rr = (+ax) : {{Case : Prepositional}, {Number : Plural)}
Правила 1 и 4 имеют пустое правило преобразования, поскольку все русские неодушевленные существительные, не относящиеся к женскому роду, имеют совпадающие формы винительного и именительного падежа, и форма именительного падежа считается начальной формой для всех существительных, для которых такая форма существует.
5. Быстродействие и статистика
Полная статистика набранного в результате экспериментов словаря, построенного авторами для тестирования скорости определения форм слов, приведена в работе [13].
Число слов в начальных формах, включенных в тестовый словарь, превысило 8000, и полное множество всех форм слов, которые могла распознать система, содержало около 250 ООО слов. Как следствие, более 70% слов тестового входного текста было распознано, что позволило адекватно сравнить скорость определения форм слов с существующими аналогами.
В тестах с применением больших корпусов, состоящих из уникальных слов (без повторений), авторская реализация предложенного алгоритма работала незначительно медленнее, чем анализатор Mystem [14], в то время как для обычных текстов авторская реализация показывала большие скорости (отношение скоростей варьировало от 1.5 до 2). При этом реализация предложенного алгоритма давала на порядок большую скорость определения форм слов по сравнению с методом генерации и определения форм слов, описанным в работах [8, 9].
Благодарность
Авторы выражают глубокую признательность профессору Миронову Валентину Васильевичу (Рязанский государственный радиотехнический университет, РГРТУ) за его небезразличное отношение к работе и полезные обсуждения и Заволокину Александру Ивановичу (РГРТУ) за многочисленные ценные замечания и обсужде-
Литература
[1] Пруцков А. В., Розанов А. К. Методы морфологической обработки текстов // Прикаспийский журнал: управление и высокие технологии. 2014. № 3 (27). С. 119-133.
[2] Белоногое Г. Г., Богатырев В. II. Автоматизированные информационные системы / под ред. К. В. Тараканова. —М. : Сов. радио, 1973. 328 с.
[3] Porter M. F. An algorithm for suffix stripping // Program. 1980. Vol. 14. No. 3. P. 130-137.
[4] Koskenniemi К. Two-level Morphology: A General Computational Model for Word-form Recognition and Production. — University of Helsinki, Department of General Linguistics, 1983. Publications. No. 11.
[5] Ножов II. M. Прикладной морфологический анализ без словаря // Тр. конф. по искусственному интеллекту КИИ-2000. Т. 1. —М. : Физматлит, 2000. С. 424-429.
[6] Goldsmith I. Unsupervised Learning of the Morphology of a Natural Language. — Chicago : University of Chicago Press, 1998. P. 173-194.
[7] Шуклин Д. E. Морфологический и синтаксический разбор текстов как конечный автомат, реализованный семантической нейронной сетью, имеющей структуру синхронизированного линейного дерева // Новые информационные технологии: материалы 5-го науч.-практ. семинара. — М. : МГИЭМ, 2002. С. 74-85.
[8] Пруцков А. В. Алгебраическое представление модели формообразования естественных языков// Cloud of science. 2014. T. 1. № 1. С. 88-97.
[9] Prutskov A. V. Algorithmic Provision of a Universal Method for Word-Form Generation and Recognition // Automatic Documentation and Mathematical Linguistics. 2011. Vol. 45. No. 5. P. 232-238.
[10] Кулагина О. С. Об аспекте меры в лингвистическом знании // Вопросы языкознания. 1991. № 1. С. 49-60.
[11 ] Кузнецов II. П., Мацкевич А. Г. Семантико-ориентированный лингвистический процессор для автоматической формализации автобиографических данных // Компьютерная лингвистика и интеллектуальные технологии: тр. Междунар. конф. «Диалог — 2006». под ред. Н. И. Лауфер, А. С. Нариньяни, В. П. Селегея. — М. : Изд-во РГГУ, 2006. С. 317-322.
[12] Паршин П. Б. К вопросу о лингвистически ориентированной классификации знаний // Диалоговые системы и представление знаний. Труды по искусственному интеллекту / под ред. И. Куль, X. Рятсеп, И. Сильдмяэ, Ю. Тулдава, К. Ээремаа. — Тарту : Изд-во Тартуского гос. ун-та, 1981. С. 102-116.
[13 ]Rozanov A. The fast vocabulary-based algorithm for natural language word form analysis //
ITMWeb of Conferences. 2016. Vol. 6. P. 03013.
[14]Программа MyStem [Электронный ресурс], https://tech.yandex.ru/mystem/
Авторы:
Александр Викторович Пруцков — доктор технических наук, доцент, профессор кафедры
«Вычислительная и прикладная математика». Рязанский государственный радиотехнический университет
Алексей Константинович Розанов — аспирант кафедры «Вычислительная и прикладная
математика». Рязанский государственный радиотехнический университет
Algorithms and knowledge structures for pre-syntax analysis of natural language texts
A. K. Rozanov, A. V. Prutzkow
Ryazan State Radio Engineering University Gagarin str., 59/1, Ryazan, Russian Federation, 390005
e-mail: [email protected], [email protected] Abstract. We propose an approach to natural language inflection rules representation which includes a word classification model based on the three-level "supertype" — "kind" — "family" word hierarchy and, independently, a model for representing the inflection rules in form of string transformations. We propose a specific data structure and an algorithm for the only postfix sets of inflection rules. Proposed approach allows high-speed word form analysis. Also we propose a knowledge structure for representing the word classification for a particular natural language, which allows to describe complex paradigms (such as ones for the Russian verbs) with little to no redundance, and provide an example of a partial description of Russian inflection rules. Key words: natural language processing, morphological analysis, linguistic knowledge.
References
[1] Prutzkow A. V., Rozanov A. K. (2014) Prikaspiyskiy zhurnal: upravleniye i vysokiye teklmologii, 3(27):119—133. [InRus]
[2] Belonogov G.G., Bogatyrev V.I. (1973) Avtomatizirovannyye informatsionnyye sisteiiry. Moscow, Sov. Radio. 328p. [InRus]
[3] Porter M. F. (1980) Program, 14(3):130-137.
[4] Koskenniemi K. (1983) Two-level Morphology: A General Computational Model for Word-fonn Recognition and Production University of Helsinki, Department of General Linguistics, Publications. No. 11.
[5] Nozhov I. M. (2000) Prikladnoy morfologicheskiy analiz bez slovarya. In book Tr. konf. po is-kusstvennomuintellektuKII-2000. Vol. 1. Moscow, Fizmatlit, pp. 424-429. [In Rus|
[6] Goldsmith J. (1998) Unsupervised Learning of the Morphology of a Natural Language. Chicago, University of Chicago Press, pp. 173-194.
[7] Shuklin D. Ye. (2002) Morfologicheskiy i sintaksicheskiy razbor tekstov kak konechnyy avtoinat realizovannyy seinanticheskoy neyronnoy sefyu, imeyushchey strukturu sinkhronizirovannogo lineynogo dereva. InbookNovyye infonnatsionnyye teklmologii: inaterialy 5-go nauch-prakt. seminara. Moscow, MGIEM, pp. 74-85. [InRus]
[8] Prutzkow A. V. (2014) Cloud of science, l(l):88-97. [InRus]
[9] Prutskov A. V. (2011) Automatic Documentation and Mathematical Linguistics, 45(5):232-238.
[10] Kulagina O.S. (1991) Voprosy yazykoznaniya, 1:49-60. [InRus]
[11] Kuznetsov I. P., Matskevich A. G. (2006) Scniantiko-oriycntirovannyy lingvisticheskiy protsessor dlya avtomaticheskoy formalizatsii avtobiograficheskikli dannykh. In book Koinp'yuternaya lingvis-tika i intellektual'nyye teklinologii: tr. Mezlidunar. konf. «Dialog—2006». Moscow, Izd-vo RGGU, pp. 317-322. [InRus]
[12] Parshin P. B. (1981) K voprosu o lingvisticheski oriyentirovannoy klassifikatsii znaniy. In book Di-alogovyye sistemy i predstavleniye znaniy. Trudy po iskusstvennomu intellektu. Tartu Izd-vo Tar-tuskogo gos. un-ta, pp. 102-116. [InRus]
[13] RozanovA. (2016) ITMWeb of Conferences, 6:03013.
[14] https://tech.yandex.ru/mystem [InRus]