运用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