BOW模型的缺点_词向量预训练算法

BOW模型的缺点_词向量预训练算法word2vec完整的解释可以参考《word2vec Parameter Learning Explained》这篇文章。 cbow模型 cbow模型的全称为Continuous Bag-of-Word Model。该模型的作用是根据给定的词$w_{input}$,预测目标词出现的概率$w_t$,对

 word2vec完整的解释可以参考《word2vec Parameter Learning Explained》这篇文章。

 

cbow模型

   cbow模型的全称为Continuous Bag-of-Word Model。该模型的作用是根据给定的词$w_{input}$,预测目标词出现的概率$w_t$,对应的数学表示为 $p(w_t|w_{input})$。如下图所示,Input layer表示给定的词,${h_1,…,h_N}$是这个给定词的词向量(又称输入词向量),Output layer是这个神经网络的输出层,为了得出在这个输入词下另一个词出现的可能概率,需要对Output layer求softmax。

BOW模型的缺点_词向量预训练算法

图1 单个词的CBOW模型(来源于word2vec Parameter Learning Explained)

    在cbow模型中,所有的词被编码成ont-hot向量,$V$为总词语数。input层的one-hot vector经过$W_{VXN}$矩阵后,被压缩为只有N个元素的向量$h$,之后经过$W’$矩阵出来,得到$\boldsymbol{u}$。于是根据公式,有  

$p(w_t|w_{input})=y_j=\frac{exp(u_j)}{\sum{exp(u_{j’})}}$

  最大化该条件概率,得到  

max$p(w_t|w_{input})$=max log$y_j$=$u_j$-log$\sum{exp(u_j)}$

于是得到词袋模型的Loss function:

E=-log$p(w_t|w_{input})$=log$\sum{exp(u_j)}$-$u_j$

这里,$u_j$表示第j个词向量。有了loss function,我们就可以很容易的利用各类框架进行词向量的训练了。

但是!在实际中,一个词的上下文有许多的词,往往我们需要的是,给定多个词,预测缺失词出现的概率。我们希望词袋模型能够处理这个问题。于是,为了利用之前的词袋模型,人们提出了新的解决方案。它的思路是这样的:它利用输入上下文词向量的平均与输入层到隐藏层权重的积作为输入,上下文词向量的平均作为输出。

$h=\frac{1}{C} W^T (x_1+x_2+…+x_C)$

利用之前得到的词向量,上面的公式可以简化为:

$h=\frac{1}{C}  (v_1+v_2+…+v_C)$

这里每个$v$代表了之前单个词的CBOW模型的输入词向量。

BOW模型的缺点_词向量预训练算法

图2 多个词上下文的词袋模型

 

今天的文章BOW模型的缺点_词向量预训练算法分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/51073.html

(0)
编程小号编程小号
上一篇 2023-09-01 16:06
下一篇 2023-09-01

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注