赞
踩
采用negative sampling方式
1.处理数据,获得中心词centers(一个词对应一个序号),背景词和非背景词contexts_negatives(一个词对应一个序号),和标签labels(0和1,0表示非背景词,1表示背景词),masks(用于contexts_negatives长度不足时填充,0表示填充单元,1表示有效单元)
2.定义两个全连接层设【1】,【2】,权重矩阵均为 m * n 其中m为样本总数,n为单词向量表示的特征数
3.计算时候根据【1】【2】得到centers和contexts_negatives的表示,并且将他们做内积运算得到inputs,和targets(也就是lables),masks之后代入loss函数,loss函数为
nn.functional.binary_cross_entropy_with_logits(inputs, targets,
reduction="none", weight=mask)
得到最终输出,并做BP
4.其算法本质上是将与背景词的预测尽可能接近1,而非背景词的预测尽可能接近于0,以达到缩小损失函数的目的。
这样最终得到的表达下,中心词和背景词的单词向量内积取sigmoid后将会接近1,可以认为是两单词一起出现的可能性。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。