Text this: Semantic Smoothing for Language Models via Distribution Estimation and Embeddings