Принципы и процессы технологии разговорного взаимодействия

Google искусственный интеллект продукт Amazon
Автор | Команда интеллектуального голосового взаимодействия Alibaba
Редактор | Шон
1. Технология разговорного взаимодействия

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

Что такое диалоговое взаимодействие? Сначала начнем с примера. Джарвис, искусственный интеллект дворецкого Железного человека в фильме «Железный человек», может мыслить независимо и может помогать Железному человеку справляться с различными задачами в режиме реального времени, в том числе с вычислением огромных объемов данных. Самое впечатляющее для зрителей то, что Джарвис может общаться устно, как человек, в любое время и в любом месте, чтобы решить проблемы Железного человека.

Джарвис может слушать и говорить, понимать намерения мастера в диалоге в режиме реального времени и вести следующий диалог в соответствии с реальной сценой.Если во время диалога возникает какая-либо двусмысленность, он также спросит Железного человека и попросит его предоставить дополнительную информацию для устранения неоднозначности. . Именно эти возможности Jarvis и должны обеспечивать диалоговые взаимодействия, ядром которых является дизайн VUI (голосовой пользовательский интерфейс). По сравнению с GUI (графическим пользовательским интерфейсом), VUI освобождает руки людей.В некоторых сценариях простая голосовая команда может заменить несколько щелчков мышью/пульт дистанционного управления в графическом интерфейсе, что не только удобно, но и экономит время. Хорошая система VUI позволяет пользователю добиться выполнения задуманного за минимально возможное количество диалогов. Джарвис всегда помогает Железному человеку в трудную минуту, он голосовой помощник с идеальным VUI.

Что ж, не будем слишком углубляться в драму, Джарвис — это виртуальная система в кино. Итак, можем ли мы в реальной жизни создать диалоговую систему взаимодействия, близкую к Джарвису? Как мы можем это сделать? Ну очень жаль, что при нынешнем уровне развития технологий мы все равно не можем быть такими умными, как в кино, не говоря уже о том, чтобы сделать машины сознательными. Но взаимодействие человека с компьютером было изобретено не вчера. Люди изучают эту область на протяжении десятилетий. Мы можем реализовать то, как Железный человек взаимодействует с Джарвисом, и использовать этот способ, чтобы помочь нам обрабатывать некоторые данные или контролировать наше окружение. Некоторые аппаратные устройства (такие как позволяя голосовому помощнику подсказывать одежду в зависимости от погоды или управлять различными приборами на кухне и в спальне), именно об этой технологии разговорного взаимодействия мы и поговорим.

Технология разговорного взаимодействия включает в себя три части: распознавание/синтез речи, семантическое понимание и управление диалогом. Текущие диалоговые интерактивные продукты в основном делятся на две категории: диалоговая система Open Domain, представленная Microsoft XiaoIce, и диалоговая система, ориентированная на задачи, представленная Amazon Alex. При нынешних технических возможностях в чате с открытым доменом очень сложно точно понять слова пользователя и дать правильный ответ, потому что перед лицом странных вопросов пользователя понимание намерения машиной, скорее всего, будет неверным, и база знаний тоже может ошибаться. Чат с открытым доменом больше похож на систему поиска информации, сопоставляющую ответ на ввод пользователя на основе существующей базы знаний. Возможность такого диалога очень ограничена, и еще труднее построить полную базу знаний. Диалоговая система, ориентированная на задачи, предназначена для помощи пользователям в выполнении задач в определенных областях, таких как "проверка погоды" и "бронирование отеля". Самым большим преимуществом этой диалоговой системы для конкретных областей является то, что она относительно эффективна для реализации и легко производить. В последующих статьях этой серии мы углубимся в три ориентированные на задачи платформы для общения в Amazon, Google и Microsoft. Перед этим рассмотрим каждое звено технологического процесса разговорного взаимодействия.

2. Процесс разговорного взаимодействия

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

  • Железный человек спрашивает Джарвиса: голосовой поток Железного человека отправляется Джарвису.

  • Джарвис получает слова Железного человека: Джарвис распознает речь в соответствующий текст, нормализует произнесенный текст, исправляет ошибки и записывает его.

  • Понимание его намерений: Джарвис занимается семантическим пониманием и переходит к управлению диалогом. Указание на несколько раундов диалога здесь опущено. Когда информация, связанная с намерением, неясна, Джарвис инициирует диалог подтверждения. Железный человек также может продолжать запрашивать другой соответствующий контент на основе отзывов Джарвиса. Это семантическое понимание и диалог , Объем управленческих услуг.

  • Затем перейдите к запросу соответствующих данных: в службе диалогового взаимодействия поставщик этого процесса называется службой контента.

  • Наконец, данные выводятся на экран: диалог завершается и генерируется действие выполнения.

  • Или прочитать соответствующие данные Железному Человеку: диалог окончен, сгенерированный языком текст преобразуется в голосовой поток через сервис синтеза речи и транслируется пользователю.

Мы обычно называем такую ​​систему диалогового взаимодействия системой разговорного диалога. Каждый компонент кратко описан здесь.

Распознавание речи ASR

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

Семантическое понимание NLU

Распознавание речи просто знает, что мы говорим, но чтобы действительно понять, что мы говорим, нам нужно полагаться на технологию NLU. NLU (Natural Language Understand) буквально переводится как понимание естественного языка, которое является подмножеством NLP (Natural Language Processing, обработка естественного языка), фокусируясь на обработке естественного языка в направлении «устного выражения и диалога». Давайте сначала кратко рассмотрим НЛП.Исследования НЛП в основном используются для решения следующих проблем:

  • Сегментация слов: китайские письменные слова не будут разделены символами, такими как пробелы.Сегментация слов заключается в разделении последовательности китайских иероглифов на последовательности слов, потому что в китайском языке слова являются основными единицами, которые несут семантику. Например, причастие предложения перелет из Пекина в Шанхай звучит так: лететь из Пекина в Шанхай.

  • Пометка части речи. Пометка части речи используется для описания роли слова в контексте, например существительных, глаголов, прилагательных и т. д. Пометка части речи предназначена для определения части речи этих слов. определить их роль в контексте.

  • Распознавание именованных объектов: Найдите и распознайте такие объекты, как имена людей, географические названия, названия учреждений, числа, даты и т. д. в предложениях.

  • Классификация текста. Классификация текста — это классификация документа по одной или нескольким предопределенным категориям, например классификация определенного типа почты как спама, различение различных типов новостей и т. д.

  • Анализ настроений: Анализ настроений заключается в том, чтобы выяснить биполярное мнение (положительное или отрицательное), настроение (счастливое, грустное, нравится, отвращение и т. д.) говорящего или автора текста по теме.

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

  1. Кто был 45-м президентом США?

    Где он родился? он = Дональд Трамп

  2. как ты себя чувствуешь?

    не так хорошо нет проблем нет проблем нет проблем нет проблем нет нет нет проблем

  3. Хочу посмотреть теплое кино, нежное кино, хочу посмотреть теплое кино

Существует много форм семантического представления.В этой серии используется наиболее распространенная и, безусловно, самая успешная «Семантика фреймов», которая использует домен, намерение и слот для представления семантических результатов.

  • Домен: Домен относится к тому же типу данных или ресурсов, а также к услугам, предоставляемым для этих данных или ресурсов. Например, «погода», «музыка», «гостиница» и так далее.

  • Намерение: Намерение относится к операции с данными предметной области, которая обычно именуется глагольно-объектными фразами. Например, в области музыки существуют такие намерения, как «запросить песню», «воспроизвести музыку», «приостановить музыку» и т. д. на.

  • Слот: слот для слов используется для хранения атрибутов поля.Например, в музыкальном поле есть слоты для слов, такие как «название песни» и «певец».

Например, из предложения «Какая завтра погода в Пекине» NLU может получить следующие семантические результаты:

  • Домен: Погода

  • Цель: запрос погоды

  • Слот:

    • Город = Пекин

    • время (дата) = завтра

Диспетчер диалогов

DM (Dialog Management) буквально переводится как управление диалогами, которое является ядром системы диалогового взаимодействия и отвечает за контроль всего диалогового процесса. В основном он включает в себя несколько частей: контекст диалога, отслеживание состояния диалога и политика диалога.

  • Контекст диалога: запишите данные о домене, намерении и словесном слоте разговора. Каждый домен может содержать данные о нескольких намерениях, обычно хранящихся в виде очереди.

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

  • Стратегия диалога: решите, какое действие выполнить в соответствии с состоянием диалога и конкретными задачами, такими как дальнейший запрос у пользователя дополнительной информации, вызов контент-сервисов и т. д.

Также возьмем в качестве примера диалог сцены с погодой:

В: Какая завтра погода? (

намерение=query_weather, дата=завтра, город=нуль
)

A: Погода в каком городе вы хотите проверить? (

action= спросить, какой город запрашивать
)

Вопрос: Пекин (

намерение=query_weather, дата=завтра, город=Пекин
)

A: В Пекине завтра будет солнечно (

action= позвонить в метеослужбу
)

В: А как насчет Ханчжоу? (

намерение=query_weather, дата=завтра, город=Ханчжоу
)

A: Завтра в Ханчжоу будет дождь (

action= позвонить в метеослужбу
)

В: Погода послезавтра (

намерение=query_weather, дата=послезавтра, город=Ханчжоу
)

A: Ханчжоу Хоутянь Сяосюэ (

action= позвонить в метеослужбу
)

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

Генерация диалога NLG

NLG (Natural Language Generation) дословно переводится как генерация естественного языка, то есть технология генерации диалогов. Для целенаправленного диалога NLG в основном реализуется в виде шаблонов. Информация об ответе в шаблоне может быть заменена слотами слов или данными, полученными через службу контента. Принцип генерации диалога заключается в том, что он соответствует привычке взаимодействия на естественном языке, прост для понимания пользователями и завершает диалог как можно быстрее. Кроме того, NLG также можно использовать для управления коммуникативными привычками пользователей.Например, содержание NLG — это «навигация открыта для вас», что может побуждать пользователей говорить «открыть навигацию», когда они хотят перемещаться.

синтез речи ТТС

TTS (Text To Speech) относится к технологии синтеза речи. Выходом диалоговой системы является NLG или инструкции в виде текста.Когда контент, возвращаемый диалогом, является NLG, текст может быть преобразован в беглую речь с помощью технологии TTS и воспроизведен для пользователя. Технология TTS обеспечивает управление скоростью речи, высотой тона, громкостью и битрейтом аудио, нарушая традиционный текстовый метод взаимодействия человека с компьютером в графическом интерфейсе и делая общение человека с компьютером более естественным.

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

3. Голосовой пользовательский интерфейс VUI

GUI (Graphical User Interface), графический пользовательский интерфейс, является наиболее привычным способом взаимодействия человека с компьютером. С ПК и мобильными телефонами, с которыми мы сталкиваемся каждый день, будь то с помощью щелчков мышью или сенсорных экранов, управляемых пальцами, мы давно привыкли к этому бесшумному методу связи с графическим интерфейсом. С развитием технологии ИИ разговорное взаимодействие постепенно приблизилось к нашей жизни, а взаимодействие между нами и машинами перешло от GUI к VUI (Voice User Interface), то есть к голосовому пользовательскому интерфейсу. VUI — это вход в голосовое приложение/устройство, когда вы говорите «Привет, Google», динамик Google Home проснется и свяжется с вами. Голос стал связующим звеном в мире VUI, как мышь и палец в эпоху GUI.

По сравнению с графическим пользовательским интерфейсом, который требует, чтобы пользователь запускал действие вручную, результат может отображаться пользователю только в визуальной форме.У пользовательского интерфейса есть свои уникальные преимущества.Он может освободить руки и глаза пользователя, не держась за устройство и не глядя на него. , Действие запускается естественным образом, а возвращенный результат воспроизводится пользователю голосом. Это особенно полезно в таких ситуациях, как вождение автомобиля, приготовление пищи, бег и т. д., когда вы не можете сделать это руками. Хорошо спроектированный VUI позволит выполнить намерение пользователя с минимальным взаимодействием, что может значительно улучшить взаимодействие с пользователем. Например, изучая привычки пользователей, мы можем предоставлять пользователям услуги «условного рефлекса», общаться более вербально, направлять пользователей к сближению тем и исправлять нештатные ситуации с помощью запросов (когда пользователи не играют в карты в соответствии с рутиной) и т. д. .

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

Звук — это естественный способ взаимодействия, но он не может полностью заменить графический интерфейс, они дополняют друг друга и сотрудничают. Следовательно, при разработке голосового интерактивного интерфейса VUI и GUI можно комбинировать для достижения мультимодального интеллектуального взаимодействия. Благодаря приведенному выше описанию у нас есть общее представление о VUI, куй железо, пока горячо, давайте разработаем диалоговый интерактивный продукт. Давайте вместе прочувствуем, на какие вопросы стоит обратить внимание на диалоговой площадке.

4. Дизайн диалоговых интерактивных продуктов

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

Этапы проектирования

1. Выберите правильные пользовательские сценарии, чтобы обеспечить высококачественный диалог

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

Вот несколько советов, которые помогут вам выбрать сценарий, подходящий для преобразования в голосовое взаимодействие:

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

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

  • Это, естественно, подходит для сценариев голосового взаимодействия, таких как прослушивание рецептов во время приготовления пищи и создание заметок во время вождения.

2. Создайте стиль диалога и изображение, соответствующее текущей сцене.

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

3. Напишите диалог

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

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

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

  • Диалоговые сценарии, которые необходимо исправить, например, система не поддерживает их или не понимает намерения пользователя.

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

  • Привет, и как вызвать сцену разговора.

  • После того, как часть голосового взаимодействия выполнена, вам нужно подумать, как отобразить содержимое разговора на экране устройства. Например, в диалоге часть контента проговаривается голосом, а некоторые данные нужно вывести на экран.

4. Пройти тест

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

Цель разработки диалогового окна — удовлетворить намерения пользователя, а не просто выполнить функцию.

Принципы дизайна
  • Придайте интерфейсу голосового взаимодействия антропоморфный образ и не заставляйте пользователя чувствовать себя слишком скованным и разговаривать с машиной.

  • Сохраняйте простоту, экономьте время пользователей и предоставляйте эффективную информацию.

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

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

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

  • Говорите по очереди и не перебивайте, когда наступает очередь говорить пользователя. Если вы задаете пользователю вопрос, не вставляйте внезапно другие инструкции, пока он отвечает на вопрос.

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

  • Используйте контекст, чтобы отслеживать входы и выходы разговоров, чтобы обеспечить точное понимание того, что говорит пользователь.

Подводя итог, можно сказать, что у нас есть относительно полное понимание диалогового взаимодействия.В следующих трех статьях этой серии знания о диалоговом взаимодействии, описанные в этой статье, будут использоваться в качестве основы для подробного описания платформ голосового взаимодействия Amazon, Google и Microsoft, а также поделиться с вами Давайте поделимся тем, как реализовать наши собственные навыки разговорного взаимодействия на этих трех платформах. Навыки определяются здесь как диалоговые способности, специфичные для предметной области, включая семантическое понимание, управление логикой диалога и соответствующие услуги контента.

Ссылаться на
  • https://developer.amazon.com/designing-for-voice/

  • https://developer.amazon.com/alexa-skills-kit/vui

  • https://developers.google.com/actions/design/principles

  • https://design.google/library/conversation-design-speaking-same-language/

  • https://yq.aliyun.com/articles/8301

об авторе

Мы из группы интеллектуального голосового взаимодействия Alibaba и входим в состав отдела технологий искусственного интеллекта Alibaba. Основное внимание мы уделяем технологии разговорного взаимодействия, и мы экспортируем продукты Spoken Language System (http://nls.console.aliyun.com). Мы создаем возможности голосового взаимодействия для таких продуктов, как интеллектуальные подключенные автомобили SAIC Group, голосовые билеты в шанхайском метро, ​​телевидение Haier с искусственным интеллектом и другие продукты.