如何调整word2vec参数优化低频词(词频5-25)的词向量效果
针对低频词(词频5~25)的word2vec参数调整方案
调整后的参考训练命令如下:
./word2vec -train corpus.txt \ -output vec.txt \ -min-count 5 -size 200 \ -window 10 -sample 2e-4 -negative 17 \ -cbow 0 -iter 12 \ -threads 16
各核心参数的调整逻辑说明:
- cbow参数:设置为
-cbow 0启用Skip-gram模型。Skip-gram的训练目标是通过中心词预测上下文,对低频词的语义捕捉能力远强于默认的CBOW模型,CBOW会对上下文词向量取平均,很容易淹没低频词本身的语义信号。 - window参数:从当前的5调整到8~12区间,示例采用10。低频词本身共现次数少,更大的上下文窗口可以捕获到更多和低频词关联的语义特征,避免学到的向量过于片面。
- sample参数:从当前的1e-5调整到1e-4~3e-4区间。sample值越高,高频词的下采样力度越强,调高后可以减少无意义高频词对训练梯度的占用,让模型分配更多权重学习低频词的共现关系。
- negative参数:从当前的10调整到15~20区间,示例采用17。低频词的正例训练样本少,增加负采样数量可以显著提升低频词向量的区分度,避免和其他不相关词的向量混淆,参数超过25后训练速度下降明显,收益边际递减。
- 额外优化建议:可以适当调高向量维度
size到180220,迭代次数`iter`到1015,低频词需要更多的特征维度和训练轮次来充分学习语义表征。
内容的提问来源于stack exchange,提问作者Denis Kulagin
相关产品推荐
相关产品推荐

