当前位置:   article > 正文

word2vec的实现简记_作业1:word2vec及transe实现

作业1:word2vec及transe实现

采用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)
  • 1
  • 2

得到最终输出,并做BP
4.其算法本质上是将与背景词的预测尽可能接近1,而非背景词的预测尽可能接近于0,以达到缩小损失函数的目的。
这样最终得到的表达下,中心词和背景词的单词向量内积取sigmoid后将会接近1,可以认为是两单词一起出现的可能性。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/weixin_40725706/article/detail/532576
推荐阅读
相关标签
  

闽ICP备14008679号