Question

At the moment, I'm writing a chatbot which tries to simulate some sort of a conversation. Being a n00b in Python, I currently rely on lists and dictionaries for some standard responses to a standard set of queries. As I learn more, I realise that lists/dictionaries/functions aren't going to be enough and that I'd have to use some sort of database. At the moment, I just keep adding items to my list/dictionaries as I encounter new questions from the user. My question is, what database do I use to store/query data from the user. I went thru this and its subsequent links, in the answers, but I find no mention of which DB was used. (This little project of mine is aimed at teaching myself the concepts of machine learning and NLP)

Thanks in advance.

Was it helpful?

Solution 2

Might want to look into redis. It's extremely fast (which is important for a chatbot) and very easy to use. It's just a key-value store, though, so if you're looking for layered logic like that example had with XML, this isn't your answer necessarily--but then again, you probably wouldn't want to store the logic in the database anyway.

Basically, look at Redis, but without more detail about exactly what you're doing, it's a little hard to help.

OTHER TIPS

Google n-grams is probably one of the best data base you can get, not only it gives you frequencies of words , it also gives you n-grams with their frequencies, which will allow you to get phrases!

You could also use wikipedia dump file for various uses, like Semantic analyzes of words/terms, as described by Markovitch & Gabrilovich in their (brilliant) paper: Wikipedia-based Semantic Interpretation for Natural Language Processing

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top