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