Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
СЕЧЕНОВ 3_4 конечн.doc
Скачиваний:
3
Добавлен:
01.03.2025
Размер:
6.01 Mб
Скачать

2.4. Лексический анализ

В данном ЛП используется простейший лексический анализатор; он выполняет вспомогательные функции, не имеет возможности настройки или взаимодействия с пользователем и поэтому реализован как часть блока морфологического анализа.

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

Вместе с указателем на массив символов в процедуру лексического разбора передается переменная - счетчик байт в этом массиве.

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

Указатели, на все сформированные таким образом строки, анализатор заносит в выходной динамический массив, который является результатом его работы.

2.5. Морфологический анализ

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

Для каждой словоформы входного предложения выполняется следующее:

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

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

2.6. Синтаксический анализ

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

Предварительная синтаксическая фильтрация предусматривает выполнение следующих действий:

- согласуется предлог с существительным и устраняется избыточная омонимия падежей;

- согласуется существительное с прилагательным и устраняется избыточная морфологическая омонимия по роду, числу и падежу;

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

На втором этапе синтаксического анализа происходит формирование синтаксического разбора:

- выделяется основной предикат предложения, и из него проводятся синтаксические отношения на слова-ядра потенциальных именных групп на основе сформированной таблицы словоформ-кандидатов на соответствующие роли МУ предиката;

- для каждого ядра именной группы, т.е. главного слова группы, производится построение синтаксического поддерева, при этом процесс направляется специальной рекурсивной процедурой;