CBOW原理 运用CBOW模型,给出一个语句”i drink milk everyday“, 预测 ”milk“。假设第一次随机化初始矩阵和第二次随机化初始矩阵分别为:

本文通过实例演示了如何使用连续词袋(CBOW)模型预测句子中特定词汇的方法。以idrinkmilkeveryday为例,展示了词向量的构建、词向量的平均值计算以及最终得分向量的生成过程,所有步骤均使用MATLAB语言实现。

运用CBOW模型,给出一个语句”i drink milk everyday“, 预测 ”milk“。假设第一次随机化初始矩阵和第二次随机化初始矩阵分别为:

 

写出:

1.第一层输入词向量(上下文嵌入词向量),

2.词向量加总后的平均值

3.得分向量(输出层的输入向量)

”i drink milk everyday“, 预测 ”milk“根据基本公式,使用MATLAB语言解答如下:

1.第一层输入词向量(上下文嵌入词向量),

设:

i=[1 0 0 0]';

drink=[0 1 0 0]';

everyday=[0 0 0 1]';

milk=[0 0 1 0]';

 

w=[1 2 3 0; 1 2 1 2;-1 1 1 1];

第一层输入的词向量为

in_i =

     [1

     1

    -1]

in_drink =

     [2

     2

     1]

in_everyday =

  [   0

     2

     1 ]

2.词向量加总后的平均值

avr=(in_i+in_drink+in_everyday)./3

avr =

[    1.0000

    1.6667

    0.3333]

 

3.得分向量(输出层的输入向量)

由于w_prime=[1 2 -1;-1 2 -1;1 2 2;0 2 0];

score=w_prime*avr

score =

 

[    4.0000

    2.0000

    5.0000

    3.3333]

 

 

clc;clear all;
i=[1 0 0 0]';
drink=[0 1 0 0]';
everyday=[0 0 0 1]';
w=[1 2 3 0; 1 2 1 2;-1 1 1 1];
in_i=w*i
in_drink=w*drink
in_everyday=w*everyday
xw=in_i+in_everyday+in_drink

avr=(in_i+in_drink+in_everyday)./3
w_prime=[1 2 -1;-1 2 -1;1 2 2;0 2 0];

score=w_prime*avr

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值