Методы генерации текстов
РЕФЕРАТ
«Методы генерации текстов».
Корпусная лингвистика –
одна из наиболее востребованных отраслей
прикладного языкознания. Бурное развитие
корпусной лингвистики
Эта тенденция прогнозируется
многими исследователями и
1. Localization and Internationalization - локализация и интернационализация;
2. Controlled Language - работа на ограниченном языке;
3. Word Processing and Spelling Correction - создание текстовых документов (ввод, редактирование, исправление ошибок);
4. Information Retrieval - информационный поиск и связанные с ним задачи;
5. Machine Translation and Translation Aids - машинный перевод;
6. Text Generation - генерация текста.
Отметим, что это деление несколько условное, и в реальных системах часто встречается объединение функций. Так, для машинного перевода требуется генерация текста, а при исправлении ошибок приходится заниматься поиском вариантов словоформы и т.д.
Локализация и интернационализация.
Для того чтобы иметь успех на международном рынке, программные продукты должны быть локализованы, т.е. приспособлены к культурным и языковым нормам потенциальных покупателей. Для многих программных приложений локализация может быть сравнительно простой, когда основная программа (алгоритм) изменяется незначительно. Конечно, опции меню, сообщения об ошибках, экранные подсказки и другие текстовые строки, вставленные в программу, должны переводиться, но это не создает особых проблем, если при разработке приложения была предусмотрена возможность локализации. Для решения этой задачи программный код и текст должны быть разделены. По установленному стандарту текстовые строки оформляются в отдельном файле, вызываемом из программы. Таким способом текстовые строки можно переводить, не затрагивая исходный код. Подобные принципы облегчения локализации возможны не для всех приложений. Системы, в которых естественный язык используется не только для формирования сообщений на экране, но и является предметом деятельности самой системы (например, программы-автокорректоры), поддаются локализации с большим трудом. Здесь могут потребоваться большие специализированные словари и полная переработка алгоритмов. Часто эта задача настолько сложна, что разработчик ею заниматься не может, и проблема локализации приложений является заботой пользователя-носителя языка. В идеале для нашего многоязычного мира программные средства должны быть интернациональными; пользователь, купив версию программы для некоторого языка, не должен покупать другую версию для другого. Назрела необходимость иметь программные средства, позволяющие автоматически настраивать приложение на заданный язык. Пока мы довольно далеки от этой цели, но работы в этой области ведутся с большой интенсивностью, особенно в Европе, где в связи с образованием Европейского Союза возникает необходимость вести дела и документацию на всех официальных и некотором количестве неофициальных языков.
Работа на ограниченном языке.
Одним из способов разрешения проблем, связанных с обработкой естественного языка, является упрощение и некоторая формализация самих текстов: использование ограниченного языка (подмножества языка). Под ограниченным понимается упрощенный язык, использующий ограниченный словарь, грамматику, строго определенные несложные синтаксические конструкции. Обычно в нем запрещаются длинные предложения, длинные цепочки существительных (типа "решение проблемы разработки систем перевода на базе представления текста в виде последовательности предложений..."), не используются пассивные и негативные конструкции, вводятся строгие правила использования терминов. Тексты должны соответствовать одному из стандартных стилей или даже быть составлены по определенному шаблону, принятому в данной предметной области для документов подобного рода. Эти правила не являются современным изобретением: именно их обычно применяют при написании технической документации. Достаточно "древним" примером ограниченного языка является "Бэйсик Инглиш", введенный англичанами для общения с туземным населением в колониях. Неожиданно он оказался полезен и для общения самих туземцев друг с другом: колонизация ввела в их быт множество предметов и понятий, просто не имеющих названий в их родных языках. Забавно, что через много лет при "колонизации" Европы и всего мира англоязычными техническими средствами используются практически те же методы. Например, все специалисты в области компьютерной техники пользуются английскими терминами (файл, принтер и т.д.), не пытаясь подыскать эквивалент на родном языке, и мы по-русски говорим word для windows, а не слово для окон. Применение ограниченного языка делает документ более понятным, удобным для восприятия, он становится легче для переводчиков, поскольку дает меньше возможностей для неоднозначного толкования: такой документ легче составить автору, не являющемуся носителем языка документа. Правительства, особенно в Европе, начинают вводить стандарты на подготовку документации, нормы, по которым требуется использование ограниченных языков, особенно в международной торговле. В связи с этим возникает потребность автоматизации проверки соответствия текста правилам ограниченного языка; появляется задача создания систем, осуществляющих перевод с естественного языка на ограниченный.
Поиск информации.
Не вызывает сомнений необходимость автоматизации поиска заданных текстовых фрагментов в текстах на естественном языке. Однако часто даже при поиске информации другого рода (например, аудио- и видео-) работа на самом деле ведется с описаниями на естественном языке (например, для организации поиска фотографий необходимо снабдить каждую из них набором словесных характеристик типа "портрет, профиль, полный рост, женщина", "пейзаж, лес, осень" и т.п.). В последних разработках классических систем поиска текста основное внимание уделяется дополнению их разнообразными средствами текстовой обработки, что приводит к расширению возможностей и облегчению работы для пользователя-непрофессионала. Применение компьютеров не только ускоряет создание и обработку документов, но и чрезвычайно стимулирует рост их количества и объема. Очень многие пользователи регулярно сталкиваются с необходимостью быстро просматривать большой объем документов и выбирать из них действительно нужные. Эта задача возникает при работе с текстовыми базами данных, с электронной почтой, при поиске в Интернете. Сократить количество просматриваемых документов могут помочь системы категоризации. Большой поток входных документов эти системы распределяют по небольшому количеству классов. При категоризации могут учитываться как чисто внешние показатели документов (объем, расширение имени соответствующего файла и т.п.), так и их содержательные характеристики (название, фамилия автора, ключевые слова), которые могут позволить отнести текст к той или иной тематической рубрике. В последнем случае мы имеем дело с рубрицированием текстов. Часто бывает, что в крупных организациях, особенно государственных, правила делопроизводства предписывают сопровождать каждый документ кратким описанием или набором ключевых слов. Во всех указанных случаях была бы весьма полезна возможность автоматически составлять сжатые описания содержания документов - рефераты. К сожалению, автоматические методы не настолько совершенны, чтобы создать полноценный реферат путем генерации предложений текста. Однако уже сейчас возможно автоматическое реферирование - составление более или менее информативных и связных рефератов заданного объема (квазирефератов) - путем выбора информативных предложений из исходного текста, а также выделение достаточно представительного списка ключевых слов. В качестве ключевых слов система может выбирать слова, наиболее часто встречающиеся в тексте (и являющиеся при этом информативными, т.е. не предлоги, союзы и проч.), либо использовать для отбора какие-либо синтактико-семантические признаки (из фрагмента: "Определение. Интегралом ... называется ..." можно заключить, что интеграл - ключевое слово). При реферировании из текста отбираются предложения, в наибольшей степени характеризующие его содержание. Таковыми могут считаться, например, предложения, содержащие ключевые слова (чем больше, тем лучше), либо отобранные по некоторым особым признакам. Размер реферата (коэффициент сжатия) или количество ключевых слов задается пользователем. Результатом работы такой системы может являться некоторый новый текстовый документ (реферат или набор ключевых слов) или же данный документ, в котором ключевые слова или наиболее информативные предложения выделены по тексту.
Машинный перевод.
Исторически машинный перевод является первой попыткой использования компьютеров для решения невычислительных задач (знаменитый Джорджтаунский эксперимент в США в 1954 г.; работы по машинному переводу в СССР, начавшиеся в 1954 г.). Развитие электронной техники, рост объема памяти и производительности компьютеров создавали иллюзию быстрого решения этой задачи. Идея захватила воображение ученых и администраторов. Практическая цель была простой: загрузить в память компьютера максимально возможный словарь и с его помощью из иноязычных текстов получать текст на родном языке в удобочитаемом виде. Однако первоначальная эйфория по поводу того, что столь трудоемкую работу можно поручить ЭВМ, сменилась разочарованием в связи с абсолютной непригодностью получаемых текстов. Приведем в качестве примера результаты работы одной из современных коммерческих систем перевода. Предложим ей перевести народное английское стихотворение, известное нам в переводе "Робин-Бобин" (текст этот очень простой, московские дети изучают его в начальной школе):
Robin, Robin, what a man!
He eats as much as no one can.
He ate a lot of fish, he ate a lot of meat.
He ate a lot of ice-cream and a sweet.
He ate a lot of porridge and ten eggs
And all the cookies Mother had.
He drank a lot of juice, he ate a cake
Then said: "I have a stomach-ache"
Малиновка, Малиновка, какой человек!
Он ест насколько никто не может.
Он съел много рыб, он съел много мяс.
Он съел много ледяных-сливки и сладкий.
Он съел много каша и десять яйцо
И вся Мать повары имела.
Он пил много соков, он съел торт
Затем сказал: "У меня есть желудок- боль"
Сравним с художественным переводом К.Чуковского:
Робин Бобин Барабек
Скушал сорок человек.
И корову, и быка,
И кривого мясника,
И телегу, и дугу,
И метлу, и кочергу.
Скушал церковь, скушал дом,
И кузницу с кузнецом,
А потом и говорит:
– У меня живот болит!
Следующий пример показывает неустойчивость системы машинного перевода при обработке неоднозначностей. Два предложения по отдельности "Flyer flies." и "Flyers fly." переводятся "Летчик летает." и "Летчики летают.", если же из тех же словосочетаний составить одно предложение "Flyer flies and flyers fly" получаем "Летчик летает и муха летчиков.".
Конечно, системы, настроенные на определенную предметную область, дают гораздо более приемлемые результаты. Однако в этом случае системы перевода получаются очень узко ориентированными, и попытка использовать их даже в смежных предметных областях дает совершенно непредсказуемые результаты. Подобные эксперименты даже распространены среди любителей пошутить: инструкция по эксплуатации манипулятора-мыши, переведенная с английского языка на русский системой автоматического перевода, использующей специализированный медицинский словарь, превращается в описание всевозможных издевательств над несчастным маленьким грызуном.
Возникают эти проблемы из-за принципиально разных подходов к переводу человека и машины. Квалифицированный переводчик понимает смысл текста и пересказывает его на другом языке словами и стилем, максимально близкими к оригиналу. Для компьютера этот путь выливается в решение двух задач: 1) перевод текста в некоторое внутреннее семантическое представление и 2) генерация по этому представлению текста на другом языке. Поскольку не только не решена сама по себе ни одна из этих задач, а нет даже общепринятой концепции семантического представления текстов, при автоматическом переводе приходится фактически делать "подстрочник", заменяя по отдельности слова одного языка на слова другого и пытаясь после этого придать получившемуся предложению некоторую синтаксическую согласованность. Смысл при этом может быть искажен или безвозвратно утерян.
Более реалистичными являются попытки
создать системы автоматизирова
Подобные программные средства могут помочь в решении проблем, связанных с терминологией и вообще со знаниями переводчика о предметной области: одни и те же слова могут по-разному переводиться в зависимости от того, о каком предмете идет речь.
Автоматически может быть решена проблема согласованности. Понятно, что согласованность важна в рамках одного документа: один и тот же термин, даже если его без потери смысла можно перевести несколькими словосочетаниями, должен переводиться одинаково на протяжении всего документа. Однако еще более важной является согласованность в широком смысле - разработка и применение единой концепции интерпретации одного и того же термина на разных языках (скажем, американский разработчик программного обеспечения может быть недоволен, что термин dialog box переводится на итальянский как finestra (окно) и как boite (коробка, ящик) на французский). Ошибки, возникающие вследствие нарушения согласованности, являются серьезной проблемой, так как, имея только текст-результат перевода, уже невозможно установить, какие термины в оригинале были одинаковыми, а теперь переведены по-разному (в отличие от орфографических ошибок, которые исправить никогда не поздно).
В последнее время также
Развитием систем подобного вида можно
считать канадскую (Канада - двуязычная
страна, постоянно сталкивающаяся с
проблемой перевода на государственном
уровне) систему генерации прогнозов
погоды Forecast Generator (FOG). Можно считать,
что в ней перевод полностью
заменен генерацией текстов. В памяти
системы хранится 20 миллионов слов
и словосочетаний, связанных с
прогнозами погоды, что позволяет
генерировать как английский, так
и французский вариант
Генерация текста.
С необходимостью генерации хотя бы простейших фраз разработчики практических систем столкнулись еще на заре их создания. Генератор текста — компьютерная программа, способная генерировать последовательности символов, внешне похожие на текст, но при этом, как правило, лишённые смысла (в связи с чем генераторы текста иногда называют «генераторами бреда», «генераторами шизофазии»). Тексты, созданные с помощью генераторов, являются правильными с точки зрения большинства языковых норм. Даже в столь примитивно организованной (в плане дружественности пользовательского интерфейса) среде, как DOS, при попытке сгенерировать стандартное сообщение о количестве скопированных файлов мы сталкиваемся с проблемой построения фразы: в зависимости от этого количества необходимо использовать разные слова (в английской версии file в случае одного файла и files, если больше; в русской - и того хуже: могут встретиться варианты файл, файла и файлов, причем правила, в каком случае какой из них использовать, достаточно сложны).
По степени сложности и выразительности существующие методы генерации сообщений принято подразделять на 4 класса (часто используются комбинации методов). Рассмотрим их на примере генерации сообщений о копировании файлов.
1) Canned-based methods
Неизменяющийся шаблон - просто печать строки символов без каких-либо изменений.
Для генерации сообщений создаются таблицы шаблонов, которые будут выдаваться в зависимости от ситуации. В нашем варианте при копировании одного файла будет напечатана первая строка таблицы:
1 file copied,
а в случае, например, трех - третья:
3 files copied
2) Template-based methods
Изменяющийся шаблон - бесконтекстная вставка слов в образец-строку (именно этот метод используется в MS-DOS):
Шаблон: ‹Число› file(s) copied
может быть использован для генерации сообщений:
0 file(s) copied,
1 file(s) copied,
2 file(s) copied
3) Phrase-based methods
Контекстная вставка.
В зависимости от вида сообщения (контекста) шаблон может быть несколько изменен. Скажем, система может распознавать, с каким окончанием писать слово file в зависимости от их количества.
Шаблон: ‹Число› ‹Определение› ‹file/files при =1, ›1›
‹Глагол: время - прош.›
может использоваться для генерации сообщений:
1 file copied,
2 marked files copied,
2 marked files deleted
4) Feature-based methods
Синтез сообщения на основе набора свойств (грамматических признаков).
Это наиболее сложный метод, он требует привлечения обширных лингвистических знаний, но, в то же время, он и наиболее привлекателен. Предложение определяется набором характеристик составляющих его слов (например, наличие/отсутствие отрицания, настоящее/прошедшее время) и правилами их сочетаемости.
Шаблон: ‹Число› ‹Определение› ‹file/files при =1, ›1›
‹Глагол: время - любое›
позволяет генерировать сообщения:
1 file should be copied,
1 file was copied,
2 marked files were copied
Понятно, что генерация
логически связных, целостных текстов
является гораздо более сложной
задачей: к правилам построения предложений
добавляются правила их сочетаемости,
правила развития сюжета, соблюдения
стиля и т.п. Ввиду невозможности
их полной формализации задачу генерации
полноценных художественных текстов
можно считать на настоящий момент
неразрешимой. Однако для некоторых
специализированных технических текстов
эти правила строго оговорены
некоторыми стандартами, немногочисленны
и поэтому поддаются
На данном уровне развития
компьютерных технологий генераторы текста
имеют небольшое практическое применение
и используются в основном для
развлечения и в
Кроме того генераторы текстов
достаточно широко используются при
поисковой оптимизации web-сайтов, для
генерации названий, описаний, а
иногда и содержимого целых сайтов.
Материалы, созданные при помощи
генератора текстов и использующиеся
в целях поисковой оптимизации,
требуют обязательного
Также генераторы текстов успешно используются для выявления низкого качества (а иногда и полного отсутствия) рецензирования в научных журналах. Особенно известна в этом плане программа SCIgen.
На Западе уже давно разработка документации превратилась в особую подотрасль разработки любых достаточно сложных систем (в том числе программного обеспечения). Сопроводительная техническая документация весьма разнообразна: руководство пользователя, руководство для менеджера (администратора) системы, руководство по монтажу (инсталляции) и первичному запуску, руководство по эксплуатации, руководство по интегрированию системы с другими устройствами (программами), проектные материалы и т.д. Однако часто пользователь не получает своевременно и в полном объеме необходимый ему материал, соответствующий используемой им версии системы. Это можно объяснить двумя причинами. Во-первых (субъективная причина), подготовка документации - это дополнительная работа, требующая дополнительного времени и дополнительных навыков (разработчику трудно изложить требуемое на понятном рядовому пользователю языке, остальным же надо сначала детально изучить систему). Во-вторых (объективная причина), документация устаревает по ходу модернизации системы.
Поиски решения этих проблем привели в свое время к появлению новой профессии "технического писателя". Однако понятно, что привлечение дополнительных работников ведет к удорожанию продукта. Поэтому в последние годы появились практические системы, осуществляющие помощь в разработке документации, вплоть до ее автоматической генерации. Форма и содержание документации часто выбирается не столько из соображений удобства и полезности для пользователя, сколько из соображений простоты ее создания.
Документация, как правило, содержит графическую и текстовую части. Графическую часть проще сформировать, однако без текстовой не обойтись: в ней описывается семантика продукта (назначение, технические данные, ограничения, детализация работы в разных режимах). Очевидно, что качественная система должна генерировать текст, правильный с точки зрения грамматики и синтаксиса естественного языка. Поскольку предметная область точно определена, а техническая документация составляется по определенным строго заданным правилам, степень формализации в постановке данной задачи существенно выше, чем в задаче машинного перевода, что позволяет надеяться на более высокие результаты.
Автоматическая Генерация на Естественном Языке очень слабо представлена в отечественной науке последних лет. В настоящее время письменный ЕЯ текст широко распространен как средство коммуникации пользователя с компьютерными системами. Большая часть программных приложений, которые выдают тексты на ЕЯ, работает с ЕЯ информацией как со строкой символов. Они манипулируют готовыми предложениями и словосочетаниями как строительными блоками будущего текста. Это - шаблонные технологии. Шаблонные технологии относительно просты и надежны и находят широкое промышленное применение. Главная особенность этих технологий состоит в том, что содержание будущего текста представлено в них в виде фрагментов текста.
Другой вид систем работает с содержанием будущего текста, представленном в виде данных нетекстовой природы (БД, баз знаний, семантических и формальных языков). В этом случае для создания текста системе необходимы знания структуры содержания и знания об устройстве генерируемого текста, а также сложные лингвистические знания, которые позволяют выразить это содержание языковыми средствами.
Это - Лингвистически Мотивированные (ЛМ) технологии. В настоящее время они еще находятся в стадии исследования. ЛМ технологии связаны с изучением жанровых и коммуникативных характеристик текстов, риторических приемов организации содержания текста, языковых средств выражения связности текста (лингвистика текста), формализацией грамматики и лексических описаний.
Мотивации выборов языковых
средств выражения знаний в ЛМ
технологиях подобны мотивациям
движений летящей птицы. Они не могут
быть буквально повторены
Генерация на естественном языке (ГЕЯ) как научное направление занимается созданием компьютерных систем, производящих тексты на естественном языке (ЕЯ) из некоторого нелингвистического (нетекстового) представления информации. Первые системы в доступном в Интернете каталоге систем ГЕЯ (The John Bateman and Michael Zock's list of Natural Language Generation Systems), содержащем краткую информацию о всех известных авторам каталога системах ГЕЯ относятся к 63-65 гг. Всего каталог содержит данные по более чем 340 системам автоматической генерации текстов с начала исследований по настоящее время.
ГЕЯ активно развивается за рубежом начиная с 90ых годов, прежде всего в США, Канаде и странах Западной Европы - в Великобритании, Германии, Голландии и др., а также в Австралии. В настоящее время ГЕЯ представляет собой динамичное направление АОТ. В Ассоциации по компьютерной лингвистике ACL создана группа по интересам, объединяющая ученых и коллективы, работающие в области ГЕЯ –Special Interest Group on GENeration (SIGGEN). Раз в два года под эгидой SIGGEN проводятся научные конференции INLG, посвященные ГЕЯ.
ЛМ системы предназначены для создания текстов, имеющих относительно свободное содержание, которое не может быть заранее задано в виде готовых фрагментов текста. Источником содержания являются данные, представленные в виде БД, БЗ, или в виде выражений на формализованных языках, например, SQL. Тип входных данных не всегда предсказывает тип выходного текста, поэтому тип текста определяется из-вне. Часто ЛМ система создает тексты одного типа, но в разных ПО, или в одной ПО, но на разных языках.
Несмотря на сложность ЛМ систем, они имеют важные преимущества по сравнению с использованием ручного труда и шаблонными системами. Эти преимущества обсуждались в ряде работ, например, в (Reiter, 1995). К ним относятся: сопровождаемость, лучшее качество создаваемых текстов, многоязыковой выход и гарантированное соответствие стандартам.
Шаблонная система использует
готовые реплики или
Более сложные шаблонные системы дополнительно проводят ограниченную лингвистическую и риторическую обработку результата - позволяют задавать отдельные грамматические параметры текста или комбинировать шаблонные высказывания в связный текст, используя определенные лексические и грамматические знания о ЕЯ. К последнему типу относятся, в частности, системы, помогающие менеджерам писать деловые характеристики на сотрудников. Например, система Employee Appraiser (производитель Austin-Haynes), Performance Now (производитель KnowledgePoint). Такие системы предоставляют пользователю набор оценочных тем, таких как Общение, которые, в свою очередь, разбиваются на более специфичные подтемы, например, Устный обмен идеями. Выбирая свойство, подходящее для характеристики данного работника, менеджер автоматически выбирает и конкретный готовый абзац или предложение, которое система сама вставляет в результирующий текст. При этом система может использовать сведения о поле сотрудника (для грамматического согласования прилагательных и глаголов с именами), указать, в каком лице должен быть составлен текст деловой характеристики (лицо глаголов), осуществлять простейшее планирование текста и предложений. Например, объединить всю информацию об отдельной высокоуровневой теме (такой, как Общение) в отдельный абзац, используя сочинительные конструкции и местоимения (агрегация предложений), а также вставку слов-коннекторов в начале предложения. В следующем примере на рис.1 подчеркнуты слова, вставленные системой для создания связности текста:

- Методы генетики
- Методы генной инженерии
- Методы генной инженерии
- Методы генной инженерии
- Методы генной инженерии
- Методы географических исследований
- Методы геофизического мониторинга
- Методы выработки и принятия маркетинговых решений
- Методы вычисления определенных интегралов. Численное интегрирование
- Методы выявления и преодоления сопротивления изменениям и способы их выбора
- Методы выявления риска
- Методы выявления рисков
- Методы выявления тренда в рядах динамики
- Методы выявления фальсификации и защиты от нее