随笔分类 - 搜索与推荐
摘要:参考:https://developer.aliyun.com/article/873405 def softmax_loss_with_negative_mining(user_emb, item_emb, labels, num_negative_samples=4, embed_normed=
阅读全文
摘要:参考:https://juejin.cn/post/7123830153163046926 # shuffle 和 batch 实验 data=tf.range(0,10000) data=tf.data.Dataset.from_tensor_slices(data) data1=data.shu
阅读全文
摘要:作者:淘宝技术链接:分钟级在线深度学习在手淘信息流排序模型中的探索与实践这篇文章实践性很好,值得学习~ 前些年流行的FTRL等在线学习算法在深度学习中已不太适用,为此信息流推荐算法团队从2019年开始探索在线学习的下一式——在线深度学习(Online Deep Learning, ODL),在首页商
阅读全文
摘要:目标是在数据稀疏的情况下,用模型来做特征交叉。(特征交叉可以发掘特征之间的关联性) 目标解读:我们假设一个场景:数据包含用户id,性别,年龄,地区特征来预测对口红的点击率。如果性别为女而且年轻,那么他对口红的点击率应该高,这说明性别和年龄有关联,需要在多项式后,加一项(系数a*x1*x2),这就是特
阅读全文
摘要:class MMoE_Layer(tf.keras.layers.Layer): def __init__(self,expert_dim,n_expert,n_task): super(MMoE_Layer, self).__init__() self.n_task = n_task # 专家个数
阅读全文
摘要:Dot层计算两个向量中的样本间的点乘,同时也是基于batch的点乘,使用起来非常方便,在模型输出前不用再独立书写cosine部分 返回:shape为(batch_size, 1),表明batch中每一组对应样本的点乘。注意:如果在双塔中使用,在Dot前要对塔两侧向量做l2范数归一化。 示例代码: d
阅读全文
摘要:情景: 推荐召回模型训练,开始的几个epoch损失正常下降,在到某个epoch下loss突然为nan,但模型仍在继续training,最终在模型预测时,结果都为零。 查阅相关资料,可能的原因如下: 1)训练集中可能出现为NAN的特征; 2)自定义loss函数中,会存在分母为零的异常,可以加入微小的长
阅读全文
摘要:目前,双塔结构在推荐领域里已经是个常规方法了,在召回和粗排环节的模型选型中,被广泛采用。其实,不仅仅是在推荐领域,在其它领域,双塔结构也已经被越来越多得用起来了。比如,在当代搜索引擎的召回环节,除了常见的经典倒排索引来对Query和Document进行文本字面匹配外,经常也会增加一路基于Bert模型
阅读全文
摘要:AUC是否能作为召回评估指标 首先,AUC是代表模型的排序能力,因为在召回环节考虑所有推荐物品的顺序没有太大意义,所以不是一个好的评估指标。另外后面所有提到的AUC含义都是针对单个user的,即group by user AUC。 AUC和线上优化指标正相关? 不相关。我们先从AUC的计算说起,计算
阅读全文
摘要:class UnigramSampler: def __init__(self, corpus, power, sample_size): self.sample_size = sample_size self.vocab_size = None self.word_p = None counts
阅读全文
摘要:这是对之前知识的补漏:必须要拿适当的曝光未点击最为hard负样本,线上才能得到较好的效果。理论依据如下:
阅读全文
摘要:推荐中的重要用户特征: 1)用户画像,基础属性信息; 2)环境特征,一线还是45线小城镇; 3)资讯特征,新闻or搞笑or即时资讯; 4)相关性特征,关键词匹配特征,类别特征,匹配程度; 5)热度特征,有热度的咨询会做全局推送; 6)协同特征,比较强大的工具,系统过滤模型通过作品的相似程度进行推送
阅读全文
摘要:from keras import Sequential, Model from keras.optimizers import Adam from keras.callbacks import ModelCheckpoint, ReduceLROnPlateau from keras.layers
阅读全文
摘要:对于变长特征编码,我们往往需要用到此。它们的作用是: Padding:将本来不相同的样本填充到相同的长度,以便于后面的处理,我们一般使用0做填充 Mask:告诉网络层那些是真正的数据,哪些是填充的“0”,从而帮助网络层更好地计算 目的:提升序列模型的精度和准确率 使用方法如下: # 第一步,将数据p
阅读全文
摘要:loss的设计对系统来说至关重要,最初采用用户侧和商品侧向量的夹角余弦,binary_crossentropy进行优化,无法得到满意的模型效果,依托深度模型强大的拟合能力,特征向量居然全部归零。随后重新对系统改进,主要是1.负样本构建;2.loss函数设计 这里主要讲第二点。 基于距离的损失函数--
阅读全文
摘要:1.多输入、多输出 模型某一层接收多输入数据,以实现共享该层参数的目的。如对title和desc做文本分类,两类可以共享一个embedding数据,进而获取某种关联特征,示例代码如下: title = Input(shape=(30,),name="title") desc = Input(shap
阅读全文
摘要:模型结构:双塔结构,包括user tower和item tower 重要的几点: 1.user tower包括了用户的年龄、性别、期望等基本属性,行为数据:搜索query及前7天历史query 2.item tower包括了物品数据(行业特性决定),title、skills、desc,纯文本形式 3
阅读全文
摘要:注意:此模式下不能用fit_generator() 方式训练 """ GPU test """ import os import sys os.system('pip install -i https://pypi.tuna.tsinghua.edu.cn/simple keras==2.3.1')
阅读全文
摘要:关于信息流推荐系统中召回模块建模采样方式的讨论大家好,我是CNU小学生,国内top10-20互联网公司小兵一枚,在此抛砖引玉,真诚希望各位读者不吝赐教。 1.信息流推荐系统中的召回业务 2019年知名互联网公司的信息流推荐系统项目可大致分为4个模块:用户画像,物品画像,召回,排序。 召回模块的功能是
阅读全文
浙公网安备 33010602011771号