推荐系统论文阅读(二十八)-微信:利用深度神经网络来学习用户标签

论文:

论文题目:《Learning to Build User-tag Profile in Recommendation System》

地址:https://dl.acm.org/doi/pdf/10.1145/3340531.3412719

本论文是wx用户画像团队发表在CIKM2020 上的一篇关于如何利用神经网络对用户进行画像建模,并把建模后对画像运用在推荐系统的文章。这篇论文主要介绍了微信看一看("Top Stories")中,如何进行用户对标签的兴趣建模,进而提升召回和推荐的效果。

一 、背景

用户画像是推荐系统中最重要的组件之一,在该系统中,使用人口统计信息(例如性别,年龄和位置)和用户行为信息(例如浏览和搜索历史记录)对用户进行了表示。 在用户画像的不同维度中,tag是一种可解释且广泛使用的用户兴趣表示。 本文提出了一种用户标签分析模型(UTPM),以使用深度神经网络将用户标签分析作为多标签分类任务进行研究。

到目前为止,应用于标签推荐问题的方法主要是协同算法,这些算法仅基于用户和标签之间的共现。 但实际上,这些方法无法充分利用多领域的用户信息来帮助发现用户的兴趣。 必须应用最新的深度模型来增强用画像建模的性能。

新闻推荐系统的架构图如下:


可以看到,整个推荐系统架构主要包含四部分,新闻画像层(news profile layer),用户画像层(user profile layer),召回层(recall layer)和排序层(rank layer)。在新闻画像层,对新闻相关的特征如标签,类别等进行提取。在用户画像层,对用户的基本画像特征和行为特征进行建模。这里很重要的一块是对用户偏好标签的预测,这里将用户点击过的文章对应的标签集合作为候选集,基于后文将要介绍的模型对这些标签进行偏好预测,并用于后续阶段。随后是召回层,有多种召回方式,包括基于标签的召回、基于协同过滤的召回和基于模型的召回。最后是排序层,可以使用更为复杂的模型对召回层得到的结果进行精确的排序,最后展示给用户。

图1中的蓝色虚线展示了构建用户标签画像的过程。首先,我们收集数据并在特征生成和标签组织步骤中对其进行处理(该过程在“实验”部分中进行了详细介绍)。然后,针对每个用户,在候选集选择步骤中收集用户阅读历史记录中的所有“点击的标签”(用户点击的新闻文章中的标签),并在模型训练步骤中计算出用户对这些标签的偏好。一个用户可以拥有数千个点击的标签。此外,在预测用户对看不见的标签的偏好时,候选对象可能包含大量标签。

在构建用户标签配置文件时,至关重要的是选择特征并学习特征交互,因为模型输入由来自多个字段的众多稀疏特征组成,如图1的左侧所示。在新闻推荐系统中,单击的文章是作为正样本;浏览但未单击的文章被视为否定样本。但是,直接将这种方法应用于标签会导致将单击的新闻文章中的标签视为肯定样本,这可能会产生问题,因为单击文章的用户可能只对其标签之一感兴趣。基于上述考虑,我们旨在回答以下两个问题:

•RQ1:如何自动选择有用的特征并了解不同领域内以及不同领域之间的相互作用?

•RQ2:如何从每条点击的新闻文章中了解用户对不同标签的偏好?

带着这两个问题,我们来接着往下看这篇文章吧。

二 、Model


2.1 Feature-input layer

这部分就是Embedding层,输入信息包含两部分:

1)用户阅读相关信息,例如点击过的标签,点击过类别和微信订阅帐户字段等

2)用户画像,例如性别和年龄段等信息

这些信息都是类别信息,有些是单值离散特征,有些是多值离散特征,比如用户点击过的标签和类别都是多值离散特征,离散特征首先会通过embedding层转换成相同长度的embedding向量。关于多值离散特征的embedding,有很多方法可以对多值离散特征进行embedding,比如直接使用 tensorflow里面这个函数就可以tf.nn.embedding_lookup_sparse,也可以采用avg/sum pooling等pooling方法,但是文章采取了其他方法,下面会说。

2.2 Attention-fusion layer

这里简单的提一下,在youtube推荐论文中,主要是采用concate的方式对所有不同field的特征进行操作,但是这样做有个问题就是不同特征的重要性是不一样,所以需要引入attention操作,这也是对问题一的回答。

首先,对于多值离散特征,比如用户点击过的tag,我们如果直接使用avg pooling操作是不行的,因为有些tag是比较重要的,有些对推荐的效果是没用的。所以,这里用一个query向量来进行attention操作:

其中,k表示第k的field,H表示这个field是多值离散特征,共有H个特征域,t代表这个tag的embedding。

通过计算ai,我们得到了每个tag的weight,然后我们利用这些weight得到最后的向量:

这里注意的一点是,所有的域共用query向量q1,但参数矩阵W则是每个域独有的参数。

这里你可能已经注意到了为什么有q1,没有q2?其实是有的,论文用了两个查询向量q1,和q2分别计算得到两个输出。这里不管是多值离散特征的merge,还是不同fields的特征之间的merge都是采用两个查询向量,注意了,q1和q2在不同的merge中都是共享的。

文章认为,与从具有不同查询向量的每个单独字段中学习相比,使用共享查询向量从不同字段的特征中学习有助于建立更鲁棒和准确的选择标准,尤其是对于具有稀疏特征的字段。 同样,我们可以通过第二个关注点来融合功能,以从实验中证明从不同方面学习功能。 最后,来自双头注意机制的两个合并的嵌入被concate到上层。

2.3 cross feature layer

特征的交叉在推荐系统中的重要性不言而喻,这一层的作用主要是对特征进行交叉。

直接看图:

加入上一层的输出是x,则特征交叉的计算是这样:

对于x中的每个维度的value,与其他维度的value进行相乘,再跟两个隐向量的内积相乘就得到了特征交叉的结果,最终的结果向量的维度是E(E-1)/2,假如x的维度是E。

是不是跟FM很像,其实确实在特征交叉的计算是一样的,跟FM不同的地方在于这里是保存了计算的结果作为向量来使用,而FM中没有保存。

ps:这里有个困惑,不知道为什么要把这里x的维度写成E,其实这里应该是2E,因为X是由两个维度为E的向量cat出来的。

2.4 fully connect layer

这里,将attention fusion layer的输出x和cross feature layer的输出c进行拼接,经过两层全连接网络得到最终的用户向量u

2.5 predicting layer

我们先明确一点,我们的label是个啥,在之前我们也说过了,每个news都有很多的tag,如果我们把用户点击过的news的tag全部设置为正样本,把浏览未点击的news的tag全部设置为负样本是不行的,因为用户点击了一个news有可能只是喜欢其中的一个tag,所以这么做是不行的,那么wx的算法团队是怎么做的呢?

其中t是这个news的tag的embedding,也就是说我们把每一个 tag的映射成跟user向量u维度相同的向量,并且用他们的内积的sigmoid作为真正的预测值。

我们这里回顾一下word2vec里面的skip gram方法,在skip gram方法里面,也是使用中心词汇的向量跟win里面其他词汇的内积的值来计算sigmoid值的,我感觉这么做的原因是这样的,通过内积的计算,可以让user的向量u跟这个文章中的tag的embedding比较相近,也就是用户u跟tag的相关性是比较高的,跟skip gram的思想类似。

三、实验

模型的参数设置:

实验结果:

相比于其他模型,这个模型的各项指标都有所提高,总体上来看还是一篇比较简单不错的论文。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 151,829评论 1 331
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 64,603评论 1 273
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 101,846评论 0 226
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 42,600评论 0 191
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 50,780评论 3 272
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 39,695评论 1 192
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,136评论 2 293
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 29,862评论 0 182
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 33,453评论 0 229
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 29,942评论 2 233
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 31,347评论 1 242
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 27,790评论 2 236
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 32,293评论 3 221
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 25,839评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,448评论 0 181
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 34,564评论 2 249
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 34,623评论 2 249

推荐阅读更多精彩内容