Smoothing techniques for adaptive online language models | Synapse