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。 这个矩阵就是我们上文提到的词嵌入需要的矩阵。