+7 (499) 460-41-26 Москва, Берёзовая аллея, д.5а, стр.6, 2 этаж, оф.34 Пн-Пт: 9:00-18:00

Интенты

инструкции:

Интенты

Что такое интенты

💡Интент —  это тип данных, который позволяет определить намерение контакта: что он хочет узнать, сказать или сделать в данный момент диалога.

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

Например, вы можете создать сценарий для ресторана, который обрабатывает вопросы контакта о заказах и отвечает на них. Вы можете создать интент для вопросов о доставке. Если контакт скажет “Мне нужно заказать еду на дом” или “Я хочу пиццу с доставкой”, робот сопоставит эти фразы контакта с интентом доставки.

Модель классифицирует намерения контакта.

Робот может извлекать интенты двумя способами:

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

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

Извлечение интентов

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

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

При поиске подходящего интента с помощью нейросети робот оценивает возможные совпадения с достоверностью извлечения интента (уровень уверенности). Эти значения варьируются от 0% (полностью неопределенные) до 100% (полностью определенные). После оценки интентов есть два возможных результата:

  • Если интент с наивысшим результатом имеет уровень уверенности, превышающий или равный заданному порогу доверия, он считается извлеченным.
  • Если ни один из интентов в условиях не соответствует пороговому значению, то будет вызван системный сценарий “Не могу вас понять”.

Примеры для обучения нейросети

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

Примеры делятся на:

  • эталонные фразы, которые создает пользователь
  • фразы контакта из диалогов, которые пользователь провалидировал как верные и которые попали в набор обучающих примеров (вкладка “Нейросеть”)

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

Например, фраза “Мне нужно к врачу” обучает робота распознавать фразы контакта, похожие на нее: “Я хочу к врачу” или “Запишите меня к врачу”.

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

“Я из Москвы”

“Мой город – Ростов”

“Санкт-Петербург”

“Калининград – мой родной город”

Правила наполнения интента обучающими примерами

Чтобы модель NLU работала корректно, необходимо следовать правилам наполнения интента примерами.

  1. Чтобы модель могла обучиться, в ней должно быть минимум 2 интента, в каждом из которых должно быть минимум 4 неудаленных примера.
  2. Каждый пример в интенте должен иметь законченный смысл.
  3. Примеры в одном интенте должны относиться к одной смысловой связке, а смыслы примеров разных интентов одной модели не должны пересекаться.
  4. Все интенты в модели должны относиться к одной общей теме и покрывать набор возможных фраз контактов в рамках этой темы. 
  5. На качество определения интента влияет количество обучающих примеров. Стоит создавать больше обучающих примеров из жизни, реальных фраз людей. Рекомендованное количество — около 30 примеров на 1 интент.

Создание и редактирование примера

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

Вы также можете загрузить готовую таблицу с примерами в интент по кнопке Импортировать в верхней панели на странице интента.

 

Шаблоны для регулярных выражений

💡Шаблон  —  это последовательность слов и символов, которые обязательно должны встретиться во фразе пользователя, чтобы робот на нее отреагировал.

Синтаксис шаблонов

Ключевое слово

Слово, которое робот будет распознавать точно так, как оно указано в шаблоне.

Например, для интента “купить” ключевыми словами могут быть “купить”, “приобрести”, “надыбать”, “затариться” и др.

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

Тильда ( ~ )

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

Пример:

  • “ ~куп~ ” — робот распознает слова “купить”, “покупка”, “закупиться” и др.

Звездочка ( * )

Заменяет любое количество слов/параметров в шаблоне.

Пример:

  • ” * заказать * стол * ” — робот среагирует на любое количество слов перед, между и после слов “заказать” и “стол” (и если другие слова отсутствуют: “заказать стол”). Сработает на фразах “Я хочу заказать сегодня стол” или “Заказать стол на двоих” и др. Не сработает на фразе “заказать столик”.

Приоритеты способов извлечения

По умолчанию для всех интентов стоит приоритет на способе “Нейросеть”.

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

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

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

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

  1. Откройте раздел Интенты
  2. Выберите модель
  3. На панели слева нажмите Создать новый интент
  4. Добавьте название, примеры и/или шаблоны
  5. На панели сверху нажмите Обучить, чтобы применить изменения

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

Перемещение примера

Чтобы переместить пример из одного интента в другой:

  1. Откройте раздел Интенты
  2. Выберите модель
  3. Выберите интент
  4. Справа от примера нажмите на ➡️ 
  5. Выберите интент для перемещения примера
  6. На панели сверху нажмите Обучить, чтобы применить изменения

Удаление примера

Чтобы удалить пример:

  1. Откройте раздел Интенты
  2. Выберите модель
  3. Выберите интент
  4. Справа от примера нажмите 🗑
  5. На панели сверху нажмите Обучить, чтобы применить изменения

Удаление интента

Чтобы удалить интент:

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





Все вопросы по сервису >>

ОБЩЕСТВО С ОГРАНИЧЕННОЙ ОТВЕТСТВЕННОСТЬЮ "РОБОВОЙС"

127273,ГОРОД МОСКВА,АЛ. БЕРЁЗОВАЯ,Д. 5А,СТР. 6,ЭТАЖ АНТРЕСОЛЬ 1 ПОМ 34

8 (499) 460-41-26

 

ИНН: 9715347247

×

Подписаться
на рассылку

TOP