Элиза (программа)

Элиза — одна из первых программ обработки естественного языка, разработанная в период с 1964 по 1967 год[1] в Массачусетском технологическом институте (MIT) Джозефом Вайценбаумом[2][3]. Она предназначалась для исследования взаимодействия человека и машины. Программа моделировала общение с использованием сопоставления по шаблонам и подстановок, создавая у пользователя иллюзию понимания со стороны компьютера, хотя на самом деле программа не обладала настоящим пониманием речи собеседника[4][5][6]. Программа была написана (изначально)[7] на языке MAD-SLIP, в то время как большинство языковых возможностей определялось в отдельных «скриптах», представленных в виде lisp-подобных s-выражений[8]. Самый известный из них — «DOCTOR» — имитировал психотерапевта-рогерианца (терапевта школы Роджерса)[9][10][11] и использовал заранее заданные правила для ответа на реплики пользователя в виде недирективных вопросов. Элиза стала одним из первых чат-ботов (тогда их называли «chatterbots») и одним из первых программных средств, способных попытаться пройти тест Тьюринга[12][13].

Вайценбаум создавал программу как эксперимент для изучения коммуникации между человеком и компьютером, и был удивлён тем, что некоторые пользователи, включая его собственную секретаршу, приписывали Элизе человеческие чувства. Это явление впоследствии было названо эффектом Элизы. В ряде публикаций отмечалось, что такие программы могут положительно влиять на людей с психологическими трудностями, а также служить вспомогательным инструментом для психотерапевтов[14]. Тем не менее, несмотря на способность поддерживать диалог, программа не обладала настоящим пониманием, хотя многие ранние пользователи считали её интеллектуальной системой, вопреки доводам самого Вайценбаума[6].

Исходный код оригинальной Элизы долгое время считался утраченным, поскольку публикация программного кода в научных работах тогда практиковалась редко. Позднее исходники на MAD-SLIP были найдены в архивах MIT и опубликованы на различных ресурсах, включая Internet Archive. Этот код представляет исторический интерес, показывая специфику программирования того времени и первые примеры многослойности и абстракций в программном обеспечении[15].

Общие сведения
Элиза
Тип Чат-бот
Автор Джозеф Вайценбаум
Разработчик MIT
Написана на MAD-SLIP
Операционная система CTSS
Первый выпуск 1966
Аппаратная платформа IBM 7094
Лицензия общественное достояние
Сайт elizagen.org

Описание

undefined

Программа Элиза в связке со скриптом DOCTOR имитировала общение, сходное с беседой у недирективного психотерапевта на первом психиатрическом приёме[16]. Эффект «психотерапии» достигался исключительно за счёт заложенных в скрипте DOCTOR шаблонов речи[17]. Элиза анализировала входной текст на наличие ключевых слов, которым назначалось значение и вес, а затем применяла конвертацию ввода в ответ в соответствии с правилами активного скрипта[18]. Тем самым Вайценбаум выбрал именно тему психотерапии, чтобы избежать необходимости снабжать программу знанием о реальном мире[2], позволив ей отражать высказывания пациента и поддерживать иллюзию понимания[2]. В результате некоторые пользователи были убеждены в глубоком интеллекте программы[19].

Название «Элиза» было выбрано Вайценбаумом в честь героини Элиза Дулиттл из пьесы Бернарда Шоу «Пигмалион», ставшей популярной после экранизации в мюзикле «Моя прекрасная леди». Как отмечал Вайценбаум, программа Элиза напоминала свою тёзку благодаря возможности поэтапного совершенствования разными пользователями[18], а Элиза Дулиттл в пьесе тоже училась говорить с «правильным» акцентом[9][20]. При этом, в отличие от сценического персонажа, программа не обучалась речи самостоятельно — для добавления новых шаблонов требовалось редактировать используемый скрипт.

Первоначальная реализация Элизы была написана на языке списков SLIP и позволяла добиваться эффекта «человеческого» общения либо сразу, либо после нескольких реплик в зависимости от сценария[2]. Некоторые пользователи настолько вовлекались в диалог, что забывали о компьютерной природе собеседника и даже просили оставить их наедине с программой. Сам Вайценбаум отмечал, что даже кратковременный контакт с простой программой может вызвать у людей сильное ощущение одушевлённости за машиной[2].

В 1966 году интерактивная работа с компьютером (через телетайп) была в новинку, до массового распространения ПК оставалось более 10 лет, а первые примеры обработки естественного языка в интернете появились лишь спустя три десятилетия. Несмотря на все последующие достижения, Элиза осталась в истории как первая попытка имитировать «настоящее» человеческое общение между человеком и машиной[21].

На Международной конференции по компьютерным коммуникациям 1972 года был проведён показательный диалог Элизы с другой ранней нейросетевой программой — PARRY — где Элиза играла роль врача, а PARRY симулировал пациента с шизофренией[22].

Разработка и реализация

Вайценбаум реализовал Элизу на языке MAD-SLIP для ОС CTSS на компьютере IBM 7094 с целью дать пользователю возможность общения на естественном языке[23]. Для этого требовалось решить ряд технических задач: распознавание ключевых слов, обнаружение минимального контекста, выбор нужного преобразования, генерация ответа при отсутствии ключевых слов и возможность редактирования скриптов[18]. Так как Элиза не имела встроенного представления о мире, все правила задавались в подключаемом сценарии[6][17].

Обработка ввода всегда начиналась с поиска слова, обозначенного как ключевое в текущем сценарии. Каждому такому слову присваивался приоритет («RANK»), и подбиралось правило для слова с наивысшим приоритетом[24]. Далее предложение преобразовывалось согласно предписанному правилу: например, слова «alike» или «same» приводили к ответу «In what way?» («В чём именно?»)[4]. Приоритет ключевых слов позволял игнорировать общеязыковые закономерности и задавать прямое соответствие реплика-ответ.

После определения ключевого слова применялись два типа правил — «декомпозиции» (разделения предложения на части по заданному шаблону) и «сборки» (воссоздания фразы из частей с помощью подготовленных клише)[5][18]. На примере: на ввод «You are very helpful» строился ответ «Что заставляет вас думать, что я очень полезен?» — на основе подстановки части фразу пользователя в шаблон ответа.

Если подходящего ключевого слова не находилось, программа могла выбрать один из стандартных неинформативных ответов («Понимаю», «Продолжайте, пожалуйста»)[18] либо обратиться к блоку памяти, хранившему предыдущие реплики пользователя, чтобы вставить отсылку к ним[25].

Сам принцип сценариев позволял легко редактировать или создавать новые шаблоны «поведения» программы, адаптируя Элизу под различные задачи — включая ту самую DOCTOR (психотерапевт).

Вскоре после публикации работы Вайценбаума была реализована версия на языке Lisp, а позже появились многочисленные переводы на другие языки — в том числе BASIC, ставшие популярными на первых персональных ЭВМ[26][27]. Jeff Shrager написал свой вариант на BASIC, который затем портировали на многие платформы[28].

В 2021 году Jeff Shrager совместно с архивистами MIT обнаружили в архивах Вайценбаума файлы с исходниками MAD-SLIP-версии и разрешением на публикацию кода по лицензии CC0 (общественное достояние). Исходники и дополнительные материалы опубликованы на сайте ELIZAGEN[27]. Эти материалы изучались в рамках проекта программной археологии, объединявшего исследователей из USC, Sussex, Оксфорда и Стэнфорда[29].

В декабре 2024 года инженер Руперт Лейн и команда смогли запустить Элизу из исходного кода, практически полностью восстановив работу на эмуляторе того же CTSS под IBM 7094[30][31][32].

Отдельная версия Элизы присутствует в стандартной поставке GNU Emacs, где для её запуска достаточно набрать команду M-x doctor.

Псевдокод

(По Figure 15.5, Speech and Language Processing, 3-е изд.)

function ELIZA GENERATOR(предложение пользователя) → ответ
   Найти w — слово во фразе с высшим приоритетом
   если w найдено
       r ← правило с наибольшим приоритетом для w
       ответ ← применить преобразование r к предложению
       если w = 'мой'
           будущий_ответ ← применить правило из списка памяти к предложению
           поместить будущий_ответ в очередь памяти
   иначе (нет подходящего ключевого слова)
       либо
           ответ ← применить правило NONE к предложению
       либо
           взять старый ответ из очереди памяти
   Вернуть ответ

Влияние и наследие

Реакция пользователей на Элизу побудила Вайценбаума к написанию книги «Computer Power and Human Reason», где он подчёркивал границы возможностей компьютеров и полемизировал с антропоморфизацией машин[33]. В фильме-документалке «Plug & Pray» (2010) Вайценбаум отмечал, что только неверно понявшие его программу называли Элизу революцией[34].

Поэт и писатель Дэвид Авидан, интересовавшийся технологией и искусством, публиковал диалоги с версией Элизы на APL — как на английском, так и в собственном переводе на иврит — под названием «Мой электронный психиатр. Восемь подлинных бесед с компьютером», называя такую литературу примером письменных ограничений[35].

На основе Элизы создано множество программ на разных языках; для MS-DOS некоторые звуковые платы Sound Blaster поставлялись с «Dr. Sbaitso» (аналог DOCTOR-сценария). Были и пародийно-религиозные версии (например, с образом Иисуса), а игра «The Prisoner» для Apple II использовала подобную механику. В 1988 году британский художник Брайан Реффин Смит сделал два арт-бота для выставки «Саламандра» во Франции, имитировавших диалог «Критика» и «Художника» на Amiga 1000 (программы отличались только именем). В Emacs раньше существовала команда psychoanalyze-pinhead, устраивавшая разговор между Элизой и персонажем Zippy (удалена из-за авторских прав, но DOCTOR-бот остался)[36].

Элиза стала важным культурным явлением и вдохновляет исследователей в области искусственного интеллекта. В 2012 году в Гарварде была показана выставка «Go Ask A.L.I.C.E.», посвящённая взаимодействию компьютеров и людей и ведущая истоки к Элизе[1].

В 2021 году программа получила награду Peabody Awards в категории «Наследие», а в 2023 году исследование показало, что Элиза смогла опередить GPT-3.5 (OpenAI) по результатам теста Тьюринга, хотя проиграла GPT-4 и человеку[37].

Эффект Элизы

Название эффекта Элизы произошло от программы Элиза и впервые было определено в книге Дугласа Хофштадтера «Fluid Concepts and Creative Analogies»[38] как тенденция приписывать компьютерным программам осмысленность и способность делать аналогии.

Этот эффект может приводить к неверным и даже опасным представлениям о возможностях чат-ботов. Пользователи, особенно дети, зачастую легко склонны воспринимать таких «собеседников» как реально понимающих их, что ведёт к переоценке достоверности ответов машины.

См. также

Примечания

Литература

  • Norvig, Peter. ELIZA: Paradigms of Artificial Intelligence Programming. — Morgan Kaufmann Publishers, 1992. — P. 151–154, 159, 163–169, 175, 181. — ISBN 1-55860-191-0.
  • Wardrip-Fruin, Noah. Expressive Processing: Digital Fictions, Computer Games, and Software Studies. — MIT Press, 2014. — P. 24–36. — ISBN 978-0262517539.
  • Weizenbaum, Joseph. Computer power and human reason: from judgment to calculation. — W. H. Freeman and Company, 1976. — ISBN 0-7167-0463-3.
  • Whitby, Blay. Machines and Thought: The Legacy of Alan Turing / Millican, Peter ; Clark, Andy. — Oxford University Press, 1996. — Vol. 1. — P. 53–62. — ISBN 0-19-823876-2.

Ссылки