ТЕХНОЛОГИИ: Эволюция болтунов

We use cookies. Read the Privacy and Cookie Policy

ТЕХНОЛОГИИ: Эволюция болтунов

Автор: Родион Насакин

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

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

Почин

Бот-писатель

Научить программу адекватно отвечать односложными фразами относительно легко, другое дело — заставить ее писать осмысленные тексты. Меж тем существует и такой софт, в том числе для русского языка. Андрей Макаров написал соответствующую программу Satix еще в 1999 году.

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

Нудная беседа время от времени перемежалась необычными вопросами, которые задавал бот, если в реплике собеседника мелькали ключевые слова, знакомые синтаксическому анализатору. Например, на жалобу «Отец меня ненавидит» Eliza, как истинный психотерапевт, задавала уточняющий вопрос: «Кто еще в семье вас ненавидит?» Понятно, что программа даже не пыталась анализировать смысловое содержание диалогов, ни о каких семантических алгоритмах речи не шло. Слова пользователя интерпретировались исключительно как набор символьных данных. Тем не менее Eliza оказала колоссальное влияние на будущее интерфейсных разработок, впервые продемонстрировав принципиальную возможность обработки естественного языка.

Спустя некоторое время алгоритм программы был задействован в некоторых компьютерных играх, а гораздо позже, в 2000 году, опять же с использованием Элизы, обнаружилась идеальная среда для работы чат-ботов: IM-сети. Началось все с того, что Кевин Фокс написал на Perl бота AOLiza, работающего по тому же алгоритму, что и детище Вейзенбаума, и предоставил ему возможность общаться через интернет-пейджер AIM. Опыт оказался успешным, в том смысле, что многие пользователи IM-сети, привыкшие к «ломаному языку» и случайным собеседникам, очень часто принимали AOLiza за человека и выискивали смысл даже в его самых корявых ответах. После того как Фокс рассказал о своем эксперименте и выложил в открытый доступ первые диалоги, история получила широкую огласку.

Отреагировало даже руководство AOL. Представитель AOL отнесся к разгуливающему по IM-сети чат-боту неодобрительно и заметил, что как только появятся жалобы от собеседников AOLiza, компания незамедлительно примет меры против роботов, подменяющих людей. Появились недовольные или нет, неизвестно, но вскоре Фокс зарегистрировал для своего бота другой аккаунт, а позже выпустил на онлайн-просторы и усовершенствованную версию программы. Его эксперимент тоже оказался достаточно значимым, и сейчас в любой IM-сети жаждет общения куча ботов, многие из которых созданы только для того, чтобы упоминать в разговоре заданный брэнд. Но об этом чуть позже.

Элизу и ее клонов постепенно стали считать наиболее вероятными претендентами на прохождение знаменитого теста Тьюринга, и сейчас порой кажется, что это испытание изначально было задумано для программ такого типа. Но на самом деле Алан Тьюринг впервые изложил идею в одной из статей еще в 1950 году, то есть за шестнадцать лет до появления Элизы. Напомню, что речь идет о тесте на «разумность» компьютера. Экзаменатор переписывается на естественном языке с двумя респондентами, один из которых машина, и старается распознать ее. Если ему это не удается — тест пройден. Ответы должны приходить через фиксированные промежутки времени. Сначала это ограничение было наложено потому, что человек отвечал быстрее, с нынешними компьютерами — наоборот. В основе идеи лежит популярная когда-то салонная игра, в ходе которой аналогичным образом нужно было угадать пол игроков-респондентов.

Кстати, когда при регистрации на том или ином веб-ресурсе нас просят ввести последовательность символов, изображенную на прилагаемой картинке, зачастую в искаженном виде, — это тоже тест Тьюринга, а вернее, CAPTCHA. Completely Automated Public Turing test to tell Computers and Humans Apart — то есть полностью автоматизированный публичный тест Тьюринга для разделения людей и компьютеров. Тест обычно используется, дабы предотвратить автоматическую регистрацию для организации массовых рассылок, скачивания файлов и т. п. Термин появился семь лет назад и является торговой маркой Университета Карнеги-Меллона. Помимо графического, самого распространенного варианта CAPTCHA, существуют другие задачи (например, по распознаванию речи), предназначенные для людей с нарушениями зрения.

Существует и несколько программных решений, позволяющих распознать отдельные реализации CAPTCHA или задействовать человеческий ресурс. Второй случай — «метод леммингов» — заключается в следующем. Боты обращаются за помощью к сайтам с высокой посещаемостью, например с порноконтентом. Программа скачивает картинку с символами и демонстрирует ее пользователю, прося ввести увиденный код. Человек получает доступ к ресурсу, а робот узнает искомую последовательность символов.

Пациент на приеме

В 1972 году психиатр Кеннет Колбай написал еще одного бота — ответ Eliza. Если оригинал копировал поведение психотерапевта, то разработка Колбая — Parry — имитировала стиль общения параноидального шизофреника. Несколько раз Eliza и Parry давали пообщаться друг с другом и один раз даже соединили по ARPAnet (тому самому, который в итоге превратился в Интернет). С тех пор различных ботов «стравливали» неоднократно, и это, пожалуй, даже превратилось в одно из любимых развлечений программистов, создающих подобный софт.

Штампование ботов

Трах-тибидох

Поклонники отечественной кинокомедии «Хоттабыч» разработали на JavaScript чат-бота, одного из героев картины. Кису можно закачать себе на компьютер, просто сохранив веб-страницу. Правда, в этом случае она неминуемо устареет, так как онлайн-вариант постоянно самообучается.

Тьюринг ожидал, что компьютер пройдет тест к 2000 году, так как будет обладать памятью в 1 млрд. бит (119,2 Мбайт) и в процессе пятиминутного испытания сможет обмануть треть судей. Как минимум со сроками он ошибся. Но попытки сдать тест не прекращаются. В частности, каждый год проводится конкурс Лебнера, в рамках которого испытывают наиболее совершенных чат-ботов. Первое и второе места в нем не выигрывались еще ни разу. В первом случае машине-собеседнику нужно убедительно доказать, что она ничем не хуже человека, беседуя с судьями в режиме реального времени по видеосвязи. Во втором — постараться сделать это хотя бы через текстовое общение. Так что денежными премиями в $2000 поощряют просто удачные разработки.

Несмотря на то что в этом соревновании каждый год участвует достаточно много участников, «фаворитов» всего два: Jabberwacky, который завоевал бронзу в 2005 году, и A.L.I.C.E., признававшаяся лучшей три раза — в 2000, 2001 и 2004 году. Название программы — аббревиатура, которая расшифровывается как Artificial Linguistic Internet Computer Entity (можно перевести как «искусственная лингвистическая компьютерная интернет-сущность»).

Ричард Веллес начал работу над программой в 1995 году, а ее совершенствованием (или хотя бы клонированием) многие программисты занимаются по сей день. A.L.I.C.E. была в некотором роде уникальной разработкой. И не только потому, что ее общение многие эксперты считают более всего напоминающим человеческое. Автор опубликовал спецификации AIML — подвида XML, который использовался при создании программы. Язык распространяется под лицензией GNU GPL. Это привлекло людей и позволило создать вокруг проекта целое сообщество программистов, написавших интерпретаторы AIML на всех популярных языках программирования. Наиболее популярен интерпретатор Program D на Java. В результате подавляющее большинство сегодняшних чат-ботов используют базы знаний, разработанные на AIML. При этом многие из них способны к самообучению.

Кстати, в Рунете узнать чат-бота с такими возможностями можно по нецензурным выражениям, которыми он перемежает речь. И по частоте ненормативной лексики у виртуального собеседника можно судить, как давно он общается с отечественной IM-аудиторией. Хотя это общая проблема. Интернет-пользователи охотно учат программы плохому. Так, Уэс Моудс, автор бота «Мимика», четыре года назад даже призвал пользователей отказаться от глупых и нецензурных высказываний.

Одной из самых «талантливых» самообучающихся программ считается бот 20Q.net, расположенный по соответствующему URL. За двадцать вопросов он, по данным разработчика, способен отгадать любое задуманное слово. Поддерживается беседа на 21 языке (причем различаются американский и британский английский), но русского, к сожалению, нет. База данных в ходе таких викторин пополнялась в течение четырнадцати лет, так что программа может похвастать достаточно широкой «эрудицией».

Тем временем ряд поклонников AIML даже вынашивает идею объединения ботов по всему Интернету. Если им удастся достичь поставленной цели, то программы-собеседники, прежде чем признаваться пользователю в своих скудных умственных способностях, не позволяющих интерпретировать реплику, будут обращаться к общей базе данных, непрерывно пополняемой всем «сообществом» ботов в ходе многочисленных диалогов. Поэтому Ричард Веллес всячески поощряет появление ботов-клонов A.L.I.C.E., полагая, что наиболее вероятный путь развития для таких разработок заключается в количественном росте программ.

Коммерциализация в разгаре

Вторая жизнь бота

Программы-собеседники прочно обосновались не только в IM-сетях, но и виртуальной вселенной Second Life. Для создания ботов в этой игре даже разработан подвид языка AIML (Linden Scripting Language).

Одной из первых за применение ботов в бизнес-целях взялась компания NativeMinds, разработавшая софт для обмена сообщениями с пользователями на естественном языке Virtual Representative (vRep). Теперь этой компании уже нет. По-видимому, ее, как и многих других, подкосил инвестиционный кризис 2001 года. Но все ее разработки около трех лет назад были выкуплены Verity за $3,8 млн. и теперь развиваются под крылом этой корпорации. NativeMinds и ее первых ботов многие участники рынка доткомов помнят по сей день, так как продукция компании впервые продемонстрировала возможность использования программ общения с клиентами.

NativeMinds потратила немало усилий, доказывая потенциальным заказчикам, что чат-боты, интегрированные, например, в интернет-магазины, служат эффективным средством упрощения структуры порталов и упрощения доступа для неквалифицированных пользователей, одновременно уменьшая нагрузку на персонал (техподдержку и отдел по работе с клиентами). По данным NativeMinds, виртуальный менеджер имеет ряд неоспоримых преимуществ перед реальным, выдавая полный вежливый ответ на все вопросы 24 часа в сутки 7 дней в неделю. А кроме того, vRep успевал обработать вшестеро больше запросов, придерживался того же стиля общения, что и обратившийся к нему пользователь, и не требовал зарплаты.

В результате одна из самых популярных разработок компании — Neuroserver — была установлена на сайтах Coca-Cola, Oracle, Ford и ряда других именитых корпораций. На сайте NativeMinds имелся собственный виртуальный консультант — Николь, а также созданный в рекламных целях персонаж — тетя Этель, которая среди представителей е-бизнеса была известна не меньше, чем Eliza Вейзенбаума в академической американской тусовке. Вообще, большинство разработок в сфере коммерческих чат-ботов, которые сейчас пользуются относительным успехом, начались в 2000—2001 гг., а некоторые и раньше. Правда, если в то время программы-собеседницы старались интегрировать исключительно в веб-порталы, то сейчас не менее активно они используются для реализации маркетинговых кампаний в IM-сетях.

Шесть лет назад была запущена демо-версия SmarterChild, продукт тогда еще стартапа ActiveBuddy. Позже компания была переименована а Colloquis. Бот-агент в AIM мог поддержать разговор, рассказывая о последних новостях, финансовых сводках и результатах спортивных матчей, а также сообщая точное время и делая прогноз погоды с учетом местоположения собеседника. За год SmaterChild поговорил примерно с 8 млн. пользователей, причем солидная часть аудитории призналась боту в любви. Это был не первый опыт Colloquis в разработке чат-ботов, но на тот момент самый успешный. После того как руководство компании узнало, что SmarterChild превзошел по популярности агента, разработанного для продвижения фильма «Austin Powers in Goldmember» по заказу New Line Cinema, демо-версию убрали из IM-сети. Долгое время пообщаться с известным ботом можно было только на сайте smarterchild.com, но в конце концов «по многочисленным просьбам» программу вернули в AIM.

SmarterChild сделал большую рекламу как самой Colloquis, так и идее виртуальных ассистентов в целом, а спустя некоторое время в свободном доступе появилась среда разработки BuddyScript SDK, в которой была создана программа. Пакет позволяет любому желающему сделать своего пиар-бота. Это не аналог AIML. BuddyScript позволял научить бота не только «говорить», но и выполнять различные задачи — например, набирать телефонный номер или искать товар в складской базе данных. Пакет включает также библиотеки самых частых фрагментов кода, функцию тестирования готового агента и коллекцию готовых ботов. Программы-собеседники, написанные на BuddyScript, поддерживают IM-сети AIM, MSN Messenger и Yahoo Messenger, а также могут работать через электронную почту, WAP и SMS. Правда, AOL требует, чтобы при запуске бота в ее сеть с коммерческими целями ей платили деньги как за предоставление рекламной площадки. Другие корпорации до такого еще не додумались.

Бесплатность самого BuddyScript тоже довольно условна. За онлайн-запуск демо-версии готового скрипта придется выложить $199, а запуск полноценной версии тарифицируется в зависимости от количества разговоров. Альтернативной разработкой Colloquis на сегодняшний день являются уже готовые боты для коммерческих нужд — ASA (automated service agents). В октябре прошлого года Microsoft приобрела Colloquis. Корпорация планирует использовать технологии обработки запросов на естественном языке в веб-сервисах Windows Live Service Agents.

Постепенно боты становятся все более «интеллектуальными». Так, австралийская компания RelevanceNow, которая продвигает сразу несколько проектов, базирующихся на семантическом анализе текста, предлагает компаниям пиар-ботов собственного происхождения. Для настройки виртуального персонажа нужно установить значения по нескольким чертам «характера» — например, степень «жизнерадостности». Самым известным ботом компании стал агент в MSN Messenger, вещающий от лица Джека Воробья. Таким образом, народ завлекали на «Пиратов Карибского моря».

В начале апреля компания запустила альфа-версию сервиса MyCyberTwin, позволяющего создать своего онлайн-двойника, который сможет за хозяина ответить в ICQ и даже запостить текст в блоге, в том числе скопировав фрагменты найденного в Сети текста. При создании такого бота пользователям предлагается пройти психологический тест, дабы обеспечить более полную идентичность или выбрать один из шаблонных типажей. Кроме того, можно пополнять базу вопросов-ответов для своего «двойника».

Русские боты

В России созданием программ-собеседников для коммерческих целей занимается фирма «Наносемантика». Чат-бот в терминологии компании называется инфом и характеризуется как «интерактивное информационное существо, которое живет на сайте клиента, умеет отвечать на вопросы, заданные на естественном языке в рамках определенных тем, а также поддерживает связный диалог».

Как и все более или менее продвинутые программы такого рода, инфы «Наносемантики» умеют в процессе общения повышать осмысленность ответов за счет структурированного накопления диалогов, уточнения и конкретизации тем, создания новых баз знаний и поддерживают подключение к соответствующим базам данных заказчика. Инф умеет не только частично распознавать смысл реплик собеседника, но и задавать уточняющие вопросы. На сайте компании в качестве примеров предлагают пообщаться с развлекательным инфом (общая лексика) по имени Серега, а также Хранителем анекдотов и Настей — кадровым агентом. Также компания предлагает сервисы для общения через SMS, ICQ и поисковые запросы и позиционирует свою продукцию как эмуляторы службы техподдержки и продавца-консультанта.

Пока самой перспективной формой инфов кажутся интерактивные баннеры «Наносемантики», которые отвечают на вопросы пользователей относительно рекламируемой продукции без перехода на сайт продавца.