Создавайте модели разговоров

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

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

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

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

Определите действительные запросы пользователей

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

Создание намерений пользователя

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

Создание системных намерений

Системные намерения позволяют вам использовать намерения с заранее определенными языковыми моделями для общих событий, например, когда пользователи хотят выйти из вашего действия или когда истекает время ввода данных пользователем. Чтобы создать системные намерения:

Создание пользовательских типов

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

Чтобы создать пользовательский тип:

Построение логики действий и ответов

Assistant NLU сопоставляет запросы пользователей с намерениями, чтобы ваше действие могло обрабатывать их в сценах. Сцены — это мощные логические исполнители, позволяющие обрабатывать события во время разговора.

Создать сцену

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

Чтобы создать сцену:

Определить однократную настройку

Когда сцена впервые становится активной, вы можете выполнять одноразовые задачи на этапе «При входе» . Этап «При входе» выполняется только один раз и является единственным этапом, который не выполняется внутри цикла выполнения сцены.

Проверить условия

Условия позволяют проверять заполнение слотов, хранилище сеансов, пользовательское хранилище и параметры домашнего хранилища для управления потоком выполнения сцены.

Определить заполнение слота

Слоты позволяют извлекать типизированные параметры из пользовательского ввода.

Сопоставление значений слотов

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

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

Входные данные процесса

На этом этапе вы можете заставить Assistant NLU сопоставлять вводимые пользователем данные с намерениями. Вы можете ограничить соответствие намерений конкретной сцене, добавив в сцену нужные намерения. Это позволяет вам контролировать ход разговора, сообщая Ассистенту, чтобы он соответствовал определенным намерениям, когда активны определенные сцены.