CN111783963A - 一种基于星图神经网络的推荐方法 - Google Patents
一种基于星图神经网络的推荐方法 Download PDFInfo
- Publication number
- CN111783963A CN111783963A CN202010724540.XA CN202010724540A CN111783963A CN 111783963 A CN111783963 A CN 111783963A CN 202010724540 A CN202010724540 A CN 202010724540A CN 111783963 A CN111783963 A CN 111783963A
- Authority
- CN
- China
- Prior art keywords
- star
- nodes
- node
- session
- neural network
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9535—Search customisation based on user profiles and personalisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/048—Activation functions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
- G06Q30/0601—Electronic shopping [e-shopping]
- G06Q30/0631—Item recommendations
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Biophysics (AREA)
- Business, Economics & Management (AREA)
- Databases & Information Systems (AREA)
- Finance (AREA)
- Accounting & Taxation (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于星图神经网络的推荐方法,包括以下步骤:A、通过嵌入层会话中的每个物品xi生成一个d维的向量xi∈Rd,每个会话被构造成一个星会话图;B、嵌入的物品被输入到多层的星图神经网络中,使用高速网络来结合星图神经网络之前和之后的物品嵌入;C、通过结合会话中的一般偏好和近期兴趣来表示该会话;在获得会话表示之后,通过计算在所有候选物品上的分数来产生推荐。本发明能够解决现有技术的不足,提高了推荐效果。
Description
技术领域
本发明属于推荐***技术领域,具体是一种基于星图神经网络的推荐方法。
背景技术
荐***可以帮助人们获得个性化的信息,在网络搜索、电子商务等中有着广泛应用。许 多现存的推荐方法利用用户长期的历史交互来获取他们的偏好从而进行推荐,例如协同过滤 (CF)、因式分解个性化马尔可夫链(FPMC),和基于深度学习的方法等。对于用户的长期历 史交互不可利用的情境下,例如新用户,准确地获取用户的偏好是很有挑战的。基于会话的 推荐就是仅仅基于正在进行的会话来产生推荐。当前的基于会话推荐的方法大多数通过循环 神经网络(RNN)来关注于物品间的时序信息,注意力机制来抓住用户的主要意图。然而,循 环神经网咯和注意力机制并不能完全地将物品间的传递关系考虑进去,因为传递关系远比简 单的时间顺序要复杂。为了更加准确地建模物品间的传递关系,图神经网络被用于建模一个 正在进行的会话。然而,基于图神经网络的方法只能从临济物品中传播信息,因此忽略了没 有直接相连的物品中的信息。多层图神经网络可以被用来传递无直接相连关系的物品间的信 息。然而,它们很容易过拟合。
发明内容
本发明要解决的技术问题是提供一种基于星图神经网络的推荐方法,能够解决现有技术 的不足,提高了推荐效果。
本发明的内容包括以下步骤,
A、通过嵌入层会话中的每个物品xi生成一个d维的向量xi∈Rd,每个会话被构造成一 个星会话图;
B、嵌入的物品被输入到多层的星图神经网络中,使用高速网络来结合星图神经网络之前 和之后的物品嵌入;
C、通过结合会话中的一般偏好和近期兴趣来表示该会话;在获得会话表示之后,通过计 算在所有候选物品上的分数来产生推荐。
作为优选,步骤A中,对于每个会话S={v1,v2,...vt,...,vn},构建一个星图来表示会 话中物品之间的传递关系,通过添加中心节点来包括未直接相连的物品,这里的中心节点与 会话星图中的所有节点均有连接,V={v1,v2,...,v|V|}表示所有会话内所有唯一的物品,这 里|V|是所有唯一的物品的数目,vt∈V表示会话内第t个物品;
每个会话都被表示为Gs={Vs,Es},Vs={{x1,x2,...xm},xs}表示星图内所有唯一的节点,{x1,x2,...xm}表示会话内所有唯一的节点,称为卫星节点,xs是新添加的星节点, 其中m≤n。
作为优选,星图包括卫星连接和中心连接两种类型的边。
作为优选,对于卫星连接,即边(xi,xj)∈Es,用户在点击物品xi之后点击了xj,会话中两个物品之间的邻接关系使用入度矩阵和出度矩阵来表示。
作为优选,添加一个星节点来传递来自于非邻接物品的信息,在星图中添加一个星节点 和卫星节点之间的双向边,使用从星节点到卫星节点的有向边来更新卫星节点,通过卫星节 点,来自于未连接节点的信息可以通过将星节点作为中继节点的方法,以两跳的方式来传递; 从卫星节点到星节点的有向边来更新星节点,通过考虑星图内的所有节点,来帮助生成准确 的星节点的表示。
作为优选,步骤B中,在将节点传递进星图神经网络之前,首先初始化卫星节点和星节 点的表示;对于卫星节点,直接将会话内不重复的物品的嵌入作为卫星节点表示:
h0={x1,x2,...,xm},
作为优选,步骤B中,按照以下步骤来更新卫星节点和中心节点;
对于卫星节点,用于传递信息的邻居节点来自于两种来源,即邻接节点和中心节点;当 信息来自于邻接节点时,分别对应来自于有直接连接和无直接连接的节点;对于第1层星图 中的每个卫星节点xi使用入度矩阵和出度矩阵来获得传递的信息,
是节点xi对应的入度权重和出度权重,即入度矩阵和出度矩阵的第i行, WI,WO∈Rd×d分别是对于入度边和出度边的可学习的权重,bI,bO∈R1×d是偏置向量,从而获得代表对于节点xi的传递关系,将和xi的先前状态输入到门控图神 经网络,
Wz,Wr,Wh∈Rd×2d和Uz,Ur,Uh∈Rd×d是网络中可训练的参数,σ表示sigmoid激活 函数,e表示元素级别的相乘,和是更新门和重置门,分别控制之前状态被保存下来,以及控制之前状态中的信息被写进候选激活当信息来自于中心节点时,使用自注意力机制来计算每个卫星节点xs和中心节点xi的相似度
对于中心节点,引入自注意力机制来通过将中心节点作为query来对不同卫星节点赋予 不同程度的重要性;每个卫星节点的重要性由中心节点来决定,
q∈R1×d和K∈Rm×d分别由卫星节点和中心节点转换而来,Wq2,Wk2∈Rm×d是对应的可训练的参数,在获得重要性程度之后,使用线性结合将卫星节点结合起来作为中心节点的新 的表示,
β∈Rm是所有卫星节点的权重。
作为优选,步骤B中,对于L层的星图神经网络,星图神经网络之前和之后的物品嵌入 分别表示为h0和hL,高速网络表示为:
hf=ge h0+(1-g)e hL,
门控g∈Rm×d由多层图神经网络的输入和输出来决定,
g=σ(Wg[h0;hL]),
[·]表示拼接操作,Wg∈Rd×2d是可训练的参数,将拼接的向量从R2d转化为Rd, σ是sigmoid函数。
作为优选,步骤C中,从对应的卫星节点hf∈Rm×d来获得时序的物品表示u∈Rn×d,通过添加可学习的位置嵌入p∈Rn×d引入时序信息,即up=u+p;将最后一个物品的表 示作为用户的最近兴趣,即将物品按照它们对应的优先级结合起来,
优先级γi由中心节点xs和最近兴趣zr同时决定,物品的权重由注意力机制来决定,
W0∈R1×d,W1,W2,W3∈Rd×d是用于控制权重的可训练的参数,b∈Rd是偏置项,将用户的整体偏好和最近兴趣通过拼接的方式结合起来,
[·]是拼接操作,W4∈Rd×2d将拼接后的矩阵从R2d转化为Rd;在会话表示zh和每个物品的嵌入表示vi上使用层归一化,分别可以表示为和在归一化之后,通过将会话表示和所有的物品嵌入相乘来得到在 每个候选物品上的分数 使用softmax层来归一化候选物品上的偏好分数; 通过使用比例系数τ避免训练无法收敛的问题,最终的分数为 中分数最高的物品将被 推荐给用户。
作为优选,使用反向传播算法训练包含高速网络的星图神经网络模型,采用交叉熵来作为目 标函数学习参数,
yi∈y是真实值的独热编码中一个物品的值,如果第i个物品是给定会话的目标物品, 那么yi=1,反之yi=0。
本发明的有益效果是:本发明通过在信息传播中考虑远距离物品之间的关系,并且使用 高速网络来解决图神经网络中的过拟合问题。在候选物品的数目较少时,本发明更能够将目 标物品排在推荐列表中的前列,而在目标物品数目相对较多时,在命中目标物品上更加有效。 对于长篇幅会话,本发明使得物品间的复杂传递关系能够被多层的星图神经网络更准确地调 查,从而能够促进目标物品在推荐列表中的排序位置。
附图说明
图1为本发明包含高速网络的星图神经网络的工作原理图。
图2为本发明和另外两个现有推荐方法在Recall@20指标上的效果对比图。
图3为本发明和另外两个现有推荐方法在MRR@20指标上的效果对比图。
图4为本发明和另外两个现有推荐方法在不同的GNN层数情况下针对Yoochoose1/64数 据集在Recall@20指标上的效果对比图。
图5为本发明和另外两个现有推荐方法在不同的GNN层数情况下针对Yoochoose1/64数 据集在MRR@20指标上的效果对比图。
图6为本发明和另外两个现有推荐方法在不同的GNN层数情况下针对Yoochoose1/4数 据集在Recall@20指标上的效果对比图。
图7为本发明和另外两个现有推荐方法在不同的GNN层数情况下针对Yoochoose1/4数 据集在MRR@20指标上的效果对比图。
图8为本发明和另外两个现有推荐方法在不同的GNN层数情况下针对Diginetica数据集 在Recall@20指标上的效果对比图。
图9为本发明和另外两个现有推荐方法在不同的GNN层数情况下针对Diginetica数据集 在MRR@20指标上的效果对比图。
图10为不同会话长度的本发明和另外三个现有推荐方法针对Yoochoose 1/64数据集在 Recall@20指标上的效果对比图。
图11为不同会话长度的本发明和另外三个现有推荐方法针对Yoochoose 1/64数据集在 MRR@20指标上的效果对比图。
图12为不同会话长度的本发明和另外三个现有推荐方法针对Yoochoose 1/4数据集在 Recall@20指标上的效果对比图。
图13为不同会话长度的本发明和另外三个现有推荐方法针对Yoochoose 1/4数据集在 MRR@20指标上的效果对比图。
图14为不同会话长度的本发明和另外三个现有推荐方法针对Diginetica数据集在 Recall@20指标上的效果对比图。
图15为不同会话长度的本发明和另外三个现有推荐方法针对Diginetica数据集在 MRR@20指标上的效果对比图。
具体实施方式
参照图1,一种基于生成对抗网络的数据脱敏方法,包括以下步骤,
A、通过嵌入层会话中的每个物品xi生成一个d维的向量xi∈Rd,每个会话被构造成一 个星会话图;
B、嵌入的物品被输入到多层的星图神经网络中,使用高速网络来结合星图神经网络之前 和之后的物品嵌入;
C、通过结合会话中的一般偏好和近期兴趣来表示该会话;在获得会话表示之后,通过计 算在所有候选物品上的分数来产生推荐。
步骤A中,对于每个会话S={v1,v2,...vt,...,vn},构建一个星图来表示会话中物品之 间的传递关系,通过添加中心节点来包括未直接相连的物品,这里的中心节点与会话星图中 的所有节点均有连接,V={v1,v2,...,v|V|}表示所有会话内所有唯一的物品,这里|V|是所 有唯一的物品的数目,vt∈V表示会话内第t个物品;
每个会话都被表示为Gs={Vs,Es},Vs={{x1,x2,...xm},xs}表示星图内所有唯一的节点,{x1,x2,...xm}表示会话内所有唯一的节点,称为卫星节点,xs是新添加的星节点, 其中m≤n。
星图包括卫星连接和中心连接两种类型的边。
对于卫星连接,即边(xi,xj)∈Es,用户在点击物品xi之后点击了xj,会话中两个物品 之间的邻接关系使用入度矩阵和出度矩阵来表示。
添加一个星节点来传递来自于非邻接物品的信息,在星图中添加一个星节点和卫星节点 之间的双向边,使用从星节点到卫星节点的有向边来更新卫星节点,通过卫星节点,来自于 未连接节点的信息可以通过将星节点作为中继节点的方法,以两跳的方式来传递;从卫星节 点到星节点的有向边来更新星节点,通过考虑星图内的所有节点,来帮助生成准确的星节点 的表示。
步骤B中,在将节点传递进星图神经网络之前,首先初始化卫星节点和星节点的表示; 对于卫星节点,直接将会话内不重复的物品的嵌入作为卫星节点表示:
h0={x1,x2,...,xm},
步骤B中,按照以下步骤来更新卫星节点和中心节点;
对于卫星节点,用于传递信息的邻居节点来自于两种来源,即邻接节点和中心节点;当 信息来自于邻接节点时,分别对应来自于有直接连接和无直接连接的节点;对于第1层星图 中的每个卫星节点xi使用入度矩阵和出度矩阵来获得传递的信息,
是节点xi对应的入度权重和出度权重,即入度矩阵和出度矩阵的第i行, WI,WO∈Rd×d分别是对于入度边和出度边的可学习的权重,bI,bO∈R1×d是偏置向量,从而获得代表对于节点xi的传递关系,将和xi的先前状态输入到门控图神经网络,
Wz,Wr,Wh∈Rd×2d和Uz,Ur,Uh∈Rd×d是网络中可训练的参数,σ表示sigmoid激活 函数,e表示元素级别的相乘,和是更新门和重置门,分别控制之前状态被保存下 来,以及控制之前状态中的信息被写进候选激活当信息来自于中心节点时,使用自注意 力机制来计算每个卫星节点xs和中心节点xi的相似度
对于中心节点,引入自注意力机制来通过将中心节点作为query来对不同卫星节点赋予 不同程度的重要性;每个卫星节点的重要性由中心节点来决定,
q∈R1×d和K∈Rm×d分别由卫星节点和中心节点转换而来,Wq2,Wk2∈Rm×d是对应的可训练的参数,在获得重要性程度之后,使用线性结合将卫星节点结合起来作为中心节点的新 的表示,
β∈Rm是所有卫星节点的权重。
步骤B中,对于L层的星图神经网络,星图神经网络之前和之后的物品嵌入分别表示为h0和hL,高速网络表示为:
hf=ge h0+(1-g)e hL,
门控g∈Rm×d由多层图神经网络的输入和输出来决定,
g=σ(Wg[h0;hL]),
[·]表示拼接操作,Wg∈Rd×2d是可训练的参数,将拼接的向量从R2d转化为Rd, σ是sigmoid函数。
步骤C中,从对应的卫星节点hf∈Rm×d来获得时序的物品表示u∈Rn×d,通过添加可学习的位置嵌入p∈Rn×d引入时序信息,即up=u+p;将最后一个物品的表示作为用户 的最近兴趣,即将物品按照它们对应的优先级结合起来,
优先级γi由中心节点xs和最近兴趣zr同时决定,物品的权重由注意力机制来决定,
W0∈R1×d,W1,W2,W3∈Rd×d是用于控制权重的可训练的参数,b∈Rd是偏置项,将用户的整体偏好和最近兴趣通过拼接的方式结合起来,
[·]是拼接操作,W4∈Rd×2d将拼接后的矩阵从R2d转化为Rd;在会话表示zh和每个物品的嵌入表示vi上使用层归一化,分别可以表示为和在归一化之后,通过将会话表示和所有的物品嵌入相乘来得到在 每个候选物品上的分数 使用softmax层来归一化候选物品上的偏好分数; 通过使用比例系数τ避免训练无法收敛的问题,最终的分数为 中分数最高的物品将被 推荐给用户。
使用反向传播算法训练包含高速网络的星图神经网络模型,采用交叉熵来作为目标函数学习 参数,
yi∈y是真实值的独热编码中一个物品的值,如果第i个物品是给定会话的目标物品, 那么yi=1,反之yi=0。
实验验证
本实验在两个公开可获取的基准数据集,Yoochoose和Diginetica上评估本发明的表现。 Yoochoose是一个由RecSysChanllenge 2015放出的公开数据及,包含了一个电商网站在六 个月内的点击流。Diginetica从CIKM Cup 2016上获得。这里我们只采用了交易数据。
对于Yoochoose,我们过滤了长度为1的会话和出现次数少于5次的物品。然后我们将 会话分为训练集和测试集。最后一个的会话被用于测试,其余部分被当做训练集。另外,我 们去除了没有在训练集中出现的物品。对于Diginetica来说,唯一的区别就是我们使用最后 一周的数据用于测试。在预处理之后,Yoochoose数据集上还包含7,981,580个会话和37,483 个物品,在Diginetica数据集上还存在204,771个会话和43,097物品。
我们使用时序分割的预处理方法来增加训练样本。具体说,对于会话S={v1,v2,...,vn} 我们生成序列和其对应的标签,({[v1],v2},{[v1,v2],v3},...,{[v1,v2,...,vn-1],vn}),用于 训练和测试。另外,因为Yoochoose数据集过大,我们只采用最近的1/64和1/4用于训练, 分别用Yoochoose 1/64和Yoochoose 1/4来表示。三个数据集,即Yoochoose1/64,Yoochoose 1/4,Diginetica的数据在表1中提供。
表1
数据 | Yoochoose 1/64 | Yoochoose 1/4 | Diginetica |
点击数 | 557,248 | 8,236,407 | 982,961 |
训练会话数 | 369,859 | 5,917,746 | 719,470 |
测试会话数 | 55,898 | 55,898 | 60,858 |
物品数 | 16,766 | 29,618 | 43,097 |
平均会话长度 | 6.16 | 5.71 | 5.12 |
本实验中涉及到的现有模型如下:(1)两个传统方法,即S-POP和FPMC;(2)三个基于 RNN的方法,即GRU4REC,NARM和CSRM;(3)两个基于注意力的方法,即STAMP和SR-IEM; 和(4)两个基于图神经网络的方法,即SR-GNN和NISER+。S-POP为当前会话推荐最流行的 物品。FPMC是基于马尔科夫链的时序推荐上的最先进的模型。因为用户表示在基于会话的推荐中不可用,因此我们忽略掉它。GRU4REC使用GRU来建模基于会话的推荐中的时序行为,并且采用了会话并行的批训练策略。NARM应用GRU来建模时序行为,并且使用注意力机制来抓住用户的主要兴趣。CSRM通过使用并行记忆模块引入邻居会话作为辅助信息来帮助建模当 前会话,来扩展NARM。STAMP使用注意力机制来获得整体偏好并且将最后一个物品作为近期 兴趣来进行预测。R-IEM使用改进的注意力机制来衡量物品主要性,并且基于全局偏好和当 前兴趣来进行推荐。R-GNN使用门控图神经网络来获取物品的嵌入向量,并且基于注意力机 制生成会话表示从而进行推荐。NISER+引入L2归一化来解决长尾问题,并且使用dropout来 缓解SR-GNN中的过拟合问题。
我们使用6层的SGNN来获得物品嵌入向量。从训练集中随机选出10%作为验证集并用于 决定超参数。批大小被设为100,物品嵌入向量维度被设为256。我们采用Adam优化器,初 始学***均值为0,标准差为0.1的高斯分布来进行初始化。
我们采用Recall@K和MRR@K来衡量推荐效果。
Recall@K:Recall@K衡量目标物品是否在推荐列表的前K个。
N是数据集中测试序列的数目,nhit是目标物品在推荐列表里的数目。
MRR@K:MRR@K分数考虑了目标物品在推荐列表里的位置。如果目标物品在推荐列表的前 K个之外,它将被设为0.否则,将计算如下,
Rank(vtarget)是推荐列表中目标物品的位置。与Recall@K相比,MRR@K是一个归一化的命中, 将目标物品的位置考虑了进来。
表2展现了所提出的本发明(SGNN-HN)和基准模型的结果。
表2
对于基准模型,我们可以看到神经模型普遍优于传统模型,即S-POP和FPMC。神经模型 可以被分为以下几种:
基于RNN的神经模型对于基于RNN的方法,我们可以看到NARM普遍优于GRU4REC,验证 了强调用户主要意图的有效性。另外,比较CSRM和NARM,通过引入邻居会话作为辅助信息 来表示当前会话,CSRM可以在三个数据集上的所有情况下优于NARM,意味着与当前会话具有 相似意图的邻居会话能够帮助提高推荐表现。
基于注意力的神经模型对于基于注意力的方法,STAMP和SR-IEM,我们看到SR-IEM普遍 优于STAMP。这里STAMP在注意力机制中应用所有物品的混合和最后一个物品的结合作为 query,而SR-IEM单独地比较每个物品与其他物品,来提取出物品重要性。这样,SR-IEM能 够避免不相关物品带来的误差,因此能够做出准确的推荐。
基于图神经网络的神经模型考虑基于图神经网络的方法SR-GNN和NISER+,我们可以看到 表现最好的方法NISER+在几乎所有情况下都普遍优于基于RNN和基于注意力的方法,证明了 图神经网络建模会话内物品间传递关系的有效性。另外,NISER+在三个数据集上的大多数情 况都能优于SR-GNN,除了在Yoochoose 1/4数据集上在MRR@20指标上表现弱于SR-GNN。这 可能是由于长尾问题和过拟合问题在训练数据相对较少时更加严重。
从表2中,我们可以看到SGNN-HN可以在三个数据集上的所有情况下都有最好的结果。 SGNN-HN相比于基准模型的提升主要来自于两方面。一方面是所提出的星神经网络(SGNN)。 通过因此中心节点作为会话内每两个物品的中继节点,SGNN能够不仅仅传递来自于邻接物品 的信息,也可以从没有直接连接的物品获取信息。这样,每个节点就能从它们的邻居节点那 里获取到丰富的信息。另外一个是通过使用高速网络来解决过拟合问题,我们的SGNN-HN模 型能够叠加更多层的星图,使得物品的表示更好。
另外,我们发现SGNN-HN与最好的基准模型相比的提升在Yoochoose 1/64数据集上的提 升分别是1.11%和2.84%,在Yoochoose 1/4上是1.46%和2.07%。在Yoochoose1/64和 Yoochoose 1/4数据集上在MRR@20指标上的相对提升比在Recall@20上更明显。相反,在 Diginetica上,在Recall@20上的提升比在MRR@20上更明显。这可能是由于Yoochoose和 Diginetica数据集中的候选物品的数目不同,Yoochoose 1/64和Yoochoose1/4数据集上候 选物品的数目明显要比Diginetica上要少。
我们的结果显示,在候选物品的数目较少时,我们的SGNN-HN模型更能够将目标物品排 在推荐列表中的前列,而在目标物品数目相对较多时,在命中目标物品上更加有效。
为了证明SGNN的有效性,我们将我们方法中的SGNN替换为两个替代品来传播物品间的 信息,并且评估了在3个数据集上的Recall@20和MRR@20的效果。变体可以被表示为:(1) GGNN-HN,把SGNN替换为简单的GGNN;(2)SAT-HN:将SGNN替换为GAT。结果展示在图2和图3中。
从图2和图3中,我们可以看到SGNN-HN在3个数据集上的Recall@20和MRR@20指标上 都实现了最好的效果。另外,对于变体模型,GGNN-HN比SAT-HN的效果更好。我们认为这可 能是由于自注意力机制从会话内所有的物品传递信息,将会由于不相关的物品而引入误差。 然而,基于图神经网络的方法,即GGNN-HN和SGNN-HN,都能够通过图神经网络来探索物品 间复杂的传递关系,避免了不相关物品带来的误差,因此能够实现比SAT-HN更好的效果。另 外,比较GGNN-HN和SGNN-HN,我们看到GGNN-HN只能从邻接物品传递信息,缺失了很多来 自于不相连物品的信息,导致效果低于SGNN-HN。
为了调查GNN层数在所提出的SGNN-HN模型上的影响,并且证明高速网络的有效性,我 们比较SGNN-HN和它的变体SGNN-HN,从SGNN-HN中移除了高速网络。另外,比较也包含了 基于GNN方法类别中表现最好的方法NISER+。具体来说,我们将GNN层数从1提高到6,来 展示NISER+,SGNN-SR和SGNN-HN在三个数据集上Recall@20和MRR@20的效果。结果见图4-图9。SGNN-HN在三个数据集上的Recall@20和MRR@20指标上几乎在所有情况下都可以实现最好的效果。对于Recall@20,我们可以看到随着GNN层数的增加,SGNN-SR和NISER+在 三个数据集上都迅速下降。对于基于会话的推荐图神经网络面临严重的过拟合问题。另外,SGNN-SR在三个数据集的所有情况下都优于NISER+,说明了所提出的SGNN在表现会话中不同 物品之间的传递关系时更加有效。对于所提出的SGNN-HN模型。随着层数的增加,我们可以 看到Recall@20上的效果在Yoochoose 1/64和Yoochoose 1/4上略微下降,而在Diginetica 上保持稳定。另外,随着层数的上升,SGNN-HN与SGNN-SR和NISER+相比效果的差距更大。 通过引入高速网络,SGNN-HN能够有效地解决过拟合问题,并且避免随着层数增加Recall@20 指标的快速递减的问题。对于MRR@20,我们可以看到随着层数的增加,SGNN-SR在三个数据 集上展示出相似的降低的现象。另外,NISER+在Yoochoose 1/64和Diginetica下降,而在 Yoochoose 1/4上提高。另外,在层数较多时,NISER+的效果优于SGNN-SR。不同于SGNN-SR, 我们可以看到SGNN-HN在三个数据集上的多数情况下都能够取得最好的效果。另外,随着层 数的增加,SGNN-HN的表现一致地提升,可能是由于SGNN-HN中的高速网络能够动态地从物 品表示的嵌入中选择信息。另外,将SGNN-HN与SGNN-SR相比,我们可以看到在GNN层数更 多时,高速网络所带来的提升更加明显。这可能是由于包含高速网络,更多的GNN层能够被 叠加,因此更多的关系传递关系的信息能够被获得。另外,比较SGNN-HN模型中高速网络在 Recall@20和MRR@20上的影响,我们可以看到随着GNN层数的增加,高速网络能够提升MRR@20 上的分数,而在Recall@20分数上相对稳定。这可能是由于通过使用高速网络,SGNN-HN更 能够关注重要的物品,从而将目标物品推向更靠前的位置。
按照会话的长度,即点击的物品的数目,对其进行划分。具体地说,包含少于或者等于5个点击物品的会话被认为是“短”,其余的被看做是“长”。我们将阈值设定为5是因为它 是最接近于三个数据集内会话平均长度的整数。Yoochoose 1/64和Yoochoose 1/4数据集上 “短”和“长”的比例分别是70.10%和29.90%。在Diginetica数据集上分别是76.40%和 23.60%。SGNN-HN和基准模型在Recall@20和MRR@20上的表现在图10-图15中被展示出来。 我们可以看到SGNN-HN在三个数据集上的所有情况都表现最好。另外,随着会话长度的增加, 三个数据集上所有模型在Recall@20和MRR@20上的表现都一致地降低。这可能是由于长会话 更有可能包含不相关的物品,导致很难准确地识别用户偏好。对于Recall@20,如图4,6,8 所示,我们可以看到基准模型中,CSRM在三个数据集的“短”和“长”会话上都表现最差, 说明了会话内的传递关系远比简单的时序信息要复杂。通过比较SR-IEM和NISER+,我们可 以发现,在“短”会话上表现相似,但在“长”会话上NISER+的效果明显更好。这说明了通 过建模物品间的复杂传递关系,在用户-物品交互相对较多时,图神经网络能够更准确地获取 用户偏好来命中目标物品。
对于MRR@20,NISER+在Yoochoose 1/64数据集上的“短”和“长”会话上都没有比SR-IEM 的表现更好。在Yoochoose 1/4数据集上也是一样。然而,SGNN-HN可以在三个数据集上的 所有情况下都优于SR-IEM。NISER+和SGNN-HN的差别可能是由于:(1)SGNN能够使得在信息 传播时来自于长距离物品的信息也能被传递;另外(2)SGNN-HN中的高速网络使得物品间的 复杂传递关系能够被多层的SGNN更准确地调查,从而能够促进目标物品在推荐列表中的排序 位置。
另外,对于Recall@20,SGNN-HN相对于最好的基准模型NISER+在Yoochoose 1/64数据 集上“短”和“长”上的提升分别是1.18%和0.79%;在Diginetica上分别是4.96%和4.67%。 这说明了SGNN-HN在相对较短的会话上对于命中目标物品更加有效。另外,对于MRR@20, SGNN-HN相较于最好的基准模型NISER+和SR-IEM在Yoochoose 1/64“短”和“长”会话上 的提升分别是1.23%和2.97%。这里在“长”会话上由更大的提升。不同的是,在Diginetica 数据集上,在“短”和“长”会话上的提升分别是4.62%和3.76%。MRR@20上两个数据集之 间的不同可能是由于平均会话长度不同;Yoochoose 1/64的明显长于Diginetica。因为 Yoochoose 1/64中有更大比例的长会话,这解释了Yoochoose 1/64数据集上“长”会话的 提高比“短”会话的提高更多的现象。
以电子商务网站应用场景为例,如日常使用的淘宝、京东等软件,用户与***将持续进行 交互直至用户的需求得到满足。这种场景下,对于没有注册账号的用户或者刚注册账号还没 有长期历史交互信息的用户来说,其交互信息非常有限。从这些有限信息中精准地挖掘出用 户偏好难度较大,许多现有的方法如协同过滤等不适用该场景。而通过本发明提供的推荐方 法,可为用户生成推荐的商品列表。并且正如上文所述,本发明的方法在两个现实的电子商 务数据集YOOCHOOSE和DIGINETICA上进行了测试,通过与之前算法的比较,结果表明本发明 的模型能够在Recall和MRR指标上实现当前所有方法中的最优效果,证明了本发明所提出的 模型的有效性。
Claims (10)
1.一种基于星图神经网络的推荐方法,其特征在于包括以下步骤,
A、通过嵌入层会话中的每个物品xi生成一个d维的向量xi∈Rd,每个会话被构造成一个星会话图;
B、嵌入的物品被输入到多层的星图神经网络中,使用高速网络来结合星图神经网络之前和之后的物品嵌入;
C、通过结合会话中的一般偏好和近期兴趣来表示该会话;在获得会话表示之后,通过计算在所有候选物品上的分数来产生推荐。
2.如权利要求1所述的基于星图神经网络的推荐方法,其特征在于:步骤A中,对于每个会话S={v1,v2,...vt,...,vn},构建一个星图来表示会话中物品之间的传递关系,通过添加中心节点来包括未直接相连的物品,这里的中心节点与会话星图中的所有节点均有连接,V={v1,v2,...,v|V|}表示所有会话内所有唯一的物品,这里|V|是所有唯一的物品的数目,vt∈V表示会话内第t个物品;
每个会话都被表示为Gs={Vs,Es},Vs={{x1,x2,...xm},xs}表示星图内所有唯一的节点,{x1,x2,...xm}表示会话内所有唯一的节点,称为卫星节点,xs是新添加的星节点,其中m≤n。
3.如权利要求2所述的基于星图神经网络的推荐方法,其特征在于:星图包括卫星连接和中心连接两种类型的边。
4.如权利要求3所述的基于星图神经网络的推荐方法,其特征在于:对于卫星连接,即边(xi,xj)∈Es,用户在点击物品xi之后点击了xj,会话中两个物品之间的邻接关系使用入度矩阵和出度矩阵来表示。
5.如权利要求4所述的基于星图神经网络的推荐方法,其特征在于:添加一个星节点来传递来自于非邻接物品的信息,在星图中添加一个星节点和卫星节点之间的双向边,使用从星节点到卫星节点的有向边来更新卫星节点,通过卫星节点,来自于未连接节点的信息可以通过将星节点作为中继节点的方法,以两跳的方式来传递;从卫星节点到星节点的有向边来更新星节点,通过考虑星图内的所有节点,来帮助生成准确的星节点的表示。
7.如权利要求2所述的基于星图神经网络的推荐方法,其特征在于:步骤B中,按照以下步骤来更新卫星节点和中心节点;
对于卫星节点,用于传递信息的邻居节点来自于两种来源,即邻接节点和中心节点;当信息来自于邻接节点时,分别对应来自于有直接连接和无直接连接的节点;对于第l层星图中的每个卫星节点xi使用入度矩阵和出度矩阵来获得传递的信息,
是节点xi对应的入度权重和出度权重,即入度矩阵和出度矩阵的第i行,WI,WO∈Rd×d分别是对于入度边和出度边的可学习的权重,bI,bO∈R1×d是偏置向量,从而获得代表对于节点xi的传递关系,将和xi的先前状态输入到门控图神经网络,
Wz,Wr,Wh∈Rd×2d和Uz,Ur,Uh∈Rd×d是网络中可训练的参数,σ表示sigmoid激活函数,e表示元素级别的相乘,和是更新门和重置门,分别控制之前状态被保存下来,以及控制之前状态中的信息被写进候选激活当信息来自于中心节点时,使用自注意力机制来计算每个卫星节点xs和中心节点xi的相似度
对于中心节点,引入自注意力机制来通过将中心节点作为query来对不同卫星节点赋予不同程度的重要性;每个卫星节点的重要性由中心节点来决定,
q∈R1×d和K∈Rm×d分别由卫星节点和中心节点转换而来,Wq2,Wk2∈Rm×d是对应的可训练的参数,在获得重要性程度之后,使用线性结合将卫星节点结合起来作为中心节点的新的表示,
β∈Rm是所有卫星节点的权重。
8.如权利要求7所述的基于星图神经网络的推荐方法,其特征在于:步骤B中,对于L层的星图神经网络,星图神经网络之前和之后的物品嵌入分别表示为h0和hL,高速网络表示为:
hf=ge h0+(1-g)e hL,
门控g∈Rm×d由多层图神经网络的输入和输出来决定,
g=σ(Wg[h0;hL]),
[·]表示拼接操作,Wg∈Rd×2d是可训练的参数,将拼接的向量从R2d转化为Rd,σ是sigmoid函数。
9.如权利要求8所述的基于星图神经网络的推荐方法,其特征在于:步骤C中,从对应的卫星节点hf∈Rm×d来获得时序的物品表示u∈Rn×d,通过添加可学习的位置嵌入
优先级γi由中心节点Xs和最近兴趣Zr同时决定,物品的权重由注意力机制来决定,
W0∈R1×d,W1,W2,W3∈Rd×d是用于控制权重的可训练的参数,b∈Rd是偏置项,将用户的整体偏好和最近兴趣通过拼接的方式结合起来,
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010724540.XA CN111783963A (zh) | 2020-07-24 | 2020-07-24 | 一种基于星图神经网络的推荐方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010724540.XA CN111783963A (zh) | 2020-07-24 | 2020-07-24 | 一种基于星图神经网络的推荐方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111783963A true CN111783963A (zh) | 2020-10-16 |
Family
ID=72764936
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010724540.XA Pending CN111783963A (zh) | 2020-07-24 | 2020-07-24 | 一种基于星图神经网络的推荐方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111783963A (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113222700A (zh) * | 2021-05-17 | 2021-08-06 | 中国人民解放军国防科技大学 | 基于会话的推荐方法及装置 |
CN113468229A (zh) * | 2021-07-16 | 2021-10-01 | 南京信息工程大学 | 一种基于连续评分的推荐***加权相似性度量方法 |
CN113688315A (zh) * | 2021-08-19 | 2021-11-23 | 电子科技大学 | 一种基于无信息损失图编码的序列推荐方法 |
CN114036400A (zh) * | 2021-12-07 | 2022-02-11 | 中国计量大学 | 一种基于超图的协同会话推荐方法 |
CN114186139A (zh) * | 2021-12-30 | 2022-03-15 | 重庆理工大学 | 一种基于时间增强的图神经网络会话推荐方法 |
CN114385921A (zh) * | 2022-01-13 | 2022-04-22 | 中建电子商务有限责任公司 | 一种标书推荐方法、***、设备及存储介质 |
CN114491029A (zh) * | 2022-01-18 | 2022-05-13 | 四川大学 | 基于图神经网络的短文本相似度计算方法 |
CN114662138A (zh) * | 2020-12-23 | 2022-06-24 | 中国科学院沈阳自动化研究所 | 一种工业过程数据脱敏方法 |
-
2020
- 2020-07-24 CN CN202010724540.XA patent/CN111783963A/zh active Pending
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114662138B (zh) * | 2020-12-23 | 2024-06-11 | 中国科学院沈阳自动化研究所 | 一种工业过程数据脱敏方法 |
CN114662138A (zh) * | 2020-12-23 | 2022-06-24 | 中国科学院沈阳自动化研究所 | 一种工业过程数据脱敏方法 |
CN113222700A (zh) * | 2021-05-17 | 2021-08-06 | 中国人民解放军国防科技大学 | 基于会话的推荐方法及装置 |
CN113468229A (zh) * | 2021-07-16 | 2021-10-01 | 南京信息工程大学 | 一种基于连续评分的推荐***加权相似性度量方法 |
CN113468229B (zh) * | 2021-07-16 | 2023-04-25 | 南京信息工程大学 | 一种基于连续评分的推荐***加权相似性度量方法 |
CN113688315B (zh) * | 2021-08-19 | 2023-04-18 | 电子科技大学 | 一种基于无信息损失图编码的序列推荐方法 |
CN113688315A (zh) * | 2021-08-19 | 2021-11-23 | 电子科技大学 | 一种基于无信息损失图编码的序列推荐方法 |
CN114036400A (zh) * | 2021-12-07 | 2022-02-11 | 中国计量大学 | 一种基于超图的协同会话推荐方法 |
CN114036400B (zh) * | 2021-12-07 | 2022-04-08 | 中国计量大学 | 一种基于超图的协同会话推荐方法 |
CN114186139A (zh) * | 2021-12-30 | 2022-03-15 | 重庆理工大学 | 一种基于时间增强的图神经网络会话推荐方法 |
CN114385921A (zh) * | 2022-01-13 | 2022-04-22 | 中建电子商务有限责任公司 | 一种标书推荐方法、***、设备及存储介质 |
CN114385921B (zh) * | 2022-01-13 | 2023-03-24 | 中建电子商务有限责任公司 | 一种标书推荐方法、***、设备及存储介质 |
CN114491029A (zh) * | 2022-01-18 | 2022-05-13 | 四川大学 | 基于图神经网络的短文本相似度计算方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111783963A (zh) | 一种基于星图神经网络的推荐方法 | |
Pan et al. | Star graph neural networks for session-based recommendation | |
Li et al. | Project success prediction in crowdfunding environments | |
WO2020147594A1 (zh) | 获取实体间关系表达的方法、***和设备、广告召回*** | |
WO2021081962A1 (zh) | 推荐模型的训练方法、推荐方法、装置及计算机可读介质 | |
US20110289025A1 (en) | Learning user intent from rule-based training data | |
US20230153857A1 (en) | Recommendation model training method, recommendation method, apparatus, and computer-readable medium | |
CN109766557B (zh) | 一种情感分析方法、装置、存储介质及终端设备 | |
JP2020510910A (ja) | ネットワーク節点においてソフトウェアエージェントを備えるネットワークを使用した後にネットワーク節点をランク付けする機械学習の方法及び装置 | |
CN107545471B (zh) | 一种基于高斯混合的大数据智能推荐方法 | |
CN110879864A (zh) | 一种基于图神经网络和注意力机制的上下文推荐方法 | |
CN105761154A (zh) | 一种社会化推荐方法及装置 | |
CN116431914A (zh) | 一种基于个性化偏好转移模型的跨域推荐方法及*** | |
Xu et al. | Predicting advertiser bidding behaviors in sponsored search by rationality modeling | |
Kundu et al. | Topic sensitive hybrid expertise retrieval system in community question answering services | |
Tang et al. | Time enhanced graph neural networks for session-based recommendation | |
Zhou et al. | Unsupervised multiple network alignment with multinominal gan and variational inference | |
Jahanbin et al. | Aspect-based sentiment analysis of Twitter influencers to predict the trend of cryptocurrencies based on hybrid deep transfer learning models | |
Ren et al. | A co-attention based multi-modal fusion network for review helpfulness prediction | |
Zeng et al. | Collaborative filtering via heterogeneous neural networks | |
Cao et al. | Implicit user relationships across sessions enhanced graph for session-based recommendation | |
CN116975686A (zh) | 训练学生模型的方法、行为预测方法和装置 | |
CN113392334B (zh) | 冷启动环境下的虚假评论检测方法 | |
CN114841765A (zh) | 一种基于元路径邻域目标泛化的序列推荐方法 | |
Kao et al. | Inter-purchase time prediction based on deep learning. |
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 |