Word2Vec学习笔记

本文详细介绍了Word2Vec的概念,重点讲解了CBOW和Skip-gram模型的工作原理,包括它们的流程、区别以及训练优化方法。此外,还提到了gensim中word2vec API的重要参数设置。

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

1.Word2Vec是什么?

Word2Vec是用一个浅层神经网络将稀疏的词向量映射成为稠密向量的过程。

2.Word2Vec注重的不是模型,而是模型的参数。

word2vec的思路与自编码器(auto-encoder)的思路比较相似,都是先基于训练数据构建一个神经网络。当这个网络训练好以后,我们并不会利用这个训练好的网络处理新任务,我们真正需要的是这个模型通过训练数据所学得的参数。

3.Word2Vec的CBOW模型和Skip-gram模型

3.1 CBOW(Continuous Bag-of-Words Model)模型

CBOW模型是根据中心词的前C个或者后C个连续背景词来计算中心词出现的概率。

其具体流程为:

词向量最简单的方式是1-of-N的one-hot方式,在上图中:
(1)Input layer输入层:是上下文单词的one hot。假设单词向量空间的维度为V,即整个词库语料大小为V,上下文单词窗口的大小为C。 
(2)图中W为权值共享矩阵,假设最终词向量是N维,则W的大小为 V * N,并将赋值初始化。 
(3)假设语料中有一句话”我爱你”。如果我们现在以”爱”这个词为中心词,令C=2,则其上下文为”我”,”你”。模型把”我” “你”的onehot形式作为输入,其大小为1*V。C个1*V大小的向量分别跟同一个V * N大小的权值共享矩阵W相乘,得到的是C个1*N大小的隐层hidden layer。 
(4)C个1*N大小的hidden layer取平均,得到一个1*N大小的向量,即图中的Hidden layer。 
(5)输出权重矩阵W’为N*V,并对其进行相应的初始化工作。 
(6)将得到的Hidden layer向量 1*N与输出矩阵W’相乘,再用softmax处理,得到1*V的向量,此向量的每一维代表语料中的一个单词。概率中最大的index所代表的单词为预测出的中心词。 
(7)求loss function的的极小值。

其具体步骤可总结为下图:

3.2Skip-gram模型

Skip-gram模型是根据某中心词,然后分别计算它前后出现几个背景词的各个概率。

具体例子参照文章一文详解 Word2vec 之 Skip-Gram 模型(结构篇)

3.3CBOW模型与Skip-gram模型的比较

总体来讲:CBOW模型比Skip-gram模型的比快,但Skip-gram模型比CBOW模型准确。

具体分析参照文章cbow 与 skip-gram的比较

4.模型训练速度的提升方法Hierarchical SoftmaxNegative Sampling

5.gensim中word2vec API参数说明

特别需要注意的参数:

(1)sg : {0, 1}, 可选;训练模型: 1表示skip-gram; 0表示CBOW.

(2)hs : {0, 1},如果为1, 将用hierarchical softmax 训练模型.如果为0, 并且`negative`不为0,则将采样负采样训练模型。

参考文章:

https://blog.csdn.net/bitcarmanlee/article/details/82291968

https://yq.aliyun.com/articles/176904

https://zhuanlan.zhihu.com/p/37477611

https://www.cnblogs.com/pinard/p/7249903.html

https://www.cnblogs.com/pinard/p/7243513.html

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值