3 ms·
> Sentences like “People playing cricket with a tennis bat” and “People playing tennis with a cricket bat” have very high similarity scores even though we know
by radarsat1 4y ago
> Sentences like “People playing cricket with a tennis bat” and “People playing tennis with a cricket bat” have very high similarity scores even though we know that they are different sentences.
when i first looked up sentence embeddings several years ago i was quite surprised how often it was recommended to just take the mean of the word embeddings composing the sentence, as i thought it must be too simple and make this kind of mistake. (also, i just wasn't convinced that you could summarize a sentence's meaning by averaging the words it contains) but, this was before transformers, and i figured by now that sentence embeddings had gotten more sophisticated so I'm a little uncertain why modern, large models would have the same problem.
- Der_Einzige 4y agoThe fact that we ultimately have nothing significantly better than these pooling techniques is one of the greatest letdown moments in AI to me, right up there with learning how the various language model decoding techniques work. The techniques we have for pooling or decoding are so infantile in comparison to the encoders it's actually pathetic. On the other hand, it means we have lots of publication opportunities for anyone who can do better...
- radarsat1 4y agoI think a lot of it comes down to how these things are trained. You can predict a word, and then easily calculate whether it's right or wrong. So it makes it easy to design loss functions around "word things". It's a lot harder to design loss functions around the complex intricacies of word combinations -- whether or not the network correctly predicts the sentence's meaning is much harder to calculation than whether or not it can predict a certain word. For me, the surprise is that so much sophistication pops out after training purely at the word level. However, I guess it's not surprising to find some limitations to that. But if we did have a way to calculate loss directly on sentence meaning, then you could train a much more intelligent pooling function. In principle. I'm just not sure how that loss function would look. Maybe question answering tasks are part of the key.