(also, sorry, the speech stuff was using HMM+GMM models, and now mostly use HMM+DNN models [so, we replaced the gaussian mixture model with a DNN, but kept the HMM], although some people are moving over to RNN models which doesn't use HMMs (connectionist temporal classification))
This is a great course, about NLP generally:
http://cs224d.stanford.edu/syllabus.html
A typical NLU system might be:
an intent classifier to predict intent (e.g., "play music"). This can be pretty much anything (SVM, logistic regression, RNN, I don't care, try stuff and see what works for you)
a segmentation model or slot-filling model (so label every word as either junk or "album name" or "song name" or whatever). This requires a sequence model, e.g., HMMs, CRFs, LSTM-RNNs.
Here's a nice example:
https://www.microsoft.com/en-us/research/wp-content/uploads/...