Great slideshow. Word embeddings are already indispensable in NLP, but I'm wondering if it is right to assign just a unique vector per word. Instead, each word should have a vector based on context, for disambiguation and nuance.
I see word meaning as an action similar to object recognition in vision - we have to infer meaning because the actual word itself is a family of meanings. Most of the time it's used one word - one embedding, even in word2vec which is the standard method used in papers.
Of course word sense disambiguation is an old topic of research and there are many methods. The translation task is probably the ultimate word-disambiguation application - it shows how much work is still to do after word embedding, in order to understand the meaning of words. If words had unique meanings, we could have done translation with simple dictionary substitutions.
For many downstream tasks it doesn't seem to improve things though. NLP is hard - lots of things should work but don't because of the sparse training data. Like this slide deck says: most sentences occur only once.
I realized after posting that I was naive. LSTMs are practically word embedding combinators. Training LSTMs should solve the problem of combining words and interpreting them in context.
I thought Spacy only did part of speech disambiguation rather than sense disambiguation. ie. it would be confused if a word has multiple meanings, all of which are nouns.
This demo uses the Spacy POS tagging to build a word embedding which disambiguates multiple senses. The paper explains it: https://arxiv.org/abs/1511.06388
> Instead, each word should have a vector based on context, for disambiguation and nuance.
You do realize even under vanilla Word2vec, each word embedding is a sum of both the word vector and a vector of a surrounding window of words? Each embedding results from maximizing the likelihood of a small surrounding context given the word. Thus, context is factored in.
I edited the page. Now there's a download button and a preview button. If you click the preview button, the javascript document viewer embedding the pdf will be loaded, otherwise it won't be loaded.
14 comments
[ 6.6 ms ] story [ 46.0 ms ] threadI see word meaning as an action similar to object recognition in vision - we have to infer meaning because the actual word itself is a family of meanings. Most of the time it's used one word - one embedding, even in word2vec which is the standard method used in papers.
Of course word sense disambiguation is an old topic of research and there are many methods. The translation task is probably the ultimate word-disambiguation application - it shows how much work is still to do after word embedding, in order to understand the meaning of words. If words had unique meanings, we could have done translation with simple dictionary substitutions.
For many downstream tasks it doesn't seem to improve things though. NLP is hard - lots of things should work but don't because of the sparse training data. Like this slide deck says: most sentences occur only once.
You do realize even under vanilla Word2vec, each word embedding is a sum of both the word vector and a vector of a surrounding window of words? Each embedding results from maximizing the likelihood of a small surrounding context given the word. Thus, context is factored in.
Vanilla Embedding based models don't handle word order well (as some of the examples upon this slide deck show).
https://www.youtube.com/watch?v=AsGf8cV4hqg
Edit: Not sure how big is it in total though. Maybe someone not on mobile can share.
Edit: Images in the slides are downloaded as you navigate to them, they’re no more than 200KB per slide.
Alessandro Lenci, Distributional models of word meaning, 2017
Doesn't appear to be release yet: http://www.annualreviews.org/doi/abs/10.1146/annurev-linguis...