Monday, June 11, 2012

Practical Hidden Markov Models

Clone the code from here.

Load the hmm.R script in an R interpreter and run the martian() bot. It learns some basic english language from the Brown Corpus (corpus.R) using the Baum-Welch algorithm. It then uses the Viterbi algorithm to classify letters. Cool :)

[snip]



$loglikelihood
[1] -17836.16
$relativegain
[1] 9.147438e-10
[1] "CONVERGED."
[1] "< done."
[1] "Hi, I'm the Martian. This is what I've learnt about your language:"
[1] "First of all, there are two kinds of letters: I'll call them vowels and consonants."
[1] "a is a vowel"
[1] "b is a consonant"
[1] "c is a consonant"
[1] "d is a consonant"
[1] "e is a vowel"
[1] "f is a consonant"
[1] "g is a consonant"
[1] "h is a consonant"
[1] "i is a vowel"
[1] "j is a consonant"
[1] "k is a consonant"
[1] "l is a consonant"
[1] "m is a consonant"
[1] "n is a consonant"
[1] "o is a vowel"
[1] "p is a consonant"
[1] "q is a consonant"
[1] "r is a consonant"
[1] "s is a consonant"
[1] "t is a consonant"
[1] "u is a vowel"
[1] "v is a consonant"
[1] "w is a consonant"
[1] "x is a consonant"
[1] "y is a vowel"
[1] "z is a consonant"
>

[snip]

Gimme feedbacks, please.
-d0p