Chapter 3.2 词向量和语言模型(二)

知识点3.2.1 共现矩阵

  • 描述一定长度范围内(窗口)词与词的共现关系
  • 共现矩阵为对称矩阵
  • 通过一个词与周围词的共现关系来表示该词

例:我喜欢机器学习

​ 我喜欢NLP

​ 我学习NLP课程

counts喜欢机器学习NLP学习课程
020010
喜欢201100
机器学习010000
NLP010011
学习100100
课程000100

存在问题:

  • 词向量维度会随着词典大小增长而线性增长,存储消耗过大

  • 词向量的特征空间过大,数据过于稀疏

  • 可使用SVD(奇异值分解)降维,但计算量会随着词典大小增长而指数级增长( V 3 V^3 V3​),难以给词典中新加入的词分配词向量

知识点3.2.2 NNLM模型(神经网络语言模型)

  • Bengio等人于2003年提出
  • 目标函数: L ( θ ) = ∑ t l o g P ( w t ∣ w t − n + 1 ⋯ w t − 1 ) L(\theta)=\sum_{t}logP(w_{t} |{w_{t-n+1}}\cdots w_{t-1}) L(θ)=tlogP(wtwtn+1wt1)
  • 四层神经网络结构,输入层、投影层、隐藏层、输出层
  • 输入层:

    w t w_{t} wt n − 1 n-1 n1个词的词向量(One-Hot编码, V × 1 V\times{1} V×1维, V V V为词典大小)

  • 投影层:

    1、将输入层的词向量映射为 n − 1 n-1 n1 D × 1 D\times{1} D×1维( D D D由用户设定)的词向量

    作用:(1)降低词的维度,(2)便于计算词的距离

    2、按顺序首尾相连拼接成长度为 ( n − 1 ) D (n-1)D (n1)D的投影层向量 x w x_{w} xw x w x_{w} xw ( n − 1 ) D × 1 (n-1)D\times{1} (n1)D×1

  • 隐藏层:

    1、隐藏层节点数为 H H H H H H由用户设定)

    2、投影层到隐藏层 z w = t a n h ( W x w + p ) z_{w}=tanh(Wx_{w}+p) zw=tanh(Wxw+p) z w z_{w} zw H × 1 H\times{1} H×1

    3、隐藏层到输出层 y w = U z w + q y_{w}=Uz_{w}+q yw=Uzw+q y w y_{w} yw V × 1 V\times{1} V×1

    式中 t a n h tanh tanh(双曲正切函数)为隐藏层的激活函数, W W W U U U分别为投影层到隐藏层以及隐藏层到输出层的权值矩阵(待估参数矩阵,可通过BP和SGD优化), p p p q q q分别为隐藏层和输出层的偏置向量

  • 输出层:

    对隐藏层计算得到的 y w = ( y w 1 , y w 2 , . . . , y w V ) T y_{w}=(y_{w_1},y_{w_2},...,y_{w_V})^T yw=(yw1,yw2,...,ywV)T进行softmax归一化,归一化后 y w i y_{w_i} ywi就可以表示前 n − 1 n-1 n1个词的下一个词为词典中第 i i i个词的概率

    P ( w t ∣ w t − n + 1 ⋯ w t − 1 ) = e y w t ∑ i = 1 V e y w i P(w_{t} |{w_{t-n+1}}\cdots w_{t-1})=\frac{e^{y_{w_t}}}{\sum_{i=1}^{V}e^{y_{w_i}}} P(wtwtn+1wt1)=i=1Veywieywt

  • 计算复杂度: ( n − 1 ) D + H ( n − 1 ) D + V H (n-1)D+H(n-1)D+VH (n1)D+H(n1)D+VH

欢迎关注微信公众号“Trihub数据社”

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值