【自然语言处理】word2vec的学习记录

word2vec是用来生成词向量的相关模型,由Google在2013年提出,相关的论文有以下三篇
Efficient Estimation of Word Representations in Vector Space
Distributed Representations of Words and Phrases and their Compositionality

基本介绍

word2vec的基本思想是:利用相似的词具有相似的上下文这一思想,训练神经网络模型。模型的输入是某个词,输出是这个词的上下文。经过神经网络的训练后,可以得到每一个词在高维空间中的向量表示,其中相似的词语在高维空间中的向量表示也是相互靠近的。

word2vec有两种不同的模型,分别是CBOW和Skip-Gram.CBOW的基本思想是:用上下文词来预测中心词;Skip-Gram的基本思想是:用中心词来预测上下文词。

1.背景知识

在word2vec提出前,已经有很多表示词向量的方法,也有一些神经网络语言模型。但是这些模型或多或少会存在一定的缺陷。

1.1词向量

词向量的表示分为离散型和分布式型两种,离散型的词向量表示,词语与词语之间没有直接的联系,无法计算不同词向量之间的相似性;分布式型的词向量有传统的n-gram模型以及神经网络语言模型,分布式的词向量之间的关系可以进行计算。

1.1.1 one-hot

one-hot是最简单的词向量表示,它的形式是用N维向量来表示单词(N代表词表的长度),在N维向量中,单词对应词表的序号维度上的值为1,其余都为0.这种编码方式存在很多缺陷。

1.1.2词袋模型

词袋模型的维度也是N,与one-hot不同的是,词袋模型的词向量中每一个维度的数值都代表词表中的单词在文本中出现的次数。这种方式也存在很多缺陷。

1.2 语言模型

神经网络语言模型用来训练词向量,它可以获得分布式的词向量,这种词向量解决了离散型词向量的缺陷。

1.2.1n-gram模型

自然语言处理中N-Gram模型介绍

1.2.2NNLM

参考论文《A Neural Probabilistic Language Model》

2.word2vec模型

word2vec有两种模型,分别是CBOW和Skip-Gram,下边分别介绍这两种模型的基本架构。

2.1 CBOW模型

CBOW模型是指,在已知一个单词上下文的情况下,对这个单词进行预测。例如已知单词 w t − 2 , w t − 1 , w t + 1 , w t + 2 w_{t-2},w_{t-1},w_{t+1},w_{t+2} wt2,wt1,wt+1,wt+2,预测单词 w t w_t wt.学习的目标是最大化对数似然函数
∑ l o g p ( w ∣ C o n t e x t ( w ) ) \sum logp(w|Context(w)) logp(wContext(w))
CBOW的模型架构图如下
在这里插入图片描述

2.2 skip-gram模型

skip-gram模型是指,在已知上下文的情况下,对中心词进行预测。例如已知单词 w t w_t wt,预测上下文单词 w t − 2 , w t − 1 , w t + 1 , w t + 2 w_{t-2},w_{t-1},w_{t+1},w_{t+2} wt2,wt1,wt+1,wt+2.学习的目标函数是 ∑ l o g p ( C o n t e x t

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值