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

Курсовой проект - Иностранные языки

Другие курсовые по предмету Иностранные языки

шой

Вчера в лесу мы работали старой пилой, а сегодня во дворе - новой. Определение типа фрагмента

Типом фрагмента может быть ровно одно значение из списка. Начиная с первого значения из списка, по порядку проверяется есть ли в данном фрагменте слово этой части речи. Если такое слово найдено и у него нет омонимов других частей речи, то дальнейшие поиски прекращаются и тип фрагмента - значение, на котором остановились. Если для данного значения из списка не нашлось неомонимичных (с точностью до части речи) подходящих слов, но есть омонимичные, тогда для фрагмента не устанавливается однозначно тип, а постулируется несколько вариантов, которые либо уничтожатся на уровне семантики, либо останутся в выходной структуре.

Пример: на этот раз она не права

Для этого фрагмента есть два варианта:

1.Тип фрагмента - краткое прилагательное (права - ж.р., ед. ч. от правый)

2.Тип фрагмента - пустыха (права - и.п./в.п. мн. ч.; р.п. ед. ч. от право)

Пример: мои права забрали в милиции

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

Алгоритм выявления ВВОДНЫХ

Проверка клаузы на наличие вводных слов.

Если найдено слово из списка 1 вводных слов (см. ниже), при этом оно ограничено с обеих сторон какими-либо знаками препинания из следующих:

1.запятая,

2.точка,

.вскл. знак,

.вопр. знак,

.точка с запятой,

.тире,

.двоеточие,

.начало предложения (Бб),

.конец предложения,

.кавычки.

То это слово ВВОДН

Дополнительное правило:

Если слева от вводного слова стоит сочинительный союз или частица, не отделенные от него знаком препинания, то они включаются в клаузу ВВОДН. (Она двинулась в путь, и наверно, быстро бы достигла цели, если бы не гроза.)

Определение союзов и союзных слов фрагмента

Сначала определяется, нет ли такого сложного союза (из файла оборотов obor.dic), начало которого (слово с пометой Об1) находится в соседнем слева фрагменте, а конец (помета Об2) в данном. (Это такие сложные союзы, которые разделяются запятой, часто имеют варианты, при которых запятая стоит перед всем союзом - для того, чтобы; с тем, чтобы; потому, что и др.) Если такой союз есть, то он относится к данному фрагменту, т.е. к тому, в котором заканчивается. Далее все слова фрагмента, у которых есть омоним - союз, считаются союзами данного фрагмента. Эта процедура несовершенна и требует доработки с учетом индивидуальных особенностей отдельных союзов.

Работа с фрагментами

В правилах обработки фрагментов может использоваться как стандартная информация (см. структура фрагмента), так и сведения об отдельных словах.

Правила, устанавливающие иерархию

Здесь мы рассмотрим правила, которые один фрагмент вкладывают в другой.

) Алгоритм вкладывания ВВОДН

Процесс вкладывания, а не слияния клаузы ВВОДН происходит на синтаксисе до объединения всех групп ГЛ_личн, КР-прил и др. Клауза ВВОДН вкладывается в другие клаузы слева или справа следующим образом:

1.Если ВВОДН - первая клауза в предложении. Если с правой стороны от ВВОДН стоит Подчиненное предложение любого типа (ГЛ_ЛИЧН когда, Наверно, когда пошла домой, она что-то забыла.), то ВВОДН в него не вкладывается, в остальных случаях происходит вложение.

2.Если после следующих слов, имеющих омоним ВВОДН, стоит подчинительная клауза со что (бесспорно, что это так), то омоним ВВОДН убивается и ставится ПРЕДК:

.Если ВВОДН - последняя клауза в предложении. В таком случае ВВОДН всегда вкладывается в левую клаузу.

.Если ВВОДН ограничено с одной стороны запятой, а с другой другим знаком препинания или запятой и еще одним знаком препинания, то ВВОДН вкладывается в клаузу со стороны запятой безотносительно к иерархическому статусу оной. ( - Не знаю, - прошептал Врумфундель, - наверно, наши мозги слишком натренированы, Маджиктиз. Убийца потерял что-то - наверно, пальто., - Да нет, конечно, - вздохнул Зафод.)

.Если обе клаузы слева и справа от ВВОДН имеют союз, то клауза ВВОДН вкладывается в левую клаузу независимо от иерархии. (И пошла Маша домой, наверно, а не в гости.)

.Если обе клаузы слева и справа без союзов и если в составе клаузы ВВОДН имеется союз или частица (Она пошла в гости, приготовив ужин, и наверно, поев.), то клауза ВВОДН вкладывается в правую клаузу независимо от иерархического уровня последней, за исключением случаев конца предложения и других знаков препинания с правой стороны, кроме запятой.

Имеет место следующая иерархия:

1.ГЛ_ЛИЧН (Она, наверно, пошла гулять, Зеленые, красные и сиреневые облака, наверно, плыли над нами., Какую, наверно, она возбуждает зависть у других! Такого царственного существа, наверно, больше нигде не найдешь.) // но: Я думаю, наверно, наши мозги слишком натренированы.

2.ПРЕДК (Возможно, конечно, наши мозги слишком натренированы., Это, наверно, интересно)

.КР_ПРИЛ (Она, наверно, красива)

.КР_ПРЧ (Оттого, наверно, наши мозги слишком натренированы.)

.ДПР (Она, приготовив, наверно, ужин, пошла в кино)

.ПРЧ (Она, строящая, наверно, дом, умна, Дом, наверно, строящийся рабочими.)

.ИНФ (Нам, наверно