Нетоскоп/Тема/13.12.2001 http://www.netoscope.ru/theme/2001/12/13/4333.html Кто такая ALICE, или Откуда у робота русская грусть Алексей Андреев lexa@spb.cityline.ru 13.12.2001 В этом году программа искусственного интеллекта 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 будет больше похожа на работу
- Последний вопрос: не тяжело ли всем этим заниматься в России? Может, в Бостоне все же было бы проще?
- Наоборот. Сейчас теми вещами, которыми я занимаюсь, в Европе интересуются больше, чем в Америке. А в России я как раз ближе к Европе.
ССЫЛКИ ПО ТЕМЕ |
МАТЕРИАЛЫ ПО ТЕМЕ |
Copyright © 2000-2002 Нетоскоп www.netoscope.ru |