赞
踩
前面我们已经了解了CNN卷积神经网络,这一篇文章我们将了解Word Embedding等词汇编码
首先我们得知道传统的编码方式是怎么样的。传统的编码是通过统计类型出现次数的多少来进行编码的,也就是类别A出现的次数为m,类别B出现的次数为n,那么他们就分别编码为m,n。这样编码有可能导致求加权平均值的时候衍生成为其他类别,会体现不同类别的大小关系,误差较大。所以我们需要采用一种新的编码方式:one-hot编码(独热编码)
使用N位状态寄存器来对N个状态进行编码,每个状态都有它独立的寄存器位,并且在任意时候,其中只有一位有效。
将word看作最小的一个单元,将文本空间中的某个word,通过一定的方法,映射或者说嵌入(embedding)到另一个数值向量空间。
Word Embedding的输入是原始文本中的一组不重叠的词汇,将他们放到一个字典里面,例如:[“cat”, “eat”, “apple”],就可以作为一个输入。
Word Embedding的输出就是每个word的向量表示,变成一个矩阵。
相似的单词趋向于有相似的上下文(context),我们可以构建一套算法,来实现基于上下文的特征构建。
当我们设置Context Window大小为2,范围为前后两个word,那么对于such这个词,他的Context Window就是下面绿色部分。
对于He is not lazy. He is intelligent. He is smart.
以He这这个单词举例,他在词料库里面的所有Context Window里面与is为之共现的词语的次数就是共现矩阵中is的次数
这个语料库来说,共现矩阵应该为:
共现矩阵最大的优势是这种表示方法保留了语义信息,例如,通过这种表示,就可以知道哪些词语之间是相对较近的,哪些词语之间是相对较远的。
对于该语料而言,我们先对其做一个one-hot编码,然后选取Context Window为2,那么模型中的就产生了一对input和target
如此一来,便得到了既携带上下文信息,又经过压缩的稠密词向量。
这个方法可以看作是CBOW的翻转版
Glove算法是一种基于全局词频统计的回归算法。它不是基于神经网络的,而是基于最小二乘原理的回归方法。
它结合了上面两种算法的优点,可以有效的利用全局的统计信息。
它的过程如下:
本文介绍了Word Embedding,希望大家能从中获取到想要的东西,下面附上一张思维导图帮助记忆。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。