Интерфейс программы представляет из себя 2 раздела: Диалог и Настройки.
На странице диалога присутствует команда "Запустить диалог" для запуска ожидания голосового ввода и текстовой лог всего общения.
Для анализа речи и преобразования ее в текст используется интент RECOGNIZE_SPEECH
Данное окно будет автоматически появляться после каждого ответа бота в ожидании голосового ввода. Окончание разговора можно инициировать нажав клавишу возврата.
Ответ выдается как текстом, так и проговаривается голосом.
База вопросов и ответов расположена в регистре сведений, который можно заполнить как автоматически (в конфигурацию встроен файл для автоматического заполнения; Внимание, может занять длительное время), так и вручную.
Поиск подходящего варианта ответа осуществляются через 2 фильтра:
Запросом находятся все подходящие ответы методом транзитивного замыкания и далее из имеющихся вариантов каждый ответ проходит проверку на соответствие методом сравнения Джаро - Винклера (в коде зашит порог вхождения 50%).
Для разработки использовалась 1С:Предприятие 8.3 (8.3.17.1496), для сборки Мобильная 1С:Предприятие 8.3 (8.3.16.130)
Надеюсь, эта ночная разработка вдохновит Вас на грандиозные замыслы ;)
P.S. Прошу не ругаться за медленный поиск ответа (возможно вместо локальной базы есть смысл обращаться по api сервису), весь код - просто наброски для дальнейшей разработки.