![]() |
![]() |
||
![]() |
Мир кубиковПри исследовании того, как заставить вычислительные машины понимать язык человека, похоже, что каждый вопрос неизменно ведет к другому:
Ограниченные предметные области - это "простейшие" в исследованиях по языкуВозможно, вопрос очерчивания области является наиболее критичным, потому что понимание лингвистики подобно пониманию биологии. Ни одна из указанных задач не решается лобовой атакой, поэтому приходится ставить ограниченные цели в надежде, что тактические победы приведут к прогрессу в стратегическом плане. Для молекулярной биологии это означает тщательное изучение очень простых организмов, например кишечных палочек. Для искусственного интеллекта такими простыми организмами являются ограниченные предметные области, такие, например, как мир кубиков. Робби беседует о мире кубиковМы собираемся рассмотреть некоторые фрагменты беседы между человеком и одноруким роботом, смоделированным на вычислительной машине Виноградом. Модель была описана в его примечательной диссертации в 1971 году. Виноград назвал этого робота SHRDLU, но здесь для однородности мы будем по-прежнему называть его Робби. Считайте имя SHRDLU псевдонимом. Мир, в котором находится Робби,- это смоделированный мир, содержащий параллелепипеды, пирамиды и коробки. Чтобы было удобнее следить за происходящим, ситуация в этом мире изображается на дисплее так, как показано на рис. 6.1. Реакции Робби выражаются в его действиях, а также фразах, набранных здесь крупным шрифтом.
ОК*. * (OK (Okay) - ответ, означающий, что действие выполнено,- Прим. перев.) Чтобы справиться с этой командой, Робби должен решить, какой из блоков является большим красным блоком, а затем спланировать последовательность соответствующих движений. На рис. 6.2 показан результат.
ОК. Робби должен понимать местоимения.
СИНЯЯ ПИРАМИДА И СИНИЙ БЛОК. Робби должен решить, какие объекты находятся в коробке и как их можно описать человеку. ![]() Рис. 6.1. Предназначен для иллюстрации лингвистических идей. Мир кубиков состоит из цветных блоков и однорукого робота, снабженного магнитной рукой. (Рис. 6.1-6.5 взяты из работы П. Уинстона 'CAES Study Guide on Artificial Intelligence', copyright by Center for Advanced Engineering Study, M. I. Т., Cambridge, Massachusetts. С разрешения CAES.) ![]() Рис. 6.2. Пример команды и результирующего действия. Заметьте, что зеленый куб, первоначально расположенный на красном блоке, отложен в сторону ![]() Рис. 6.3. Здесь робот должен был отложить в сторону зеленую пирамиду, чтобы добраться до красного куба, необходимого для постройки
КОРОБКА. Здесь три пирамиды, но Робби знает, что человек, должно быть, имеет в виду ту пирамиду, про которую только что говорилось, что она в коробке.
ДА. В данный момент такая ситуация имеет место, следовательно, это возможно.
ОК. ![]() Рис. 6.3. Здесь робот должен был отложить в сторону зеленую пирамиду, чтобы добраться до красного куба, необходимого для постройки Чтобы выполнить это задание, необходимо воспользоваться той или иной системой решения задач.
БОЛЬШОЙ ЗЕЛЕНЫЙ, НА КОТОРОМ СТОИТ КРАСНАЯ ПИРАМИДА. Робби старается сообщить достаточно информации, чтобы сделать определение единственным.
ДА, ТАКИХ ТРИ: БОЛЬШОЙ КРАСНЫЙ, БОЛЬШОЙ ЗЕЛЕНЫЙ КУБ И СИНИЙ БЛОК.
ОК.
ОК. (Результат изображен на рис. 6.4.)
ДА, ДЛЯ ЗЕЛЕНОЙ ПИРАМИДЫ. !
В ТО ВРЕМЯ, КОГДА Я СТРОИЛ БАШЕНКУ ИЗ КРАСНОГО КУБА, БОЛЬШОГО КРАСНОГО БЛОКА И БОЛЬШОГО ЗЕЛЕНОГО КУБА. Робби должен помнить, что он сделал и в какой последовательности.
ЧТОБЫ ОТ НЕЕ ИЗБАВИТЬСЯ. Причины должны храниться в некотором дереве целей. Здесь Робби переходит от одной цели вверх к предкам этой цели. Вопрос как заставляет переходить от предков к потомкам.
ЧТОБЫ ОСВОБОДИТЬ КРАСНЫЙ КУБ. Повторение этого же самого вопроса в конечном счете приведет к ответу: "Потому что вы меня об этом попросили".
ОК. Смысл предложения становится вполне однозначным, если взглянуть на обсуждаемую сцену. См. рис. 6.5.
ПОЖАЛУЙСТА! Большинство людей приходит в восторг от такого диалога. Нет никакого сомнения, что машина, по-видимому, является весьма компетентной в отношении того, что происходит. Однако Робби весьма близорук при восприятии мира, поскольку он не может хорошо ответить ни на один вопрос за пределами того окружения, которое подвергалось моделированию. Тем не менее мир кубиков Робби особенно удобен для изучения многих вопросов, играющих центральную роль в обработке естественных языков, и мы воспользуемся им для иллюстрации некоторых выводов. Конечно же, мы коснемся лишь самой поверхности вопроса - рассмотрим процесс, посредством которого названия предметов выводятся из их описания, представленного на английском языке. ![]() Рис. 6.5. Иногда для разрешения неоднозначности предложения необходимо знание конкретной ситуации. Здесь один вариант состоит в перемещении синей пирамиды, которая находится на блоке, в коробку, а второй - в перемещении синей пирамиды на блок, который находится в коробке. Один из них исключается при учете известных фактов С Робби можно говорить лишь об очень немногих вещахГлавная причина, по которой мир кубиков так полезен в качестве первоначальной основы для изучения естественного языка, состоит в том, что число вещей, о которых может пойти речь, естественным образом ограничено. Точнее, разговор может пойти о следующем:
Что же можно сказать теперь об этих категориях? Рассмотрим вопросы и команды, не обращая внимания на проблему усвоения фактов. Отношения и свойства будут появляться в предложениях двух типов: вопросы относительно существования отношения или свойства и команды, приводящие к установлению отношения: Находится ли красный куб в коробке? Является ли красный куб большим? Положи красный куб на синий блок. Что необходимо для работы с такими предложениями? Знания какого вида? Как много нужно знать? Что конкретно? Понимание требует экспертизы на многих уровняхДаже с вопросами на простом языке мира кубиков иметь дело трудно. Слова должны быть собраны в группы, группы в предложения, а предложения в связное повествование. Поэтому нужны несколько "специалистов":
К счастью, благодаря естественным ограничениям, которые присущи беседе о мире кубиков, в данном случае можно ограничиться учетом лишь синтаксического уровня, изредка обращаясь к проблемам на уровне предложения или сценария. Падежный анализ в мире кубиков принципиально простЗадачей падежного анализа является выяснение того, как группы существительного в предложении выполняют различные роли. Для случая команд, кто должен произвести указанное действие? Для кого? Зачем? В мире кубиков большинство ячеек, соответствующих различным падежам, заполняется довольно легко с использованием набора весьма жестких изначальных ограничений или очень простых синтаксических критериев. Робби, наш робот,- это единственное существо, которое может что-то делать, поэтому Робби всегда является агентом. Не возникает также вопроса о том, для кого это действие совершается, поскольку человек, отдающий команды, представляет собой в этом смысле единственную возможность. И наконец, предмет, над которым совершается действие, может быть только тем или иным кубиком, и в общем случае это будет объект, находящийся внутри группы существительного без вводного предлога. Инструмент и местоположение очевидны, так что в целом имеем следующее: агент: Робби, потребитель: хозяин человек, инструмент: рука Робби, местоположение: смоделированный на ЭВМ мир Робби, объект: группа существительного без предлога, содержащая блок, пирамиду и т. д. На самом деле в мире кубиков содержится так много ограничений, что для большинства предложений проблема определения падежей для групп существительного является несложной. Робби пользуется описаниями объектов и названиями действийВ большинстве случаев действия, отношения и свойства обозначаются непосредственно словами, например положи, выше, красный. С объектами дело обстоит не так. Наоборот, изучение диалога показывает, что весьма большое количество слов используется для задания объектов их описанием, а не названием. Что означает понимать описания такого рода? По-видимому, мы, люди, создаем какие-то ассоциации между описывающим высказыванием и зрительным восприятием. "Большой красный блок, который служит опорой для пирамиды" каким-то образом привязывается к модели физической реальности, построенной с помощью нашего зрительного аппарата. Как это делается, мы не знаем, и потому это утверждение выглядит, конечно, весьма расплывчатым. Необходимый эквивалент для вычислительной системы, однако, уже не расплывчатый. Внешний физический мир отсутствует, имеется лишь модель мира, хранящаяся в памяти. Чтобы задать вопрос, касающийся некоторого конкретного объекта в этом мире, нужно обратиться к его имени, которое будет выглядеть чем-то вроде БЛОК-3, или ПИРАМИДА-2, или 31415. Трудность поэтому состоит в том, чтобы извлечь эти имена из описания, содержащегося в английских высказываниях. Этого не требуется в мире кубиков для работы с отношениями и действиями, к нему относящимися, поскольку они поименованы непосредственно, а не путем описания. Мы прямо говорим поднять или позади. Здесь нет необходимости избегать связывания с этими понятиями однозначных имен, поскольку их весьма мало. Это верно и в общем случае. Невозможно дать каждому физическому объекту, с которым мы можем так или иначе столкнуться, своего особого имени, хотя мы и располагаем однозначными именами для большинства распространенных действий, которые мы могли бы выполнить, а также отношений и свойств, которые мы способны воспринять. Все это означает, что при понимании мира кубиков возникает два семантических этапа. Первый этап включает анализ описания предметов и подстановку их имен. Второй состоит в использовании этих имен и других слов предложения для совершения действий. В следующем примере фраза "Возьми большой красный блок" в конечном счете становится просто вызовом программы ВЗЯТЬ: ![]() Мы увидим, что трансляция в мире подобных предметов может производиться совместно семантической и синтаксической программами. Программа, специализирующаяся в семантике, использует прилагательные, существительные и глаголы при построении программных фрагментов, которые объединяются вместе в соответствии с указаниями программы - специалиста по синтаксису. Понимание привязывает высказывания к рассматриваемому мируЯзык состоит из осмысленных групп слов, организованных в предложения. Поскольку мы говорим о предметах, имеются группы существительного. Поскольку мы говорим о действиях, имеются группы глагола. Каким-то образом группы существительного ассоциируются с объектами физического мира. Фраза "Обратите внимание на этот большой блок" заставляет слушателя посмотреть на конкретный предмет. "Обратите внимание на 27182" было бы проще и в большей степени исключало бы возможность неточности, но люди обычно указывают на предметы их описанием, а не именем. Теперь, что же означает понимать такие описания? По всей видимости, люди используют зрительный аппарат для описания трехмерного физического окружения. Возможно, что такими описаниями являются символьные структуры, имеющие иерархические уровни. Понимание группы существительного может соответствовать установлению символьных связей между группами существительного, обнаруженными лингвистическими процедурами, и символьными структурами, возникшими в результате зрительной обработки. Все это не очень четко. В случае Робби можно многое уточнить:
Что есть имя? Поскольку Робби руководствуется только внутренними моделями, а не реальным физическим миром, то извлечение имени из группы существительного крайне важно. Если мы спрашиваем Робби о цвете данного большого блока, он должен оперировать с 27182, именем предмета. Если мы приказываем Робби взять его, то снова это имя является ключом к информации о местоположении, которая необходима Робби для приведения руки в соответствующую позицию. В самом деле, большая часть того, что Робби знает о предметах, может быть найдена по имени предмета, точно так же как большая часть того, что мы знаем об адресах и телефонах, может быть найдена по именам в нашей записной книжке. Нет никакой возможности найти номер телефона, исходя только из того, что человек должен быть приятной наружности и иметь светлые волосы. В мире кубиков имеет смысл переводить группы существительного в программыСделаем вначале несколько утверждений:
Как нужно аргументировать эту идею о переводе в программы? При ответе на этот вопрос можно воспользоваться тем фактом, что связный диалог в разговоре о мире кубиков, как таковой, отсутствует. Похоже, что каждое предложение и формулируется, и понимается независимо от других. Отсутствуют абзацы, объясняющие ситуацию, или приводящие соображения в пользу какого-либо заключения, или подготавливающие основной контекст для понимания некоторого отношения причины - следствия. Следовательно, аналогия между предложениями и функциями, высказанная нами при обсуждении ограничений, лежащих в основе падежной грамматики, почти полностью отражает существо дела в случае мира кубиков. Что можно сказать относительно перевода высказываний на некий промежуточный язык, типа исчисления предикатов или понятийной сети, или какого-то иного представления, которое не выглядит, как программа? Ответ состоит в том, что, какую бы форму ни принимало это представление, где-то имеется скрытая программа. Конечно, можно было бы использовать представление в виде функции с несколькими аргументами, которое не выглядит, как программа, но если необходимо выработать реакцию, то устройство должно что-то сделать. Если перевод приводит к чему-то, что выглядит, как данные, тогда некоторая программа должна использовать их для генерации соответствующей реакции. Но, по существу, это означает, что данные содержат неявные инструкции о том, что следует делать, а эта мысль отстоит недалеко от заявления, что указанные данные заключают в себе подразумеваемую программу. Возможно, что для превращения скрытой формы в явную и потребуется некоторый анализ, но эти данные и в самом деле действуют, как несколько замаскированный язык программирования. Программы групп существительного находят именаСпособность Робби находить имена предметов обеспечивается коллективом специалистов, которые рассматривают группы существительных, используют их для написания поисковых программ и запускают эти программы с тем, чтобы получить имена. Здесь возникает прекрасная мысль:
К счастью, здесь нет необходимости откладывать дальнейшее обсуждение до момента, когда мы займемся программированием. Основные концепции мы рассмотрим здесь и отложим лишь рассмотрение деталей.
|
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
|
![]() |
|||
© Злыгостев А.С., 2001-2019
При использовании материалов сайта активная ссылка обязательна: http://informaticslib.ru/ 'Библиотека по информатике' |