Most word embeddings do not “see” antonyms. For instance, among many words they will place vectors for “dependent” and “independent” (as an example) quite close, — actually as close as with synonyms such as “independent” and “autonomous”. So it is easy to identify synonyms as close vectors, but how to identify antonyms, or generally work with antonyms?

There are some few rare papers that try to develop embedding algorithms “aware” of antonyms (just web-search word-embedding antonyms). But I am working with standard very powerful and already trained on massive data embedding libraries.

Is there a workaround to somehow work with STANDARD embeddings but to make them not “blind” to antonyms? Thanks!


I haven't tried this before but you could get a thesaurus dataset and use it to look for patterns in antonym pairs. Perhaps there are certain dimensions of the embeddings which correspond to magnitude (e.g. great vs good) while others correspond to semantics (e.g. dogs & cats are both pets). If so in theory you could make (some of) those magnitude dimensions negative & then find neighboring words to automatically find antonyms.

It's not perfect but it might be the best option when working with existing embedding models.


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.