Given: set of images Labels in string format each one. Also I've given a set of Categories, also in string. ($Images \neq Categories $)

Goal: I need to map given labels to given categories to "squeeze" our labels set onto categories set.

Toy example: given two sets: Labels = ['apples', 'juice', 'sun', 'volleyball player', 'birds', 'trees'] and Categories = ['fruits', 'summer']. So result will be simple dictionary dict with elements from Categories set: dict['fruits'] = ['apples', 'juice', 'trees']; dict['summer'] = ['sun', 'volleyball player', 'birds']

Question: is there is a way to do that? Maybe there are many approaches with growing complexity --- it would be good to find out it all.

My approaches:

  1. First idea is very simple and intuitive: we can clusterize our Labels, using K-means, or Agglomerative Clustering. Then take clusters centroids and assigning to each centroid closest in cosine similarity vector from Categories. Mapped.
  2. Second idea is a bit complex --- to use Latent Dirichlet Allocation (LDA). First part very similar with first idea: we need to form documents, so we can clusterize Labels and then just assume that every cluster is a document. Then we got a set of topics and can also assign to each topic vector the vector from Categories. Mapped.

The problems in this approaches is a word representation. I want the algorithm to be most accurate, but understand also, that some words connected with another with number of contexts and have a number of meanings. So we need embeddings. Since BERT now is most powerful and interesting idea in word representation I can use BERT and hope it will be the most powerful approach (instead of word2vec).

Few more questions(optional answering, but appreciaеted):

  1. What approach seems more reasionable?
  2. Is it good assumption to make documents (in 2 approach) from labels, i.e. from not-necessarily related to each other?

Since I'm not a pro in DS yet, any help/comments/hints are appreciated.


Your Answer

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

Browse other questions tagged or ask your own question.