How to classify a set of words into one of the given labels
There are probably many variants but here are two simple approches:

Using pretrained word embeddings, you can calculate the semantic similarity between two words. For example you could use cosine to measure the similarity between the vector of a target word (e.g. &quot;calm&quot;) and every word in the set (e.g. &quot;cloud&quot;). Then the mean across words in the set gives how much the set is associated to the target, and you can pick the target which has the max similarity.
Using WordNet to directly obtain a semantic distance/similarity between words. The method is similar to the one above.

Note that there are many improvements that can be done to these basic ideas, for example you could use a predefined set of words related to &quot;calm&quot; instead of just the word &quot;calm&quot; (you can get the most similar words from WordNet for instance). There also many options for the aggregation across the set of words.