И.А. Волкова - Введение в компьютерную лингвистику. Практические аспекты создания лингвистических процессоров (1157208), страница 5
Текст из файла (страница 5)
Трасса — это последовательность всех терминальныхи нетерминальных символов, помечающих дуги, по которым совершается проход впроцессе анализа заданной цепочки от начального состояния главного автомата до егоконечного состояния, при этом символы, раскрывающие какой-либо нетерминальныйсимвол, заключаются в круглые скобки. Естественно, допускается вложенностьскобочных структур. СКА эквивалентна контекстно-свободным грамматикам, асодержимое выходной последовательности в момент завершения анализа цепочкипредставляет собой структуру данной цепочки в терминах непосредственносоставляющих. Если в каждом автомате выделить главное состояние, то в результатеможно получить ОНС-структуру. Если же главное состояние выделять только внекоторых конечных автоматах, то можно получить ЧОНС-структуру.16Практические аспекты создания лингвистических процессоров.
Учебное пособие.СКА присуще общее для всех контекстно-свободных грамматик ограничение —невозможность учета синтагматических свойств языковых единиц, проявляющихся вконкретных контекстуальных условиях. Это может привести к появлению лишних,неправильных структур. Но рекурсивные сети переходов не исчерпывают всехвозможностей сетевых грамматик. Наиболее мощной среди сетевых грамматикявляется модель В.
Вудса, названная расширенной сетью переходов (РАСП).РАСП строится на базе рекурсивной сети переходов, но располагает средствамиконтроля над ходом анализа, состоящими в проверке определенных условий припереходе из одного состояния в другое и выработке некоторых указаний относительнодальнейшего продвижения по сети. Эти средства представляются в виде операторов,указанных на дугах. Операторы выполняют роль фильтров.Один из примеров практического использования РАСП для синтаксического анализаанглийского языка описан в [12].
В этой работе РАСП представлена в нескольконетрадиционной форме и дополнена рядом элементов, позволяющих удобно иэффективно реализовать алгоритм синтаксического анализа.Описание формальной грамматики ЕЯ представляет собой набор иерархическиорганизованных грамматических сетей переходов. Каждая сеть строится по следующимправилам:<грамматическая сеть>::= <имя сети> <список глобальных полей сети>(<список состояний перехода>)<список локальных полей сети> <список процедур><имя сети> ::= $<строка><список глобальных полей сети> ::= {<строка(имя)>}<список локальных полей сети> ::= {<строка(имя)>}<список процедур> ::= {@<строка(имя)>}<список состояний перехода> ::= <состояние сети>{;<состояние сети>}<состояние сети> ::= <номер состояния> : <список альтернатив><номер состояния> ::= <целое без знака><список альтернатив> ::= <альтернатива> {<альтернатива>}<альтернатива> ::= <элемент перехода> <точка перехода> <список процедур><элемент перехода> ::= <имя сети> |"<лексема>" | <обобщенная лексема><точка перехода> ::= <номер состояния> | *<лексема> ::= <строка><обобщенная лексема> ::= <грамматическая информация соотв.
класса лексем>Обход сети начинается с состояния с номером «0», которое обязательно должноприсутствовать в каждой сети. При этом последовательно просматриваются всеальтернативы состояния. Вообще говоря, сколько различных альтернатив в состоянии,столько различных вариантов возможных продолжений построения синтаксическойконструкции, описанной данной сетью. Алгоритм обхода сети позволяет реализоватьмноговариантный синтаксический анализ исходной фразы (и любой синтаксическойконструкции, в частности).Если текущая подцепочка входной цепочки словоформ «соответствует» очереднойальтернативе (т.е.
либо удалось свернуть некоторую вложенную сеть, либо перваясловоформа исследуемой подцепочки совпала с указанным элементом альтернативы),то происходит переход в состояние, номер которого указан в альтернативе (звездочкой( * ) обозначается точка выхода из сети).
Затем процесс повторяется, исходя из новогосостояния, до тех пор, пока либо ни один элемент альтернативы активного состоянияне окажется подходящим (т.е. анализируемый фрагмент фразы не удовлетворяетданному пути описания ожидаемой синтаксической конструкции), либо очереднымсостоянием перехода будет * (что означает успешный вариант свертки по текущейсети).17Волкова И.А. Введение в компьютерную лингвистику.Проходя по той или иной сети, можно свернуть (выделить) ту или инуюсинтаксическую конструкцию исходной фразы: простое предложение, именнуюгруппу, предложную группу, детерминант существительного, фразовый глагол ипрочие.В процессе свертки синтаксической конструкции могут определиться такие еёграмматические характеристики, которые потребуются при включении даннойконструкции в более сложные, объемлющие (например, число именной группы, формаглагольной конструкции и другие).
Значения этих характеристик запоминаются вглобальных полях текущей сети посредством процедур, возможно перечисленных приальтернативах, и доступны объемлющим сетям.Если же при свёртке текущей синтаксической конструкции анализируютсяграмматические характеристики вложенных синтаксических групп (сетей) иликонкретных лексем, то их значения можно запомнить в локальных полях сети.Действия, которые необходимо выполнить над локальными полями при выходе из сети(окончании свертки), описаны в процедурах, имена которых перечислены после именлокальных полей в описании сети. Результат выполнения этих процедур также можетбыть зафиксирован в глобальных полях сети.
В качестве примера можно привестипроцедуру,проверяющуюсоответствиедетерминантаопределяемомусуществительному (по числу существительного) или процедуру, приписывающуюмножественное число однородной именной группы, состоящей из именных группединственного числа.Другими словами все локальные свойства любой синтаксической конструкциианализируются при ее свёртке и забываются, глобальные же характеристикисохраняются для объемлющих сетей.Такая иерархическая организация грамматики позволяет сворачивать (анализировать)как целую фразу, так и любой ее фрагмент. Можно проверить, например, является лиисходная фраза правильным предложением английского языка, а можно выделить всепотенциально возможные правильные именные группы исходной фразы (конечно же,изменив порядок обращения к сетям и предъявление исходных словоформ).3.4.
Синтаксическая база данныхСинтаксическая база данных должна содержать:— формальное описание грамматики некоторого фиксированного подмножествавыбранного ЕЯ;— описание синтаксических характеристик отдельных лексем или словосочетанийвыбранного подмножества ЕЯ (синтаксический класс, синтаксический подкласс,переходность…); все учитываемые синтаксические характеристики могутсодержаться в используемой для целей синтаксического анализа морфологическойбазе данных, в этом случае необходимо иметь программные средства,позволяющие извлекать их оттуда;— описание моделей управления лексем выбранного подмножества ЕЯ (присоответствующем выборе метода синтаксического анализа).3.5.
Синтаксические анализаторы фраз ЕЯПостроить синтаксический анализатор ЕЯ значительно сложнее, чем морфологическийпо ряду причин: нет достаточно четкой и формальной лингвистической литературы,описывающий какой-либо ЕЯ, грамматика естественного языка принципиально18Практические аспекты создания лингвистических процессоров. Учебное пособие.недетерминирована и неоднозначна, синтаксис ЕЯ весьма разнообразен, сложен ипроизволен (особенно в разговорной речи и в поэзии). Трудными для автоматическойобработки являются такие вполне допустимые в ЕЯ явления, как эллипсис (пропускобязательных фрагментов предложения в силу возможности их восстановления изпредыдущего контекста: «Маше нравился Саша.
Она — ему.»), парцелляция (разбиениеодного грамматического предложения на несколько предложений для усиления акцентана некоторые его фрагменты: «Приказано нам готовиться. К походу.»). Некоторыесложные явления языка часто обрабатываются специальными процедурами до работысинтаксического анализатора (т.е. осуществляется некоторый предсинтаксическийанализ). К таким процедурам можно отнести, например, процедуры обрабатывающиефразиологизмы, группу числительного, проверяющие правильность расстановкискобок, знаков пунктуации и, возможно, проводящие некоторую дополнительнуюфрагментацию предложения. Кроме того, само автоматическое разбиения текста на ЕЯна отдельные предложения является не совсем тривиальной задачей и выполняется наэтапе предсинтаксического анализа.Синтаксические анализаторы различаются между собой следующим: типоманализируемых текстов (деловая проза, художественная литература…); наличием ихарактером ограничений, накладываемых на структуру анализируемых предложений;наличием требования правильности анализируемой цепочки словоформ; возможностьюанализировать только отдельное предложение (или часть предложения) или некоторыйфрагмент текста, состоящий более чем из одного предложения; стратегией анализа.В настоящее время можно говорить о трех основных стратегиях, логикоалгоритмических подходах к построению синтаксических анализаторов.3.5.1.Стратегия недетерминированного, фильтрового анализаПроцедура синтаксического анализа на первом этапе порождает заведомо избыточныйнабор синтаксических связей (например, с помощью какой-либо порождающейграмматики), из числа которых на втором этапе с помощью серии фильтров (например,проверка правил согласования) отбираются только те синтаксические структурывходного предложения, которые являются правильными с точки зрения выбранныхфильтров.
В настоящее время такая стратегия имеет разновидности, которыеразличаютсяа) степенью ослабления контекстных условий на этапе порождения связей;б) характером применяемых фильтров;в) статусом синтаксических структур, подвергающихся фильтрации(синтаксическая структура входного предложения, синтаксическиеструктуры фрагментов входного предложения).Как правило, основанные на такой стратегии анализаторы затрачивают много временина порождение и фиксацию в памяти ЭВМ избыточных синтаксических структур,которые затем, на этапе фильтрации, будут отвергнуты. Вместе с тем эта стратегия вбольшей степени, чем другие, гарантирует полноту анализа многозначногопредложения.3.5.2.Стратегия, опирающаяся на механизм возвратов(backtracking)Отличие данной стратегии от предыдущей заключается в том, что алгоритм на каждомшаге выбирает одну из возможных интерпретаций, но при этом сохраняетсяпринципиальная возможность порождения альтернативных интерпретаций в случаекакой-либо неудачи с первой (например, если полученная синтаксическая структура19Волкова И.А.
Введение в компьютерную лингвистику.непроективна, не проходит семантический фильтр и т.п.). При этом анализпредложения прекращается после нахождения первого приемлемого варианта разбора.Если приемлемый вариант разбора не удается получить одним из первых, то даннаястратегия становится похожей на предыдущую. В среднем скорость работыанализатора, опирающегося на механизм возвратов, выше.Чтобы избежать общего недостатка описанных двух стратегий (перебор большогоколичества лишних вариантов установления синтаксических связей), в некоторыхсинтаксических анализаторах применяются различные эвристические методы,управляющиепроцессоманализа,которыемогутпозволитьполучитьпредпочтительный вариант разбора первым. В качестве эвристик могут бытьиспользованы, например, следующие предпочтения: значения омонимичных лексемможно упорядочить по вероятности их появления в тексте, и в первую очередь можнорассматривать наиболее вероятный вариант, затем (если первый почему-то не подошёл)следующий и т.д.; можно указать наиболее предпочтительные позиции расположениядополнений по отношению к сказуемому.