Чат-бот Eva v2, — это пример самообучающейся системы на связке JavaScript + PHP, которая хранит свои знания в обычном текстовом файле base.json.
Особенностью версии v2 является поддержка древовидной структуры диалогов, позволяющая боту удерживать контекст беседы и создавать вложенные ветки ответов через массив sub.
Благодаря интеграции Web Speech API, система способна не только анализировать текстовые команды, но и воспринимать живую речь, превращаясь в полноценного голосового ассистента.
В отличие от жестко запрограммированных скриптов, Ева динамически расширяет свой кругозор: если ответ на вопрос отсутствует, она переходит в режим активного обучения, запоминая реакцию пользователя и мгновенно применяя её в будущих диалогах.
Вся архитектура построена на принципе максимальной автономности, где PHP-сервер выступает лишь в роли надежного хранилища, гарантируя сохранность накопленного опыта между сессиями.
Ева не просто ищет точное совпадение строки. В коде используется функция normalize(), которая убирает лишние символы и приводит текст к одному регистру.
* Она ищет ваш вопрос в массиве questions. * Если находит — выбирает случайный вариант из массива answers (чтобы общение не было однообразным).
Это главная «фишка» кода. Если Ева не находит ответ в базе:
Вчерашний пример кода показал, что Ева умеет работать с контекстом. У каждой записи есть массив sub. Это позволяет создавать древовидные диалоги: