[GloVe]论文实现:GloVe: Global Vectors for Word Representation*

简介: [GloVe]论文实现:GloVe: Global Vectors for Word Representation*

一、完整代码

稍后补充

二、论文解读

2.1 当前存在的两种word2vec模型

word2vec的两个主要处理方法:

1) Matrix Factorization Methods,如潜在语义分析(LSA)

2) Shallow Window-Based Methods,如CBOW和Skip-gram

    目前,这两个模型方法都存在明显的缺陷。虽然像LSA这样的方法很有效地利用了统计信息,但它们在单词类比任务上做得相对较差,这表明了一个次优的向量空间结构。像skip-gram这样的方法可能在类比任务上做得更好,但它们很少利用语料库的统计数据,因为它们训练的是单独的局部上下文窗口,而不是全局共现计数。

    而GloVe能结合两种优点,通过只训练词共现矩阵中的非零元素,而不是训练整个稀疏矩阵或大型语料库中的单个上下文窗口,有效地利用了统计信息。产生了一个具有有意义的子结构的向量空间;

2.2 GloVe的原理

2.2.1 构建词共现矩阵

    与LSA利用word和top构建词共现矩阵不同的是,GloVe利用的是word和word构建的词共现矩阵,实现原理很简单,利用Shallow Window-Based Methods 即n-gram构建词共现矩阵,接下来我们开始下一步的推导;

2.2.2 定义和推导

    首先我们定义词共现矩阵为 X,其 Screenshot_20240510_111220.jpg 表示为 Screenshot_20240510_111334.jpg 中出现的次数;定义 Screenshot_20240510_111442.jpg 即所有词包含 Screenshot_20240510_111524.jpg 出现的次数之和;最后定义 Screenshot_20240510_111615.jpg ,表示 Screenshot_20240510_111524.jpg 出现在包含 Screenshot_20240510_111524.jpg 的上下文出现次数的可能性;


从图中我们可以看出,虽然k在ice和steam出现的概率不高,但是两者的概率的比值根据k值都有一定的变化,再根据k为solid或者gas的结果中我们可以看出,solid大于1对应分子,gas小于1对应分母;再从water和fashion两个与solid和gas几乎无相关的词的值在1附近可以看出,该比率能更好地区分相关单词和不相关单词;


    在这里我们定义 Screenshot_20240510_111524.jpg 和   Screenshot_20240510_111955.jpg 这两个词的词向量为 Screenshot_20240510_112240.jpg ,随便定义一个映射函数,包含 Screenshot_20240510_112024.jpg ,不需要在意是怎么映射的;


Screenshot_20240510_102956.jpg

然后由于向量空间本质上是线性结构,所以最自然的方法是利用向量差。即可以把 Screenshot_20240510_112422.jpg 转化为 Screenshot_20240510_112602.jpg ,即

Screenshot_20240510_103109.jpg

再可以看到减数和被减数分别代表着分子和分母,然而分子和分母之间又有一个k与他们联系起来,这里我们可以再进行转化一下,把   Screenshot_20240510_112738.jpg ,即   Screenshot_20240510_103211.jpg 在这里就结束了吗?不!我们还给这个函数添加一个新的功能

Screenshot_20240510_103520.jpg

得到

Screenshot_20240510_103604.jpg

由于需要满足这个新功能的函数只有指数函数则定义 Screenshot_20240510_103707.jpg ,则有

Screenshot_20240510_103821.jpg 从自由度的角度来解释由于公式 Screenshot_20240510_103919.jpg 其中   Screenshot_20240510_104021.jpg 的值是否固定不影响   Screenshot_20240510_104152.jpg 的关系,我们可以把其看作一个常数,通过对称性,我们可以把其值表示为

  Screenshot_20240510_104251.jpg

同时要注意到词共现矩阵肯定会出现0元素,所以我们需要进行一下优化,有

  Screenshot_20240510_104407.jpg

到这一步其实还有一个缺陷:会出现一些无意义的词共现程度非常大,所以我们需要加强一下出现词少的权重,减弱一下出现词多的权重;定义函数如下

  Screenshot_20240510_104601.jpg

在这里我们需要定义两个参数 Screenshot_20240510_104643.jpg Screenshot_20240510_104806.jpg

最后我们定义损失函数如下:

Screenshot_20240510_104852.jpg

一般来说我们把 Screenshot_20240510_104943.jpg 分别固定为100和0.75;

2.2.3 与其他模型的关系

其他模型一般是使用softmax进行分类,即要求

  Screenshot_20240510_105127.jpg (

达到最大;这样我们就可以定义其损失函数为

Screenshot_20240510_105226.jpg

不懂可以考虑一下: Screenshot_20240510_105330.jpg  ,在这里又可以通过 Screenshot_20240510_105448.jpg Screenshot_20240510_105525.jpg 转化为

Screenshot_20240510_105647.jpg

其中 Screenshot_20240510_105739.jpg 表示 Screenshot_20240510_105826.jpg 出现在包含 Screenshot_20240510_105922.jpg 的上下文出现次数的可能性; Screenshot_20240510_110045.jpg 可以写为 Screenshot_20240510_110206.jpg ,不同的模型主要差别显示在了这里, Screenshot_20240510_110304.jpg 都有 Screenshot_20240510_110404.jpg 出现在包含   Screenshot_20240510_110508.jpg 的上下文出现次数的可能性的意思,则应该输出一个平方项,于此同时   Screenshot_20240510_110603.jpg j ) 是负数,可以把负号给去掉,则应该使其平方和尽可能的小,则可以表示为

Screenshot_20240510_110704.jpg 为了简化计算有 Screenshot_20240510_110808.jpg 再根据优化,减弱出现次数多的权重,加强出现次数少的权重,最后我们可以得到

Screenshot_20240510_110910.jpg

三、过程实现

稍后补充

四、整体总结

GloVe是一种新的全局对数双线性回归模型的无监督学习,在单词类比、单词相似度和命名实体识别任务上优于其他模型(2014年之前)。


目录
相关文章
|
5天前
|
算法 TensorFlow 算法框架/工具
[FastText in Word Representations]论文实现:Enriching Word Vectors with Subword Information*
[FastText in Word Representations]论文实现:Enriching Word Vectors with Subword Information*
20 2
|
5天前
|
机器学习/深度学习 数据挖掘 Python
[Bart]论文实现:Denoising Sequence-to-Sequence Pre-training for Natural Language Generation...
[Bart]论文实现:Denoising Sequence-to-Sequence Pre-training for Natural Language Generation...
9 0
|
9月前
|
机器学习/深度学习 人工智能 自然语言处理
OneIE:A Joint Neural Model for Information Extraction with Global Features论文解读
大多数现有的用于信息抽取(IE)的联合神经网络模型使用局部任务特定的分类器来预测单个实例(例如,触发词,关系)的标签,而不管它们之间的交互。
114 0
|
9月前
|
机器学习/深度学习 自然语言处理 算法
SS-AGA:Multilingual Knowledge Graph Completion with Self-Supervised Adaptive Graph Alignment 论文解读
预测知识图(KG)中缺失的事实是至关重要的,因为现代知识图远未补全。由于劳动密集型的人类标签,当处理以各种语言表示的知识时,这种现象会恶化。
61 0
|
9月前
|
机器学习/深度学习 人工智能 自然语言处理
【论文精读】AAAI 2022 - Unified Named Entity Recognition as Word-Word Relation Classification
到目前为止,命名实体识别(NER)已经涉及三种主要类型,包括扁平、重叠(又名嵌套)和不连续NER,它们大多是单独研究的。
131 0
【论文精读】AAAI 2022 - Unified Named Entity Recognition as Word-Word Relation Classification
|
9月前
|
存储 自然语言处理 测试技术
LASS: Joint Language Semantic and Structure Embedding for Knowledge Graph Completion 论文解读
补全知识三元组的任务具有广泛的下游应用。结构信息和语义信息在知识图补全中都起着重要作用。与以往依赖知识图谱的结构或语义的方法不同
71 0
|
9月前
|
机器学习/深度学习 自然语言处理
【论文精读】COLING 2022 - DESED: Dialogue-based Explanation for Sentence-level Event Detection
最近许多句子级事件检测的工作都集中在丰富句子语义上,例如通过多任务或基于提示的学习。尽管效果非常好,但这些方法通常依赖于标签广泛的人工标注
59 0
|
11月前
PointNet++:Deep Hierarchical Feature Learning on Points Sets in a Metrci Space 学习笔记
PointNet++:Deep Hierarchical Feature Learning on Points Sets in a Metrci Space 学习笔记
56 0
|
机器学习/深度学习 自然语言处理 数据挖掘
【文本分类】Attention-Based Bidirectional Long Short-Term Memory Networks for Relation Classification
【文本分类】Attention-Based Bidirectional Long Short-Term Memory Networks for Relation Classification
115 0
【文本分类】Attention-Based Bidirectional Long Short-Term Memory Networks for Relation Classification
《Investigation of Transformer based Spelling Correction Model for CTC-based End-to-End Mandarin Speech Recognition》电子版地址
Investigation of Transformer based Spelling Correction Model for CTC-based End-to-End Mandarin Speech Recognition
78 0
《Investigation of Transformer based Spelling Correction Model for CTC-based End-to-End Mandarin Speech Recognition》电子版地址
http://www.vxiaotou.com