推荐系统论文阅读(三十八)-华为(TGCN):邻域聚合?no!采用CNN对不同类的节点进行卷积

论文:

论文地址:https://dl.acm.org/doi/pdf/10.1145/3340531.3411927

论文题目:《TGCN: Tag Graph Convolutional Network for Tag-Aware Recommendation》

前面一篇论文我们提到了微信看一看团队如何用图神经网络的方式通过对videa-videa进行建模,从而学习出优质的tag-embedding,最后在利用这些tag-embedding为每个短视频给不同的用户展示topk个tag。

今天我们同样的来介绍一下华为发表在CIKM上面也是关于tag-recommend的论文,下面就来看看这篇论文跟微信那篇论文有何异同。

一 、背景

跟微信看一看场景不同,华为这篇论文所处的场景是这样:用户可以给浏览的短视频,文章,电影等内容进行打标签的行为,这种打标签的行为不仅能反映出用户的一些个性化偏好,同时也能让对应的浏览内容的特征更加丰富。


不同的用户会对同一个item打上不同的标签,同一个tag也可能被不同的用户解答出不同的意思,比如说“apple”,对于那些数码达人来说,他们对这个tag的理解就是苹果手机,苹果公司等等苹果公司的概念,而对于一般人而言,看到apple想到的自然是水果了。

在这种对item打tag的场景下,这种行为同样是稀疏的,跟前一篇文章所说的一样,除了sparsity外,这种场景下还有着另一个缺点redundancy冗余性和ambiguity模糊性,我们来简单解释下这几个概念:

sparsity:用户对于item进行打标的行为是很少见的,所以具有稀疏性

ambiguity:一个tag有多种不同的意思,所以在使用的时候会带来模糊性

redundancy:由于用户的拼写习惯和表达方式的差异,一些具有不同拼写的标签具有相同的含义,并且表示相似的偏好,比如说“mobile phone” 和 “cellphone”,表示的都是手机。 但是,由于在基于特征的模型中缺少对于这种关系的建模,因此这些同义词标签可能会解释为完全不同的语义,从而导致冗余性。

为了解决这些问题,文中采用了对(u,t,i)三元组进行建模的方法,如上图所示,图中有三类节点,分别是user,tag和item,我们之前所说的apple这个tag被不同的人理解成不同的意思也可以从上面这张图进行直观的理解。对于apple这个标签而言,由于图中存在multi-hot的关系,这个tag连接着i2和i1这两个节点,因为i2跟乔布斯,手机相连接,所以可以清楚的将多义标签解释称一家技术公司。此外,由于“mobile phone” 和 “cellphone”这两个tag在图中也是相近的,所以可以让他们的语义更为接近。所以,这种三元组建模的图可以有效的解决模糊性和冗余性。对于稀疏性而言,multi-hot的多跳聚合信息可以很好的缓解稀疏性。

论文主要解决一下三个问题:

C1:如何在保留所有类型的邻域信息的情况下聚合异构邻居,并考虑邻居的不同影响在异构图建模中是很重要的。user-tag-item图非常复杂,因为每个中心节点可能具有不同数量和类型的邻居。因此,必须考虑各个异类邻居的不同贡献。

C2:一旦表示了不同类型的邻域,如何建模它们之间的要素交互就至关重要。现有的异构图卷积模型仅在信息更新阶段执行基于pooling的操作,而忽略了特征的交互信号。然而,在推荐系统中,有效地建模特征交互是至关重要的。

C3:由于用户打标签是代表用户对商品的偏好的关键因素,因此如何在user-tag-item三元组中捕获这些语义至关重要。user,tag和item之间如此强烈的语义对于推荐出让用户满意的结果可能非常重要。但是,基于GNN的模型的聚合策略忽略了此类语义,导致学习到的embedding不够理想。

二、图的定义和TGCN模型结构

图的定义

节点:user,tag,item三种类型的节点

1.𝑒 = (𝑢,𝑖, 1) ,表示的user u对于item i有过交互的行为,边的权值为1

2.𝑒 = (𝑢, 𝑡,𝑤),表示user u使用tag t对一些item进行打标,w是u使用t的次数,也是边的权值

3.𝑒 = (𝑖, 𝑡,𝑤),表示item i被打上tag t一共w次,w是边的权值

还有一条自己到自己的权值为1的边

 TGCN模型结构

老规矩,在写一堆麻烦的公式之前先来直观的理解一下这个模型结构图。首先左边是我们定义的图,然后是将邻居节点分成三种类型u,i,t,这三类的聚合方式都一样,只不过是在类型内进行聚合。紧接着,为了让不同类型的节点的信息进行交叉,采用CNN进行卷积。可以看到整个TGCN是分成L层的,这个是为了提取高阶聚合信息,同NGCF的方法一样。

接下来我们来一部分一部分的讲解原理。

2.1 Type-aware Neighbor Aggregation (C1)

2.1.1 Heterogeneous Neighbor Sampling

假如不对三种类型的邻居节点进行区分,而是直接对所有的邻居节点进行聚合,就会有几个问题:

1. 随着跳数的增加,邻域大小呈指数增长,这使得在大规模图中进行存储和计算变得不切实际。

2.由于邻居的大小各异,某些“热”节点(受欢迎的item或常用tag)可能有很多邻居,而某些“冷”节点(长尾item或冷门标签)只有几个邻居。 因此,弱关联的邻居可能会损害“热”节点嵌入,而“冷”节点嵌入可能无法充分表示。

3)聚集所有邻居可能会导致过度平滑问题。节点之间的密集连接使邻居过于相似,从而导致难以区分。

这个说了一大堆,其实跟GraphSAGE的方式一样,也就是对于邻居节点进行sample。

2.1.2 Neighbor Aggregation

前面我们已经说过了,我们是type-specific 聚合的方式,也就是对于每种类型的节点在类型内进行聚合:

a是attention生成的weight:

其中e_{j}是邻居节点j本身的embedding,e_{v}是中心节点v的embedding,e_{w}是边的权值w的embedding,k表示是哪一类的节点

2.2 Information Updating (C2)

为了解决特征交互的问题,本文采用了用CNN进行卷积的方式来操作,具体为水平卷积和垂直卷积的两种方法。

2.2.1 Type-level Information Re-scale

由于有三种不同类型的信息,但是从直觉上来理解,不同的类型的信息有着不同的作用,为了更好的结合这三种类型的信息,同时区分不同雷系的信息的重要性,本文采用了attention的方式:

计算出三种类型的权值后,我们将其拼接成3×d的矩阵:

这个Mv也就是我们CNN作用的地方,Mv的shape为K×d

2.2.2 Feature Interaction Extraction

这部分主要介绍怎么使用水平卷积和垂直卷积的方式来对Mv进行特征抽取,我们先来介绍下这两个卷积核。

vertical filters:垂直卷积核,卷积核的大小为K×1,这个卷积主要是为了进行类似于weight sum的方式。

horizontal filters:水平卷积核,大小为h×d,这个卷积带来的作用是让特征之间进行交叉

Bit-level Feature Interactions

Bit-level 特征提取的方式就是用垂直的卷积核V^t ,对Mv进行卷积,具体的计算过程如上,总共用了m个卷积核,所以一共有m个向量拼接成o_{v}

Vector-level Feature Interactions

卷积核:

卷积方式如下,跟text-cnn的做法类似:

最后,我们需要将两部分的信息结合:

2.2.3 High-order Propagation 

这部分的工作跟之前介绍的NGCF的方式一样,为了计算出高阶的节点信息:

预测的结果为:


2.3 TransTag Regularization (C3)

在问题三中,论文提到:user,tag和item之间是有强烈的语义关系的,如果说u给i打了t的标签,可以理解为u跟i之间有了t的关系,这个跟知识图谱中对于两类实体之间关系的定义是相似的。

item的属性和用户的兴趣是不同的,举个例子,一部电影具有导演,情节,主题,演员等属性。此外,不同的用户出于不同的原因选择同一部电影,这可以从图4反映出来。从约翰的角度来看,他选择电影《变形金刚》是因为 考虑“科幻小说”主题,这与玛丽(为了导演“迈克尔·贝”而观看)不同。 这些不同的偏好可以通过标签在本地连接,从而有助于识别用户对给定特定item的实质性偏好。但是,这些基本语义不能通过图卷积很好地建模。为了捕获user-item-tag三元组中的语义,识别用户的实质偏好并解决挑战C3,论文提出了TransTag正则化功能。

具体而言:

这个方法给TransE中建模知识图谱中两个实体之间的关系一样。

这个Re的损失函数为margin-based pari ranking loss,跟fb的ebr中采取的损失函数一样:


2.4 Jointly Training Details


上面的损失为BPR loss,下面的损失为两个损失直接相加

三、实验结果



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

推荐阅读更多精彩内容