GAN服务推荐
摘要
提出了一种新的基于GAN的服务推荐方法。它首先利用mashup信息、服务信息及其各自的属性信息构建异构信息网络(HIN)。然后,抽取不同语义关系的元路径,通过基于元路径的相似度度量,构造mashup与服务之间的相似度矩阵。最后,通过利用鉴别器和生成器之间的对抗性训练,鉴别器可以有效地引导生成器为开发人员生成偏好向量,从而根据给定的mashup属性信息为开发者推荐服务列表。
Mushups的HIN例子
paper贡献
• 通过利用mashup、服务及其相关属性信息构建的HIN,提出了一种基于GAN的mashup服务推荐方法。
• 根据mashup开发人员的具体需求生成一个偏好向量,并进一步推荐一个服务列表。
• 在ProgrammableWeb抓取的现实世界数据集上进行了全面的实验
HIN的元路径定义(语义信息 )
信息网络是指一个有向图 G=(V,E), 同时还有一个object类型映射函数 ϕ:V→A,边类型映射函数ψ:E→R。每一个object v∈V, 都有一个特定的object 类型ϕ(v)∈A;每一条边 e∈E 都有一个特定的relation ψ(e)∈R。
异质网络(Heterogeneous Network)指的是object的类型|A|>1或者relation的类型|R>1|。
Network Schema
Network schema,定义为:TG=(A,R),是信息网络 G=(V, E)的一种 meta模板,这个信息网络有一个object类型映射函数 ϕ:V→A 和 link 类型映射函数ψ:E→R。信息网络G是一个定义在object类型A上的有向图,并且边是R 中的relation。
原文:
首先在每个元路径上应用交换矩阵,得到mashup与服务之间的相似度矩阵。**
相似性矩阵中的每一行表示mashup对所有服务的偏好向量。
A commuting matrix M is used to measure the similarity between the start node and the end node along a meta-path P. It is denoted as , where CLiLj is the adjacency matrix between the type Liand Lj. M(x, y) denotes the number of path instances between the node x ∈ L1and y ∈ Llunder a given meta-path P. For example, for the meta-path ”MSCS”, the commuting matrix M is calculated as
整体框架
生成器和鉴别器都是由输入层,隐藏层和输出层组成的多层神经网络。
由于开发人员对使用服务的不同偏好,应用注意力机制来聚合mashup和服务之间的不同语义关系。
ri是偏好向量,Wi是权重矩阵。
mushups属性信息处理
模型输入为:
cm为mushups属性信息处理后的特征向量,fm为生成器产生的mushups偏好向量,rm为鉴别器生成的经过注意力机制处理后的真实偏好向量,xm和xm’都是作为鉴别器的输入。
鉴别器损失函数(加入正则化后)
xmj和ˆxmjˆ是第j个未观测服务的真实偏好得分和基于元路径的相似度得分。
生成器损失函数
目的:对观测到的服务产生高分而对未观测到的服务产生低分
数据集
progranmableweb 爬取,%50测试,%50训练。
评价指标
实验
基本参数: 学习率设置为0.001,
嵌入大小为32,
正则化权重(即α和β)为0.5,
提取的负样本比率(即λ)为0.5。
Baselines:
BPRKNN:该方法采用K-最近邻(KNN)算法计算mashup与服务之间的相似度,并采用BPR学习mashup与服务之间的偏好得分。
UBCF和IBCF:此方法向当前用户推荐相似用户/服务提供商的服务。
SVD:该方法首先对mashup服务矩阵进行分解,然后将mashup和服务的潜在向量相乘,得到mashup与服务之间的偏好得分。
BPRSVD:该方法结合SVD和BPR来学习mashup和服务之间的偏好得分。
pop:最欢迎
IRGAN:该方法利用MF作为开发者偏好的评分函数,利用GAN框架为开发者每次生成一个离散的服务。
CFGAN:该方法利用了一个新的基于GANbased的CF框架和三种正则化策略,每次为开发人员推荐一个服务列表。
参数影响
词嵌入大小和注意力权重影响
总结
利用HIN对具有丰富mashup信息、服务信息及其属性信息的服务网络进行建模。然后,提取各种丰富的语义元路径,并以此为基础计算mashup与服务之间的相似度矩阵。相似度矩阵中的每一行都用来表示mashup对所有服务的偏好向量。接下来,一个特征向量得到了表示综合mashup属性信息的方法。最后,在条件和对抗学习的帮助下,鉴别器可以引导生成器生成符合mashup实际使用记录的偏好向量。
尝试其他的GAN结构设计(重要),如将鉴别器改为其他类型的神经网络、MF或因式分解机,以提高模型的性能。另外,服务网络可以用图的形式建立(可以考虑图卷积),所以我们也会考虑用图神经网络来建模。