БД для чат-бота на Python

На данный момент я пишу чат-бот, который пытается имитировать какой-то разговор. Будучи n00b в Python, я в настоящее время полагаюсь на списки и словари для некоторых стандартных ответов на стандартный набор запросов. По мере того, как я узнаю больше, я понимаю, что списков/словарей/функций будет недостаточно и что мне придется использовать какую-то базу данных. На данный момент я просто продолжаю добавлять элементы в свой список/словари, когда сталкиваюсь с новыми вопросами от пользователя. Мой вопрос в том, какую базу данных я использую для хранения/запроса данных от пользователя. Я прошел через эту и последующие ссылки в ответах , но я не нашел упоминания о том, какая БД использовалась. (Этот мой небольшой проект направлен на изучение концепций машинного обучения и НЛП)

Заранее спасибо.


person rahuL    schedule 05.12.2012    source источник


Ответы (2)


Возможно, стоит изучить redis. Это очень быстро (что важно для чат-бота) и очень просто в использовании. Однако это всего лишь хранилище ключей и значений, поэтому, если вы ищете многоуровневую логику, как в этом примере с XML, это не обязательно ваш ответ, но опять же, вы, вероятно, не захотите хранить логику в все-таки база данных.

По сути, посмотрите на Redis, но без подробностей о том, что именно вы делаете, немного сложно помочь.

person jdotjdot    schedule 05.12.2012
comment
Извините, если вопрос выглядит немного расплывчатым. Цель состоит в том, чтобы сначала создать чат-бота, который для начала взаимодействует в стандартном режиме вопрос-ответ. Для этого, как я читал Redis How-Tos, Redis выглядит нормально. Однако следующий шаг после этого — проанализировать каждое предложение/фразу и заставить бота дать обоснованный ответ, основанный исключительно на запросе, а не на стандартном наборе ответов. Следующий шаг, вероятно, будет заключаться в том, чтобы он учился / тренировался (по возможности постоянно), но я перейду этот мост, когда доберусь туда :) - person rahuL; 06.12.2012
comment
я выбрал этот ответ, потому что на данный момент он соответствует моим упрощенным потребностям. n - граммы в настоящее время слишком сложны - person rahuL; 25.02.2013

Google n-grams, вероятно, является одним из лучшая база данных, которую вы можете получить, не только дает вам частоты слов, но также дает вам n-граммы с их частотами, что позволит вам получить фразы!

Вы также можете использовать файл дампа Википедии для различных целей, таких как семантический анализ слов/терминов, как описано Марковичем и Габриловичем в их (блестящей) статье: Семантическая интерпретация обработки естественного языка на основе Википедии

person amit    schedule 05.12.2012
comment
Есть ли какие-то конкретные уроки? - person rahuL; 08.12.2012