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

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

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

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

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

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

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

Я думаю прикупить семян.

допустимо синонимизировать в

Я планирую прикупить семян.

но нельзя выполнить такую  синонимизацию

Я размышляю прикупить семян.

Так как глагол размышлять не может управлять инфинитивом.

Нужно учитывать падежную валентность глаголов - если глагол управляет существительным, то подставляемый глагол тоже должен допускать такое управление.

Таким образом пример

Он спекулирует зерном.

нельзя синонимизировать в:

Он перепродает зерном.

так как глагол перепродавать  не допускает дополнение в творительном падеже.

Определение всех необходимых  грамматических признаков выполняется  с помощью информации в лексиконе.

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

На скриншоте показан пример пересогласования связанных слов при подстановке синонима-существительного:

 
3. Синонимизация + смена предложений местами 
4. Текст без изменений 
5. Смена предложений местами в тексте без изменений. 
6. Синонимизация + смена предложений местами с удалением использованных предложений. 
7. Смена предложений местами в тексте без изменений с удалением использованных предложений

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

Цепи Маркова

Самым распространенным (и наиболее просто реализуемым) методом генерации  текстов являются различные варианты цепей Маркова. Всё, что требуется  для его реализации — программа-генератор  и большой объем исходного  текста. Научные основы цепей Маркова, на практике же это выглядит примерно так: берется начальное слово  и помещается в текст-результат, затем оно ищется в исходном тексте, когда находится, то в текст-результат  переносится следующее за ним  слово, и уже его ищут в исходном тексте...

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

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

Почему же текст на основе сказок получился читаемым? (К сожалению, я не могу это описать в терминах статистики и теории вероятности, поэтому  опишу своими словами.) Потому что  в сказках достаточно ограниченный словарь — батюшка, матушка, иванушка, кощей, убили, съели, колечко, яблочко… Поэтому одним из этапов подготовки текста к использованию в качестве сырья для генерации текста методом  цепей Маркова должна быть десинонимизация, т.е. все синонимы должны быть заменены на одно слово. Например, «парень»=«юноша»=«молодой человек», следовательно, заменяем всех «юношей» и «молодых человеков» на «парень». Да, это более трудоёмкий процесс, но на выходе мы получим более  читаемый текст, который можно будет  без проблем синонимизировать обратно. Причем, неоднократно.

SIMP-таблицы

Метод создания текста, описанный  например, в [5], суть его в том, что  имеются большое количество фрагментов предложений типа «таким образом», «с точки зрения высшей математики», «мы не можем игнорировать», «требует оборудования четвертого поколения» и т.п.

В классическом примере имеются  таблицы A, B, C, D, на которых написаны начала предложений, внутренние части  и завершения. Мы выбираем случайный  элемент из каждой таблицы и получаем законченное предложение. Возможны варианты изменения порядка таблиц, например A, C, B, D.

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

Метод фокуса внимания.

Этот метод лежит в основе алгоритма робота для ведения  диалога «Элиза» и ему подобных. Выглядит это примерно так: 
Человек: На улице идет дождь. 
Элиза: Почему Вы решили, что на улице идет дождь? 
И т.п.

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

 

Метод с использованием словарей.

Наиболее трудоемкий, но наиболее перспективный в плане соблюдения всех норм языка, метод.

Требует специально подготовленных словарей с подробным перечислением характеристик  слова и его форм, а также  изучения порядка слов в предложении. 
Например, возьмем классическое предложение «Мама мыла раму». Что мы имеем? Существительное женского рода единственного числа в именительном падеже, одушевленное + глагол прошедшего времени + существительное в винительном падеже. Заполняем эту схему случайными словами из нашего словаря — легко создаются не только «Мама мыла папу», «Кошка ловила мышку», но и «Мышка варила кошку». Чтобы этих казусов не происходило, требуется очень подробное описание каждого слова, включая, например, тематику, потому что вероятность того, что в одном предложении окажутся  «клитор» и «дрель» очень невелика. Оживить сухую схему из трех слов можно случайным добавлением наречий и прилагательных, получая что-нибудь наподобие «Красная мама дерзко моет хлебную раму».

Чтобы упростить составление словаря  и генерацию текста, выбирается определенная тематика. Например, именно полностью  сгенерированный порнорассказ поразил в своё время читателей форума armadaboard (сейчас этот материал, по всей видимости, удален).

Для использования этого метода надо запастись словарями и шаблонами  предложений.

Как улучшить тексты, созданные с  помощью цепей Маркова?

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

Во-первых, у каждого текста, созданного человеком есть начало и финал. Я  думаю, что не помешает добавить в  начало текста что-нибудь типа «Вечерело», «Пробило полдень, когда», «Случилось это в 1732 году», «Жили-были» и т.п. А в конце поставить «Вот такая  фигня, малята» или «Мораль сей  басни такова: {случайно выбранная  пословица}».

Во-вторых, вебмастеров беспокоит, что даже если им удалось создать  более-менее правдоподобный текст, подмешиваемые случайным образом  ключевые слова портят даже эту относительную  малину. Я считаю, что здесь не обойтись без домашних заготовок. Например: «на зеркале {красной|яркой|гигиенической} помадой было написано {ключевое слово}». Обратите внимание, что ключевое слово  может быть абсолютно любое без  потери смысла фразы. Конечно, таких  предложений надо запасти побольше. Если вы не ощущаете в себе писательских талантов, то любой копирайтер вам  за несколько долларов нацарапает.

Если грамматические характеристики ключевых слов известны, можно составить  шаблоны с применением словаря. Например, ключевое слово+ наречие + глагол прошедшего времени + существительное  в винительном падеже. На выходе получим что-нибудь типа «мулатки индивидуалки дерзко мыли рамы».

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

Игровой метод генерации

Пока я думал над этим текстом, мне в голову пришел способ генерации  текстов, похожий на старую игру —  текстовый квест. У нас есть локация (комната) и множество предметов, которые могут в этой локации  находиться. У предметов, в свою очередь, есть множнство свойств, часть из которых постоянные, а часть выбираются случайно. Например, яблоко — это  еда, может быть желтым, зеленым, красным, а также сладким или кислым. В локацию случайным образом  помещаются некоторые из предметов, в идеале, учитывая, что яблоко может  лежать на полу, на столе, в шкафу  и т.п. Потом в эту комнату  мы помещаем человека, который начинает действовать по генератору случайных  чисел — он может подойти к  шкафу или столу, увидеть или  не увидеть яблоко, взять его или  не взять, откусить его или не откусить и т.п. Совершая все эти действия, человек может подумать о ключевом слове или увидеть его написанным на зеркале. Все происходящее описывается в тексте «Мужчина подошел к столу. Стол был белый и деревянный. На столе лежало красное яблоко. Мужчина взял его. Подумал. Откусил и поморщился. Взгляд его упал на зеркало. На зеркале гигиенической помадой было написано „Порно без смс“» и т.д.

Вывод: Конечно, все эти методы кажутся сложными и ненужными, пока работают цепи Маркова с небольшими модификациями, но когда-нибудь они перестанут работать, и потребуются новые решения. А во-вторых, это не самая простая задача, которую кому-нибудь будет просто интересно решить.  

Генерация текстов  из семантического представления.

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

Моделирование структуры  текста обычно выполняется для рассматриваемых  систем в специальной системе  планирования содержания, имеющей вид, в частности, графического редактора. Графический редактор последовательно  предоставляет пользователю возможность  выбирать понятия из определенных в  данной семантической среде, следуя заданной в нем стратегии организации  текста. Таким образом, графический  редактор контролирует правильность получающегося  представления, предлагая пользователю для продолжения структуры текста  допустимые по структурным и семантическим свойствам понятия МПО. Примерами таких систем являются AGILE (Automatic Generation of Instructions on Languages of the Eastern Europe) – система генерации софтверных руководств к графическим редакторам (международный проект координируемый Институтом исследований по информационным технологиям (ITRI) Университета Брайтона (Великобритания)), и MDA (Multilingual Document Authoring) (Xerox Research  Centre Europe) – система, генерирующая различные документы.

Наличие заранее определенных списков понятий, из которых пользователем  формируются входные данные, прокламируемая языковая инвариантность и интерлингвистичность представления данных роднит эти  системы с технологиями МП, основанными  на знаниях - Knowledge-based MT и Interlingua based MT (Nirenburg, 1987). Источниками понятий при создании содержания текста являются онтологии, природа которых варьируется  от относительно языково-независимой, как в системе Patent Claim Expert, порождающей тексты патентных заявок, до языково–зависимой как онтология Upper-Model в среде KPML, которая является онтологией семантических типов. Особенность систем данного типа состоит в получении в результате планирования содержания целого связного представления текста, структуру которого образуют дискурсные и предметные отношения между пропозициями или высказываниями.

В отличие от генерации  текстов отчетов задача микропланирования  в ЛМ системах с семантическим  входом состоит, как правило, не в  добавлении, а в усечении части  исходного семантического представления  при переходе к средствам ЕЯ. Переход от единой структуры текста к последовательности предложений, а также реализация некоторых синтаксических конструкций предполагает сокращение фрагментов исходного представления, делая его более лаконичным и естественным. Эти процессы получили название агрегация. При агрегации сокращаются дублирующиеся структуры и понятия. 

Бесплатные  программы для автоматической генерации  текстов.

ANCHOR – для генерации текстов, простой интерфейс, размер — 300 Кб. Более подробно на сайте создателя программы: http://www.yurok.co.ua/4.html

Gearticle – программа для автоматического рерайта по шаблону, простая в использовании. Более подробное описание найдете на сайте создателя: http://bfile.ru/programms/5/gearticle.

Delirium – генератор смешных текстов. Может создавать сравнительно длинные выражения со смыслом. Скачать можно : 
http://ppc-seo.blogspot.com/2007/10/delirium-18.html

Generating the Web – наиболее мощная программа для генерации методом переборов, перестановок. Перестановки есть простые, с одинаковыми и разными разделителями, с использованием различных переменных, есть множество других настроек.

SEO Anchor Generator – бесплатный генератор описаний и названий сайтов, анкоров. Ориентирован прежде всего на SEO оптимизаторов.

Платные программы для автоматической генерации  текстов.

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

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