Поговори с «Элизой»
Перед вами очередной выпуск из цикла «Археолог цифрового века» Джимми Мехера (Digital Antiquarian). Полную версию перевода можно прочесть на сайте Author.Today. Предыдущие статьи доступны по хэштегу #археологцифровоговека.
Этот выпуск посвящен первому в истории диалоговому симулятору ELIZA, который наглядно продемонстрировал, что компьютер можно (до определенной степени) научить «понимать» человеческий язык.
В 1965 году преподаватель Массачусетского технологического института Джозеф Вейценбаум представил компьютерный симулятор человеческого общения под названием ELIZA. В январе 1966 года на страницах журнала Ассоциации вычислительной техники (АВТ) была опубликована статья, в которой приводилась стенограмма беседы между программой и молодой женщиной (прописными буквами даются ответы ELIZA):
Многие полагают, что «Элизой» зовут «психотерапевта», с которым общается человек-«пациент», но на самом деле это не так. ELIZA — это название самого диалогового симулятора, изобретенного Вейценбаумом, и аллюзия на персонажа пьесы Бернарда Шоу «Пигмалион» — девушку из бедной лондонской семьи, которую обучают манерам речи и поведения, принятым в высшем обществе. Это как бы должно намекнуть нам, что компьютер тоже сумел овладеть естественным человеческим языком.
«Личность» симулятора определялась загруженным в него сценарием. Первый сценарий, он же самый известный — «Врач» (продемонстрирован выше), — был разработан самим Вейценбаумом. В документальном фильме Rebel at Work («Бунтарь за работой») он рассказывает, почему выбрал именно такой вариант:
И вдруг меня осенило: психотерапевт. Психотерапевт выслушивает пациента и задает ему вопросы. Неважно, связаны они со сказанным только частично или вообще не связаны — пациент истолковывает их по-своему, в зависимости от душевного состояния, поскольку исходит из предположения, что психиатр его понимает, что он умнее и что в его словах должен быть смысл, мол, не знаю, какой, но какой-то должен быть. Из этой мысли постепенно и родилась концепция ELIZA.
«Так, посмотрим… — говорит психотерапевт. — Какие у вас с этим ассоциации?»
«Как проницательно! — думает пациент. — Этот психотерапевт точно угадал мое состояние. Думаю, я продолжу с ним работать!»
В статье для журнала АВТ Вейценбаум особо отмечает, что ELIZA, конечно же, не «понимает» вопросов, которые ей задают. В конце концов, это всего лишь усложненный движок по генерации текста с примитивным парсером, который ищет совпадения в пользовательском вводе и строит ответы по определенным правилам. Гениальность сценария «Врач» состоит в том, что живой врач-психотерапевт (как минимум, с точки зрения неспециалиста) ведет себя примерно так же.
Впрочем, необходимо понимать, что стенограмма, отрывок из которой приведен в начале главы, иллюстрирует почти идеальную ситуацию, и было бы натяжкой вслед за Вейценбаумом назвать этот текст «типичной беседой». Стоит провести с ELIZA чуть больше времени, и неизбежно наступит момент, когда раскрывается ее сущность — а именно, что это всего лишь хитроумный салонный фокус. И проколы возникают не реже, чем удивительно меткие попадания.
Написана ELIZA была на языке MAD (Michigan Algorithm Decoder, «Мичиганский декодер алгоритмов» — по месту создания: Мичиганский университет) с использованием библиотеки SLIP, которую написал в 1963 году сам Вейценбаум. Этот язык имел довольно ограниченное хождение, однако статья в журнале АВТ содержала столь подробное описание симулятора, что его получилось относительно без труда портировать на другие языки и платформы. Словом, получилось почти как с Adventure, код которой комментировал Дон Вудс.
По мере распространения программы первоначальная концепция диалогового симулятора как-то забылась, и система ELIZA стала просто «психотерапевтом по имени Элиза». В выпуске Creative Computing за июль-август 1977 года появилась версия на языке BASIC, написанная Джеффом Шрегером и Стивом Нортом. В сопроводительном тексте Норт отмечал: «Программа, конечно, сильно урезана по сравнению с оригиналом, но она работает». Имеются в виду, прежде всего, ограничения BASIC и необходимость работать под 16 Кб ОЗУ. Однако даже в урезанном виде программа выглядела довольно впечатляюще и за следующие десять лет породила бесчисленное множество вариаций, подражаний и продолжений. Казалось, в 70-е и 80-е нельзя было найти персональный компьютер, в библиотеке которого не было бы хоть какой-то вариации ELIZA.
Итак, давайте разберемся, на что ELIZA способна, а на что нет. Для наглядности я решил воспользоваться готовой стенограммой, которая была приведена в том самом выпуске Creative Computing. Я постараюсь шаг за шагом показать, что происходит у программы, так сказать, «под капотом». (Я позволил себе только заменить IMSAI 8080 на TRS-80, чтобы сделать отсылку к предыдущей теме.)
Эта стенограмма куда менее впечатляющая, чем та, которую включил в свою статью Вейценбаум. Отчасти это связано с упрощенной версией самой ELIZA, а отчасти с тем, что редакторы Creative Computing верно рассудили: обычный пользователь едва ли станет играть с программой в психотерапевта/пациента; он скорее постарается всеми правдами и неправдами «сломать» ее. С этой точки зрения я считаю приведенный пример более достоверной демонстрацией возможностей ELIZA и опыта взаимодействия с ней.
В основе программы лежит простейший алгоритм, который ищет во введенном пользователем тексте совпадения с теми или иными последовательностями символов. Вот эти последовательности в порядке убывания значимости (с приблизительным переводом на русский):
Найдя все возможные совпадения, программа начинает подбирать ответ. Например, триггер на слово «компьютер» сработает только в том случае, если предыдущие 34 варианта в пользовательском вводе не найдены.
ELIZA выбирает ответы из соответствующего совпадению списка по порядку, без рандомизации. В этом примере за основу берется «Я_»; алгоритм отсекает местоимение, оставляя только «IBM 370»*, после чего выбирает первую заготовку «ТЫ ЗДЕСЬ ПОТОМУ, ЧТО ТЫ...» — и подставляет в пропуск конец фразы, введенной пользователем.
*Да, кстати, вся эта «беседа» сочинена ради хохмы. IBM 370 был, наверное, самым большим и мощным мейнфреймом того периода; отсюда и высокомерное отношение к «малютке» TRS-80.
Здесь два совпадения: «ДА» и «МНЕ НУЖЕН», — однако «МНЕ НУЖЕН» имеет более высокий приоритет (14). ELIZA отбрасывает всю часть фразы до «НОВЫЙ ПРИНТЕР» (вместе с совпадением «ДА», кстати), а затем выводит ответ «ЗАЧЕМ ТЕБЕ НУЖЕН...», снова подставляя в пропуск остаток пользовательского ввода.
Здесь нет никаких совпадений, и программе не за что зацепиться. Поэтому на экран выводится ответ из общего набора.
Здесь тоже несколько совпадений, но самое высокое у «ТЫ_» (3). ELIZA отбрасывает все, кроме слова «TANDY», и поставляет его в заготовку «ПОЧЕМУ ТЫ ДУМАЕШЬ, ЧТО Я...»
Не все варианты ответов включают в себя повторение пользовательского ввода. В этом случае совпадение «ТЫ» вызывает готовый отклик «МЫ ГОВОРИМ О ТЕБЕ, А НЕ ОБО МНЕ».
В оригинальной стенограмме I’M FIXING A HOLE... — отсылка к одноименной песне группы «Битлз» с альбома Sgt. Pepper’s Lonely Hearts Club Band.
В качестве совпадения здесь снова используется «Я_», однако ответ другой. Как уже упоминалось, для большинства совпадений в программе предусмотрены списки возможных ответов. Их цель — замаскировать автоматизированную природу симулятора. В случае с «Я_» таких вариантов четыре.*
*Обратите внимание, что в списке возможных совпадений «Я» встречается дважды, на позициях 11 и 12, что вызвано особенностями написания на английском языке. Списки ответов, что логично, одинаковые, однако перебираются независимо друг от друга.
И снова ELIZA не за что зацепиться, поэтому она выдает нам второй общий ответ из списка.
Здесь мы можем наблюдать первый сбой, причем довольно показательный. ELIZA снова, уже в третий раз, встретила совпадение «Я_», а потому дает третий ответ «ТЫ СЧИТАЕШЬ НОРМАЛЬНЫМ...» По логике того, что мы видели раньше, полный ответ должен выглядеть так: «ТЫ СЧИТАЕШЬ НОРМАЛЬНЫМ НАЧИНАЮ СОМНЕВАТЬСЯ В ТЕБЕ», — что, конечно же, было бы абсурдно. Чтобы избежать подобных ситуаций, в программу встроен дополнительный алгоритм, который, в частности, заменяет местоимения (например, «ТЕБЕ» на «МНЕ»), а также производит минимальное глагольное согласование.
На самом деле, ELIZA проводит такую проверку в каждом фрагменте пользовательского ввода, который подставляет в свои заготовки, но до сих пор возможности наблюдать результаты у нас не было. Программа, конечно же, не имеет никакого понятия о грамматике естественного языка; она просто меняет одни последовательности символов на другие. И вот мы видим, к чему приводит такая бездумная механическая замена.
И вот еще один «прокол», который, однако, удивительным образом не нарушает хода беседы. ELIZA воспринимает «ДА» в начале как утверждение и потому выводит первый из запрограммированных ответов. В общем, можно сказать, повезло.
…и в таком же духе. Думаю, этих примеров достаточно, чтобы понять, как устроен симулятор. На этом издеваться над несчастной программой мы закончим и поговорим о том, как ELIZA повлияла на Джозефа Вейценбаума, на первых пользователей и, возможно, на всех нас.
Наиболее явно наследие ELIZA просматривается, конечно, в легионах чат-ботов, которые во множестве форм существуют сегодня. Но какую роль ELIZA сыграла в истории интерактивного повествования?
Ответ, с одной стороны, лежит на поверхности. Запустив ELIZA, вы вступаете в текстовый диалог с компьютерной программой. Ничего не напоминает? На самом деле, если бегло сравнить стенограмму беседы с ELIZA и распечатку игровой сессии в Adventure, можно сделать вывод, что это, по сути, одно и то же, хотя, конечно же, все не так просто. ELIZA — это «всего лишь» движок по генерации текста, механически подставляющий слова, тогда как Adventure и ее последовательницы позволяют игроку манипулировать виртуальным миром посредством текстовых команд. Именно поэтому они не могут прикидываться, будто понимают ввод игрока, — они должны его понимать.
Я почти уверен, что Уилл Краузер знал об ELIZA, и основывал базовый игровой принцип Adventure именно на ней. Безусловно, ELIZA не была единственным источником вдохновения, ведь почти все общение между человеком и машиной в те годы происходило в форме текстового диалога (кроме командной строки, других интерфейсов еще не придумали). Однако уникальность моделей ELIZA и Adventure заключается в том, что «общение» в них строится на псевдоестественном языке. Одного этого достаточно, чтобы считать ELIZA важной предтечей всей интерактивной литературы.
Но ограничиться этим значило бы упустить самое интересное. Все-таки что-то же привлекало в ELIZA ученых, которых совершенно не интересовала ее роль в истории ИЛ. Чтобы понять, что именно, попробуем рассмотреть, какую реакцию вызвала ELIZA у аудитории и как эту реакцию воспринял ее создатель — Джозеф Вейценбаум.
По всей видимости, первым человеком, которому довелось активно взаимодействовать с «Элизой», была секретарша Вейценбаума: «Она [секретарша] много месяцев наблюдала за моей работой и знала, что это всего лишь компьютерная программа. Однако запустив ее, она буквально через несколько реплик попросила меня выйти из кабинета, чтобы остаться с машиной наедине». И такое поведение было довольно распространенным. ELIZA стала своего рода сенсацией в МТИ и других университетах, куда она тем или иным образом попадала, сделав Вейценбаума локальной знаменитостью.
Многие воспринимали ELIZA как отдушину, как редкую возможность просто подурачиться за компьютером, ведь в середине 1960-х ЭВМ были предназначены либо для бизнеса (IBM), либо для хакерского шаманства (DEC) — и все, третьего не дано. Некоторые относились к ней довольно пугающей (по крайней мере, с точки зрения нас сегодняшних) серьезностью. Находились даже те, кто предполагал, что такие программы в скором времени заменят психотерапевтов. Среди сторонников этой жутковатой гипотезы был и Карл Саган — астрофизик и популяризатор науки, автор научного сериала «Космос с Карлом Саганом», — а некая группа психологов даже сумела пропихнуть статью на эту тему в «Журнал о нервных и психических заболеваниях»:
Очевидно, что перед клиническим использованием программу необходимо доработать. Если эффективность подобной методики будет доказана, то на ее основе можно будет создать терапевтический инструмент, рассчитанный на применение в психиатрических клиниках, где наблюдается недостаток специалистов. Благодаря разделению времени на современных компьютерах и компьютерах будущего подобная система сможет обслуживать несколько сотен пациентов в час. Человека-психотерапевта эта программа, безусловно, не заменит; он будет заниматься разработкой и поддержкой системы и в целом станет гораздо более эффективной единицей, поскольку не должен будет работать с пациентом один на один, как это принято сейчас.
Реакция Вейценбаума на подобные заявления не менее знаменита, чем симулятор, с которым они связаны. Видя воочию, что его секретарша и другие подолгу беседуют по душам с компьютером, создатель ELIZA… ну, мягко говоря, ошалел. Шерри Теркл позднее придумала название феномену, который он наблюдал: «эффект ELIZA», то есть склонность человека «проецировать свои чувства на предметы и относиться к ним, как к людям». Термин прижился и вскоре стал означать склонность пользователей предполагать, что программа куда более сложно устроена, более «разумна», чем на самом деле. К личному раздражению Вейценбаума примешивалась еще и тревога, что под угрозой оказываются социальные связи и человечность как таковая. В противовес Марвину Минскому и Джону Маккарти из Лаборатории искусственного интеллекта того же МТИ, он был убежден, что человеческий интеллект, наделенный чувствами и интуицией, воспроизвести на компьютере невозможно — и попытки сделать это ни к чему хорошему не приведут. Спустя десять лет после завершения работы над ELIZA он изложил эту позицию в своем главном труде — «Возможности вычислительных машин и человеческий разум», — который представлял собой отповедь цифровому утопизму, царившему в кругах компьютерщиков того времени.
В главе 4 «Наука и одержимый программист» Вейценбаум, среди прочего, описывает своих студентов в МТИ, естественно, одержимых наукой и программированием. Он считает, что они «они отвергли все способы познания мира, кроме научного, и ищут все более глубокого укоренения в этой своей вере (хотя, конечно, этим словом они уже не пользуются)». Сомневаюсь, чтобы такое описание хакеров помогло ему нажить друзей в этом сообществе:
…можно наблюдать блестящих молодых людей, всклокоченных, часто с запавшими, но сияющими глазами, которые сидят за пультами управления вычислительных машин, сжав в напряжении руки в ожидании возможности пустить в ход свои пальцы, уже занесенные над кнопками и клавишами, приковывающими их внимание так же, как брошенная игральная кость приковывает взгляд игрока. Если они не находятся в таком трансе, то часто сидят за столами, заваленными машинными распечатками, которые они сосредоточенно изучают подобно людям, одержимым постижением каббалистического текста. Они работают чуть ли не до полного изнеможения, по 20-30 часов подряд. Еду, если только они о ней заботятся, им приносят (кофе, кока-кола, бутерброды). Если возможно, они спят около вычислительной машины на раскладушках, но всего несколько часов, а затем — снова за пульт управления или к распечаткам. Их измятая одежда, немытые и небритые физиономии, нечесаные волосы — все свидетельствует о том, что они не обращают внимания ни на свое тело, ни на мир, в котором живут. Они существуют, по крайней мере когда они так увлечены, лишь в связи с вычислительными машинами и ради них. Они — «машинные наркоманы», одержимые программисты. Это явление наблюдается во всем мире.
Вейценбаум, конечно же, делает оговорку, что в какой-то степени это описание относится и к нему, когда он сам поглощен работой, но все равно нелюбовь к хакерам сквозит в каждой строчке. Интересно отметить, что и симулятор ELIZA Вейценбаум написал не на излюбленной хакерами DEC, а на гигантском мейнфрейме IBM 7094, который находился совершенно в другой части кампуса. То есть, как отмечает Стивен Леви, с настоящими хакерами Вейценбаум «практически не общался».
При этом я думаю, что в своем резком неприятии «эффекта ELIZA» Вейценбаум упускает из виду нечто очень важное. Ему кажется, будто его программа вызывает «мощную галлюцинацию в умах нормальных людей», что, согласитесь, довольно нелепо. В конце концов, если секретарша, выражаясь его же словами «много месяцев наблюдала за его [Вейценбаума] работой», то неужели она могла поверить, что он вот так у нее на глазах собственноручно сотворил искусственный разум? Я думаю, она прекрасно осознавала, что ELIZA есть не более чем салонный трюк, но сознательно согласилась поверить в реальность переживаемого ею опыта психотерапевтического сеанса.
«Намеренная приостановка неверия» — широко известное явление, которое позволяет человеку верить в существование сразу двух противоречащих сущностей. Ничего необычного: ведь все мы с готовностью погружаемся в вымышленные миры, прекрасно осознавая, что они, ну, вымышленные. На этом основана сама природа историй, будь то романы, фильмы или видеоигры. И неслучайно всплеск популярности художественной литературы и кинематографа вызывал в некоторых умах тревогу, очень схожую с той, что выразил Вейценбаум в отношении ELIZA.
Эту мысль можно развивать до бесконечности, призвав на помощь Маршалла Маклюэна, Жана Бодрийяра и сотню других философов, но тогда бы нам пришлось забросить разговор об истории компьютерных игр. Поэтому вернемся к ELIZA. Вот что пишет Шерри Теркл о людях, которые активно поддерживали иллюзию общения с компьютером:
Разобравшись в том, как работает ELIZA, пользователи начинают искать способы «подтолкнуть» программу к абсурдным или глупым ответам. Некоторые всеми силами стараются обмануть ее, «вывести из себя», дабы тем самым показать всем, что это «всего лишь» программа. Однако многие поступают наоборот. Я общалась с людьми, которые в самом деле «расстроились», когда поняли, что с ними общается машина и иллюзия рассеялась. Более того, я нередко наблюдала, как такие пользователи «оберегают» ELIZA, стараясь избегать ситуаций, когда она выдает нелогичный ответ. Они просто не задают вопросы, которые могут «сбить ее с толку» или заставить ее «нести чушь». Более того, они формулируют свой ввод так, чтобы отклик был максимально естественным. Так они поддерживают иллюзию реального общения с ELIZA.
Существование пользователей, которые сознательно подавляли свое неверие и изо всех сил поддерживали иллюзию сеанса психотерапии, приводит нас к поразительному выводу. Получается, что уже в середине 1960-х годов люди были готовы полностью погрузиться в «интерактивную литературу». Иными словами, они воспринимали компьютер как инструмент не только для воспроизведения, но и для создания историй. Они взаимодействовали с нарративом, который был создан человеком — а именно Джозефом Вейценбаумом (сам он, конечно, свое творение таким образом не воспринимал). Компьютер позволял им переживать тот же опыт, что и при чтении книг. И в отличие от Вейценбаума, я считаю увлечение ELIZA поводом не для беспокойства, а для того чтобы, затаив дыхание, ждать, что же будет дальше. Окажись я рядом с той секретаршей, я сказал бы ей: «Если вам понравилась ELIZA, подождите: скоро появится нечто еще более крутое!»