Как при помощи чат-бота ответить пользователю на вопрос

Я делаю проект, а именно, чат-бота в ТГ, и одной из задач является отвечать на вопросы пользователей. У меня есть список часто задаваемых вопросов, однако я не знаю, как мне добавить их в БД(sqlite) и стоит ли это вообще делать. Проблема также заключается в том что одинаковый, по сути, вопрос, может быть задан разными словами, как я понял это можно решить библиотекой nltk. Подскажите как лучше сделать или скажите как правильно загуглить данный вопрос. Заранее спасибо!


Ответы (1 шт):

Автор решения: citn

Использовать SQLite идея хорошая - он еще и поиск облегчит.

На твоем месте я бы собственно и создал БД, типо такого:

CREATE TABLE faq (
         id INTEGER PRIMARY KEY,
         question TEXT,
         answer TEXT
     );

А вот для добавления вопросов и ответов использовал бы sql-запросы: INSERT INTO faq (question, answer) VALUES ('вопрос?', 'ответ!'); При получении вопроса, конечно, можно использовать NLTK, но я бы поискал альтернативы, но там кажется есть как раз оператор LIKE для поиска в SQL. На твоем месте я бы использовал TF-IDF или Word2Vec для сравнивания схожести вопросов, но методы немного сложные, но эффективные

→ Ссылка