The language model isn't exactly trained, at least AFAIK, more like
constructed.
It's similar to a regexp like ((a | aaron | abacus | ... | zygote)
( |,|.|!|?))* except more complicated and with probabilities on arcs.
One can't just add stuff to it, it has to be recreated from scratch. I
don't know how this is done currently.