То, как алгоритм производит ранжирование, позволяет ему учиться на собственных ошибках по восходящей схеме и уточнять свои параметры – как бы подкручивать регуляторы настройки своих функций. Тонкость заключается в том, чтобы определить такие оптимальные положения регуляторов, которые позволяют найти правильный ответ в максимальном количестве разных контекстов. Представьте себе вопрос: «С какой страной у Чили самая протяженная сухопутная граница?» Границы с Чили есть у двух стран – Аргентины и Боливии. Как бы вы ранжировали эти два потенциальных ответа? Можно решить присвоить более высокий рейтинг тому варианту, который чаще упоминается. В этом случае более высоко будет оценена Боливия, потому что между Чили и Боливией возникало много споров о границах и о них сообщалось в новостях. Но если рассмотреть материалы, больше связанные с географией, и подсчитать упоминания каждой из этих стран в таких документах, то более высокий рейтинг окажется у Аргентины, что на самом деле и соответствует правильному ответу.
Когда Дженнингсу объяснили, как работает Watson, он был чрезвычайно поражен. «Оказалось, что методика, которую компьютер применяет для расшифровки заданий Jeopardy! в точности совпадает с моей», – сказал он. Дженнингс выделяет в задании ключевые слова, а потом выискивает в своей памяти (Watson имел в своем распоряжении 15-терабайтную базу данных человеческих знаний) кластеры ассоциаций с этими словами. Затем он тщательно рассматривает главных претендентов на роль правильного ответа в свете всей контекстуальной информации, какую только может собрать: содержащиеся в задании намеки на время, место, пол, тематическую область – например, спорт, литературу или политику. «У человека, играющего в Jeopardy! все это происходит мгновенно и интуитивно, но я уверен, что за кадром мой мозг делает более или менее то же самое».
Зачем IBM понадобилось проделывать всю эту работу? Победы в играх могут показаться целью довольно бессмысленной, но для компаний, подобных IBM и DeepMind, они служат очень ясным показателем успеха. В игре можно либо выиграть, либо проиграть. Тут не может быть никакой неоднозначности. Игры служат великолепной рекламой для компании, стремящейся продавать свою продукцию, потому что все обожают напряжение поединка между человеком и машиной. Это своего рода подиум для алгоритмов, на котором компания может похвастаться своими алгоритмическими талантами.
Алгоритм Watson компании IBM уже изменил наши представления о том, на что способны компьютеры: он победил лучших игроков в Jeopardy! а теперь используется для постановки медицинских диагнозов. Что отличает Watson? Что в нем особенного? Большое преимущество Watson состоит в способности разбираться в неструктурированных данных. Мы обучаем этому алгоритм. Кроме того, просто беспорядочно загружая в Watson текст, люди на самом деле формируют систему, которая может понять, что в этом тексте важнее и достовернее всего. Перед выступлением в Jeopardy! Watson загрузил в себя все содержимое Википедии и сохранил эти данные на своих носителях. Люди могут сказать алгоритму, что один источник информации достовернее другого. Такой переход от жесткого планирования к обучению – одна из причин, по которым IBM называет эту деятельность когнитивной информатикой[106].
В будущем мы будем меньше полагаться на механические вычисления и больше – на взаимодействие и обучение. Система достаточно умна, чтобы понимать, что небольшое количество дополнительной информации может позволить ей отбросить один из ответов или повысить уверенность в одном из тех ответов, которые она уже предлагает. Когда Watson в одном из своих нынешних приложений сталкивается с трудным вопросом, он выдает набор возможных ответов – но также может и задавать уточняющие вопросы. Системы вопросов и ответов по большей части запрограммированы на работу с вопросами определенных типов – получить от них ответ можно только в том случае, когда им задают вопросы определенного рода, сформулированные определенным образом. Watson работает с произвольными вопросами по общей эрудиции, то есть о чем угодно. Используя технологии обработки естественного языка, он разбирает введенные в него слова, чтобы понять, о чем на самом деле задан вопрос, даже если он был задан в необычной форме.
Компания IBM даже опубликовала очень полезные «Вопросы и ответы» об алгоритме Watson и своем проекте DeepQA, основной технологии, которую Watson использует для выработки гипотез. Все это больше всего напоминает компьютер из «Звездного пути». Эту вымышленную компьютерную систему можно считать интерактивным диалоговым агентом, способным отвечать на вопросы и выдавать точную информацию по любой теме.
В школе мне тяжело давались иностранные языки. Я все еще помню, как прочитал в «Автостопом по Галактике» о вавилонской рыбке – существе, похожем на маленькую желтую пиявку, которое нужно было засунуть в ухо. Там рыбка питалась мозговыми волнами и моментально переводила своему носителю все, что говорилось вокруг него на любом языке. Вот это была бы полезная штука! Как часто бывает, вчерашняя фантастика уже стала сегодняшней научной реальностью. Недавно компания Google объявила о создании наушников Pixel Buds, которые делают именно то, о чем писал Дуглас Адамс.
Поскольку входящая информация представляет собой правильно построенное предложение, можно подумать, что работа по языковому анализу уже выполнена и остается только перевести отдельные слова. Но простая замена слов одного языка на слова другого часто приводит к возникновению поразительной мешанины. Возьмем, например, следующую цитату из «Госпожи Бовари»: La parole humaine est comme un chaudron fêlé où nous battons des mélodies à faire danser les ours, quand on voudrait attendrir les étoiles. Если я возьму свой франко-английский словарь и переведу последовательно каждое слово (при этом, правда, приходится кое-что выбирать, потому что для каждого слова словарь предлагает несколько возможных вариантов перевода), я получу вот что: The speech human is like a cauldron cracked where we fight of the melodies to make to dance the bears, when one would like to tenderise the stars [ «Речь человеческая похожа на чан треснутый, где мы бьем мелодий, чтобы заставить танцевать медведей, когда мы хотели бы размягчить звезды»][107]. Это, как мне кажется, не совсем то, что хотел сказать Флобер. Тут важно чувствовать, как функционирует язык. Увидев, что слово battons стоит близко к слову mélodies, можно попробовать изменить перевод bat-tons – сказать не fight [ «бьем»], а beat [ «отбиваем»] и, может быть, даже добавить the rhythm [ «ритм»]. Но и после этого у нас остается нерешенным вопрос о том, что значит tenderise [ «размягчить»] звезды.
Качественный переводческий алгоритм должен хорошо чувствовать, какие слова с большой вероятностью могут появляться вместе. Я помню, как замечательно мы развлекались с моим лучшим университетским другом, который учил персидский язык. Когда я заглядывал в его персидско-английский словарь, казалось, что у каждого слова есть по меньшей мере три совершенно разных значения и одно из них связано с сексом. Мы провели массу времени, придумывая самые сумасшедшие переводы одного и того же предложения по-персидски.
Современные переводческие алгоритмы опираются на основополагающую математическую форму языка. Оказывается, слова языка можно представить в виде точек в многомерном геометрическом пространстве, а затем соединить прямыми слова, между которыми существуют структурные связи. Например, тот факт, что слово «мужчина» соотносится со словом «король» так же, как слово «женщина» со словом «королева», означает в математическом выражении, что прямые, проведенные между словами каждой из этих пар, оказываются параллельными и однонаправленными. В итоге получается фигура, похожая на многомерный кристалл. Интересно отметить, что формы кристаллов французского и английского языков очень похожи, так что остается только сообразить, как сопоставить их друг с другом.
Я ввел ту же строчку из «Госпожи Бовари» Флобера в Google Translate, чтобы посмотреть, насколько этой программе удастся уловить ее смысл. Получилось вполне правдоподобно: The human word is like a cracked cauldron where we beat melodies to make the bears dance, when we want to soften the stars [ «Человеческое слово похоже на потрескавшийся чан, где мы отбиваем мелодии, чтобы заставить танцевать медведей, когда мы хотим смягчить звезды»]. Слово soften [ «смягчить»] явно уместнее, чем tenderise [ «размягчить»], но все равно кажется не вполне точным. Обратившись к переводу романа, вышедшему в издательстве Оксфордского университета (и выполненному по старинке человеком – в данном случае Маргарет Молдон), я нашел в нем следующее: Human speech is like a cracked kettle on which we tap crude rhythms for bears to dance to, while we long to make music that will melt the stars [ «Человеческая речь похожа на потрескавшийся котел, на котором мы отбиваем грубые ритмы медвежьих плясок, когда нам хотелось бы растрогать своей музыкой звезды»].
Становится понятно, насколько важно не только выбрать правильное слово, но и уловить чувство, заложенное в предложении. Алгоритмические переводчики все еще отбивают грубые ритмы медвежьих плясок, а человек способен переводить прозу, которая может растрогать звезды. В большинстве случаев грубых ритмов бывает вполне достаточно при условии, что перевод верно передает смысл, если не поэзию, фразы. Об успешности системы Google Translate свидетельствует тот факт, что она поддерживает сейчас 103 языка и переводит более 140 миллиардов слов в день.
Скоро ли люди, занимающиеся письменным и устным переводом, останутся без работы или по меньшей мере будут вынуждены заниматься не созданием собственных текстов, а только исправлением ошибок компьютерного перевода? На самом деле, мне кажется, что такие алгоритмы никогда не сравнятся с уровнем человеческого перевода. Во всяком случае, это произойдет не раньше, чем искусственный интеллект разрешит проблему сознания. Перевод не сводится к механическому переносу с одного языка на другой. Речь идет о переносе из одного разума в другой, и пока у машины нет духа, она не сможет полностью овладеть всеми тонкостями человеческого общения.