CN114780841A - 一种基于kphan的序列推荐方法 - Google Patents
一种基于kphan的序列推荐方法 Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 45
- 230000007774 longterm Effects 0.000 claims abstract description 41
- 238000012549 training Methods 0.000 claims abstract description 11
- 230000007246 mechanism Effects 0.000 claims abstract description 8
- 230000004927 fusion Effects 0.000 claims abstract description 6
- 230000002457 bidirectional effect Effects 0.000 claims abstract description 4
- 230000006870 function Effects 0.000 claims description 32
- 230000003993 interaction Effects 0.000 claims description 26
- 238000013528 artificial neural network Methods 0.000 claims description 20
- 239000013598 vector Substances 0.000 claims description 18
- 239000011159 matrix material Substances 0.000 claims description 17
- 230000003044 adaptive effect Effects 0.000 claims description 14
- 230000004913 activation Effects 0.000 claims description 9
- 238000004364 calculation method Methods 0.000 claims description 8
- 230000003068 static effect Effects 0.000 claims description 8
- 238000010606 normalization Methods 0.000 claims description 7
- 230000002452 interceptive effect Effects 0.000 claims description 6
- 210000002569 neuron Anatomy 0.000 claims description 6
- 230000008569 process Effects 0.000 claims description 4
- 230000008859 change Effects 0.000 claims description 3
- 238000005192 partition Methods 0.000 claims description 3
- 238000005070 sampling Methods 0.000 claims description 3
- 230000000873 masking effect Effects 0.000 claims 1
- 230000001502 supplementing effect Effects 0.000 claims 1
- 230000001976 improved effect Effects 0.000 abstract description 21
- 238000005516 engineering process Methods 0.000 abstract description 2
- 239000000047 product Substances 0.000 description 7
- 238000002474 experimental method Methods 0.000 description 5
- 230000001186 cumulative effect Effects 0.000 description 4
- 238000002679 ablation Methods 0.000 description 3
- 230000006399 behavior Effects 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 3
- YUXIIBHHAPNFCQ-UHFFFAOYSA-N 1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,10-henicosafluorodecane-1-sulfonamide Chemical compound FC(C(C(C(C(C(C(C(C(C(F)(F)F)(F)F)(F)F)(F)F)(F)F)(F)F)(F)F)(F)F)(F)F)(S(=O)(=O)N)F YUXIIBHHAPNFCQ-UHFFFAOYSA-N 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000000354 decomposition reaction Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 238000005065 mining Methods 0.000 description 2
- 230000008447 perception Effects 0.000 description 2
- 230000001902 propagating effect Effects 0.000 description 2
- 239000013589 supplement Substances 0.000 description 2
- 238000013527 convolutional neural network Methods 0.000 description 1
- 238000013136 deep learning model Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 229910003460 diamond Inorganic materials 0.000 description 1
- 239000010432 diamond Substances 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 230000001737 promoting effect Effects 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
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
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
- G06F16/288—Entity relationship models
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/36—Creation of semantic tools, e.g. ontology or thesauri
- G06F16/367—Ontology
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/18—Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2413—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
- G06F18/24133—Distances to prototypes
- G06F18/24137—Distances to cluster centroïds
- G06F18/2414—Smoothing the distance, e.g. radial basis function networks [RBFN]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2415—Classification 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/25—Fusion techniques
- G06F18/253—Fusion techniques of extracted features
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
-
- 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/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/04—Architecture, e.g. interconnection topology
- G06N3/049—Temporal neural networks, e.g. delay elements, oscillating neurons or pulsed inputs
-
- 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
- G06N5/022—Knowledge 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的序列推荐方法。
背景技术
随着大数据时代的到来,信息过载亟待解决,推荐***应运而生。推荐***的主要目标是从海量的在线内容和服务中进行检索,找到满足用户兴趣偏好的部分产品并推荐给用户。目前推荐技术已经在许多电子商务平台如淘宝、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])进行训练得到项目对应实体的低维稠密向量一阶子图中其余实体嵌入通过TransE模型将实体和关系表示为同一空间中,使得头结点向量与关系向量之和越接近尾结点越好,即e+r≈et,因此TransE的得分函数为:
其中dpos表示正三元组的得分,dneg表示负三元组的得分,margin表示最大间隔,max为最大值函数;
步骤二:由于实体的一阶邻居(本发明称一阶邻居实体为上下文实体)通常是提供语义关联的重要特征,因此在步骤一项目对应的实体嵌入基础上引入了上下文实体,项目对应实体的上下文实体定义为:
context(e)={et|(e,r,et)∈G}
步骤三:本发明将模型交互序列的最大长度设为n,以滑动窗口的形式对用户交互序列进行最大序列长度取值,若交互序列不足n,那么在序列的左侧补0;创建一个项目嵌入矩阵M∈R|V|×d,其中d表示项目嵌入维度,|v|表示项目的数量,每次序列建模检索出对应的输入嵌入矩阵为每个项目添加一个可学习的位置嵌入最终序列项目嵌入为以前方法直接将作为自适应注意力模块的输入,然而这种只采用项目嵌入的方式忽略了项目的语义特征,因此将步骤一的项目对应的实体嵌入和步骤二中项目对应的上下文嵌入融入项目以增强项目的表示提高项目辨识度,这里采用双向融合fBi-interaction对最终序列项目嵌入融入知识得到知识增强后的序列项目嵌入并对其使用dropoutlayer(训练时以一定的概率丢弃神经元)来缓解深度神经网络过拟合问题,其中leakyReLU为非线性激活函数,W1和W2为可学习参数,e表示向量对应元素乘;
其中是序列项目v对应的实体嵌入矩阵,是项目v对应实体的上下文嵌入矩阵,和将项目对应的上下文实体嵌入与上下文实体通过同一全连接网络并施加tanh非线性激活函数投影到项目同一空间中,W,W1,W2,b为可学习参数;
步骤四:在步骤三的基础上将知识增强后的序列项目嵌入作为自适应注意力模块的输入来获取用户的短期兴趣;具体而言,自适应注意力模块包括自注意力以及前馈神经网络(FFN);其中自注意力部分采用标量点积,定义为:
S=Attention(Q,K,V)
其中Q表示queries,K表示keys,V表示values, 是可学习参数,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),为最后一个块中最后一个项目的特征向量,其融合了之前所有项目的特征从而获得了更准确的当前项目特征,而当前项目特征对用户偏好预测十分重要,因此将视为用户的短期偏好;至此知识增强的全局动态短期偏好模块描述完毕,下面步骤开始描述个性化层级注意力感知的长短期偏好融合模块;
步骤五:除了用户的当前偏好对用户下一个项目的交互起作用外,用户的长期静态偏好即用户长期来没有改变的偏好也对预测用户下一个项目的交互起着不可或缺的作用,用户的长期偏好存在于用户曾交互过的项目中,这里将与候选项目进行相似度计算获取用户的长期静态偏好,每一时刻项目与候选项目的相似度计算如下:
步骤六:长期偏好与短期偏好在预测用户下一个交互项目中发挥着不同的作用,因此接下来进一步利用注意力探索长期偏好与短期偏好在预测下一个项目时哪一种偏好更加重要:
为了预测用户下一个可能交互的项目,对最终用户偏好和候选项目集进行点积计算获得用户对下一个项目交互的概率,其中为候选项目集为第i个用户对候选第j个项目的得分,得分越高代表该用户与该项目交互的概率越大,对候选项目集降序排序,选取前K个作为推荐项目;
至此,整个序列推荐流程就已描述完毕;模型以端到端的方式进行训练,设计了一个序列感知的二元交叉熵损失函数:
其中k为用户ui最大可划分的序列数,j为每一个划分的序列的正样本,为用户ui在取正样本j时采样的负样本,这里为每个正例采样了100个负例,表示对模型所有参数和embedding(项目嵌入)进行正则化,为正样本交互概率,为负样本交互概率。
本发明的有益效果在于,(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).)进行训练得到项目对应实体的低维稠密向量一阶子图中其余实体嵌入通过TransE模型将实体和关系表示为同一空间中,使得头结点向量与关系向量之和越接近尾结点越好,即e+r≈et,因此TransE的得分函数为:
其中dpos表示正三元组的得分,dneg表示负三元组的得分,margin表示最大间隔,max为最大值函数;
步骤二:由于实体的一阶邻居(本发明称一阶邻居实体为上下文实体)通常是提供语义关联的重要特征,因此在步骤一项目对应的实体嵌入基础上引入了上下文实体,项目对应实体的上下文实体定义为:
context(e)={et|(e,r,et)∈G}
步骤三:本发明将模型交互序列的最大长度设为n,以滑动窗口的形式对用户交互序列进行最大序列长度取值,若交互序列不足n,那么在序列的左侧补0;创建一个项目嵌入矩阵M∈R|V|×d,其中d表示项目嵌入维度,|v|表示项目的数量,每次序列建模检索出对应的输入嵌入矩阵为每个项目添加一个可学习的位置嵌入最终序列项目嵌入为以前方法直接将作为自适应注意力模块的输入,然而这种只采用项目嵌入的方式忽略了项目的语义特征,因此将步骤一的项目对应的实体嵌入和步骤二中项目对应的上下文嵌入融入项目以增强项目的表示提高项目辨识度,这里采用双向融合fBi-interaction对最终序列项目嵌入融入知识得到知识增强后的序列项目嵌入并对其使用dorpout layer(训练时以一定的概率丢弃神经元)来缓解深度神经网络过拟合问题,其中leakyReLU为非线性激活函数,W1和W2为可学习参数,⊙表示向量对应元素乘;
其中是序列项目v对应的实体嵌入矩阵,是项目v对应实体的上下文嵌入矩阵,和将项目对应的上下文实体嵌入与上下文实体通过同一全连接网络并施加tanh非线性激活函数投影到项目同一空间中,W,W1,W2,b为可学习参数;
步骤四:在步骤三的基础上将知识增强后的序列项目嵌入作为自适应注意力模块的输入来获取用户的短期兴趣;具体而言,自适应注意力模块包括自注意力以及前馈神经网络(FFN);其中自注意力部分采用标量点积,定义为:
S=Attention(Q,K,V)
其中Q表示queries,K表示keys,V表示values, 是可学习参数,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),为最后一个块中最后一个项目的特征向量,其融合了之前所有项目的特征从而获得了更准确的当前项目特征,而当前项目特征对用户偏好预测十分重要,因此将视为用户的短期偏好;至此知识增强的全局短期偏好模块描述完毕,下面步骤开始描述个性化层级注意力感知的长短期偏好融合模块;
步骤五:除了用户的当前偏好对用户下一个项目的交互起作用外,用户的长期静态偏好即用户长期来没有改变的偏好也对预测用户下一个项目的交互起着不可或缺的作用,用户的长期偏好存在于用户曾交互过的项目中,这里将与候选项目进行相似度计算获取用户的长期静态偏好,每一时刻项目与候选项目的相似度计算如下:
步骤六:长期偏好与短期偏好在预测用户下一个交互项目中发挥着不同的作用,因此接下来进一步利用注意力探索长期偏好与短期偏好在预测下一个项目时哪一种偏好更加重要:
为了预测用户下一个可能交互的项目,对最终用户偏好和候选项目集进行点积计算获得用户对下一个项目交互的概率,其中为候选项目集,为第i个用户对候选第j个项目的得分,得分越高代表该用户与该项目交互的概率越大,对候选项目集降序排序,选取前K个作为推荐项目;
至此,整个序列推荐流程就已描述完毕;模型以端到端的方式进行训练,设计了一个序列感知的二元交叉熵损失函数:
其中k为用户ui最大可划分的序列数,j为每一个划分的序列的正样本,为用户ui在取正样本j时采样的负样本,这里为每个正例采样了100个负例,表示对模型所有参数和embedding(即项目嵌入)进行正则化,为正样本交互概率,为负样本交互概率。
本发明的有益效果在于,如图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模型进行训练得到项目对应实体的低维稠密向量一阶子图中其余实体嵌入通过TransE模型将实体和关系表示为同一空间中,使得头结点向量与关系向量之和,即e+r≈et,因此TransE的得分函数为:
(1.4)为了训练TransE模型,优化的目标函数使用了负采样和最大间隔策略的损失函数,使得正样本得分越来越高,负样本得分越来越低,损失函数如下:
其中dpos表示正三元组的得分,dneg表示负三元组的得分,margin表示最大间隔,max为最大值函数;
步骤二:由于实体的一阶邻居,通常是提供语义关联的重要特征,因此在步骤一项目对应的实体嵌入基础上引入了上下文实体,项目对应实体的上下文实体定义为:
context(e)={et|(e,r,et)∈G}
对应的上下文实体嵌入通过计算上下文实体嵌入的平均值获得
步骤三:将模型交互序列的最大长度设为n,以滑动窗口的形式对用户交互序列进行最大序列长度取值,若交互序列不足n,那么在序列的左侧补0;创建一个项目嵌入矩阵M∈R|V|×d,其中d表示项目嵌入维度,|v|表示项目的数量,每次序列建模检索出对应的输入嵌入矩阵为每个项目添加一个可学习的位置嵌入最终序列项目嵌入为以前方法直接将作为自适应注意力模块的输入,然而这种只采用项目嵌入的方式忽略了项目的语义特征,因此将步骤一的项目对应的实体嵌入和步骤二中项目对应的上下文嵌入融入项目以增强项目的表示提高项目辨识度,这里采用双向融合fBi-interaction对最终序列项目嵌入融入知识得到知识增强后的序列项目嵌入并对其使用dorpout layer,即训练时以一定的概率丢弃神经元,来缓解深度神经网络过拟合问题,其中leakyReLU为非线性激活函数,W1和W2为可学习参数,e表示向量对应元素乘;
其中是序列项目v对应的实体嵌入矩阵,是项目v对应实体的上下文嵌入矩阵,和将项目对应的上下文实体嵌入与上下文实体通过同一全连接网络并施加tanh非线性激活函数投影到项目同一空间中,W,W1,W2,b为可学习参数;
S=Attention(Q,K,V)
其中Q表示queries,K表示keys,V表示values, 是可学习参数,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),为最后一个块中最后一个项目的特征向量,其融合了之前所有项目的特征从而获得了更准确的当前项目特征,而当前项目特征对用户偏好预测十分重要,因此将视为用户的短期偏好;
步骤五:除了用户的当前偏好对用户下一个项目的交互起作用外,用户的长期静态偏好也对预测用户下一个项目的交互起作用,用户的长期偏好存在于用户曾交互过的项目中,这里将与候选项目进行相似度计算获取用户的长期静态偏好,每一时刻项目与候选项目的相似度计算如下:
步骤六:利用注意力探索长期偏好与短期偏好在预测下一个项目时哪一种偏好更加重要:
为了预测用户下一个可能交互的项目,对最终用户偏好和候选项目集进行点积计算获得用户对下一个项目交互的概率,其中为候选项目集,为第i个用户对候选第j个项目的得分,得分越高代表该用户与该项目交互的概率越大,对候选项目集降序排序,选取前K个作为推荐项目;
至此,整个序列推荐流程就已描述完毕;模型以端到端的方式进行训练,设计了一个序列感知的二元交叉熵损失函数:
其中k为用户ui最大可划分的序列数,j为每一个划分的序列的正样本,为用户ui在取正样本j时采样的负样本,这里为每个正例采样了100个负例,表示对模型所有参数和embedding,即项目嵌入,进行正则化;
2.根据权利要求1所述的一种基于KPHAN的序列推荐方法,其特征在于主要包括两个模块:知识增强的全局短期偏好模块,简称KGSP,和个性化层级注意力感知的长短期偏好融合模块,简称LSPF;在KGSP中使用知识信息增强项目的表示,建模项目之间的语义关联,获得更准确的用户短期偏好特征,实现步骤一至步骤四;在LSPF中,通过注意力机制捕获用户长期偏好特征并融合用户短期偏好特征得到用户的最终偏好特征,实现步骤五至步骤七。
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116304279A (zh) * | 2023-03-22 | 2023-06-23 | 烟台大学 | 基于图神经网络的用户偏好演化主动感知方法及*** |
Citations (3)
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 | 南京工业大学 | 一种融合动态知识图谱的序列推荐方法 |
-
2022
- 2022-04-20 CN CN202210416700.3A patent/CN114780841B/zh active Active
Patent Citations (3)
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)
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 |