I would like to classify abbreviations using machine learning. For example: I have watermel. and I ask for user what is watermel.(my application context is about food). Then He classify as watermelon. In other time, If Other user insert waterme. Is It exist a way to infer that waterme is the same as watermelon using machine learning techniques?
Look into this package for Python: https://pypi.python.org/pypi/Distance/
You can use this to generate a numeric value representing the similarity between word.
Here is a similar post that should help: https://stats.stackexchange.com/questions/123060/clustering-a-long-list-of-strings-words-into-similarity-groups
Additionally, a level up in complexity would be to use t-SNE on an array generated using word2vec (this is word embedding). Examples and resources for this are: https://www.codeproject.com/tips/788739/visualization-of-high-dimensional-data-using-t-sne http://sebastianruder.com/word-embeddings-1/