Модули FAQ
FAQ (Frequently Asked Questions) — это база вопросов, которые клиенты могут часто задавать боту. При помощи FAQ можно легко обучить бота отвечать на них.
Чтобы начать работу с FAQ:
Добавьте вопросы и ответы на них.
подсказкаДля удобства вы можете объединить вопросы на общие темы в группы.
Создание FAQ
Перейдите в проект.
На панели управления нажмите База знаний.
Если в базе знаний уже есть модули, нажмите на панели вкладок Добавить модуль.
Выберите один из вариантов создания модуля:
Пустой шаблон FAQ — в проекте будет создан пустой FAQ, где еще нет вопросов и ответов.
Загрузить из файла — FAQ будет сформирован из таблицы, которую вам нужно импортировать.
подсказкаFAQ.<тема> — FAQ будет создан из шаблона, где уже подготовлены вопросы на определенную тему.
Нажмите Добавить модуль.
Добавление вопросов и ответов
Нажмите на боковой панели, чтобы создать новый вопрос. В правой части экрана вы можете задать формулировки вопроса и ответ на него, а также при необходимости отключить вопрос.
Формулировки вопросов
После того как вы добавили вопрос, в поле Вопрос заполните его основную формулировку. В дальнейшем по этой формулировке вы сможете найти вопрос на боковой панели.
Одной формулировки в большинстве случаев недостаточно, потому что пользователи могут выразить тот же смысл иначе. Если запрос пользователя слишком сильно отличается от заданной формулировки, бот может не понять его или понять неправильно. Чтобы повысить качество распознавания вопроса:
Под основной формулировкой нажмите Добавить формулировки.
В раскрывшемся списке вы можете ввести любое число дополнительных формулировок.
Вместо текстовых фраз, близких по смыслу к основной формулировке, вы также можете использовать паттерны — формальные правила для сопоставления запросов специальным шаблонам. Такие правила могут быть полезны, когда обычных текстовых фраз недостаточно.
Чтобы переключиться на режим ввода паттернов или переделать текст в паттерн, нажмите . Для переключения обратно на ввод текста нажмите .
Ответ на вопрос
В поле Ответ введите текст или загрузите изображение, аудиозапись или файл. К ответу можно прикрепить до 20 сообщений с данными разного формата. При ответе на вопрос бот отправит их пользователю по порядку.
Тип сообщения | Формат данных | Ограничение | Описание |
---|---|---|---|
Текст | Текстовый, HTML | Нет | Можно использовать HTML-разметку при активном параметре Форматирование текста. |
Изображение | JPG, PNG, GIF, SVG, WEBP и другие | Нет | Можно загрузить с локального устройства или вставить ссылку. |
Аудио | WAV, MP3 | Нет | |
Файл | Любой | До 50 Мбайт |
Объединение вопросов в группы
Нажмите на боковой панели, чтобы создать новую группу. С помощью групп можно объединить несколько вопросов на общую тему и лучше структурировать модуль. На само распознавание вопросов группировка не влияет.
- Чтобы одновременно выделить несколько вопросов, нажмите на них левой кнопкой мыши, удерживая Ctrl или Shift (для одиночного или группового выделения).
- Чтобы поместить вопрос или несколько вопросов в группу, выделите их и перетащите на группу или на другой вопрос.
- Чтобы открыть контекстное меню, нажмите на вопрос или группу правой кнопкой мыши. Здесь можно, например, удалить вопрос или переименовать группу.
Подключение FAQ к сценарию
Из интерфейса JAICP
Вы можете подключить базу знаний из интерфейса JAICP:
- Перейдите в Базу знаний и добавьте любой модуль.
- Если в файле сценария
main.sc
нет стейта, который обращается к базе знаний, вы увидите сообщение об этом в верхней части экрана. - Нажмите Подключить, чтобы добавить в сценарий специальный стейт
KnowledgeBase
. С его помощью бот сможет отправлять ответы из базы знаний пользователю.
Через intentGroup!
Вы можете подключить базу знаний, используя глобальный тег активации intentGroup!
:
- Перейдите в редактор кода.
- Откройте основной файл сценария
main.sc
. - Добавьте в конец этого файла специальный стейт
KnowledgeBase
для обращения к базе знаний. - В стейт добавьте тег
intentGroup!
. Он объявляет группу вложенных интентов, по которым диалог сможет перейти в стейт. - После тега
script
добавьте вызов метода$faq.pushReplies
, чтобы бот использовал ответ, заданный в интерфейсе базы знаний.
state: KnowledgeBase
intentGroup!: /KnowledgeBase
script: $faq.pushReplies();
Если вы хотите задать другую логику для обработки ответов на вопросы из разных FAQ, создайте для них отдельные стейты в сценарии:
state: Education
intentGroup!: /KnowledgeBase/FAQ.Образование
a: Кажется, вас интересуют наши образовательные курсы. Вот ответ на ваш вопрос:
script: $faq.pushReplies();
state: EducationBilling
intent!: /KnowledgeBase/FAQ.Образование/Root/Как оплатить обучение?
script:
# Ищем пользователя в базе, если есть задолженность, формируем счет...
a: Вот ссылка на оплату: https://example.com
Через intentGroup
Вы можете подключить базу знаний, используя локальный тег активации intentGroup
.
Это особенно полезно, когда бот может перейти из контекста одного FAQ в другой FAQ.
state: MobileAppMortgageManagement
intent!: /KnowledgeBase/FAQ.Мобильное приложение/Root/Обслуживание ипотеки
a: Через наше приложение вы можете вносить досрочные погашения, смотреть график платежей и многое другое.
a: Если у вас есть другие вопросы по нашим ипотечным программам, я могу на них ответить!
state: Mortgage
intentGroup: /KnowledgeBase/FAQ.Ипотека || fromState = "/MobileAppMortgageManagement"
a: Кажется, вас интересуют наши программы ипотечного кредитования. Вот ответ на ваш вопрос:
script: $faq.pushReplies();