赞
踩
系列语:本系列是nlp-tutorial代码注释系列,github上原项目地址为:nlp-tutorial,本系列每一篇文章的大纲是相关知识点介绍 + 详细代码注释。
传统的自然语言处理中,通常使用one-hot向量表示单词。one-hot向量是一个只有一个1,其他均为0的稀疏向量,维度等于词典中单词的个数。示例如下:
one-hot向量有几个缺点:
1、每两个one-hot向量都是正交的,无法刻画one-hot向量之间的相似性,模型学习到的结果很难推广;
2、当词汇表中词汇数量较多时,one-hot向量维数巨大,带来维度灾难,增大模型学习的难度。
词向量是一个密集的向量,它描述的是单词的特征,可以高效地表示词与词之间的关系,维数较少,下介绍训练词向量的Word2Vec算法。
Word2Vec算法就是给定一个词,要预测在这个词左右一定词距内随机选择的某个目标词。
下面是学习的细节,此模型叫Skip-gram模型:
1、首先从训练集中抽取配对好的中心词、目标词,目标词可以是中心词周围的随机词;
例如,训练集中给定了下图所示的句子:“I want a glass of orange juice to go along with my cereal.”,先随便选一个词作为上下文词,比如说 orange,再在此词左右一定的范围内选择目标词,比如可能选到 juice、glass、my等。
2、将上下文 c 和目标词 t 作为的输入
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。