I am just wondering if it is possible to classify word clusters?

For example if I provide you an array of words [bird,chicken,dock,park,apple,grapes,furits,juice] what I need is to convert this array to something like this (or nearest possible)


Any direction to how I can achieve this, please?

  • $\begingroup$ These are human concepts. So you need a lot of human input, this won't work unsupervised. $\endgroup$ – Has QUIT--Anony-Mousse Apr 26 '19 at 8:29

Basic solution: You could convert the words to vectors, word2vec. If you can get trained word embeddings that would be a good starting point.

Then you need to cluster the vectors which should be straight forward, e.g using KMeans. What you are asking for is some hierarchy as well, which could be tricky to find with a clustering method, at least if it needs to make sense.

If you want the words closest to "Birds" you could try to just get words with the closes distance to "Bird" and test if that works out.

If the hierarchy is important: Then you likely need to use other techniques in NLP, which I am not experienced with. Have a look at "Entity linking" as an example.

Hope this helps somewhat.

  • $\begingroup$ Thank you for taking the time to write this Carl $\endgroup$ – Mohamed Mahyoub Apr 26 '19 at 9:48

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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