Generative and Discriminative Algorithms for Spoken Language