NLP学习-Task 2: 词向量和词义Word Senses

NLP学习

更新流程↓
Task 1: 简介和词向量Word Vectors
Task 2: 词向量和词义Word Senses
Task 3: 子词模型Subword Models
Task 4: Contextual词嵌入
Task 5: 大作业
女 生 行 为 图 鉴
监 控 行 为 大 赏
WRONG WAY


词向量和词义Word Senses




1. 词向量

 1.1. 基于统计的词向量

  词向量目的:希望通过低维稠密向量来表示词的含义

在这里插入图片描述  以上三个句子中,对每一个单词的左右两个单词出现次数进行统计。
  例1:I的左右出现了2like1enjoy,故I所对应的词向量中,like和enjoy维的值为2和1。
  例2:like的左右出现了2I1deep1NLP,故like所对应的词向量中,I、deep和NLP维的值为2、1和1。

  但这些预训练模型也存在不足:

  • 词梳理很多时,矩阵很大,维度很高,需要的存储空间也很大
  • 当词的数目是在不断增长,则词向量的维度也在不断增长
  • 矩阵很稀疏,即词向量很稀疏,会遇到稀疏计算的问题

拓展了解:https://pdfs.semanticscholar.org/73e6/351a8fb61afc810a8bb3feaa44c41e5c5d7b.pdf



 1.2. Word2vec

  Word2vec有两种模型是CBOWSkip-gram

  1. CBOW是在已知context(w)的情况下预测 w,即通过附近词预测中心词。
  2. Skip-gram在已知w的情况下预测context(w),即 通过中心词预测附近的词。
    在这里插入图片描述

  1.2.1. CBOW

  通过目标词 w w w的上下文 c o n t e x t ( w ) context(w) context(w)的词预测目标词,图中就是取大小为2的窗口,通过目标词前后两个词预测目标词。
  具体的做法是,设定词向量的维度 d d d,对所有的词随机初始化为一个 d d d维的向量,然后要对上下文所有的词向量编码得到一个隐藏层的向量,通过这个隐藏层的向量预测目标词,CBOW中的做法是简单的相加,然后做一个 s o f t m a x softmax softmax的分类,例如词汇表中一个有 V V V个不同的词,就是隐藏层 d d d维的向量乘以一个 W W W矩阵 ( R d × V ) (\mathbb{R}^{d \times V}) (Rd×V)转化为一个 V V V维的向量,然后做一个 s o f t m a x softmax softmax的分类。由于 V V V词汇的数量一般是很大的,每次训练都要更新整个 W W W矩阵计算量会很大,同时这是一个样本不均衡的问题,不同的词的出现次数会有很大的差异,所以论文中采用了两种不同的优化方法多层 s o f t m a x softmax softmax负采样


  1.2.2. Skip-gram

  跟CBOW的原理相似,它的输入是目标词,先是将目标词映射为一个隐藏层向量,根据这个向量预测目标词上下文两个词,因为词汇表大和样本不均衡,同样也会采用多层 s o f t m a x softmax softmax负采样优化。


  1.2.3. 多层 s o f t m a x softmax softmax

在这里插入图片描述
  由于单词出现的频率是不一样的,所以用哈夫曼编码构建一个二叉树,出现频率高的词放在前面可以减少计算量,用哈夫曼编码记录路径,例如图中单词2( w 2 w_{2} w2规定左边走是1,右边走是0)的哈夫曼编码就是1110,在路径上每到一个节点就是一个 s i g m o i d sigmoid sigmoid的二分类,所以叫多层 s o f t m a x softmax softmax。具体来说每个节点处会有一个 d d d维的向量参数 θ \theta θ,每个单词也是 d d d维的向量 x w x_{w} xw ,一个s i g m o i d igmoid igmoid的方程决定向左或者右走的概率,往左走的概率是:
P ( + ) = σ ( x w T θ ) = 1 1 + e − x w T θ P(+)=σ(x_{w}^{T}\theta )=\frac{1}{1+e^{-x_{w}^{T}\theta }} P(+)=σ(xwTθ)=1+e

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值