Лингвистический преобразователь. Лексический синтез

May 06, 2012 23:09

Лексический синтез - отображение последовательности токенов в последовательность символов. Это преобразование из лексического уровня языка в текстовый. Основным свойством такого преобразования является монотонность: предшествующие токены отображаются в предшествующие символы, последующие - в последующие символы.

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

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

Типы токенов как раз и определяют, каким образом над ними выполняется преобразование. Слова, числа и константы отделяются друг от друга пробелами, знаки препинания приклеиваются к предшествующему или последующему токену.

Для каждого токена задано его представление в виде набора символов, и лексический преобразователь тупо выводит их в качестве результата (ну, иногда применяя сглаживание). Представление токена - это собственно и есть его лексема. Скажем, для токена {Слово, лиса} представлением будет набор символов "лиса". Для токена {Знак, ","} представлением будет ",".

В общем, преобразование тривиальное, и его может реализовать каждый школьник. Нужно задать: а) преобразование для каждого из типов токенов; б) сглаживающую функцию в виде набора шаблонов. Реализация не заставит себя долго ждать.

ИИ

Previous post Next post
Up