文本表示(二)c&w模型

部署运行你感兴趣的模型镜像

文本表示(二)

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)=wiC...wi1wiwi+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)=wiC...wi1wiwi+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}wiC...wi1wiwi+1...wi+C中的每一个词从词向量矩阵L中获取对应的词向量,并进行拼接作为第一层h0h_0h0
  • h0h_0h0经过一层隐藏层的学习,得到h1=f(W0h0+b0)h_1=f(W_0h_0+b_0)h1=f(W0h0+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)=W1h1+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)DwiVmax(0,1+s(wi,C)s(wi,C))

总结

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

您可能感兴趣的与本文相关的镜像

Qwen3-VL-30B

Qwen3-VL-30B

图文对话
Qwen3-VL

Qwen3-VL是迄今为止 Qwen 系列中最强大的视觉-语言模型,这一代在各个方面都进行了全面升级:更优秀的文本理解和生成、更深入的视觉感知和推理、扩展的上下文长度、增强的空间和视频动态理解能力,以及更强的代理交互能力

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值