IRC: All content tagged as IRC in NoSQL databases and polyglot persistence
Monday, 6 February 2012
Redis and Python: Building a Markov-chain IRC bot
Charles Leifer:
As an IRC bot enthusiast and tinkerer, I would like to describe the most enduring and popular bot I’ve written, a markov-chain bot. Markov chains can be used to generate realistic text, and so are great fodder for IRC bots.
Redis acts, in many ways, like a big python dictionary that can store several types of useful data structures. For our purposes, we will use the set data type. The top-level keyspace will contain our “keys”, which will be encoded links in our markov chain. At each key there will be a set of words that have followed the words encoded in the key. To generate “random” messages, we’ll use the “SRANDMEMBER” command, which returns a random member from a set.
- You could use other NoSQL database for this, but you’d miss Redis’s support for sets and the O(1)
SRANDMEMBER - On the other hand imagine storing the corpus in a graph database where the nodes would represent the words and vertices would carry to pieces of information: the frequency of the connection in the corpus and the frequence of the connection used to generate the output.
Original title and link: Redis and Python: Building a Markov-chain IRC bot (©myNoSQL)
via: http://charlesleifer.com/blog/building-markov-chain-irc-bot-python-and-redis/