NLP—5.word2vec论文精读



一、储备知识

1. 语言模型的概念

  语言模型是用于计算一个句子出现的概率,即语言模型可以判断某一句话从语法上是否通顺(是不是人话),从语义上是否有歧义。在很多时候,我们都要度量一句话的出现概率,一句话的出现概率等同于一句话语法的流畅程度。

2. 语言模型的发展
  • 基于专家语法规则的语言模型
    语言学家企图总结出一套通用的语法规则,比如形容词后面接名词等
  • 基于统计学的语言模型
    通过概率计算来刻画语言模型
    P L M ( s ) = P L M ( w 1 , w 2 , . . . , w n ) = P L M ( w 1 ) P L M ( w 2 ∣ w 1 ) . . . P L M ( w n ∣ w 1 w 2 . . . w n − 1 ) P_{LM}(s)=P_{LM}(w_1,w_2,...,w_n)=P_{LM}(w_1)P_{LM}(w_2|w_1)...P_{LM}(w_n|w_1w_2...w_{n-1}) PLM(s)=PLM(w1,w2,...,wn)=PLM(w1)PLM(w2w1)...PLM(wnw1w2...wn1)
    基于马尔科夫假设,假设:任意一个词,它的出现概率只与前面出现的一个词(或者几个词)有关,则可以将语言模型简化如下:
    Unigram Model:
    P L M ( w ) = ∏ i = 1 n P L M ( w i ) P_{LM}(w)=\prod_{i=1}^nP_{LM}(w_i) PLM(w)=i=1nPLM(wi)
    Bigram Model:
    P L M ( s ) = P L M ( w 1 ) P L M ( w 2 ∣ w 1 ) P L M ( w 3 ∣ w 2 ) . . . P L M ( w n ∣ w n − 1 ) P_{LM}(s)=P_{LM}(w_1)P_{LM}(w_2|w_1)P_{LM}(w_3|w_2)...P_{LM}(w_n|w_{n-1}) PLM(s)=PLM(w1)PLM(w2w1)PLM(w3w2)...PLM(wnwn1)
    Trigram Model:
    P L M ( s ) = P L M ( w 1 ) P L M ( w 2 ∣ w 1 ) P L M ( w 3 ∣ w 2 , w 1 ) . . . P L M ( w n ∣ w n − 1 , w n − 2 ) P_{LM}(s)=P_{LM}(w_1)P_{LM}(w_2|w_1)P_{LM}(w_3|w_2,w_1)...P_{LM}(w_n|w_{n-1},w_{n-2}) PLM(s)=PLM(w1)PLM(w2w1)PLM(w3w2w1)...PLM(wnwn1wn2)
3.语言模型的平滑操作

  有一些词或者词组在语料中没有出现过,但是这不能代表它不可能存在。平滑操作就是给那些没有出现过的词或者词组也给一个比较小的概率。
  平滑概念指的是试图给没有出现的N-gram分配一个比较合理的数值出来,不至于直接为0。下面介绍多种平滑策略:

  • Add-one Smoothing—拉普拉斯平滑
    在这里插入图片描述
    V V V指的是词库的大小。
  • Add-K Smoothing—拉普拉斯平滑
    在这里插入图片描述
    k是一个超参数,需要训练
4. 语言模型的评价指标

  语言模型实质上是一个多分类问题(这只是一种理解方式,类别是每个词)。 下面介绍一种新的评价指标—perplexity(困惑度)
在这里插入图片描述
perplexity越低,表明语言模型认为这句话出现的概率越高,这句话越有可能出现。困惑度最小是1。句子概率越大,语言模型越好,困惑度越小。

二、研究背景

1. 词的表示方式
  • one-hot编码
    “话筒”表示为 [0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 …]
    “麦克”表示为 [0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 …]
    表示简单,
    问题:词越多,维数越高(词表大小V)无法表示词和词之间关系
  • 分布式表示(稠密表示)
    维度D(D<<V)
    在这里插入图片描述
    通过词与词之间的余弦相似度来表示词和词之间的关系

三、研究意义

  • 衡量词向量之间的相似程度
    在这里插入图片描述
    在这里插入图片描述

  • 作为预训练模型提升nlp任务
    应用到诸如:命名实体识别、文本分类下游任务中
    在这里插入图片描述
    也可以应用到其他NLP任务上,相当于半监督训练
    在这里插入图片描述

  • 双语单词嵌入

四、论文精读

  以如下两篇word2vec文章进行精读,第二篇文章是对第一篇文章细节部分的补充。
在这里插入图片描述
向 量 空 间 中 词 表 示 的 有 效 估 计 向量空间中词表示的有效估计
在这里插入图片描述
单 词 和 短 语 的 分 布 式 表 示 及 其 组 成 单词和短语的分布式表示及其组成

1. 摘要核心
  1. 提出了两种新颖的模型结构Skipgram和CBOW用来在大规模的预料上计算词向量
  2. 采用一种词相似度的任务来评估对比词向量质量,比以前的神经网络工作相比有非常大的提升
    词对的类比实验来评估对比词向量质量
  3. 大量降低模型计算量可以提升词向量质量
  4. 进一步,在我们的语义和句法的词相似度任务上,我们的词向量是当前最好的效果
2.Introduction-介绍
  • 传统NLP把词当成最小单元处理,没有词相似度的概念,并且能够在大语料上得到很好的结果,其中好的模型是N-gram模型
  • 然而,很多自然语言任务只能提供很小的语料,如语音识别、机器翻译,所以简单的扩大数据规模来提升简单模型的表现在这些任务上不再适用,所以我们必须寻找更加先进的模型
  • 数据量较大时,可以采用分布式表示方法,在大语料上,分布式表示的语言模型的效果会超过N-gram模型
3. 对比模型

  本文与前馈神经网络语言模型(NNLM)和循环神经网络语言模型(RNNLM)进行对比。

3.1 前馈神经网络语言模型(NNLM)

在这里插入图片描述
这个模型也就是所谓的N-gram模型。根据前n-1个单词,预测第n个位置单词的概率,使用梯度下降法优化模型,使得输出的正确的单词概率最大化。
在这里插入图片描述

  语言模型是无监督任务(不需要标注语料)。那么没有标注的语料是如何做监督学习的呢?根据前n-1个单词,预测第n个位置单词,这样就可以利用无标注语料进行监督学习。

  • 输入层
    将词映射成向量,相当于一个 1 × V 1×V 1×V的one-hot向量乘以一个 V × D V×D V×D的向量得到一个 1 × D 1×D 1×D的向量
    在这里插入图片描述
    在上图 前馈神经网络语言模型中,可以使用 1 × [ ( n − 1 ) × V ] × [ ( n − 1 ) × V ] × D = 1 × D 1×[(n-1)×V]×[(n-1)×V]×D=1×D 1×[(n1)×V]×[(n1)×V]×D=1×D并行计算加速。
  • 隐藏层
    一个以tanh为激活函数的全连接层
    a = t a n h ( d + W x ) a=tanh(d+Wx) a=tanh(d+Wx)
  • 输出层
    一个全连接层,后面接一个softmax函数来生成概率分布。
    y = b + U a y=b+Ua y=b+Ua
    其中y是一个 1 × V 1×V 1×V的向量,使用softmax进行归一化
    P ( w t ∣ w t − n + 1 , . . . , w t − 1 ) = e x p ( y w t
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值