Show HN: Markov Baby Name Generator
alexeymk.com
alexeymk.com
The more letters you take to generate the next one, the closer to the original source data you get, but with a big enough corpus of source data, you can still make random names using three or four letters.
Ideally, you would want to go back infinitely many times. My understanding of why Markov models are great is because they reduce the computation required, by not looking back too far, yet they still achieve good results. The more you look back, the more possible combinations (in this case, of letters) there are to consider. As the number of possible combinations of letters increases, the chance of each combination appearing in your training corpus decreases.
N-gram models are often used at the whole word level. That is, instead of the "next letter", they are interested in the "next word". This leads to interesting ways to perform spell checking, based on the context of the surrounding words. For example take the following sentences:
"I did that to"
"I did that too"
The to is a spelling mistake, even though the word is an English word with correct spelling. Imagine how many times the phrase "I did that to" occurs in a large enough corpus, compared to "I did that too".
My understanding is that Google has the largest corpus and largest "N" (they have a 5-gram model). The cool thing is that they have released it under a CC license (http://books.google.com/ngrams/datasets).
Previously my workmates and I had started jotting down his sayings, and before we knew it had 2,000 or so entries in a database of the stuff he had said. I ran it though a Markov chain to see what sort of nonsense it would produce. My favorite thing that came out of it so far is the following,
"While I am changing my underwear people should check my email. Its an old Greek saying mate."
That is: How do I release interesting and useful data, while still preventing the disclosure of important information such as salary, or SSN for those of you in the US.
https://github.com/harperreed/Baby-Chains
The names it generates are hilarious.
Markov chains are wonderful things. A good markov chain bot will really spice up a company IRC channel.
What you do speaks so loudly that I drink this beer.
Premature optimisation is the immemorial refuge of the most troubled mind.
Collective judgement of new ideas is so often wrong that it picks up confidence as it appears.
How many seconds are there in a cellar on a rainy day?
The music business is a higher revelation than philosophy.
Art is a sign of intelligence.
My choice early in life is to have dinner.
What it actually was: I have no idea. Fixed.
C would make an awesome boy's name
Ieahaholijayson would make an awesome boy's name.
Thinking about a boy's name? how about Chosowex?
Pretty damn horrible.Some of the names aren't so bad, though: Marin, Harker, Gacon... Once in a while it'll generate a real name by accident. Those are my favorite.