CN114741597A - 一种基于知识增强注意力图神经网络的下一项推荐方法 - Google Patents
一种基于知识增强注意力图神经网络的下一项推荐方法 Download PDFInfo
- Publication number
- CN114741597A CN114741597A CN202210408409.1A CN202210408409A CN114741597A CN 114741597 A CN114741597 A CN 114741597A CN 202210408409 A CN202210408409 A CN 202210408409A CN 114741597 A CN114741597 A CN 114741597A
- Authority
- CN
- China
- Prior art keywords
- item
- embedding
- behavior
- knowledge
- 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
Links
Images
Classifications
-
- 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/045—Combinations of networks
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/02—Knowledge representation; Symbolic representation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Mathematical Physics (AREA)
- Databases & Information Systems (AREA)
- Computing Systems (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- General Health & Medical Sciences (AREA)
- Biophysics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于知识增强注意力图神经网络的下一项推荐方法,包括下列步骤:将一个会话数据集中的每个会话表示为会话中项目序列、会话的目标行为序列和会话的辅助行为序列,并将该会话数据集划分为训练集、测试集和验证集;利用所述训练集构建一个基于知识增强注意力图神经网络的下一项推荐方法NR‑KAGNN的初始模型;利用所述训练集和验证集对所述NR‑KAGNN的初始模型进行参数调节后得到NR‑KAGNN的优化模型,并使用所述测试集评估该优化模型的推荐准确度;利用所得的NR‑KAGNN的优化模型为会话数据集中或实际会话数据中的用户提供下一项推荐。本发明提供的下一项推荐方法具有推荐准确度高的特点,在音乐、电影、在线新闻、电子商务等众多领域具有广阔的应用前景。
Description
技术领域
本发明属于基于会话的推荐系统技术领域,涉及基于深度神经网络的下一项推荐方法,尤其是一种基于知识增强注意力图神经网络的下一项推荐方法。
背景技术
在信息过载和数字化经济时代,推荐系统(recommender system,RS)在消费、服务和决策方面发挥着越来越重要的作用。基于会话的推荐系统(session-based recommendersystem,SBRS)也称为会话推荐系统,是近年来形成的一种推荐系统的新范式(参见:Shoujin Wang,Longbing Cao,Yan Wang,Quan Z.Sheng,Mehmet A.Orgun,Defu Lian:ASurvey on Session-based Recommender Systems.ACM Comput.Surv.54(7):154:1-154:38(2022).https://doi.org/10.1145/3465401)。会话推荐系统主要根据用户的会话(session)信息来捕获用户的短期、动态偏好,以便为用户提供更及时和准确的推荐。在会话推荐系统中,一个会话是由某个用户在一个连续时间段内发出的用户-项目交互(user-item interaction)所组成的一个非空有界列表;用户-项目交互通常简称为交互或行为(action或behavior)。给定一个用户,每个交互可表示成一个二元组:(项目,项目对应的行为类型),其中,行为类型可以是目标行为(target behavior)或辅助行为(auxiliarybehavior)(参见:Wen Wang,Wei Zhang,Shukai Liu,Qi Liu,Bo Zhang,Leyu Lin,Hongyuan Zha:Beyond Clicks:Modeling Multi-Relational Item Graph for Session-Based Target Behavior Prediction.WWW 2020:3056-3062.https://doi.org/10.1145/3366423.3380077)。一个推荐系统在某个时段所涉及的交互数据通常包含用户、项目、用户-项目交互和交互时间戳;一定数量的交互数据构成一个交互数据集。在会话推荐系统中,需要将交互数据集转换成会话数据集(session dataset),其转换方法与步骤如下:首先将一个交互数据集中的交互数据先按用户进行分组,然后针对每个用户的交互数据作以下处理:将交互数据按交互时间戳的升序进行排序,并将排序后的交互数据按一定的时间间隔划分成若干个会话,形成该用户的会话数据;所有用户的会话数据构成一个会话数据集。
下一项(交互)推荐(next-item recommendation or next interactionrecommendation)是会话推荐的主要任务。下一项(交互)推荐旨在根据给定的会话上下文(即已发生的交互的一个列表)来推荐当前会话中用户下一个可能的交互(例如,点击歌曲、购买产品)。在会话推荐的实际应用场景中,会话中可能会包含多种类型的用户-项目交互行为(例如,点击、购买),这种会话称为多类型行为会话(multi-type-action session),又称为多种行为(multiple types of behaviors)会话,相应的推荐问题(任务)称为多类型行为会话推荐或多行为推荐(multi-behavior recommendation)。在多(种)行为(会话)推荐场景下,项目之间的依赖(dependencies)不仅存在于相同类型的交互行为中,还存在于不同类型的交互行为中,并且在不同类型的交互行为中项目之间的依赖是不同的,例如,在一个会话中被一起点击的项目可能是相似的(similar)或竞争的(competitive)关系,而在一个会话中被一起购买的项目可能是互补的(complementary)关系。因此,会话推荐面临着如何有效和准确地学习出在相同类型行为下和不同类型行为下项目之间依赖的挑战。
本发明的技术问题涉及下一项(交互)推荐中的多类型行为会话推荐。多类型行为会话推荐方法与技术(有时统称为模型)在音乐、电影、在线新闻、电子商务等众多领域具有广泛的应用前景。在上述领域中,用户在海量信息中难以搜索到自己感兴趣的项目(音乐、电影、新闻和商品等)。如果能提高下一项(交互)推荐的准确度(accuracy),有助于增加商品销售量和利润、改善用户体验、提升用户满意度。
会话推荐方法(method or approach)也称为会话推荐模型(model)。目前,大多数会话推荐方法/模型都是针对单类型行为会话设计的,因而无法利用用户的多类型行为信息来捕获用户偏好。尽管少数会话推荐模型是针对多类型行为会话设计的,但这些模型仍然存在一些不足。例如:基于会话的目标行为预测的多关系图神经网络模型(Multi-Relational Graph Neural Network model for Session-based Target BehaviorPrediction,MGNN-Spred)(参见:Wen Wang,Wei Zhang,Shukai Liu,Qi Liu,Bo Zhang,Leyu Lin,Hongyuan Zha:Beyond Clicks:Modeling Multi-Relational Item Graph forSession-Based Target Behavior Prediction.WWW 2020:3056-3062.https://doi.org/10.1145/3366423.3380077)只简单地将多类型行为序列作为输入,忽略了原始会话数据中用户多类型交互之间的顺序依赖,并且无法利用知识图谱(knowledge graph,KG)或知识库(knowledge base,KB)等外部知识源中的关于推荐系统中项目的知识(简称为项目知识)来捕获会话内的依赖。又如:集成用户微行为和项目知识到多任务学习中用于基于会话的推荐模型(Incorporates User Micro-behaviors and Item Knowledge into Multi-taskLearning for Session-based Recommendation,MKM-SR)(参见:Wenjing Meng,DeqingYang,Yanghua Xiao:Incorporating User Micro-behaviors and Item Knowledge intoMulti-task Learning for Session-based Recommendation.SIGIR 2020:1091-1100.https://doi.org/10.1145/3397271.3401098)只对行为序列进行独立编码,而忽略了与行为相对应的项目的贡献,并且无法捕获编码于知识库中的实体之间高阶依赖。总之,这些多类型行为会话推荐模型通常无法充分利用用户多类型行为信息和来自知识图谱或知识库中的知识来建模会话内的依赖。
为了克服所属技术领域中现有技术的上述不足,本发明拟利用知识增强的注意力图神经网络来构建下一项推荐模型,这样的模型不仅能够充分利用用户多类型行为信息和知识图谱中的项目知识,以增强多类型行为会话嵌入,从而提高下一项推荐的准确度。
知识图谱(knowledge graph,KG)(参见:中国中文信息学会语言与知识计算专委会.知识图谱发展报告(2018),2018年8月.http://cips-upload.bj.bcebos.com/KGDevReport2018.pdf)是新一代知识工程的核心技术之一,它是由实体(作为图中的节点)和实体间关系(作为图中的边)构成的一个异构图。知识图谱中蕴含了大量结构化知识和语义信息,因此,它可以作为辅助知识源为(会话)推荐系统中的项目提供附加的信息或知识,从而有利于更全面准确地捕获用户偏好。
深度神经网络(deep neural networks)因其强大的学习和表达能力而被广泛地应用于语音识别、计算机视觉和推荐系统等领域,并取得了巨大的成功。图神经网络(graphneural networks,GNNs)是典型的深度神经网络。GraphSAGE(参见:William L.Hamilton,Zhitao Ying,Jure Leskovec:Inductive Representation Learning on LargeGraphs.NIPS 2017:1024-1034.http://papers.nips.cc/paper/6703-inductive-representation-learning-on-large-graphs)是一种典型的图神经网络,它采用均匀采样策略来采样固定数量的邻居,然后采用聚合函数(aggregate function)获得邻居特征的表示,最后将聚合后的邻居特征与目标节点的上一层的特征进行拼接。深度神经网络领域中的注意力机制(参见:Dichao Hu.An Introductory Survey onAttention Mechanisms inNLP Problems.In:Proceedings of the 2019Intelligent Systems Conference,IntelliSys 2019,pp.432-448.https://doi.org/10.1007/978-3-030-29513-4_31)和人类的选择性视觉注意力机制相似,可以从大量重要信息中忽略不重要的信息,筛选出少量重要信息并聚焦到这些重要信息上。根据待解决的技术问题的特定需要,可以将注意力机制与图神经网络(如GraphSAGE)进行有机结合后形成注意力图神经网络(AttentionalGraph Neural Network)。进一步地,这样的图神经网络还可以与知识图谱进行有机结合,形成知识增强注意力图神经网络(Knowledge-Enhanced Attentional Graph NeuralNetwork)。本发明方法的核心思想是借助知识增强注意力图神经网络来实现下一项(交互)推荐中的多类型行为会话推荐,并提高推荐准确度。
下面简要说明本发明的技术方案中采用的若干现有技术,这些现有技术只是本发明技术方案中的几个单项技术特征,它们与本发明的其他技术特征进行非显而易见的有机组合后才构成本发明的技术方案。
知识图注意力网络(Knowledge Graph Attention Network,KGAT)(参见:XiangWang,Xiangnan He,Yixin Cao,Meng Liu,Tat-Seng Chua:KGAT:Knowledge GraphAttention Network for Recommendation.KDD 2019:950-958.https://doi.org/10.1145/3292500.3330989)通过将用户-项目图与知识图谱相结合来形成一个协同知识图谱(collaborative knowledge graph),并使用图注意力网络(Graph Attention Network,GAT)(参见:Petar Velickovic,Guillem Cucurull,Arantxa Casanova,Adriana Romero,Pietro Liò,Yoshua Bengio:Graph Attention Networks.In:Proceedings of 6thInternational Conference on Learning Representations,ICLR(Poster)2018.https://openreview.net/pdf?id=rJXMpikCZ)来学习用户和项目的表示,并将它们用于推荐。
Adam优化器(参见:Diederik P.Kingma,Jimmy Ba:Adam:A Method forStochastic Optimization.3rd International Conference on LearningRepresentations,ICLR 2015,May 7-9,2015,Conference Track Proceedings.https://arxiv.org/abs/1412.6980)用于下一项推荐模型的参数进行优化。
平均池化(average pooling)用于将会话的目标行为序列图或辅助行为序列图中的项目特征进行平均操作来获得图的代表性项目特征。
softmax是一种激活函数,它用于将会话数据集中所有项目的下一项概率(初始值)映射到一个开区间(0,1)中。
本发明评价下一项推荐模型的推荐准确度(accuracy)时使用所属技术领域中常用的三个性能评价指标:命中率(HR@N)、平均倒数排名(MRR@N)和归一化折损累积增益(NDCG@N)(参见:Charu C.Aggarwal.Evaluating Recommender Systems.In:RcommenderSystems:The Textbook.Springer 2016,pp.225-254.https://doi.org/10.1007/978-3-319-29659-3_7),分别定义如下:
(1)命中率:它定义为与用户真正相关的项目在推荐列表中所占的比例。该指标由下列公式定义:
其中,N表示推荐项目的个数,Number of Hits@N表示推荐列表中命中的项目个数,而GT表示测试集中所有目标项目的集合,这个指标越高表示推荐准确度越高。
(2)平均倒数排名:它定义为与用户真正相关的项目在推荐列表中的排名取倒数,再对排名的倒数取平均。该指标由下列公式定义:
其中,N表示推荐项目的个数,m表示用户数量,GTu表示与用户真正相关的所有项目的集合,rankv表示项目v在用户u的推荐列表中的排名。
(3)归一化折损累积增益:定义为折损累积增益与其理想值的比例。该指标由下列公式定义:
其中,N表示推荐项目的个数,IDCG@N表示理想情况下最大的折损累积增益,DCG@N表示折损累积增益,它由下列公式定义:
其中,m表示用户数量,GTu表示与用户真正相关的所有项目的集合,rankv表示项目v在用户u的推荐列表中的排名。
综上所述,为了克服现有技术中存在的上述不足,即:基于深度神经网络的会话推荐方法/模型没有充分利用多类型行为信息和来自知识图谱或知识库中的项目知识来有效地建模会话内的依赖,从而导致推荐准确度不高,本发明创造性地将知识图谱、注意力机制与图神经网络进行有机组合后形成一种新颖的知识增强注意力图神经网络,该网络能够充分利用多类型行为信息和知识图谱中的项目知识来增强会话嵌入,从而提高下一项推荐的准确度。简言之,本发明提供一种基于知识增强注意力图神经网络的下一项推荐方法(Next-Item Recommendation Method based on Knowledge-Enhanced AttentionalGraph Neural Network,简称NR-KAGNN)。
发明内容
本发明所要解决的技术问题是提供一种推荐准确度高的下一项推荐方法。
为解决上述技术问题,本发明是通过以下技术方案实现的:
本发明提供一种基于知识增强注意力图神经网络的下一项推荐方法,包括下列步骤:
步骤S1:将一个会话数据集中的每个会话表示为会话中项目序列、会话的目标行为序列和会话的辅助行为序列,并将该会话数据集划分为训练集、测试集和验证集;
步骤S2:利用所述训练集构建一个基于知识增强注意力图神经网络的下一项推荐方法NR-KAGNN的初始模型;
步骤S3:利用所述训练集和验证集对所述NR-KAGNN的初始模型进行参数调节后得到NR-KAGNN的优化模型,并使用所述测试集评估该优化模型的推荐准确度;
步骤S4:利用所得的NR-KAGNN的优化模型为会话数据集中或实际会话数据中的用户提供下一项推荐。
在该方法中,所述步骤S2进一步包括:
步骤S21:构建所述下一项推荐方法NR-KAGNN的初始模型中的知识增强的多类型行为会话图生成层,并利用该层获得一个知识增强的多类型行为会话图;
步骤S22:构建所述下一项推荐方法NR-KAGNN的初始模型中的知识增强的多类型行为会话图上的注意力聚合层,并利用该层获得一个目标行为序列图和一个辅助行为序列图;
步骤S23:构建所述下一项推荐方法NR-KAGNN的初始模型中的多类型行为会话的嵌入生成层,并利用该层生成一个多类型行为会话的嵌入;
步骤S24:构建所述下一项推荐方法NR-KAGNN的初始模型中的下一项概率预测层,并利用该层生成一个关于所述会话数据集中所有项目的下一项概率向量,其中每一个分量表示相应项目将成为用户的下一个交互项目的概率。
在该方法中,所述步骤S21进一步包括:
步骤S211:将所述会话数据集中每个项目表示为一个d维向量,其中超参数d∈{64,128,256},由此得到会话数据集中所有项目的初始嵌入;
步骤S212:利用所述会话中项目序列、会话的目标行为序列和会话的辅助行为序列来构建一个多类型行为会话图,其定义如下:
该会话图中每个节点表示会话中项目序列中一个项目,该会话图中每条有向边都表示一对项目之间的一种关系,该关系表示为一个三元组:(头项目,尾项目,边类型),其中,边类型有三类:目标行为、辅助行为、项目序列,一条目标行为边表示在会话的目标行为序列中用户与一个头项目交互后接着与一个尾项目进行交互,一条辅助行为边表示在会话的辅助行为序列中用户与一个头项目交互后接着与一个尾项目进行交互,一条项目序列边表示在所述会话中项目序列中用户与一个头项目交互后接着与一个尾项目进行交互;
步骤S213:将所述会话中项目序列中的所有项目与一个知识图谱中的实体进行对齐,得到一个项目实体集,并在该知识图谱中形成该项目实体集中每个实体的一个多跳邻域;
步骤S214:通过知识图谱嵌入模型TransR来产生所述知识图谱中每个实体和每个关系的初始嵌入,并使用知识图注意力网络进行多跳注意力嵌入传播来产生所述项目实体集中所有实体的嵌入,所述多跳注意力嵌入传播具体包括:
依次执行信息传播、信息聚合、高阶传播和全连接共四个步骤来产生所述项目实体集中所有实体的嵌入,具体如下:
所述信息传播步骤通过关系注意力机制计算所述项目实体集中每个实体与所述知识图谱中该实体的每个直接邻居之间的关系系数,并根据这些关系系数对该实体的所有直接邻居进行加权聚合后获得该实体的邻居信息;
所述信息聚合步骤使用双向交互聚合器聚合每个实体的初始嵌入和该实体的邻居信息来形成该实体的第1跳嵌入;
所述高阶传播步骤通过多次依次执行上述信息传播步骤和信息聚合步骤来为每个实体收集来自它的更高跳邻居的信息,进一步地,一个实体的第H跳嵌入是通过将该实体在第H-1跳嵌入和该实体的第H-1跳的邻居信息进行聚合后产生的,其中超参数H∈{1,2,3,4,5};
所述全连接步骤将每个实体经过多跳注意力嵌入传播后产生的第1,2,...,H跳嵌入拼接成一个向量,然后对该向量进行一次线性变换后获得该实体的嵌入;
步骤S215:使用融合函数将所述多类型行为会话图中项目的初始嵌入与所述项目实体集中实体的嵌入进行融合后得到一个知识增强的多类型行为会话图,所述融合函数由下列公式定义:
式中,||是向量拼接操作,是该项目实体集中一个实体的嵌入,vi是该多类型行为会话图中一个项目的初始嵌入,i∈{1,2,...,n},n是该多类型行为会话图中节点的总数,是一个权重矩阵,超参数d∈{64,128,256}是项目的初始嵌入的向量维度,计算结果xi是知识增强的多类型行为会话图中一个项目的嵌入。
在该方法中,所述步骤S22进一步包括:
步骤S221:所述知识增强的多类型行为会话图上的注意力聚合层直接利用一个K层注意力图神经网络对所述知识增强的多类型行为会话图中所有项目的嵌入进行多轮更新后,形成一个聚合后的知识增强的多类型行为会话图,其中超参数K∈{0,1,2,3,4},并将该多类型行为会话图分解为一个目标行为序列图和一个辅助行为序列图,具体如下:
首先,根据该知识增强的多类型行为会话图中任一项目和它的直接邻居之间的有向边的类型和方向,所述K层注意力图神经网络将该项目的直接邻居分成六种类型,分别为目标行为前向邻居、目标行为后向邻居、辅助行为前向邻居、辅助行为后向邻居、项目序列前向邻居、项目序列后向邻居,于是,该知识增强的多类型行为会话图中每个项目的同一类型的所有邻居组成了该项目的该种类型的邻居集,形成了该项目的六种类型的邻居集,分别为目标行为前向邻居集、目标行为后向邻居集、辅助行为前向邻居集、辅助行为后向邻居集、项目序列前向邻居集、项目序列后向邻居集;
然后,以该K层注意力图神经网络的层号k为计数控制循环的循环变量,其初始值为1,其终止值为K,增量步长为1,共K次重复执行下列步骤(1)至(3):
(1)对该知识增强的多类型行为会话图中每个项目v的所述六种类型的邻居集分别进行平均池化,得到项目v的六种类型的邻居集的第k层嵌入,分别为目标前向邻居集的嵌入目标后向邻居集的嵌入辅助前向邻居集的嵌入辅助后向邻居集的嵌入项目序列前向邻居集的嵌入项目序列后向邻居集的嵌入
接着,经过上述K次重复执行后,项目v的嵌入被更新为第K层嵌入于是,该知识增强的多类型行为会话图中所有项目1,2,...,n的嵌入被更新为第K层嵌入其中,每个嵌入超参数d∈{64,128,256}是项目的初始嵌入的向量维度,这样就形成一个聚合后的知识增强的多类型行为会话图;
最后,该K层注意力图神经网络根据所述会话的目标行为序列和所述会话的辅助行为序列,将该聚合后的知识增强的多类型行为会话图分解为一个目标行为序列图和一个辅助行为序列图。
在该方法中,所述步骤S23进一步包括:
步骤S231:对所述目标行为序列图和所述辅助行为序列图分别进行平均池化来获得目标行为序列的嵌入和辅助行为序列的嵌入,并使用一个门控融合机制来计算这两个序列的嵌入的相对重要性权重,最后根据所述相对重要性权重对这两个序列的嵌入进行加权求和,以生成一个多类型行为会话的嵌入。
在该方法中,所述步骤S24进一步包括:
步骤S241:将所述多类型行为会话的嵌入和所述会话数据集中所有项目的初始嵌入进行向量点积后得到一个分数向量;
步骤S242:使用一个softmax函数将所述分数向量进行归一化后生成一个关于所述会话数据集中所有项目的下一项概率向量,其中每一个分量表示相应项目是用户的下一个交互项目的概率。
在该方法中,所述步骤S3进一步包括:
步骤S31:在所述训练集上使用Adam优化器学习所述NR-KAGNN的初始模型或调参后模型的参数,并在所述验证集上计算该模型的推荐准确度,具体包括:
首先,使用网格搜索法为该模型设置如下五个超参数的值:项目的初始嵌入的向量维度d、多跳注意力嵌入传播的跳数H,注意力图神经网络的层数K、学习率η、L2正则化系数λ,这些超参数的搜索范围即值域如下:d的值域为集合{64,128,256},H的值域为集合{1,2,3,4,5},K的值域为集合{0,1,2,3,4},η的值域为集合{0.001,0.01,0.1},λ的值域为集合{10-7,10-6,10-5,10-4,10-3};
然后,在所述训练集上使用Adam优化器学习该模型的参数值,得到NR-KAGNN的调参后模型;
最后,在所述验证集上计算该模型的推荐准确度;
步骤S32:判断所述NR-KAGNN的调参后模型的推荐准确度是否达到预定的阈值,该阈值的取值范围为闭区间[0.6,0.7],若该模型的推荐准确度尚未达到预定的阈值,则通过依次重复执行步骤S31和S32来继续进行参数调节,否则结束参数调节过程,得到NR-KAGNN的优化模型;
步骤S33:使用所述测试集以及命中率、平均倒数排名和归一化折损累积增益三个性能评价指标来评估所得NR-KAGNN的优化模型的推荐准确度。
本发明的有益技术效果主要包括三个方面:(1)本发明提供了一种推荐准确度高的下一项推荐方法,对下一项推荐技术的发展具有科学意义;(2)本发明的下一项推荐方法NR-KAGNN比典型的多类型行为会话推荐模型MGNN-Spred和MKM-SR具有更高的推荐准确度,原因是本发明的技术方案通过有机组合知识图注意力网络和注意力图神经网络等手段,充分利用了用户多类型行为信息和知识图谱中的项目知识,以增强多类型行为会话的嵌入;(3)本发明在音乐、电影、在线新闻、电子商务等众多领域具有广阔的应用前景。
下面结合附图对本发明的具体实施方式作进一步的描述。本发明附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
图1示出了根据本发明技术方案的一种基于知识增强注意力图神经网络的下一项推荐方法的流程示意图;
图2示出了根据本发明技术方案的一种基于知识增强注意力图神经网络的下一项推荐方法的模型框架图;
图3示出了根据本发明技术方案的一种基于知识增强注意力图神经网络的下一项推荐方法中初始模型的构建流程图。
具体实施方式
下面详细描述本发明的实施方式,所述实施方式的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的概念、对象、要素等或具有相同或类似功能的概念、对象、要素等。下面通过参考附图描述的实施方式是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语)具有与本发明所属领域及相关领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样定义,不会用理想化或过于正式的含义来解释。
为了解决上述技术问题,本发明是通过以下技术方案实现的:
本发明提供了一种基于知识增强注意力图神经网络的下一项推荐方法,如图1所示,包括下列步骤S1至步骤S4:
步骤S1:将一个会话数据集中的每个会话表示为会话中项目序列、会话的目标行为序列和会话的辅助行为序列,并将该会话数据集划分为训练集、测试集和验证集。
步骤S2:利用所述训练集构建一个基于知识增强注意力图神经网络的下一项推荐方法NR-KAGNN的初始模型;如图2和图3所示,所述步骤S2进一步包括:
步骤S21:构建所述下一项推荐方法NR-KAGNN的初始模型中的知识增强的多类型行为会话图生成层,并利用该层获得一个知识增强的多类型行为会话图;所述步骤S21进一步包括:
步骤S211:将所述会话数据集中每个项目表示为一个d维向量,其中超参数d∈{64,128,256},由此得到会话数据集中所有项目的初始嵌入;
步骤S212:利用所述会话中项目序列、会话的目标行为序列和会话的辅助行为序列来构建一个多类型行为会话图,其定义如下:
该会话图中每个节点表示会话中项目序列中一个项目,该会话图中每条有向边都表示一对项目之间的一种关系,该关系表示为一个三元组:(头项目,尾项目,边类型),其中,边类型有三类:目标行为、辅助行为、项目序列,一条目标行为边表示在会话的目标行为序列中用户与一个头项目交互后接着与一个尾项目进行交互,一条辅助行为边表示在会话的辅助行为序列中用户与一个头项目交互后接着与一个尾项目进行交互,一条项目序列边表示在所述会话中项目序列中用户与一个头项目交互后接着与一个尾项目进行交互;
步骤S213:将所述会话中项目序列中的所有项目与一个知识图谱中的实体进行对齐,得到一个项目实体集,并在该知识图谱中形成该项目实体集中每个实体的一个多跳邻域;
步骤S214:通过知识图谱嵌入模型TransR来产生所述知识图谱中每个实体和每个关系的初始嵌入,并使用知识图注意力网络进行多跳注意力嵌入传播来产生所述项目实体集中所有实体的嵌入,所述多跳注意力嵌入传播具体包括:
依次执行信息传播、信息聚合、高阶传播和全连接共四个步骤来产生所述项目实体集中所有实体的嵌入,具体如下:
所述信息传播步骤通过关系注意力机制计算所述项目实体集中每个实体与所述知识图谱中该实体的每个直接邻居之间的关系系数,并根据这些关系系数对该实体的所有直接邻居进行加权聚合后获得该实体的邻居信息;
所述信息聚合步骤使用双向交互聚合器聚合每个实体的初始嵌入和该实体的邻居信息来形成该实体的第1跳嵌入;
所述高阶传播步骤通过多次依次执行上述信息传播步骤和信息聚合步骤来为每个实体收集来自它的更高跳邻居的信息,进一步地,一个实体的第H跳嵌入是通过将该实体在第H-1跳嵌入和该实体的第H-1跳的邻居信息进行聚合后产生的,其中超参数H∈{1,2,3,4,5};
所述全连接步骤将每个实体经过多跳注意力嵌入传播后产生的第1,2,...,H跳嵌入拼接成一个向量,然后对该向量进行一次线性变换后获得该实体的嵌入;
步骤S215:使用融合函数将所述多类型行为会话图中项目的初始嵌入与所述项目实体集中实体的嵌入进行融合后得到一个知识增强的多类型行为会话图,所述融合函数由下列公式定义:
式中,||是向量拼接操作,是该项目实体集中一个实体的嵌入,vi是该多类型行为会话图中一个项目的初始嵌入,i∈{1,2,...,n},n是该多类型行为会话图中节点的总数,是一个权重矩阵,超参数d∈{64,128,256}是项目的初始嵌入的向量维度,计算结果xi是知识增强的多类型行为会话图中一个项目的嵌入;
步骤S22:构建所述下一项推荐方法NR-KAGNN的初始模型中的知识增强的多类型行为会话图上的注意力聚合层,并利用该层获得一个目标行为序列图和一个辅助行为序列图;所述步骤S22进一步包括:
步骤S221:所述知识增强的多类型行为会话图上的注意力聚合层直接利用一个K层注意力图神经网络对所述知识增强的多类型行为会话图中所有项目的嵌入进行多轮更新后,形成一个聚合后的知识增强的多类型行为会话图,其中超参数K∈{0,1,2,3,4},并将该多类型行为会话图分解为一个目标行为序列图和一个辅助行为序列图,具体如下:
首先,根据该知识增强的多类型行为会话图中任一项目和它的直接邻居之间的有向边的类型和方向,所述K层注意力图神经网络将该项目的直接邻居分成六种类型,分别为目标行为前向邻居、目标行为后向邻居、辅助行为前向邻居、辅助行为后向邻居、项目序列前向邻居、项目序列后向邻居,于是,该知识增强的多类型行为会话图中每个项目的同一类型的所有邻居组成了该项目的该种类型的邻居集,形成了该项目的六种类型的邻居集,分别为目标行为前向邻居集、目标行为后向邻居集、辅助行为前向邻居集、辅助行为后向邻居集、项目序列前向邻居集、项目序列后向邻居集;
然后,以该K层注意力图神经网络的层号k为计数控制循环的循环变量,其初始值为1,其终止值为K,增量步长为1,共K次重复执行下列步骤(1)至(3):
(1)对该知识增强的多类型行为会话图中每个项目v的所述六种类型的邻居集分别进行平均池化,得到项目v的六种类型的邻居集的第k层嵌入,分别为目标前向邻居集的嵌入目标后向邻居集的嵌入辅助前向邻居集的嵌入辅助后向邻居集的嵌入项目序列前向邻居集的嵌入项目序列后向邻居集的嵌入
接着,经过上述K次重复执行后,项目v的嵌入被更新为第K层嵌入于是,该知识增强的多类型行为会话图中所有项目1,2,...,n的嵌入被更新为第K层嵌入其中,每个嵌入超参数d∈{64,128,256}是项目的初始嵌入的向量维度,这样就形成一个聚合后的知识增强的多类型行为会话图;
最后,该K层注意力图神经网络根据所述会话的目标行为序列和所述会话的辅助行为序列,将该聚合后的知识增强的多类型行为会话图分解为一个目标行为序列图和一个辅助行为序列图;
步骤S23:构建所述下一项推荐方法NR-KAGNN的初始模型中的多类型行为会话的嵌入生成层,并利用该层生成一个多类型行为会话的嵌入;所述步骤S23进一步包括:
步骤S231:对所述目标行为序列图和所述辅助行为序列图分别进行平均池化来获得目标行为序列的嵌入和辅助行为序列的嵌入,并使用一个门控融合机制来计算这两个序列的嵌入的相对重要性权重,最后根据所述相对重要性权重对这两个序列的嵌入进行加权求和,以生成一个多类型行为会话的嵌入;
步骤S24:构建所述下一项推荐方法NR-KAGNN的初始模型中的下一项概率预测层,并利用该层生成一个关于所述会话数据集中所有项目的下一项概率向量,其中每一个分量表示相应项目将成为用户的下一个交互项目的概率;所述步骤S24进一步包括:
步骤S241:将所述多类型行为会话的嵌入和所述会话数据集中所有项目的初始嵌入进行向量点积后得到一个分数向量;
步骤S242:使用一个softmax函数将所述分数向量进行归一化后生成一个关于所述会话数据集中所有项目的下一项概率向量,其中每一个分量表示相应项目是用户的下一个交互项目的概率。
步骤S3:利用所述训练集和验证集对所述NR-KAGNN的初始模型进行参数调节后得到NR-KAGNN的优化模型,并使用所述测试集评估该优化模型的推荐准确度;所述步骤S3进一步包括:
步骤S31:在所述训练集上使用Adam优化器学习所述NR-KAGNN的初始模型或调参后模型的参数,并在所述验证集上计算该模型的推荐准确度,具体包括:
首先,使用网格搜索法为该模型设置如下五个超参数的值:项目的初始嵌入的向量维度d、多跳注意力嵌入传播的跳数H,注意力图神经网络的层数K、学习率η、L2正则化系数λ,这些超参数的搜索范围即值域如下:d的值域为集合{64,128,256},H的值域为集合{1,2,3,4,5},K的值域为集合{0,1,2,3,4},η的值域为集合{0.001,0.01,0.1},λ的值域为集合{10-7,10-6,10-5,10-4,10-3};
然后,在所述训练集上使用Adam优化器学习该模型的参数值,得到NR-KAGNN的调参后模型;
最后,在所述验证集上计算该模型的推荐准确度;
步骤S32:判断所述NR-KAGNN的调参后模型的推荐准确度是否达到预定的阈值,该阈值的取值范围为闭区间[0.6,0.7],若该模型的推荐准确度尚未达到预定的阈值,则通过依次重复执行步骤S31和S32来继续进行参数调节,否则结束参数调节过程,得到NR-KAGNN的优化模型;
步骤S33:使用所述测试集以及命中率、平均倒数排名和归一化折损累积增益三个性能评价指标来评估所得NR-KAGNN的优化模型的推荐准确度。
步骤S4:利用所得的NR-KAGNN的优化模型为会话数据集中或实际会话数据中的用户提供下一项推荐。
下面以一个具体实施例来进一步说明本发明技术方案的具体实施方式,并通过实验将本发明的技术方案(即NR-KAGNN)与目前最先进的两个多类型行为会话推荐模型一一MGNN-Spred模型(参见:Wen Wang,Wei Zhang,Shukai Liu,Qi Liu,Bo Zhang,Leyu Lin,Hongyuan Zha:Beyond Clicks:Modeling Multi-Relational Item Graph for Session-Based Target Behavior Prediction.WWW 2020:3056-3062.https://doi.org/10.1145/3366423.3380077)以及MKM-SR模型(参见:Wenjing Meng,Deqing Yang,Yanghua Xiao:Incorporating User Micro-behaviors and Item Knowledge into Multi-taskLearning for Session-based Recommendation.SIGIR 2020:1091-1100.https://doi.org/10.1145/3397271.3401098)进行推荐准确度(accuracy)的性能比较,具体使用三个性能评价指标:命中率(HR@N)、平均倒数排名(MRR@N)与归一化折损累积增益(NDCG@N)。
具体实施例使用电影领域的MovieLens 10M数据集(参见:F.Maxwell Harper,Joseph A.Konstan:The MovieLens Datasets:History and Context.ACMTrans.Interact.Intell.Syst.5(4):19:1-19:19(2016)https://doi.org/10.1145/2827872)。MovieLens 10M数据集是一个交互数据集,其中包含了71567个用户对10681部电影的约1000万条评分(1到5)。将MovieLens 10M这个交互数据集转换成会话数据集的方法与步骤如下:首先将该数据集中的交互数据先按用户进行分组,然后针对每个用户的交互数据作以下处理:将交互数据按交互时间戳的升序进行排序,并将排序后的交互数据按一定的时间间隔划分成若干个会话,形成该用户的会话数据;所有用户的会话数据构成一个会话数据集。
表1给出了MovieLens 10M数据集中的一小部分数据,表2给出了由MovieLens 10M转换成的会话数据集中的一小部分数据。
表1.MovieLens 10M数据集中的一小部分数据
用户ID | 电影ID | 用户评分 | 时间戳(单位:秒) |
1 | 122 | 5 | 1112486027 |
1 | 185 | 3.5 | 1112484676 |
1 | 231 | 3.5 | 1112484676 |
... | ... | ... | |
3676 | 5816 | 3 | 1282559851 |
3676 | 5888 | 4 | 1409090042 |
3676 | 5902 | 3.5 | 1364639781 |
3676 | 5903 | 5 | 1282559745 |
... | ... | ... | |
71567 | 260 | 5 | 912577968 |
71567 | 261 | 2 | 912578016 |
71567 | 266 | 2 | 912578173 |
表2.由MovieLens 10M转换成的会话数据集中的一小部分数据
会话ID | 用户ID | 电影ID | 用户评分 | 时间戳(单位:秒) |
1 | 1 | 924 | 4 | 1094785598 |
1 | 1 | 919 | 4 | 1094785921 |
1 | 1 | 2683 | 5 | 1094786190 |
2 | 1 | 422 | 3.5 | 1094786223 |
2 | 1 | 5436 | 3 | 1094786402 |
2 | 1 | 2423 | 3.5 | 1094786532 |
2 | 1 | 6547 | 5 | 1094786732 |
2 | 1 | 32 | 3 | 1094786821 |
... | ... | ... | ... | ... |
42 | 1 | 463 | 3 | 1094811389 |
43 | 2 | 232 | 4 | 1228632147 |
43 | 2 | 678 | 3.5 | 1228632362 |
43 | 2 | 345 | 5 | 1228632589 |
43 | 2 | 5468 | 5 | 1228632739 |
... | ... | ... | ... | ... |
2218251 | 67788 | 2338 | 5 | 1175543476 |
2218251 | 67788 | 2384 | 2 | 1175543454 |
进一步地,为了使用上述数据集通过实验将本发明的技术方案(即NR-KAGNN模型)与MGNN-Spred模型、MKM-SR模型进行推荐准确度的性能比较,本发明人设法实现了这三个模型,所使用的软件开发平台为Pycharm,编程语言为Python。具体实现技术如下:
MGNN-SPred模型的实现技术:实现工具为Python3.6和Tensorflow 1.12.0。该模型的代码直接从GitHub库MGNN-SPred中获得(参见:https://github.com/Autumn945/MGNN-SPred)。
MKM-SR模型的实现技术:实现工具为Python3.6和PyTorch1.5.0。该模型的代码直接从GitHub库MKM-SR中获得(参见:https://github.com/ciecus/MKM-SR)。
NR-KAGNN模型的实现技术:实现工具为Python 3.6.9和Tensorflow 1.12.0。实现技术如下:构建知识增强的多类型行为会话图生成层时从GitHub下载代码(参见:https://github.com/xiangwang1223/knowledge_graph_attention_network)后作必要的修改;构建知识增强的多类型行为会话图上的注意力聚合层时从GitHub下载代码(参见:https://github.com/Autumn945/MGNN-SPred)后作必要的修改;构建多类型行为会话的嵌入生成层时从GitHub下载代码(参见:https://github.com/Autumn945/MGNN-SPred)后作必要的修改;构建下一项概率预测层时使用深度学习框架TensorFlow(参见:https://tensorflow.google.cn/)中的nn类与layer模块的dense类实现。
实验的软件运行环境:(1)硬件平台:Intel(R)Xeon(R)Silver 4116CPU@2.10GHz×48,2个处理器,每个处理器12核,内存96GB,GPU型号为GEFORCE RTX 2080Ti;(2)操作系统:Ubuntu 18.04.5 LTS;(3)软件平台:Pycharm。
实验过程如下:
MGNN-SPred模型的实验过程:(1)按照MGNN-SPred模型的原始出版物(参见:WenWang,Wei Zhang,Shukai Liu,Qi Liu,Bo Zhang,Leyu Lin,Hongyuan Zha:BeyondClicks:Modeling Multi-Relational Item Graph for Session-Based Target BehaviorPrediction.WWW 2020:3056-3062.https://doi.org/10.1145/3366423.3380077)中给出的建议来设置超参数的值;(2)在由MovieLens 10M转换成的会话数据集的测试集上计算MGNN-SPred模型的推荐准确度。
MKM-SR模型的实验过程:(1)按照MKM-SR模型的原始出版物(参见:Wenjing Meng,Deqing Yang,Yanghua Xiao:Incorporating User Micro-behaviors and ItemKnowledge into Multi-task Learning for Session-based Recommendation.SIGIR2020:1091-1100.https://doi.org/10.1145/3397271.3401098)中给出的建议来设置超参数的值;(2)在由MovieLens 10M转换成的会话数据集的测试集上计算MKM-SR模型的推荐准确度。
NR-KAGNN模型的实验过程:(1)将由MovieLens 10M转换成的会话数据集中的每个会话表示为会话中项目序列、会话的目标行为序列和会话的辅助行为序列,并将该会话数据集划分为训练集、测试集和验证集;(2)利用所述训练集构建一个基于知识增强注意力图神经网络的下一项推荐方法NR-KAGNN的初始模型;(3)利用所述训练集和验证集对所述NR-KAGNN的初始模型进行参数调节后得到NR-KAGNN的优化模型,并使用所述测试集评估该优化模型的推荐准确度。
针对所述具体实施例,本发明技术方案的具体实施方式如下:
如图1所示,一种基于知识增强注意力图神经网络的下一项推荐方法,包括下列步骤S1至步骤S4:
步骤S1:将一个会话数据集中的每个会话表示为会话中项目序列、会话的目标行为序列和会话的辅助行为序列,并将该会话数据集划分为训练集、测试集和验证集;在本实施例中:会话数据集是由MovieLens 10M数据集转换成的,会话总数为2218251;根据本技术领域的惯用做法,将该会话数据集先按8∶2的比例划分为训练集与测试集,再使用10%的训练集作为验证集;需进一步说明两点:(1)如果有的会话数据集中的会话总数无法严格按照上述比例划分成训练集、测试集和验证集,那么划分过程中需对训练集、测试集和验证集中分别包含的会话数进行微调,以最大限度地接近该比例,本实施例中的会话数据集确实遇到了这样的情况,因此实验中进行了所述微调后训练集、测试集和验证集中包含的会话数分别为1597141、443650和177460;(2)根据本技术领域的惯用做法,还可以按照其他划分比例将一个会话数据集依次划分成训练集、测试集和验证集,所述划分比例包括但不限于8∶1∶1和7∶1∶2。
步骤S2:利用所述训练集构建一个基于知识增强注意力图神经网络的下一项推荐方法NR-KAGNN的初始模型;如图2和图3所示,所述步骤S2进一步包括:
步骤S21:构建所述下一项推荐方法NR-KAGNN的初始模型中的知识增强的多类型行为会话图生成层,并利用该层获得一个知识增强的多类型行为会话图;所述步骤S21进一步包括:
步骤S211:将所述会话数据集中每个项目表示为一个d维向量,其中超参数d∈{64,128,256},由此得到会话数据集中所有项目的初始嵌入;在本实施例中:d的取值为64;
步骤S212:利用所述会话中项目序列、会话的目标行为序列和会话的辅助行为序列来构建一个多类型行为会话图,其定义如下:
该会话图中每个节点表示会话中项目序列中一个项目,该会话图中每条有向边都表示一对项目之间的一种关系,该关系表示为一个三元组:(头项目,尾项目,边类型),其中,边类型有三类:目标行为、辅助行为、项目序列,一条目标行为边表示在会话的目标行为序列中用户与一个头项目交互后接着与一个尾项目进行交互,一条辅助行为边表示在会话的辅助行为序列中用户与一个头项目交互后接着与一个尾项目进行交互,一条项目序列边表示在所述会话中项目序列中用户与一个头项目交互后接着与一个尾项目进行交互;
步骤S213:将所述会话中项目序列中的所有项目与一个知识图谱中的实体进行对齐,得到一个项目实体集,并在该知识图谱中形成该项目实体集中每个实体的一个多跳邻域;
步骤S214:通过知识图谱嵌入模型TransR来产生所述知识图谱中每个实体和每个关系的初始嵌入,并使用知识图注意力网络进行多跳注意力嵌入传播来产生所述项目实体集中所有实体的嵌入,所述多跳注意力嵌入传播具体包括:
依次执行信息传播、信息聚合、高阶传播和全连接共四个步骤来产生所述项目实体集中所有实体的嵌入,具体如下:
所述信息传播步骤通过关系注意力机制计算所述项目实体集中每个实体与所述知识图谱中该实体的每个直接邻居之间的关系系数,并根据这些关系系数对该实体的所有直接邻居进行加权聚合后获得该实体的邻居信息;
所述信息聚合步骤使用双向交互聚合器聚合每个实体的初始嵌入和该实体的邻居信息来形成该实体的第1跳嵌入;
所述高阶传播步骤通过多次依次执行上述信息传播步骤和信息聚合步骤来为每个实体收集来自它的更高跳邻居的信息,进一步地,一个实体的第H跳嵌入是通过将该实体在第H-1跳嵌入和该实体的第H-1跳的邻居信息进行聚合后产生的,其中超参数H∈{1,2,3,4,5};在本实施例中:H的取值为2;
所述全连接步骤将每个实体经过多跳注意力嵌入传播后产生的第1,2,...,H跳嵌入拼接成一个向量,然后对该向量进行一次线性变换后获得该实体的嵌入;
步骤S215:使用融合函数将所述多类型行为会话图中项目的初始嵌入与所述项目实体集中实体的嵌入进行融合后得到一个知识增强的多类型行为会话图,所述融合函数由下列公式定义:
式中,||是向量拼接操作,是该项目实体集中一个实体的嵌入,vi是该多类型行为会话图中一个项目的初始嵌入,i∈{1,2,...,n},n是该多类型行为会话图中节点的总数,是一个权重矩阵,超参数d∈{64,128,256}是项目的初始嵌入的向量维度,计算结果xi是知识增强的多类型行为会话图中一个项目的嵌入;在本实施例中:d的取值为64;
步骤S22:构建所述下一项推荐方法NR-KAGNN的初始模型中的知识增强的多类型行为会话图上的注意力聚合层,并利用该层获得一个目标行为序列图和一个辅助行为序列图;所述步骤S22进一步包括:
步骤S221:所述知识增强的多类型行为会话图上的注意力聚合层直接利用一个K层注意力图神经网络对所述知识增强的多类型行为会话图中所有项目的嵌入进行多轮更新后,形成一个聚合后的知识增强的多类型行为会话图,其中超参数K∈{0,1,2,3,4},并将该多类型行为会话图分解为一个目标行为序列图和一个辅助行为序列图,具体如下:
首先,根据该知识增强的多类型行为会话图中任一项目和它的直接邻居之间的有向边的类型和方向,所述K层注意力图神经网络将该项目的直接邻居分成六种类型,分别为目标行为前向邻居、目标行为后向邻居、辅助行为前向邻居、辅助行为后向邻居、项目序列前向邻居、项目序列后向邻居,于是,该知识增强的多类型行为会话图中每个项目的同一类型的所有邻居组成了该项目的该种类型的邻居集,形成了该项目的六种类型的邻居集,分别为目标行为前向邻居集、目标行为后向邻居集、辅助行为前向邻居集、辅助行为后向邻居集、项目序列前向邻居集、项目序列后向邻居集;
然后,以该K层注意力图神经网络的层号k为计数控制循环的循环变量,其初始值为1,其终止值为K,增量步长为1,共K次重复执行下列步骤(1)至(3):
(1)对该知识增强的多类型行为会话图中每个项目v的所述六种类型的邻居集分别进行平均池化,得到项目v的六种类型的邻居集的第k层嵌入,分别为目标前向邻居集的嵌入目标后向邻居集的嵌入辅助前向邻居集的嵌入辅助后向邻居集的嵌入项目序列前向邻居集的嵌入项目序列后向邻居集的嵌入
接着,经过上述K次重复执行后,项目v的嵌入被更新为第K层嵌入于是,该知识增强的多类型行为会话图中所有项目1,2,...,n的嵌入被更新为第K层嵌入其中,每个嵌入超参数d∈{64,128,256}是项目的初始嵌入的向量维度,这样就形成一个聚合后的知识增强的多类型行为会话图;
最后,该K层注意力图神经网络根据所述会话的目标行为序列和所述会话的辅助行为序列,将该聚合后的知识增强的多类型行为会话图分解为一个目标行为序列图和一个辅助行为序列图;在本实施例中:K的取值为1;
步骤S23:构建所述下一项推荐方法NR-KAGNN的初始模型中的多类型行为会话的嵌入生成层,并利用该层生成一个多类型行为会话的嵌入;所述步骤S23进一步包括:
步骤S231:对所述目标行为序列图和所述辅助行为序列图分别进行平均池化来获得目标行为序列的嵌入和辅助行为序列的嵌入,并使用一个门控融合机制来计算这两个序列的嵌入的相对重要性权重,最后根据所述相对重要性权重对这两个序列的嵌入进行加权求和,以生成一个多类型行为会话的嵌入;
步骤S24:构建所述下一项推荐方法NR-KAGNN的初始模型中的下一项概率预测层,并利用该层生成一个关于所述会话数据集中所有项目的下一项概率向量,其中每一个分量表示相应项目将成为用户的下一个交互项目的概率;所述步骤S24进一步包括:
步骤S241:将所述多类型行为会话的嵌入和所述会话数据集中所有项目的初始嵌入进行向量点积后得到一个分数向量;
步骤S242:使用一个softmax函数将所述分数向量进行归一化后生成一个关于所述会话数据集中所有项目的下一项概率向量,其中每一个分量表示相应项目是用户的下一个交互项目的概率。
步骤S3:利用所述训练集和验证集对所述NR-KAGNN的初始模型进行参数调节后得到NR-KAGNN的优化模型,并使用所述测试集评估该优化模型的推荐准确度;所述步骤S3进一步包括:
步骤S31:在所述训练集上使用Adam优化器学习所述NR-KAGNN的初始模型或调参后模型的参数,并在所述验证集上计算该模型的推荐准确度,具体包括:
首先,使用网格搜索法为该模型设置如下五个超参数的值:项目的初始嵌入的向量维度d、多跳注意力嵌入传播的跳数H,注意力图神经网络的层数K、学习率η、L2正则化系数λ,这些超参数的搜索范围即值域如下:d的值域为集合{64,128,256},H的值域为集合{1,2,3,4,5},K的值域为集合{0,1,2,3,4},η的值域为集合{0.001,0.01,0.1},λ的值域为集合{10-7,10-6,10-5,10-4,10-3};在本实施例中:d的取值为64,H的取值为2,K的取值为1,η的取值为0.01,λ的取值为10-5;
然后,在所述训练集上使用Adam优化器学习该模型的参数值,得到NR-KAGNN的调参后模型;
最后,在所述验证集上计算该模型的推荐准确度;
步骤S32:判断所述NR-KAGNN的调参后模型的推荐准确度是否达到预定的阈值,该阈值的取值范围为闭区间[0.6,0.7],若该模型的推荐准确度尚未达到预定的阈值,则通过依次重复执行步骤S31和S32来继续进行参数调节,否则结束参数调节过程,得到NR-KAGNN的优化模型;在本实施例中:预定的阈值设置为HR@20=0.7;
步骤S33:使用所述测试集以及命中率、平均倒数排名和归一化折损累积增益三个性能评价指标来评估所得NR-KAGNN的优化模型的推荐准确度;在本实施例中:NR-KAGNN的优化模型的推荐准确度结果见表3,该表中还列出了MGNN-Spred模型和MKM-SR模型的推荐准确度结果,该表中给出的推荐准确度具体有三个评价指标:命中率(HR@20)、平均倒数排名(MRR@20)和归一化折损累积增益(NDCG@20),指标值越大,性能越好。
表3.三个模型在由MovieLens 10M转换成的会话数据集上的下一项推荐准确度结果
模型 | HR@20 | MRR@20 | NDCG@20 |
NR-KAGNN | 0.714 | 0.357 | 0.401 |
MGNN-SPred | 0.643 | 0.308 | 0.361 |
MKM-SR | 0.681 | 0.338 | 0.387 |
步骤S4:利用所得的NR-KAGNN的优化模型为会话数据集中或实际会话数据中的用户提供下一项推荐;在本实施例中:利用所得的NR-KAGNN的优化模型为所述测试集中的用户提供下一项推荐。
上述实验结果表明:与MGNN-SPred模型和MKM-SR模型相比,本发明提供的一种基于知识增强注意力图神经网络的下一项推荐方法NR-KAGNN的推荐准确度在三个模型中最高。
总体来说,由本发明上述技术方案及其具体实施方式可以理解的是,本发明的有益技术效果主要包括三个方面:(1)本发明提供了一种推荐准确度高的下一项推荐方法,对下一项推荐技术的发展具有科学意义;(2)本发明的下一项推荐方法NR-KAGNN比典型的多类型行为会话推荐模型MGNN-Spred和MKM-SR具有更高的推荐准确度,原因是本发明的技术方案通过有机组合知识图注意力网络和注意力图神经网络等手段,充分利用了用户多类型行为信息和知识图谱中的项目知识,以增强多类型行为会话的嵌入;(3)本发明在音乐、电影、在线新闻、电子商务等众多领域具有广阔的应用前景。
以上所述仅是本发明的部分实施方式,应当指出,除说明书所述的技术特征外,均为本专业技术人员的已知技术。对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (7)
1.一种基于知识增强注意力图神经网络的下一项推荐方法,包括下列步骤:
步骤S1:将一个会话数据集中的每个会话表示为会话中项目序列、会话的目标行为序列和会话的辅助行为序列,并将该会话数据集划分为训练集、测试集和验证集;
步骤S2:利用所述训练集构建一个基于知识增强注意力图神经网络的下一项推荐方法NR-KAGNN的初始模型;
步骤S3:利用所述训练集和验证集对所述NR-KAGNN的初始模型进行参数调节后得到NR-KAGNN的优化模型,并使用所述测试集评估该优化模型的推荐准确度;
步骤S4:利用所得的NR-KAGNN的优化模型为会话数据集中或实际会话数据中的用户提供下一项推荐。
2.根据权利要求1所述的方法,其特征在于,所述步骤S2进一步包括下列步骤:
步骤S21:构建所述下一项推荐方法NR-KAGNN的初始模型中的知识增强的多类型行为会话图生成层,并利用该层获得一个知识增强的多类型行为会话图;
步骤S22:构建所述下一项推荐方法NR-KAGNN的初始模型中的知识增强的多类型行为会话图上的注意力聚合层,并利用该层获得一个目标行为序列图和一个辅助行为序列图;
步骤S23:构建所述下一项推荐方法NR-KAGNN的初始模型中的多类型行为会话的嵌入生成层,并利用该层生成一个多类型行为会话的嵌入;
步骤S24:构建所述下一项推荐方法NR-KAGNN的初始模型中的下一项概率预测层,并利用该层生成一个关于所述会话数据集中所有项目的下一项概率向量,其中每一个分量表示相应项目将成为用户的下一个交互项目的概率。
3.根据权利要求1或2所述的方法,其特征在于,所述步骤S21进一步包括下列步骤:
步骤S211:将所述会话数据集中每个项目表示为一个d维向量,其中超参数d∈{64,128,256},由此得到会话数据集中所有项目的初始嵌入;
步骤S212:利用所述会话中项目序列、会话的目标行为序列和会话的辅助行为序列来构建一个多类型行为会话图,其定义如下:
该会话图中每个节点表示会话中项目序列中一个项目,该会话图中每条有向边都表示一对项目之间的一种关系,该关系表示为一个三元组:(头项目,尾项目,边类型),其中,边类型有三类:目标行为、辅助行为、项目序列,一条目标行为边表示在会话的目标行为序列中用户与一个头项目交互后接着与一个尾项目进行交互,一条辅助行为边表示在会话的辅助行为序列中用户与一个头项目交互后接着与一个尾项目进行交互,一条项目序列边表示在所述会话中项目序列中用户与一个头项目交互后接着与一个尾项目进行交互;
步骤S213:将所述会话中项目序列中的所有项目与一个知识图谱中的实体进行对齐,得到一个项目实体集,并在该知识图谱中形成该项目实体集中每个实体的一个多跳邻域;
步骤S214:通过知识图谱嵌入模型TransR来产生所述知识图谱中每个实体和每个关系的初始嵌入,并使用知识图注意力网络进行多跳注意力嵌入传播来产生所述项目实体集中所有实体的嵌入,所述多跳注意力嵌入传播具体包括:
依次执行信息传播、信息聚合、高阶传播和全连接共四个步骤来产生所述项目实体集中所有实体的嵌入,具体如下:
所述信息传播步骤通过关系注意力机制计算所述项目实体集中每个实体与所述知识图谱中该实体的每个直接邻居之间的关系系数,并根据这些关系系数对该实体的所有直接邻居进行加权聚合后获得该实体的邻居信息;
所述信息聚合步骤使用双向交互聚合器聚合每个实体的初始嵌入和该实体的邻居信息来形成该实体的第1跳嵌入;
所述高阶传播步骤通过多次依次执行上述信息传播步骤和信息聚合步骤来为每个实体收集来自它的更高跳邻居的信息,进一步地,一个实体的第H跳嵌入是通过将该实体在第H-1跳嵌入和该实体的第H-1跳的邻居信息进行聚合后产生的,其中超参数H∈{1,2,3,4,5};
所述全连接步骤将每个实体经过多跳注意力嵌入传播后产生的第1,2,...,H跳嵌入拼接成一个向量,然后对该向量进行一次线性变换后获得该实体的嵌入;
步骤S215:使用融合函数将所述多类型行为会话图中项目的初始嵌入与所述项目实体集中实体的嵌入进行融合后得到一个知识增强的多类型行为会话图,所述融合函数由下列公式定义:
4.根据权利要求3所述的方法,其特征在于,所述步骤S22进一步包括下列步骤:
步骤S221:所述知识增强的多类型行为会话图上的注意力聚合层直接利用一个K层注意力图神经网络对所述知识增强的多类型行为会话图中所有项目的嵌入进行多轮更新后,形成一个聚合后的知识增强的多类型行为会话图,其中超参数K∈{0,1,2,3,4},并将该多类型行为会话图分解为一个目标行为序列图和一个辅助行为序列图,具体如下:
首先,根据该知识增强的多类型行为会话图中任一项目和它的直接邻居之间的有向边的类型和方向,所述K层注意力图神经网络将该项目的直接邻居分成六种类型,分别为目标行为前向邻居、目标行为后向邻居、辅助行为前向邻居、辅助行为后向邻居、项目序列前向邻居、项目序列后向邻居,于是,该知识增强的多类型行为会话图中每个项目的同一类型的所有邻居组成了该项目的该种类型的邻居集,形成了该项目的六种类型的邻居集,分别为目标行为前向邻居集、目标行为后向邻居集、辅助行为前向邻居集、辅助行为后向邻居集、项目序列前向邻居集、项目序列后向邻居集;
然后,以该K层注意力图神经网络的层号k为计数控制循环的循环变量,其初始值为1,其终止值为K,增量步长为1,共K次重复执行下列步骤(1)至(3):
(1)对该知识增强的多类型行为会话图中每个项目v的所述六种类型的邻居集分别进行平均池化,得到项目v的六种类型的邻居集的第k层嵌入,分别为目标前向邻居集的嵌入目标后向邻居集的嵌入辅助前向邻居集的嵌入辅助后向邻居集的嵌入项目序列前向邻居集的嵌入项目序列后向邻居集的嵌入
接着,经过上述K次重复执行后,项目v的嵌入被更新为第K层嵌入于是,该知识增强的多类型行为会话图中所有项目1,2,...,n的嵌入被更新为第K层嵌入其中,每个嵌入超参数d∈{64,128,256}是项目的初始嵌入的向量维度,这样就形成一个聚合后的知识增强的多类型行为会话图;
最后,该K层注意力图神经网络根据所述会话的目标行为序列和所述会话的辅助行为序列,将该聚合后的知识增强的多类型行为会话图分解为一个目标行为序列图和一个辅助行为序列图。
5.根据权利要求4所述的方法,其特征在于,所述步骤S23进一步包括下列步骤:
步骤S231:对所述目标行为序列图和所述辅助行为序列图分别进行平均池化来获得目标行为序列的嵌入和辅助行为序列的嵌入,并使用一个门控融合机制来计算这两个序列的嵌入的相对重要性权重,最后根据所述相对重要性权重对这两个序列的嵌入进行加权求和,以生成一个多类型行为会话的嵌入。
6.根据权利要求5所述的方法,其特征在于,所述步骤S24进一步包括下列步骤:
步骤S241:将所述多类型行为会话的嵌入和所述会话数据集中所有项目的初始嵌入进行向量点积后得到一个分数向量;
步骤S242:使用一个softmax函数将所述分数向量进行归一化后生成一个关于所述会话数据集中所有项目的下一项概率向量,其中每一个分量表示相应项目是用户的下一个交互项目的概率。
7.根据权利要求6所述的方法,其特征在于,所述步骤S3进一步包括下列步骤:
步骤S31:在所述训练集上使用Adam优化器学习所述NR-KAGNN的初始模型或调参后模型的参数,并在所述验证集上计算该模型的推荐准确度,具体包括:
首先,使用网格搜索法为该模型设置如下五个超参数的值:项目的初始嵌入的向量维度d、多跳注意力嵌入传播的跳数H,注意力图神经网络的层数K、学习率η、L2正则化系数λ,这些超参数的搜索范围即值域如下:d的值域为集合{64,128,256},H的值域为集合{1,2,3,4,5},K的值域为集合{0,1,2,3,4},η的值域为集合{0.001,0.01,0.1},λ的值域为集合{10-7,10-6,10-5,10-4,10-3};
然后,在所述训练集上使用Adam优化器学习该模型的参数值,得到NR-KAGNN的调参后模型;
最后,在所述验证集上计算该模型的推荐准确度;
步骤S32:判断所述NR-KAGNN的调参后模型的推荐准确度是否达到预定的阈值,该阈值的取值范围为闭区间[0.6,0.7],若该模型的推荐准确度尚未达到预定的阈值,则通过依次重复执行步骤S31和S32来继续进行参数调节,否则结束参数调节过程,得到NR-KAGNN的优化模型;
步骤S33:使用所述测试集以及命中率、平均倒数排名和归一化折损累积增益三个性能评价指标来评估所得NR-KAGNN的优化模型的推荐准确度。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210408409.1A CN114741597A (zh) | 2022-04-19 | 2022-04-19 | 一种基于知识增强注意力图神经网络的下一项推荐方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210408409.1A CN114741597A (zh) | 2022-04-19 | 2022-04-19 | 一种基于知识增强注意力图神经网络的下一项推荐方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114741597A true CN114741597A (zh) | 2022-07-12 |
Family
ID=82281092
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210408409.1A Pending CN114741597A (zh) | 2022-04-19 | 2022-04-19 | 一种基于知识增强注意力图神经网络的下一项推荐方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114741597A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117792800A (zh) * | 2024-02-28 | 2024-03-29 | 四川合佳科技有限公司 | 一种基于物联网安全评估系统的信息验证方法及系统 |
-
2022
- 2022-04-19 CN CN202210408409.1A patent/CN114741597A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117792800A (zh) * | 2024-02-28 | 2024-03-29 | 四川合佳科技有限公司 | 一种基于物联网安全评估系统的信息验证方法及系统 |
CN117792800B (zh) * | 2024-02-28 | 2024-05-03 | 四川合佳科技有限公司 | 一种基于物联网安全评估系统的信息验证方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Wu et al. | Session-based recommendation with graph neural networks | |
Darban et al. | GHRS: Graph-based hybrid recommendation system with application to movie recommendation | |
Cheuque et al. | Recommender systems for online video game platforms: The case of steam | |
Gwadabe et al. | Improving graph neural network for session-based recommendation system via non-sequential interactions | |
Feng et al. | Graph neural networks with global noise filtering for session-based recommendation | |
Xiao et al. | Uprec: User-aware pre-training for recommender systems | |
Tian et al. | Temporal contrastive pre-training for sequential recommendation | |
Ding et al. | Session-based recommendation with hypergraph convolutional networks and sequential information embeddings | |
Yin et al. | GS-InGAT: An interaction graph attention network with global semantic for knowledge graph completion | |
Xue et al. | A graph regularized point process model for event propagation sequence | |
Guo et al. | Sequential dependency enhanced graph neural networks for session-based recommendations | |
CN114741597A (zh) | 一种基于知识增强注意力图神经网络的下一项推荐方法 | |
Wang et al. | Session-based recommendation with time-aware neural attention network | |
Ma et al. | Knowledge graph random neural networks for recommender systems | |
CN115310004A (zh) | 融合项目时序关系的图神经协同过滤推荐方法 | |
Varasteh et al. | An Improved Hybrid Recommender System: Integrating Document Context-Based and Behavior-Based Methods | |
CN114117229A (zh) | 一种基于有向和无向结构信息的图神经网络的项目推荐方法 | |
Guo et al. | Integrating Large Language Models with Graphical Session-Based Recommendation | |
CN113010774A (zh) | 一种基于动态深度注意力模型的点击率预测方法 | |
Dai et al. | Model selection for production system via automated online experiments | |
Gao et al. | A Novel Blockchain-Based Responsible Recommendation System for Service Process Creation and Recommendation | |
Shi et al. | Quantize Sequential Recommenders Without Private Data | |
Zheng et al. | Multi-hop knowledge graph reasoning in few-shot scenarios | |
CN115600609B (zh) | 一种基于项目表示增强的会话推荐方法、存储介质及装置 | |
Li et al. | Graph-based sequential interpolation recommender for cold-start users |
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 |