glove中文词向量_词嵌入表示-GloVe

写这篇文章的原因是今天突然发现昨天文章中提到的没有语料的那个提示,才想起来说的是GloVe,不知道下载了这个那个代码能不能跑起来,不过还是先把这个写下来吧,反正之前文本向量表示那块也没写过词嵌入的文章。估计github上那位也不会回答,只能一点点摸索了。重点还是放在层叠隐马的实体识别上。
1. Glove
GloVe(Global Vectors for Word Representation)全局词表示向量。它可以无监督地学习词向量表示。它通过训练词共现统计矩阵得到模型。它的训练方式使其可以展现词向量空间的线性子结构。
GloVe的官网地址为https://nlp.stanford.edu/projects/glove/ ,
Github地址为https://github.com/stanfordnlp/GloVe。
论文地址为https://nlp.stanford.edu/pubs/glove.pdf。
GloVe在2014发部第一个版本v1.0,在2015年发布了第二个版本v1.2。
2. GloVe具有两个显著的特点
(1)可以查找词语最近邻,如下图所示,所有蛙类词语的相似度测度函数值很大。

(2)学习到线性子结构,如下图所示,具有相似关系的不同近义词词对之间的差向量是平行的,也就是使向量差能尽可能多的捕获近义词对周围词的意义。(个人理解)这种特点有什么作用现在还想不出来。

3. GloVe的训练代码和预处理代码
Glove模型要求输入为词共现计数矩阵,因此在输入语料后,预处理代码首先统计词语共现计数矩阵,之后将词共现矩阵输入到Glove核心训练代码,核心训练代码进行训练。两个代码之间是相互隔离的。
4. GloVe基本思想
Glove本质上为以加权最小二乘为目标的对数双线性模型。该模型的直观感觉是:一个词语与另外两个不同的词语共现的概率之比可以编码该词的意义。看下图

正如我们所料想的那样,ice与solid共现的频率比与steam共现的频率高,而steam与gas共现的频率比与solid共现的频率高。这两个词都与它们共有的属性water经常同时出现,而与不相关的单词fashion很少同时出现。在概率比中,water和fashion这样的非区别性词汇的比值大小适中,而能反映ice特性的词语solid对应的比值非常大,能反映steam特性的词语gas所对应的比值非常小。这样,概率之比就编码了一些与热力学抽象概念相关的粗糙形式的意义。
