To practice writing codes about Forward-Backward Algorithm.
Implemented three algorithm including viterbi, forward(backward), and forward-backward algorithm.
./wscript configure
./wscript build
# simple viterbi example
./build/default/src/simple_hmm_example
wget http://www.phontron.com/data/nonparametric-exercise-ja-1.tar.gz
tar zxvf nonparametric-exercise-ja-1.tar.gz
mv nonparametric-exercise-ja-1 data
cd data
ruby -e 'output_file = File.open("gold.txt", "w"); File.open("wiki-sample.wordpart") {|file| file.each{|line| output_file.print line.chomp! + " "}}; output_file.puts'
# see command line option
./build/default/src/simple_hmm -helppackage
./build/default/src/simple_hmm -ITER=10 > data/result.txt
cd data
./grade-bayes-hmm.pl gold.txt result.txt
Setting as follows:
- Number of hidden state = 30
- Number of iteration = 200
- Training data and test data are same data(For simplicity).
- Treatment with unkown words
- Handling multi-sentence(regarding multi-sentence as one sentence now)