понедельник, 23 апреля 2007 г.

Основы-2

Продолжим :) Ранее я уже упоминал элементы алгоритмя перевода. На всякий случай еще раз:
  1. лексический анализ
  2. морфологический анализ
  3. фразеологический анализ
  4. синтаксический анализ
  5. семантический анализ

Сразу хочу сообщить - я не лингвист. Я простой программист :) Поэтому мои подходы к решению лингвистических задач несколько хм... отличаются от общепринятых. Прошу сильно не бить :)

Я решал проблему перевода по самому простому пути. А именно - на каждый этап перевода был сделан отдельный алгоритм. Прежде чем переходить к самим алгоритмам я думаю стоит написать что именно каждый из них должен делать.

  1. лексический анализатор - получает на входе текст и выделяет в нем слова, предложения, и абзацы.
  2. морфологический анализатор - получает на входе слова и определяет их исходную форму. В моей версии алгоритма перевода - на этом этапе еще и определяются все переводы слов.
  3. фразеологический анализатор - получает на входе слова и принимает решение об объединении некоторых из них в одно слово.
  4. синтаксический анализатор - получает на входе предложения (массив слов) и определяет отношения между словами, корректирует характеристики и части речи слов.
  5. семантический анализатор - отсутствует на данный момент :(

Наверное теперь самое время определиться - что же такое слово/предложение/текст?

Слово описывается специальным классом TMWord и содержит следующие основные элементы:

  • оригинальная форма (то, как слово было написано в тексте)
  • исходная форма (то, как слово записано в словаре)
  • части речи слова
  • параметры слова
  • переводы слова

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

Каждый вариант перевода слова описывается:

  • русское слово
  • часть речи
  • параметры слова
  • шаблон склонения

Параметры слова - это синтаксические и семантические характеристики слова. Например, для глаголов - это переходный/непереходный, совершенный/несовершенный и т.п.

Параметры на данный момент делятся на три вида:

  • применимые к английским словам
  • применимые к русским слова
  • применимые ко всем языкам

Таким образом, параметры слова в предложении - это совокупность всех параметров всех вариантов перевода данного слова в предложении.

Ну со словом вроде более-менее определились. Перейдем к предложению. Я думаю ни для кого не секрет, что предложение - это группа слов :) Английское предложение описывает специальный класс TMStr, русское - TRStr. Ну, об их особенностях поговорим позже...

Текст обычно состоит из абзацев, абзацы из предложений. Эту структуру описывает класс TTextParser. Фактически - это третий самый главный базовый класс (первые два - это TMWord и TMStr). Все взаимодействие GUI-модулей с текстом идет через него.

Комментариев нет:

Отправить комментарий