Шрифт:
Интервал:
Закладка:
Если Watson и понял эту аллюзию, он ничем этого не показал.
Как работает 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 разных критериев ранжирования. Алгоритм начинает с широкого спектра кандидатов, потому что на этом этапе еще неясно, какой ответ получит рейтинг наиболее вероятного. Поэтому алгоритм предпочитает включить в рассмотрение множество возможных ответов, а потом выбрать из них несколько с самыми высокими рейтингами. Это несколько похоже на выбор гостиницы. Сначала вы берете все гостиницы в том городе или районе, в котором вы собираетесь остановиться. Но потом вы применяете систему ранжирования в зависимости от цен и отзывов, так что в результате может оказаться, что жить имеет смысл не в самой близкой к нужному месту гостинице.
То, как алгоритм производит ранжирование, позволяет ему учиться на собственных ошибках по восходящей схеме и уточнять свои параметры – как бы подкручивать регуляторы настройки своих функций. Тонкость заключается в том, чтобы определить такие оптимальные положения регуляторов, которые позволяют найти правильный ответ в максимальном количестве разных контекстов. Представьте себе вопрос: «С какой страной у Чили самая протяженная сухопутная граница?» Границы с Чили есть у двух стран – Аргентины и Боливии. Как бы вы ранжировали эти два потенциальных ответа? Можно решить присвоить более высокий рейтинг тому варианту, который чаще упоминается. В этом случае более высоко будет оценена Боливия, потому что между Чили и Боливией возникало много споров о границах и о них сообщалось в новостях. Но если рассмотреть материалы, больше связанные с географией, и подсчитать упоминания каждой из этих стран в таких документах, то более высокий рейтинг окажется у Аргентины, что на самом деле и соответствует правильному ответу.
Когда Дженнингсу объяснили, как работает Watson, он был чрезвычайно поражен. «Оказалось, что методика, которую компьютер применяет для расшифровки заданий Jeopardy! в точности совпадает с моей», – сказал он. Дженнингс выделяет в задании ключевые слова, а потом выискивает в своей памяти (Watson имел в своем распоряжении 15-терабайтную базу данных человеческих знаний) кластеры ассоциаций с этими словами. Затем он тщательно рассматривает главных претендентов на роль правильного ответа в свете всей контекстуальной информации, какую только может собрать: содержащиеся в задании намеки на время, место, пол, тематическую область – например, спорт, литературу или политику. «У человека, играющего в Jeopardy! все это происходит мгновенно и интуитивно, но я уверен, что за кадром мой мозг делает более или менее то же самое».
Зачем IBM понадобилось проделывать всю эту работу? Победы в играх могут показаться целью довольно бессмысленной, но для компаний, подобных IBM и DeepMind, они служат очень ясным показателем успеха. В игре можно либо выиграть, либо проиграть. Тут не может быть никакой неоднозначности. Игры служат великолепной рекламой для компании, стремящейся продавать свою продукцию, потому что все обожают напряжение поединка между человеком и машиной. Это своего рода подиум для алгоритмов, на котором компания может похвастаться своими алгоритмическими талантами.
Алгоритм Watson компании IBM уже изменил наши представления о том, на что способны компьютеры: он победил лучших игроков в Jeopardy! а теперь используется для постановки медицинских диагнозов. Что отличает Watson? Что в нем особенного? Большое преимущество Watson состоит в способности разбираться в неструктурированных данных. Мы обучаем этому алгоритм. Кроме того, просто беспорядочно загружая в Watson текст, люди на самом деле формируют систему, которая может понять, что в этом тексте важнее и достовернее всего. Перед выступлением в Jeopardy! Watson загрузил в себя все содержимое Википедии и сохранил эти данные на своих носителях. Люди могут сказать алгоритму, что один источник информации достовернее другого. Такой переход от жесткого планирования к обучению – одна из причин, по которым IBM называет эту деятельность когнитивной информатикой[106].