文本表示(二)

c&w模型

在前面提到的神经网络语言模型中,词向量只是一个副产品,并不是核心任务(它主要训练了一个用来度量语言流畅程度的模型,其中词向量是它中间产品),而且神经网络模型中的矩阵运算操作会极大的降低模型的训练效率。

所以如果目标只是学习词向量的话,可以没必要采用语言模型的方式,而可以直接从分布式假说的角度来设计模型和目标函数,c&w模型就是直接以学习和优化词向量为最终任务的。

模型定义

  • 给定训练语料中的任意一个n元组(n=2C+1):(wi,C)=wi−C...wi−1wiwi+1...wi+C(w_i,C)=w_{i-C}...w_{i-1}w_iw_{i+1}...w_{i+C}(wi​,C)=wi−C​...wi−1​wi​wi+1​...wi+C​
  • 如果将中心词wiw_iwi​随机的替换成词汇表中的任意其他词wi′w^{\\'}_iwi′​,得到一个新的n元组(wi′,C)=wi−C...wi−1wi′wi+1...wi+C(w^{\\'}_i,C)=w_{i-C}...w_{i-1}w^{\\'}_iw_{i+1}...w_{i+C}(wi′​,C)=wi−C​...wi−1​wi′​wi+1​...wi+C​
  • 那么(wi,C)(w_i,C)(wi​,C)一定比(wi′,C)(w^{\\'}_i,C)(wi′​,C)更加合理,即如果对每个n元组进行打分那么(wi,C)(w_i,C)(wi​,C)一定比(wi′,C)(w^{\\'}_i,C)(wi′​,C)的分数高:s(wi,C)>s(wi′,C)s(w_i,C)>s(w^{\\'}_i,C)s(wi​,C)>s(wi′​,C)

如图,是一个简单的前馈神经网络,目的是计算n元组的得分,并从得分区分文本是来自真实的训练文本还是随机生成的文本。真实的训练文本中的n元组(wi,C)(w_i,C)(wi​,C)为正样本,随机生成的文本(wi′,C)(w^{\\'}_i,C)(wi′​,C)为负样本。

  • 首先,对于s(wi,C)s(w_i,C)s(wi​,C),将wi−C...wi−1wiwi+1...wi+Cw_{i-C}...w_{i-1}w_iw_{i+1}...w_{i+C}wi−C​...wi−1​wi​wi+1​...wi+C​中的每一个词从词向量矩阵L中获取对应的词向量,并进行拼接作为第一层h0h_0h0​
  • h0h_0h0​经过一层隐藏层的学习,得到h1=f(W0h0+b0)h_1=f(W_0h_0+b_0)h1​=f(W0​h0​+b0​),其中f(·)是非线形激活函数
  • h1h_1h1​再经过线形变换,得到n元组(wi,C)(w_i,C)(wi​,C)的得分:s(wi,C)=W1h1+b1s(w_i,C)=W_1h_1+b_1s(wi​,C)=W1​h1​+b1​
  • 在词向量优化的过程中,c&W模型希望每一个正样本应该比对应的负样本打分高1分:s(wi,C)>s(wi′,C)+1s(w_i,C)>s(w'_i,C)+1s(wi​,C)>s(wi′​,C)+1
  • 对于整个训练语料,模型需要遍历所有的n元组,并对目标函数进行最小化优化:
    • ∑(wi,C)∈D∑wi′∈Vmax(0,1+s(wi′,C)−s(wi,C))\sum_{(w_i,C)\in{D}}\sum_{w'_i\in{V}}max(0, 1+s(w'_i,C)-s(w_i,C))∑(wi​,C)∈D​∑wi′​∈V​max(0,1+s(wi′​,C)−s(wi​,C))

总结

  • 从上面的运算图中可以看出,c&w是只有隐藏层到输出层的简单矩阵运算,计算复杂度相对于神经网络语言模型更为高效
  • 模型复杂度:o(∣h∣)o(|h|)o(∣h∣)

文本表示(二)cw模型相关推荐

  1. 四步快速配置一个简单高效的文本生成图像基准模型 T2I baseline

    本文将介绍一个简单高效的文本生成图像基准模型,该基准模型是DF-GAN20版代码,清楚简单,实用性高,本基准模型代码在他的基础上经过少量简化和处理,虚拟环境也进行了打包,非常适合作为一个基线模型,然后 ...

  2. 【文本分类】常见文本分类深度学习模型汇总

    在深度学习被广泛用于NLP之前,文本分类任务的常见pipeline为: (1)人工/半自动特征抽取:包括one-hot编码.count features.TF-IDF.词性/句法信息等等 (2)分类器 ...

  3. 文本分类(二) | (1) 项目介绍

    完整项目 文本分类(二)专栏主要是对Github优秀文本分类项目的解析,该文本分类项目,主要基于深度学习模型,包括TextCNN.TextRNN.FastText.TextRCNN.BiLSTM_At ...

  4. R语言构建文本分类模型并使用LIME进行模型解释实战:文本数据预处理、构建词袋模型、构建xgboost文本分类模型、基于文本训练数据以及模型构建LIME解释器解释多个测试语料的预测结果并可视化

    R语言构建文本分类模型并使用LIME进行模型解释实战:文本数据预处理.构建词袋模型.构建xgboost文本分类模型.基于文本训练数据以及模型构建LIME解释器解释多个测试语料的预测结果并可视化 目录

  5. 【小白学习PyTorch教程】十五、BERT:通过PyTorch来创建一个文本分类的Bert模型

    @Author:Runsen 2018 年,谷歌发表了一篇题为<Pre-training of deep bidirectional Transformers for Language Unde ...

  6. [机器学习] 二分类模型评估指标---精确率Precision、召回率Recall、ROC|AUC

    一 为什么要评估模型? 一句话,想找到最有效的模型.模型的应用是循环迭代的过程,只有通过持续调整和调优才能适应在线数据和业务目标. 选定模型时一开始都是假设数据的分布是一定的,然而数据的分布会随着时间 ...

  7. PyTorch框架学习二十——模型微调(Finetune)

    PyTorch框架学习二十--模型微调(Finetune) 一.Transfer Learning:迁移学习 二.Model Finetune:模型的迁移学习 三.看个例子:用ResNet18预训练模 ...

  8. PGM学习之二 PGM模型的分类与简介

    废话:和上一次的文章确实隔了太久,希望趁暑期打酱油的时间,将之前学习的东西深入理解一下,同时尝试用Python写相关的机器学习代码. 一 PGM模型的分类 通过上一篇文章的介绍,相信大家对PGM的定义 ...

  9. Factorization Machines 学习笔记(二)模型方程

    近期学习了一种叫做 Factorization Machines(简称 FM)的算法,它可对随意的实值向量进行预測.其主要长处包含: 1) 可用于高度稀疏数据场景:2) 具有线性的计算复杂度.本文将对 ...

  10. 国产开源「文本-视频生成」模型!免费在线体验,一键实现视频生成自由

    原文链接:全球首发,国产开源「文本-视频生成」模型!免费在线体验,一键实现视频生成自由 去年4月,OpenAI发布的DALL-E 2用更高的分辨率.更真实的图像生成以及更准确地理解自然描述,横扫整个A ...

最新文章

  1. mlxtend对sklearn进行扩展
  2. 160个Crackme041之无源码修改Delphi程序
  3. 创业?你还差一位合格的产品经理
  4. GDCM:DICOM文件的覆盖测试程序
  5. 如何通过css控制内容显示顺序 第二行的内容优先显示
  6. Django的主要开发流程(以扩充用户模型为例)
  7. Java通过HighCharts导出图表
  8. APP网络测试要点和弱网模拟
  9. css hacks (ie6,ie7,ie8,firefox,Chrome)
  10. 统一资源管理与调度平台(系统)介绍
  11. CSS3/jQuery创意盒子动画菜单
  12. 一亿人民币是什么概念?
  13. php开发当中遇到的各种问题,PHP项目开发中遇到过的问题
  14. 最优比例生成树(0/1分数规划)
  15. 软件行业做了3年,何去何从?到底该搞哪个方面?迷茫+努力
  16. 《剑指offer》面试题22——栈的压入、弹出序列(C++)
  17. 微信数据解密-dat查看
  18. 微信小程序排名规则大揭秘
  19. Maven整合SSM项目(七)
  20. 官网下载历史版本的tomcat

热门文章

  1. 斐波那契数列O(logn)的求解方法
  2. Docker问题解决:Error response from daemon: Get https://registry-1.docker.io/v2/: dial tcp: lookup regist
  3. 用Packstack 安装 Openstack,无法启动实例,cpu affinity is not supported
  4. 一周极客热文:从分析8000条软件工程师招聘信息所学到的
  5. 怎么在计算机上安装游戏,一人之下怎么在电脑上玩 一人之下电脑版安装教程分享...
  6. DIV完美等分的CSS样式实现
  7. 创业案例:七分食:专业健身餐制作者,且吃且塑形
  8. 智能手表音频特性测试_儿童手表电磁辐射测试这一环节不可少
  9. 特斯拉:上海超级工厂建设顺利 预计2019年年底正式投产
  10. mysql新建数据库关系图_创建数据库关系图失败解决方法