Разработка алгоритма работы синтаксического анализатора текста, а также базы данных синтаксических правил русского языка
Курсовой проект - Иностранные языки
Другие курсовые по предмету Иностранные языки
шой
Вчера в лесу мы работали старой пилой, а сегодня во дворе - новой. Определение типа фрагмента
Типом фрагмента может быть ровно одно значение из списка. Начиная с первого значения из списка, по порядку проверяется есть ли в данном фрагменте слово этой части речи. Если такое слово найдено и у него нет омонимов других частей речи, то дальнейшие поиски прекращаются и тип фрагмента - значение, на котором остановились. Если для данного значения из списка не нашлось неомонимичных (с точностью до части речи) подходящих слов, но есть омонимичные, тогда для фрагмента не устанавливается однозначно тип, а постулируется несколько вариантов, которые либо уничтожатся на уровне семантики, либо останутся в выходной структуре.
Пример: на этот раз она не права
Для этого фрагмента есть два варианта:
1.Тип фрагмента - краткое прилагательное (права - ж.р., ед. ч. от правый)
2.Тип фрагмента - пустыха (права - и.п./в.п. мн. ч.; р.п. ед. ч. от право)
Пример: мои права забрали в милиции
Для этого фрагмента тип определяется однозначно, т.к. забрали - неомонимичный глагол в личной форме. Глагол в личной форме стоит в списке на первом месте, дальнейшие поиски возможных вершин фрагмента не ведутся.
Алгоритм выявления ВВОДНЫХ
Проверка клаузы на наличие вводных слов.
Если найдено слово из списка 1 вводных слов (см. ниже), при этом оно ограничено с обеих сторон какими-либо знаками препинания из следующих:
1.запятая,
2.точка,
.вскл. знак,
.вопр. знак,
.точка с запятой,
.тире,
.двоеточие,
.начало предложения (Бб),
.конец предложения,
.кавычки.
То это слово ВВОДН
Дополнительное правило:
Если слева от вводного слова стоит сочинительный союз или частица, не отделенные от него знаком препинания, то они включаются в клаузу ВВОДН. (Она двинулась в путь, и наверно, быстро бы достигла цели, если бы не гроза.)
Определение союзов и союзных слов фрагмента
Сначала определяется, нет ли такого сложного союза (из файла оборотов obor.dic), начало которого (слово с пометой Об1) находится в соседнем слева фрагменте, а конец (помета Об2) в данном. (Это такие сложные союзы, которые разделяются запятой, часто имеют варианты, при которых запятая стоит перед всем союзом - для того, чтобы; с тем, чтобы; потому, что и др.) Если такой союз есть, то он относится к данному фрагменту, т.е. к тому, в котором заканчивается. Далее все слова фрагмента, у которых есть омоним - союз, считаются союзами данного фрагмента. Эта процедура несовершенна и требует доработки с учетом индивидуальных особенностей отдельных союзов.
Работа с фрагментами
В правилах обработки фрагментов может использоваться как стандартная информация (см. структура фрагмента), так и сведения об отдельных словах.
Правила, устанавливающие иерархию
Здесь мы рассмотрим правила, которые один фрагмент вкладывают в другой.
) Алгоритм вкладывания ВВОДН
Процесс вкладывания, а не слияния клаузы ВВОДН происходит на синтаксисе до объединения всех групп ГЛ_личн, КР-прил и др. Клауза ВВОДН вкладывается в другие клаузы слева или справа следующим образом:
1.Если ВВОДН - первая клауза в предложении. Если с правой стороны от ВВОДН стоит Подчиненное предложение любого типа (ГЛ_ЛИЧН когда, Наверно, когда пошла домой, она что-то забыла.), то ВВОДН в него не вкладывается, в остальных случаях происходит вложение.
2.Если после следующих слов, имеющих омоним ВВОДН, стоит подчинительная клауза со что (бесспорно, что это так), то омоним ВВОДН убивается и ставится ПРЕДК:
.Если ВВОДН - последняя клауза в предложении. В таком случае ВВОДН всегда вкладывается в левую клаузу.
.Если ВВОДН ограничено с одной стороны запятой, а с другой другим знаком препинания или запятой и еще одним знаком препинания, то ВВОДН вкладывается в клаузу со стороны запятой безотносительно к иерархическому статусу оной. ( - Не знаю, - прошептал Врумфундель, - наверно, наши мозги слишком натренированы, Маджиктиз. Убийца потерял что-то - наверно, пальто., - Да нет, конечно, - вздохнул Зафод.)
.Если обе клаузы слева и справа от ВВОДН имеют союз, то клауза ВВОДН вкладывается в левую клаузу независимо от иерархии. (И пошла Маша домой, наверно, а не в гости.)
.Если обе клаузы слева и справа без союзов и если в составе клаузы ВВОДН имеется союз или частица (Она пошла в гости, приготовив ужин, и наверно, поев.), то клауза ВВОДН вкладывается в правую клаузу независимо от иерархического уровня последней, за исключением случаев конца предложения и других знаков препинания с правой стороны, кроме запятой.
Имеет место следующая иерархия:
1.ГЛ_ЛИЧН (Она, наверно, пошла гулять, Зеленые, красные и сиреневые облака, наверно, плыли над нами., Какую, наверно, она возбуждает зависть у других! Такого царственного существа, наверно, больше нигде не найдешь.) // но: Я думаю, наверно, наши мозги слишком натренированы.
2.ПРЕДК (Возможно, конечно, наши мозги слишком натренированы., Это, наверно, интересно)
.КР_ПРИЛ (Она, наверно, красива)
.КР_ПРЧ (Оттого, наверно, наши мозги слишком натренированы.)
.ДПР (Она, приготовив, наверно, ужин, пошла в кино)
.ПРЧ (Она, строящая, наверно, дом, умна, Дом, наверно, строящийся рабочими.)
.ИНФ (Нам, наверно