Эволюция разума - Курцвейл Рэймонд. Страница 36
Понимание естественной речи, особенно в качестве приложения к автоматическим системам распознавания речи, теперь стало элементом серийной продукции. В то время, когда я писал эту книгу, автоматизированный персональный помощник Сири, установленный на модели айфона 4S, произвел фурор в мире сотовых телефонов. Вы можете спросить или попросить Сири практически обо всем, что должен знать и уметь каждый уважающий себя смартфон, например: «Где здесь поблизости индийский ресторан?», или «Сообщи моей жене, что я уже иду», или «Что думают люди о новом фильме Брэда Питта?» — и практически всегда Сири исполняет поручение. Сири может в некоторой степени поддерживать беседу на общие темы. Если вы спросите ее, в чем заключается смысл жизни, она ответит: «42». Поклонники фильма «Автостопом по галактике» знают, что это «ответ на главный вопрос о жизни, вселенной и всяком таком». На вопросы на знание (включая вопрос о смысле жизни) может ответить описанная ниже программа Wolfram Alpha. Существует уже целый мир «чат-ботов», которые нужны только для того, чтобы болтать. Если вы захотите поболтать с нашим чат-ботом по имени Рамона, зайдите на сайт KurzweilAI.net и кликните по ссылке Chat with Ramona.
Люди иногда жалуются, что Сири не может ответить на некоторые вопросы, но обычно это те же самые люди, что частенько недовольны и человеческим сервисом. Иногда я предлагаю решить вопрос совместными усилиями, и часто результат бывает лучше, чем они ожидали. Эти жалобы напоминают мне анекдот о собаке, которая играет в шахматы. На вопрос недоверчивого зрителя владелец собаки отвечает: «Да, это правда, она умеет играть, но слаба в эндшпиле». Тот факт, что широкая публика имеет возможность общаться со своими карманными компьютерами на разговорном языке, открывает новую эпоху. Очень часто люди недооценивают значение технологии первого поколения из-за ее ограничений. Но через несколько лет, когда технология уже хорошо работает, люди по-прежнему не признают ее значение, поскольку теперь она уже не нова. Поэтому следует сказать, что для продукта первого поколения Сири работает очень хорошо и, очевидно, будет работать еще лучше.
Сири использует технологию распознавания речи на основе иерархических моделей Маркова, разработанную компанией Nuance. Расширения для использования разговорной речи впервые были созданы в рамках проекта CALO [108], финансированного агентством DARPA [109]. Сири снабжена собственной технологией компании Nuance, кроме того, компания предлагает очень похожую технологию под названием Dragon Go [110].
Методы, используемые для понимания разговорной речи, очень напоминают иерархические скрытые модели Маркова, да и сами ИСММ часто применяются для данных приложений. Хотя иногда в подобных системах не указано, что они используют скрытые модели Маркова или иерархические скрытые модели Маркова, математические основы их функционирования практически идентичны. Все эти системы применяют иерархию линейных последовательностей, каждый элемент которых имеет вес, контакты самостоятельно адаптируются, а вся система в целом самостоятельно организуется в процессе обучения. Обычно обучение продолжается постоянно на протяжении всего времени работы системы. Этот подход отражает иерархическую структуру разговорного языка — это естественное восхождение по понятийной иерархической лестнице от звуков к словам и далее к словосочетаниям и сложным речевым построениям. Имеет смысл применять ГА для параметров, контролирующих конкретный алгоритм обучения в таких классах иерархических систем, и находить оптимальные элементы алгоритма.
За последнее десятилетие возникли новые способы создания подобных иерархических структур. В 1984 г. Дуглас Ленат начал реализацию проекта Cyc (от enCYClopedic) с целью разработки правил кодирования «бытовых знаний». Эти правила были организованы в виде сложной иерархической структуры, и каждое правило, опять же, включало в себя линейную последовательность утверждений. Например, одно такое утверждение может информировать, что у собаки есть лицо (морда). Далее Cyc выводит более общее правило о структуре лиц: на лице есть два глаза, нос и рот и т. д. Нам не нужно иметь отдельное правило для описания собачьей морды и отдельное — для кошачьей, но мы, конечно же, можем создать дополнительное правило, описывающее различие между кошачьей и собачьей мордой. В системе также реализуется следственный механизм: если есть правила, утверждающие, что кокер-спаниель — собака, что собака — животное и что животные потребляют пищу, то на вопрос, питается ли кокер-спаниель, система ответит утвердительно. За прошедшие с тех пор три десятилетия были затрачены тысячи человеко-лет трудов и написано и проверено более миллиона таких утверждений. Интересно, что язык, на котором пишут правила для Cyc (его называют CycL), практически идентичен языку ЛИСП.
Тем временем приверженцы альтернативной теории мыслительного процесса считают, что наилучший подход к пониманию разговорной речи и вообще к созданию разумных систем заключается в автоматизированном обучении системы на многочисленных примерах понятий и явлений. Мощный пример системы такого рода — программа-переводчик Google Translate, которая способна переводить с 50 языков на 50 языков. Это подразумевает 2500 направлений перевода, хотя в большинстве пар языков программа не переводит напрямую с первого языка на второй, а переводит сначала с первого языка на английский, а уже с него на второй язык. Это приводит к сокращению числа направлений перевода всего до 98 (и еще небольшого числа языковых пар, в которых перевод осуществляется напрямую). Данная программа перевода не использует грамматических правил, а создает обширные базы данных для всех пар на основе переведенных документов из программного продукта Rosetta stone («Розеттский камень») [111]. Для шести официальных языков ООН [112] Google использует документы ООН, поскольку они всегда публикуются на шести языках. Для других языков применяются другие источники.
Результаты такой работы бывают весьма впечатляющими. DARPA организует ежегодные соревнования для выявления лучших автоматических систем перевода для различных пар языков, и Google Translate часто выигрывает эти соревнования для определенных пар, превосходя системы, напрямую разработанные лингвистами.
За последнее десятилетие было сделано два важных открытия, которые в значительной степени повлияли на развитие систем понимания разговорной речи. Первое имеет отношение к иерархическому строению систем. Несмотря на то что подход Google заключается в поиске ассоциаций между линейными последовательностями слов в разных языках, иерархическая структура языка неизбежно влияет на этот процесс. Системы, применяющие метод иерархического обучения (такие как иерархические скрытые модели Маркова), обеспечивают гораздо более высокую эффективность. Однако создание таких систем — далеко не автоматический процесс. Что верно для людей, которые за один раз осваивают один иерархический уровень понятий, то верно и для компьютеров, так что процессом обучения необходимо тщательно руководить.
Другое открытие заключается в том, что для усвоения основного массива знаний хорошо работают правила, сформулированные людьми. Для перевода коротких фрагментов текста такой подход часто обеспечивает более точный результат. Например, DARPA выше оценило переводы коротких текстов с помощью китайско-русского словаря, основанного на правилах, чем переводы Google Translate. Что же касается других элементов языка, к которым относятся миллионы редких фраз и заключенных в них понятий, тут точность переводов, основанных на правилах, непозволительно низкая. Если построить график точности понимания разговорной речи от количества данных, на которых обучалась система, системы, основанные на правилах, сначала показывают более высокую эффективность, но точность распознавания не поднимается выше 70 %. Напротив, статистические системы достигают точности 90 %, но для этого им нужно «изучить» очень большой массив данных.