Системам искусственного интеллекта, пытающимся овладеть естественным языком, трудно справиться с неоднозначностью контекста. В конце испытаний, необходимых для получения премии Лёбнера, часто предлагается набор заданий Винограда (названных по имени их автора, стэнфордского профессора), которые очень быстро выявляют чатботов, не способных разобраться в неоднозначностях, присущих языку. Взять хотя бы слово «они» в следующем предложении:
Городские власти отказали демонстрантам в разрешении, потому что они [боялись/хотели] беспорядков.
Выбор между «боялись» и «хотели» явно зависит от того, к кому относится слово «они». Человек сможет разобраться в этой ситуации благодаря пониманию контекста и ранее полученным знаниям, а вот машине сделать это чрезвычайно трудно. Во фразах Винограда используются сложность, богатство и неоднозначность естественного языка.
Вот, например, два задания Винограда, которые получил алгоритм Mitsuku в рамках теста Тьюринга 2017 года:
Я пытался открыть замок ключом, но кто-то засунул в замочную скважину комок жвачки, и я не мог его вытащить. Что я не мог вытащить? Приз не влезает в коричневый чемодан, потому что он слишком маленький. Что слишком маленькое?
Как у нас развивается умение ориентироваться в сложностях языка? Наш человеческий код формируется и настраивается годами вербального взаимодействия с другими людьми. В детстве мы узнаем, как работает язык, на собственном опыте, делаем ошибки, учимся. Позволят ли наконец новые средства машинного обучения научить алгоритмы работать с естественным языком? В интернете имеется гигантский набор данных по примерам употребления языка. Почему же мы не можем просто выпустить алгоритм в интернет, чтобы он научился разбираться в неоднозначностях, заложенных в этих фразах?
Лингвистов поражает, насколько малое количество речи требуется услышать ребенку, чтобы обрести способность понимать других людей и взаимодействовать с ними. Ноам Хомский считает это доказательством того, что способности к языку заложены в нас с рождения. То есть мы не учимся с нуля, а как бы запрограммированы по старомодной нисходящей модели. Если это так, системам машинного обучения будет очень нелегко научиться языку по одной только, хоть и огромной, базе данных языкового употребления.
Один из наиболее впечатляющих примеров работы алгоритмов со сложностями естественного языка появился несколько лет назад, чуть более десятилетия спустя после того, как суперкомпьютеру DeepBlue компании IBM удалось отобрать шахматную корону у тогдашнего чемпиона мира Гарри Каспарова.
В 2011 году внимание IBM привлекли состязания, радикально отличающиеся от шахмат или го: компания решила попытать счастья в американской телевизионной игре Jeopardy!.
Jeopardy! – это, по сути, телевизионная викторина с заданиями на общую эрудицию. Поскольку компьютер может просто найти информацию в Википедии, может показаться, что она мало что может сказать о способностях алгоритма. Но игру в Jeopardy! делает по-настоящему трудной формат заданий. Они формулируются в некотором смысле наоборот: ведущий зачитывает нечто похожее на ответ на вопрос, а участники игры должны назвать вопрос к этому ответу. Например, задание может гласить: «Название этого элемента с атомным номером 27 может входить в названия синей и зеленой красок», а его решением будет вопрос: «Что такое “кобальт”?»
Чтобы победить в Jeopardy! нужно понять вопрос, располагать обширной информационной базой и как можно быстрее выбрать из нее наиболее вероятный ответ. Задания, используемые в игре, очень часто содержат двусмысленности, игру слов, каламбуры и обманчивые подсказки, так что даже человеку бывает очень нелегко добраться до смысла вопроса. Из-за неоднозначности вопросов алгоритму почти невозможно добиться стопроцентной точности. Но разработчики из IBM и не гнались за максимальной точностью: они хотели лишь, чтобы их алгоритм был лучше других участников викторины. Хотя кое-кто в IBM считал, что проект, ставящий своей целью победу в такой банальной игре, – пустая трата времени и средств, другие настаивали, что его успешное завершение означало бы качественный скачок в способности машин интерпретировать смысл речи.