深度学习之word embedding学习笔记(1)

93 篇文章 10 订阅
25 篇文章 0 订阅

词向量的来历
语言模型
Word2Vec

词向量的来历

词向量的来历
自上世纪90年代开始,特征空间模型就应用于分布式语言理解中。在当时,许多模型用连续型的表征来表示词语,包括潜在语义分析(Latent SemanticAnalysis)和潜在狄利克雷分配(Latent Dirichlet Allocation)模型。这篇文章详细介绍了词向量方法在那个阶段的发展。Bengio等人在2003年首先提出了词向量的概念,当时是将其与语言模型的参数一并训练得到的。

Collobert和Weston则第一次正式使用预训练的词向量。Collobert和Weston的那篇里程碑式的论文A unified architecture for natural language processing不仅将词向量方法作为处理下游任务的有效工具,而且还引入了神经网络模型结构,为目前许多方法的改进和提升奠定了基础。

词向量的真正推广要归因于Mikolov等人于2013年开发的Word2vec,word2vec可以训练和使用词向量。在2014年,Pennington等人发布了GloVe,这是一套预训练得到的完整词向量集,它标志着词向量
方法已经成为了NLP领域的主流。词向量方法是无监督式学习的少数几个成功应用之一。它的优势
在于不需要人工标注语料,直接使用未标注的文本训练集作为输入。输出的词向量可以用于下游的业务处理。

一般来说,神经网络将词表中的词语作为输入,输出一个低维度的向量表示这个词语,然后用反向传播的方法不断优化参数。输出的低维向量是神经网络第一层的参数,这一层通常也称作Embedding Layer。

生成词向量的神经网络模型分为两种,一种是像word2vec,这类模型的目的就是生成词向量,另一种是将词向量作为副产品产生,两者的区别在于计算量不同。若词表非常庞大,用深层结构的模型训练词向量需要许多计算资源。这也是直到2013年词向量才开始被广泛用于NLP领域的原因。计算复杂度是使用词向量方法需要权衡的一个因素,我们在后面还有讨论。

两种模型的另一个区别在于训练的目标不同:word2vec和GloVe的目的是训练可以表示语义关系的词向量,它们能被用于后续的任务中;如果后续任务不需要用到语义关系,则按照此方式生成的词向量并没有什么用。另一种模型则根据特定任务需要训练词向量。当然,若特定的任务就是对语言建模,那么两种模型生成的词向量非常相似了。顺便提一下,word2vec和GloVe在NLP中的地位就相当于VGGNet在机器视觉中的地位,都能够通过简单的训练生成有用的特征。

为了便于比较,我们约定以下符号:假设训练文本集含有T个文本w1, w2, w3 … , wt,词表V的大小是|V|。每个词语对应一个输入词向量vw(即Embedding Layer的向量),维度是d,输出一个词向量v’w(另一个词向量)。目标函数用Jθ表示,其中θ表示模型的参数,对每个输入值x输出一个得分fθ(x)。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Mr Robot

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值