GAN的服务推荐 2019ICWS

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 M = CL1L2...CLiLj...CLl−1Ll, 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 CMS× CSC× CCS.

整体框架

在这里插入图片描述
生成器和鉴别器都是由输入层,隐藏层和输出层组成的多层神经网络。
由于开发人员对使用服务的不同偏好,应用注意力机制来聚合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或因式分解机,以提高模型的性能。另外,服务网络可以用图的形式建立(可以考虑图卷积),所以我们也会考虑用图神经网络来建模。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值