I have a question regarding grouping of similar words for example I have list of words give below:

  1. artificialintelligence
  2. Artificial Intelligence
  3. AI
  4. Machine Learning
  5. ML
  6. Data Analytics
  7. Data & Analytics

I want to group these words into [Artificial intelligence, machine Learning, Data Analytics]

I have used difflib.get_close_matches() but that does not give me desired result For example this is how difflib group: Information Technology': ['Information Technology','Mobile Technology', 'newtechnology']

I have also used fuzz.token_set_ratio() but that also does not provide me the desired result. Neither Levenshtein does.

If there is any Machine learning algorithm or any python library please let me know.

Thank you

  • $\begingroup$ Seems like a classification problem, tag if score is high enough, use scikit-learn? Use a hand crafted dictionary or narrow articles on point as learning sets. $\endgroup$
    – davmor
    Sep 1, 2018 at 9:58

1 Answer 1


You won't be able to just solve this with an algorithm.

Instead you will need to solve this more data, about language and abbreviations. This is also known as world models background data etc.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.