Loading [MathJax]/jax/element/mml/optable/GeneralPunctuation.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >论文阅读笔记:GloVe: Global Vectors for Word Representation

论文阅读笔记:GloVe: Global Vectors for Word Representation

原创
作者头像
我爱自然语言处理
修改于 2018-08-12 11:06:12
修改于 2018-08-12 11:06:12
3.4K0
举报
文章被收录于专栏:我的python我的python

摘要 1.引言 2.相关工作 3.The GloVe Model 4.实验 4.1评估方法 4.2语料库和训练细节

摘要

本文提出了一种全局对数双线性回归模型,这种模型能够结合其他两种主要模型的特点:全局矩阵分解(global matrix factorization)和局部上下文窗口(local context window)。这种模型能在词语类比任务的准确率能够达到75%,并且在词相似度计算和命名实体识别(named entity recognition)中的表现也能比其他模型要好。

1.引言

目前主流的两种模型都存在一些显著的不足。对于一些global matrix factorization方法(如LSA),在词类比任务的表现不好,表明这种方法得到的是向量空间的次优解;对于一些local context window方法(如skip-gram)可能在词类比任务上表现比较好,但这种方法没有很好得利用语料库的统计信息因为它们只在局部上下文中进行训练。

因此提出一种基于统计共现矩阵的具体的加权最小二乘模型。模型源码和训练好的词向量都放在网址:https://nlp.stanford.edu/projects/glove/

2.相关工作

这一部分简要介绍了Matrix Factorization Methods和Shallow Window-Based Methods两种方法,这里略过直接进入正题。

3.The GloVe Model

用非监督学习方法来创建词向量时,词语出现次数的统计信息是原始的信息源。尽管这方面已经有一些模型,但还是存在一些问题比如如何从这些统计信息中产生词义和这些词向量如何表达这些意义。在这里,文章介绍了一种新的模型GloVe(Global Vectors)能够利用语料库的统计信息。

一些符号的介绍:

X:统计共现矩阵

Xij:单词j在单词i的上下文出现的次数

Xi=kXik:表示任何单词出现在单词i的上下文次数

Pij=P(j|i)=Xij/Xi:表示单词j出现在单词i的上下文的概率

通过一个简单的例子来介绍从共现概率中如何得到单词特定方面的意义:

考虑两个在某些方面比较类似的词:i代表ice,j代表steam。这两个词的关系可以通过研究它们与某个词k的共现概率之比来得到。例如,k是某个和ice相关但是和steam无关的词,比如k = solid,那么将会很大;而当k和steam相关但是和ice无关时,比如k = gas,这个比值将会很小。还有k和两个词都相关(k=water)或者和两个词都不相关(k=fashion),这个比值将接近于1。

可以看出表格中的数据正好符合上述猜想。

综上,词向量的学习应该从共现概率的比值开始而不是概率本身。由于依赖于三个单词i,j和k,因此模型的一般形式如下:

其中表示词向量,表示上下文词向量

我们希望能在向量空间中编码这个信息。由于向量空间是线性的,最自然的方法就是对向量做差。因此变成如下形式:

在(2)中,由于公式右边是一个实数,而左边的参数是向量,尽管可以代表像神经网络一样的复杂结构,但这样的结构会打乱我们希望获得的线性结构,因此为了避免这种情况,首先对参数做点积:

在统计共现矩阵中,由于单词和上下文的单词是任意选择的,因此我们可以自由交换二者的角色。为了保持一致性,在进行交换时不仅仅需要交换也需要交换。最终的模型需要在这样的变换中保持不变性,但是方程(3)并不直接满足这个条件。

要满足条件,我们需要有:

将(4)带入(3)可以解出:

而对于(5)可以解得或者说:

这个变化过程过于复杂,私以为可以理解成为了解方程(3),我们需要嵌套一层exp,这样会有:

即:

只要令即可,而后也可以推导出方程(6)

对于方程(6)如果要满足轮换对称性,右边必须没有这一项,由于这一项不依赖于k,因此可以用一个对于的偏置项来吸收,最后再加上对于的偏置项 得到如下方程:

最终就由方程(1)变换得到方程(9)

利用最小二乘的思想来进行拟合,即:

代表单词表的大小。

这里还存在一个问题,对于所有的共现次数,这个模型都一视同仁,然而一些共现次数小应该被视为噪声或者或能表达的信息很少,因此需要对模型进行加权,令为权重,最终得到模型:

其中应该满足以下三个条件:

,这样可以保证当是有限值

应该是单调不减函数,这样不会导致共现次数低的值被赋予更多权重

值很大时应该相对比较小,这样不会导致共现次数很大的值被赋予过大权重

作者将的表达式确定为:

当α=3/4时,f(x)的图像为:

f(X)的图像
f(X)的图像

得到了代价函数J之后要做的就是:

4.实验

4.1评估方法

将GloVe模型得到的词向量分别用于Word analogies, Word similarity, Named entity recognition,在相同的数据集上和CBOW,SVD等方法进行比较。

4.2语料库和训练细节

语料库:略

统计共现矩阵的创建:

• 语料库中的词汇都符号化和并变为小写,建立一个含有400,000个常用词的词汇表。

• 利用上下文窗口来计数得到共现矩阵X。在利用上下文窗口时需要设定窗口的大小(论文采用了上下文各10个单词的窗口长度)和是否需要区分上文和下文等。

• 乘以一个随距离d递减的权重项,即与单词i距离为d的单词在计数时要乘上权重1/d,表示距离越远的词可能相关性越小。

采用AdaGrad的方法迭代50次(非监督学习,没有用神经网络)

模型产生两个词向量集,如果是对称矩阵,则在除了初始化的不同以外其他部分应该相同,二者表现应该接近。

作者从神经网络的训练中得到的灵感:对于某些神经网络,训练多个网络并把这些网络结合起来有助于减少过拟合和噪声并且能改善性能。受此启发,作者将作为最终词向量,并且能够使得这些词向量在某些任务上的表现变好。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
【NLP CS224N笔记】Lecture 3 GloVe: Global Vectors for Word Representation
可以很明显地看到该向量非常稀疏。常见的解决办法有两种:一是使用稀疏矩阵更新运算来更新矩阵\(U,V\)的特定的列向量。二是使用哈希来更新,即key为word string,value是对应的列向量。
marsggbo
2019/01/03
5140
四步理解GloVe!(附代码实现)
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
mantch
2019/08/29
1.1K0
四步理解GloVe!(附代码实现)
【CS224N课程笔记】词向量II: GloVe, 评估和训练
课程主页: http://web.stanford.edu/class/cs224n/
NewBeeNLP
2021/01/12
7540
【CS224N课程笔记】词向量II: GloVe, 评估和训练
重磅!!|“自然语言处理(NLP)系列教程06”之 Glove模型详解
本次文章将主要介绍Glove模型,首先会从模型的公式开始,然后解析模型构建分析,最后与跳字模型(Skip-Gram)、连续词袋模型(CWOB)做对比。
ShuYini
2019/08/08
1.8K0
重磅!!|“自然语言处理(NLP)系列教程06”之 Glove模型详解
CS224N 课程笔记之二:词向量(下)
之前我们介绍了两种表示词向量的方法:「基于数量」的矩阵分解方法(HAL & LSA)和「基于窗口」的概率方法(word2vec)。第二种方法明显优于第一种,但其只考虑了一个较小窗口内的词语信息,没有利用好全局的词语共现数据。
口仆
2020/08/14
8490
「国王-男人+女人=皇后」背后的词类比原理究竟为何?| ACL 2019
AI 科技评论按:在近些年的自然语言处理研究中,「词类比」是一个十分有趣的现象,最经典的例子莫过于「国王-男人+女人=皇后」。然而,如何将神经网路的黑盒拆开从而解释这一神奇的现象,一直都是有待探索的有趣的科学问题。近日,ACL 2019 上一篇名为「Towards Understanding Linear Word Analogies」(https://arxiv.org/abs/1810.04882)的论文对该问题进行了探究,从 csPMI 理论的角度对此进行了解释。
AI科技评论
2019/07/12
1.3K0
「国王-男人+女人=皇后」背后的词类比原理究竟为何?| ACL 2019
Glove和fastText
本文介绍两种更新一点的词向量,它们分别是2014年由Stanford团队发表的Glove和2017年由Facebook团队发表的fastText
mathor
2020/04/10
5520
资源 | Chinese Word Vectors:目前最全的中文预训练词向量集合
作者:shenshen-hungry 机器之心编译 参与:刘晓坤、思源 对于国内自然语言处理的研究者而言,中文词向量语料库是需求很大的资源。近日,北京师范大学等机构的研究者开源了「中文词向量语料库」,试图为大家解决这一问题,该库包含经过数十种用各领域语料(百度百科、维基百科、人民日报 1947-2017、知乎、微博、文学、金融、古汉语等)训练的词向量,涵盖各领域,且包含多种训练设置。目前,该研究的论文《Analogical Reasoning on Chinese Morphological and Se
机器之心
2018/06/11
2.3K0
详解GloVe词向量模型[通俗易懂]
  词向量的表示可以分成两个大类1:基于统计方法例如共现矩阵、奇异值分解SVD;2:基于语言模型例如神经网络语言模型(NNLM)、word2vector(CBOW、skip-gram)、GloVe、ELMo。   word2vector中的skip-gram模型是利用类似于自动编码的器网络以中心词的one-hot表示作为输入来预测这个中心词环境中某一个词的one-hot表示,即先将中心词one-hot表示编码然后解码成环境中某个词的one-hot表示(多分类模型,损失函数用交叉熵)。CBOW是反过来的,分别用环境中的每一个词去预测中心词。尽管word2vector在学习词与词间的关系上有了大进步,但是它有很明显的缺点:只能利用一定窗长的上下文环境,即利用局部信息,没法利用整个语料库的全局信息。鉴于此,斯坦福的GloVe诞生了,它的全称是global vector,很明显它是要改进word2vector,成功利用语料库的全局信息。
全栈程序员站长
2022/06/27
3.3K0
详解GloVe词向量模型[通俗易懂]
NLP教程(2) | GloVe及词向量的训练与评估
教程地址:http://www.showmeai.tech/tutorials/36
ShowMeAI
2022/05/01
1.1K0
NLP教程(2) | GloVe及词向量的训练与评估
斯坦福大学深度学习与自然语言处理第二讲:词向量
本文来源:52nlp 斯坦福大学在三月份开设了一门“深度学习与自然语言处理”的课程:CS224d: Deep Learning for Natural Language Processing,授课老师是青年才俊Richard Socher,以下为相关的课程笔记。 第二讲:简单的词向量表示:word2vec,Glove(Simple Word Vector representations: word2vec, GloVe) 推荐阅读材料: Paper1:[Distributed Representations
用户1737318
2018/06/05
7650
NLP中的词向量对比:word2vec/glove/fastText/elmo/GPT/bert
一、文本表示和各词向量间的对比 1、文本表示哪些方法? 2、怎么从语言模型理解词向量?怎么理解分布式假设? 3、传统的词向量有什么问题?怎么解决?各种词向量的特点是什么? 4、word2vec和NNLM对比有什么区别?(word2vec vs NNLM) 5、word2vec和fastText对比有什么区别?(word2vec vs fastText) 6、glove和word2vec、 LSA对比有什么区别?(word2vec vs glove vs LSA) 7、 elmo、GPT、bert三者之间有什么区别?(elmo vs GPT vs bert)
zenRRan
2019/06/14
3.8K0
NLP中的词向量对比:word2vec/glove/fastText/elmo/GPT/bert
【干货笔记】CS224n-2019 学习笔记 Lecture 01 Introduction and Word Vectors
人类之所以比类人猿更“聪明”,是因为我们有语言,因此是一个人机网络,其中人类语言作为网络语言。人类语言具有 信息功能 和 社会功能 。
zenRRan
2020/02/18
6570
一文总结词向量的计算、评估与优化
为了处理语言,需要将文本信息用向量的形式表达。词向量(Word Vector)或称为词嵌入(Word Embedding)就是将词语向量化。常见的生成词向量的神经网络模型有NNLM模型,C&W模型,CBOW模型和Skip-gram模型。
Datawhale
2020/07/09
2.5K0
一文总结词向量的计算、评估与优化
博客 | 斯坦福大学—自然语言处理中的深度学习(CS 224D notes-2)
关键词:内在/外在评价,超参数在类推(analogy)评估中的作用,人类判别和词向量距离间的相关性,根据上下文消歧,窗口(Window)分类。
AI研习社
2018/12/29
6120
【Embedding】GloVe:大规模语料中快速训练词向量
今天学的论文是斯坦福大学 2014 年的工作《GloVe: Global Vectors for Word Representation》,在当时有两种主流的 Word Embedding 方式,一种是矩阵分解,类似 LSA;另一种是 13 年提出的 Word2Vec,基于滑动窗口的浅层神经网络。前者的优点是利用了全局的统计信息(共现矩阵),后者的优点是计算简单且效果好 = =,但缺点是没利用全局的统计信息。所以这篇论文的主要工作是想综合两者的优点。
阿泽 Crz
2020/07/21
1.3K0
【Embedding】GloVe:大规模语料中快速训练词向量
斯坦福NLP课程 | 第2讲 - 词向量进阶
教程地址:http://www.showmeai.tech/tutorials/36
ShowMeAI
2022/05/01
6600
斯坦福NLP课程 | 第2讲 - 词向量进阶
【Hello NLP】CS224n学习笔记[3]:共现矩阵、SVD与GloVe词向量
SimpleAI 【HelloNLP】系列笔记,主要参考各知名网课(Stanford CS224n、DeepLearning.ai、李宏毅机器学习等等),并配合NLP的经典论文和研究成果、我的个人项目实践经验总结而成。希望能和各位NLP爱好者一起探索这颗AI皇冠的明珠!
beyondGuo
2020/03/11
2.4K0
NLP从词袋到Word2Vec的文本表示
在NLP(自然语言处理)领域,文本表示是第一步,也是很重要的一步,通俗来说就是把人类的语言符号转化为机器能够进行计算的数字,因为普通的文本语言机器是看不懂的,必须通过转化来表征对应文本。早期是基于规则的方法进行转化,而现代的方法是基于统计机器学习的方法。
mantch
2019/07/30
1.4K0
NLP从词袋到Word2Vec的文本表示
大语言模型-01-语言模型发展历程-02-从神经网络到ELMo
早期工作MLP(Multilayer Perceptron,MLP,多层感知机): NNLM(Neural Network Language Model,神经网络语言模型),单词映射到词向量,再由神经网络预测当前时刻词汇。是一种通过神经网络进行语言建模的技术,通常用于预测序列中的下一个词。
IT从业者张某某
2025/03/15
1920
大语言模型-01-语言模型发展历程-02-从神经网络到ELMo
推荐阅读
相关推荐
【NLP CS224N笔记】Lecture 3 GloVe: Global Vectors for Word Representation
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档