word2vec简介

本文介绍了Word2Vec模型的基本原理,包括其作为三层神经网络的结构组成、词向量的生成方式及其优化方法NCE。此外,还探讨了如何从矩阵角度理解Word2Vec。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

简单总结一下这两天对word2vec的理解,方便以后忘记的时候查看。

简单的word2vec我理解是一个三层的神经网络,第一层是输入层,第二层是一个词表,可以通过输入词向量查表获得转换后的词向量,最后一层是输出层。

这里写图片描述

词向量可以用one-hot编码,缺点是维度太多,而且相关联词之间向量之间没有任何关联。通过词表可以转换成稠密的词向量表示,并且关联较大词的词向量距离较近,关联较少的词的向量距离远。转换后的词向量,在经过一层神经网络,转换成one-hot编码格式输出。经过损失函数比如softmax就可以计算预测值和真是值之间的损失函数。
但是当词量较大,训练样本较多的情况下,这样的训练是非常耗资源的,所以需要进行优化,NCE(Noise Contrastive Estimation)就是解决这个问题,经过转换,输出层不在计算全部的输出值,而是通过负采样的方式,计算一部分输出值,然后通过简化后的loss函数优化模型。词表层由于是one-hot查表的方式,计算量比较小。

矩阵方式理解word2vec模型。
Input[batch_size, vocabulary_size] * dic[vocabulary_size, embedding_size] * output[embedding_size, vocabulary_size]

参考:

  1. https://papers.nips.cc/paper/5021-distributed-representations-of-words-and-phrases-and-their-compositionality.pdf
  2. http://proceedings.mlr.press/v9/gutmann10a/gutmann10a.pdf
  3. https://arxiv.org/pdf/1410.8251v1.pdf
  4. https://www.tensorflow.org/tutorials/word2vec
  5. http://wiki.jikexueyuan.com/project/tensorflow-zh/tutorials/word2vec.html
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

WitsMakeMen

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值