Алексей Андреев
[email protected]
В этом году программа искусственного интеллекта ALICE не только получила первую премию Лебнера за самые «человекоподобные» диалоги, но и смогла заставить одного из судей конкурса принять ее за человека. Сообщая об этом в «Нетоскопе», мы еще не знали, что Ноэл Буш, один из учредителей ALICE AI Foundation, живет на соседней улице в Петербурге и может рассказать нам о своем необычном бизнесе.
История развития диалоговых систем, способных общаться на человеческом языке, чем-то похожа на историю освоения космоса, особенно Луны. Первый бум исследований в этой области искусственного интеллекта приходится на середину 60-х. «Элиза», созданная в 1966 году в МIT и имитирующая диалог путем простого повторения фраз собеседника в форме вопроса, очаровала достаточное количество генералов, чтобы шум вокруг таких программ продолжался еще лет двадцать.
Казалось, еще чуть-чуть получше разбирать предложения, еще чуть-чуть нарастить базы знаний — и компьютеры заговорят как минимум на языке Шекспира. Но годы шли, а ничего, кроме слегка улучшенных версий «Элизы», не получалось. Особенно когда вспоминали тест Тьюринга, придуманный еще в 50-м. Согласно этому тесту, машина считалась бы «разумной», если бы человек, ведущий с ней диалог, не смог бы отличить, кто его собеседник — компьютер или другой человек в соседней комнате. Ничего похожего на такие умные программы адептам искусственного интеллекта так и не удалось создать. Множество дорогостоящих проектов по компьютерной обработке естественного языка были закрыты.
Однако в 90-е годы с появлением Интернета говорящие программы снова начинают мелькать в технологических новостях. Более того, появляются компании, специализирующиеся на продаже таких ботов. И это неудивительно. С помощью Сети роботы стали «ближе к народу», а также получили возможность использовать весь Интернет в качестве своей базы данных.
Но самое интересное — изменилось само отношение к пресловутому тесту. А точнее, не изменилось, а исправилось: ведь в знаменитой статье Тюринга «
Современные интернетчики как раз и общаются на языке машин — достаточно вспомнить ломаный язык и потерянный синтаксис чатов, cтерильные псевдо-диалоги по ICQ без начала и конца, без «здравствуйте» и «до свиданья» — и без реальных собеседников. Обитатель Сети легко может спутать вопрос, брошенный в ICQ, c запросом в поисковую систему. И если ответ будет правильный — возможно, он вообще не будет интересоваться, кто сидел на том конце.
В этой ситуации говорящие программы оказались весьма ко двору. Просто теперь на них стали смотреть более прагматично. Боту вовсе не обязательно во всем подражать человеку, удовлетворяя чисто философский интерес — «может мыслить или не может?». Другое дело, что бот может выполнять некоторые полезные функции — и в этом заменить человека.
Однако и тест Тьюринга не забыт: в конце концов, должно же быть какое-то мерило машинного интеллекта. В 1990 году некто Хью Лебнер, известный борец за легализацию проституции, учредил
Ни одной программе до сих пор так и не удалось обмануть жюри и получить гран-при. Однако
Сообщая об этом в октябре, мы еще не знали, что один из учредителей созданной в этом году
— Как тебя занесло в Россию?
— Я сюда переехал, поскольку мы с Никой решили жениться. До этого я работал в компании Articial Life и жил здесь около года.
— До того, как заняться ботами, ты где-то учился программированию?
— Нет, я изучал музыку. Так что у меня нет академического бэкграунда в компьютерных науках. Однако я давно начал интересоваться искусственным интеллектом в разных ипостасях, и сам писал разные программы. В частности, потратил около года на создание программы, которая помогала бы мне писать музыку. После этого я работал в одном издательстве, участвовал в разработке «справочных столов» (helpdesk — системы поддержки пользователей).
— А при чем тут искусственный интеллект?
— Как и в других областях, необходимость использовать ИИ возникает из практических нужд. В случае «справочных столов» это показалось важным. Тысячи людей ежедневно задают множество различных вопросов. Например, какой-то редактор звонит и говорит — я не знаю, как сделать то-то и то-то в программе MS Word. Люди, которые призваны отвечать на эти вопросы, не всегда могут ответить быстро. В то же время нужное нам знание где-то рядом: в голове эксперта, в какой-то базе данных.
Поэтому я начал интересоваться, существует ли какая-нибудь программа с интерфейсом на естественном языке, которую я мог бы «надстроить» над теми приложениями, которые разрабатывал. Так я узнал о компании Artificial Life. Это был 1998 год, она как раз только появилась, в ней работало всего человек семь. Они искали новых сотрудников на должность, которая называлась «knowledge engineer» (инженер знаний). Я пошел к ним работать. Впоследствии, когда компания стала развиваться, стало больше работы по организации бизнеса, и я в конце концов стал вице-президентом по технологиям.
— Когда компания ALife открыла отделение в России?
— После финансового кризиса 1998 года. В России появилась возможность найти высококлассных специалистов и вообще хороших людей, многие из которых из-за кризиса остались без работы.
— А клиенты в России были у ALife?
— Нет, она даже и не пыталась. В основном фокусировалась на рынках США и Европы, там было несколько крупных клиентов.
— Как я понимаю, и это не помогло?
— Ну, об этом можно прочесть в их официальных пресс-релизах. Они растратили очень много денег, в результате чего пришлось закрыть все отделения компании.
— Странно получается: идея вроде бы очень прибыльная, да и компания небольшая. Почему так получилось?
— Я, видимо, не тот человек, кто может ответить на этот вопрос. Но в общем, у них были довольно высокие цены. Кроме того, данная технология лишь с одной стороны выглядит очень понятной. Но как только начинаешь вдаваться в детали… Например, очень выгодными клиентами, использующими такие системы, могут быть банки. Однако они же — и самые сложные клиенты. Допустим, банк перенесет все свои транзакции в Интернет. В этом случае человек уже не будет ходить в банк и встречать там живого клерка, который скажет ему: «А не хотите ли попробовать наш новый тарифный план?» и тому подобное. То есть исчезнет целая среда персональных контактов…
— Я вообще-то видел в Сети
— Да, конечно, программу-то можно построить любую. Однако неизбежно возникают все эти вопросы, связанные с заменой живого человека на машину. Насколько персонифицированным должно быть это общение? Отпугнет ли оно клиентов, или наоборот, развлечет их? А ведь банки очень беспокоятся о своем имидже.
Еще одна проблема с ботом, говорящем на естественном языке, состоит в том, что такое общение не может быть полностью структурировано. Даже если у тебя сейчас есть готовый список вопросов ко мне, наша дискуссия все равно может пойти по-разному: мы можем перейти к какой-то другой теме, затем вернуться и уточнить что-то, или наоборот, потерять какую-то нить дискуссии… Между тем клиенты хотят быть уверены, что предложенный им бот полностью отвечает поставленным задачам.
Таким образом, продажа ботов — это серьезная проблема. И возможно, то сих пор никто вообще не придумал, как это делать с успехом. Приходится иметь дело с такой странной смесью технологии и психологии. Вот такие проблемы были у ALife.
— Ладно, давай поговорим о том, как ты добрался до ALICE.
— После ухода из ALife я начал искать что-нибудь в той же области «говорящих» программ, которые все еще были для меня интересны. И, конечно, подумал об ALICE, которая побеждала многих ботов, в том числе ботов ALife, в конкурсе Лебнера. Я написал письмо Ричарду Уоллесу, создателю ALICE.
— А для него эти роботы — тоже бизнес?
— Нет, для него это вся жизнь. Он больше ученый, чем бизнесмен. Все началось с того, что он как профессор робототехники работал в Нью-Йорке в одной компании, занимался такими штуками, как «spherical pointing motors».
— Вроде моторов для телескопов?
— Я точно не знаю, для чего. Какой-то проект для Министерства обороны. Суть в том, что моторы, которые могут обеспечивать движение в разных направлениях, связаны с некими визуальными сенсорами и должны отвечать на сигналы от этих сенсоров. Возникает задача распознавания образов во время прохождения сигнала от сенсора к мотору. И одна из больших проблем состоит в том, что если между мотором и сенсорами находится «слишком много компьютера», система не успевает быстро реагировать именно из-за этого промежуточного звена — хотя сами по себе моторы могут работать достаточно быстро. Когда, например, Sony анонсирует робота, который ходит на двух ногах — этого не могло быть двадцать лет назад, хотя сама модель движения была уже давно…
— Ну, видимо это еще связано с тем, что ходьбой человека управляет не один «компьютер», а целая распределенная система…
— Конечно. У человека в локте нет такого компьютера, который раз каждый решает сложные уравнения движения для того, чтобы дать команду, какую мышцу натянуть и какую ослабить. Такая система получилась бы слишком медленной. И в робототехнике существует целая «философия минимализма», которая ставит своей задачей обеспечить как можно более прямую связь между сенсорами и механизмами.
Где-то в 1994-95 годах, когда WWW была еще довольно молодой, Ричард Уоллес создал сайт, через который любой желающий мог видеть мир глазами телеробота и управлять его движениями, кликая мышкой туда-сюда. Потом Уоллес подумал — а почему бы не поместить на этом сайте окошко, где можно было бы вводить и текстовые команды, типа «погляди влево», «погляди вправо». Это, собственно, и было рождением ALICE.
Впоследствии робоглаз куда-то делся, потому что Уоллес заинтересовался собственно диалоговой системой, причем с точки зрения все той же «философии минимализма».
— То есть он исповедует некий собственный подход к ИИ?
— Вообще-то он имеет очень серьезный математический бэкграунд и знает об искусственном интеллекте все, что нужно. Но в то же время из-за своего опыта в робототехнике он смотрит на эти проблемы несколько иначе, будучи заражен «вирусом минимализма». Ты знаком с проектом
— Это где пытаются построить огромный компьютерный мозг, собирая разные утверждения через Интернет?
— Ты имеешь в виду проект, который называется
Поэтому основная идея разработчиков ALICE состоит в том, что все это сложное структурирование знаний, весь этот лингвистический, семантический, онтологический анализ — это нонсенс с точки зрения минимализма, о котором я говорил. Все равно это не работает, не обеспечивает более короткой связи между сенсором и механизмом. Когда я тебя спрашиваю, сколько будет один плюс один, и ты отвечаешь «два» — это не потому, что у тебя в голове включился калькулятор. Ты просто знал, что один плюс один будет два. И ALICE основана на этом простом принципе: есть паттерны и есть определенная реакция при распознавании этих паттернов.
— Фактически как «Элиза»?
— В отличие от классической «Элизы», которая использует встроенный набор из 200 правил диалога, ALICE с самого начала была связана с языком AIML, который позволяет определять для бота новые инструкции.
— Ну, если вспомнить, что «Элиза» пародировала одну из школ психоанализа, то и ALICE, похоже, имеет такой аналог — это нейролингвистическое программирование. Они там тоже не интересуются сложными внутренними мотивами, зато говорят — у тебя есть язык, определяющий твою «карту», и у меня есть мой язык и моя «карта», так что нам осталось только расширить наши «карты» так, чтобы они пересекались…
— Разница, наверное, в том, что НЛП все-таки претендует на некоторое понимание структуры мышления. ALICE на это вообще не претендует: для нее нет никакой структуры мышления, есть только язык сам по себе.
— А на что претендует ALICE Foundation?
— Когда я связался с Уоллесом, он как раз обдумывал идею создания некоммерческой организации, которая помогала бы развивать ALICE как open-source проект. ALICE была выпущена под лицензией GNU GPL, так же как Linux. Идея этой лицензии состоит в том, что кто угодно может получить исходный код, модифицировать и дописывать его, распространять бесплатно или продавать за миллионы долларов. Главное, что от него требуется — это обеспечить такие же возможности для следующих поколений, то есть дать им исходный код и не накладывать никаких ограничений по его модицификации и распространению.
После того, как ALICE выиграла первую премию Лебнера в 2000 году, к ней многие стали проявлять интерес. Появились инвесторы, начались разговоры о коммерческом использовании. Как раз к тому времени до Уоллеса уже дошло, что нужно как-то защитить программное обеспечение, в разработке которого участвовали сотни людей со всего мира — иногда в форме небольших «заплаток», а иногда и переписывая серьезные куски «мозга» ALICE. Самого факта лицензии GNU недостаточно для защиты от кого-нибудь, кто может взять и использовать этот код в своих коммерческих целях с нарушением условий лицензии. Когда я разговаривал с Уоллесом, он упомянул эту проблему, и мы с Никой решили этим заняться. Мы зарегистрировали ALICE AI Foundation сначала в Калифорнии, а потом занялись и регистрацией в качестве некоммерческой организации США.
— Как именно фонд собирается развивать проект ALICE?
— Основная цель, а вернее группа целей — формализовать спецификации AIML. Другая цель — создать «показательную» версию ALICE. Сейчас их существует несколько — на Java, на С, даже на Visual Basic. Необходимо создать одну, которая будет стандартом для коммерческих компаний, которые захотят создать свои версии (более быстрые, с необходимыми им добавлениями).
Еще одна цель — работа с компаниями, которые заинтересованы в сервисах на основе бота ALICE. Если поглядеть на сайт
В общем, цель ALICE AI Foundation — стать своего рода справочным центром. У нас уже есть множество версий AIML и движка ALICE. Для коммерческого использования это не очень хорошо — хотелось бы иметь некие стандарты. Чем, собственно, мы и занимаемся.
— Как я понял, этим проектом интересуются и в России?
— Да, мы приглядываемся к российскому рынку. Ника уже поселила одного бота на паре российских сайтов (
— Кстати, что это за проект русского бота, над которым ты работаешь со школьниками?
— Я читаю курс в Классической гимназии — учу школьников, как писать на AIML и строить боты. В ходе этого курса они сами должны построить бот, который будет говорить и по-русски, и по-английски. В конце учебного года мы собираемся устроить нечто вроде «теста Тьюринга» в гимназии.
— Но как вы разберетесь с русской грамматикой — она же сложнее английской, все эти соответствия рода-числа-падежа. Ведь бота можно отличить от человека по ошибкам?
— Так ведь и люди совершают ошибки. Кстати, в связи с этими тестами у конкурса Лебнера тоже довольно интересная история. Изначально в состав оргкомитета входили многие известные ученые, которые в течение трех лет определяли, какая программа искусственного интеллекта прошла тест, а какая нет. Но в 1996 году Лобнер решил изменить правила: теперь для победы в конкурсе стало необходимо «обмануть» судей не только с помощью текстового диалога, но и с помощью голоса и видео. После этого весь оргкомитет просто подал в отставку, потому что это полностью меняло всю идею теста.
Я к чему это говорю: тест Тьюринга очень часто трактуют неправильно, даже в Лебнеровском конкурсе. Социальный контекст — важная часть теста Тьюринга. Что случается, когда машина заменяет человека в социальном взаимодействии, но люди не знают об этом? Социальный контекст в таком случае может выступить неизменяемой переменной в по-настоящему научном опыте.
— Но все-таки, для выражения знаний необходимо использовать язык более-менее правильно. Когда я, например, учил английский, на котором мы сейчас разговариваем, мне пришлось выучить кое-какие правила грамматики.
— Куда более интересно, что даже не зная грамматики, ты все равно наверняка смог бы со мной общаться! С другой стороны, как я уже говорил, вообще вся история Natural Language Processing — это история провалов. Все проекты, основанные на том, что язык должен быть сначала «разобран», переведен на некоторый искусственный язык, а потом собран снова — они просто не работают.
И потому ALICE просто игнорирует все это. Мозг ALICE содержит около 40 000 различный «категорий», на основе которых происходит распознавание паттернов речи — вот и все. Это позволяет вести вполне приличный диалог на английском, несколько хуже — на немецком и французском. Уже есть итальянская, испанская и даже индонезийская версии. Я слышал о ботах, который говорит на каталонском и других языках. Таким образом, этот минималистский подход работает.
— Получается, что в данном случае все зависит от «опыта» робота, полученного при обучении, а не от его изначальных «умений»?
— В случае ALICE используется и то, и другое. На самом деле, большая проблема всех коммерческих ботов в том, как продемонстрировать клиенту, что бот действительно знает те тысячи вещей, которые он должен знать. Я видел множество очень перспективных проектов, которые накрылись именно потому, что эта процедура не была четко описана.
В случае ALICE метод обучения достаточно прозрачен. Представь себе ребенка, которого ты для начала чему-то научил дома. Потом он приходит из школы и говорит: «Сегодня мне задали вопрос, на который я не смог ответить». И ты снова ему что-то рассказываешь.
Точно так же с ботом ALICE. Для начала в него вкладываются определенные знания — например, о вашем бизнесе. Далее начинается процесс под названием targeting (нацеливание). Это тестирование одновременно с обучением: люди говорят с ботом, а он в случае каких-то проблем сообщает о них специальному человеку (bot master), который отвечает за процесс его обучения. Причем этот рапорт достаточно подробен и может быть использован для немедленной корректировки бота.
Например, нацеливанием главного бота ALICE, который сидит на сайте alicebot.org, занимается сам Ричард Уоллес: просыпается по утрам, открывает программу нацеливания и смотрит, что надо добавить. И добавляет тут же. Такой же способ могут использовать и компании — причем это гораздо лучше встраивается в сценарий управления проектом, чем все прочие методы организации знаний. Потому что обычно создание большой базы знаний требует немедленного решения огромного числа теоретических вопросов о представлении знаний — и тут не обойтись без ошибок, если только не нанять целый штат ученых.
— Возможны ли какие-то качественные скачки в работе искусственного интеллекта с учетом возможностей Интернета?
— Да, одна из интересных возможностей — это связывание ботов друг с другом. Запустив бот ALICE, можно указать ему использовать знания, которые находятся в другом месте — например, в базе данных другого бота. Язык AIML является производной от XML, так что AIML-файлы могут быть также общедоступны через Сеть, как HTML-файлы — надо просто указать боту нужный URL. Так что если у одного человека есть бот, который умеет неплохо болтать о собаках, а у другого — бот, специализирующийся на кошках, то кто-то третий может построить бот, который знает все и о кошках, и о собаках — ему нужно просто указать ссылки на сайты первых двух.
— И в конце концов весь Интернет может быть превращен в базу знаний для одного большого искусственного интеллекта?
— Да, причем это совсем нетрудно сделать. У бота ALICE есть такой полезный механизм, как symbolic reduction. Он дает возможность описать, что один паттерн ссылается на другой, а тот, в свою очередь, на третий. Этот же механизм можно использовать с распределенными AIML-базами. Например, у кого-то есть сайт, который называется «О нашей компании», и содержит описание этой компании. Достаточно вставить в этот HTML-код пару AIML-тэгов — и с учетом symbolic reduction человек, который где-то на другом сайте спрашивает у бота об этой компании, получит в ответ данное описание.
— Получается уже не просто бот, но и умная поисковая система?
— В общем-то да. Еще это похоже на
— Но как это будет работать в реальности? Когда-то и про WWW думали, что она может превратиться в своего рода большую ассоциативную память, если все владельцы сайтов про собак будут ставить ссылки друг на друга, и точно также поступят владельцы сайтов про кошек и т.д. Но в реальности мы имеем скорее рак мозга вроде баннерных сетей.
— Согласен. Я тоже не верю, что Semantic Web будет работать. Хотя, безусловно, породит какие-то интересные концепции и технологии. Проблема в том, что даже сейчас невозможно заставить всех людей писать HTML-код правильно — практически во всех страницах есть элементы, которые используются не так, как предписано.
— И тем не менее, ты работаешь в open-source-проекте, причем ваша организация пытается создать некий общий стандарт для ботов. Невольно возникает аналогия с противостоянием между операционками Microsoft и Linux. Вроде бы открытость кода должна приводить к широкому распространению Linux, однако на деле везде доминирует Microsoft, навязывая всем свои стандарты.
— Я все-таки думаю, что работа ALICE Foundation будет больше похожа на работу
— Последний вопрос: не тяжело ли всем этим заниматься в России? Может, в Бостоне все же было бы проще?
— Наоборот. Сейчас теми вещами, которыми я занимаюсь, в Европе интересуются больше, чем в Америке. А в России я как раз ближе к Европе.
ССЫЛКИ ПО ТЕМЕ |
МАТЕРИАЛЫ ПО ТЕМЕ |