python自然语言处理—Word2vec模型之 skip-gram 与 cbow 比较

tech2025-02-13  11

                                      Word2vec模型之 skip-gram 与 cbow 比较

 

cbow 和 skip-gram 都是在 word2vec 中用于将文本进行向量表示的实现方法,具体的算法可查看 Word2vec模型之Skip-gram 和 Word2vec模型之 CBOW。

一、计算复杂度O

    1、cbow O(V)

        在 cbow 方法中,是用周围词预测中心词,从而利用中心词的预测结果情况,使用GradientDesent方法(梯度下降方法),不断的去调整周围词的向量。当训练完成之后,每个词都会作为中心词,把周围词的词向量进行了调整,这样也就获得了整个文本里面所有词的词向量。

        要注意的是, cbow 的对周围词的调整是统一的:求出的 gradient 的值会同样的作用到每个周围词的词向量当中去。

        可以看到,cbow 预测行为的次数跟整个文本的词数几乎是相等的(每次预测行为才会进行一次 backpropgation(反向传播), 而往往这也是最耗时的部分),复杂度大概是O(V)。

    2、skip-gram O(KV)

        skip-gram 是用中心词来预测周围的词。在 skip-gram 中&#

最新回复(0)