I know there have been several posts about random word generation based on large dictionaries or web lookups. However, I'm looking for a word generator which I can use to create strong password without symbols. What I'm looking for is a reliable mechanism to generate a random, non recognised, English word of a given length.
An example of the type of word would be "ratanta" etc.
Are there any algorithms that understand compatible syllables and therefore generate a pronouncable output string? I know that certain captcha style controls generate these types of words but I'm unsure whether they use an algorithm or whether they are sourced from a large set as well.
If there are any .Net implementations of this type of functionality I would be very interested to know.
The Random Word Generator is a tool to help you create a list of random words. There are many reasons one might be interested in doing this, and you're likely here because you're interested in creating a random word list. This tool can help you do exactly that. The tool is easy to use.
There are several things you can do:
1) Research English syllable structure, and generate syllables following those rules
2) Employ Markov chains to get a statistical model of English phonology.
There are plenty of resources on Markov chains, but the main idea is to record the probability of there being any particular letter after a certain sequence. For instance, after "q", "u" is very very likely; after "k", "q" is very very unlikely (this employs 1-length Markov chains); or, after "th", "e" is very likely (this employs 2-length Markov chains).
If you go the syllable model route, you can use resources like this to help you elucidate your intuitions about your language.
UPDATE:
3) You can make it much simpler by not simulating full English, but, say, Japanese, or Italian, where rules are much easier, and if it's a nonsense word it is as easy to remember as a nonsense English word. For instance, Japanese only has about 94 valid syllables (47 short, 47 long), and you can list all of them easily and pick at random.
I'd use a Markov chain algorithm for this.
In summary:
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With