БЕЛОРУССКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ИНФОРМАТИКИ И РАДИОЛЕКТРОНИКИ
Кафедра интеллектуальных информационных технологий
РЕФЕРАТ
на тему:
«Направления компьютерной лингвистики»
МИНСК, 2008
Так как вопросов, изучаемых компьютерной лингвистикой, немало, то со временем в ней выделился ряд направлений, посвященных отдельным аспектам автоматической обработки естественного языка. В настоящее время в компьютерной лингвистике выделяют пять основных направлений (Информатика).
1. Анализ текстов на естественном языке. Лингвисты давно изучают, как устроен текст, и прежде всего предложение, играющее роль кирпичика, из совокупности которых складывается текст. Но лишь с появлением компьютеров эти исследования приобрели новое направление. Группа американских лингвистов выдвинула дерзкую идею, получившую название Джорджтаунский проект, — автоматизировать процесс перевода текстов с одного языка на другой, используя для этого ЭВМ. Идея заинтересовала лингвистов многих стран и активизировала работы в области анализа текстов.
В ходе этих работ надо было ответить, прежде всего, на вопрос: "Существуют ли строгие формальные правила, по которым строится структура предложения и структура текста?" Если о структуре предложения лингвисты накопили много материала, то структура текста ими не изучалась.
В результате проведенных исследований стало ясно, что за каждым текстом (в том числе и за отдельным предложением, являющимся своего рода мини-текстом) скрывается не одна, а несколько формальных структур, которые можно разделить на три уровня (Информатика)
- синтаксический
- семантический
- прагматический.
Более подробно эти и другие уровни анализа текстов естественного языка будут рассмотрены ниже.
Как указывалось выше, направление анализа текстов на естественном языке появилось в связи с желанием решить проблему машинного перевода. Машинный перевод — это автоматический перевод текстов с одного языка на другой (например, пословный перевод научно-технической информации, патентов, документов, инструкций, программ ЭВМ с алгоритмического на машинный язык), а также научное направление, охватывающее круг проблем, которые возникают при автоматизации перевода. Система машинного перевода обычно содержит лингвистические описания входного и выходного языков, т.е. языков исходного текста и текста, полученного в результате перевода, и алгоритм, на основе которого выполняется данный перевод (Информатика).
Со временем (в 50-х гг. 20-го в.) проблема машинного перевода переросла в отдельную научно-техническую проблему и фактически обрела черты отдельного научного направления с одноименным названием. Это направление возникло на стыке таких наук, как математика, кибернетика, лингвистика и программирование. Тем не менее, основу машинного перевода как научного направления составляют результаты, полученные в области компьютерной лингвистики.
2. Синтез текстов на естественном языке. Задача синтеза может рассматриваться как обратная по отношению к анализу. Если заданы некоторая тема и цель будущего текста, то можно считать заданной прагматическую структуру текста. Ее надо декомпозировать в прагматические структуры отдельных предложений и для каждого предложения пройти все этапы анализа в обратном направлении. На сегодняшний день здесь еще масса нерешенных проблем. Неизвестно, как генерировать прагматическую структуру текста из тех целей, которые стимулируют создание текста. Непонятно, как эту структуру разбить на прагматические структуры предложений и как от этих частных прагматических структур перейти к глубинным семантическим структурам. Более известны методы дальнейшего движения по пути генерации текста.
Одним из первых примеров естественно-языковых систем, способных синтезировать тексты, является автоматическая система создания текстов волшебных сказок, созданная в Московском энергетическом институте в 70-х гг. и называемая TALE (Информатика). На первом шаге она выдает тексты примерно такого вида: "Жил-был X. Не было у него желаемого У. Стал просить Х Бога. Бог обещал. Появился У. Вырос У. Ушел раз Х и не велел У делать Z. Но У сделал Z. Вернулся X. У нет. Понял X, что У сделал Z. Пошел Х искать У..." В памяти рассматриваемой системы хранились данные для заполнения так называемых актантов, а одинаковые переменные показывают, что на эти места всюду надо поставить одни и те же заполнители. Так возникает текст: "Жил-был царь. И не было у царя желаемого наследника. Стал царь просить Бога. Бог обещал. Появился наследник. Вырос наследник..." Вот пример сказки, сочиненной этой программой.
ОДНАЖДЫ В ТРИДЕВЯТОМ ЦАРСТВЕ, В ТРИДЕСЯТОМ ГОСУДАРСТВЕ ЖИЛ ЦАРЬ.
ЦАРЬ ИМЕЛ ДОЧЬ.
ЦАРЬ ОТПРАВИЛСЯ НА ОХОТУ ПООХОТИТЬСЯ.
ЦАРЬ ЗАПРЕТИЛ ДОЧЕРИ ВЫХОДИТЬ ИЗ ДОМА.
НАРУШИЛА ДОЧЬ ЗАПРЕТ. НАЛЕТЕЛ КОЩЕЙ.
УНЕС КОЩЕЙ ДОЧЬ.
ИВАН ОТПРАВИЛСЯ КУДА ГЛАЗА ГЛЯДЯТ ИСКАТЬ ДОЧЬ.
ДОЛГО ЛИ, КОРОТКО ЛИ ШЕЛ ИВАН. ВСТРЕТИЛ ИВАН СТАРУШКУ.
СТАРУШКА ПОГИБАЛА, УМИРАЛА С ГОЛОДА. ПОМОГ ИВАН СТАРУШКЕ, НАКОРМИЛ.
РАССКАЗАЛ ИВАН СТАРУШКЕ, КУДА ПУТЬ ДЕРЖИТ.
ДАЛА СТАРУШКА ИВАНУ КЛУБОЧЕК, КУДА ПОКАТИТСЯ, ТУДА И ИДИ.
ПОКАТИЛ ИВАН КЛУБОЧЕК. ПОШЕЛ ДАЛЬШЕ ИВАН. ВСТРЕТИЛ ИВАН СТАРЕНЬКУЮ СТАРУШКУ. СТАРЕНЬКАЯ СТАРУШКА ПОГИБАЛА БЕЗ ВОДЫ. ПОМОГ ИВАН СТАРЕНЬКОЙ СТАРУШКЕ, НАПОИЛ.
РАССКАЗАЛ ИВАН СТАРЕНЬКОЙ СТАРУШКЕ, КУДА ПУТЬ ДЕРЖИТ.
ДАЛА СТАРЕНЬКАЯ СТАРУШКА ИВАНУ СЕРЕБРЯНЫЙ КЛУБОЧЕК, КУДА ПОКАТИТСЯ, ТУДА И СТУПАЙ СЕБЕ. ПОКАТИЛ ИВАН СЕРЕБРЯНЫЙ КЛУБОЧЕК. ПОШЕЛ ДАЛЬШЕ ИВАН.
ВСТРЕТИЛ ИВАН СОВСЕМ СТАРЕНЬКУЮ СТАРУШКУ.
СОВСЕМ СТАРЕНЬКАЯ СТАРУШКА ПОГИБАЛА, ПАДАЛА ПОД ТЯЖЕСТЬЮ НОШИ. ПОМОГ ИВАН СОВСЕМ СТАРЕНЬКОЙ СТАРУШКЕ ДОНЕСТИ НОШУ.
РАССКАЗАЛ ИВАН СОВСЕМ СТАРЕНЬКОЙ СТАРУШКЕ, КУДА ПУТЬ ДЕРЖИТ. ДАЛА СОВСЕМ СТАРЕНЬКАЯ СТАРУШКА ИВАНУ ЗОЛОТОЙ КЛУБОЧЕК, КЛУБОЧЕК ПОКАТИТСЯ, А ТЫ ЗА НИМ ИДИ.
ПОКАТИЛ ИВАН ЗОЛОТОЙ КЛУБОЧЕК. ПОШЕЛ ДАЛЬШЕ ИВАН.
ПРИШЕЛ ОН В ПОДЗЕМНОЕ ЦАРСТВО КОЩЕЯ.
ВИДИТ ИВАН ЗАМОК ИЗ ЗОЛОТА И СЕРЕБРА. ВОШЕЛ ИВАН В ЗАМОК. СИДИТ В ЗАМКЕ КОЩЕЙ БЕССМЕРТНЫЙ. СПРАШИВАЕТ КОЩЕЙ ИВАНА: ЗАЧЕМ ПОЖАЛОВАЛ КО МНЕ?
ОТВЕЧАЕТ ИВАН КОЩЕЮ: ИЩУ ДОЧКУ ЦАРСКУЮ, ЧТО ТЫ УКРАЛ.
ГОВОРИТ КОЩЕЙ: ВЫПОЛНИШЬ РАБОТУ, ЧТО Я ЗАДАМ, — ТВОЯ ЦАРЕВНА, НЕ ВЫПОЛНИШЬ — ДО КОНЦА ЖИЗНИ ПОД ЗЕМЛЕЙ ОСТАНЕШЬСЯ. КОЩЕЙ ЗАДАЛ ИВАНУ РАБОТУ: ЗА ОДНУ НОЧЬ ВЫРУБИТЬ ДРЕМУЧИЙ ЛЕС, ЗЕМЛЮ ВСПАХАТЬ, ПШЕНИЦУ ПОСЕЯТЬ, МУКУ СМОЛОТЬ, ПИРОГОВ НАПЕЧЬ И МНЕ НА СТОЛ ПОДАТЬ!
ИВАН ВЫПОЛНИЛ РАБОТУ, ПРИНЕС ПИРОГИ. КОЩЕЙ ЗАДАЛ ИВАНУ РАБОТУ: ЗА ОДНУ НОЧЬ ПЧЕЛ РАЗВЕСТИ, ВОСК СОБРАТЬ, ДА ИЗ ВОСКА ДВОРЕЦ ПОСТРОИТЬ.
ИВАН ВЫПОЛНИЛ РАБОТУ. К УТРУ-СВЕТУ БЫЛ ГОТОВ ДВОРЕЦ ИЗ ВОСКА.
КОЩЕЙ ЗАДАЛ ИВАНУ РАБОТУ: ПРИЙТИ НА ЗЕЛЕНЫЙ ЛУГ, ПОЙМАТЬ ТАМ КОНЯ НЕЕЗЖЕНОГО, ДА ПРИЕХАТЬ КО МНЕ НА ТОМ КОНЕ!
ИВАН ВЫПОЛНИЛ РАБОТУ, ОБЪЕЗДИЛ КОНЯ. КОНЬ ШАТАЕТСЯ, ИЗО РТА ПЕНА ПАДАЕТ. ОСВОБОДИЛ ИВАН ЦАРЕВНУ.
ВЗЯЛ ИВАН ЦАРЕВНУ. ПОВЕЗ ИВАН ЦАРЕВНУ ВО ДВОРЕЦ. ЖЕНИЛСЯ ИВАН НА ЦАРЕВНЕ. ИВАН ПОЛУЧИЛ ПОЛЦАРСТВА.
В качестве другого примера системы автоматического синтеза можно привести систему, умеющую слагать стихи. Примеров таких систем уже немало, хотя с сочинением стихов дело обстоит несколько сложнее. Программа в состоянии учесть характер рифмы, количество слогов в соответствующих строках стихотворения, метрическую форму стихотворения и провести грамматический анализ. Однако содержание будущего стихотворения в значительной степени оказывается произвольным и зависит от содержания исходного словаря. Вот пример машинного стихотворения [ХХХ] (Информатика).
Добрый реет шелест
Плачет пустота
Слушают качели
И поет беда
Стань покорно горе
Томно лишь летит
И прозрачно море
Тайно шелестит
И бежит земная
Незаметно тень
Медленно лесная
Славит влажный день.
В настоящее время автоматический синтез текстов необходим также при создании:
- интеллектуальных систем, способных объяснять пользователю ход решения той или иной задачи,
- систем поддержки принятия решений, способных помогать пользователю принять то или иное решение на основе выработанных альтернатив,
- информационно-справочных систем различного назначения, способных подсказать пользователю наиболее оптимальный путь поиска и/или заказа той или иной информации (например, в системах заказа билетов),
- различных диалоговых систем (см. ниже).
3. Понимание текстов. Проблема понимания текстов на естественном языке включает не только лингвистические аспекты. С ней тесно связаны задачи, традиционно решаемые в рамках психологии, философии и семиотики. Рассказывая о проблеме анализа текстов, мы несколько раз ссылались на то, что сам анализ служит инструментом для понимания содержания текста. Пожалуй, самое важное значение проблема понимания имеет в так называемых диалоговых системах.
В начале 70-х гг. специалисты в области искусственного интеллекта удивляли далеких от науки людей системами общения на естественном языке, демонстрирующими на первый взгляд почти безграничные возможности созданного ими интеллектуального интерфейса общения. Любой человек мог общаться с системой на произвольную тему, используя все богатство доступного ему языка. При этом система поддерживала разговор, поражая собеседника своими способностями. Вот один из примеров такого разговора, в котором в качестве интеллектуального интерфейса использовалась программа, реализованная на ЭВМ, получившая название "Элиза" (Информатика).
Собеседник: Сегодня прекрасная погода, не правда ли?
"Элиза": Вы любите прекрасную погоду?
С.: Конечно. Кто же ее не любит?
"Э.": Да. Прекрасная погода — это хорошо.
С.: Интересно, какие виды в этом году на урожай?
"Э.": Вас это интересует?
С.: Ну, более-менее. А вас?
"Э.": Более-менее.
С.: Но все-таки, хотелось бы, чтобы урожай был хорошим.
"Э.": Я вполне согласна с вами.