Компьютерная грамматика русского языка



Скачать 159.52 Kb.
Дата08.10.2012
Размер159.52 Kb.
ТипАнализ
Компьютерная грамматика русского языка
Анализ текста естественным образом разбивается на три этапа: анализ отдельного слова, анализ предложения и анализ связного текста. Завершены первые два этапа в создании системы анализа текстов на русском языке. Данная статья является кратким изложением полученных результатов.
На первом этапе каждое слово преобразуется в набор морфо-синтаксических лексем, готовых к взаимодействию друг с другом в предложении. На втором этапе осуществляется их взаимодействие, в процессе которого происходит выбор (как правило единственной) лексемы и связывание выбранных лексем в единую структуру. Основное внимание в статье уделяется второму этапу.

1. Семантика языка и его грамматика. Грамматика языка является абстрактным и в большей или меньшей степени формальным выражением его семантики. Даже такие понятия классической грамматики как дополнение, определение, обстоятельство и т. п. есть абстракции, прямо опирающиеся на смысл слов или словосочетаний. В предложениях – Он говорит с большим художником, Он говорит с большим трудом – невозможно отличить дополнение от обстоятельства без привлечения смысла слов.

Степень адекватности грамматики языка его семантике является критерием ее качества. Грамматика должна служить не столько средством отделения синтаксиса языка от его семантики, сколько средством связывания синтаксических конструкций с их семантикой. Естественное желание оторвать синтаксическую теорию языка от его семантики объясняется либо сугубо теоретическими соображениями, уводящими от решения реальных задач, либо тем, что семантика имеет дело со сложным, трудно формализуемым и потенциально неограниченным множеством значений (смыслов), а синтаксис – с достаточно ограниченным множеством синтаксических конструкций, которое в той или иной степени поддается формализации. Однако невозможно построить адекватную грамматику без формализации множества значений. Суть этой формализации заключается в замене потенциально неограниченного множества значений конечным множеством классов (или типов значений). После этого проблема построения грамматики сводится к увязыванию синтаксических конструкций языка с построенным множеством типов.

Каждый язык содержит составные синтаксические конструкции. Например, фразеологизмы, конструкции типа если … то, ни ... ни и т.п. Но в естественных языках не они являются проблемой для анализа (об этом см. ниже). Основная проблема – анализ простых распространенных предложений. Поэтому грамматика должна связывать с наборами типов каждое отдельное слово. Это означает, что компьютерная грамматика русского языка представляет собой строго формализованный словарь управления с привнесенной в него семантической информацией. Этот словарь назовем синтаксическим.

Синтаксический словарь является частью общего словаря, который содержит всю информацию о слове. Каждое слово в нем описывается набором альтернатив (лексем).
Каждая альтернатива представляет собой толкование лексемы на формальном семантическом языке в виде некоторой формулы.

Примеры словарных статей общего словаря.
РАЗБИТЬ г11с \ морфология

1 N%~ДЕЛАНИЕ$1513(Z1: !Им,Z2: !Тв,Z3: ЗЕМЛЯ$122411~!Вин) \ синтаксис лексемы

PerfCaus(Uzor(Z1,Z2),IncepFunc(Z3)) \ семантика лексемы

2 N%~ПРИГОТОВЛЕНИЕ$151310(Z1: !Им,Z2: !Вин,Z3: !Для)

PerfCaus(Z1,IncepPrepar(Z2,ИСПОЛЬЗОВАНИЕ$15215(Z3)))

3 N%~РАЗБИВАНИЕ$111030(Z1: !Им,Z2: ВЕЩЬ$1213~!Вин,Z3: !Тв\!обВин)

PerfCaus(Z1,FinFunc(Lab(Z2,УДАР$1520310(Z3))))

4 N%~РАЗБИВАНИЕ$111030(Z1: !Им,Z2: ЧАСТЬ_ТЕЛА$124/4~!Вин,Z3: !Тв\!обВин,Z4: !Кому)

PerfCaus(Z1,IncepHab(Lab(Z2,УДАР$1520310(Z3)),ПОВРЕЖДЕНИЕ$15213))

5 N%~РАЗБИЕНИЕ$15011(Z1: !Им,Z2: !Вин,Z3: !наВин)

PerfCaus(Z1,IncepCopul(Z2,Mult_o(ЧАСТЬ$1210/0841(Z3))))

6 N%~РАЗГРОМ$111030(Z1: !Им,Z2: !Тв,Z3: ЛЮДИ$124112\УТВЕРЖДЕНИЕ$15201110~!Вин)

PerfCaus(Uzor(Z1,Z2),FinFunc(Z3))
ИЗМЕНИТЬ г4сН

1 N%~ВЕРНОСТЬ$130115(Z1: !Им,Z2: !Дат)

PerfCaus(Z1,FinOper00(Z1,ВЕРНОСТЬ$130115(Z2)))

2 N%~ИЗМЕНЕНИЕ$150(Z1: !Им,Z2: !Вин,Z3: !вПред,Z4: !поДат,Z5: !Кому)

PerfCaus(Z1,Lab(Z2,ИЗМЕНЕНИЕ$150(Z2, Z3, Z4)))
Набор переменных Zi определяет множество аргументов лексемы и связывает ее синтаксис и семантику. Каждая переменная имеет описатель. Например, Z2: ВЕЩЬ$1213~!Вин. Это означает, что переменная Z2 в процессе разбора предложения может получить в качестве значения лексему класса ВЕЩЬ$1213 в винительном падеже. Семантический набор переменных содержится в синтаксическом, но эти наборы могут не совпадать. Переменные, которые входят в семантическую формулу, назовем связанными, а остальные – свободными. В приведенных примерах переменная Z4 четвертой альтернативы глагола разбить и переменная Z5 второй альтернативы глагола изменить являются свободными. В предложениях – Он изменил ей и Он изменил ей прическу – связи глагола с дательным падежом определяются различными типами переменных и потому принципиально различны. Свободные аргументы могут связываться с лексемой не напрямую, а через ее аргументы. Например, переменная Z5 в (сокращенном) описании глагола смотреть:
СМОТРЕТЬ г5н

1 N%~ЗРЕНИЕ$124/001(Z1: НЕЧТО$1~!Им,Z2: !Откуда,Z3: !Куда)

Caus(Z1,Direkt(Z2,Z3))

2 … (Z1: ЖИВОЙ$124~!Им,Z2: ГЛАЗ$124/4112~Тв, … Z4: !Вин\!наВин\!Куда(Z5: !Кому))

Caus(Loc(Z1,Z2),Percep(Uzor(САМ$110/17,Z3),Z4(Z5)))
является аргументом переменной Z4 и ее активизация произойдет только после связывания глагола смотреть с переменной Z4. Такое описание дает возможность построить разбор предложения Он смотрит в глаза собеседнику в виде: смотрит (Им Он,Куда в(Вин глаза(Кому собеседнику))), а предложение Он смотрит собеседнику окажется неправильным.

Некоторые свободные переменные не указываются непосредственно в словаре, а приписываются целым классам слов в процессе разбора предложения. Например, глаголам приписываются аргументы типов Где, Когда, Зачем, Почему и т. д., существительным – аргументы типа Какой. Это дает возможность правильно разбирать такие выражения как Стол стоимостью 600 рублей – Им Стол(Какой стоимостью(Род рублей(Им 600))).

2. Семантико-грамматические типы. Множество всех классов слов представляет собой древовидную структуру типа РОД – ВИД. Количество классов – 1536. В качестве примера приведем фрагмент классификатора.

$16 Время

$160 Время Конкретное

$1600 Время Конкретное Минута_час

$1601 Время Конкретное Время_суток

$1602 Время Конкретное Дни

$1603 Время Конкретное Месяц

$1604 Время Конкретное Сезон

$1605 Время Конкретное Годы

$1606 Время Конкретное Эпоха

Значение слова в предложении определяется не только его принадлежностью к семантическому классу, но и грамматической формой. Поэтому оно состоит из двух частей – номера класса и предложно-падежной формы. Назовем его семантико-грамматическим типом (СГТ). Например, $16~!Вин – СГТ слова класса ВРЕМЯ$16 в винительном падеже, !$1214~!наВин – СГТ словосочетания с предлогом на. В процессе синтаксического анализа могут вычисляться и такие СГТ, которые потеряли свою синтаксическую форму, но приобрели некоторое обобщенное семантическое значение. Эти значения обозначаются словами: Где, Когда, Как Долго, за Когда, на Когда, Куда и т. п. Например, $12~!Куда, $15~!Где.

Процесс взаимодействия слов в предложении, в результате которого происходит их связывание друг с другом, выбор альтернативы, вычисление обобщенного семантического типа связи и сборка предложения в единую конструкцию, полностью определяется наборами участвующих в этом процессе семантико-грамматических типов. Более того, без привлечения в том или ином виде обобщенной семантической информации правильный синтаксический анализ невозможен.

После первого этапа анализа информация о каждом слове исходного текста представлена набором альтернатив одного вида:
(СГТ11, СГТ12,…,СГТ1n ) \\ (Z1: СГТ21, Z2: СГТ22,…, Zm: СГТ2m),
где СГТij – семантико-грамматические типы.

Zi – имена переменных
Например, некоторые альтернативы предлога К и все альтернативы слова косу после первого этапа анализа:
к

($1~@кДат $1213~@Для) \\ (Z1: ВЕЩЬ$1213~!Дат)

($1~@кДат $16~@Когда) \\ (Z1: ВРЕМЯ$16~!Дат)

($15~@кДат) \\ (Z1: ДЕЙСТВИЕ$15~!Дат)

($1~@кДат $12~@Куда) \\ (Z1: МЕСТО$12 ~!Дат)

($1~@кДат $130~@ДееКак) \\ (Z1: ДУША$130~!Дат)
косу

($1241/121~@ОНА$17@Вин) \\ (Z1: $12413130~!Род\!У)

($1213113~@ОНА$17@Вин) \\ (Z1: !Род\!У,Z2: !Для)

($122416~@ОНА$17@Вин) \\ (Z1: !Род,Z2: !Где)
Эту информацию о слове поставляют морфологический анализатор и синтаксический словарь. Левую часть альтернативы назовем ее семантико-грамматическим значением, правую часть – ее аргументами.

Грамматическое значение альтернативы содержит информацию о том, к каким альтернативам она может присоединиться, аргументы – какие альтернативы она может присоединить. Например, при анализе выражения к лесу будет выбрана четвертая альтернатива предлога К и собранная конструкция получит СГТ – @Куда, выражение к утру – @Когда, к своему ужасу – @ДееКак (как бы деепричастие); при анализе выражения Русая коса у Марии будет выбрана первая альтернатива слова коса, при анализе Острая коса у Петра – вторая, Длинная коса у острова - третья.

Синтаксическая структура предложения предопределена наборами СГТ входящих в него слов. Например, предложение Он шел к лесу на самом внешнем (морфологическом) уровне будет представлено в виде:

@Им(Он) шел(!Им, …, !Куда) к{@Дат,@Пред}(лес).

Вычисляя значение предлога К на слове лес, получим:

@Им(Он) шел(!Им, …, !Куда) @Куда(к @Дат(лес)).

Соединяя правые части альтернатив одних слов с левыми частями других, получим разбор предложения:

шел(!Им@Им(Он), …, !Куда@Куда(к @Дат(лес))).

Различные синтаксические конструкции могут вырабатывать один и тот же грамматический тип, а внешне одинаковые – различные СГТ. Например, выражения у сарая, около сарая, под сараем, на крыше и т. д. выработают один и тот же СГТ (Где), а выражения – с большим художником, с большим трудом – разные (сТв и Как).

3. Свободные предложно-падежные формы. Предложно-падежная форма в предложении может быть связанной или свободной. Свободная форма это такое слово или словосочетание, грамматический тип которой не является семантическим аргументом ни одной альтернативы других слов предложения. Например, в предложениях Он смотрит волком и Он смотрит левым глазом творительный падеж в первом предложении является свободной формой, а во втором – нет. Наличие свободных форм казалось бы указывает на недостаточность синтаксического словаря, но это не так. Свободная форма самодостаточна в том смысле, что сама вырабатывает свой обобщенный семантический тип.

Среди свободных форм можно выделить подкласс абсолютно независимых падежных форм. Это явление наблюдается тогда, когда с падежной формой слова напрямую связывается его семантика, подавляя ее первичный СГТ. Например второй аргумент глагола читать – Вин, однако при синтаксическом разборе предложения Он читает целый час – читает(Им Он,КакДолго час(Им целый)) – первичный тип Вин выражения целый час будет заменен на СГТ – Как Долго.

Свободная форма вырабатывает дополнительный СГТ, который зависит от падежа и номера класса. Некоторые из них:
Падеж Номер класса СГТ Примеры
Дательный $124 – Кому \ построил дом сыну

Винительный $160 – Как долго \ шли два часа

Творительный $160 – Когда (ед. число) \ шли утром

– Как долго (мн.число) \ шли месяцами

Творительный $1242 – КакКто \ ревет медведем

Творительный $1224 – Где \ бежит лесом

Творительный $121424 – наПред \ едет поездом

Творительный $12/005 – Какой \ ростом, стоимостью

Творительный $12421 – Как \ входят парами

Творительный $121424 – Как \ идет расхлябанной походкой

Творительный $15304 – Как \ идет шагом

Творительный $124/4 – Как(!Куда) \ спиной к стене
Некоторые свободные предложно-падежные формы вырабатывают СГТ ДееКак (как бы деепричастие). Его вычисление осуществляет предлог. Это достаточно широкий класс словосочетаний, которые присоединяются к глаголу и занимают промежуточное положение между наречием и деепричастием. Например, в разъяснение тезиса, с помощью лестницы, в условиях плохой погоды, наряду с разработкой, по его словам и т. п.

Свободными формами являются все предложно-падежные формы, которые вырабатывают СГТ – Где, Когда, КакДолго, Зачем, Почему, заКогда, наКогда. Все эти формы присоединяются к глаголу.

4. Дополнительные аргументы. Перед началом анализа к каждой лексеме добавляются дополнительные аргументы. Набор этих аргументов определяется частью речи, к которой принадлежит лексема. Все существительные приобретают новые аргументы: !0Какой, !Вместе, $1210/08~@КакB. К существительным классов $1211 (Вещества), $12123 (Строительные материалы), $1213 (Вещь), $14132 (Скульптура), $1232 (Сооружения), $124/1 (Пища) добавляется аргумент !1Какой; к существительным класса $1224 (Ландшафт) – !2Какой;

к существительным класса $1241 (Человек) – $12136~@вПред (в одежде).

Всем глаголам и предикатам добавляются аргументы: !Где, !Когда, !Как, !Почему, !Зачем, !КакКто, !наКогда, !заКогда, !ДееКак, $1102~!Тв (Способ), !Для, !Сколько, !Сравн, !Деепр. Имперфектным глаголам – аргумент !КакДолго. Глаголам класса $153 (Перемещение) – аргумент !Навстречу.

Прилагательные приобретают аргумент !Как, местоимения – аргументы !0Какой и !сТв, сравнения – аргументы !Род, !Вопр, !Как, !наВин, числительные в именительном падеже – !У.

По окончании анализа, если предложение не собрано полностью, лексемы приобретают дополнительные аргументы и грамматические типы значений.

К существительным и местоимениям добавляются аргументы !Где, !сТв, !Включая, !Без, !Откуда , !ДееКак, !Куда, !У, к глаголам – Глаголы – !Дат Существительные во множественном числе и творительном падеже приобретают новое грамматическое значение – @Как.

5. Синтаксический анализатор. Анализатор решает две основные проблемы: правильный выбор (как правило, единственной) альтернативы слова и связывание выбранных альтернатив в единую конструкцию. Он представляет собой связку рекурсивных функций, каждая из которых ориентирована на работу с определенной частью речи: obgla – обработка глаголов, obsuh – обработка существительных, obprd – обработка предлогов и т. д. Каждая из этих функций точно определяет ту роль, которую данная часть речи может играть в предложении.

Единственной действующей операцией является операция связывания слов или уже собранных конструкций. Она состоит из двух частей. Первая часть выявляет наличие связи, сопоставляя аргументы присоединяющей конструкции с семантико-грамматическими значениями присоединяемой. При отсутствии связи вычисление заканчивается и выдается значение неуспех. При наличии связи из множества всех связей выбираются связи с максимальным номером класса, после чего описания обеих конструкций модифицируются, одна из них упрятываются под другую, вычисляются семантико-грамматические значения составной конструкции и выдается значение успех. Согласование прилагательного и числительного с существительным осуществляется этой же операцией, только роль аргументов выполняют семантико-грамматические значения прилагательного или числительного.

Упрятанные слова не теряют своей активности и продолжают участвовать в анализе. Это дает возможность присоединять слова еще не собранных конструкций, что настолько упрощает алгоритм анализа, что о реализации этой возможности хотя бы очень коротко стоит сказать.

Пусть уже собранная конструкция x1(x2,…,x3(x4,…)) с любой глубиной вложенности упрятанных слов пытается присоединить слово y. Вначале все слова xi упорядочиваются по степени их близости в предложении к слову y. После этого во взаимодействие со словом y вступает ближайшее к нему слово, которое в случае успеха присоединяет слово y. В случае неуспеха во взаимодействие вступает следующее слово и т. д. Таким образом еще несобранная конструкция собирается внутри конструкции x1 или в одной из ее подконструкций. При таком методе сборки предложение просматривается анализатором один раз слева направо независимо от глубины вложенности подконструкций.

Алгоритм анализа полностью детерминирован, не содержит механизма возвратов и тем не менее способен анализировать достаточно сложные предложения.

Составные конструкции типа Если … то, ни … ни, вложенные предложения, начинающиеся с вопросительных союзов что, где, когда, какой, который и т. п., союзами чтобы, хотя и т. п. анализируются абсолютно также, как соответствующие конструкции в языках программирования. Если точнее, то также как в языке Форт. Например, при анализе конструкций типа Если … то, слово если управляет сборкой сначала первой части предложения, потом присоединяет ее в качестве своего первого аргумента, после чего повторяет то же самое со второй частью предложения, сохраняя в качестве разделителя союз то. Это хорошо видно из процесса анализа предложения Если будет дождь, то он не придет.
Процесс анализа:
analizS Если\будет\0

obkot Если\будет\0

analizS будет\дождь\0

obgla будет\дождь\0 СВЯЗЬ: \ГлагСущ1\ будет ==> дождь

obgla будет\Symbol: ,\1 СВЯЗЬ: \ЧтобыВопр\ Если ==> будет \\ присоединение первой части

analizS то\он\2 СВЯЗЬ: \ЧтобыТо\ Если ==> то

analizS Если\он\3

obkot Если\он\3

analizS он\не_придет\3

obmst он\не_придет\3 СВЯЗЬ: не_придет ==> он

СВЯЗЬ: Если ==> не_придет \\ присоединение второй части
Результат анализа (описания слов и типы связей опущены):
N% слова разбор СГТ
001 Если [Условие]

002 будет [Глагол]

003 дождь [Что]

005 то [Союз]

008 не_придет [Глагол]

006 он [Кто-Что]
6. Заключение. Основное внимание здесь было уделено вопросам, непосредственно связанным с понятием семантико-грамматического типа, лежащем на стыке синтаксиса и семантики русского языка. Замена каждого слова предложения во время его разбора на множество альтернатив, содержащих наборы СГТ, оказалась необходимой и достаточной для того, чтобы синтаксический анализатор был в состоянии построить синтаксическую структуру предложения, совпадающую с его семантической структурой. Это говорит об адекватности построенной грамматики русского языка его семантике.

Пример.

В предложениях - Он говорит с большим художником, Он говорит с большим трудом - невозможно отличить дополнение от обстоятельства без привлечения смысла слов.
--------------------------------------------------------------------

N% слова разбор СГТ

--------------------------------------------------------------------
002 В предложениях [Где]

*ЭтоЕсть>

005 говорит [Глагол]

004 Он [Кто-Что]

008 с художником [сКем]

007 большим [Каким]

011 говорит [Глагол]

010 Он [Кто-Что]

014 с трудом [Как]

013 большим [Каким]

*ЭтоЕсть>

016 невозможно [Предикат]

017 отличить [Что делать]

018 дополнение [Что]

020 от обстоятельства [Ото]

022 без привлечения [ДееКак]

023 смысла [Чего]

024 слов [Чего]





Похожие:

Компьютерная грамматика русского языка iconУчебной дисциплины (модуля) Наименование дисциплины (модуля) История русского языка (историческая грамматика русского языка, история русского литературного языка) Рекомендуется для направления подготовки
«Историческая грамматика русского языка» изучается после курсов «Введение в языкознание», «Старославянский язык», «Русская диалектология»,...
Компьютерная грамматика русского языка iconУчебной дисциплины (модуля) Наименование дисциплины (модуля) История русского языка (Историческая грамматика русского языка) Рекомендуется для направления подготовки
Курса «История русского языка (историческая грамматика)» соответствует Федеральному государственному образовательному стандарту по...
Компьютерная грамматика русского языка iconРуководство к выполнению контрольных работ по дисциплине «Историческая грамматика русского языка» для студентов заочного обучения
Историческая грамматика русского языка как научная и учебная дисциплина. Предмет и задачи курса
Компьютерная грамматика русского языка iconНа уроках русского языка в начальной школе
М. В. Ломоносова в области языкознания, где он является основоположником. Им написана первая грамматика русского языка с систематически...
Компьютерная грамматика русского языка iconВопросы к экзамену по курсу "Историческая грамматика русского языка"
Предмет, задачи и значение исторической грамматики русского языка как научной и учебной дисциплины
Компьютерная грамматика русского языка iconНемного о значении и употреблении повелительного наклонения видов глогола русского языка Ⅰ
Язык является орудием общения человечества. Грамматика — это одна из важнейших составных частей языковедческих наук русского яыка....
Компьютерная грамматика русского языка iconЛитература по курсу Основная Борковский В. И., Кузнецов Я. С. Историческая грамматика русского языка. 2-е изд. М., 1965
Борковский В. И., Кузнецов Я. С. Историческая грамматика русского языка. 2-е изд. М., 1965
Компьютерная грамматика русского языка iconА. А. Красилов Язык и знание. Семантическая грамматика русского языка
Устанавливается соотношение между классической грамматикой (совокупность правил образования слов и предложений) и семантической....
Компьютерная грамматика русского языка iconЯзык разметки грамматических правил grrml
С использованием языка grrml размечена грамматика русского языка по словарю А. А. Зализняка. Приведены примеры использования языка...
Компьютерная грамматика русского языка iconКомпьютерная семантика русского языка
Существует только один способ такого разграничения, суть которого сводится к построению формального семантического языка и двухстороннему...
Разместите кнопку на своём сайте:
ru.convdocs.org


База данных защищена авторским правом ©ru.convdocs.org 2016
обратиться к администрации
ru.convdocs.org