Посмотрите видео:
0. Предисловие
В этом уроке мы научимся создавать Реплики, Правила и Якоря в Лингвобазе Промобот.
Мы рассмотрим основные элементы Лингвобазы на практике и ответим на следующие вопросы:
- Как создать реплики, которые привлекут внимание посетителей к роботу?
- Хочу, чтобы робот задавал вопросы посетителю. Как это сделать?
- Как задать разную реакцию робота на разные ответы посетителя?
- Как построить сценарий диалога между роботом и пользователем?
Мы создадим небольшой диалог, подготовим реакцию робота на несколько вариантов ответа пользователя и научим робота предлагать посмотреть видео.
1. Введение
Лингвистическая база (Лингвобаза) — это база данных, которая содержит набор правил и реплик, применяемых в качестве реакций робота на определенные фразы человека или события.
Веб-интерфейс* — это веб-сайт по адресу: https://lingvo.promo-bot.ai, с помощью которого происходит создание и редактирование диалогов (правил, реплик и т.д.).
* — Веб-интерфейс используется и для других действий, например, для изменения параметров робота, но в данном уроке это не рассматривается.
Чтобы начать работу с веб-интерфейсом Лингвобазы, нужно открыть главную страницу https://lingvo.promo-bot.ai, пройти аутентификацию на сайте (нажать на кнопку Логин
→
ввести Логин
и Пароль
).
После этого владельцу робота станут доступны следующие разделы:
- Лингвобаза
- Аналитика
- Конфигурация
- Администрирование
В данном примере нам понадобится только раздел Лингвобаза. Этот раздел, в свою очередь, поделен на множество групп. Все группы мы в данный момент не будем рассматривать. В этом уроке нам понадобятся: Реплики, Правила и Якоря.
2. Реплики
Реплики — это фразы, которые произносит робот.
Существует несколько типов реплик:
- Приветствие неизвестного — реплики, которые произносит робот в момент, когда определяет присутствие человека, с которым НЕ БЫЛА пройдена процедура знакомства;
- Приветствие известного — реплики, которые произносит робот в момент, когда определяет присутствие человека, с которым БЫЛА пройдена процедура знакомства;
- Промоматериалы — реплики, которые робот произносит, когда нет взаимодействия с человеком;
- Нераспознанные фразы — реплики, которые робот произносит в ответ на фразу человека в случае, если не смог найти ответ ни на одном из слоёв Лингвобазы;
- Поддержание диалога — реплики, которые робот произносит после правил, чтобы поддержать разговор или сменить тему.
3. Правила
Правила — это ответная реакция робота на распознанную речь человека.
В правилах самое главное — это два поля: Робот слышит
и Робот отвечает
.
4. Якоря
Якоря — это специальные метки, которые нужны, чтобы связать между собой реплики и правила.
Якоря устанавливаются:
1. На выходе реплики.
2. На выходе правила.
3. На входе правила.
При инициировании правила (или реплики), у которого задан якорь на выходе, робот будет отвечать тем правилом, у которого этот же(!!!) якорь указан на входе.
Таким образом, робот будет придерживаться заранее предусмотренного диалога.
5. Элементы формы редактирования
Прежде чем переходить непосредственно к созданию диалога, рассмотрим форму редактирования реплики.
Элементы реплики:
- Флаг выделения — используется для действий с несколькими объектами.
- Кнопка включения реплики — Если круг светится зеленым, то реплика включена; если красным, то отключена.
- Идентификатор реплики — уникален для каждой реплики, присваивается автоматически при создании, а также не может быть изменён. Отображается для возможности отладки в будущем.
- Поле Язык — используется для указания, какой локализации принадлежит созданная реплика.
- Поле Владелец — необходимо для указания владельца реплики в базе. По умолчанию: пользователь, создающий реплику.
- Поле Робот — используется для создания реплик, привязанных к выбранному роботу. Такие реплики будут использованы только на этом роботе.
- Поле Тип реплики — указывается один из типов, которые описаны выше, в пункте 2.
- Поле Кейс — указывает кейс*, которому будет принадлежать реплика. По умолчанию: default (основная Лингвобаза робота).
- Поле Категория — используется для группирования реплик по какому-либо критерию. По умолчанию: default.
- Поле Якорь — позволяет задать якорь на выходе реплики.
- Время и дата создания реплики — может быть полезно при отладке. При наведении курсором появится всплывающее окно, в котором будет указан создатель реплики и автор последних изменений.
- Кнопка сохранения изменений — сохраняет изменения, если реплика в режиме редактирования. Заменяется на кнопку перехода в режим редактирования, если реплика в режиме просмотра.
- Кнопка клонирования фразы.
- Кнопка удаления фразы.
- Поле Текст реплики для произношения.
- Поле Эмоция робота — указывается анимация, которая будет воспроизводиться на лицевой матрице робота во время выполнения реплики.
- Поле Комментарий к реплике — используется, чтобы было удобно фильтровать и искать реплику.
- Поле Действие — указывается движение робота, которое роботу нужно выполнить одновременно с произношением реплики.
- Поле Ссылка — используется, когда во время реплики робот должен открыть веб-сайт в браузере.
- Поле Пол посетителя.
- Поле Возрастная категория посетителя.
* — определение термина есть в последнем пункте этой инструкции.
6. Фильтр и поиск
Существующие реплики (а также правила и якоря) можно фильтровать по одному или нескольким критериям с помощью полей в левой части экрана.
Для применения фильтра нужно заполнить одно или несколько полей и нажать Показать
.
Чтобы очистить поля нужно нажать Сброс
.
Поле Введите текст
отвечает за поиск по текстовым полям, и таким образом можно искать нужные реплики по комментарию или тексту.
7. Копирование реплик
Под фильтром расположены поля для быстрого копирования реплик.
Чтобы скопировать реплику, нужно:
- Выбрать одну или несколько реплик (поставить флаг выделения в верхнем левом углу).
- Выбрать значения полей реплики после копирования.
- Указать целевого робота или владельца.
- Указать язык.
- Указать комментарий, если нужно.
- Нажать
Копировать
.
8. Начало практики: Промо реплики
Перед тем, как создавать реплики, проверьте их произношение на сайте http://speech2go.online, отредактируйте при необходимости.
Давайте создадим несколько реплик для привлечения внимания пользователя (реплики с типом Промо).
Первая реплика:
"Подходите ко мне, мне есть, что вам показать
". Мы также можем добавить эмоцию роботу, например смех.
Вторая реплика:
Чтобы не заполнять заново все поля, скопируем уже созданную.
- Нажимаем на кнопку
Клонировать
. - Меняем поле
Робот говорит
. - Вводим текст новой реплики: "
Подходите ко мне, чтобы поговорить с настоящим роботом
".
Третья реплика:
Текст реплики: "Ко мне никто не подходит, эх, что-то грустно
".
9. Продолжаем создавать реплики: Приветствие неизвестного
Если человек подходит к роботу, и робот распознаёт лицо, то надо поприветствовать этого человека.
Давайте добавим несколько реплик с типом Приветствие неизвестного
, которая активируется, когда робот видит лицо человека, но не находит его в своей базе (не была пройдена процедура знакомства).
Первая реплика:
Выбираем тип Приветствие неизвестного
и пишем текст реплики: "Здравствуйте
".
То есть робот увидит лицо человека, скажет: "Здравствуйте
", улыбнётся, и мы также можем задать ему какое-то действие, например, поднять руку в знак приветствия.
Чтобы это сделать, в поле Действие
нужно написать скрипт: script:hello
.
Также есть и другие скрипты.
Например:
get_five
— дай пятьgoodbye
— робот поднимает правую руку и машет пользователюleft_up
— робот поднимает левую руку
Вторая реплика:
Мы копируем правило, меняем поле текстовое, пишем: "Добрый день!
".
Третья реплика:
Текст реплики: "Рад приветствовать Вас в нашем отеле!
".
Таким образом, у нас есть 3 приветствия неизвестных. Когда человек подойдет к роботу, робот будет в случайном порядке вызывать одну из созданных нами реплик.
10. Включить видео
Также мы можем не ограничиваться только приветствием, а предложить пользователю, например, посмотреть видео. Для этого нажимаем на кнопку редактирования правила
и добавляем к приветствию дополнительные вопросы. Например: "У меня есть чудесное видео об отеле, хотите посмотреть?
". Добавляем подобные вопросы к каждой из реплик.
Как вы видите, мы задаем такой вопрос, ответ на который — это Да
или Нет
. Варианты ответа пользователя ограничены, поэтому нам легче будет их предугадать, чем при открытых вопросах. Поэтому мы рекомендуем формулировать именно такие вопросы, чтобы можно было охватить большую часть вариантов ответа человека и тем самым лучше спланировать ход диалога.
11. Якорь
Якорь нужен, чтобы соединить реплику приветствия с возможным ответом человека.
Чтобы создать якорь:
- Нажимаем на кнопку
Создать
. - Указываем имя.
- Выбираем язык.
- Выбираем владельца.
- Указываем кейс
default
. - Нажимаем на кнопку
Создать
.
После создания якоря нужно прикрепить его к реплике. Это нужно сделать для всех приветствий, где есть вопрос.
12. Правила
Человек может согласиться на просмотр, отказаться смотреть, промолчать или сказать что-то другое. Нам нужно предусмотреть все варианты, для этого нужно создать правила.
В правилах нужно заполнять поля робот слышит
и робот отвечает
.
Во время заполнения вариантов распознавания (поля робот слышит
) используются специальные символы и конструкции:
№1 (*):
Символ * является заменой любого набора символов, слов или их отсутствия.
С помощью символа * можно заполнить пробелы между ключевыми словами.
№ 2 (~):
Символ тильда ~ является заменой любого окончания, префикса или повторяющейся части слова, которая может меняться в зависимости от формы слова. Например, для конструкции давай~
подходят слова "давай
" и "давайте
".
№ 3 (перечисление вариантов):
Конструкция: { <какое-нибудь слово> / <какое-нибудь слово> } позволяет перечислить несколько вариантов ключевых слов или словосочетаний.
№4 (макрос):
Мы можем использовать уже готовые макросы, например, yes
, который выражает согласие.
В нём содержатся разные синонимы слова "Да
", например: "Конечно
", "Да
", "А то как же
" и так далее.
Макросы используются для того, чтобы не тратить время на многократное переписывание многих вариантов.
13. Правила: Да
Кроме простого "Да
" человек может сказать более сложные варианты, например: "Давай
", "Включай
", "Посмотрел бы
", "Я не против
" и так далее, и их нужно также учесть.
Создадим правило для согласия человека:
- Создадим вариант распознавания с макросом "
Да
". - А также создадим вариант с отдельными словами:
{ давай~ / включай~ / посмотр~ / не против }
В поле робот отвечает
можно написать какую-нибудь реплику, но в данном примере нам нужно, чтобы открылось видео, поэтому оставляем поле пустым, а в поле ссылка
вставляем ссылку на видео.
Далее, нам нужно соединить это правило с репликой. Для этого нам нужно поставить якорь (тот самый якорь "Привет", который мы прикрепили к реплике) на входе этого правила.
13. Правила: Нет
Далее нам нужно создать еще одно правило на отрицательный ответ человека. Создаём новое правило:
- Используем макрос
No
. Добавляем вариант распознавания с отдельными словами:
{ Не хотелось бы / Не надо / Не будем }
В нашем примере робот умеет только показывать видео, поэтому в поле робот отвечает
напишем: "Пока я умею только показывать видео, хотите посмотреть?
".
Ставим тот же самый якорь на входе этого правила.
14. Финал
Здесь опять робот ожидает какую-то реакцию от человека, значит, надо создать еще один якорь. И далее вставляем новый якорь в поле "Якорь на выходе
".
Далее снова нужно учесть все возможные варианты ответа человека.
- Да — Такое правило у нас уже есть, мы можем просто его скопировать, и поменять якорь.
- Нет — Такое правило тоже есть, мы можем его скопировать, но поменять несколько полей: поменяем якорь на входе, уберем якорь на выходе, потому что это конечная точка диалога, и изменим ответ робота на: "
Очень жаль, пожалуйста обратитесь к администратору.
".
Таким образом, на этой ветке мы учли все возможные варианты ответа человека.
И нам нужно до-заполнить первую ветку, где человек либо согласен на просмотр видео, либо нет, и мы предлагаем ему снова, и также человек может ничего не сказать. Поэтому нам нужно снова создать правило, мы скопируем уже существующее со звездочкой, и прикрепим к нему якорь, который был создан первым.
Таким образом, у нас получился небольшой диалог. Наш сценарий завершен, и все ветки занесены в лингвобазу.
15. Словарь терминов
1. Веб-интерфейс* — это веб-сайт по адресу: https://lingvo.promo-bot.ai, с помощью которого происходит создание и редактирование диалогов (правил, реплик и т.д.).
* — Веб-интерфейс используется и для других действий, например, для изменения параметров робота, но в данном уроке это не рассматривается.
2. Кейс (Лингвокейс) — это специальная структура, которая представляет собой аналог Лингвобазы, который заменяет или расширяет основную Лингвобазу. Кейс используется в тех случаях, когда нужно реализовать особый сценарий использования робота.
3. Лингвистическая база (Лингвобаза) — это база данных, которая содержит набор правил и реплик, применяемых в качестве реакций робота на определенные фразы человека или события.
4. Правила — это ответная реакция робота на распознанную речь человека.
5. Реплики — это фразы, которые произносит робот.
6. Якоря — это специальные метки, которые нужны, чтобы связать между собой реплики и правила.
Добавить комментарий