Выбрать главу

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

ШРДЛУ, программа Винограда

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

В 1968-1970 годах Терри Виноград (он же д-р Тире-Рвинога) писал докторскую диссертацию в Массачусетском институте технологии, работая над проблемами языка и понимания. В то время в МИТе многие специалисты по ИИ работали с так называемым «миром блоков» — относительно простой областью, в которой легко было представить задачи компьютерного зрения и языка. Эта область включала стол и разноцветные блоки, похожие на игрушечные кубики — квадратные, удлиненные, треугольные, и т. д. (Иной тип «блочного мира» представлен на картине Магритта «Мысленная арифметика» (рис. 117); я нахожу это название особенно подходящим к данному контексту.) Проблемы зрения в блочном мире МИТа весьма сложны: каким образом сканирование телекамерой сцены с множеством кубиков позволяет компьютеру решить, какие типы блоков там находятся, и каково их взаимное расположение? Некоторые блоки могут лежать на других, некоторые — стоять впереди других; блоки могут отбрасывать тени и т. д.

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

(1) понимать по-английски вопросы о ситуации;

(2) отвечать по-английски на вопросы о ситуации;

(3) понимать команды по-английски о манипуляции блоков;

(4) разбивать каждую команду на серию операций, которые он может выполнить;

(5) понимать, что он делает и с какой целью;

(6) описывать свои действия и их цель по-английски.

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

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

Рис. 117. Рене Магритт. «Мысленная арифметика» (1931).

Структура ШРДЛУ

В действительности, ШРДЛУ все же состоит из отдельных процедур, каждая из которых содержит некие знания о мире; но эти процедуры настолько зависят друг от друга, что их невозможно четко разграничить. Программа похожа на крепко затянутый узел, который очень трудно распутать; но тот факт, что его не удается развязать, не означает того, что его невозможно понять. Может существовать элегантное геометрическое описание всего узла, даже если физически он запутан. Здесь уместно вспомнить метафору из «Приношения МУ» и сравнить эту проблему со взглядом на фруктовый сад под «естественным» углом.

Виноград очень хорошо описал ШРДЛУ. Ниже я привожу отрывок из его статьи в книге Шанка и Колби:

Одна из основных идей, лежащих в основе этой модели, заключается в том, что всякое использование языка можно рассматривать как активацию неких процедур в слушателе. Мы можем думать о любом высказывании как о программе, которая является косвенной причиной выполнения неких операций в когнитивной системе слушателя. Это «составление программ» неявно, поскольку мы имеем дело с разумным интерпретатором, реакция которого может весьма отличаться от той, которую хотел вызвать говорящий. Точная форма «программы», воспринимаемой слушателем, определяется его знанием о мире, его отношением к говорящему и так далее. В нашей программе мы имели дело с простой версией этого процесса интерпретации, происходящего внутри робота. Каждое высказывание, интерпретированное роботом, превращалось в набор команд ПЛАННЕРа. Программа, созданная таким образом, затем использовалась для достижения желаемого эффекта.[75]

ПЛАННЕР облегчает упрощение задач

Упомянутый выше язык ПЛАННЕР — это один из языков ИИ; его основной чертой является то, что в него встроены некоторые операции, необходимые для упрощения задач, — например, рекурсивный процесс создания дерева подзадач, подподзадач и так далее. Это значит, что программисту уже не приходится объяснять подобные процессы снова и снова — они автоматически следуют из так называемых постановок задач. Человек, читающий составленную на ПЛАННЕРе программу, не заметит явных ссылок на эти операции; на компьютерном жаргоне говорится, что они прозрачны для пользователя. Если одна из ветвей дерева не сможет выполнить своей задачи, то ПЛАННЕР вернется назад и попробует другую дорогу, «Возврат» — ключевое слово в ПЛАННЕРе.

Программа Винограда успешно воспользовалась этими чертами ПЛАННЕРа — или, точнее, МИКРОПЛАННЕРа, частичной реализации замыслов для ПЛАННЕРа. Однако за последние несколько лет специалисты в области ИИ решили, что автоматический возврат, используемый в ПЛАННЕРе, имеет свои определенные недостатки и маловероятно, что он сможет привести к цели; так что они сосредоточили свои усилия на других областях ИИ.

Давайте посмотрим на дальнейшие комментарии Винограда о ШРДЛУ:

Определение значения каждого слова — эта программа, вызываемая в нужный момент анализа; она может производить произвольные вычисления, включающие данное высказывание и физическую ситуацию в данный момент.[76]

Среди примеров, которые приводит Виноград, встречается следующий:

Различными возможностями значения слова «the» являются процедуры, которые проверяют разнообразные факты, касающиеся контекста, и затем определяют нужные действия, такие как «искать в базе данных описание единственного предмета, совпадающего с этим описанием» или «подтвердить, что описываемый предмет является единственным для говорящего». В программу включены различные типы эвристики для определения того, какие части контекста важны.[77]

(Как читатель, вероятно, догадался, программа ШРДЛУ была англоязычна; задачи, которые ей приходилось решать, были специфичны для английского языка. В Диалоге «ШРДЛУ» мы постарались передать на русском как можно точнее не только содержание беседы с программой, но и ее форму, со всеми двусмысленностями и шероховатостями речи; однако комментарий Винограда о проблеме использования определенного артикля «the» был оставлен без изменения за отсутствием точного русского эквивалента. — Прим. перев.)

Удивительно то, насколько значительна эта проблема артикля «the». В русском аналогичные проблемы представляют, например, такие слова как «что», «в», «на», «и», «к». Можно с уверенностью сказать, что создание программы, которая была бы способна правильно использовать все значения этих слов, было бы эквивалентно решению проблемы ИИ, и таким образом, означало бы ответ на вопрос, что такое разум и сознание. Небольшое отступление: согласно частотному словарю Джона Б. Кэрролла (John В. Carroll, «Word Frequency Book»), пять наиболее часто употребляющихся в английском существительных — это «время», «люди», «дорога», «вода» и «слова», в таком порядке. Удивительнее всего то, что большинство людей не подозревает, что они думают настолько абстрактными категориями. Девять человек из десяти назовут «дом», «работа», «деньги», «человек»… И, раз уж мы заговорили о частотности, заметьте, что наиболее часто используемыми буквами английского языка, согласно Мергенталеру, являются «ETAOIN SHRDLU», в таком порядке.

вернуться

75

Terry Winograd, «A Procedural Model of Language Understanding» в сборнике R. Schank and К. Colby, eds «Computer Models of Thought and Language», стр. 170.

вернуться

76

Там же, стр. 175.

вернуться

77

Там же, стр. 175.