我想知道为什么不常见单词的skip-gram比word2vec中的CBOW更好。我已阅读https://code.google.com/p/word2vec/上的声明。
我想知道为什么不常见单词的skip-gram比word2vec中的CBOW更好。我已阅读https://code.google.com/p/word2vec/上的声明。
Answers:
这是我对差异的过于简单和天真的理解:
众所周知,CBOW正在学习根据上下文预测单词。或者通过查看上下文来最大化目标单词的概率。碰巧这是个难得的问题。例如,给定上下文yesterday was really [...] day
CBOW模型将告诉您,很可能单词是beautiful
or nice
。像这样的单词delightful
将很少受到模型的注意,因为它旨在预测最可能出现的单词。在许多示例中,使用频率更高的单词可以使稀有单词变得更加平滑。
另一方面,跳过语法被设计为预测上下文。给定单词,delightful
它必须理解并告诉我们,存在很大的可能性,上下文为yesterday was really [...] day
或其他相关上下文。使用skip-gram时,单词delightful
不会尝试与单词竞争,beautiful
而是delightful+context
将对视为新的观察值。因此,skip-gram将需要更多数据,因此它将学会理解甚至是稀有单词。
我刚看过一篇论文,显示出相反的内容:CBOW对于不常用的单词比skip-gram https://arxiv.org/abs/1609.08293更好。我想知道在https://code.google.com/p/word2vec/上声明的主张的来源是什么。