Чтобы победить в Jeopardy! нужно понять вопрос, располагать обширной информационной базой и как можно быстрее выбрать из нее наиболее вероятный ответ. Задания, используемые в игре, очень часто содержат двусмысленности, игру слов, каламбуры и обманчивые подсказки, так что даже человеку бывает очень нелегко добраться до смысла вопроса. Из-за неоднозначности вопросов алгоритму почти невозможно добиться стопроцентной точности. Но разработчики из IBM и не гнались за максимальной точностью: они хотели лишь, чтобы их алгоритм был лучше других участников викторины. Хотя кое-кто в IBM считал, что проект, ставящий своей целью победу в такой банальной игре, – пустая трата времени и средств, другие настаивали, что его успешное завершение означало бы качественный скачок в способности машин интерпретировать смысл речи.
Если самым грозным соперником в шахматах был Каспаров, то чемпионами по Jeopardy! были Брэд Раттер и Кен Дженнингс, два игрока с поразительными сериями побед. Дженнингс провел 74 игры подряд без единого поражения, а Раттер заработал за время участия в программах более 4 млн долларов. Оба начинали с участия в школьных и студенческих викторинах, хотя Раттер всегда несколько отставал в учебе. Поскольку обычно в игре Jeopardy! участвуют три человека, два чемпиона согласились сыграть с алгоритмом, разработанным в IBM. Алгоритм этот назвали Watson, но не в честь соратника Шерлока Холмса, а по имени первого генерального директора компании Томаса Дж. Уотсона.
В январе 2011 года Раттер и Дженнингс в течение двух дней отважно сражались с алгоритмом Watson и друг с другом. Съемки пришлось проводить в исследовательской лаборатории IBM в Йорктаун-Хайтс, штат Нью-Йорк, потому что перевезти компьютерное оборудование в телевизионную студию было невозможно. Но, если не считать необычного места проведения викторины, все остальное было организовано как обычно: вопросы задавал обычный ведущий игры Алекс Требек и программа транслировалась по всей стране, так что все могли увидеть, насколько близка победа машин над родом человеческим.
В начале игры люди показали хорошие результаты и в какой-то момент сумели получить преимущество, но в конце концов не смогли противостоять мощи алгоритма IBM. Оказалось, что одного умения хорошо отвечать на вопросы Jeopardy! недостаточно. Викторина требует также некоторого владения теорией игр, так как перед ответом на последний вопрос игроки получают возможность сделать ставки. Это позволяет проигрывающему участнику поставить на кон весь свой выигрыш в надежде удвоить его и победить в игре. Поэтому разработчики приложили некоторые усилия, чтобы Watson мог правильно рассчитывать оптимальный размер ставки, используя все свои математические способности.
В одном аспекте у Watson, как казалось, было незаслуженное преимущество: речь идет о нажатии на кнопку. Когда задается очередной вопрос, право ответить на него получает участник, первым нажавший на кнопку своего зуммера. Изначально предполагалось, что Watson будет не физически нажимать на кнопку, как люди, а выдавать электронный сигнал. Но вскоре стало ясно, что это дало бы программе огромное преимущество, и поэтому был установлен роботизированный «палец», который нужно было привести в действие, чтобы нажать на кнопку. Хотя это несколько замедлило реакцию алгоритма, Watson все равно делал это быстрее, чем люди. Как заметил Дженнингс: «Если вы пытаетесь победить в этой игре, зуммер важнее всего». Проблема в том, что Watson «каждый раз может нажать на кнопку с микросекундной точностью, с минимальными отклонениями или вообще без них. В этом отношении человеческие рефлексы не могут состязаться с компьютерной схемой». Был замешан и элемент везения: некоторые задания на доске приносят так называемое «Удвоение дня». В некоторый момент игры алгоритму посчастливилось выбрать такое удвоение. Игра была в это время приблизительно равной, и, если бы так повезло кому-нибудь из людей, Watson, возможно, мог бы и проиграть.
Хотя Watson победил, он допустил и некоторые примечательные ошибки. Когда участники викторины выбрали категорию «Города США», они получили следующее задание: «Его крупнейший аэропорт назван именем героя Второй мировой войны, а второй по величине – в честь сражения Второй мировой войны». Люди правильно ответили вопросом «Где находится Чикаго?»[103], а Watson выбрал Торонто – город, даже не относящийся к Соединенным Штатам!
«На самом деле мы не поняли, как это произошло, – сказал Дэвид Феруччи, исследователь из IBM, возглавлявший разработку алгоритма Watson. – Вообще есть множество данных, у которых в заголовке сказано “Города США”, а в ответе – страны, европейские города, люди, мэры и так далее. Даже если речь идет об американских городах, мы совершенно не уверены, что именно это – определяющая характеристика». К чести алгоритма, его уверенность в этом ответе была очень низкой (о чем говорила целая строчка вопросительных знаков, вставленных после ответа). Кроме того, при ответе на это задание нужно было выбрать ставку. Watson поставил очень небольшую сумму, что также свидетельствовало о его неуверенности.
На последний вопрос, когда уже было ясно, что Watson одержал победу, Дженнингс ответил: «Брэм Стокер», а потом добавил: «Я лично приветствую наших новых повелителей – компьютеры». Это была отсылка к популярному мему на основе одной из серий телесериала «Симпсоны»[104], которая, в свою очередь, пародировала малобюджетный фильм 1977 года по рассказу Герберта Уэллса «Империя муравьев»[105] (один из персонажей которого произносит аналогичную фразу, капитулируя перед гигантскими насекомыми, угрожающими захватить мир).
Если Watson и понял эту аллюзию, он ничем этого не показал.
Чтобы понять, как работает Watson, лучше всего представить себе обширный ландшафт, по которому всюду разбросаны слова, имена и другие потенциальные ответы. Первой задачей разработчиков из IBM было расположить эти слова в некоем согласованном порядке. Затем нужно было взять каждый вопрос и снабдить его метками потенциального местоположения.
Следует помнить, что речь идет не об обычном трехмерном ландшафте, подобном тому, что вы можете увидеть, выглянув в окно, а о сложном математическом ландшафте, разные измерения которого соответствуют разным свойствам, зависящим от качеств, которыми может обладать то или иное слово. Определение и отбор таких качеств требуют особого искусства. Например, слово может иметь сильные географические или хронологические ассоциации или быть связано с миром искусства или спорта. Разумеется, у него может быть и несколько таких качеств, и в этом случае его положение будет определено по всем соответствующим направлениям. Например, Альберт Эйнштейн, поскольку он играл на скрипке, будет иметь координаты как по оси «ученые», так и по оси «музыканты». Но в измерении ученых его величина должна быть больше, чем в измерении музыкантов. Проанализировав 20 000 образцовых заданий, сотрудники IBM нашли около 2500 разных типов ответов, приблизительно 200 из которых охватывали более 50 % задаваемых вопросов.
Алгоритм Watson проводит анализ, состоящий из четырех этапов. Сначала он разбирает вопрос на части, чтобы получить некоторое представление о том, где может находиться ландшафт возможных ответов. После этого переходит к процессу выработки гипотез, в котором выбирает около 200 возможных ответов в зависимости от местоположения вопроса. Затем он оценивает разные гипотезы, для чего берет эти 200 многомерных точек и сводит их к точкам, лежащим на одной прямой, что приводит к ранжированию возможных ответов в соответствии с некой степенью достоверности этих ответов. Если уровень достоверности превышает определенный порог, алгоритм нажимает на кнопку зуммера и предлагает соответствующий ответ. Все это нужно проделать в течение нескольких секунд – иначе участвующие в игре люди ответят первыми.
Возьмем, например, такое задание:
ТО ЯМА, ТО КАНАВА: Место в Азии, прославившееся ужасным событием в ночь на 20 июня 1756 года.
Этот вопрос получит высокие значения географической и временной координат. Можно предположить, что что-то ужасное произошло 20 июня 1756 года в нескольких местах в Азии. Но слово «яма» в названии категории поможет алгоритму, когда он дойдет до этапа ранжирования разных гипотез. Значит, Калькуттская черная яма получит более высокий рейтинг, чем все остальные места Азии, связанные с этой же датой, и исходя из этого Watson сможет дать правильный ответ.
Встречающиеся в задании слова вроде «писать», «сочинять», «перо» или «опубликованный» уводят в направлении художественного творчества. Например, фраза «Исходно – поэма, написанная Александром Пушкиным» означает, что ответ следует искать в области «писателей». После того как алгоритм выберет 200 кандидатов, процедура ранжирования требует тщательного взвешивания значимости каждого из многих измерений, которые выбрала программа. Нужно найти способ измерить, насколько далек от задания гипотетический ответ. Точное семантическое совпадение с отрывком из Википедии может дать ответу очень высокий рейтинг, но оно должно сочетаться с другими факторами. Взять, к примеру, такое задание: «В 1594 году он стал работать сборщиком налогов в Андалусии». По семантическому соответствию высокие рейтинги получат ответы «Торо» и «Сервантес». Но во временном измерении у Сервантеса будет более высокое значение, потому что годы его жизни, 1547–1616, ближе к 1594 году, чем годы жизни Торо, родившегося в 1817-м.
Авторы алгоритма Watson разработали 50 разных критериев ранжирования. Алгоритм начинает с широкого спектра кандидатов, потому что на этом этапе еще неясно, какой ответ получит рейтинг наиболее вероятного. Поэтому алгоритм предпочитает включить в рассмотрение множество возможных ответов, а потом выбрать из них несколько с самыми высокими рейтингами. Это несколько похоже на выбор гостиницы. Сначала вы берете все гостиницы в том городе или районе, в котором вы собираетесь остановиться. Но потом вы применяете систему ранжирования в зависимости от цен и отзывов, так что в результате может оказаться, что жить имеет смысл не в самой близкой к нужному месту гостинице.