当前位置: 代码迷 >> 综合 >> 词嵌入 word2vec
  详细解决方案

词嵌入 word2vec

热度:15   发布时间:2023-12-15 00:53:42.0

1. 在自然语言处理中,对词的量化是一个非常重要的环节, 原始对词的量化方法是使用的one-hot方法,其定义如下。

one-hot: 存在一个词汇量为10000的语料库,如果man 这个单词在预料库中出现的位置为5391。那么man这个函数就被表示为

                                     向量的维度为10000,1的位置是在5391,其他位置都为0。

但是one-hot 方法由于其生成向量的稀疏性以及,一句话中各个单词one-hot向量的独立性。决定了one-hot方法很难再复杂的需求中起到很好的作用,词嵌入方法就是在这种条件下应运而生。

 

2.  词嵌入, 理论上来说就是一个n行10000列的矩阵  ,与 one-hot向量相乘得到的,比如man的词嵌入为, 维度为n。

3. 模型学习词嵌入

比如一句话为 i want a glass of  juice。 为了训练处一个好的词嵌入,我们可搭建模型如下

 

将I  want  a  glass  of  几个单词one-hot 化之后作为输入, 以juice one-hot化后作为标签,训练这个模型。训练这个模型,并不是为了预测juice。而是为了取隐层的参数值矩阵,也就是E。 这个矩阵就是我们上文提到的词嵌入需要的矩阵。