Дерево страниц
Перейти к концу метаданных
Переход к началу метаданных

Посмотрите видео:

0. Предисловие

В этом уроке мы научимся создавать РепликиПравила и Якоря в Лингвобазе Промобот.

Мы рассмотрим основные элементы Лингвобазы на практике и ответим на следующие вопросы:

  1. Как создать реплики, которые привлекут внимание посетителей к роботу?
  2. Хочу, чтобы робот задавал вопросы посетителю. Как это сделать?
  3. Как задать разную реакцию робота на разные ответы посетителя?
  4. Как построить сценарий диалога между роботом и пользователем?

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

1. Введение

Лингвистическая база (Лингвобаза) — это база данных, которая содержит набор правил и реплик, применяемых в качестве реакций робота на определенные фразы человека или события.

Веб-интерфейс* — это веб-сайт по адресу: https://lingvo.promo-bot.ai, с помощью которого происходит создание и редактирование диалогов (правил, реплик и т.д.).

* — Веб-интерфейс используется и для других действий, например, для изменения параметров робота, но в данном уроке это не рассматривается.


Чтобы начать работу с веб-интерфейсом Лингвобазы, нужно открыть главную страницу https://lingvo.promo-bot.ai, пройти аутентификацию на сайте (нажать на кнопку Логин  ввести Логин и Пароль).

 Посмотреть скриншот...

Стартовая страница веб-интерфейса Лингвобазы.

Стартовая страница веб-интерфейса Лингвобазы.


Форма ввода пароля в веб-интерфейсе Лингвобазы.

Форма ввода пароля в веб-интерфейсе Лингвобазы.


После этого владельцу робота станут доступны следующие разделы:

  1. Лингвобаза
  2. Аналитика
  3. Конфигурация
  4. Администрирование

В данном примере нам понадобится только раздел Лингвобаза. Этот раздел, в свою очередь, поделен на множество групп. Все группы мы в данный момент не будем рассматривать. В этом уроке нам понадобятся: РепликиПравила и Якоря.

2. Реплики

Реплики — это фразы, которые произносит робот.

Существует несколько типов реплик:

  1. Приветствие неизвестного — реплики, которые произносит робот в момент, когда определяет присутствие человека, с которым НЕ БЫЛА пройдена процедура знакомства;
  2. Приветствие известного — реплики, которые произносит робот в момент, когда определяет присутствие человека, с которым БЫЛА пройдена процедура знакомства;
  3. Промоматериалы — реплики, которые робот произносит, когда нет взаимодействия с человеком;
  4. Нераспознанные фразы — реплики, которые робот произносит в ответ на фразу человека в случае, если не смог найти ответ ни на одном из слоёв Лингвобазы;
  5. Поддержание диалога — реплики, которые робот произносит после правил, чтобы поддержать разговор или сменить тему.

3. Правила

Правила — это ответная реакция робота на распознанную речь человека.

В правилах самое главное — это два поля: Робот слышит и Робот отвечает.

4. Якоря

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

Якоря устанавливаются:
1. На выходе реплики.
2. На выходе правила.
3. На входе правила.


При инициировании правила (или реплики), у которого задан якорь на выходе, робот будет отвечать тем правилом, у которого этот же(!!!) якорь указан на входе.

Таким образом, робот будет придерживаться заранее предусмотренного диалога.

5. Элементы формы редактирования

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

Элементы реплики:

  1. Флаг выделения — используется для действий с несколькими объектами.
  2. Кнопка включения реплики — Если круг светится зеленым, то реплика включена; если красным, то отключена.
  3. Идентификатор реплики — уникален для каждой реплики, присваивается автоматически при создании, а также не может быть изменён. Отображается для возможности отладки в будущем.
  4. Поле Язык — используется для указания, какой локализации принадлежит созданная реплика.
  5. Поле Владелец — необходимо для указания владельца реплики в базе. По умолчанию: пользователь, создающий реплику.
  6. Поле Робот — используется для создания реплик, привязанных к выбранному роботу. Такие реплики будут использованы только на этом роботе.
  7. Поле Тип реплики — указывается один из типов, которые описаны выше, в пункте 2.
  8. Поле Кейс — указывает кейс*, которому будет принадлежать реплика. По умолчанию: default (основная Лингвобаза робота).
  9. Поле Категория — используется для группирования реплик по какому-либо критерию. По умолчанию: default.
  10. Поле Якорь — позволяет задать якорь на выходе реплики.
  11. Время и дата создания реплики — может быть полезно при отладке. При наведении курсором появится всплывающее окно, в котором будет указан создатель реплики и автор последних изменений.
  12. Кнопка сохранения изменений — сохраняет изменения, если реплика в режиме редактирования. Заменяется на кнопку перехода в режим редактирования, если реплика в режиме просмотра.
  13. Кнопка клонирования фразы.
  14. Кнопка удаления фразы.
  15. Поле Текст реплики для произношения.
  16. Поле Эмоция робота — указывается анимация, которая будет воспроизводиться на лицевой матрице робота во время выполнения реплики.
  17. Поле Комментарий к реплике — используется, чтобы было удобно фильтровать и искать реплику.
  18. Поле Действие — указывается движение робота, которое роботу нужно выполнить одновременно с произношением реплики.
  19. Поле Ссылка — используется, когда во время реплики робот должен открыть веб-сайт в браузере.
  20. Поле Пол посетителя.
  21. Поле Возрастная категория посетителя.

* — определение термина есть в последнем пункте этой инструкции.

6. Фильтр и поиск

Существующие реплики (а также правила и якоря) можно фильтровать по одному или нескольким критериям с помощью полей в левой части экрана.

Для применения фильтра нужно заполнить одно или несколько полей и нажать Показать.

Чтобы очистить поля нужно нажать Сброс.

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

 Посмотреть скриншот...

Фильтр в разделе реплик.

Фильтр в разделе реплик.

7. Копирование реплик

Под фильтром расположены поля для быстрого копирования реплик.

Чтобы скопировать реплику, нужно:

  1. Выбрать одну или несколько реплик (поставить флаг выделения в верхнем левом углу).
  2. Выбрать значения полей реплики после копирования.
  3. Указать целевого робота или владельца.
  4. Указать язык.
  5. Указать комментарий, если нужно.
  6. Нажать Копировать.
 Посмотреть скриншот...

Копирование реплик.

Копирование реплик.

8. Начало практики: Промо реплики

Перед тем, как создавать реплики, проверьте их произношение на сайте http://speech2go.online, отредактируйте при необходимости.

Давайте создадим несколько реплик для привлечения внимания пользователя (реплики с типом Промо).

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

Вторая реплика:
Чтобы не заполнять заново все поля, скопируем уже созданную.

  1. Нажимаем на кнопку Клонировать.
  2. Меняем поле Робот говорит.
  3. Вводим текст новой реплики: "Подходите ко мне, чтобы поговорить с настоящим роботом".

Третья реплика:
Текст реплики: "Ко мне никто не подходит, эх, что-то грустно".

9. Продолжаем создавать реплики: Приветствие неизвестного

Если человек подходит к роботу, и робот распознаёт лицо, то надо поприветствовать этого человека.
Давайте добавим несколько реплик с типом Приветствие неизвестного, которая активируется, когда робот видит лицо человека, но не находит его в своей базе (не была пройдена процедура знакомства).

Первая реплика:
Выбираем тип Приветствие неизвестного и пишем текст реплики: "Здравствуйте".

То есть робот увидит лицо человека, скажет: "Здравствуйте", улыбнётся, и мы также можем задать ему какое-то действие, например, поднять руку в знак приветствия.

Чтобы это сделать, в поле Действие нужно написать скрипт: script:hello.
Также есть и другие скрипты.

Например:

  • get_five — дай пять
  • goodbye — робот поднимает правую руку и машет пользователю
  • left_up — робот поднимает левую руку

Вторая реплика:
Мы копируем правило, меняем поле текстовое, пишем: "Добрый день!".

Третья реплика:
Текст реплики: "Рад приветствовать Вас в нашем отеле!".

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

10. Включить видео

Также мы можем не ограничиваться только приветствием, а предложить пользователю, например, посмотреть видео. Для этого нажимаем на кнопку редактирования правила и добавляем к приветствию дополнительные вопросы. Например: "У меня есть чудесное видео об отеле, хотите посмотреть?". Добавляем подобные вопросы к каждой из реплик.

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

11. Якорь

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

Чтобы создать якорь:

  1. Нажимаем на кнопку Создать.
  2. Указываем имя.
  3. Выбираем язык.
  4. Выбираем владельца.
  5. Указываем кейс default.
  6. Нажимаем на кнопку Создать.

После создания якоря нужно прикрепить его к реплике. Это нужно сделать для всех приветствий, где есть вопрос.

12. Правила

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

В правилах нужно заполнять поля робот слышит и робот отвечает.

Во время заполнения вариантов распознавания (поля робот слышит) используются специальные символы и конструкции:

№1 (*):
Символ * является заменой любого набора символов, слов или их отсутствия.
С помощью символа * можно заполнить пробелы между ключевыми словами.

№ 2 (~):
Символ тильда ~ является заменой любого окончания, префикса или повторяющейся части слова, которая может меняться в зависимости от формы слова. Например, для конструкции давай~ подходят слова "давай" и "давайте".

№ 3 (перечисление вариантов):
Конструкция: { <какое-нибудь слово> / <какое-нибудь слово> } позволяет перечислить несколько вариантов ключевых слов или словосочетаний.

№4 (макрос):
Мы можем использовать уже готовые макросы, например, yes, который выражает согласие.
В нём содержатся разные синонимы слова "Да", например: "Конечно", "Да", "А то как же" и так далее.
Макросы используются для того, чтобы не тратить время на многократное переписывание многих вариантов.

13. Правила: Да

Кроме простого "Да" человек может сказать более сложные варианты, например: "Давай", "Включай", "Посмотрел бы", "Я не против" и так далее, и их нужно также учесть.


Создадим правило для согласия человека:

  1. Создадим вариант распознавания с макросом "Да".
  2. А также создадим вариант с отдельными словами:


{ давай~ / включай~ / посмотр~ / не против }



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

Далее, нам нужно соединить это правило с репликой. Для этого нам нужно поставить якорь (тот самый якорь "Привет", который мы прикрепили к реплике) на входе этого правила.

13. Правила: Нет

Далее нам нужно создать еще одно правило на отрицательный ответ человека. Создаём новое правило:

  1. Используем макрос No.
  2. Добавляем вариант распознавания с отдельными словами:

    { Не хотелось бы / Не надо / Не будем }

В нашем примере робот умеет только показывать видео, поэтому в поле робот отвечает напишем: "Пока я умею только показывать видео, хотите посмотреть?".

Ставим тот же самый якорь на входе этого правила.

14. Финал

Здесь опять робот ожидает какую-то реакцию от человека, значит, надо создать еще один якорь. И далее вставляем новый якорь в поле "Якорь на выходе".

Далее снова нужно учесть все возможные варианты ответа человека.

  1. Да — Такое правило у нас уже есть, мы можем просто его скопировать, и поменять якорь.
  2. Нет — Такое правило тоже есть, мы можем его скопировать, но поменять несколько полей: поменяем якорь на входе, уберем якорь на выходе, потому что это конечная точка диалога, и изменим ответ робота на: "Очень жаль, пожалуйста обратитесь к администратору.".

Таким образом, на этой ветке мы учли все возможные варианты ответа человека.


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


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

15. Словарь терминов

1. Веб-интерфейс* — это веб-сайт по адресу: https://lingvo.promo-bot.ai, с помощью которого происходит создание и редактирование диалогов (правил, реплик и т.д.).
* — Веб-интерфейс используется и для других действий, например, для изменения параметров робота, но в данном уроке это не рассматривается.

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

3. Лингвистическая база (Лингвобаза) — это база данных, которая содержит набор правил и реплик, применяемых в качестве реакций робота на определенные фразы человека или события.

4. Правила — это ответная реакция робота на распознанную речь человека.

5. Реплики — это фразы, которые произносит робот.

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


  • Нет меток
Написать комментарий...