Недавно мы посоветовали правительственной организации понять, почему их агент интерактивного голосового ответа (IVR) не смог выполнить тот или иной запрос пользователя.

У этой организации есть самообслуживаемое диалоговое приложение, которое позволяет клиентам управлять своими водительскими правами, вкладками транспортных средств и профессиональными лицензиями и обновлять их. Однако, когда пользователи заявляли: «Я хочу продлить лицензию», бот всегда отображал сообщение о том, что он не понял высказывание.

Здесь у нас было два непонятных вопроса:

  • К какому Намерению («Водительские права», «Вкладка« Транспортное средство »или« Профессиональные права ») вы добавляете высказывание?
  • Почему система возвращает «Нет совпадений», несмотря на то, что в нашей языковой модели было «продлить мои водительские права», «обновить мой номерной знак» и «обновить мои права на недвижимость»?

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

Что такое показатель уверенности?

Оценка уверенности - это число от 0 до 1, которое представляет вероятность того, что результат модели машинного обучения верен и удовлетворит запрос пользователя.

Выходные данные всех систем машинного обучения (ML) состоят из одного или нескольких прогнозов. Например, YouTube ML предскажет, какие видео вы хотите посмотреть следующим; Uber ML предсказывает расчетное время прибытия (расчетное время прибытия) для поездки.

У каждого прогноза есть оценка достоверности. Чем выше оценка, тем более уверенно ML в том, что прогноз удовлетворит запрос пользователя.

Разбивка Microsoft значения показателя уверенности для разговорного ИИ можно разделить на следующие категории:

  • Более 0,7: прогноз является сильным кандидатом для ответа на запрос пользователя.
  • Между 0,3 и 0,7: прогноз может частично ответить на запрос.
  • Ниже 0,3: прогноз, вероятно, не лучший выбор.

Показатели уверенности являются результатом обучения модели машинного обучения.

Показатели уверенности в разговорном ИИ

В разговорном ИИ машинное обучение играет важную роль на многих этапах обработки пользовательского запроса:

  • Во время понимания естественного языка (NLU): ML помогает предсказать намерение (которое представляет то, что ищет пользователь) на основе высказывания (того, что пользователь сказал или набрал).
  • Во время автоматического распознавания речи (ASR): ML предсказывает транскрипцию из звука того, что сказал пользователь.
  • Во время анализа настроений или эмоций: ML прогнозирует настроения (обычно как положительные, отрицательные или нейтральные) или эмоции на основе высказываний пользователя или разговора (между пользователем и агентом).
  • Во время генерации естественного языка (NLG): ML предскажет, на что ответить, исходя из высказывания пользователя.
  • Во время преобразования текста в речь (TTS): ML предсказывает звук из текста ответа на NLG.

Как упоминалось выше, у каждого прогноза будет оценка достоверности.

Одним из следствий такого интенсивного использования ML является то, что для голосовых приложений прогнозируемое намерение объединяет оценки достоверности этапов ASR и NLU. Сложный риск неправильной интерпретации представляет собой большой риск для дизайнеров бесед, когда они предполагают, что прогнозы всегда верны.

Почему доверительные интервалы важны для дизайнеров бесед

В нашем примере с государственной организацией, когда пользователь сказал: «Я хочу продлить лицензию», бот ответил: «Извините, мы не можем с этим помочь. Вам нужна информация о водительских правах, сведениях о транспортных средствах или профессиональных лицензиях? »

Первая реакция часто заключается в том, что виновато отсутствие обучающих данных и добавление высказывания в одно из трех наших намерений. Поскольку все наши три намерения - водительские права, вкладка «Транспортное средство» и профессиональные права - могут содержать это высказывание, этот вариант был недоступен для нас.

Отсутствие соответствия было подозрительным, потому что даже если ML не выполняет сопоставление ключевых слов, продление лицензии было очень близко к некоторым существующим высказываниям в языковой модели. Например, «продлить водительское удостоверение», «продлить лицензию архитектора» или «обновить мой номерной знак».

Мы решили выяснить, что понимает система.

Команда использовала Google Dialogflow в качестве движка NLU с Phone Gateway для канала в этом проекте. Одним из ключевых преимуществ отладки является то, что в консоли Dialogflow вы можете визуализировать разбивку результатов API во время тестирования, которая показывает все детали результатов машинного обучения.

Мы поняли, что когда пользователь сказал «продлить мою лицензию», ML предсказал «Нет совпадения» с оценкой 0,8. В результате мы обнаружили, что в настройках агента есть параметр, называемый порог классификации (в разделе ML).

Эта документация утверждает, что машина предсказывает несколько намерений. Он вернет Нет совпадения, если намерение с наивысшей степенью достоверности ниже порогового значения.

Мы наконец выяснили, что ML на самом деле соответствует одному из намерений, но порог скрывает это. Мы обнаружили это, снизив порог достоверности.

Чтобы обеспечить лучший ответ в случае отсутствия соответствия, когда показатель достоверности соответствует пороговому значению (например, показатель достоверности и порог равны 0,8), мы добавили дополнительную логику для изменения ответа на этот вопрос.

Теперь вместо «извините, мы не можем с этим помочь. Вам нужна информация о водительских правах, вкладках транспортных средств или профессиональных лицензиях? », агент отвечает:« Водительское удостоверение, вкладки транспортных средств или профессиональные? ».

Мы часто слышим, что «чат-боты не работают» или «Я спросил Алексу, и она не знает».

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

Теперь мы знаем, что ответ "Нет совпадения" имеет следующие причины:

  • ML не предсказал намерение: в этой ситуации вы можете протестировать добавление дополнительных обучающих данных.
  • ML предсказал намерение, но какое-то базовое правило не позволяет уловить совпадающее намерение: вам нужно покопаться в настройках инструмента или платформы, чтобы определить, не вызывает ли правило неожиданную проблему.

Как разработчики бесед могут получить доступ к оценкам уверенности

Вам может быть интересно, может ли используемый нами процесс делать что-то в Conversation Designer? Ответ положительный.

Ниже мы показываем (не исчерпывающий) список стандартных инструментов / платформ и способы доступа к информации о показателях уверенности.

Консоль разработчика Alexa

Alexa не показывает фактический показатель уверенности, но предоставляет две полезные точки данных для отладки проблем NLU.

  • Первый - профилировщик высказываний: когда вы смотрите на свои намерения в консоли, вы можете нажать Оценить модель, чтобы получить к нему доступ.
  • Второй - Журнал устройства: если вы создаете собственный навык, в журнале устройства вы увидите рассмотренные намерения. Полезно найти конкурирующие намерения и понять, почему приложение ведет себя определенным образом.

Google Dialogflow

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

Мы бы порекомендовали дизайнерам беседы знать, что:

Раса X

Rasa позволяет полностью контролировать процесс разговорного ИИ. Одна из замечательных функций - возможность просматривать разговоры.

Интерфейс обеспечивает полную разбивку всех показателей уверенности и информации о машинном обучении во время разговоров между пользователями и ботом.

Все остальные инструменты

Мы не можем перечислить все доступные настройки, но для инструмента, который вы используете, вы можете сделать следующее:

  • Обратитесь к разработчику инструмента и спросите его, есть ли у него какие-либо параметры для оценки уверенности, о которых вам следует знать.
  • Спросите разработчиков в вашей команде, знают ли они или могут ли они заняться исследованием.
  • Обратитесь к Глобальному сообществу Slack Voice Tech :)

Использование показателей уверенности в CxD

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

Если вы хотите узнать больше, вы можете присоединиться к нашему Курсу ACXD, чтобы узнать о наших стратегиях проектирования с учетом двусмысленности.

Если вам понравилась эта история, пожалуйста, дайте нам несколько хлопков 👏.

Мы хотели бы услышать ваш собственный опыт с оценками достоверности и оптимизацией языковой модели в качестве дизайнеров разговоров в комментариях!