Сперва в голову лезет следующее: запихать в БД данные для ответов и шаблоны вопросов. При поступлении вопроса перебирать с помощью регулярного выражения по шаблону до первого подходящего и в соответствии с этим шаблоном отдать ответ, например:
/(сколько стоит|какая стоимость|почем)\ (пылесос|утюг|ноутбук|смартфон).?\ в\ (магазине)*\ (комфи|comfy|фокстрот)/i
для простых примеров будет работать, но c большим количеством перечислений плохо. Тогда можно поступить так
/(сколько стоит|какая стоимость|почем)\ ([A-zА-я\ ]{2,})\ в\ (магазине)?\ ([A-zА-я\ ]{2,})/i
все же остается неудобство с добавлением новых шаблонов. Вручную прописывать шаблоны разных типов вопросов как-то утомительно.
Еще последнее время часто мелькают темы по машинному обучению и нейронным сетям, так может с этого стоит начать? Подскажите в какую сторону копать, и по возможности, немного истории из Вашего опыта))