Есть у меня база данных в MySQL в которой 4млн строк с сообщениями из чатов телеграма. Все сообщения из русскоязычных чатов
Сейчас бот на каждое сообщение которое он "прочитал" бросает кубик и если выпал шанс -
1) берет исходное сообщение на которое он "стригерился"
2) разделяет его по пробелам
3) берет все слова длиннее 3х символов
4) Идет в sphinx (который проиндексировал ту самую базу с сообщениями) и достает все сообщения в которых встречается любое из слов исходного сообщения
5) "тренирует" модель цепи Маркова.
6) Если цепь маркова дала результат - отвечает результатом. Иначе берет случайное сообщение из выборки пункта 4
Как результат имеем почти 90% вероятность что он ответит просто чужим сообщением, а не результатом из цепи Маркова.
Собственно вопрос. Какой самый простой способ улучшить алгоритм? Бот чисто развлекательный. Хочется чтобы бот отвечал хоть как то интересно(даже если не совсем правильно, пускай путает склонения, орфографию, грамматику но соблюдает тему или просто веселил народ своей кривой речью). Я не знаком с современными ML, NN технологиями. Но задача не выглядит ОЧЕНЬ сложной. Как бы вы реализовали разговорного бота?
Бот на NodeJs. готов взять в аренду тачку для обучения любой модели. Все что нагуглилось либо устарело либо не ложиться на мои данные.