前言:
? ? 问题:传统的词语的向量表达不能反映词和词之间的相似性和相关语义,且表示维度很长,容易造成维度灾难。(如One-Hot表达一个词,就是初始化一个长度为语料库的向量,并将该词所在位置初始化为1,其他位置均为0,维度很长,且无法反映各个词语之间的关系)因此这种局限导致只能完成一些简单的NLP任务。
? ? ?措施:于是为了解决这个问题,就不得不提到Word2Vec了,这是NLP领域经典论文,其核心内容在于它提出的CBOW模型和Skip-gram模型。目的:解决词语表示维度过长的问题 以及 词语的向量表示不能反映语义的问题。
正文:
? ? ? ①CBOW(连续词袋模型),目的:用上下文词来预测中心词。传统的词袋模型(BOW:Bag Of Words)将每个文档视为一个无序词汇集,同时忽略掉文本的语法和语序,只考虑每个词语的出现频率。其本质还是将文本经过分词处理后,统计频率,再将频率组合成向量。
? ? ? ? ?于是,CBOW模型将每个词语的向量表示的长度,人为地固定在某一个范围内。如设置文本窗口长度为5,则中心词前面有两个单词,中心词后面也有两个单词,最后中心词的向量表示的长度为5,向量的每个值为