Интенты

Интенты. Общая информация

Интенты — предполагаемые намерения или смысловые группы возможных ответов абонентов

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

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

image.png

Из чего состоит Интент

  1. Название. Оно отображается в списках интентов и нужно для того, чтобы вы сами понимали, какую смысловую группу ключевых фраз объединяет этот интент. Название не учитывается при сравнении интента с реальной фразой абонента, только ключевые/исключающие фразы (2 и 4)
  2. Ключевые фразы — фразы, которые сравниваются с фразой абонента и в случае совпадения по заданному условию попадания под интент (3), относят ответ абонента к интенту, содержащему совпавшую ключевую фразу.
  3. Условия попадания под интент — условия совпадения фразы, содержащейся в ответе абонента, с ключевой фразой для попадания ответа под интент. Есть четыре возможных условия попадания под интент, они совпадают также с правилами исключения для исключающих фраз (4):
    - Полное совпадение — правило считается выполненным, если абонент произнес в точности то, что было указано в поле «‎Ключевые фразы»‎. Если абонент сказал длинную фразу, в которой встречается ваша ключевая фраза, то фраза абонента попадет под интент.
    - Совпадение начальных форм ответ попадет под интент, если в нем будет содержаться фраза, совпадающая с ключевой при приведении всех слов, содержащихся в фразах, к начальной форме
    - Частичное совпадение —Подсчитывается число операций с символами до полного совпадения фразы. Возможные операции с символами: добавление, перестановка, удаление, замена.
    Ответ попадет под интент, если в нем будет содержаться фраза, совпадающая с ключевой через несколько операций. Количество зависит от длины фразы.
    Например: дверь/тверь (1 замена), австрия/австралия (2 добавления). При этом рим/мир (1 перестановка) не будут частично совпадающими, потому что длина фраз слишком мала.
    - Регулярное выражение - это последовательность специальных символов, формирующих паттерн или шаблон, который сопоставляется со строкой.
    Ответ попадет под интент, если будет соответствовать составленному шаблону.
  4. Исключающие фразы имеют те же условия совпадения, как и у ключевых фраз, но при совпадении исключают ответ из интента, даже если по ключевым фразам ответ должен был попасть под интент.

image.png

Инструкции для работы с интентами по страницам/разделам:

Настройка интентов в блоке

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

image.png

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

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

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

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

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

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

Выбор сценария и блока

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

Настройка блока

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

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

image.png

Также вы можете добавить или удалить интенты из блока:

Для добавления нужно воспользоваться кнопкой image.png над списком интентов в блоке. После того, как вы добавите новый интент и примените изменения в блоке к сценарию, у вас появится предупреждение «Нет исходящей связи» или просто иконка image.png в правой части строки интента. Это напоминание о том, что следует перейти в сценарий и добавить исходящую связь в блоке обработки ответа для добавленного интента.
Подробнее о функционале модального окна добавления рассказываем ниже.

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

Чтобы лучше понимать, как будет отрабатывать блок с текущими настройками, воспользуйтесь тестированием блока, кликнув на кнопку image.png. Ниже вы найдете инструкцию по тестированию блока.


Редактирование интента

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

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

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

    image.png: эта кнопка обновляет панель «Ответы абонентов, попавшие под интент», а также статистику справа от заголовков интентов в списке.


    Особенности изменения ключевых фраз для Общедоступных и Шаблонных интентов: все изменения в общедоступных интентах применяются во всех блоках и сценариях, где был использован интент, а также на странице списка общедоступных и шаблонных интентов, после применения изменений к сценарию. Шаблонные интенты невозможно редактировать. Но вы можете отвязать (1.1) для конкретного блока интент от общедоступного или шаблонного, тогда изменения применятся только к нему, интент будет существовать только в этом блоке, поэтому изменения интентов другими людьми в других блоках никак не повлияют на настройки вашего интента.
  2. Для каждой ключевой фразы необходимо выбрать одно из четырех условий попадания под интент:
    Полное совпадение — правило считается выполненным, если абонент произнес в точности то, что было указано в поле «‎Ключевые фразы»‎. Если абонент сказал длинную фразу, в которой встречается ваша ключевая фраза, то фраза абонента попадет под интент.
    Совпадение начальных форм — ответ попадет под интент, если в нем будет содержаться фраза, совпадающая с ключевой при приведении всех слов, содержащихся в фразах, к начальной форме
    Частичное совпадение —Подсчитывается число операций с символами до полного совпадения фразы. Возможные операции с символами: добавление, перестановка, удаление, замена.
    Ответ попадет под интент, если в нем будет содержаться фраза, совпадающая с ключевой через несколько операций. Количество зависит от длины фразы.
    Например: дверь/тверь (1 замена), австрия/австралия (2 добавления). При этом рим/мир (1 перестановка) не будут частично совпадающими, потому что длина фраз слишком мала.
    Регулярное выражение - это последовательность специальных символов, формирующих паттерн или шаблон, который сопоставляется со строкой.
    Ответ попадет под интент, если будет соответствовать составленному шаблону.
  3. Для удаления ключевой фразы кликните на  image.png, а затем подтвердите удаление в открывшемся диалоговом окне.
  4. Для добавления новой ключевой фразы введите ее в поле с подсказкой «Введите фразу» в конце списка ключевых фраз, затем выберите условие попадания под интент. После выбора условия ключевая фраза автоматически добавляется в интент и под ней появляется новое поле для ввода ключевой фразы.
  5. У раздела «Исключающие фразы» аналогичный функционал и те же условия, как для ключевых фраз, но при совпадении с исключающей фразой, ответ не попадет под интент, даже если по ключевым фразам должен был. Кликните на вкладку  image.pngдля просмотра, добавления и редактирования исключающих фраз
  6. Тестирование интента покажет, попадет или не попадет фраза, используемая для тестирования, в интент при текущих ключевых и исключающих словах с заданными условиями попадания/исключения.

image.png

Ответы абонентов, попавшие под интент

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

image.png


Список ответов

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

image.png

Вы можете изменить «Период выгрузки ответов», кликнув на соответствующее поле. В выпадающем списке будет четыре временных интервала на выбор: сутки, неделя, месяц или 3 месяца. От периода будет зависеть скорость загрузки статистики. Чем больше период, тем дольше будет подгружаться информация.

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

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

image.png

Рядом с некоторыми ответами в списке есть число в скобках, например (х1234): столько раз такой ответ в подобной формулировке встречался в диалогах, прошедших через этот блок обработки ответа за заданный период.

Список фраз можно отсортировать по частоте повторений и по времени попадания под интент. Если вы хотите посмотреть самые последние фразы, которые произносили абоненты в блоке обработки ответа, то нужно выбрать тип сортировки «Сначала новые»

image.png

Обновление с учетом изменений

Данные в панели «Ответы абонентов,..» отображаются в соответствии с настройками, примененными к сценарию.

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

image.png

Так вы получаете возможность проверить, как блок будет работать с новыми настройками: если вы внесете изменения в блок или интент, которые повлияли на распределение ответов абонентов по интентам, то при клике на  «Обновить с учетом изменений» над кнопкой появится уведомление «Есть добавленные ответы в интентах». При наведении на иконку info в этом уведомлении появится подсказка со списком интентов, для которых есть добавленные ответы. Можно кликнуть по названию интента, чтобы посмотреть, какие именно ответы добавились в него. Справа от названия — количество ответов, добавленных в интент.

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

image.png

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

image.png

Сохранение изменений

Для того чтобы применить все настройки к реальным диалогам вам необходимо:

  1. Нажать на кнопку «Применить изменения к сценарию»

    image.png


  2. Перейти в редактор сценариев, проверить, у всех ли интентов в блоке есть исходящие связи, если нет — добавить.

    image.png

  3. Опубликовать сценарий с изменениями

    image.png


Общедоступные и шаблонные интенты

Общедоступные и шаблонные интенты: раздел платформы со списком общедоступных и шаблонных интентов.

image.png

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

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

Интерфейс страницы

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

image.png

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

image.png

image.png

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

Добавление интента в блок

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

image.png

Создание нового интента

Для создания нового интента вам нужно только ввести его название и кликнуть на «Добавить интент». Кнопка станет активной после ввода названия. После добавления нужно развернуть добавленный интент в списке и настроить его ключевые/исключающие фразы.

Есть дополнительные опции при создании интента: «Сделать общедоступным» и «Создать на основе»

Сделать общедоступным — опция, присваивающая вашему интенту тип «Общедоступный». Интент с таким типом будет отображаться в списке общедоступных интентов в разделе «Общедоступные и шаблонные интенты», и может быть использован в других сценариях проекта. 

image.png

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

image.png

Для добавления уже существующего интента нужно нажать на «Использовать интент из списка общедоступных или шаблонных». Выбрать группу и интент. 

image.png

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

image.png

Создание общедоступного интента

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

Создание с нуля

Введите название нового общедоступного интента и кликните на кнопку «Создать общедоступный интент»

image.png

Созданный интент появится в списке. В этом списке интенты отсортированы в алфавитном порядке по названию. Ваш новый интент сразу развернется для настройки ключевых фраз, давайте сделаем это.

image.png

Введем ключевые фразы и зададим для них условия попадания под интент. Изменения применяются автоматически, сохранять ничего не нужно. Здесь же можно настроить исключающие фразы, кликнув на соответствующую вкладку (справа от вкладки «Ключевые фразы»), если нужно.

image.png

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

Создание на основе

Для создания нового общедоступного интента на основе любого интента в проекте кликните на соответствующую опцию в модальном окне создания для активации ее. 

image.png

Выберите группу интентов: «Шаблонные», «Общедоступные» или «Группа по сценарию». После выборе «Группы по сценарию» вам потребуется еще выбрать конкретный сценарий, в котором используется интересующий вас интент.

image.png

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

image.png

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

image.png

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

image.png


Тестирование интента. Тестирование блока

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

Протестировать интент

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

image.png

Например, при тестировании фразы «угу» для интента «Да», мы получили результат «Попадает под интент», потому что в интент добавлена ключевая фраза «угу» с условием «Полное совпадение»

image.png

А для тестовой фразы «нет» при тестировании того же интента результат вышел «Не попадает под интент». Причина в данном случае не отобразилась, потому что фраза не попала под интент из-за отсутствия причин для попадания

image.png

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

image.png

Протестировать блок

Модальное окно тестирования блока открывается при клике на кнопку «Протестировать блок». Такая кнопка есть в «Свойствах» блока «Обработать ответ» в редакторе сценария и на странице «Настройка интентов в блоке». Здесь при введении тестовой фразы, можно проверить, под какой интент в блоке она попадет и почему.

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

Например, при тестировании фразы «да» для блока, в который добавлены интенты «Да», «Нет» и «не знаю» мы получили результат «интент "Да"», потому что в интент «Да» добавлена ключевая фраза «да» с условием «Полное совпадение»

image.png

А при тестировании фразы «Хочу поговорить с оператором» для того же блока получили результат «интент "Остальное"», потому что не нашлось причин для попадания под другие добавленные в блок интенты.

image.png

Рекомендации для улучшения обработки ответов

Поиск новых ключевых фраз и добавление их в интенты

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

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

Рассмотрим в панели «Ответы абонентов, попавшие под интент» интент «Остальное». Вы увидите список всех фраз, которые попали под этот интент. В данном списке будут показаны ответы абонентов, прошедшие через блок за последние сутки. Период можно изменить в поле «Период выгрузки ответов».

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

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

После добавления ключевых фраз в интенты кликните на кнопку «Обновить с учетом изменений» под панелью «Ответы абонентов, попавшие под интенты». Ответы абонентов перераспределятся по интентам в соответствии с новыми настройками.

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

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