CN114780841A - 一种基于kphan的序列推荐方法 - Google Patents

一种基于kphan的序列推荐方法 Download PDF

Info

Publication number
CN114780841A
CN114780841A CN202210416700.3A CN202210416700A CN114780841A CN 114780841 A CN114780841 A CN 114780841A CN 202210416700 A CN202210416700 A CN 202210416700A CN 114780841 A CN114780841 A CN 114780841A
Authority
CN
China
Prior art keywords
user
item
sequence
items
term
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.)
Granted
Application number
CN202210416700.3A
Other languages
English (en)
Other versions
CN114780841B (zh
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.)
Hunan University
Original Assignee
Hunan University
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 Hunan University filed Critical Hunan University
Priority to CN202210416700.3A priority Critical patent/CN114780841B/zh
Publication of CN114780841A publication Critical patent/CN114780841A/zh
Application granted granted Critical
Publication of CN114780841B publication Critical patent/CN114780841B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • G06F16/288Entity relationship models
    • 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/36Creation of semantic tools, e.g. ontology or thesauri
    • G06F16/367Ontology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/18Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/22Matching criteria, e.g. proximity measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2413Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
    • G06F18/24133Distances to prototypes
    • G06F18/24137Distances to cluster centroïds
    • G06F18/2414Smoothing the distance, e.g. radial basis function networks [RBFN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2415Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on parametric or probabilistic models, e.g. based on likelihood ratio or false acceptance rate versus a false rejection rate
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/25Fusion techniques
    • G06F18/253Fusion techniques of extracted features
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • 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
    • 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/048Activation functions
    • 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/049Temporal neural networks, e.g. delay elements, oscillating neurons or pulsed inputs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation
    • G06N5/022Knowledge engineering; Knowledge acquisition

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Databases & Information Systems (AREA)
  • Computational Linguistics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Biophysics (AREA)
  • Molecular Biology (AREA)
  • Biomedical Technology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Probability & Statistics with Applications (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Animal Behavior & Ethology (AREA)
  • Operations Research (AREA)
  • Algebra (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明涉及推荐技术领域,特别是涉及一种基于KPHAN的序列推荐方法。KPHAN主要包括KGSP以及LSPF模块。在KGSP中,使用知识嵌入技术编码项目对应实体及实体上下文;采用一种知识双向融合方式增强项目表示,对项目序列建模捕获用户全局短期偏好特征。在LSPF中,利用个性化层级注意力机制捕获用户的长期偏好,再融合用户的短期偏好完成用户偏好训练与预测。有益效果在于:为序列项目之间提供了语义关联,提高了项目辨识度并很好地揭示了项目之间的相似性。个性化层级注意力网络融合了用户的长短期偏好,获得了更加准确全面的个性化用户偏好。命中率平均提高了10.7%,归一化折损累计增益平均提高了13.5%。

Description

一种基于KPHAN的序列推荐方法
技术领域
本发明涉及推荐技术领域,特别是涉及一种基于KPHAN的序列推荐方法。
背景技术
随着大数据时代的到来,信息过载亟待解决,推荐***应运而生。推荐***的主要目标是从海量的在线内容和服务中进行检索,找到满足用户兴趣偏好的部分产品并推荐给用户。目前推荐技术已经在许多电子商务平台如淘宝、Amazon、Yelp等得到了广泛的应用,并在促进平台的业务增长和动态决策过程中发挥了重要的作用,同时在很大程度上提高了用户满意度。尽管推荐***已经取得了巨大的成功,但传统的推荐技术通常假设用户的偏好是稳定不变的,只能捕获用户长期的一般偏好,产生的推荐结果具有一定的局限性;实际上,随着时间的推移,用户的偏好和商品的受欢迎程度都是动态的。序列推荐旨在根据用户交互项目的历史顺序从而为用户推荐下一次将要交互的项目,其可以灵活地捕获有用的序列模式及用户的兴趣漂移进行更准确且动态的推荐。由于其实用性,越来越多的研究者开始研究序列推荐。
现有的序列推荐方法主要分为两大类,第一类:传统方法主要包括序列模式挖掘、马尔科夫链、矩阵分解。基于马尔可夫链的方法主要根据最后或最后几个行为来推断用户未来的兴趣,基于一阶马尔可夫利用最后交互项目进行下一个项目的推断,FPMC是一个代表性模型,其将矩阵分解和马尔科夫链融合进行个性化的下一个序列篮推荐。FOSSIL、FISM通过结合基于相似度的方法和高阶马尔可夫链方法进行序列推荐,该方法考虑了更多行为的依赖。这类方法无法捕获长期复杂的依赖关系,并且容易受到数据稀疏的影响。第二类是基于深度学习模型的序列推荐。循环神经网络对具有序列特性的数据建模十分有效,GRU4Rec第一个使用GRU来捕捉会话中的长期依赖性,将会话中的交互作为序列历史进行序列建模,然而RNN这类方法对长期偏好的捕获有所受限;同时出现了基于卷积神经网络的方法主要用来捕获序列中的局部特征。基于自注意力机制的模型在机器翻译任务上取得了最先进的性能,因此SASRec模型第一个将自注意力应用于序列推荐,该模型可以解决前面所提出的局限性并成为主流框架。
虽然基于自注意力机制的方法在一定程度上改进了序列推荐的性能,但是依然存在两个问题。首先该类方法仅仅考虑了项目特征之间的序列转换模式,而忽略了辅助信息对改善序列推荐性能的重要性,事实上项目之间的语义关联对提高项目的辨识度,揭示项目相似性,挖掘用户的偏好有着一定的辅助作用,比如电影金刚和指环王这两个电影都是由彼得·杰克逊导演的,这两个项目在导演这一层面上有着较强的语义关联,尽管现有技术利用知识增强的记忆网络来捕获用户属性级的偏好,但是不能动态捕获序列项目之间的语义关联。第二,之前基于自注意力机制的方法都是使用序列模型最后一个时间步的表示来表示整个序列的顺序行为,并将其作为用户的最终偏好表示,然而最后一个时间步的表示只能代表当前用户的偏好即一种短期偏好,忽略了序列中用户的长期静态偏好即用户长期未改变的偏好,更重要的是本文发明设计了一个序列感知的损失函数使得推荐更加准确有效。
发明内容
本发明的目的在于提供一种基于KPHAN的序列推荐方法及装置,从而克服现有技术中的不足,KPHAN是指知识增强的个性化层级注意力网络。
本发明的技术方案在于,提出了一种知识增强的个性化层级注意力网络(KPHAN),利用知识信息且考虑用户的长短期偏好以提高推荐性能。
该方法包括两个主要模块:知识增强的全局短期偏好模块(KGSP)和个性化层级注意力感知的长短期偏好融合模块(LSPF),包括以下步骤:
步骤一:为了丰富项目的表示,加强项目之间语义关联,提高项目辨识度,将项目的知识信息融入项目。因此本发明提出使用知识图谱嵌入建模丰富项目的表示,将知识图谱中的实体和关系在保留知识图谱结构信息及语义关联的前提下将实体和关系编码为低维稠密向量;
具体来说,(1.1)首先使用KB4Rec(具体实施参考文献[1])中的实体链接方法,在知识图谱中找到项目v对应的实体e∈Ε,其中E为知识图谱所有实体集合;
(1.2)然后由该实体出发找到一阶子图(e,r,et)∈G,其中(e,et)分别表示一阶子图G中的头结点和尾结点,r∈R表示一阶子图中所有关系;
(1.3)最后将一阶子图通过TransE模型(具体实施参考文献[2])进行训练得到项目对应实体的低维稠密向量
Figure BDA0003605038700000031
一阶子图中其余实体嵌入
Figure BDA0003605038700000032
通过TransE模型将实体和关系表示为同一空间中,使得头结点向量与关系向量之和越接近尾结点越好,即e+r≈et,因此TransE的得分函数为:
Figure BDA0003605038700000033
其中
Figure BDA0003605038700000034
表示L2范数;
(1.4)为了训练TransE模型,优化的目标函数使用了负采样和最大间隔策略的损失函数,使得正样本得分越来越高,负样本得分越来越低,损失函数如下:
Figure BDA0003605038700000035
其中dpos表示正三元组的得分,dneg表示负三元组的得分,margin表示最大间隔,max为最大值函数;
步骤二:由于实体的一阶邻居(本发明称一阶邻居实体为上下文实体)通常是提供语义关联的重要特征,因此在步骤一项目对应的实体嵌入基础上引入了上下文实体,项目对应实体的上下文实体定义为:
context(e)={et|(e,r,et)∈G}
对应的上下文实体嵌入通过计算上下文实体嵌入的平均值获得:
Figure BDA0003605038700000036
其中
Figure BDA0003605038700000037
表示项目对应实体的上下文实体嵌入,|context(e)|为上下文实体个数,∑表示求和操作;
步骤三:本发明将模型交互序列的最大长度设为n,以滑动窗口的形式对用户交互序列进行最大序列长度取值,若交互序列不足n,那么在序列的左侧补0;创建一个项目嵌入矩阵M∈R|V|×d,其中d表示项目嵌入维度,|v|表示项目的数量,每次序列建模检索出对应的输入嵌入矩阵
Figure BDA0003605038700000038
为每个项目添加一个可学习的位置嵌入
Figure BDA0003605038700000039
最终序列项目嵌入为
Figure BDA00036050387000000310
以前方法直接将
Figure BDA00036050387000000311
作为自适应注意力模块的输入,然而这种只采用项目嵌入的方式忽略了项目的语义特征,因此将步骤一的项目对应的实体嵌入和步骤二中项目对应的上下文嵌入融入项目以增强项目的表示提高项目辨识度,这里采用双向融合fBi-interaction对最终序列项目嵌入
Figure BDA0003605038700000041
融入知识得到知识增强后的序列项目嵌入
Figure BDA0003605038700000042
并对其使用dropoutlayer(训练时以一定的概率丢弃神经元)来缓解深度神经网络过拟合问题,其中leakyReLU为非线性激活函数,W1和W2为可学习参数,e表示向量对应元素乘;
Figure BDA0003605038700000043
Figure BDA0003605038700000044
Figure BDA0003605038700000045
其中
Figure BDA0003605038700000046
是序列项目v对应的实体嵌入矩阵,
Figure BDA0003605038700000047
是项目v对应实体的上下文嵌入矩阵,
Figure BDA0003605038700000048
Figure BDA0003605038700000049
将项目对应的上下文实体嵌入与上下文实体通过同一全连接网络并施加tanh非线性激活函数投影到项目同一空间中,W,W1,W2,b为可学习参数;
步骤四:在步骤三的基础上将知识增强后的序列项目嵌入
Figure BDA00036050387000000410
作为自适应注意力模块的输入来获取用户的短期兴趣;具体而言,自适应注意力模块包括自注意力以及前馈神经网络(FFN);其中自注意力部分采用标量点积,定义为:
Figure BDA00036050387000000411
S=Attention(Q,K,V)
其中Q表示queries,K表示keys,V表示values,
Figure BDA00036050387000000412
Figure BDA00036050387000000413
是可学习参数,layerNorm表示层归一化;值得注意的是,为了确保序列的时间先后顺序,在Q,K,V计算时采用mask机制,Qi和Kj满足i<j,Qi和Kj之间的注意力权重计算的是项目i和项目j之间的依赖关系,通过计算先前项目的注意力加权和来捕获序列的顺序变化;为了给模型增加非线性性,自注意力之后进行前馈神经网络获得更深层特征,采用两层前馈神经网络,具体为:
F=FFN(S)=Relu(dropout(Relu(dropout(SW(1)+b)))W(2)+b))
其中Relu为非线性激活函数,dropout是指在训练是按照一定的概率对神经元进行丢弃,W(1),W(2),b为神经网络的可学习参数,S为自注意力后序列表示;实验表明将低层特征传播到高层更有利于模型学习,因此在自注意力模块和前馈神经网络部分都使用了残差连接,为了学习更复杂的依赖关系,堆叠ω个自适应注意力块即(自注意力和FFN),第b个块(b>1)定义为:
S(b)=Attention(F(b-1))
F(b)=FFN(S(b))
当b=1时,S=Attention(Q,K,V),F=FFN(S),
Figure BDA0003605038700000051
为最后一个块中最后一个项目的特征向量,其融合了之前所有项目的特征从而获得了更准确的当前项目特征,而当前项目特征对用户偏好预测十分重要,因此将
Figure BDA0003605038700000052
视为用户的短期偏好;至此知识增强的全局动态短期偏好模块描述完毕,下面步骤开始描述个性化层级注意力感知的长短期偏好融合模块;
步骤五:除了用户的当前偏好对用户下一个项目的交互起作用外,用户的长期静态偏好即用户长期来没有改变的偏好也对预测用户下一个项目的交互起着不可或缺的作用,用户的长期偏好存在于用户曾交互过的项目中,这里将
Figure BDA0003605038700000053
与候选项目进行相似度计算获取用户的长期静态偏好,每一时刻项目与候选项目的相似度计算如下:
Figure BDA0003605038700000054
其中q为候选项目,
Figure BDA0003605038700000055
表示堆叠ω个自适应注意力模块后的前n-1个项目表示,
Figure BDA0003605038700000056
为用户t时刻项目的注意力得分,softmax为归一化函数,最后将用户的长期偏好
Figure BDA0003605038700000057
表示为前n-1个时刻的加权和:
Figure BDA0003605038700000058
步骤六:长期偏好与短期偏好在预测用户下一个交互项目中发挥着不同的作用,因此接下来进一步利用注意力探索长期偏好与短期偏好在预测下一个项目时哪一种偏好更加重要:
Figure BDA0003605038700000059
Figure BDA0003605038700000061
Figure BDA0003605038700000062
其中
Figure BDA0003605038700000063
是由用户曾交互的项目提取出来的隐式用户偏好,由长期偏好与短期偏好组成,
Figure BDA0003605038700000064
为短期偏好的权重,
Figure BDA0003605038700000065
为长期偏好的权重,q为下一个将交互的项目;
步骤七:为了进一步提供个性化序列推荐,在步骤六的基础上引入显式用户偏好矩阵
Figure BDA0003605038700000066
其中d表示维度,|u|表示用户数目,通过一个权重参数α融合隐式用户偏好与显式用户偏好得到最终的用户偏好表示
Figure BDA0003605038700000067
Figure BDA0003605038700000068
为了预测用户下一个可能交互的项目,对最终用户偏好和候选项目集进行点积计算获得用户对下一个项目交互的概率,其中
Figure BDA0003605038700000069
为候选项目集
Figure BDA00036050387000000610
为第i个用户对候选第j个项目的得分,得分越高代表该用户与该项目交互的概率越大,对候选项目集降序排序,选取前K个作为推荐项目;
Figure BDA00036050387000000611
至此,整个序列推荐流程就已描述完毕;模型以端到端的方式进行训练,设计了一个序列感知的二元交叉熵损失函数:
Figure BDA00036050387000000612
其中k为用户ui最大可划分的序列数,j为每一个划分的序列的正样本,
Figure BDA00036050387000000613
为用户ui在取正样本j时采样的负样本,这里为每个正例采样了100个负例,
Figure BDA00036050387000000614
表示对模型所有参数和embedding(项目嵌入)进行正则化,
Figure BDA00036050387000000615
为正样本交互概率,
Figure BDA00036050387000000616
为负样本交互概率。
本发明的有益效果在于,(1)在两个评价指标上均取得最佳性能,特别是在音乐数据集上,命中率HR提高了32%,归一化折损累计增益NDCG提高了33%。说明本文提出的知识增强的个性化层级注意力网络的有效性。知识增强的全局短期偏好模块为序列项目之间提供了语义关联,提高了项目辨识度并很好地揭示了项目之间的相似性。个性化层级注意力网络融合了用户的长短期偏好,获得了更加准确全面的个性化用户偏好。(2)本发明相较于之前加辅助信息的模型FDSA和KSR,在命中率这一指标上平均提高了16.3%,NDCG平均提高了18.4%。证明本方法相较于之前的方法不仅能捕获项目的序列转换以及项目之间语义关联,同时还考虑了长短期偏好,改善了推荐性能。(3)为了验证知识增强的项目表示模块和个性化层级注意力模块的有效性,对KPHAN的三个变体进行消融实验,KPHAN-K&A表示忽略知识增强模块和个性化层级注意力模块的基本模型。KPHAN-A为忽略模型的个性化层级注意力,探讨知识的有用性。基本模型在加入知识内容后效果明显提升,在三个不同数据集上命中率平均提升了7.8%,归一化折损累计增益平均提升了7.7%。KPHAN-K为忽略模型的知识增强模块,探讨层级注意力的有用性,在三个不同数据集上命中率平均提升了1.4%,归一化折损累计增益平均提升了2.4%。KPHAN是本文提出的模型,相较于前面三种变体,效果显著提升。表明知识增强模块和个性化层级注意力模块相辅相成,并使模型获得最佳性能。
附图说明
图1为所提出的序列推荐模型的流程图。
图2为本发明与基准模型的比较结果。
图3为本发明消融实验结果。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明了,下面结合具体实施方式并参照附图,对本发明进一步详细说明。应该理解,这些描述只是示例性的,而并非要限制本发明的范围。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本发明的概念;此外,下面所描述的本发明不同实施方式中所涉及的技术特征只要彼此之间未构成冲突就可以相互结合。以下将参照附图更详细地描述本发明。在各个附图中,相同的元件采用类似的附图标记来表示。为了清楚起见,附图中的各个部分没有按比例绘制;下面结合附图1至3来描述本发明实施例的一种基于KPHAN的序列推荐方法:
S1:获取项目对应一阶子图知识图谱并且实施嵌入编码;
S2:获取项目对应的实体及上下文实体编码;
S3:融合项目、实体、上下文实体特征得到增强的项目特征;
S4:获取用户的全局短期偏好特征;
S5:获取用户的长期静态偏好特征;
S6:长短期偏好特征融合得到隐式用户偏好特征;
S7:融合显式与隐式用户偏好特征获得最终的用户偏好进行训练与预测;
其中S1-S4为知识增强的全局短期偏好模块(KGSP),S5-S7为个性化层级注意力感知的长短期偏好融合模块(LSPF)。
本发明包括以下具体步骤:
步骤一:知识图谱能产生项目之间的语义关联,提供更准确的推荐,通过使用知识图谱嵌入建模增强项目的表示。知识图谱嵌入的目的在于将知识图谱中的实体和关系在保留知识图谱结构信息及语义关联的前提下将实体和关系编码为低维稠密向量;
具体来说,(1.1)首先使用KB4Rec(具体实施参考文献[1]:Zhao,Wayne Xin,etal."Kb4rec:A data set for linking knowledge bases with recommender systems."Data Intelligence 1.2(2019):121-136.Bordes,Antoine,et al.)中的实体链接方法,在知识图谱中找到项目v对应的实体e∈Ε,其中E为知识图谱所有实体集合;
(1.2)然后由该实体出发找到一阶子图(e,r,et)∈G,其中(e,et)分别表示一阶子图G中的头结点和尾结点,r∈R表示一阶子图中所有关系;
(1.3)最后将一阶子图通过TransE模型(具体实施参考文献[2]:"Translatingembeddings for modeling multi-relational data."Advances in neural informationprocessing systems 26(2013).)进行训练得到项目对应实体的低维稠密向量
Figure BDA0003605038700000081
一阶子图中其余实体嵌入
Figure BDA0003605038700000082
通过TransE模型将实体和关系表示为同一空间中,使得头结点向量与关系向量之和越接近尾结点越好,即e+r≈et,因此TransE的得分函数为:
Figure BDA0003605038700000083
其中
Figure BDA0003605038700000084
表示L2范数;
(1.4)为了训练TransE模型,优化的目标函数使用了负采样和最大间隔策略的损失函数,使得正样本得分越来越高,负样本得分越来越低,损失函数如下:
Figure BDA0003605038700000085
其中dpos表示正三元组的得分,dneg表示负三元组的得分,margin表示最大间隔,max为最大值函数;
步骤二:由于实体的一阶邻居(本发明称一阶邻居实体为上下文实体)通常是提供语义关联的重要特征,因此在步骤一项目对应的实体嵌入基础上引入了上下文实体,项目对应实体的上下文实体定义为:
context(e)={et|(e,r,et)∈G}
对应的上下文实体嵌入通过计算上下文实体嵌入的平均值获得:
Figure BDA0003605038700000091
其中
Figure BDA0003605038700000092
表示项目对应实体的上下文实体嵌入,|context(e)|为上下文实体个数,∑表示求和操作;
步骤三:本发明将模型交互序列的最大长度设为n,以滑动窗口的形式对用户交互序列进行最大序列长度取值,若交互序列不足n,那么在序列的左侧补0;创建一个项目嵌入矩阵M∈R|V|×d,其中d表示项目嵌入维度,|v|表示项目的数量,每次序列建模检索出对应的输入嵌入矩阵
Figure BDA0003605038700000093
为每个项目添加一个可学习的位置嵌入
Figure BDA0003605038700000094
最终序列项目嵌入为
Figure BDA0003605038700000095
以前方法直接将
Figure BDA0003605038700000096
作为自适应注意力模块的输入,然而这种只采用项目嵌入的方式忽略了项目的语义特征,因此将步骤一的项目对应的实体嵌入和步骤二中项目对应的上下文嵌入融入项目以增强项目的表示提高项目辨识度,这里采用双向融合fBi-interaction对最终序列项目嵌入
Figure BDA0003605038700000097
融入知识得到知识增强后的序列项目嵌入
Figure BDA0003605038700000098
并对其使用dorpout layer(训练时以一定的概率丢弃神经元)来缓解深度神经网络过拟合问题,其中leakyReLU为非线性激活函数,W1和W2为可学习参数,⊙表示向量对应元素乘;
Figure BDA0003605038700000099
Figure BDA00036050387000000910
Figure BDA00036050387000000911
其中
Figure BDA00036050387000000912
是序列项目v对应的实体嵌入矩阵,
Figure BDA00036050387000000913
是项目v对应实体的上下文嵌入矩阵,
Figure BDA0003605038700000101
Figure BDA0003605038700000102
将项目对应的上下文实体嵌入与上下文实体通过同一全连接网络并施加tanh非线性激活函数投影到项目同一空间中,W,W1,W2,b为可学习参数;
步骤四:在步骤三的基础上将知识增强后的序列项目嵌入
Figure BDA0003605038700000103
作为自适应注意力模块的输入来获取用户的短期兴趣;具体而言,自适应注意力模块包括自注意力以及前馈神经网络(FFN);其中自注意力部分采用标量点积,定义为:
Figure BDA0003605038700000104
S=Attention(Q,K,V)
其中Q表示queries,K表示keys,V表示values,
Figure BDA0003605038700000105
Figure BDA0003605038700000106
是可学习参数,layerNorm表示层归一化;值得注意的是,为了确保序列的时间先后顺序,在Q,K,V计算时采用mask机制,Qi和Kj满足i<j,Qi和Kj之间的注意力权重计算的是项目i和项目j之间的依赖关系,通过计算先前项目的注意力加权和来捕获序列的顺序变化;为了给模型增加非线性性,自注意力之后进行前馈神经网络获得更深层特征,采用两层前馈神经网络,具体为:
F=FFN(S)=Relu(dropout(Relu(dropout(SW(1)+b)))W(2)+b))
其中Relu为非线性激活函数,dropout是指在训练是按照一定的概率对神经元进行丢弃,W(1),W(2),b为神经网络的可学习参数,S为自注意力后序列表示;实验表明将低层特征传播到高层更有利于模型学习,因此在自注意力模块和前馈神经网络部分都使用了残差连接,为了学习更复杂的依赖关系,堆叠ω个自注意力块即(自注意力和FFN),第b个块(b>1)定义为:
S(b)=Attention(F(b-1))
F(b)=FFN(S(b))
当b=1时,S=Attention(Q,K,V),F=FFN(S),
Figure BDA0003605038700000107
为最后一个块中最后一个项目的特征向量,其融合了之前所有项目的特征从而获得了更准确的当前项目特征,而当前项目特征对用户偏好预测十分重要,因此将
Figure BDA0003605038700000108
视为用户的短期偏好;至此知识增强的全局短期偏好模块描述完毕,下面步骤开始描述个性化层级注意力感知的长短期偏好融合模块;
步骤五:除了用户的当前偏好对用户下一个项目的交互起作用外,用户的长期静态偏好即用户长期来没有改变的偏好也对预测用户下一个项目的交互起着不可或缺的作用,用户的长期偏好存在于用户曾交互过的项目中,这里将
Figure BDA0003605038700000111
与候选项目进行相似度计算获取用户的长期静态偏好,每一时刻项目与候选项目的相似度计算如下:
Figure BDA0003605038700000112
其中q为候选项目,
Figure BDA0003605038700000113
表示堆叠ω个自适应注意力模块后的前n-1个项目表示,
Figure BDA0003605038700000114
为用户t时刻项目的注意力得分,softmax为归一化函数,最后将用户的长期偏好
Figure BDA0003605038700000115
表示为前n-1个时刻的加权和:
Figure BDA0003605038700000116
步骤六:长期偏好与短期偏好在预测用户下一个交互项目中发挥着不同的作用,因此接下来进一步利用注意力探索长期偏好与短期偏好在预测下一个项目时哪一种偏好更加重要:
Figure BDA0003605038700000117
Figure BDA0003605038700000118
Figure BDA0003605038700000119
其中
Figure BDA00036050387000001110
是由用户曾交互的项目提取出来的隐式用户偏好,由长期偏好与短期偏好组成,
Figure BDA00036050387000001111
为短期偏好的权重,
Figure BDA00036050387000001112
为长期偏好的权重,q为下一个将交互的项目;
步骤七:为了进一步提供个性化序列推荐,在步骤六的基础上引入显式用户偏好矩阵
Figure BDA00036050387000001113
其中d表示维度,u表示用户数目,通过一个权重参数α融合隐式用户偏好与显式用户偏好得到最终的用户偏好表示
Figure BDA00036050387000001114
Figure BDA00036050387000001115
为了预测用户下一个可能交互的项目,对最终用户偏好和候选项目集进行点积计算获得用户对下一个项目交互的概率,其中
Figure BDA0003605038700000121
为候选项目集,
Figure BDA0003605038700000122
为第i个用户对候选第j个项目的得分,得分越高代表该用户与该项目交互的概率越大,对候选项目集降序排序,选取前K个作为推荐项目;
Figure BDA0003605038700000123
至此,整个序列推荐流程就已描述完毕;模型以端到端的方式进行训练,设计了一个序列感知的二元交叉熵损失函数:
Figure BDA0003605038700000124
其中k为用户ui最大可划分的序列数,j为每一个划分的序列的正样本,
Figure BDA0003605038700000125
为用户ui在取正样本j时采样的负样本,这里为每个正例采样了100个负例,
Figure BDA0003605038700000126
表示对模型所有参数和embedding(即项目嵌入)进行正则化,
Figure BDA0003605038700000127
为正样本交互概率,
Figure BDA0003605038700000128
为负样本交互概率。
本发明的有益效果在于,如图2所示,在两个评价指标上均取得最佳性能,特别是在音乐数据集上,命中率HR提高了32%,归一化折损累计增益NDCG提高了33%。说明本文提出的知识增强的个性化层级注意力网络的有效性。知识增强的全局短期偏好模块为序列项目之间提供了语义关联,提高了项目辨识度并很好地揭示了项目之间的相似性。个性化层级注意力网络融合了用户的长短期偏好,获得了更加准确全面的个性化用户偏好。
其次,本发明相较于之前加辅助信息的模型FDSA和KSR,在命中率这一指标上平均提高了16.3%,NDCG平均提高了18.4%。证明本方法相较于之前的方法不仅能捕获项目的序列转换以及项目之间语义关联,同时还考虑了长短期偏好,改善了推荐性能。
进一步,为了验证知识增强的项目表示模块和个性化层级注意力模块的有效性,对KPHAN的三个变体进行消融实验,如图3所示。KPHAN-K&A表示忽略知识增强模块和个性化层级注意力模块的基本模型。KPHAN-A为忽略模型的个性化层级注意力,探讨知识的有用性。从表中可以看出基本模型在加入知识内容后效果明显提升,在三个不同数据集上命中率平均提升了7.8%,归一化折损累计增益平均提升了7.7%。KPHAN-K为忽略模型的知识增强模块,探讨层级注意力的有用性,在三个不同数据集上命中率平均提升了1.4%,归一化折损累计增益平均提升了2.4%。KPHAN是本文提出的模型,相较于前面三种变体,效果显著提升。表明知识增强模块和个性化层级注意力模块相辅相成,并使模型获得最佳性能。
显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

Claims (2)

1.一种基于KPHAN的序列推荐方法,其特征在于,KPHAN是指知识增强的个性化层级注意力网络;
具体包括以下步骤:
步骤一:通过使用知识图谱嵌入建模增强项目的表示,将知识图谱中的实体和关系在保留知识图谱结构信息及语义关联的前提下将实体和关系编码为低维稠密向量;
(1.1)首先使用KB4Rec中的实体链接方法,在知识图谱中找到项目v对应的实体e∈Ε,其中E为知识图谱所有实体集合;
(1.2)然后由该实体出发找到一阶子图(e,r,et)∈G,其中(e,et)分别表示一阶子图G中的头结点和尾结点,r∈R表示一阶子图中所有关系;
(1.3)最后将一阶子图通过TransE模型进行训练得到项目对应实体的低维稠密向量
Figure FDA0003605038690000011
一阶子图中其余实体嵌入
Figure FDA0003605038690000012
通过TransE模型将实体和关系表示为同一空间中,使得头结点向量与关系向量之和,即e+r≈et,因此TransE的得分函数为:
Figure FDA0003605038690000013
其中
Figure FDA0003605038690000014
表示L2范数
(1.4)为了训练TransE模型,优化的目标函数使用了负采样和最大间隔策略的损失函数,使得正样本得分越来越高,负样本得分越来越低,损失函数如下:
Figure FDA0003605038690000015
其中dpos表示正三元组的得分,dneg表示负三元组的得分,margin表示最大间隔,max为最大值函数;
步骤二:由于实体的一阶邻居,通常是提供语义关联的重要特征,因此在步骤一项目对应的实体嵌入基础上引入了上下文实体,项目对应实体的上下文实体定义为:
context(e)={et|(e,r,et)∈G}
对应的上下文实体嵌入通过计算上下文实体嵌入的平均值获得
Figure FDA0003605038690000016
其中
Figure FDA0003605038690000017
表示项目对应实体的上下文实体嵌入,|context(e)|为上下文实体个数,∑表示求和操作;
步骤三:将模型交互序列的最大长度设为n,以滑动窗口的形式对用户交互序列进行最大序列长度取值,若交互序列不足n,那么在序列的左侧补0;创建一个项目嵌入矩阵M∈R|V|×d,其中d表示项目嵌入维度,|v|表示项目的数量,每次序列建模检索出对应的输入嵌入矩阵
Figure FDA0003605038690000021
为每个项目添加一个可学习的位置嵌入
Figure FDA0003605038690000022
最终序列项目嵌入为
Figure FDA0003605038690000023
以前方法直接将
Figure FDA0003605038690000024
作为自适应注意力模块的输入,然而这种只采用项目嵌入的方式忽略了项目的语义特征,因此将步骤一的项目对应的实体嵌入和步骤二中项目对应的上下文嵌入融入项目以增强项目的表示提高项目辨识度,这里采用双向融合fBi-interaction对最终序列项目嵌入
Figure FDA0003605038690000025
融入知识得到知识增强后的序列项目嵌入
Figure FDA0003605038690000026
并对其使用dorpout layer,即训练时以一定的概率丢弃神经元,来缓解深度神经网络过拟合问题,其中leakyReLU为非线性激活函数,W1和W2为可学习参数,e表示向量对应元素乘;
Figure FDA0003605038690000027
Figure FDA0003605038690000028
Figure FDA0003605038690000029
其中
Figure FDA00036050386900000210
是序列项目v对应的实体嵌入矩阵,
Figure FDA00036050386900000211
是项目v对应实体的上下文嵌入矩阵,
Figure FDA00036050386900000212
Figure FDA00036050386900000213
将项目对应的上下文实体嵌入与上下文实体通过同一全连接网络并施加tanh非线性激活函数投影到项目同一空间中,W,W1,W2,b为可学习参数;
步骤四:在步骤三的基础上将知识增强后的序列项目嵌入
Figure FDA00036050386900000214
作为自适应注意力模块的输入来获取用户的短期兴趣;自适应注意力模块包括自注意力以及前馈神经网络(FFN);其中自注意力部分采用标量点积,定义为:
Figure FDA00036050386900000215
S=Attention(Q,K,V)
其中Q表示queries,K表示keys,V表示values,
Figure FDA0003605038690000031
Figure FDA0003605038690000032
是可学习参数,layerNorm表示层归一化;为了确保序列的时间先后顺序,在Q,K,V计算时采用mask即掩码机制,Qi和Kj满足i<j,Qi和Kj之间的注意力权重计算的是项目i和项目j之间的依赖关系,通过计算先前项目的注意力加权和来捕获序列的顺序变化;
为了给模型增加非线性性,自注意力之后进行前馈神经网络获得更深层特征,采用两层前馈神经网络,具体为:
F=FFN(S)=Relu(dropout(Relu(dropout(SW(1)+b)))W(2)+b))
其中Relu为非线性激活函数,dropout是指在训练是按照一定的概率对神经元进行丢弃,W(1),W(2),b为神经网络的可学习参数,S为自注意力后序列表示;在自注意力模块和前馈神经网络部分都使用了残差连接,为了学习更复杂的依赖关系,堆叠ω个自注意力块,即self attention和FFN,第b个块,且b>1,定义为:
S(b)=Attention(F(b-1))
F(b)=FFN(S(b))
当b=1时,S=Attention(Q,K,V),F=FFN(S),
Figure FDA0003605038690000033
为最后一个块中最后一个项目的特征向量,其融合了之前所有项目的特征从而获得了更准确的当前项目特征,而当前项目特征对用户偏好预测十分重要,因此将
Figure FDA0003605038690000034
视为用户的短期偏好;
步骤五:除了用户的当前偏好对用户下一个项目的交互起作用外,用户的长期静态偏好也对预测用户下一个项目的交互起作用,用户的长期偏好存在于用户曾交互过的项目中,这里将
Figure FDA0003605038690000035
与候选项目进行相似度计算获取用户的长期静态偏好,每一时刻项目与候选项目的相似度计算如下:
Figure FDA0003605038690000036
其中q为候选项目,
Figure FDA0003605038690000037
表示堆叠ω个自适应注意力模块后的前n-1个项目表示,
Figure FDA0003605038690000038
为用户t时刻项目的注意力得分,softmax为归一化函数,最后将用户的长期偏好
Figure FDA0003605038690000041
表示为前n-1个时刻的加权和:
Figure FDA0003605038690000042
步骤六:利用注意力探索长期偏好与短期偏好在预测下一个项目时哪一种偏好更加重要:
Figure FDA0003605038690000043
Figure FDA0003605038690000044
Figure FDA0003605038690000045
其中
Figure FDA0003605038690000046
是由用户曾交互的项目提取出来的隐式用户偏好,由长期偏好与短期偏好组成,
Figure FDA0003605038690000047
为短期偏好的权重,
Figure FDA0003605038690000048
为长期偏好的权重,q为下一个将交互的项目,softmax为归一化函数;
步骤七:为了进一步提供个性化序列推荐,在步骤六的基础上引入显式用户偏好矩阵
Figure FDA0003605038690000049
其中d表示维度,|u|表示用户数目,通过一个权重参数α融合隐式用户偏好与显式用户偏好得到最终的用户偏好表示
Figure FDA00036050386900000410
Figure FDA00036050386900000411
为了预测用户下一个可能交互的项目,对最终用户偏好和候选项目集进行点积计算获得用户对下一个项目交互的概率,其中
Figure FDA00036050386900000412
为候选项目集,
Figure FDA00036050386900000413
为第i个用户对候选第j个项目的得分,得分越高代表该用户与该项目交互的概率越大,对候选项目集降序排序,选取前K个作为推荐项目;
Figure FDA00036050386900000414
至此,整个序列推荐流程就已描述完毕;模型以端到端的方式进行训练,设计了一个序列感知的二元交叉熵损失函数:
Figure FDA00036050386900000415
其中k为用户ui最大可划分的序列数,j为每一个划分的序列的正样本,
Figure FDA00036050386900000416
为用户ui在取正样本j时采样的负样本,这里为每个正例采样了100个负例,
Figure FDA0003605038690000051
表示对模型所有参数和embedding,即项目嵌入,进行正则化;
Figure FDA0003605038690000052
为正样本交互概率,
Figure FDA0003605038690000053
为负样本交互概率。
2.根据权利要求1所述的一种基于KPHAN的序列推荐方法,其特征在于主要包括两个模块:知识增强的全局短期偏好模块,简称KGSP,和个性化层级注意力感知的长短期偏好融合模块,简称LSPF;在KGSP中使用知识信息增强项目的表示,建模项目之间的语义关联,获得更准确的用户短期偏好特征,实现步骤一至步骤四;在LSPF中,通过注意力机制捕获用户长期偏好特征并融合用户短期偏好特征得到用户的最终偏好特征,实现步骤五至步骤七。
CN202210416700.3A 2022-04-20 2022-04-20 一种基于kphan的序列推荐方法 Active CN114780841B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210416700.3A CN114780841B (zh) 2022-04-20 2022-04-20 一种基于kphan的序列推荐方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210416700.3A CN114780841B (zh) 2022-04-20 2022-04-20 一种基于kphan的序列推荐方法

Publications (2)

Publication Number Publication Date
CN114780841A true CN114780841A (zh) 2022-07-22
CN114780841B CN114780841B (zh) 2024-04-30

Family

ID=82431136

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210416700.3A Active CN114780841B (zh) 2022-04-20 2022-04-20 一种基于kphan的序列推荐方法

Country Status (1)

Country Link
CN (1) CN114780841B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116304279A (zh) * 2023-03-22 2023-06-23 烟台大学 基于图神经网络的用户偏好演化主动感知方法及***

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110516160A (zh) * 2019-08-30 2019-11-29 中国科学院自动化研究所 基于知识图谱的用户建模方法、序列推荐方法
US20210110436A1 (en) * 2019-10-14 2021-04-15 Visa International Service Association Group item recommendations for ephemeral groups based on mutual information maximization
CN113590900A (zh) * 2021-07-29 2021-11-02 南京工业大学 一种融合动态知识图谱的序列推荐方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110516160A (zh) * 2019-08-30 2019-11-29 中国科学院自动化研究所 基于知识图谱的用户建模方法、序列推荐方法
US20210110436A1 (en) * 2019-10-14 2021-04-15 Visa International Service Association Group item recommendations for ephemeral groups based on mutual information maximization
CN113590900A (zh) * 2021-07-29 2021-11-02 南京工业大学 一种融合动态知识图谱的序列推荐方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116304279A (zh) * 2023-03-22 2023-06-23 烟台大学 基于图神经网络的用户偏好演化主动感知方法及***
CN116304279B (zh) * 2023-03-22 2024-01-26 烟台大学 基于图神经网络的用户偏好演化主动感知方法及***

Also Published As

Publication number Publication date
CN114780841B (zh) 2024-04-30

Similar Documents

Publication Publication Date Title
CN112765486B (zh) 一种融合知识图谱的注意力机制的电影推荐方法
CN112115377B (zh) 一种基于社交关系的图神经网络链路预测推荐方法
CN111709518A (zh) 一种基于社区感知和关系注意力的增强网络表示学习的方法
CN112214685A (zh) 一种基于知识图谱的个性化推荐方法
CN110659411B (zh) 一种基于神经注意力自编码器的个性化推荐方法
CN113590900A (zh) 一种融合动态知识图谱的序列推荐方法
CN112380435A (zh) 基于异构图神经网络的文献推荐方法及推荐***
CN112650929B (zh) 一种融入评论信息的图神经网络推荐方法
CN113918832A (zh) 基于社交关系的图卷积协同过滤推荐***
CN113918833A (zh) 通过社交网络关系的图卷积协同过滤实现的产品推荐方法
Khoali et al. Advanced recommendation systems through deep learning
CN115168744A (zh) 基于用户画像和知识图谱的广电技术知识推荐方法
CN115618101A (zh) 基于负反馈的流媒体内容推荐方法、装置及电子设备
CN111259264B (zh) 一种基于生成对抗网络的时序评分预测方法
Ye et al. Dynamic self-supervised teacher-student network learning
CN114282077A (zh) 一种基于会话数据的会话推荐方法及***
CN115687760A (zh) 一种基于图神经网络的用户学习兴趣标签预测方法
CN113590965B (zh) 一种融合知识图谱与情感分析的视频推荐方法
CN114780841A (zh) 一种基于kphan的序列推荐方法
Sun et al. Tcsa-net: a temporal-context-based self-attention network for next location prediction
CN113688281B (zh) 一种基于深度学习行为序列的视频推荐方法及***
CN115293812A (zh) 一种基于长短期兴趣的电商平台会话感知推荐预测方法
CN114547276A (zh) 基于三通道图神经网络的会话推荐方法
CN114022233A (zh) 一种新型的商品推荐方法
He et al. Interest HD: An interest frame model for recommendation based on HD image generation

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
GR01 Patent grant
GR01 Patent grant