-
CBOW是用window大小的滑动窗口内的词来表征中心词,skip-gram是用中心词来表征window大小的滑动窗口内的所有词;
-
训练效率而言,CBOW远胜skip-gram,随着语料或window_size的增加越发明显,因为CBOW对每个中心词只需做一次表征(embedding)学习,但skip-gram需要(window_size - 1)次;
-
性能上,对于常见词/高频词,CBOW占优;对于低频词,skip-gram更敏感。
-
非常浅显地解释:
-
对于这样一个句子:this is a [?] day,对于CBOW,这个[?]空白习得的embedding中,会有类似“形容词、形容心情或天气、情感正负向”这样的信息,最能让这句话“看起来合理”的词,可能是nice、bad、terrible...,模型训练中,会多次根据上下文,对高频词nice、bad、terrible进行含义上的修正;
-
但对于skip-gram,假设这个[?]实际上应该是“delightful”,这个词较生僻,词频低,如果以CBOW的方式训练,那么delightful的含义会同window内各个词一起进行学习,会被窗口内高频词给平均模糊掉;但skip-gram会对每个词进行学习,收到的影响也就更小。
-
-