Word2Vec

对比模型

马尔科夫假设

某一个词的出现仅依赖前面出现的几个词

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

Feedfoward Neural Net Language Model
在这里插入图片描述
首先会给每一个单词分配一个index,在输入层映射成一个向量并concat,过隐藏层经过tanh激活,最终在输出层被softmax激活得到一个概率,梯度下降使得正确的单词概率最大。根据前n-1个词预测第n个位置的单词。

输入层

在这里插入图片描述

困惑度

在这里插入图片描述
L是一句话的loss,T是句子中词的个数。

循环神经网络语言模型 (RNNLM)

在这里插入图片描述
每个事件步预测一个词,在预测第n个词的时候用了前n-1个词的信息。就没有马尔科夫假设了,Loss也是一致的。

Word2vec

Log-linear model :将语言模型看成一个多分类问题,相当于线性分类器加上softmax。skip-gram和cbow都是log线性模型。

语言模型的基本思想:句子中的下一个词的出现和前面的词是有关系的,所以可以使用前面的词预测下一个词。

Word2vec:句子中相近的词之间有联系。Word2vec的基本思想就是用词来预测词,skip-gram使用中心词预测周围的词。cbow使用周围的词来预测中心词。(实际上是一个窗口的概念,用词来预测词)

skip-gram

定义多大的范围是周围词。
在这里插入图片描述
首先给出index,one-hot编码,乘以需要训练的中心词向量矩阵W,得到1D的向量,再乘以周围词的词向量矩阵,得到1V的向量。因为最后一层会经过softmax,会有一个概率,反向传播以优化得到中心词向量矩阵以及周围词向量矩阵。其中V是所有中心词的个数,D是词向量维度。

损失函数

在这里插入图片描述

cbow

在这里插入图片描述
从周围词的index,乘以周围词矩阵,通过加和或平均的方式得到中心词向量,再乘以中心词矩阵,通过softmax得到每一个中心词的概率。反向传播优化。

损失函数

在这里插入图片描述
vc是实际的一个中心词,vj是全部的中心词矩阵。

关键技术

Hierarchical softmax

首先是skip-gram
在这里插入图片描述
对于skip-gram来说,θ都是参数,代表周围词向量,Vc代表中心词向量,每一个层次的sigmoid和都为1,相当于在这个树中进行查找,找到最大概率。(为什么is会在上层:是因为权重大,huffman树要求权重大的在浅节点)
在这里插入图片描述
会转换成一个公式,[[n(w,j+1) = ch(n(w,j))]]是一个判定,判断下一个节点是右侧节点就是1,如果是左侧节点就是-1。

接下来说的是c-bow
在这里插入图片描述
U0T是周围词向量的平均

Negative sampling

在这里插入图片描述

原来是多分类任务,现在变成二分类任务,正样本是中心词加真正的周围词,负样本通过在词表中随机选择k个周围词组成,最大化损失函数即可。但是中心词向量矩阵和周围词向量矩阵的大小没有变化,所以参数量比层次聚类要多,但是每一次计算概率的个数要小一些。

在这里插入图片描述
这里展示了采样方法,是因为高频词汇 a the and这类词带的词意很少,不适用。

我们再来看C-bow的负采样
在这里插入图片描述
大幅度减少了计算量

Subsampling of Frequent Words

自然语言处理共识:文档或者数据集中出现频率比较高的词往往携带信息少,出现频率低的词语往往携带的信息多。
为了更多的训练含有多信息的词对,开发了重采样。
在这里插入图片描述
那么词频越大,被删除的几率就越大。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值