2.8 GloVe 词向量(GloVe Word Vectors)
Last updated
Was this helpful?
Last updated
Was this helpful?
GloVe代表用词表示的全局变量(global vectors for word representation)
假定是单词在单词上下文中出现的次数,和 与和的功能一样,可以认为等同于。根据context和target的定义,会得出等于
如果将context和target的范围定义为出现于左右各10词以内的话,就有对称关系
如果对context的选择是context总是目target前一个单词,那么
对于GloVe算法,可以定义context和target为任意两个位置相近的单词,假设是左右各10词的距离,那么就是一个能够获取单词和单词彼此接近的频率计数器
GloVe模型做的就是进行优化,将差距进行最小化处理:
即。对于,这两个单词同时出现的频率是多少受影响,若两个词的embedding vector越相近,同时出现的次数越多,则对应的loss越小
当时,权重因子。这种做法直接忽略了无任何相关性的context和target,只考虑的情况
出现频率较大的单词相应的权重因子较大,出现频率较小的单词相应的权重因子较小一些
因为和是完全对称的,所以和是对称的。因此训练算法的方法是一致地初始化和,然后使用梯度下降来最小化输出,当每个词都处理完之后取平均值:
GloVe算法不能保证嵌入向量的独立组成部分:
通过上面的很多算法得到的词嵌入向量,无法保证词嵌入向量的每个独立分量是能够理解的。但能够确定是每个分量和所想的一些特征是有关联的,可能是一些我们能够理解的特征的组合而构成的一个组合分量
使用上面的GloVe模型,从线性代数的角度解释如下:
加入的项,可能构成任意的分量组合