CN114547276A - 基于三通道图神经网络的会话推荐方法 - Google Patents

基于三通道图神经网络的会话推荐方法 Download PDF

Info

Publication number
CN114547276A
CN114547276A CN202210082137.0A CN202210082137A CN114547276A CN 114547276 A CN114547276 A CN 114547276A CN 202210082137 A CN202210082137 A CN 202210082137A CN 114547276 A CN114547276 A CN 114547276A
Authority
CN
China
Prior art keywords
item
session
embedding
items
graph
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202210082137.0A
Other languages
English (en)
Inventor
杨青
张文祥
王逸丰
张敬伟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guilin University of Electronic Technology
Original Assignee
Guilin University of Electronic Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Guilin University of Electronic Technology filed Critical Guilin University of Electronic Technology
Priority to CN202210082137.0A priority Critical patent/CN114547276A/zh
Publication of CN114547276A publication Critical patent/CN114547276A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/335Filtering based on additional data, e.g. user or group profiles
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • General Health & Medical Sciences (AREA)
  • Biophysics (AREA)
  • Evolutionary Computation (AREA)
  • Biomedical Technology (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Artificial Intelligence (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明涉及会话推荐技术领域,具体地说,涉及一种基于三通道图神经网络的会话推荐方法,其包括以下步骤:(1)将会话序列数据转换为会话图、超图、全局图数据;(2)图数据经过三个通道的图神经网络学习到三种项目嵌入;三个通道包括会话图通道、超图通道、全局图通道;会话图通道用于捕获会话中项目间的转换关系,超图通道用于捕获会话中项目间的高阶关系,全局图通道用于捕获不同会话中项目间的关系;(3)融合三种通道形成的项目表征获得更完整项目转换信息;(4)经过预测层输出项目的预测概率。本发明能较佳地进行会话推荐。

Description

基于三通道图神经网络的会话推荐方法
技术领域
本发明涉及会话推荐技术领域,具体地说,涉及一种基于三通道图神经网络的会话推荐方法。
背景技术
近年来互联网信息增长迅速,推荐***成为了帮助用户缓解信息过载问题的有效方法,在消费、服务和决策制定等方面正发挥着重要作用。大多数现有的推荐方法都是根据用户长期历史交互和用户配置文件进行推荐。但是,在很多服务中,用户标识可能是未知的,或只有用户会话期间的历史行为可用。会话推荐这一新兴的推荐形式弥补了上述的不足。
由于会话推荐很高的实际价值,已经提出了许多基于会话的推荐方法。马尔科夫链是一个经典的例子,该方法基于前一个行为预测用户的下一个行为,由于马尔科夫链的强独立性假设,过去交互作用的独立组合可能会限制推荐的准确性。基于深度学习迅速发展,许多基于深度学习的推荐方法也应运而生。例如结合递归神经网络方法是通过数据增强和考虑用户行为的时间变化来增强模型。GRU4REC通过使用GRU建立用户短期偏好进行推荐。NARM中使用GRU与注意力机制结合同时学习到顺序行为和用户主要意图对序列进行建模。Transformer模型在处理翻译的任务中取得了最先进的效果。该模型没有使用递归或者卷积网络,而是使用了自注意力网络堆叠的编码器-解码器结构对序列进行建模,Transformer模型的成功是源于对自注意力的应用。自注意力是特殊的注意力机制,已经广泛用于序列数据建模。SASrec是最早将自注意力用于推荐领域的模型并取得了最先进的效果。这些方法用成对的项目转换信息来建模给定会话的偏好都取得了不错的结果。但是,这些方法依然面临一些问题,首先在一个会话中没有足够的用户行为,这些方法很难估计用户表示。其次,这些工作在建模项目之间的转换时只建模的单向转换而忽略了上下文之间的转换。
SR-GNN解决了上述问题,该方法是最早将图神经网络用于会话推荐的,通过将序列数据建模为图数据结构并通过图神经网络捕获项目的复杂转化。GCE-GNN也是基于图神经网络进行会话推荐,该方法不仅考虑了目标会话间项目转换还考虑的不同会之间项目的转换。基于图神经网络的会话推荐取得了显著的效果。但是,此类方法依然面临一些问题,基于图神经网络的会话推荐***将会话序列建模为成对关系的图结构化数据或者建模为超图结构化数据,这种将会话序列建模为单一图的形式无法捕获更完整的项目转换信息,从而导致推荐的准确度下降。
发明内容
本发明的内容是提供一种基于三通道图神经网络的会话推荐方法,其能够克服现有技术的某种或某些缺陷。
根据本发明的基于三通道图神经网络的会话推荐方法,其包括以下步骤:
(1)将会话序列数据转换为会话图、超图、全局图数据;
(2)图数据经过三个通道的图神经网络学习到三种项目嵌入;三个通道包括会话图通道、超图通道、全局图通道;会话图通道用于捕获会话中项目间的转换关系,超图通道用于捕获会话中项目间的高阶关系,全局图通道用于捕获不同会话中项目间的关系;
(3)融合三种通道形成的项目表征获得更完整项目转换信息;
(4)经过预测层输出项目的预测概率。
作为优选,会话图中,给定一个会话
Figure BDA0003486431230000021
表示在会话S中点击的项目vi并且会话长度是L;Gs=(Vs,Es)表示会话图,将每个项目si∈Vs作为节点并且相邻的项目(si-1,si)∈Es作为边;
Gh=(Vh,Eh)表示超图,Vh表示超图中N个不重复的顶点的集合,Eh表示超图中M个超边的集合;每个超边最少包含两个顶点,其中
Figure BDA0003486431230000022
并且
Figure BDA0003486431230000023
每个超边被赋予一个权值whh,所有的权值构成了一个对角矩阵W∈RN×M;超图用矩阵H∈RN×M表示,其中当超边包含顶点vi∈V时,Hih=1,否则Hih=0;顶点和超边的度分别为Dii和Bhh,其中
Figure BDA0003486431230000031
Figure BDA0003486431230000032
D和B是对角线矩阵;
全局图用于获取不同会话间项目转换的信息,Gg=(Vg,Eg)表示全局图,Vg代表所有项目的图节点的集合,Eg表示所有边的集合,每条边对应于所有会话中的两个成对项目。
作为优选,会话图嵌入的方法为:
对于目标项目来说不同的相邻项目对目标项目的重要成度不同,使用注意力机制捕获不同节点间的权重;注意力系数如下所示:
Figure BDA0003486431230000033
其中的sij表示项目vj对项目vi的重要性,
Figure BDA0003486431230000034
表示项目间的关系,hvi项目vi的嵌入,hvj项目vj的嵌入,rij为vi与vj之间的关系也就是边关系,a∈Rd表示权重;然后,为了使不同节点间的系数具有可比性,通过softmax函数对注意权重进行归一化,如下式所示:
αij=softmax(sij)
aij为归一化后节点vi和vj间的权重;
最后将得到的注意力系数和对应的项目线性组合,得到每个节点的输出,公式如下:
Figure BDA0003486431230000035
Figure BDA0003486431230000036
表示节点。
作为优选,超图嵌入的方法为:
超图通道用来捕获项目间的高阶关系,将超图卷积定义为:
Figure BDA0003486431230000037
Figure BDA0003486431230000038
为l+1层项目嵌入,Hih、Hjh为关联矩阵中的值,whh为加权系数,
Figure BDA0003486431230000039
为l层的项目嵌入;
将上式写为矩阵的形式如下:
Figure BDA0003486431230000041
其中,
Figure BDA0003486431230000042
分别是l+1层的项目嵌入和l层的项目嵌入,
Figure BDA0003486431230000043
为节点到超边的信息聚合,并在此之前乘会话序列H查看从超边到节点的聚合信息;在最初的项目嵌入X0经过L层的超图卷积后,将每一层的嵌入求和取平均作为最后的项目嵌入
Figure BDA0003486431230000044
通过位置嵌入将项目的位置信息加入项目嵌入中,P=[p1,p2,...,pk]为可学习的位置嵌入矩阵,k为当前会话的长度;加入位置信息的项目嵌入如下:
Figure BDA0003486431230000045
其中,
Figure BDA0003486431230000046
为是有位置信息的项目嵌入,xi为没有位置信息的项目嵌入,pk-i+1为项目的位置信息,W1∈Rd×2d和b∈Rd是可以学习的参数;会话嵌入通过聚合该会话中的项目表示生成;然后增强会话
Figure BDA0003486431230000047
的嵌入表示:
Figure BDA0003486431230000048
Figure BDA0003486431230000049
其中,αi为节点对序列的权重,Sh为项目嵌入的平均值,c为训练可得到的系数,
Figure BDA00034864312300000410
是会话s的嵌入用此会话中所有项目的平均嵌入表示
Figure BDA00034864312300000411
是会话s中第i个项目的嵌入,f∈Rd、W2∈Rd×d、W3∈Rd×d为注意力参数。
作为优选,全局图嵌入的方法为:
每个项目都根据会话感知注意产生的评分进行线性组合,具体如下:
h=∑vj∈vgπ(vi,vj)hvj
h为注意力分数,hvj为项目vj嵌入,π(vi,vj)用来计算不同邻居的权重;与当前会话越接近的项目越重要对应的权重越大;π(vi,vj)具体如下所示:
Figure BDA00034864312300000412
π(vi,vj)=softmax(π(vi,vj))
其中,用LeakyRelu作为激活函数,⊙表示对应位置元素相乘,‖表示链接操作,wij∈R1是全局会话图中每条边的权重,W1和q1是可训练的参数,s是目标会话的特征,通过计算当前会话的平均得到的,然后通过softmax函数将与vi连接的所有相邻的项目的系数归一化;根据此注意力可以得出那些相邻的项目可以得到关注;
最后将目标项目信息和与目标项目临近项目的信息进行聚合,此过程通过一个非线性转换完成,具体如下:
Figure BDA0003486431230000051
hv为项目表示,
Figure BDA0003486431230000052
为项目表示与邻居表示聚合后的表示,Relu是激活函数,W2∈Rd ×2d是可训练参数;
为了获取更高阶的信息我们将单层的聚合器扩展到多层,上一步中的公式表述为如下:
Figure BDA0003486431230000053
h(k-1)是先前的步骤生成的项目v的表达;
Figure BDA0003486431230000054
前一层的项目嵌入,Agg为聚合操作,
Figure BDA0003486431230000055
聚合后的k阶项目表示,一个项目的k阶表示是由其初始表示和相邻k跳项目混合而成的。
作为优选,融合三种通道形成的项目表征获得更完整项目转换信息的方法为:
首先将会话图通道和全局图通道产生的项目表示进行融合;
对于每一个项目,通过合并全局的表示和会话表示得到其最终的项目表示
Figure BDA0003486431230000056
具体计算如下:
Figure BDA0003486431230000057
经过融合会话图通道和全局图通道产生的项目嵌入,生成会话嵌入
Figure BDA0003486431230000061
项目的位置信息通过可学习的位置矩阵P=[p1,p2,...,pk]将项目的位置信息加入项目嵌入;然后通过连接操作和一个非线性变换将位置信息与项目表达进行整合;如下所示:
Figure BDA0003486431230000062
加入位置信息后的会话序列用
Figure BDA0003486431230000063
为了捕获项目间的位置信息,将会话序列输入自注意力层:
Figure BDA0003486431230000064
其中,,F为经过注意力后的会话表示,d是超参数,WQ、WK、WV∈R2d×d为投影矩阵;
利用RELU激活函数增加的模型的非线性,在前馈网络后加入一个残差连接,如下所示:
E=Relu(FW1+b1)W2+b2+F
E为经过残差链接的会话表示,W1、W2是d×d维的矩阵,b1和b2是d维的偏置向量,为了防止过拟合,在训练过程中加入了Dropout正则化技术,将自注意力机制表述为:
E=SAN(H)
最后将单个自注意力扩展为多头自注意力,如下所示:
E(k)=SAN(E(K-1))
E(k)为经过k层注意力后的会话表示,E(k-1)为经过k-1层注意力后的会话表示;
将经过自注意力后的会话序列表示M=[m1,m2,...,mk],通过软注意力学习每个节点对序列的权重体现出不同节点对序列的重要程度不同,如下所示:
Figure BDA0003486431230000065
Figure BDA0003486431230000071
其中,f·、αi都是可以训练的参数,σ表示软注意力公式,
Figure BDA0003486431230000072
是会话s的嵌入用此会话中所有项目的平均嵌入表示
Figure BDA0003486431230000073
mi是会话s中第i个项目的嵌入,f∈Rd、W4∈Rd×d、W5∈Rd×d为注意力参数,最后将Ss,g和Sh结合形成最终的会话表示S=Ss,g+Sh
作为优选,步骤(4)中,让每一个初始候选项目的嵌入和上节获得的会话表示进行点积运算再进过softmax获得推荐的概率,具体计算如下:
Figure BDA0003486431230000074
S·为会话表示,
Figure BDA0003486431230000075
表示项目vi在目标会话中可能下一个被选择的概率;通过最小化的目标函数来训练模型:
Figure BDA0003486431230000076
其中y表示项目的独热编码,λ为损失函数,y′i为预测值。
本发明融合三个通道产生的项目表示以提高基于会话推荐的性能。本发明将会话序列同时建模为三种图结构数据用于捕获更丰富的项目转换关系。本发明在两个真实的数据集上进行了广泛的实验,证明了我们的模型有效性和优越性。
附图说明
图1为实施例1中一种基于三通道图神经网络的会话推荐方法的流程图;
图2为实施例1中三通道图神经网络(MCG-SR)模型结构图。
具体实施方式
为进一步了解本发明的内容,结合附图和实施例对本发明作详细描述。应当理解的是,实施例仅仅是对本发明进行解释而并非限定。
实施例1
如图1所示,本实施例提供了一种基于三通道图神经网络的会话推荐方法,其包括以下步骤:
(1)将会话序列数据转换为会话图、超图、全局图数据;
(2)图数据经过三个通道的图神经网络学习到三种项目嵌入;三个通道包括会话图通道、超图通道、全局图通道;会话图通道用于捕获会话中项目间的转换关系,超图通道用于捕获会话中项目间的高阶关系,全局图通道用于捕获不同会话中项目间的关系;
(3)融合三种通道形成的项目表征获得更完整项目转换信息;
(4)经过预测层输出项目的预测概率。
本实施例提出了基于会话推荐的三通道图神经网络(MCG-SR)模型,用于捕获会话更加丰富的项目转换关系。图2展示了模型的整体结构(其中s1为会话1,s2、s3同理,v表示项目),首先是将会话序列数据转换为三种图结构数据的形式,然后图数据经过三个通道的图神经网络学习到三种项目嵌入,之后将三种表示进行融合,最后经过预测层输出项目的预测概率。
会话图中,将每个会话序列转换为图结构数据,通过GNN学习给定会话的项目嵌入。给定一个会话
Figure BDA0003486431230000081
表示在会话S中点击的项目vi并且会话长度是L;Gs=(Vs,Es)表示会话图,将每个项目si∈Vs作为节点并且相邻的项目(si-1,si)∈Es作为边;在会话图中有四种类型的边关系,分别是rin、rout、rin-out、和rself;每个项目都加了一个自循环。
超图中,将会话序列转化为超图结构数据,学习项目间的高阶转换关系。Gh=(Vh,Eh)表示超图,Vh表示超图中N个不重复的顶点的集合,Eh表示超图中M个超边的集合;每个超边最少包含两个顶点,值得注意的是在超边上的任意两个顶点都是相连的,其中
Figure BDA0003486431230000082
并且
Figure BDA0003486431230000083
每个超边被赋予一个权值whh,所有的权值构成了一个对角矩阵W∈RN×M;超图用矩阵H∈RN×M表示,其中当超边包含顶点vi∈V时,Hih=1,否则Hih=0;顶点和超边的度分别为Dii和Bhh,其中
Figure BDA0003486431230000084
D和B是对角线矩阵。
构建全局图主要是捕获跨会话的项目间转换信息。将所有会话中所涉及到的项目转换为图结构数据就是全局图。值得注意的是会话图是有向图全局图不是有向图。Gg=(Vg,Eg)表示全局图,Vg代表所有项目的图节点的集合,Eg表示所有边的集合,每条边对应于所有会话中的两个成对项目。对于每个节点Vi其不同的边应有不同的权重,权重的大小取决于会话中相应边出现的频率。
会话图嵌入的方法为:
通过会话图可以学习到当前会话中成对项目的转换,比起全局图中的项目转换会话图中的更为重要。对于目标项目来说不同的相邻项目对目标项目的重要成度不同,使用注意力机制捕获不同节点间的权重;注意力系数如下所示:
Figure BDA0003486431230000091
其中的sij表示节点vj对节点vi的重要性,rij为vi与vj之间的关系也就是边关系a∈Rd表示权重,同时使用LeakyRelu作为激活函数;然后为了使不同节点间的系数具有可比性,通过softmax函数对注意权重进行归一化,公式如下:
αij=softmax(sij)
最后将得到的注意力系数和对应的项目线性组合,得到每个节点的输出,公式如下:
Figure BDA0003486431230000092
Figure BDA0003486431230000093
表示节点。
超图嵌入的方法为:
超图通道用来捕获项目间的高阶关系,将超图卷积定义为:
Figure BDA0003486431230000094
Figure BDA0003486431230000095
为l+1层项目嵌入,Hih、Hjh为关联矩阵中的值,whh为加权系数,
Figure BDA0003486431230000096
为l层的项目嵌入;
将上式写为矩阵的形式如下:
Figure BDA0003486431230000101
其中,
Figure BDA0003486431230000102
分别是l+1层的项目嵌入和l层的项目嵌入,
Figure BDA0003486431230000103
为节点到超边的信息聚合,并在此之前乘会话序列H查看从超边到节点的聚合信息;在最初的项目嵌入X0经过L层的超图卷积后,将每一层的嵌入求和取平均作为最后的项目嵌入
Figure BDA0003486431230000104
通过位置嵌入将项目的位置信息加入项目嵌入中,P=[p1,p2,...,pk]为可学习的位置嵌入矩阵,k为当前会话的长度;加入位置信息的项目嵌入如下:
Figure BDA0003486431230000105
其中,
Figure BDA0003486431230000106
为是有位置信息的项目嵌入,xi为没有位置信息的项目嵌入,pk-i+1为项目的位置信息,W1∈Rd×2d和b∈Rd是可以学习的参数;会话嵌入通过聚合该会话中的项目表示生成;然后增强会话
Figure BDA0003486431230000107
的嵌入表示:
Figure BDA0003486431230000108
Figure BDA0003486431230000109
其中,αi为节点对序列的权重,Sh为项目嵌入的平均值,c为训练可得到的系数,
Figure BDA00034864312300001010
是会话s的嵌入用此会话中所有项目的平均嵌入表示
Figure BDA00034864312300001011
是会话s中第i个项目的嵌入,f∈Rd、W2∈Rd×d、W3∈Rd×d为注意力参数。
全局图嵌入的方法为:
一个项目可能会出现在多个会话中,从不同的会话中获取其转换信息用于捕获跨会话的项目转换。衡量全局图中的信息是否和目标会话的用户偏好相关十分重要。根据会话感知注意力区分项目的重要性。每个项目都根据会话感知注意产生的评分进行线性组合,具体如下:
h=∑vj∈vgπ(vi,vj)hvj
h为注意力分数,hvj为项目vj嵌入,π(vi,vj)用来计算不同邻居的权重;与当前会话越接近的项目越重要对应的权重越大;π(vi,vj)具体如下所示:
Figure BDA0003486431230000111
π(vi,vj)=softmax(π(vi,vj))
其中,用LeakyRelu作为激活函数,⊙表示对应位置元素相乘,‖表示链接操作,wij∈R1是全局会话图中每条边的权重,W1和q1是可训练的参数,s是目标会话的特征,通过计算当前会话的平均得到的,然后通过softmax函数将与vi连接的所有相邻的项目的系数归一化;根据此注意力可以得出那些相邻的项目可以得到关注;
最后将目标项目信息和与目标项目临近项目的信息进行聚合,此过程通过一个非线性转换完成,具体如下:
Figure BDA0003486431230000112
hv为项目表示,
Figure BDA0003486431230000113
为项目表示与邻居表示聚合后的表示,Relu是激活函数,W2∈Rd ×2d是可训练参数;
为了获取更高阶的信息我们将单层的聚合器扩展到多层,上一步中的公式表述为如下:
Figure BDA0003486431230000114
h(k-1)是先前的步骤生成的项目v的表达;
Figure BDA0003486431230000115
前一层的项目嵌入,Agg为聚合操作,
Figure BDA0003486431230000116
聚合后的k阶项目表示,一个项目的k阶表示是由其初始表示和相邻k跳项目混合而成的。
融合三种通道形成的项目表征获得更完整项目转换信息的方法为:
首先将会话图通道和全局图通道产生的项目表示进行融合;
对于每一个项目,通过合并全局的表示和会话表示得到其最终的项目表示,具体计算如下:(为了避免过拟合在全局的表示上使用了dropout)
Figure BDA0003486431230000117
经过融合会话图通道和全局图通道产生的项目嵌入,生成会话嵌入
Figure BDA0003486431230000121
项目的位置信息通过可学习的位置矩阵P=[p1,p2,...,pk]将项目的位置信息加入项目嵌入;然后通过连接操作和一个非线性变换将位置信息与项目表达进行整合;如下所示:
Figure BDA0003486431230000122
加入位置信息后的会话序列用
Figure BDA0003486431230000123
为了捕获项目间的位置信息,将会话序列输入自注意力层:
Figure BDA0003486431230000124
其中,F为经过注意力后的会话表示,d是超参数,WQ、WK、WV∈R2d×d为投影矩阵;
经过以上自注意力只具有线性关系,为了增强会话序列的表达,在此基础上利用RELU激活函数增加的模型的非线性,在前馈网络后加入一个残差连接,如下所示:
E=Relu(FW1+b1)W2+b2+F
E为经过残差链接的会话表示,W1、W2是d×d维的矩阵,b1和b2是d维的偏置向量,为了防止过拟合,在训练过程中加入了Dropout正则化技术,将自注意力机制表述为:
E=SAN(H)
最后将单个自注意力扩展为多头自注意力,如下所示:
E(k)=SAN(E(K-1))
E(k)为经过k层注意力后的会话表示,E(k-1)为经过k-1层注意力后的会话表示;
将经过自注意力后的会话序列表示M=[m1,m2,...,mk],通过软注意力学习每个节点对序列的权重体现出不同节点对序列的重要程度不同,如下所示:
Figure BDA0003486431230000131
Figure BDA0003486431230000132
其中,f·、αi都是可以训练的参数,σ表示软注意力公式,
Figure BDA0003486431230000133
是会话s的嵌入用此会话中所有项目的平均嵌入表示
Figure BDA0003486431230000134
mi是会话s中第i个项目的嵌入,f∈Rd、W4∈Rd×d、W5∈Rd×d为注意力参数,最后将Ss,g和Sh结合形成最终的会话表示S=Ss,g+Sh
步骤(4)中,让每一个初始候选项目的嵌入和上节获得的会话表示进行点积运算再进过softmax获得推荐的概率,具体计算如下:
Figure BDA0003486431230000135
S·为会话表示,
Figure BDA0003486431230000136
表示项目vi在目标会话中可能下一个被选择的概率;通过最小化的目标函数来训练模型:
Figure BDA0003486431230000137
其中y表示项目的独热编码,λ为损失函数,y′i为预测值。
实验
我们描述了实验中使用的数据集、对比模型,我们将所提出的方法与其他方法进行了比较,我们还设计了消融实验,研究每个通道对模型的贡献。
数据集
我们在两个真实世界的数据集上评估了所提出的方法,分别是Tmall数据集和Nowplaying数据集。其中Tmall数据集来自IJCAI-15的比赛,数据集包含天猫在线购物平台上的匿名用户购物日志。
为了进行公平的比较,我们对这两个数据集进行了预处理。在预处理中我们过滤掉了长度为1的会话和出现次数小于5的项目。我们将数据分为了训练数据和测试数据,同时将会话分割生成相应的标签。数据集的统计数据入汇总入表1。
表1数据集
Figure BDA0003486431230000141
为了评估我们提出的方法,我们将我们的方法与具有代表性的基线以及最先进的方法进行了比较。
POP:推荐top-N个训练集中最受欢迎的项目。
Item-KNN:根据当前会话项目和其它会话项目之间的相似性来推荐项目。相似性用余弦相似性定义。
FPMC:它是一个混合模型,结合了矩阵分解和一阶马尔科夫链进行推荐,是较早处理序列数据的模型。
GRU4Rec:它是基于RNN的会话推荐模型,对用户序列进行建模。
STAMP:该模型考虑了用户长期偏好和当前偏好两种级别的偏好。
SR-GNN:它是较早将图神经网络用于推荐的模型,使用一个门控神经网络获得项目嵌入并进行推荐。
DHCN:该模型应用超图对会话序列进行建模。
GCE-GNN:它不仅考虑了会话中的项目转换关系,还考虑了全部会话的项目间的转换并在会话推荐中取得了最先进的效果。
评估指标
潜在向量的维度设置为100,模型的mini-batch也为100。为了进行公平的对比,我们将每个模型的超参数都设置为一样的。我们使用Adam优化器,初始的学习率设置为0.001,每三个周期衰减0.1。L2惩罚设置为10-5,dropout率在{0.1,0.2,...,0.9}中搜索。
模型性能
实验结果如表2所示:
表2实验结果
Figure BDA0003486431230000151
我们的MCG-SR模型与其他8个基线模型在两个数据集两个评价指标上进行评估,我们使用粗体突出最佳结果。通过分析表2中的结果,我们可以得出以下结论。
传统的方法(如POP、Item-KNN)与最近提出的方法(即GRU4REC、STAMP、SR-GNN、DHCN)有较为显著的差距,和传统的方法相比最近提出的方法是顺序依赖性的建模而传统的模型确不是,这也证明了顺序信息对于会话推荐的重要性。最近提出的方法都应用了深度学习的技术,这说明了深度学习在会话推荐中的关键作用。
在最近提出的方法中STAMP的性能明显优于GRU4REC。GRU4REC是基于循环神经网络建模的,而STAMP是完全基于注意力的方法。这是因为GRU4REC只考虑了顺序行为,但是难以应对用户偏好转移,相比之下基于注意力的模型为不同项目分配不同的重要性可以更准确预测用户的行为。
最新的基于图神经网络的会话推荐优于基于循环神经网络和基于注意力机制的模型,我们提出的MCG-SR模型把会话序列同时建模为三种图分别为,会话图、超图、全局图。我们通过图神经网络捕获这三种图中项目间的转换信息,然后将三种图中捕获到的信息进行融合捕获更丰富的项目转换信息。实验结果如表2,我们的模型优于所有的基线模型包括最新的基于图神经网络的模型(如SR-GNN、GCE-GNN、DHCN)并取得了较大改进,这也表明了我们方法的有效性。
消融研究
为了研究不同的通道对我们模型的贡献,我们设计了三种变体:MCG-SR-S、MCG-SR-G和MCG-SR-H。MCG-SR-S表示没有会话图通道的版本,MCG-SR-G表示没有全局图通道版本,MCG-SR-H表示没有超图通道的版本。我们将这三种变体与MCG-SR、DHCN和GCE-GNN在Tmall和Nowplaying两个数据集上进行比较。
从表3观察到三个通道在两个数据集上产生的不同的影响。从表3可以发现当我们去掉会话图通道时与MCG-SR相比在Tmall数据集上性能是有较大的下降,而在Nowplaying数据集上P@20指标有小幅度下降,MRR@20指标却有上升。当我们去掉全局图通道时与MCG-SR相比在两个数据集上P@20指标有提升而MRR@20指标有下降。当我们去掉超图通道时,与MCG-SR相比在两个数据集的两个评价指标上都有下降。从表3上我们可以总结出只有加入全部三个通道时我们的模型才会在两数据集的两个指标上都有提升,这也验证了我们的模型确定可以捕获更完整的项目转换关系并提高泛化能力。
表3
Figure BDA0003486431230000161
本实施例提出了一个基于会话推荐的三通道图神经网络模型。基于以往图神经网络的会话推荐通常将会话序列建模为单一的图,这样导致模型无法捕获更加丰富的项目转换。我们的模型把会话序列同时建模为三种图分别为,会话图、超图、全局图。我们通过图神经网络捕获这三种图中项目间的转换信息,然后将三种图中捕获到的信息进行融合用于捕获更丰富的项目转换信息经过我们在两个数据集上的实验证实,我们的模型取得了较大的优势,证明了我们模型的有效性。
以上示意性的对本发明及其实施方式进行了描述,该描述没有限制性,附图中所示的也只是本发明的实施方式之一,实际的结构并不局限于此。所以,如果本领域的普通技术人员受其启示,在不脱离本发明创造宗旨的情况下,不经创造性的设计出与该技术方案相似的结构方式及实施例,均应属于本发明的保护范围。

Claims (7)

1.基于三通道图神经网络的会话推荐方法,其特征在于:包括以下步骤:
(1)将会话序列数据转换为会话图、超图、全局图数据;
(2)图数据经过三个通道的图神经网络学习到三种项目嵌入;三个通道包括会话图通道、超图通道、全局图通道;会话图通道用于捕获会话中项目间的转换关系,超图通道用于捕获会话中项目间的高阶关系,全局图通道用于捕获不同会话中项目间的关系;
(3)融合三种通道形成的项目表征获得更完整项目转换信息;
(4)经过预测层输出项目的预测概率。
2.根据权利要求1所述的基于三通道图神经网络的会话推荐方法,其特征在于:会话图中,给定一个会话
Figure FDA0003486431220000011
Figure FDA0003486431220000012
表示在会话S中点击的项目vi并且会话长度是L;Gs=(Vs,Es)表示会话图,将每个项目si∈Vs作为节点并且相邻的项目(si-1,si)∈Es作为边;
Gh=(Vh,Eh)表示超图,Vh表示超图中N个不重复的顶点的集合,Eh表示超图中M个超边的集合;每个超边最少包含两个顶点,其中
Figure FDA0003486431220000013
并且
Figure FDA0003486431220000014
每个超边被赋予一个权值whh,所有的权值构成了一个对角矩阵W∈RN×M;超图用矩阵H∈RN×M表示,其中当超边包含顶点vi∈V时,Hih=1,否则Hih=0;顶点和超边的度分别为Dii和Bhh,其中
Figure FDA0003486431220000015
Figure FDA0003486431220000016
D和B是对角线矩阵;
全局图用于获取不同会话间项目转换的信息,Gg=(Vg,Eg)表示全局图,Vg代表所有项目的图节点的集合,Eg表示所有边的集合,每条边对应于所有会话中的两个成对项目。
3.根据权利要求2所述的基于三通道图神经网络的会话推荐方法,其特征在于:会话图嵌入的方法为:
对于目标项目来说不同的相邻项目对目标项目的重要成度不同,使用注意力机制捕获不同节点间的权重;注意力系数如下所示:
Figure FDA0003486431220000017
其中的sij表示项目vj对项目vi的重要性,
Figure FDA0003486431220000021
表示项目间的关系,hvi项目vi的嵌入,hvj项目vj的嵌入,rij为vi与vj之间的关系也就是边关系,a∈Rd表示权重;然后,为了使不同节点间的系数具有可比性,通过softmax函数对注意权重进行归一化,如下式所示:
αij=soft max(sij)
aij为归一化后节点vi和vj间的权重;
最后将得到的注意力系数和对应的项目线性组合,得到每个节点的输出,公式如下:
Figure FDA0003486431220000022
Figure FDA0003486431220000023
表示节点。
4.根据权利要求3所述的基于三通道图神经网络的会话推荐方法,其特征在于:超图嵌入的方法为:
超图通道用来捕获项目间的高阶关系,将超图卷积定义为:
Figure FDA0003486431220000024
Figure FDA0003486431220000025
为l+1层项目嵌入,Hih、Hjh为关联矩阵中的值,whh为加权系数,
Figure FDA0003486431220000026
为l层的项目嵌入;
将上式写为矩阵的形式如下:
Figure FDA0003486431220000027
其中,
Figure FDA0003486431220000028
分别是l+1层的项目嵌入和l层的项目嵌入,
Figure FDA0003486431220000029
为节点到超边的信息聚合,并在此之前乘会话序列H查看从超边到节点的聚合信息;在最初的项目嵌入X0经过L层的超图卷积后,将每一层的嵌入求和取平均作为最后的项目嵌入
Figure FDA00034864312200000210
通过位置嵌入将项目的位置信息加入项目嵌入中,P=[p1,p2,...,pk]为可学习的位置嵌入矩阵,k为当前会话的长度;加入位置信息的项目嵌入如下:
Figure FDA0003486431220000031
其中,
Figure FDA0003486431220000032
为是有位置信息的项目嵌入,xi为没有位置信息的项目嵌入,pk-i+1为项目的位置信息,W1∈Rd×2d和b∈Rd是可以学习的参数;会话嵌入通过聚合该会话中的项目表示生成;然后增强会话
Figure FDA0003486431220000033
的嵌入表示:
Figure FDA0003486431220000034
Figure FDA0003486431220000035
其中,αi为节点对序列的权重,Sh为项目嵌入的平均值,c为训练可得到的系数,
Figure FDA0003486431220000036
是会话s的嵌入用此会话中所有项目的平均嵌入表示
Figure FDA0003486431220000037
Figure FDA0003486431220000038
是会话s中第i个项目的嵌入,f∈Rd、W2∈Rd×d、W3∈Rd×d为注意力参数。
5.根据权利要求4所述的基于三通道图神经网络的会话推荐方法,其特征在于:全局图嵌入的方法为:
每个项目都根据会话感知注意产生的评分进行线性组合,具体如下:
h=∑vj∈vgπ(vi,vj)hvj
h为注意力分数,hvj为项目vj嵌入,π(vi,vj)用来计算不同邻居的权重;与当前会话越接近的项目越重要对应的权重越大;π(vi,vj)具体如下所示:
Figure FDA0003486431220000039
π(vi,vj)=soft max(π(vi,vj))
其中,用LeakyRelu作为激活函数,⊙表示对应位置元素相乘,‖表示链接操作,wij∈R1是全局会话图中每条边的权重,W1和q1是可训练的参数,s是目标会话的特征,通过计算当前会话的平均得到的,然后通过softmax函数将与vi连接的所有相邻的项目的系数归一化;根据此注意力可以得出那些相邻的项目可以得到关注;
最后将目标项目信息和与目标项目临近项目的信息进行聚合,此过程通过一个非线性转换完成,具体如下:
Figure FDA0003486431220000041
hv为项目表示,
Figure FDA0003486431220000042
为项目表示与邻居表示聚合后的表示,Relu是激活函数,W2∈Rd×2d是可训练参数;
为了获取更高阶的信息我们将单层的聚合器扩展到多层,上一步中的公式表述为如下:
Figure FDA0003486431220000043
h(k-1)是先前的步骤生成的项目v的表达;
Figure FDA0003486431220000044
前一层的项目嵌入,Agg为聚合操作,
Figure FDA0003486431220000045
聚合后的k阶项目表示,一个项目的k阶表示是由其初始表示和相邻k跳项目混合而成的。
6.根据权利要求5所述的基于三通道图神经网络的会话推荐方法,其特征在于:融合三种通道形成的项目表征获得更完整项目转换信息的方法为:
首先将会话图通道和全局图通道产生的项目表示进行融合;
对于每一个项目,通过合并全局的表示和会话表示得到其最终的项目表示
Figure FDA0003486431220000046
具体计算如下:
Figure FDA0003486431220000047
经过融合会话图通道和全局图通道产生的项目嵌入,生成会话嵌入
Figure FDA0003486431220000048
项目的位置信息通过可学习的位置矩阵P=[p1,p2,...,pk]将项目的位置信息加入项目嵌入;然后通过连接操作和一个非线性变换将位置信息与项目表达进行整合;如下所示:
Figure FDA0003486431220000049
加入位置信息后的会话序列用
Figure FDA00034864312200000410
为了捕获项目间的位置信息,将会话序列输入自注意力层:
Figure FDA0003486431220000051
其中,F为经过注意力后的会话表示,d是超参数,WQ、WK、WV∈R2d×d为投影矩阵;
利用RELU激活函数增加的模型的非线性,在前馈网络后加入一个残差连接,如下所示:
E=Relu(FW1+b1)W2+b2+F
E为经过残差链接的会话表示,W1、W2是d×d维的矩阵,b1和b2是d维的偏置向量,为了防止过拟合,在训练过程中加入了Dropout正则化技术,将自注意力机制表述为:
E=SAN(H)
最后将单个自注意力扩展为多头自注意力,如下所示:
E(k)=SAN(E(K-1))
E(k)为经过k层注意力后的会话表示,E(k-1)为经过k-1层注意力后的会话表示;
将经过自注意力后的会话序列表示M=[m1,m2,...,mk],通过软注意力学习每个节点对序列的权重体现出不同节点对序列的重要程度不同,如下所示:
Figure FDA0003486431220000052
Figure FDA0003486431220000053
其中,f·、αi都是可以训练的参数,σ表示软注意力公式,
Figure FDA0003486431220000054
是会话s的嵌入用此会话中所有项目的平均嵌入表示
Figure FDA0003486431220000055
mi是会话s中第i个项目的嵌入,f∈Rd、W4∈Rd ×d、W5∈Rd×d为注意力参数,最后将Ss,g和Sh结合形成最终的会话表示S=Ss,g+Sh
7.根据权利要求6所述的基于三通道图神经网络的会话推荐方法,其特征在于:步骤(4)中,让每一个初始候选项目的嵌入和上节获得的会话表示进行点积运算再进过softmax获得推荐的概率,具体计算如下:
Figure FDA0003486431220000061
S·为会话表示,
Figure FDA0003486431220000062
表示项目vi在目标会话中可能下一个被选择的概率;
通过最小化的目标函数来训练模型:
Figure FDA0003486431220000063
其中y表示项目的独热编码,λ为损失函数,y′i为预测值。
CN202210082137.0A 2022-01-24 2022-01-24 基于三通道图神经网络的会话推荐方法 Pending CN114547276A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210082137.0A CN114547276A (zh) 2022-01-24 2022-01-24 基于三通道图神经网络的会话推荐方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210082137.0A CN114547276A (zh) 2022-01-24 2022-01-24 基于三通道图神经网络的会话推荐方法

Publications (1)

Publication Number Publication Date
CN114547276A true CN114547276A (zh) 2022-05-27

Family

ID=81670731

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210082137.0A Pending CN114547276A (zh) 2022-01-24 2022-01-24 基于三通道图神经网络的会话推荐方法

Country Status (1)

Country Link
CN (1) CN114547276A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115545098A (zh) * 2022-09-23 2022-12-30 青海师范大学 一种基于注意力机制的三通道图神经网络的节点分类方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115545098A (zh) * 2022-09-23 2022-12-30 青海师范大学 一种基于注意力机制的三通道图神经网络的节点分类方法
CN115545098B (zh) * 2022-09-23 2023-09-08 青海师范大学 一种基于注意力机制的三通道图神经网络的节点分类方法

Similar Documents

Publication Publication Date Title
CN112364976B (zh) 基于会话推荐***的用户偏好预测方法
CN112035746A (zh) 一种基于时空序列图卷积网络的会话推荐方法
CN111127142B (zh) 一种基于广义神经注意力的物品推荐方法
CN111581520B (zh) 基于会话中物品重要性的物品推荐方法和***
CN113590900A (zh) 一种融合动态知识图谱的序列推荐方法
CN114493755B (zh) 一种融合时序信息的自注意力序列推荐方法
CN113487018A (zh) 一种基于会话推荐的全局上下文增强图神经网络方法
CN115470406A (zh) 一种基于双通道信息融合的图神经网络会话推荐方法
CN116431914A (zh) 一种基于个性化偏好转移模型的跨域推荐方法及***
CN111259264B (zh) 一种基于生成对抗网络的时序评分预测方法
Zhou et al. Recommendation via collaborative autoregressive flows
CN114547276A (zh) 基于三通道图神经网络的会话推荐方法
CN114625969A (zh) 一种基于交互近邻会话的推荐方法
CN117391816A (zh) 一种异质图神经网络推荐方法、装置及设备
Mu et al. Auxiliary stacked denoising autoencoder based collaborative filtering recommendation
CN114780841B (zh) 一种基于kphan的序列推荐方法
CN114842247B (zh) 基于特征累加的图卷积网络半监督节点分类方法
CN112801076B (zh) 基于自注意力机制的电子商务视频高光检测方法及***
CN115599972A (zh) 一种序列推荐中的对偶增强倾向性得分估计方法
CN114117229A (zh) 一种基于有向和无向结构信息的图神经网络的项目推荐方法
CN115062832A (zh) 基于多时间尺度注意力网络的废旧家电回收量预测方法
CN116263794A (zh) 对比学习增强的双流模型推荐***及算法
CN114610862A (zh) 增强图上下文顺序的会话推荐方法
Roy et al. Adaptive KL-UCB based bandit algorithms for Markovian and IID settings
Mohan et al. Representation learning for temporal networks using temporal random walk and deep autoencoder

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination