CN117633371A - 基于多注意力机制的推荐方法、设备和可读存储介质 - Google Patents
基于多注意力机制的推荐方法、设备和可读存储介质 Download PDFInfo
- Publication number
- CN117633371A CN117633371A CN202410102701.XA CN202410102701A CN117633371A CN 117633371 A CN117633371 A CN 117633371A CN 202410102701 A CN202410102701 A CN 202410102701A CN 117633371 A CN117633371 A CN 117633371A
- Authority
- CN
- China
- Prior art keywords
- determining
- node
- interest
- user
- category
- 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
- 230000007246 mechanism Effects 0.000 title claims abstract description 69
- 238000000034 method Methods 0.000 title claims abstract description 52
- 238000003860 storage Methods 0.000 title claims abstract description 13
- 239000013598 vector Substances 0.000 claims abstract description 105
- 230000006870 function Effects 0.000 claims description 104
- 230000007774 longterm Effects 0.000 claims description 42
- 238000010606 normalization Methods 0.000 claims description 25
- 239000011159 matrix material Substances 0.000 claims description 19
- 238000004364 calculation method Methods 0.000 claims description 13
- 230000000694 effects Effects 0.000 abstract description 12
- 238000012545 processing Methods 0.000 abstract description 10
- 238000005516 engineering process Methods 0.000 abstract description 4
- 238000010586 diagram Methods 0.000 description 10
- 238000012549 training Methods 0.000 description 9
- 238000002474 experimental method Methods 0.000 description 8
- 238000004590 computer program Methods 0.000 description 7
- 210000002569 neuron Anatomy 0.000 description 7
- 238000001914 filtration Methods 0.000 description 6
- 230000004913 activation Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 5
- 230000003993 interaction Effects 0.000 description 5
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 230000007704 transition Effects 0.000 description 5
- 230000006399 behavior Effects 0.000 description 4
- 238000003062 neural network model Methods 0.000 description 4
- 230000002123 temporal effect Effects 0.000 description 4
- 238000012360 testing method Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 239000000284 extract Substances 0.000 description 3
- 230000004927 fusion Effects 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 238000010200 validation analysis Methods 0.000 description 3
- 101100153586 Caenorhabditis elegans top-1 gene Proteins 0.000 description 2
- 101100370075 Mus musculus Top1 gene Proteins 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 238000011176 pooling Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000000306 recurrent effect Effects 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000000052 comparative effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
- 238000002759 z-score normalization Methods 0.000 description 1
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了基于多注意力机制的推荐方法、设备和可读存储介质,涉及电子数据处理领域,该方法包括:基于用户签到数据中的兴趣点节点确定第一嵌入向量;基于所述用户签到数据中的兴趣点种类确定第二嵌入量;基于所述第一嵌入量、所述第二嵌入量和历史签到记录作为编码器的输入量,确定输出值;基于时间、所述兴趣点节点以及所述兴趣点种类三个维度,解码所述输出值,确定预测兴趣点。有效解决了相关技术中在缺乏用户签到数据的情况下,忽视了用户的短期偏好,导致推荐准确率低的技术问题,实现了在不具备历史签到的情况下,提升兴趣点推荐准确率的技术效果。
Description
技术领域
本申请涉及电子数据处理领域,尤其涉及一种基于多注意力机制的推荐方法、设备和可读存储介质。
背景技术
基于位置的社交网络得到了显著的发展,用户可以通过签到兴趣点与他们的朋友分享他们的位置和体验。而基于位置的社交网络中数百万用户生成的大量签到数据为探索用户签到行为的内在模式提供了绝佳的机会,根据用户的签到记录为用户推荐POI(Pointof Interest,兴趣点),不仅有助于用户探索感兴趣的地方,还有利于企业吸引更多的潜在客户。
在相关技术中,通常使用协同过滤以及马尔科夫链两种方法来进行POI推荐。其中协同过滤是直接分析用户的喜好记录,在用户群体中寻找与之有着相似兴趣喜好的其他用户,然后综合分析这些用户对某一特定内容的评价,最后得出推荐系统为指定用户对某一特定内容喜好程度的预测。马尔科夫链是使用递归神经网络进行POI推荐,是将用户的出行记录作为一个链式信息,最新的出行POI记录将作为输入再结合前面的多个POI记录,共同决定预测的POI并作为输出。
但是上述两种方法的缺陷是在缺乏用户签到数据的情况下,忽视了用户的短期偏好,导致推荐准确率低。
发明内容
本申请实施例通过提供一种基于多注意力机制的推荐方法、设备和可读存储介质,解决了相关技术中在缺乏用户签到数据的情况下,忽视了用户的短期偏好,导致推荐准确率低的技术问题,实现了在不具备历史签到的情况下,提升兴趣点推荐准确率的技术效果。
本申请实施例提供了一种基于多注意力机制的推荐方法,所述基于多注意力机制的推荐方法包括:
基于用户签到数据中的兴趣点节点确定第一嵌入向量;
基于所述用户签到数据中的兴趣点种类确定第二嵌入量;
基于所述第一嵌入量、所述第二嵌入量和历史签到记录作为编码器的输入量,确定输出值;
基于时间、所述兴趣点节点以及所述兴趣点种类三个维度,解码所述输出值,确定预测兴趣点。
可选地,所述基于用户签到数据中的兴趣点节点确定第一嵌入向量的步骤包括:
基于历史签到记录以及所述兴趣点节点确定轨迹流图;
基于图注意力网络以及所述轨迹流图确定长期偏好;
基于所述历史签到记录中每个用户的用户嵌入量,确定短期偏好;
基于所述长期偏好以及所述短期偏好的拼接向量确定所述第一嵌入量。
可选地,所述基于图注意力网络以及所述轨迹流图确定长期偏好的步骤包括:
根据所述轨迹流图确定目标节点以及邻居节点;
确定所述目标节点以及所述邻居节点的相似度;
对所述相似度进行权重归一化,确定所述长期偏好。
可选地,所述对所述相似度进行权重归一化,确定所述长期偏好的步骤包括:
基于权重归一化确定所述相似度的归一化值;
对所述归一化值进行非线性层计算,确定所述目标节点以及所述邻居节点的注意力权重;
基于所述注意力权重提取所述目标节点以及所述邻居节点的节点信息,确定图注意力更新函数;
基于预设数量确定所述图注意力更新函数对应输出值的平均值,并将所述平均值作为所述长期偏好。
可选地,所述基于所述用户签到数据中的兴趣点种类确定第二嵌入量的步骤包括:
基于种类嵌入层提取所述兴趣点种类,确定种类向量;
基于时间序列对所述用户签到数据中的时间信息进行时间嵌入,确定时间向量;
根据所述种类向量和所述时间向量确定所述第二嵌入量。
可选地,所述基于所述第一嵌入量、所述第二嵌入量和历史签到记录作为编码器的输入量,确定输出值的步骤包括:
根据所述第一嵌入量和所述第二嵌入量确定目标向量;
将所述历史签到记录输入所述编码器生成输入张量;
根据所述输入张量和所述目标向量进行编码,根据编码值的归一化量确定所述输出值。
可选地,所述根据所述输入张量和所述目标向量进行编码,根据编码值的归一化量确定所述输出值的步骤包括:
基于所述输入张量和所述目标向量进行编码,经过注意力计算确定参数矩阵以及相关性值;
对所述相关性值进行权重归一化,确定所述归一化量;
根据所述归一化量和所述参数矩阵确定所述输出值。
可选地,所述基于时间、所述兴趣点节点以及所述兴趣点种类三个维度,解码所述输出值,确定预测兴趣点的步骤包括:
根据时间权重、节点权重、种类权重以及所述输出值,确定解码值;
以交叉熵作为所述节点权重和所述种类权重对应的节点损失函数和种类损失函数;
以均方误差作为所述时间权重对应的时间损失函数;
根据所述节点损失函数、所述种类损失函数和所述时间损失函数确定目标损失函数;
基于所述目标损失函数和所述解码值确定所述预测兴趣点。
此外,本申请还提出一种基于多注意力机制的推荐设备,所述基于多注意力机制的推荐设备包括存储器、处理器及存储在存储器上并可在处理器上运行的基于多注意力机制的推荐程序,所述处理器执行所述基于多注意力机制的推荐程序时实现如上所述的基于多注意力机制的推荐方法的步骤。
此外,本申请还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有基于多注意力机制的推荐程序,所述基于多注意力机制的推荐程序被处理器执行时实现如上所述的基于多注意力机制的推荐方法的步骤。
本申请实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:
由于采用了基于用户签到数据中的兴趣点节点确定第一嵌入向量;基于所述用户签到数据中的兴趣点种类确定第二嵌入量;基于所述第一嵌入量、所述第二嵌入量和历史签到记录作为编码器的输入量,确定输出值;基于时间、所述兴趣点节点以及所述兴趣点种类三个维度,解码所述输出值,确定预测兴趣点。所以,有效解决了相关技术中在缺乏用户签到数据的情况下,忽视了用户的短期偏好,导致推荐准确率低的技术问题,实现了在不具备历史签到的情况下,提升兴趣点推荐准确率的技术效果。
附图说明
图1为本申请基于多注意力机制的推荐方法实施例一的流程示意图;
图2为本申请基于多注意力机制的推荐方法实施例二中步骤S210-S240的流程示意图;
图3为本申请基于多注意力机制的推荐方法实施例二中步骤S2231-S2234的流程示意图;
图4为本申请基于多注意力机制的推荐方法实施例五中步骤S510-S550的流程示意图;
图5为本申请基于多注意力机制的推荐方法实施例七中的总体架构图;
图6为本申请基于多注意力机制的推荐设备实施例涉及的硬件结构示意图。
具体实施方式
在相关技术中,常规的个性化推荐方法是协同过滤,矩阵分解。协同过滤方法首先从用户的签到历史信息中挖掘相似用户,然后根据相似用户的签到历史信息推荐POI。协同过滤是利用某兴趣相投、拥有共同经验之群体的喜好来推荐用户感兴趣的信息。使用协同过滤或者矩阵分解进行POI推荐属于传统的POI推荐,我们得到的用户POI预测代表了用户的长期POI兴趣,但这样我们就忽略了当下用户的短期兴趣。例如某女生,长期以来的习惯导致其手机应用软件给她推荐饭店,咖啡厅等等,但是该女生近期的喜好是看电影,但是由于传统的推荐忽略了短期的兴趣,不会给该女生推荐电影院或相关的POI。使用马尔可夫链模型或者递归神经网络来预测下一个POI,属于典型的时序POI推荐。但是该类的推荐模型存在一个主要问题即用户的序列长短有很大的个体差异,有的人经常用手机应用软件出行,而有的人很少或几乎不使用该类应用软件。这导致很少使用软件的人,POI签到记录非常少,只有一个两个,在给这样的用户进行推荐时往往会导致推荐准确率大幅降低。
为了解决上述技术问题,本申请实施例采用的主要技术方案是:基于用户签到数据中的兴趣点节点确定第一嵌入向量;基于所述用户签到数据中的兴趣点种类确定第二嵌入量;基于所述第一嵌入量、所述第二嵌入量和历史签到记录作为编码器的输入量,确定输出值;基于时间、所述兴趣点节点以及所述兴趣点种类三个维度,解码所述输出值,确定预测兴趣点。从而实现了在不知道用户的历史签到的情况下,仍然可以推荐当前POI的最可能的邻居POI,同时缓解下一个POI推荐的冷启动问题。
为了更好地理解上述技术方案,下面将参照附图更详细地描述本申请的示例性实施例。虽然附图中显示了本申请的示例性实施例,然而应当理解,能够以各种形式实现本申请而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本申请,并且能够将本申请的范围完整地传达给本领域的技术人员。
实施例一
本申请实施例一公开了一种基于多注意力机制的推荐方法,参照图1,所述基于多注意力机制的推荐方法包括:
步骤S110,基于用户签到数据中的兴趣点节点确定第一嵌入向量。
在本实施例中,用户签到数据是采集到的目标区域内所有用户的签到数据。兴趣点节点是由各个兴趣点,以及该兴趣点关联的数据组成的节点。目前很多工作都使用RNN模型或LSTM模型,分别学习用户的长期POI偏好和短期POI偏好,在一些方面获得了不错的效果。受此启发,我们使用GAT学习用户时空运动图,学习到所有用户集体的POI偏好,来模拟长期POI偏好。再从用户的历史签到信息学习用户个性化嵌入,作为用户短期POI偏好。根据长期偏好以及短期偏好确定第一嵌入量。
示例性的,在两个公共的数据集FourSquare-NYC和Gowalla-CA上进行实验,这两个数据集都是从基于位置的服务平台收集数据。FourSquare-NYC是纽约市从2012年4月到2013年2月收集的数据,Gowalla-CA则是加利福尼亚和内华达州从2009年2月到2010年10月收集的数据。排除了少于10个签到记录的不受欢迎POI,以及少于10个签到记录历史的不活跃用户,按照时间顺序把数据集分为训练集,验证集,测试集。其中前百分之80的记录是训练集且用于构建轨迹流图,中间百分之10是验证集,剩余的百分之10是测试集。具体来说,FourSquare-NYC数据集有1075个用户,318个poi种类共5099个poi,104074个签到记录。Gowalla-CA数据集有4318个用户,301个poi种类共9923个poi,250780个签到记录。由上述数据组成用户签到数据。
作为一种可选实施方式,基于兴趣点节点以及历史签到记录生成轨迹流图,以兴趣点节点作为轨迹流图中的节点。根据图注意力网络来学习轨迹流图,确定长期偏好;预先训练嵌入层,其中每个用户的嵌入是从历史签到记录中学习到的,并根据学习结果确定短期偏好,根据长期偏好和短期偏好的拼接起来确定第一嵌入量。
步骤S120,基于所述用户签到数据中的兴趣点种类确定第二嵌入量。
在本实施例中,兴趣点种类是将兴趣点进行分类,基于时间编码融合兴趣点种类,确定第二嵌入量。
作为一种可选实施方式,根据预设嵌入层学习兴趣点种类的特征信息,确定种类向量,使用预设时间序列确定时间向量;根据时间向量和种类向量的拼接确定第二嵌入量。
步骤S130,基于所述第一嵌入量、所述第二嵌入量和历史签到记录作为编码器的输入量,确定输出值。
在本实施例中,编码器可提取向量中的关系特征,因此将历史签到记录输入编码器,在第一个Transformer层形成输入张量,其中Transformer是一个利用注意力机制来提高模型训练速度的模型。同时以第一嵌入量和第二嵌入量作为编码器的输入值,基于输入值和输入张量确定编码器的输出值。
步骤S140,基于时间、所述兴趣点节点以及所述兴趣点种类三个维度,解码所述输出值,确定预测兴趣点。
在本实施例中,使用解码器来预测下一个兴趣点。
作为一种可选实施方式,基于时间、兴趣点种类以及兴趣点节点三个维度,基于编码器的输出值分别确定在该三个维度的多层感知机解码值。根据多层感知机解码值以及损失函数确定预测兴趣点。
作为本实施例又一种可选实施方式,从用户签到数据中提取兴趣点节点,并构建兴趣点节点的特征表示。从用户签到数据中提取兴趣点种类,并构建兴趣点种类的特征表示。构建用户签到记录的历史序列,用于编码器的输入。使用一个嵌入层将兴趣点节点映射为第一嵌入向量。使用另一个嵌入层将兴趣点种类映射为第二嵌入向量。设计一个编码器网络,将第一嵌入向量、第二嵌入向量和历史签到记录作为输入,输出一个表示用户兴趣的向量。设计一个解码器网络,将时间、兴趣点节点和兴趣点种类作为输入,以及编码器输出的用户兴趣向量,解码出预测的兴趣点。使用已知的用户签到数据,将编码器和解码器网络连接起来构成一个端到端的模型。使用适当的损失函数(如均方误差或交叉熵)来度量预测值和真实值之间的差异。使用梯度下降等优化算法来最小化损失函数,更新模型的参数。对于给定的用户和时间,将用户的历史签到记录作为编码器的输入,得到用户兴趣向量。对于每个兴趣点节点和兴趣点种类,将其与用户兴趣向量一起输入解码器,得到预测的兴趣点。根据预测的兴趣点的分数或概率,进行排序并推荐给用户。
由于采用了基于用户签到数据中的兴趣点节点确定第一嵌入向量;基于所述用户签到数据中的兴趣点种类确定第二嵌入量;基于所述第一嵌入量、所述第二嵌入量和历史签到记录作为编码器的输入量,确定输出值;基于时间、所述兴趣点节点以及所述兴趣点种类三个维度,解码所述输出值,确定预测兴趣点。所以,有效解决了相关技术中在缺乏用户签到数据的情况下,忽视了用户的短期偏好,导致推荐准确率低的技术问题,实现了在不具备历史签到的情况下,提升兴趣点推荐准确率的技术效果。
基于实施例一,本申请实施例二提出一种基于多注意力机制的推荐方法,参照图2,步骤S110包括:
步骤S210,基于历史签到记录以及所述兴趣点节点确定轨迹流图。
在本实施例中,历史签到记录可以视为用户签到数据的一个子集。给定用户历史轨迹集H=(h1,h2,h3……hM),得到一个有向权重的轨迹流图G=(V,E,w,p)。其中节点V是各POI,有向边E表示一个POI节点转移到另一个POI节点,有向边权重w表示该历史轨迹集H中,一个POI节点转移到另一个POI节点的次数,p是POI节点V的具体信息,包括经纬度,POI种类,访问频率,即该节点在轨迹H中出现的次数。
步骤S220,基于图注意力网络以及所述轨迹流图确定长期偏好。
在本实施例中,使用图注意力网络来学习图G,以获得POI的嵌入表示,即长期偏好。
可选地,步骤S220包括:
步骤S221,根据所述轨迹流图确定目标节点以及邻居节点。
在本实施例中,使用用户签到记录的历史序列,构建一个轨迹流图。轨迹流图可以使用邻接矩阵或邻接表来表示用户之间的关系,其中节点表示用户,边表示用户之间的交互关系。对于每个用户节点,将其作为目标节点,将其邻居节点,即与目标节点有交互关系的其他用户节点作为邻居节点。
步骤S222,确定所述目标节点以及所述邻居节点的相似度。
在本实施例中,对于目标节点和邻居节点,可以使用节点之间的交互次数、共同兴趣点等指标来计算相似度。可以使用余弦相似度、Jaccard相似度等度量方法来计算相似度。
步骤S223,对所述相似度进行权重归一化,确定所述长期偏好。
在本实施例中,对于每个目标节点,将其与邻居节点的相似度进行归一化,以确保相似度值在0到1之间。一种常用的归一化方法是将相似度值除以所有邻居节点的相似度值之和。将归一化后的相似度作为长期偏好的权重。可以将目标节点的兴趣点特征与相应的相似度进行加权求和,得到用户的长期偏好向量。
可选地,参照图3,步骤S223包括:
步骤S2231,基于权重归一化确定所述相似度的归一化值。
在本实施例中,对于每个目标节点和其邻居节点的相似度值,将其进行归一化处理,确保值在0到1之间。可以使用最大最小归一化或者Z-score归一化等方法进行归一化。
步骤S2232,对所述归一化值进行非线性层计算,确定所述目标节点以及所述邻居节点的注意力权重。
在本实施例中,对于归一化后的相似度值,可以使用一个非线性层,如ReLU激活函数来计算注意力权重。将归一化后的相似度值作为输入,经过非线性层计算得到注意力权重。
步骤S2233,基于所述注意力权重提取所述目标节点以及所述邻居节点的节点信息,确定图注意力更新函数。
在本实施例中,对于目标节点和邻居节点,可以从图中提取节点的特征信息。可以使用节点的嵌入向量或其他特征表示节点信息。使用注意力权重对目标节点和邻居节点的特征进行加权求和,得到图注意力更新函数。其中,图注意力更新函数是图注意力更新后输出的向量。
步骤S2234,基于预设数量确定所述图注意力更新函数对应输出值的平均值,并将所述平均值作为所述长期偏好。
在本实施例中,对于每个目标节点,使用预设数量的图注意力更新函数对应输出值的平均值作为长期偏好。可以对图注意力更新函数的输出值进行求平均操作,得到一个平均值。这个平均值可以作为目标节点的长期偏好。
示例性的,在确定轨迹流图后,使用图注意力网络来学习图G,以获得POI的嵌入表示。首先我们计算节点vi在节点vj上的相似度eij:
其中W是该层节点特征变换的权重,参数是计算两个节点相关度的函数,对于节
点vi的所有邻居节点求得相似度e后,为了更好的分配权重,利用softmax完成权重归一化:
表示节点vi在节点vj上的相似度;
通过上式处理,保证所有邻居节点的权重系数加和为1。再通过非线性层计算:
表示与节点vi相关的所有节点相关度的合中,vi节点与vj节点相关度所占的百
分比。
在归一化所有节点的注意力权重后,通过图注意力层提取节点的特征信息,得到
图注意力更新后的输出如下:
为了进一步提升注意力层的表达能力,加入多头注意力机制,即对上式调用K组相互独立的注意力机制,我们将K取8,然后将输出结果平均,最终的POI嵌入ep为
ep可以模拟表示没有用户个性化的,所有用户长期POI偏好的集体信息,为签入历史记录少的用户做推荐提供参考,解决冷启动问题。并且其图注意力机制算出的注意力,将其保存下来作为通用的转移概率,用于影响最终的推荐结果。
通过上述具体实施方式,可以根据归一化的相似度值计算注意力权重,并使用注意力权重对目标节点和邻居节点的特征进行加权求和,得到图注意力更新函数。然后,基于预设数量的图注意力更新函数对应输出值的平均值,确定目标节点的长期偏好。这种方法可以通过非线性层计算注意力权重,并结合节点信息和图注意力更新函数来捕捉目标节点和邻居节点的关系,从而确定用户的长期偏好。
步骤S230,基于所述历史签到记录中每个用户的用户嵌入量,确定短期偏好。
在本实施例中,设用户U=(u1,u2,u3……uN),用户时空运动图,即步骤S220中,学习到了用户集体的长期POI偏好信息,但是忽略了每个用户的个性化特征。为了捕捉到用户u的具体特征,预先训练了一个嵌入层,将每个用户投影到一个低维向量。每个用户的嵌入是从他的历史签到信息中学习到的,表示为:
(u)。
步骤S240,基于所述长期偏好以及所述短期偏好的拼接向量确定所述第一嵌入量。
在本实施例中,为了将时空运动图学习到的POI长期偏好,和用户嵌入学到的POI短期偏好结合起来为用户进行准确的个性化推荐,将学到的POI嵌入ep和学到的用户嵌入eu进行拼接以增强其表示能力,输出可表示为:
代表eu拼接ep,和分别表示可训练的权重和偏置,最终得到的融合嵌入,即第一嵌入量,其维度大小两倍于eu或ep。
作为一种可选实施方式,从用户签到数据中提取兴趣点节点,并构建兴趣点节点的特征表示。构建用户签到记录的历史序列,用于确定轨迹流图。使用用户签到记录的历史序列,构建一个轨迹流图。轨迹流图可以使用邻接矩阵或邻接表来表示用户之间的关系,其中节点表示用户,边表示用户之间的交互关系。使用图嵌入技术来将轨迹流图中的节点映射为特征向量。使用图注意力网络,以轨迹流图为输入,学习用户之间的关系和长期偏好。图注意力网络可以通过自注意力机制来对不同节点的重要性进行建模,从而捕捉用户之间的交互模式和长期偏好。对于每个用户,使用历史签到记录中的用户嵌入量来表示短期偏好。可以使用一个全连接层或其他神经网络模型来学习用户嵌入量。将长期偏好模型的输出和短期偏好模型的输出进行拼接,得到第一嵌入量。可以使用一个全连接层来将拼接向量映射为第一嵌入量。
在本申请的实施例中,构建了一个新颖的轨迹流图,其中的图节点是各POI,有向边则代表一个POI连接到另一个POI,边的权重则是签到信息中两POI被连续访问的频率。该图中的节点还包含其他的POI 属性,包括地理位置、类别和签到计数。与现有下一个POI推荐模型中用于建模用户和POI之间的相关性的图不同,该轨迹流图捕获的POI之间的转移概率。通过轨迹流图中的签到信息,采用图注意力网络将POI嵌入到保留POI之间全局转换的潜在空间中。更确切地说,图注意力网络通过注意力计算聚合其内邻居的嵌入来更新每个节点的嵌入,POI之间的转移概率被很好地保留。因此,在不知道用户的历史签到的情况下,仍然可以推荐当前POI的最可能的邻居POI。这个设计可以帮助解决下一个POI推荐的冷启动问题。
基于实施例一,本申请实施例三提出一种基于多注意力机制的推荐方法,步骤S120包括:
步骤S310,基于种类嵌入层提取所述兴趣点种类,确定种类向量。
在本实施例中,兴趣点种类即POI种类,预先给各个兴趣点划分对应的种类。
作为一种可选实施方式,对于每个兴趣点,使用一个种类嵌入层来提取其种类信息。将兴趣点的种类作为输入,经过种类嵌入层得到对应的种类向量。种类嵌入层可以是一个全连接层或者一个嵌入层,将兴趣点种类映射到一个固定维度的向量空间。
步骤S320,基于时间序列对所述用户签到数据中的时间信息进行时间嵌入,确定时间向量。
在本实施例中,对于用户签到数据中的时间信息,可以使用时间序列进行时间嵌入。将时间序列作为输入,经过时间嵌入层得到对应的时间向量。时间嵌入层可以是一个全连接层或者一个嵌入层,将时间序列映射到一个固定维度的向量空间。
步骤S330,根据所述种类向量和所述时间向量确定所述第二嵌入量。
在本实施例中,根据种类向量和时间向量,可以确定第二嵌入量。将种类向量和时间向量进行拼接,得到一个综合的向量表示。这个综合的向量表示可以作为第二嵌入量,用于后续的模型训练或者推荐系统中的个性化推荐。
通过上述具体实施方式,可以使用种类嵌入层提取兴趣点种类,并使用时间嵌入层对用户签到数据中的时间信息进行时间嵌入。然后,根据种类向量和时间向量确定第二嵌入量,以便在后续的任务中使用。这种方法可以通过嵌入层将兴趣点种类和时间信息映射到一个固定维度的向量空间,以便进行后续的特征表示和模型训练。
示例性的,用户访问的POI种类,具有高度时间依赖性。也就是说,同种类POI的签到记录时间是相似的,进而利用时间嵌入融合POI类别嵌入,增强表示。预设POI种类C=(c1,c2,c3……cK),采用种类嵌入层学习到POI种类特征,表示如下:
(c)
其中ec是种类向量。用POI类别的另一个好处就是,将签到过少POI产生的噪声,转变为稳定可用的数据。例如,数据集中POI平均签到不足10个,但是如果使用POI种类,每个种类的签到有数百个。
使用Time2Vec来进行时间嵌入,表示如下:
其中k为Time2Vec的维度,F为周期激活函数,在本实施例中取sin函数,,为可
学习参数。,即et为时间向量。
拼接时间向量和种类向量,即:
代表ec拼接et,和分别表示可训练的权重和偏置,最终得到的融合嵌入,即第二嵌入量,其维度大小两倍于ec或et。
在本实施例中,给POI进行了类别区分。一方面,在给用户推荐下一个POI的时候,将考虑用户可能感兴趣的POI类别而非具体的POI,这样能在一定程度上提高推荐的精确度并防止过曝热门POI。另一方面,某些冷门POI只有几个签到记录,往往在推荐中被忽略,但是引入类别区分后,至少一个类别也有几百个签到记录,一定程度上降低了长尾效应。
同时,使用Time2Vec来进行时间嵌入,并结合上文形成的POI类别嵌入进行融合,形成时间-POI 嵌入。结合具体时间给用户推荐合理的POI类别,很大程度提高了POI推荐的准确度和推荐的可解释性。
由于采用了基于种类嵌入层提取所述兴趣点种类,确定种类向量;基于时间序列对所述用户签到数据中的时间信息进行时间嵌入,确定时间向量;根据所述种类向量和所述时间向量确定所述第二嵌入量。实现了将长期偏好、短期偏好和时间-类别嵌入进行融合,在历史签到数据缺失的情况下,给出准确率更高的兴趣点推荐。
基于实施例一,本申请实施例四提出一种基于多注意力机制的推荐方法,步骤S130包括:
步骤S410,根据所述第一嵌入量和所述第二嵌入量确定目标向量。
在本实施例中,根据前面所述的方法,分别确定第一嵌入量和第二嵌入量。进而根据第一嵌入量和第二嵌入量,确定目标向量。其中,可以将第一嵌入量和第二嵌入量进行拼接,得到一个综合的向量表示作为目标向量。
步骤S420,将所述历史签到记录输入所述编码器生成输入张量。
在本实施例中,将历史签到记录作为输入,可以使用一个编码器将其转换为输入张量。输入张量可以是一个序列张量,其中每个元素表示一个历史签到记录的特征向量。
步骤S430,根据所述输入张量和所述目标向量进行编码,根据编码值的归一化量确定所述输出值。
在本实施例中,根据输入张量和目标向量,可以使用一个编码器对其进行编码。编码器可以是一个神经网络模型,将输入张量和目标向量作为输入,输出一个编码值。进而通过对编码器输出进行归一化操作得到输出值。输出值用于通过解码器确定推荐的兴趣点,即预测兴趣点。
通过上述具体实施方式,可以根据第一嵌入量和第二嵌入量确定目标向量,并将历史签到记录输入编码器生成输入张量。然后,使用编码器对输入张量和目标向量进行编码,并根据编码值的归一化量确定输出值。这种方法可以将历史签到记录和目标向量转换为编码值,以便在后续的任务中使用,例如进行推荐系统中的个性化推荐或者预测用户行为。
可选地,步骤S430包括:
步骤S431,基于所述输入张量和所述目标向量进行编码,经过注意力计算确定参数矩阵以及相关性值。
在本实施例中,使用一个编码器对输入张量进行编码,得到编码张量。对编码张量和目标向量进行注意力计算,可以使用注意力机制来计算参数矩阵和相关性值。注意力机制可以是一个神经网络模型,它将编码张量和目标向量作为输入,并输出参数矩阵和相关性值。
步骤S432,对所述相关性值进行权重归一化,确定所述归一化量。
在本实施例中,对相关性值进行权重归一化,可以使用softmax函数。将相关性值作为输入,通过softmax函数计算得到归一化权重。归一化权重表示了每个历史签到记录的重要性。
步骤S433,根据所述归一化量和所述参数矩阵确定所述输出值。
在本实施例中,根据归一化权重和参数矩阵,可以计算输出值。将归一化权重与参数矩阵相乘,得到加权后的编码张量。对加权后的编码张量进行求和,得到最终的输出值。
示例性的,将用户-POI嵌入,即第一嵌入量,和类别-时间嵌入,即第二嵌入量,再进行一次拼接操作得到目标向量表示ef:
其中||为向量拼接操作,然后将ef作为BERT的输入,进行编码。BERT相较于原来的RNN、LSTM两种方式可以做到并发执行,同时提取向量中的关系特征,并且能在多个不同层次提取关系特征。BERT只使用了Transformer的Encoder模块,本实施例中使用基础版的BERT作为编码器。
将用户历史签到记录H=(h1,h2,h3……hM)输入BERT,这些记录将在BERT的第一个
Transformer层形成输入张量,记作。第p层输入经过一次注意力计算,得到的输出为
T
表示不同活动的相关性,表示该活动在所有活动中所占的百分比重。
其中的,和都是Transformer的可学习参数矩阵,即参数矩阵,O’则表示不
同活动的相关性,即相关性值,再经过一次SOFTMAX权重归一化,确定归一化量,即:
将多个注意力融合后的最终输出为:
Multihead()=[head1;head2;……headn]* 。
加入残差连接和正则化后的输出为
=LayerNorm()。其中,是所述编码器的输出值。
在本实施例中,提出的GTBT模型来预测用户出行的下一个POI。与常见的RNN模型或LSTM模型相比,BERT可以直接通过自注意力机制直接从输入轨迹中学习每个签到对最终推荐结果的贡献。
通过上述具体实施方式,可以对输入张量进行编码,并使用注意力计算得到参数矩阵和相关性值。然后,对相关性值进行权重归一化,得到归一化权重。最后,根据归一化权重和参数矩阵,计算输出值。这种方法可以根据输入张量和目标向量的编码值,通过注意力计算和权重归一化,得到最终的输出值。这个输出值可以用于后续的任务中,例如进行推荐系统中的个性化推荐或者预测用户行为。
基于实施例一,本申请实施例五提出一种基于多注意力机制的推荐方法,参照图4,步骤S140包括:
步骤S510,根据时间权重、节点权重、种类权重以及所述输出值,确定解码值。
在本实施例中,使用MLP作为解码器,MLP(Multilayer Perceptron,多层感知机)是一种经典的前馈神经网络模型,由多个全连接的隐藏层和一个输出层组成。每个隐藏层的神经元都与上一层的所有神经元相连,输出层的神经元与最后一个隐藏层的所有神经元相连。MLP的每个神经元都有一个激活函数,常用的激活函数包括sigmoid、ReLU、tanh等。每个神经元的输入是上一层的输出,通过权重和偏置进行线性组合,然后通过激活函数进行非线性映射,得到该神经元的输出。MLP的训练过程通常使用反向传播算法,通过最小化损失函数来调整网络中的权重和偏置。常用的损失函数包括均方误差、交叉熵等。
作为一种可选实施方式,根据输出值和权重,计算解码值。将输出值与节点权重、种类权重、时间权重分别相乘,得到加权后的输出值。对加权后的输出值进行求和,得到解码值。
步骤S520,以交叉熵作为所述节点权重和所述种类权重对应的节点损失函数和种类损失函数。
在本实施例中,对节点权重和种类权重,可以使用交叉熵作为节点损失函数和种类损失函数。将解码值与节点权重和种类权重进行比较,计算节点损失函数和种类损失函数。
步骤S530,以均方误差作为所述时间权重对应的时间损失函数。
在本实施例中,对时间权重,可以使用均方误差作为时间损失函数。将解码值与时间权重进行比较,计算时间损失函数。
步骤S540,根据所述节点损失函数、所述种类损失函数和所述时间损失函数确定目标损失函数。
在本实施例中,根据节点损失函数、种类损失函数和时间损失函数,可以确定目标损失函数。目标损失函数可以是节点损失函数、种类损失函数和时间损失函数的加权和。
步骤S550,基于所述目标损失函数和所述解码值确定所述预测兴趣点。
在本实施例中,基于目标损失函数和解码值,确定预测兴趣点。通过最小化目标损失函数,调整解码值,使其接近真实值。根据调整后的解码值,可以确定预测兴趣点。
示例性的,用MLP作为解码器来预测下一个POI,具体来说用三个MLP分别预测时
间,POI,POI类别,即时间、兴趣点、兴趣点类别三个维度。将编码器最终输出,即输出值,表
示为,MLP可以写作:
=
=
=
其中,,,是MLP的权重,分别为节点权重、时间权重和种类权重,,,分别是兴趣点、时间和兴趣点种类三个维度对应的偏置值。是兴趣点维度对
应的解码值,是时间维度的解码值,是兴趣点类别对应维度的解码值。
在本实施例中,交叉熵被用作POI和POI类别预测的损失函数,均方误差用于时间预测。其中,交叉熵损失,即节点损失函数和种类损失函数表示为:
表示预测结果正确的情况,表示预测结果不正确的情况;
均方误差,即时间损失函数表示为:
其中,SSE为和方差,MSE是均方误差。
目标损失函数为多个损失之和,由于时间的损失值较小,因此将其乘一个倍数,其数值M为预先确定,即根据节点损失函数、种类损失函数和时间损失函数确定目标损失函数表示为:
进而根据目标损失函数和解码值,确定预测兴趣点。即通过最小化目标损失函数,调整解码值,使其接近真实值。根据调整后的解码值,可以确定预测兴趣点。
通过上述具体实施方式,可以根据输出值和权重计算解码值。然后,使用交叉熵作为节点权重和种类权重的损失函数,使用均方误差作为时间权重的损失函数,计算节点损失函数、种类损失函数和时间损失函数。根据这些损失函数,确定目标损失函数。最后,基于目标损失函数和解码值,确定预测兴趣点。这种方法可以根据解码值和权重,通过损失函数的计算和优化,确定预测兴趣点,以便在后续的任务中使用,例如进行推荐系统中的个性化推荐或者预测用户行为。
基于实施例一,本申请实施例六提出一种基于多注意力机制的推荐方法,在步骤S140之后,还包括:
通过步骤S110-步骤S140建立的GTBT模型,能够有效在缺乏历史签到记录的情况下,给出高于基线水平的兴趣点预测准确率。因此,在步骤S140之后,基于实际数据对建立的GTBT模型进行迭代,提高本实施例基于多注意力机制的推荐方法的性能。
示例性的,在两个公共的数据集,FourSquare-NYC和Gowalla-CA上进行实验,这两个数据集都是从基于位置的服务平台收集数据。FourSquare-NYC是纽约市从2012年4月到2013年2月收集的数据,Gowalla-CA则是加利福尼亚和内华达州从2009年2月到2010年10月收集的数据。我们排除了少于10个签到记录的不受欢迎POI,以及少于10个签到记录历史的不活跃用户,按照时间顺序把数据集分为训练集,验证集,测试集。其中前百分之80的记录是训练集且用于构建轨迹流图,中间百分之10是验证集,剩余的百分之10是测试集。具体来说,FourSquare-NYC数据集有1075个用户,318个poi种类共5099个poi,104074个签到记录。Gowalla-CA数据集有4318个用户,301个poi种类共9923个poi,250780个签到记录。
评价指标通过计算Acc@k和MRR。Acc@k指的是取前k个推荐的poi,计算其正确推荐的概率。MRR是计算正确推荐的poi在其中的排名情况,取值为正确推荐的多个poi排名的倒数加和平均。其表示如下:
其中corrct为推荐正确的数量。
在本实验中,这两项指标均为越大越好。
为了得到最优的实验结果,尽量获取最优参数,具体来说,实验了不同的GAT层数k,GAT多头注意力的头数n,GAT隐藏层维度h,GAT的超参数ALPHA,时间嵌入损失的倍数M,并将最优的参数应用于对比实验。
在其他参数一致的情况下GAT层数k影响如下表:
在超过3层GAT的情况下,模型过拟合导致结果大幅下降,最好的情况为GAT两层,在接下来的实验中将以K=2为标准。
在其他参数一致的情况下GAT的多头注意力头数影响如下表:
GAT头数超过三个的情况下,模型出现过拟合现象导致结果大幅下降,当头数为2的时候,Acc@1的结果要好于头数为1的时候,但其他指标都略低。故选择头数n=1的情况作为模型标准。
在其他参数一致的情况下GAT超参数ALPHA影响如下表:
GAT超参数ALPHA一般选取0.1-0.3。在0.15-0.25之间以0.1为间隔取值进行实验,发现大致规律为0.20以上或以下越大或越小,结果都会逐渐变差,故选取α=0.20为模型标准。
在其他参数一致的情况下GAT隐藏层维度影响如下表:
随着隐藏层维度上升,推荐的准确率逐渐增加,在h为32时达到最大,之后逐渐减小,因此选择h=32为模型标准。值得一提的是,当隐藏层维度为16时,得到了所有实验中最高的Acc@1值。
时间嵌入倍数的影响如下表:
进行对比实验得到如下表格:
表中包含两个数据集的ACC@1,ACC@5, ACC@10 ,ACC@20,MRR表现。总体而言,模型在NYC数据集上比Gowalla-CA表现的更好,其主要原因在于两个数据集的签到稀疏性有较大差距。
对于所有数据集,本实施例中的模型都比基线表现得更好。例如,在NYC数据集中,实现了24.02%的top-1准确率,而最佳基线STAN为22.31%。在前5名的准确性,的模型获得约11%的改善与基线相比,和前20名的准确性,8.7%的性能提高记录,在CA数据集中也得到类似的结果。此外,最先进的基于出席或基于LSTM的推荐模型,诸如STAN、PLSPL、STGCN比传统的基于马尔可夫链或基于矩阵因式分解的模型,诸如FPMC、PRME执行得更好。例如,STAN的top-1准确度是FPMC的两倍,即在NYC上为22.31%对比FPMC的10.03%。
CA数据集包含9.9k个POI和250k个签到记录,广泛分布在超过400000平方米的区域中,由于在检入的数量和POI的空间稀疏性方面存在更严重的数据稀缺问题,模型通常无法在CA中达到与NYC相同的性能水平。更具体地,STAN在NYC上的前1准确度为22.31%,在CA上下降到11.04%。本实施例的模型在CA上的前1准确率为12.95%,超过了所有基线。即基于实际数据进行训练,进而更新预设的GAT层数k,GAT多头注意力的头数n,GAT隐藏层维度h,GAT的超参数ALPHA以及时间嵌入损失的倍数M。
在本申请实施例七中,提出本申请基于多注意力机制的推荐方法确定的GTBT模型的总体架构,如图5所示,首先轨迹流图学习POI之间的转移概率,之后我们使用几个上下文模块来得到用户嵌入,POI类别嵌入,时间嵌入,最后我们使用Bert和多层感知机的编码器解码器结构来产生最终POI预测。
即基于轨迹流图,通过图注意力网络确定POI嵌入,即长期偏好;根据用户嵌入层学习历史签到记录,生成用户嵌入,即短期偏好;将长期偏好和短期偏好进行融合,确定POI嵌入-用户嵌入,即第一嵌入量。进而确定各个POI之间的转移概率。另一方面,基于类别嵌入层,即种类嵌入层进行类别嵌入,确定种类向量;基于Time2Vec框架进行时间嵌入,确定时间向量;根据时间向量和种类向量进行拼接,确定时间嵌入-类别嵌入,即第二嵌入量。最后将第一嵌入量和第二嵌入量进行拼接,确定目标向量。将目标向量和历史签到记录通过编码器进行编码,通过多头注意力层、池化层、正则化层、前馈网络、池化层以及正则化层的顺序,进行编码,确定输出值。再基于输出值通过多层感知机解码器,基于POI、时间和POI种类三个方面,分别确定POI损失、时间损失和类别损失,进而确定目标损失函数,即总损失。通过目标损失函数逼近输出值,确定预测兴趣点。
本申请还提出一种基于多注意力机制的推荐设备,参照图6,图6为本申请实施例方案涉及的硬件运行环境的基于多注意力机制的推荐设备结构示意图。
如图6所示,该基于多注意力机制的推荐设备可以包括:处理器1001,例如中央处理器(Central Processing Unit,CPU),通信总线1002、用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如无线保真(WIreless-FIdelity,WI-FI)接口)。存储器1005可以是高速的随机存取存储器(RandomAccess Memory,RAM)存储器,也可以是稳定的非易失性存储器(Non-Volatile Memory,NVM),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图6中示出的结构并不构成对基于多注意力机制的推荐设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
可选地,存储器1005与处理器1001电性连接,处理器1001可用于控制存储器1005的运行,还可以读取存储器1005中的数据以实现基于多注意力机制的推荐。
可选地,如图6所示,作为一种存储介质的存储器1005中可以包括操作系统、数据存储模块、网络通信模块、用户接口模块以及基于多注意力机制的推荐程序。
可选地,在图6所示的基于多注意力机制的推荐设备中,网络接口1004主要用于与其他设备进行数据通信;用户接口1003主要用于与用户进行数据交互;本申请基于多注意力机制的推荐设备中的处理器1001、存储器1005可以设置在基于多注意力机制的推荐设备中。
如图6所示,所述基于多注意力机制的推荐设备通过处理器1001调用存储器1005中存储的基于多注意力机制的推荐程序,并执行本申请实施例提供的基于多注意力机制的推荐方法的相关步骤操作:
基于用户签到数据中的兴趣点节点确定第一嵌入向量;
基于所述用户签到数据中的兴趣点种类确定第二嵌入量;
基于所述第一嵌入量、所述第二嵌入量和历史签到记录作为编码器的输入量,确定输出值;
基于时间、所述兴趣点节点以及所述兴趣点种类三个维度,解码所述输出值,确定预测兴趣点。
可选地,处理器1001可以调用存储器1005中存储的基于多注意力机制的推荐程序,还执行以下操作:基于历史签到记录以及所述兴趣点节点确定轨迹流图;
基于图注意力网络以及所述轨迹流图确定长期偏好;
基于所述历史签到记录中每个用户的用户嵌入量,确定短期偏好;
基于所述长期偏好以及所述短期偏好的拼接向量确定所述第一嵌入量。
可选地,处理器1001可以调用存储器1005中存储的基于多注意力机制的推荐程序,还执行以下操作:根据所述轨迹流图确定目标节点以及邻居节点;
确定所述目标节点以及所述邻居节点的相似度;
对所述相似度进行权重归一化,确定所述长期偏好。
可选地,处理器1001可以调用存储器1005中存储的基于多注意力机制的推荐程序,还执行以下操作:基于权重归一化确定所述相似度的归一化值;
对所述归一化值进行非线性层计算,确定所述目标节点以及所述邻居节点的注意力权重;
基于所述注意力权重提取所述目标节点以及所述邻居节点的节点信息,确定图注意力更新函数;
基于预设数量确定所述图注意力更新函数对应输出值的平均值,并将所述平均值作为所述长期偏好。
可选地,处理器1001可以调用存储器1005中存储的基于多注意力机制的推荐程序,还执行以下操作:基于种类嵌入层提取所述兴趣点种类,确定种类向量;
基于时间序列对所述用户签到数据中的时间信息进行时间嵌入,确定时间向量;
根据所述种类向量和所述时间向量确定所述第二嵌入量。
可选地,处理器1001可以调用存储器1005中存储的基于多注意力机制的推荐程序,还执行以下操作:根据所述第一嵌入量和所述第二嵌入量确定目标向量;
将所述历史签到记录输入所述编码器生成输入张量;
根据所述输入张量和所述目标向量进行编码,根据编码值的归一化量确定所述输出值。
可选地,处理器1001可以调用存储器1005中存储的基于多注意力机制的推荐程序,还执行以下操作:基于所述输入张量和所述目标向量进行编码,经过注意力计算确定参数矩阵以及相关性值;
对所述相关性值进行权重归一化,确定所述归一化量;
根据所述归一化量和所述参数矩阵确定所述输出值。
可选地,处理器1001可以调用存储器1005中存储的基于多注意力机制的推荐程序,还执行以下操作:根据时间权重、节点权重、种类权重以及所述输出值,确定解码值;
以交叉熵作为所述节点权重和所述种类权重对应的节点损失函数和种类损失函数;
以均方误差作为所述时间权重对应的时间损失函数;
根据所述节点损失函数、所述种类损失函数和所述时间损失函数确定目标损失函数;
基于所述目标损失函数和所述解码值确定所述预测兴趣点。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例,或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框,以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
应当注意的是,在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的部件或步骤。位于部件之前的单词“一”或“一个”不排除存在多个这样的部件。本申请可以借助于包括有若干不同部件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二,以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (10)
1.一种基于多注意力机制的推荐方法,其特征在于,所述基于多注意力机制的推荐方法包括:
基于用户签到数据中的兴趣点节点确定第一嵌入向量;
基于所述用户签到数据中的兴趣点种类确定第二嵌入量;
基于所述第一嵌入量、所述第二嵌入量和历史签到记录作为编码器的输入量,确定输出值;
基于时间、所述兴趣点节点以及所述兴趣点种类三个维度,解码所述输出值,确定预测兴趣点。
2.如权利要求1所述的基于多注意力机制的推荐方法,其特征在于,所述基于用户签到数据中的兴趣点节点确定第一嵌入向量的步骤包括:
基于历史签到记录以及所述兴趣点节点确定轨迹流图;
基于图注意力网络以及所述轨迹流图确定长期偏好;
基于所述历史签到记录中每个用户的用户嵌入量,确定短期偏好;
基于所述长期偏好以及所述短期偏好的拼接向量确定所述第一嵌入量。
3.如权利要求2所述的基于多注意力机制的推荐方法,其特征在于,所述基于图注意力网络以及所述轨迹流图确定长期偏好的步骤包括:
根据所述轨迹流图确定目标节点以及邻居节点;
确定所述目标节点以及所述邻居节点的相似度;
对所述相似度进行权重归一化,确定所述长期偏好。
4.如权利要求3所述的基于多注意力机制的推荐方法,其特征在于,所述对所述相似度进行权重归一化,确定所述长期偏好的步骤包括:
基于权重归一化确定所述相似度的归一化值;
对所述归一化值进行非线性层计算,确定所述目标节点以及所述邻居节点的注意力权重;
基于所述注意力权重提取所述目标节点以及所述邻居节点的节点信息,确定图注意力更新函数;
基于预设数量确定所述图注意力更新函数对应输出值的平均值,并将所述平均值作为所述长期偏好。
5.如权利要求1所述的基于多注意力机制的推荐方法,其特征在于,所述基于所述用户签到数据中的兴趣点种类确定第二嵌入量的步骤包括:
基于种类嵌入层提取所述兴趣点种类,确定种类向量;
基于时间序列对所述用户签到数据中的时间信息进行时间嵌入,确定时间向量;
根据所述种类向量和所述时间向量确定所述第二嵌入量。
6.如权利要求1所述的基于多注意力机制的推荐方法,其特征在于,所述基于所述第一嵌入量、所述第二嵌入量和历史签到记录作为编码器的输入量,确定输出值的步骤包括:
根据所述第一嵌入量和所述第二嵌入量确定目标向量;
将所述历史签到记录输入所述编码器生成输入张量;
根据所述输入张量和所述目标向量进行编码,根据编码值的归一化量确定所述输出值。
7.如权利要求6所述的基于多注意力机制的推荐方法,其特征在于,所述根据所述输入张量和所述目标向量进行编码,根据编码值的归一化量确定所述输出值的步骤包括:
基于所述输入张量和所述目标向量进行编码,经过注意力计算确定参数矩阵以及相关性值;
对所述相关性值进行权重归一化,确定所述归一化量;
根据所述归一化量和所述参数矩阵确定所述输出值。
8.如权利要求1所述的基于多注意力机制的推荐方法,其特征在于,所述基于时间、所述兴趣点节点以及所述兴趣点种类三个维度,解码所述输出值,确定预测兴趣点的步骤包括:
根据时间权重、节点权重、种类权重以及所述输出值,确定解码值;
以交叉熵作为所述节点权重和所述种类权重对应的节点损失函数和种类损失函数;
以均方误差作为所述时间权重对应的时间损失函数;
根据所述节点损失函数、所述种类损失函数和所述时间损失函数确定目标损失函数;
基于所述目标损失函数和所述解码值确定所述预测兴趣点。
9.一种基于多注意力机制的推荐设备,其特征在于,包括存储器、处理器及存储在存储器上并可在处理器上运行的基于多注意力机制的推荐程序,所述处理器执行所述基于多注意力机制的推荐程序时实现如权利要求1至8任一项所述的基于多注意力机制的推荐方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有基于多注意力机制的推荐程序,所述基于多注意力机制的推荐程序被处理器执行时实现如权利要求1至8任一项所述的基于多注意力机制的推荐方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410102701.XA CN117633371B (zh) | 2024-01-25 | 2024-01-25 | 基于多注意力机制的推荐方法、设备和可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410102701.XA CN117633371B (zh) | 2024-01-25 | 2024-01-25 | 基于多注意力机制的推荐方法、设备和可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117633371A true CN117633371A (zh) | 2024-03-01 |
CN117633371B CN117633371B (zh) | 2024-04-12 |
Family
ID=90035787
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410102701.XA Active CN117633371B (zh) | 2024-01-25 | 2024-01-25 | 基于多注意力机制的推荐方法、设备和可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117633371B (zh) |
Citations (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
IL243026A0 (en) * | 2015-12-10 | 2016-02-29 | Rokach Lior | Designing recommendation systems based on hidden context |
CN108875007A (zh) * | 2018-06-15 | 2018-11-23 | 腾讯科技(深圳)有限公司 | 兴趣点的确定方法和装置、存储介质、电子装置 |
CN109492166A (zh) * | 2018-08-06 | 2019-03-19 | 北京理工大学 | 基于签到时间间隔模式的连续兴趣点推荐方法 |
CN110399565A (zh) * | 2019-07-29 | 2019-11-01 | 北京理工大学 | 基于时空周期注意力机制的递归神经网络兴趣点推荐方法 |
CN110929164A (zh) * | 2019-12-09 | 2020-03-27 | 北京交通大学 | 一种基于用户动态偏好与注意力机制的兴趣点推荐方法 |
CN111949865A (zh) * | 2020-08-10 | 2020-11-17 | 杭州电子科技大学 | 基于图神经网络与用户长短期偏好的兴趣点推荐方法 |
CN112364238A (zh) * | 2020-10-12 | 2021-02-12 | 山东大学 | 一种基于深度学习的用户兴趣点推荐方法与系统 |
CN112380426A (zh) * | 2020-10-23 | 2021-02-19 | 南京邮电大学 | 一种基于图嵌入与用户长短期兴趣融合的兴趣点推荐方法、系统 |
CN113139140A (zh) * | 2021-05-17 | 2021-07-20 | 辽宁工程技术大学 | 基于时空感知gru并结合用户关系偏好的旅游景点推荐方法 |
CN114025310A (zh) * | 2021-11-01 | 2022-02-08 | 湖南大学 | 基于边缘计算环境的位置服务隐私保护方法、装置及介质 |
CN114637911A (zh) * | 2022-02-21 | 2022-06-17 | 桂林电子科技大学 | 一种注意力融合感知网络的下一个兴趣点推荐方法 |
CN115422441A (zh) * | 2022-08-11 | 2022-12-02 | 华中科技大学 | 一种基于社交时空信息与用户偏好的连续兴趣点推荐方法 |
CN115470362A (zh) * | 2022-10-06 | 2022-12-13 | 东南大学 | 基于城市时空知识图谱的兴趣点实时推荐方法 |
CN115495661A (zh) * | 2022-10-10 | 2022-12-20 | 常熟理工学院 | 一种基于用户长短期偏好的自适应兴趣点推荐方法 |
CN115774819A (zh) * | 2023-02-10 | 2023-03-10 | 湖北省楚天云有限公司 | 一种基于层次循环神经网络的兴趣点推荐方法及系统 |
CN115795182A (zh) * | 2022-11-11 | 2023-03-14 | 重庆邮电大学 | 一种基于图卷积网络的下一个poi推荐方法 |
CN115827974A (zh) * | 2022-12-05 | 2023-03-21 | 北京理工大学 | 基于时空信息表示的下一兴趣点推荐系统 |
CN115982468A (zh) * | 2023-01-04 | 2023-04-18 | 重庆邮电大学 | 一种结合用户周期性偏好和短期兴趣的兴趣点推荐方法 |
CN116150511A (zh) * | 2023-02-17 | 2023-05-23 | 吉林大学 | 一种基于时空上下文和类别偏好的下一个位置推荐方法 |
CN116611442A (zh) * | 2023-04-21 | 2023-08-18 | 重庆大学 | 一种基于深度语义提取的兴趣点推荐方法 |
CN117194763A (zh) * | 2023-02-27 | 2023-12-08 | 中国计量大学 | 基于用户偏好与时空上下文信息的下一个poi推荐方法 |
CN117271899A (zh) * | 2023-10-11 | 2023-12-22 | 重庆邮电大学 | 一种基于时空感知的兴趣点推荐方法 |
CN117435819A (zh) * | 2023-11-14 | 2024-01-23 | 京东城市(北京)数字科技有限公司 | 时空动态感知的兴趣点推荐方法、系统和存储介质 |
-
2024
- 2024-01-25 CN CN202410102701.XA patent/CN117633371B/zh active Active
Patent Citations (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
IL243026A0 (en) * | 2015-12-10 | 2016-02-29 | Rokach Lior | Designing recommendation systems based on hidden context |
CN108875007A (zh) * | 2018-06-15 | 2018-11-23 | 腾讯科技(深圳)有限公司 | 兴趣点的确定方法和装置、存储介质、电子装置 |
CN109492166A (zh) * | 2018-08-06 | 2019-03-19 | 北京理工大学 | 基于签到时间间隔模式的连续兴趣点推荐方法 |
CN110399565A (zh) * | 2019-07-29 | 2019-11-01 | 北京理工大学 | 基于时空周期注意力机制的递归神经网络兴趣点推荐方法 |
CN110929164A (zh) * | 2019-12-09 | 2020-03-27 | 北京交通大学 | 一种基于用户动态偏好与注意力机制的兴趣点推荐方法 |
CN111949865A (zh) * | 2020-08-10 | 2020-11-17 | 杭州电子科技大学 | 基于图神经网络与用户长短期偏好的兴趣点推荐方法 |
CN112364238A (zh) * | 2020-10-12 | 2021-02-12 | 山东大学 | 一种基于深度学习的用户兴趣点推荐方法与系统 |
CN112380426A (zh) * | 2020-10-23 | 2021-02-19 | 南京邮电大学 | 一种基于图嵌入与用户长短期兴趣融合的兴趣点推荐方法、系统 |
CN113139140A (zh) * | 2021-05-17 | 2021-07-20 | 辽宁工程技术大学 | 基于时空感知gru并结合用户关系偏好的旅游景点推荐方法 |
CN114025310A (zh) * | 2021-11-01 | 2022-02-08 | 湖南大学 | 基于边缘计算环境的位置服务隐私保护方法、装置及介质 |
CN114637911A (zh) * | 2022-02-21 | 2022-06-17 | 桂林电子科技大学 | 一种注意力融合感知网络的下一个兴趣点推荐方法 |
CN115422441A (zh) * | 2022-08-11 | 2022-12-02 | 华中科技大学 | 一种基于社交时空信息与用户偏好的连续兴趣点推荐方法 |
CN115470362A (zh) * | 2022-10-06 | 2022-12-13 | 东南大学 | 基于城市时空知识图谱的兴趣点实时推荐方法 |
CN115495661A (zh) * | 2022-10-10 | 2022-12-20 | 常熟理工学院 | 一种基于用户长短期偏好的自适应兴趣点推荐方法 |
CN115795182A (zh) * | 2022-11-11 | 2023-03-14 | 重庆邮电大学 | 一种基于图卷积网络的下一个poi推荐方法 |
CN115827974A (zh) * | 2022-12-05 | 2023-03-21 | 北京理工大学 | 基于时空信息表示的下一兴趣点推荐系统 |
CN115982468A (zh) * | 2023-01-04 | 2023-04-18 | 重庆邮电大学 | 一种结合用户周期性偏好和短期兴趣的兴趣点推荐方法 |
CN115774819A (zh) * | 2023-02-10 | 2023-03-10 | 湖北省楚天云有限公司 | 一种基于层次循环神经网络的兴趣点推荐方法及系统 |
CN116150511A (zh) * | 2023-02-17 | 2023-05-23 | 吉林大学 | 一种基于时空上下文和类别偏好的下一个位置推荐方法 |
CN117194763A (zh) * | 2023-02-27 | 2023-12-08 | 中国计量大学 | 基于用户偏好与时空上下文信息的下一个poi推荐方法 |
CN116611442A (zh) * | 2023-04-21 | 2023-08-18 | 重庆大学 | 一种基于深度语义提取的兴趣点推荐方法 |
CN117271899A (zh) * | 2023-10-11 | 2023-12-22 | 重庆邮电大学 | 一种基于时空感知的兴趣点推荐方法 |
CN117435819A (zh) * | 2023-11-14 | 2024-01-23 | 京东城市(北京)数字科技有限公司 | 时空动态感知的兴趣点推荐方法、系统和存储介质 |
Non-Patent Citations (2)
Title |
---|
占华林等: "基于图神经网络和注意力机制的推荐算法研究", 宜春学院学报, vol. 45, no. 12, 31 December 2023 (2023-12-31), pages 1 - 6 * |
张晓梅等: "基于双重注意力机制的图神经网络模型的会话推荐", 宿州学院学报, vol. 38, no. 6, 30 June 2023 (2023-06-30), pages 23 - 27 * |
Also Published As
Publication number | Publication date |
---|---|
CN117633371B (zh) | 2024-04-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Guo et al. | Combining geographical and social influences with deep learning for personalized point-of-interest recommendation | |
CN111797321B (zh) | 一种面向不同场景的个性化知识推荐方法及系统 | |
CN111008332B (zh) | 内容项推荐方法、装置、服务器以及存储介质 | |
CN110717098B (zh) | 基于元路径的上下文感知用户建模方法、序列推荐方法 | |
CN111177575A (zh) | 一种内容推荐方法、装置、电子设备和存储介质 | |
Wang et al. | Towards real-time demand-aware sequential POI recommendation | |
CN106776928B (zh) | 基于内存计算框架、融合社交及时空数据的位置推荐方法 | |
WO2021139415A1 (zh) | 数据处理方法、装置、计算机可读存储介质及电子设备 | |
CN113139140B (zh) | 基于时空感知gru并结合用户关系偏好的旅游景点推荐方法 | |
CN113158038B (zh) | 基于sta-tcn神经网络框架的兴趣点推荐方法及系统 | |
CN109902823A (zh) | 一种基于生成对抗网络的模型训练方法及设备 | |
CN114637911A (zh) | 一种注意力融合感知网络的下一个兴趣点推荐方法 | |
CN115422441A (zh) | 一种基于社交时空信息与用户偏好的连续兴趣点推荐方法 | |
CN115618101A (zh) | 基于负反馈的流媒体内容推荐方法、装置及电子设备 | |
Sun | [Retracted] Variational Fuzzy Neural Network Algorithm for Music Intelligence Marketing Strategy Optimization | |
CN117271899A (zh) | 一种基于时空感知的兴趣点推荐方法 | |
CN117216376A (zh) | 一种基于深度图神经网络的公平感知推荐系统及推荐方法 | |
CN117633371B (zh) | 基于多注意力机制的推荐方法、设备和可读存储介质 | |
CN115564532A (zh) | 序列推荐模型的训练方法及装置 | |
CN114021011A (zh) | 一种基于自注意力机制的下一个兴趣点推荐方法 | |
CN113360772A (zh) | 一种可解释性推荐模型训练方法与装置 | |
CN114329167A (zh) | 超参数学习、智能推荐、关键词和多媒体推荐方法及装置 | |
CN117786234B (zh) | 一种基于两阶段对比学习的多模态资源推荐方法 | |
CN117556149B (zh) | 资源推送方法、装置、电子设备和存储介质 | |
WO2022004399A1 (ja) | 操作予測装置及びそのモデル学習方法、操作予測方法 |
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 |