Hidden Markov Models and Viterbi Algorithm