文章目录

  • Word Vector
  • Skip-grams model with negative sampling
  • Continuous Bag of Words
  • Document Vector

Word Vector

词向量模型可表示为含有一层隐藏层的前向神经网络,词向量为输入层到隐藏层的参数,即参数矩阵的行向量.

  • 语料库总词数为|V|
  • embedding后的单词维度为n
  • 输入层为n维向量
  • 输入层到隐藏层参数矩阵W∣V∣×nW_{|V|\times n}WV×n
  • 隐藏层到输出层参数矩阵U∣V∣×nU_{|V|\times n}UV×n,输出经过softmax归一化为概率分布

模型具有两种变体:skip-grams (sg)和continuous bag of words(cbow).

Skip-grams model with negative sampling

skip-grams是基于中心词预测上下文,示意图如下:

输出层的维度等于语料库单词总数,使用naive softmax计算简单,但是计算代价太高.

给定词www,上下文context(w)\text{context}(w)context(w),随机采样K个词构成词集neg(w)\text{neg}(w)neg(w),其中w,context(w)∉neg(w)w,\text{context}(w) \notin \text{neg}(w)w,context(w)/neg(w),可将context\text{context}contextneg(w)\text{neg}(w)neg(w)分别视为www的正、负样本,KKK个负采样仅构成K+1K+1K+1个logisti回归,从而退化softmax.

我们希望中心词与真实上下文单词向量的內积更大,与KKK次随机采样词的內积更小,对于单个窗口的负采样似然函数可表示为:
Jt(θ)=log⁡σ(u0⊤vc)+∑k=1Klog⁡(1−σ(uk⊤vc))J_t(\theta)=\log\sigma(u_0^\top v_c)+\sum_{k=1}^K\log(1-\sigma(u_k^\top v_c)) Jt(θ)=logσ(u0vc)+k=1Klog(1σ(ukvc))

式中u0u_0u0uku_kuk分别为上下文单词和负采样单词的onehot向量,vcv_cvc为中心词在输出层向量表示.

负样本词被采样的概率与其在语料库中的频率正相关,为相对减少常见词被采样频率。增加稀有词被采样概率,可将语料库生成的unigram分布,通过3/4次方,w被采样的概率为
P(w)=U(w)3/4/ZP(w)=U(w)^{3/4}/Z P(w)=U(w)3/4/Z
上式中Z为归一化因子,用于生成概率分布.

Continuous Bag of Words

CBOW: Predict center word from (bag of) context words.

假设n_gram总数为TTT(窗口数/训练样本数),wtw_twt为窗口ttt中心词的onehot向量,输入层向量wt~w_{\tilde t}wt~为所有邻近词onehot向量,P(wt∣wt~)P(w_t|w_{\tilde t})P(wtwt~)为窗口ttt中心词的概率分布.

模型目标函数为
J(θ)=max⁡∑t=1TlogP(wt∣wt~)=max⁡∑t=1Twt⋅log⁡softmax(U⋅f⊤(W⊤wt~))J(\theta)=\max\sum_{t=1}^Tlog P(w_t|w_{\tilde t}) =\max\sum_{t=1}^Tw_t\cdot \log\text{softmax}\left(U\cdot f^\top(W^\top w_{\tilde t})\right)\\ J(θ)=maxt=1TlogP(wtwt~)=maxt=1Twtlogsoftmax(Uf(Wwt~))
由于NNN较大(中文词约几十万),而且大语料集下MMM也非常大,模型的复杂度较大,通常是采用Negtive Sample或Hierarchical Softmax求近似解.

Document Vector

与word2vec类似,doc2vec也可采用两种训练方式:pv-dm类似于cbow(如下图),pv-dbow类似于skip-ngram.

滑动窗口从句中采样固定长度的词,将其中一个词向量作为预测,其他词向量和句向量作为输入(累加平均).

同一句在不同滑动窗口训练时共享句向量.

深度学习:词向量和句向量(Embedding)相关推荐

  1. JoSE:球面上的词向量和句向量

    作者丨苏剑林 单位丨追一科技 研究方向丨NLP,神经网络 个人主页丨kexue.fm 这篇文章介绍一个发表在 NeurIPS 2019 的做词向量和句向量的模型 JoSE(Joint Spherica ...

  2. NLP词向量和句向量方法总结及实现

    目前各种词向量是很多的,很有必要做一个综合性的总结.在CSDN上一看已经有作者做过这部分的工作了.觉得写的非常棒,于是就转载过来了,原文地址:NLP词向量和句向量方法总结及实现,具体内容如下: 一.W ...

  3. NLP深入学习——什么是词向量和句向量(Word Embedding and Sentence Embedding)

    词向量(Word Embedding) 词向量(Word embedding),又叫Word嵌入式自然语言处理(NLP)中的一组语言建模和特征学习技术的统称,其中来自词汇表的单词或短语被映射到实数的向 ...

  4. 读书笔记-深度学习推荐系统4-推荐与embedding

    本篇结合了书籍 <深度学习推荐系统>和吴恩达老师的视频课程 <Natural Language Processing and Word Embeddings>. embeddi ...

  5. 深度学习-词嵌入(word2vec)

    词嵌入(word2vec) 自然语言是一套用来表达含义的复杂系统.在这套系统中,词是表义的基本单元.顾名思义,词向量是用来表示词的向量,也可被认为是词的特征向量或表征.把词映射为实数域向量的技术也叫词 ...

  6. 深入理解深度学习——图嵌入(Graph Embedding)

    分类目录:<深入理解深度学习>总目录 前面的文章介绍了由Word Embedding延伸出的Item Embedding等,这些延伸都建立在它们有序列特性的基础上.其实,可延伸的领域还有很 ...

  7. 【吴恩达深度学习】——NLP和Word Embedding

    NLP和词嵌入 思维导图 词汇表征 one-hot表征 特征表征:词嵌入 使用word Embeddings 命名实体识别的例子: 词嵌入的迁移学习: 词嵌入和人脸编码 词嵌入的特性 类比推理的特性 ...

  8. 自动训练Embedding词向量和手动训练Embedding词向量

    手动训练自己的词向量 gensim工具包-训练自己的Word2Vec 产生word_vector.bin文件 然后调用: embedding = nn.Embedding.from_pretraine ...

  9. 简单又强大:基于深度学习的短文本向量嵌入方法

    SentenceTransfomer是一个基于Sentence-BERT开发的Python框架,可以为句子和短文本产生高质量的嵌入向量.包括英文和中文的许多语言都支持.同BERT模型相比,senten ...

  10. 李宏毅深度学习--《Unsupervised Learning:Neighbor Embedding》

    <Unsupervised Learning:Neighbor Embedding> Manifold Learning Locally Linear Embedding (LLE) La ...

最新文章

  1. PHP 通过fsockopen函数获取远程网页源码
  2. git pull遇到错误
  3. HP QC IE11不支持( win7 64位 无法安装)解决方法
  4. html焦点图自动播放纯代码,jquery焦点图片切换(数字标注/手动/自动播放/横向滚动)...
  5. 禅道项目管理_禅道项目管理软件 v12.5.1 开源版
  6. Android传感器编程入门
  7. 6-9 二叉树的非递归遍历 (20 分)
  8. 从分库分表到Database Plus,重新认知ShardingSphere
  9. 用正则表达式输出rdf文档的三元组格式数据
  10. mysql性能优化方案总结
  11. 28_Future模式1
  12. pyspark 学习笔记——pyspark安装
  13. 2017-7-8 OpenStack手工+oz自动制作CentOS 7.3镜像
  14. 2022年中式烹调师(技师)考试题库及答案
  15. 从 0 到 1,开发一个智能问答机器人
  16. mysql查询各科成绩的前三名
  17. PTA---约分最简分式 (10 分)
  18. 抓包发现tcp会话中老是出现重复的ack和大量的tcp重传——SACK(Selective Acknowledgment, 选择性确认)技术
  19. Android Palette 提取图片的主色调
  20. 次时代游戏的制作流程以及游戏美术需要掌握哪些基本软件

热门文章

  1. Java并发学习(四)-sun.misc.Unsafe
  2. 硬核干货 | 人大金仓数据库产品体系合集
  3. 中国成网络攻击最大受害国之一
  4. GUI学习笔记——04更改背景板颜色,鼠标进入事件
  5. Ceres-Solver安装与简介
  6. 糖尿病会对视网膜造成影响吗?
  7. 快捷方式图标小箭头刷新慢?百度网盘的锅---附“解除“百度网盘限速技巧(这次是百度网盘先动手的啊)
  8. Win8系统108个运行命令
  9. 怎样让计算机加快速度,六大招教你把旧电脑恢复如新,速度提升N倍!-怎么让电脑速度变快...
  10. 命令提示符之常用命令