Алгоритм поиска совпадений фраз по словарям. Как эффективно найти то, что имел ввиду пользователь?
Простого решения нет. 
Вот неплохая статья, возможно она вам покажет путь решения задачи.
https://m.habr.com/ru/post/341148/
Ищите все подходящие варианты, назначайте им вес в зависимости от того, насколько полное совпадение с фразой. Затем по весу выбирайте один вариант. В идеале на вес еще и предыдущие сообщения могут влиять.