Цифровой помощник включает в себя механизм переформулирования, который может научиться исправлять ответы в режиме реального времени на основе взаимодействия с клиентами.

Недавно я начал новый информационный бюллетень, посвященный образованию в области искусственного интеллекта. TheSequence - это информационный бюллетень, ориентированный на искусственный интеллект (то есть без рекламы, без новостей и т. Д.), На чтение которого уходит 5 минут. Наша цель - держать вас в курсе проектов, исследовательских работ и концепций машинного обучения. Пожалуйста, попробуйте, подписавшись ниже:



Цифровые помощники, такие как Alexa, Siri, Cortana или Google Assistant, являются одними из лучших примеров массового внедрения технологий искусственного интеллекта (AI). Эти помощники становятся все более распространенными и решают новые задачи, специфичные для предметной области, что делает обслуживание их основного ИИ особенно сложным. Традиционный подход к созданию цифрового помощника основан на методах понимания естественного языка (NLU) и автоматического распознавания речи (ASR), основанных на аннотированных наборах данных. Недавно команда Amazon Alexa опубликовала документ, в котором предлагается метод самообучения, позволяющий Alexa исправлять ошибки при взаимодействии с пользователями.

Быстрая эволюция языковых и речевых методов искусственного интеллекта сделала обещания о цифровых помощниках реальностью. Эти методы ИИ стали обычным компонентом любой инфраструктуры глубокого обучения, позволяя любому разработчику создавать довольно сложные диалоговые агенты. Однако при работе в масштабе цифрового помощника, такого как Alexa, возникают совсем другие проблемы. Как правило, точность моделей машинного обучения в этих диалоговых агентах повышается путем ручной расшифровки

и аннотирование данных. Однако эта задача становится невероятно дорогой и требует много времени, когда вам нужно реализовать ее в разных доменах и задачах. В результате исследователи ИИ начали изучать такие методы, как полууправляемое обучение или обучение с подкреплением, чтобы улучшить процессы переподготовки разговорных агентов. Команда Alexa решила пойти немного в другом направлении, используя не очень известную дисциплину глубокого обучения.

Самообучение и Алекса

Самообучение - это один из тех перегруженных терминов в области глубокого обучения. Концептуально самообучение относится к системам, которые могут автоматически учиться на взаимодействии с окружающей их средой, иногда без внешнего сигнала вознаграждения. Исходя из этого общего определения, неудивительно, что люди часто смешивают самообучение с аналогичными дисциплинами, такими как обучение без учителя или обучение с подкреплением. Чтобы избежать споров о терминологии, я бы предпочел объяснить, как самообучение связано с опытом работы с Alexa.

Ключевая идея внедрения самообучения в Alexa заключается в создании предлагаемой архитектуры, которая автоматически обнаруживает ошибки, генерирует переформулировки и развертывает исправления в системе времени выполнения для исправления различных типов ошибок, возникающих в различных компонентах системы. Рассмотрим пример высказывания «играй майора и драконов». Теперь, без изменения формулировки, Алекса неизбежно дала бы ответ: «Извините, я не смог найти майора и драконов». Некоторые клиенты сдаются на этом этапе, в то время как другие могут попытаться лучше сформулировать для Alexa, чтобы их понять: «играйте, представьте драконов». Эти изменения в реальном времени можно использовать для переобучения Alexa, чтобы улучшить взаимодействие в будущем.

Поглощающие цепи Маркова

Чтобы создать механизм переформулирования в реальном времени, команда Alexa использовала хорошо зарекомендовавший себя метод машинного обучения, известный как цепи Маркова. Цепь Маркова моделирует динамическую систему как последовательность состояний, каждое из которых имеет определенную вероятность перехода в любое из нескольких других состояний. Часто цепи Маркова на самом деле не являются цепями; последовательности состояний могут разветвляться, образуя более сложные сети переходов. Самообучающийся движок Alexa основан на разновидности этого метода, известной как поглощающие цепи Маркова (AMC).

Концептуально AMC - это цепи Маркова с двумя отличительными свойствами:

1) Имеет конечное состояние, с нулевой вероятностью перехода в любое другое.

2) Конечное состояние доступно из любого другого состояния системы.

Самообучающийся движок Alexa моделирует последовательности перефразированных запросов как поглощающие цепи Маркова. Есть два захватывающих состояния: успех и неудача, и наша система определяет их по множеству подсказок. Например, если клиент говорит «Алекса, остановись» и больше не отправляет запросов, или если Алекса возвращает общий ответ об ошибке, такой как «Извините, я не знаю этого», состояние поглощения считается ошибкой. Если, с другой стороны, последний запрос состоит в том, чтобы воспроизвести песню, которой затем разрешено играть в течение значительного количества времени, состояние поглощения считается успешным. Эти принципы показаны на следующей диаграмме. Поглощающие состояния представлены галочкой успеха или неудачей (X), в то время как высказывание клиента (u0, u1, u2) переводится в соответствующие состояния в цепочке (h0, h1, h2).

Первым шагом в самообучающемся алгоритме переформулирования Alexa является создание AMC с использованием миллионов взаимодействий с клиентами. Следующим шагом является вычисление частоты, с которой любое данное состояние будет следовать за любым другим во всех поглощающих цепях Маркова. В примере слева, например, h0 с вероятностью 25% может сопровождаться каждым из h0, h1, h3 и поглощающим состоянием отказа. Результатом этого процесса является новая цепь Маркова, в которой вероятности перехода между состояниями определяются частотой, с которой данное состояние следует за другим в наших данных.

Имея агрегированный AMC, самообучающейся модели просто необходимо определить путь, который с наибольшей вероятностью ведет к состоянию успеха. Предпоследнее состояние в пути - то, которое находится прямо перед состоянием успеха - это то состояние, которое система должна использовать для перезаписи первого состояния в пути. В приведенном выше примере, например, система научится перезаписывать h0, h1 и h3, все из которых неверно интерпретируют клиента как сказавшего «прилепите меня», на h2 (AlbumName = «Гадкий я»).

Чтобы включить самообучающийся механизм переформулирования в систему Alexa, команда использовала очень простую архитектуру. Диалоговая система AI Alexa следует довольно хорошо зарекомендовавшей себя архитектурной схеме облачных цифровых голосовых помощников, состоящей из систем ASR, NLU со встроенным диспетчером диалогов и системы преобразования текста в речь (TTS). В этой архитектуре команда добавила самообучающийся механизм переформулирования, который сначала перехватывает высказывание, передаваемое в систему NLU, и перезаписывает его с помощью нашего механизма переформулирования. После этого механизм передает перезапись исходного высказывания обратно в NLU для интерпретации, восстанавливая исходный поток данных. Механизм переформулирования, по сути, реализует довольно легкую архитектуру микросервисов, которая инкапсулирует доступ к высокопроизводительной базе данных с малой задержкой, которая запрашивается с исходным высказыванием для получения соответствующего кандидата на перезапись.

Несмотря на то, что документ, описывающий самообучающуюся модель Alexa, был только что опубликован, система находилась в разработке более года и исправляла несколько миллионов запросов в неделю. По оценкам команды Alexa, за этот период модель самообучения снизила трение клиентов более чем на 30%. Конечно, идея самообучающихся агентов переформулирования может стать важным компонентом диалоговых агентов для исправления ошибок, не полагаясь на вмешательство человека. Мы должны ожидать дальнейших инноваций в этой области в ближайшем будущем.