Методы генерации текстов

Автор: Пользователь скрыл имя, 26 Февраля 2012 в 00:09, реферат

Описание работы

Корпусная лингвистика – одна из наиболее востребованных отраслей прикладного языкознания. Бурное развитие корпусной лингвистики обусловлено необходимостью создания ресурсов, обеспечивающих доступ к языковому материалу, качественно обработанному и репрезентативному.

Работа содержит 1 файл

Методы генерации текстов.docx

— 72.07 Кб (Скачать)

Bert does not display the verbal communication skills required, and his written communications fall short of the quality needed. Additionally, he does not exhibit the listening and comprehension skills necessary for satisfactory performance of his job.

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

Организация системы ГЕЯ: ресурсы и обрабатывающий компонент.

Программный код, реализующий  генератор обычно разделяется на два компонента: ресурсы и обрабатывающий компонент. Ресурсы описывают знания, необходимые для генерации, а  обрабатывающий компонент применяет эти знания к входным данным. Для многоязыковых генераторов строится единый обрабатывающий компонент, реализующий некоторую лингвистическую идеологию, а для выходных языков создаются ресурсы - языковые средства для конкретного ЕЯ – грамматики, словари. Примером обрабатывающего компонента может служить среда для создания генераторов KPML (KPML). Она использовалась в нескольких проектах, в частности, в проекте генерации инструкций к графическим редакторам на болгарском, русском и чешском языках AGILE (Kruijff et al., 2000), (Соколова, Шаров, 1998). В  AGILE создается единое для трех языков представление содержания текста – A-box (assertion box), оно разбивается на семантические представления отдельных предложений, которые имеют локальные отличия по выходным языкам.

Языковые ресурсы обычно модуляризируются - разделяются по уровням лингвистического описания и по специфичности описания для  конкретного языка. Традиционно  выделяются следующие уровни лингвистического описания: лексика, морфология, синтаксис, семантика, риторика и прагматика. Первые три уровня описывают явления, специфичные для конкретного языка. Вторые три уровня  задают межъязыковые знания, структуру текста и его контекст. Разделением ресурсов генерации на модули согласно уровням лингвистического описания достигается последовательность в ограничении области поиска альтернатив в процессе генерации.

Ресурсы должны быть максимально  независимы от особенностей конкретного  приложения, а все особенности  задачи должны быть отражены в принимаемых  генератором на входе данных. В  этом случае задачу построения генератора необходимо решить только один раз  для каждого описываемого ЕЯ. К  настоящему моменту считается, что  генератор, реализующий такую схему, на входе должен принимать систему знаний, из которой будет конструироваться текст, коммуникативную цель порождаемого текста, модель адресата текста, и контекст повествования (Reiter and Dale 2000).

 

Условная схема процесса генерации.

Общая и полная схема генерации  без детализации происходящих процессов  состоит из трех основных блоков:

1)Планирование содержания текста;           2)Микропланирование;           3)Реализация на ЕЯ.

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

Микропланирование – это  интерфейсный блок, который позволяет  от предметных знаний перейти к языковым. В нем решается, каким образом  выбранная информация будет реализована  языковыми средствами в виде предложений  на ЕЯ. Результатом этого процесса являются представления предложений  в виде структур семантических и/или  синтаксических отношений.

Реализация на ЕЯ – производство грамматически правильных предложений  текста. Основан на лингвистических  знаниях. Этот блок часто выделяется как универсальный и включает в себя либо только морфологический  синтез словоформ, либо переход от семантических  представлений к поверхностно синтаксическим и синтез словоформ, например, ресурсы  конкретных языков в AGILE.

В (Bateman and Zock, 2003) рассматривается  более подробная схема процесса генерации. Схема генерации описывает  некий идеализированный процесс. Действующая  модель генерации не является и не может быть полной и последовательной реализацией схемы генерации. Разработчики постоянно сталкиваются с проблемами, которые получили название generation gaps (“пропасти”), которые на практике преодолеваются директивным сопоставлением средств выражения (Jokinen et al. 1996). Таким  образом, вместо плавного уровневого процесса генерации в действующей системе  мы имеем рваную модель, достигающую  своей цели отчасти эмпирическими  шаблонными методами, применяемыми локально. Тем не менее, описание обобщенной картины  процесса генерации от концептов  исходных данных до ЕЯ текста имеет  важное методологическое значение.

Входные данные и системы ГЕЯ.

Определение вида входных  данных является кардинальным вопросом для ЛМ систем. Теоретическое рассмотрение возможных типов входов оказывается  не эффективным. Например, в (McDonald, 1993) рассматривалось  три вида возможных входов для  систем ГЕЯ – числовые данные, структурированные  объекты и логические формулы. Более  конструктивным является изучение входов, с которыми работают экспериментальные ЛМ системы. Особенность практических систем состоит в том, что они обычно используют в качестве входа представления данных, порожденные другими системами для некоторых практических целей, а не созданные вручную разработчиками системы (Paiva, 1988). В этой области накоплен уже довольно большой опыт. Можно выделить три вида таких входов:

А) БД. Особенность этого  типа источника состоит в том, что информация не организована для  передачи адресату. Тип текста, который  можно построить на основе этой информации, и его структура, должны быть определены извне.

Б) Семантическое представление - представление содержания текста, созданное человеком с помощью  системы интерфейсного типа “человек - компьютер”, т.е. такой системы, которая  позволяет построить семантическое  представление из предлагаемых интерфейсом  понятий на основе внутренней речи человека. Этот процесс называется symbolic authoring. Правильность полученного  семантического представления контролируется системой в процессе предъявления пользователю очередного фрейма и возможных понятий  для заполнения его слотов.

В) Представление знаний на формальном языке, например, SQL, логические языки.

Методы генерации текста: 
1. Цепи Маркова

Введение

Марковские случайные процессы названы по имени выдающегося  русского математика А.А.Маркова (1856-1922), впервые начавшего изучение вероятностной  связи случайных величин и  создавшего теорию, которую можно  назвать "динамикой вероятностей". В дальнейшем основы этой теории явились  исходной базой общей теории случайных  процессов, а также таких важных прикладных наук, как теория диффузионных процессов, теория надежности, теория массового обслуживания и т.д. В  настоящее время теория марковских процессов и ее приложения широко применяются в самых различных областях.

Благодаря сравнительной простоте и наглядности математического  аппарата, высокой достоверности  и точности получаемых решений, особое внимание марковские процессы приобрели у специалистов, занимающихся исследованием операций и теорией принятия оптимальных решений.

Простой пример

Прежде чем дать описание общей  схемы, обратимся к простому примеру. Предположим, что речь идет о последовательных бросаниях монеты при игре "в  орлянку "; монета бросается в  условные моменты времени t = 0, 1, ... и на каждом шаге игрок может выиграть ±1 с одинаковой вероятностью 1/2, таким образом в момент t его суммарный выигрыш есть случайная величина ξ(t) с возможными значениями j = 0, ±1, ... При условии, что ξ(t) = k, на следующем шаге выигрыш будет уже равен ξ(t+1) = k ± 1, принимая указанные знчения j = k ± 1 c одинаковой вероятностью 1/2. Условно можно сказать, что здесь с соответствующей вероятностью происходит переход из состояния ξ(t) = k в состояние ξ(t+1) = k ± 1.

 
2. Синонимизация

Алгоритмы синонимизатора

В ходе синонимизации движок учитывает множество особенностей языка, среди которых:

1. падежная модальность предлогов  (ДЛЯ КОШКИ, ПОД ДИВАНОМ), глаголов и отглагольных частей речи - причастий, инфинитивов, деепричастий (КОРМИТЬ КОШКУ, ДАВАТЬ КОШКЕ, ДУМАТЬ ГОЛОВОЙ),

2. глагольная модальность существительных (РАЗРЕШЕНИЕ КУПИТЬ КОШКУ), глаголов и отглагольных частей речи - причастий, деепричастий, инфинитивов (РЕШАЯ КУПИТЬ КОШКУ, РАЗРЕШИВШИЙ КУПИТЬ КОШКУ),

3. прагматика - сочетаемость конкретных  слов (КОРМИТЬ КОШКУ, но ПОДКАРМЛИВАТЬ  ФИКУС) - на основе базы N-грамм.

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

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

Рассмотрим такой пример:

- Что ты видишь?

- Лошадь.

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

- Что ты видишь?

- Конь.

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

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

- Что тебе купить?

- Коня.

с вероятностью 50 % даст неверную синонимизацию из-за того, что для существительного лошадь формы родительного и винительного падежа единственного числа различны:

- Что тебе купить?

- Лошади.

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

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

- Что тебе купить?

- Лошадь или корову.

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

В некоторых ситуация даже достаточно длинное предложение  не дает анализатору достаточно оснований  для недвусмысленного анализа. Обычно это связано с той или иной формой омонимии. Допустим, фраза

Потом он взял крепость.

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

Затем он взял крепость.

Силой воли он взял себя в  руки.

Синонимизация слова потом с большой вероятностью даст ошибку типа Затем и кровью. Чтобы минимизировать вероятность таких ошибок, можно задать список стоп-слов, которые в любом случае не будут синонимизироваться. API движка позволяет задавать стоп-синонимы через вызов sol_StopSynonyms, а утилита Rewriter автоматически загружает их из файла stopsyn.txt в текущем каталоге.

Еще один источник проблем - недостаточно адекватное описание грамматики языка в словаре. К примеру, в русском языке есть некоторое количество существительных, которые могут быть и мужского, и женского рода: ябеда, биолог, егоза, Саша. Обратите внимание на примеры: Он стал ябедой. Она стала ябедой. Так как в текущей реализации русской грамматики род должен быть задан для словарной статьи однозначно, то в случае "недопустимого" употребления существительного попытка синонимизации даст некорректный результат, хотя обычно анализатор просто откажется обрабатывать такое "неправильное" предложение. Аналогичный пример для глаголов - неоднозначность совершенного/несовершенного вида в некоторых исключительных случаях. Например, инфинитив переформатировать может быть и совершенного, и несовершенного вида:

Что надо сделать? Надо немедленно переформатировать диск!

Что ты делаешь? Я переформатирую диск.

Эта неоднозначность приводит к тому, что движок иногда подставит  синоним неправильного вида, исказив  смысл:

Что ты делаешь? Я отформатирую диск.

В этом примере движок фактически поменял глагольное время - вместо настоящего поставил будущее.

Согласование частей речи

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

Информация о работе Методы генерации текстов