An introduction to hidden Markov models and some of their applications