Тема чат-ботов становится всё более популярной. KAVA - это технология создания интеллектуальных чат-ботов типа "голосовой помощник".
Внимание! Данный сайт предназначен для внутреннего использования в компании - для общего представления о технологии, демонстрации и отладки диалогов.
Чат-боты можно условно подразделить на те, которым что-то нужно от человека, и на те, от которых что-то нужно человеку. KAVA ориентируется на боты второго типа. Такой бот не инициирует диалоги, а скромно ожидает, когда к нему обратятся для удовлетворения какой-либо информационной потребности. Это голосовой помощник, а не навязчивый коммивояжер или болтливый приятель.
По технологии реализации чат-боты можно разделить на категории:
- вопрос-ответные с базой готовых пар "вопрос-ответ", среди которых ищется подходящий на поступивший запрос;
- сценарные, функционирование которых производится в рамках сценариев;
- интеллектуальные, на которые ориентируется KAVA;
В технологии KAVA одним из основных понятий является тема - это относительно независимый модуль со своими микросценариями и способами взаимодействия с внешним миром. Конечный чат-бот включает в себя произвольный набор таких модулей, и по этим темам чат-бот может общаться вперемежку и в любом порядке, чередуя темы между собой. На данном сайте представлена некоторая реализация, список тем которой и примеры диалогов можно увидеть здесь.
Внимание! Важно отметить, что KAVA - это не чат-бот, а технология! Наподобие того, что СУБД типа Oracle или Postgre не является собственно БД. Здесь на сайте представлен некоторый чат-бот, разработанный по технологии KAVA. Подробнее технология описывается здесь.
Для общения по большинству тем чат-боту необходим доступ к внешним специализированным ресурсам. Например, для прогноза погоды в конечном счёте нужно откуда-то этот прогноз получить, чтобы представить пользователю. Для этого каждая тема имеет специальный коннектор (как бы разъём), в который можно "вставить" некоторый адаптер, как вилку в розетку. Так вот, эти адаптеры реализуются вне рамок технологии KAVA - на этапе внедрения чат-бота во внешнюю систему. Если к коннектору никакой адаптер не присоединить, то бот будет общаться так-же, но в качестве результата выдавать пустую или случайную информацию, честно предупреждая об этом. Например, на запрос погоды сгененрирует случайный проноз и напишем, что данные взяты "с потолка". То есть чат-бот, разработанный по технологии KAVA, это как микроконтроллер с разъёмами, к которым можно подключить внешние устройства, но в принципе сам микроконтроллер может работать и без них. Чат-бот берёт на себя интеллектуальную часть по анализу и пониманию текстов, поступающих от пользователя, и генерацию своего текста в качестве вопросов пользователю и ответов ему. Если некоторая тема подразумевает возможность поступления каких-либо команд от пользователя, которые нужно транслировать во внешнюю систему через коннектор, то чат-бот будет эти команды вместе с возможными параметрами идентифицировать в ходе диалога и отправлять через коннектор вовне.
Технология KAVA имеет дело исключительно с текстами, голосовые функции (speech-to-text и text-to-speech) находятся вовне. На данном сайте используется Yandex SpeechKit, но может быть что угодно. При анализе учитывается специфика текста, получаемого при распознавании голоса. Например, телефон может быть задан как "плюс семь восемь два ноля потом сто двадцать один и четыре восьмёрки", отсутствие знаков препинания, регистр символов любой и т.п.