| |
| Морфологический синтез - процесс преобразования слов с заданными атрибутами в словоформы. Фактически, это известный всем с дества процесс. Для существительных, например, процесс последовательного получения словоформ для слова называется склонением ("стол", "стола", "столу", "стол" и т.д.). Итак, имея заданную лемму и набор грамматических категорий (смысл слова при этом совершенно не используется), следует построить токен, попадающий в выходное лексическое представление сообщения. Важным свойством данного преобразования является почти полная единичность преобразований отдельных элементов: каждое слово генерирует единственный токен (при лексическом преобразовании) каждый токен обычно генерил несколько символов. На самом деле, не всё так просто, как я вам тут описал. Лемма - не всегда начальная форма слов (по крайней мере, для наших целей). Она может быть выражением смысла слова, записанным на некотором языке описания смысла. И тогда преобразование усложняется - ведь сначала нужно сгенерировать само слово, а только потом - результирующий токен. Преобразования становится многоступенчатым. ( Читать дальше... ) | |
|
| А мы будем двигаться дальше. Сообщение можно представлять не только как набор символов и токенов, но и как набор атрибутированных лемм. Лемма - суть начальная форма для словоформы, её атрибуты - это изменяемые и неизменяемые грамматические категории, а также информация о семантике (смысле) леммы. К примеру, для словоформы "домом" леммой является "дом", неизменяемыми атрибутами - мужской род, 2-ое склонение, неодушевлённость, нарицательность; изменяемыми - единственное число, творительный падеж.
Фактически, словоформа (лексема) - это форма леммы при определённых значениях изменяемых атрибутов, поэтому представления текста в виде набора лексем и набора атрибутированных лемм эквивалентны.
Морфологический уровень языка не заботится о явном представлении форм лемм, для него важны лишь атрибуты и их значения. Таким образом, сообщение с точки зрения морфологического уровня представляет собой набор концептов, в котором порядок их следования уже жёстко задан, но форма их конечного выражения ещё не определена. На этом уровне мы имеем максимальную информацию о каждом слове, входящем в состав сообщения. Словарём для морфологического уровня является словарь в привычном для нас понимании: он содержит начальные формы слов, их категории и описание их смысла.
Важнейшей характеристикой для слова является его часть речи (тип). Часть речи определяет состав категорий, которыми обладает слово. Мы будем выделять следующие части речи: существительное, прилагательное, числительное, глагол, наречие, местоимение, предлог, союз, частица, междометие, причастие, деепричастие, знак и константа. Последние две части речи соответствуют аналогичным типам токенов лексического уровня языка.
Если проводить аналогию с языками программирования, то для них морфологическим представлением является последовательность пар <тип, значение> (а не <тип, лексема>), как было на предыдущем уровне. Значение - это результат вычисления лексемы заданного типа. Для лексемы "123.45" значением будет вещественное число 123,45. | |
|
| Итак, как и обещал, вот вам реализация лексического синтеза (по умолчанию используется наш пример): http://vladimirkhil.com/lingware/natural/lexs/На вход подаётся набор элементов, для каждого из которых задан тип ("w" для слов, "s" для знаков и "c" для констант), на выходе все они склеиваются в цельный текст. Напоминаю, что на данном этапе используются демонстрационные версии преобразователей (изображающие концепцию, а не готовый продукт), и поэтому их корректная работа на других примерах не гарантируется. Для чего может понадобиться такая бесхитростная вещь? Ну, скажем, для ситуации, в которой вы нагенерили кучу псевдослов и хотите, чтобы их последовательность выглядела как корректно отформатированный текст. Эта утилита легко вам их склеит. (Последующие утилиты позволят создавать более вменяемые тексты). Просто? Идём дальше. | |
|
| Помните, я искал песню? Нашёл. Сам. Вот она. Tinie Tempah - Written In The Stars ft. Eric Turner. Слова, конечно, переврал я знатно. По моей версии: "I! Leaving for tonight, ... Million miles away". На самом деле там: "Oh, written in the stars A million miles away A message to the main". | |
|
| Лексический синтез - отображение последовательности токенов в последовательность символов. Это преобразование из лексического уровня языка в текстовый. Основным свойством такого преобразования является монотонность: предшествующие токены отображаются в предшествующие символы, последующие - в последующие символы.
Суть преобразования заключается в замене каждого из токенов набором из одного или нескольких символов.
После преобразования обычно осуществляется "сглаживание" текста, необходимое для улучшения его читабельности. Например, предлоги "об", "в", "с", "к" и др. могут получить дополнительную гласную "о" (если за ними следует плохо сочетающийся с ними символ).
Типы токенов как раз и определяют, каким образом над ними выполняется преобразование. Слова, числа и константы отделяются друг от друга пробелами, знаки препинания приклеиваются к предшествующему или последующему токену.
Для каждого токена задано его представление в виде набора символов, и лексический преобразователь тупо выводит их в качестве результата (ну, иногда применяя сглаживание). Представление токена - это собственно и есть его лексема. Скажем, для токена {Слово, лиса} представлением будет набор символов "лиса". Для токена {Знак, ","} представлением будет ",".
В общем, преобразование тривиальное, и его может реализовать каждый школьник. Нужно задать: а) преобразование для каждого из типов токенов; б) сглаживающую функцию в виде набора шаблонов. Реализация не заставит себя долго ждать. | |
|
| 6 мая 2012 года напоминает мне 14 декабря 1825. | |
|
| Итак, глобальные преобразования ПСД мы описываем с помощью набора локальных преобразований. Т.е. искомый результат мы получаем посредством последовательного применения простых преобразований над небольшими наборами данных. Возможны два способа задания локальных преобразований (или, если хотите, две модели) – при помощи словарей и при помощи правил. Рассмотрим эти способы на примере двух преобразований – морфологического синтеза и синтаксического анализа. ( Читать дальше... ) | |
|
| Итак, я вчера впервые поучаствовал в "Бегущем городе" и могу с уверенностью сказать, что мне это понравилось. Такого удовольствия давно не получал. Во первых строках сего письма хочу выразить благодарность karakat за предоставленное место в команде. Без неё бы я так и сидел неизвестно сколько времени, ни в чём не участвуя. О правилах. Игра командная, команды могут составлять от 1 до 4 человек. Соревнование предполагает посещение определённых мест в Москве - контрольных пунктов (КП). Для каждого места дано относительно простое задание, связанное с тем, что по прибытии на место нужно что-то посчитать, перерисовать или записать. Вычисленный результат записывается в маршрутную книжку команды, на основании данных которой команда и получает баллы и занимает итоговое место в турнирной таблице. Существует несколько возможных направлений участия в "Бегущем городе", отличающих правилами и траекториями друг от друга. Наш вариант назывался "Лев-Про", и, чтобы не дезинформировать вас относительных других дорожек, скажу, что дальше будут о писать о правилах для этого варианта. ( Читать дальше... ) | |
|
| А никто не хочет сходить на "Титаник"? | |
|
| 904 автобус прикольный. "Остановка "Больница МПС", следующая остановка - "станция метро "Динамо".
Для троллейбуса это 16 остановок. | |
|
| |