问题1:介绍下什么是Word2vec

在介绍Word2Vec之前需要先理解Word Embedding,它是将无法直接计算的、非结构化的单词转化为可计算的、结构化的数据-向量;

那么什么是Word2Vec呢?

Word2vec是 Word Embedding 的方法之一。他是2013年由谷歌的Mikolov提出了一套新的词嵌入方法;

Word2Vec有两种训练模式︰CBow(Continuous Bag-of-Words Model)和Skip-gram(Continuous Skip-gram Model);

CBoW:根据上下文信息预测当前值(单词)

Skip-gram:根据当前值(单词)预测上下文信息

更多Word2Vec的讲解请参考七月题库︰

请说说word2vec的简要理解–Al笔试面试题库:

https://www.julyedu.com/questions/interview-detail?kp_id=30&cate=NLP&quesld=2966

如何通俗理解Word2vec -Al笔试面试题库:

https://www.julyedu.com/questions/interview-detail?kp_id=30&cate=NLP&quesld=2761

问题2:Word2vec负采样如何实现?

现在我们看下Word2vec如何通过Negative Sampling负采样方法得到neg个负例;如果词汇表的大小为v,那么我们就将一段长度为1的线段分成V份,每份对应词汇表中的一个词。当然每个词对应的线段长度是不一样的,高频词对应的线段长,低频词对应的线段短。每个词w的线段长度由下式决定:

在word2vec中,分子和分母都取了3/4次幂如下:

在采样前,我们将这段长度为1的线段划分成M等份,这里M»V,这样可以保证每个词对应的线段都会划分成对应的小块。而M份中的每一份都会落在某一个词对应的线段上。在采样的时候,我们只需要从M个位置中采样出neg个位置就行,此时采样到的每一个位置对应到的线段所属的词就是我们的负例词。

在word2vec中,M取值默认为10^8。

问题3:Widedeep 为什么要分wide deep,好处?

Wide & Deep设计了一种融合浅层(wide)模型和深层(deep)模型进行联合训练的框架。Wide部分:通过线性模型+特征交叉,使模型具有“记忆能力(Memorization)”,通常非常有效、可解释较强。但其”泛化能力(Generalization)“需要更多的人工特征工程。

**Deep部分∶**只需要少量的特征工程,深度神经网络(DNN)通过对稀疏特征进行学习,可以较好地推广到训练样本中未出现过的特征组合,使模型具有“泛化能力”。但当user-item交互矩阵稀疏且高阶时,例如特定偏好的用户和小众产品,容易出现过拟合,导致推荐的item相关性差。

**好处:**结合Wide与Deep模型各自的优势