(TKDE 2023)GATrust: A Multi-Aspect Graph Attention Network Model for Trust Assessment in OSNs

GATrust: A Multi-Aspect Graph Attention Network Model for Trust Assessment in OSNs

(TKDE 2023)

采用数据集:

在这里插入图片描述

一、提出问题

​ GNN的出现为信任评估开辟了一条新方法,然而,用户特征(比如个人爱好和职业)没有被考虑进去,当面临社交信任的多层次属性时,仅仅使用GCN的解决方案很难去探索到社交信任评估所要求的丰富的嵌入信息。

二、解决方案

​ 提出了一个新的考虑到社交信任关系和用户特征的信任评估模型GATrust,采用GAT去计算用户的多重属性(包括网络拓扑结构、用户特征和社交信任关系)的注意力系数。第一层采用GAT而高层全采用GCN,这样也可以利用社交网络上的信息传播与聚合规则融合到高阶节点的信息。为了解决信任的不对称问题,GNN层分为两个部分,信任流行度聚合(入度)和信任热情度聚合(出度),最后再拼接用于预测两个用户之间的信任值。

三、具体过程

在这里插入图片描述

1. Network Embedding Layer

​ 采用embedding分别表示每个用户的特征、已知的社交信任关系以及在网络拓扑结构的特征信息。对于用户特征,将用户的兴趣和爱好分为8类,采用one-hot编码。对于已知的社交信任关系,仍然采用one-hot编码表示,对于网络拓扑结构的特征信息,采用Node2vec去映射为一个 D e D_e De维的向量。然后这些向量将被送入GNN层。

2. Multiple GNN layers

​ 为了获得用户 x x x的潜在embedding向量 l [ x ] l[x] l[x],首先考虑到信任的非对称性,因此 l [ x ] l[x] l[x]包含两个内容 l I [ x ] l_I[x] lI[x] l O [ x ] l_O[x] lO[x],分别表示信任流行度(用户被信任的embedding)和信任热情度(信任别人的embedding)。第一层为GAT而高层都为GCN。具体方法如下:

通过GAT聚合信任流行度embedding:
在这里插入图片描述

​ 首先用线性转换将用户特征的one-hot向量和信任评分的one-hot向量(论文给出的数据集中将信任评分分为4类,因此也是4维的one-hot向量)转换为 D e D_e De维的稠密向量:
f [ x ] = W x c [ x ] f[x]=W_xc[x] f[x]=Wxc[x]

T w x ← y = W x ← y T y x T_{w_{x\leftarrow y}}=W_{x\leftarrow y}T_{yx} Twxy=WxyTyx

​ 其中, W x W_x Wx W x ← y W_{x\leftarrow y} Wxy都是可训练参数。

​ 假定 T f I [ x ] T_{f_I[x]} TfI[x], T u I [ x ] T_{u_I[x]} TuI[x] T g I [ x ] T_{g_I[x]} TgI[x]分别为用户 x x x的用户特征、拓扑结构特征和信任评级特征的聚合,那么
T f I [ x ] = ∑ y ∈ A d j I ( x ) α x ← y F f [ y ] T_{f_I[x]}=\sum_{y\in Adj_I(x)}\alpha_{x\leftarrow y}^Ff[y] TfI[x]=yAdjI(x)αxyFf[y]

T u I [ x ] = ∑ y ∈ A d j I ( x ) α x ← y U u [ y ] T_{u_I[x]}=\sum_{y\in Adj_I(x)}\alpha_{x\leftarrow y}^Uu[y] TuI[x]=yAdjI(x)αxyUu[y]

T g I [ x ] = ∑ y ∈ A d j I ( x ) α x ← y S T w x ← y T_{g_I[x]}=\sum_{y\in Adj_I(x)}\alpha_{x\leftarrow y}^ST_{w_{x\leftarrow y}} TgI[x]=yAdjI(x)αxySTwxy

​ 其中, A d j I ( x ) Adj_I(x) AdjI(x)表示信任用户 x x x的邻居集合,采用如下公式得到注意力系数:
α x ← y F = e x p ( σ ( α I F T [ W I F f [ x ] ⊗ W I F f [ y ] ] ) ) ∑ k ∈ A d j I ( x ) e x p ( σ ( α I F T [ W I F f [ x ] ⊗ W I F f [ k ] ] ) ) \alpha_{x\leftarrow y}^F=\frac{exp(\sigma(\alpha_{IF}^T[W_{IF}f[x]\otimes W_{IF}f[y]]))}{\sum_{k\in Adj_I(x)}exp(\sigma(\alpha_{IF}^T[W_{IF}f[x]\otimes W_{IF}f[k]]))} αxyF=kAdjI(x)exp(σ(αIFT[WIFf[x]WIFf[k]]))exp(σ(αIFT[WIFf[x]WIFf[y]]))

α x ← y U = e x p ( σ ( α I U T [ W I U u [ x ] ⊗ W I U u [ y ] ] ) ) ∑ k ∈ A d j I ( x ) e x p ( σ ( α I U T [ W I U u [ x ] ⊗ W I U u [ k ] ] ) ) \alpha_{x\leftarrow y}^U=\frac{exp(\sigma(\alpha_{IU}^T[W_{IU}u[x]\otimes W_{IU}u[y]]))}{\sum_{k\in Adj_I(x)}exp(\sigma(\alpha_{IU}^T[W_{IU}u[x]\otimes W_{IU}u[k]]))} αxyU=kAdjI(x)exp(σ(αIUT[WIUu[x]WIUu[k]]))exp(σ(αIUT[WIUu[x]WIUu[y]]))

α x ← y S = e x p ( σ ( α I T T [ W I T u [ x ] ⊗ W I T T w x ← y ] ) ) ∑ k ∈ A d j I ( x ) e x p ( σ ( α I T T [ W I T u [ x ] ⊗ W I T T w x ← k ] ) ) \alpha_{x\leftarrow y}^S=\frac{exp(\sigma(\alpha_{IT}^T[W_{IT}u[x]\otimes W_{IT}T_{w_{x\leftarrow y}}]))}{\sum_{k\in Adj_I(x)}exp(\sigma(\alpha_{IT}^T[W_{IT}u[x]\otimes W_{IT}T_{w_{x\leftarrow k}}]))} αxyS=kAdjI(x)exp(σ(αITT[WITu[x]WITTwxk]))exp(σ(αITT[WITu[x]WITTwxy]))

​ 其中, ⊗ \otimes 表示拼接操作, σ \sigma σ为leakRelu激活函数。

​ 然后得到 l I [ x ] = T f I [ x ] ⊗ T u I [ x ] ⊗ T g I [ x ] l_I[x]=T_{f_I[x]}\otimes T_{u_I[x]} \otimes T_{g_I[x]} lI[x]=TfI[x]TuI[x]TgI[x],同理可以得到 l O [ x ] l_O[x] lO[x]

​ 最终通过第一层的GAT可以得到用户 x x x的向量表示为:
l [ x ] = σ ( W ( l I [ x ] ⊗ l O [ x ] ) + b ) l[x]=\sigma(W(l_I[x]\otimes l_O[x])+b) l[x]=σ(W(lI[x]lO[x])+b)
通过GCN进行高阶的信任传播:
在这里插入图片描述

​ 在第 h h h层,对于用户 x x x而言,以信任流行度embedding为例(入度),如果用户 y y y信任 x x x,那么传播为:
l h [ x ← y ] = l I h − 1 [ y ] ⊗ W x ← y h ⋅ T y x l^h[x\leftarrow y]=l_I^{h-1}[y]\otimes W_{x\leftarrow y}^h\cdot T_{yx} lh[xy]=lIh1[y]WxyhTyx
​ 聚合过程为:
l I h [ x ] = 1 ∣ A d j I ( x ) ∣ ∑ y ∈ A d j I ( x ) l h [ x ← y ] l_I^h[x]=\frac{1}{|Adj_I(x)|}\sum_{y\in Adj_I(x)}l^h[x\leftarrow y] lIh[x]=AdjI(x)1yAdjI(x)lh[xy]
​ 同理可以得到 l O h [ x ] l_O^h[x] lOh[x],经过多层之后的最终用户embedding表示为:
l h [ x ] = σ ( W h ( l I h [ x ] ⊗ l O h [ x ] ) + b h ) l^h[x]=\sigma(W^h(l_I^h[x]\otimes l_O^h[x])+b^h) lh[x]=σ(Wh(lIh[x]lOh[x])+bh)

3. Output layer

​ 对于一对未知的用户对,其预测信任评级为:
l ‾ [ x → y ] = σ ( W F C ⋅ ( l h [ x ] ⊗ l h [ y ] ) ) \overline{l}[x\rightarrow y]=\sigma(W_{FC}\cdot(l^h[x]\otimes l^h[y])) l[xy]=σ(WFC(lh[x]lh[y]))
l ‾ [ x → y ] \overline{l}[x\rightarrow y] l[xy]为一个概率向量,判断预测关系属于数据集中的哪一类, σ \sigma σ为softmax函数。

4. 算法伪代码

四、实验结果

​ 采用F1-score和MAE指标,对比模型为Guardian、Matri和Tidaltrust,结果如下:

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值