2021 年 6 月份:vivo 推荐算法工程师一面 · 5 道题 | 福利

问题1:介绍下什么是Word2vec

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

2021年6月份:vivo推荐算法工程师一面 · 5道题

那么什么是Word2Vec呢?

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

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

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

2021年6月份:vivo推荐算法工程师一面 · 5道题

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

2021年6月份:vivo推荐算法工程师一面 · 5道题

更多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

七月在线品牌月,价值3W元AI好课,共31门课程(每日更新1门课程),限时1分秒杀-->www.julyedu.com

2021年6月份:vivo推荐算法工程师一面 · 5道题

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

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

2021年6月份:vivo推荐算法工程师一面 · 5道题

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

2021年6月份:vivo推荐算法工程师一面 · 5道题



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

2021年6月份:vivo推荐算法工程师一面 · 5道题

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

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

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

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

**好处:**结合Wide与Deep模型各自的优势:Memorization与Generalization,Wide &Deep模型比各自模型更加有效。

问题4:Wide&Deep的Deep侧具体实现

deep部分是Embedding+MLP前馈神经网络。高维离散特征会首先被转为低维稠密向量,通常被称为Embedding vectors,Embedding 被随机初始化,并根据最终的loss来反向训练更新。隐藏层为全连接网络:

2021年6月份:vivo推荐算法工程师一面 · 5道题

其中

2021年6月份:vivo推荐算法工程师一面 · 5道题

分别为第l层的输入、偏置项、参数项与激活函数。

Deep部分的主要作用是让模型具有“泛化能力”。“泛化能力”可以被理解为模型传递特征的相关性,以及发掘稀疏甚至从未出现过的稀有特征与最终标签相关性的能力。深度神经网络通过特征的多次自动组合,可以深度发掘数据中潜在的模式,即使是非常稀疏的特征向量输入,也能得到较稳定平滑的推荐概率。

问题5:DeepFM为了解决什么问题?

在处理CTR预估问题中,传统的方法有一个共同的缺点:对于低阶的组合特征,学习到的比较少;但是低阶特征对于CTR也非常重要,于是Google为了同时学习低阶和高阶组合特征,提出了 Wide&Deep 模型:混合了一个 线性模型(Wide part)和 Deep 模型 (Deep part);这两部分模型需要不同的输入,其中Wide part部分的输入仍然依赖人工特征工程;

此时模型存在两个问题:

  • 偏向于提取低阶或者高阶的组合特征,不能同时提取这两种类型的特征;
  • 需要专业的领域知识来做特征工程;

DeepFM 在 Wide&Deep 的基础上进行改进,成功解决了上述这两个问题,并做了一些优化;

优点如下:

  • 不需要预训练FM得到隐向量;
  • 不需要人工特征工程;
  • 能同时学习低阶和高阶的组合特征;

FM模块和Deep 模块共享 Feature Embedding 部分,可以更快、更精确的训练;

七月在线品牌月,价值3W元AI好课,共31门课程(每日更新1门课程),限时1分秒杀-->www.julyedu.com

2021年6月份:vivo推荐算法工程师一面 · 5道题


本文地址:https://www.6aiq.com/article/1625314187451
本文版权归作者和AIQ共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出