Журнал «Компьютерра» № 15 от 17 апреля 2007 года - Компьютерра. Страница 11
И эту способность, — одним из первых! — Гофман рассмотрел в науке. Образы зловещих спектроскопистов, мрачных Продавцов барометров, заменившие колдунов. Сама эстетика Гофмана, эстетика романтизма. Не вырвавшийся на волю субъективизм, но объективное отображение как неоднозначностей человеческой души, так и общества, в котором рационалистические надежды Века Просвещения обернулись гильотиной и мясорубкой наполеоновских войн.
ТЕХНОЛОГИИ: Эволюция болтунов
Автор: Родион Насакин
Сегодня трудно найти интернет-пользователя, который ни разу не пробовал общаться с программой-собеседником. Соответствующие боты прочно обосновались на многих развлекательных сайтах, да и в 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 чат-бота, одного из героев картины. Кису можно закачать себе на компьютер, просто сохранив веб-страницу. Правда, в этом случае она неминуемо устареет, так как онлайн-вариант постоянно самообучается.