当前位置: 首页 > 专利查询>重庆大学专利>正文

一种基于深度语义提取的兴趣点推荐方法技术

技术编号:38548061 阅读:4 留言:0更新日期:2023-08-22 20:56
本发明专利技术涉及一种基于深度语义提取的兴趣点推荐方法,首先获取现有数据。构建用于下一个POI推荐的深度语义推荐模型DSMR,对DSMR进行训练,DSMR的训练包括两步,第一步先训练DSM中的参数和DSMR中语义嵌入层的参数,而DSMR中的其他参数被冻结,第二步DSM中的参数和DSMR中语义嵌入层的参数被冻结,训练DSMR中的其他参数;两步训练完成后,得到训练好的DSMR;对于一个新用户,将该新用户的POI输入训练好的DSMR中,训练好的DSMR的输出即是对该新用户推荐的下一个POI。本发明专利技术中提出的方法能够挖掘离散序列内隐的深度语义信息,并将其注入推荐模型中以提升其推荐性能。模型中以提升其推荐性能。模型中以提升其推荐性能。

【技术实现步骤摘要】
一种基于深度语义提取的兴趣点推荐方法


[0001]本专利技术涉及兴趣点推荐
,特别涉及一种基于深度语义提取的兴趣点推荐方法。

技术介绍

[0002]目前,下一个POI(Point

of

interest,兴趣点)推荐受到学术界和工业界的广泛关注,常用于基于位置的社交网络(LBSNs),为用户推荐他们最有可能访问的位置在下一刻根据他们的历史轨迹。在目前的范式下,POI推荐任务主要集中在表示学习上,即通过深度神经网络将离散轨迹映射到连续的高维特征空间,并根据这些特征进行预测。由于递归神经网络(RNN)在序列建模方面展示了强大的力量,许多工作提出了基于RNN的推荐模型。另一方面,用户的决策在真实场景中受到很多因素的影响,利用注意力机制来控制不同信息的比例。在LBSN中,空间和时间信息是签到的关键特征,用户的决策在很大程度上受到当前时间和地理位置的影响。添加时空信息也被证明是一种有效的方法。这些研究通过对轨迹的上下文特征进行建模来学习两次签到之间的状态转换关系。
[0003]一般来说,目前POI推荐任务的范例是:首先,一个编码器(例如,基于RNN的,基于自注意力的用于学习轨迹中每个元素的嵌入(例如,用户/场所/类别ID),这些嵌入(即特征)包含学习到的轨迹上下文信息。接下来,预测模块根据这些嵌入进行预测。因此,在该范式下,嵌入的质量在最终预测中起着关键作用。现有方法主要侧重于学习签到序列的上下文信息,然而,轨迹中的上下文信息并不是在签到之间建立状态转换的唯一媒介。语义信息已被证明是一种强大的媒介,可以通过语义数据进行学习并将其注入源顺序嵌入中,以便在其他推荐任务中进行更好的预测。不幸的是,对于POI推荐任务,大部分轨迹数据没有明确的语义信息,即轨迹中的大多数关键元素是离散的,签到之间没有直接的语义关联。因此,我们认为如何从离散轨迹数据中学习深度语义信息以提高轨迹嵌入的质量是进一步提高POI推荐任务中推荐性能的关键。
[0004]为了将语义信息注入轨迹嵌入,一些最后的工作尝试在轨迹中添加文本数据(例如,地点类别)以构建语义轨迹并学习轨迹的语义特征,他们的发现表明语义信息的使用有助于他们的方法优于参考非语义方法。然而,它们无法缓解上述限制:(1)这些作品仅利用轨迹数据中的部分文本属性,因此仅停留在浅层轨迹语义信息上。(2)虽然深度神经网络可以很好地对连续和密集的数据进行建模,但它们构建的语义轨迹仍然是离散的。结果,深度神经网络在学习离散语义轨迹的语义特征方面的能力受到限制。

技术实现思路

[0005]本专利技术的目的在于提供一种基于深度语义提取的兴趣点推荐方法,以解决现有技术存在的上述问题。
[0006]为实现上述目的,本专利技术采用如下技术方案:一种基于深度语义提取的兴趣点推荐方法,
[0007]包括如下步骤:
[0008]S1:获取现有数据,令用户和位置的集合分别为U=(u1,u2,...,u
N
),L=(l1,l2,...,l
M
),其中N为用户数,M是POI的数量。l
i
=(id,cat,lon,lat),其中id为场地标识,cat表示场地类别,lon和lat分别为经度和纬度,用于表示兴趣点的位置;
[0009]用户u
i
的轨迹是一个按时间顺序排列的签到序列。设表示用户u
i
的轨迹,轨迹中的每个签到c
k
都是一个元组(u
i
,l
i
,tem
i
),即用户u
i
在时间tem
i
访问了位置l
i
,tem
i
=(w,q),其中w代表周,q用来表示每一天的时间段。
[0010]S2:构建用于下一个POI推荐的深度语义推荐模型DSMR,所述DSMR包括深度语义模型DSM和下一个POI预测模型NPPM,其中DSM采用现有的PLM模型,NPPM依次包括嵌入层,上下文特征学习层和预测层,所述嵌入层包括并列的语义嵌入层和轨迹嵌入,特征融合层和时间间隔嵌入层;所述上下文特征学习层包括依次包括多头注意力模块和前馈神经网络;
[0011]S3:对DSMR进行训练,DSMR的训练包括两步,第一步先训练DSM中的参数和DSMR中语义嵌入层的参数,而DSMR中的其他参数被冻结,第二步DSM中的参数和DSMR中语义嵌入层的参数被冻结,训练DSMR中的其他参数;
[0012]两步训练完成后,得到训练好的DSMR;
[0013]S4:对于一个新用户,将该新用户的POI输入训练好的DSMR中,训练好的DSMR的输出即是对该新用户推荐的下一个POI。
[0014]作为优选,所述S3中第一步先训练DSM中的参数和DSMR中语义嵌入层的参数的步骤如下:
[0015]S311:构建提示句,将离散轨迹数据即签到数据重建为连续的自然语言句子;
[0016]S312:将提示句输入PLM以获取令牌上下文表示
[0017]S313:通过多任务学习利用PLM输出的这些表示向量来更新语义嵌入层的参数;
[0018]设计了三个任务来驱动PLM,其中Task1)推断用户的移动偏好;Task2)推理用户喜欢在什么时间去什么地点;Task3)学习兴趣点和兴趣点类别之间的关系。
[0019]作为优选,所述S31中构建提示句步骤如下:
[0020]S3111:制作一组文本模板hardprompt,并填充输入槽以形成填充提示,对于首先对其进行定量拆分,即其中p是预定义的子序列长度,z=n/p。令f
template
(x)为模板函数,f
template
(x)是一个带有一些槽的句子,序列中的项将被填充到对应的槽中;
[0021]S3112:设计了三个具有不同功能的模板:
[0022]template1PLM推断用户的移动偏好,template2引导PLM推理出用户喜欢去的时间和地点,template3帮助PLM学习场地和场地类别之间的关系,
[0023]最S3113:将三个模板句拼接作为最终的提示句,同时,在每个模板的开头和结尾添加特殊字符<bos>和<eos>。
[0024]S3114:对提示句进行标记化,并通过引用PLM的词汇表将文本标记转换为相应的数字标记;
[0025]作为优选,所述S312提示句输入PLM以获取令牌上下文表示的过程如下:
[0026]V=f
PLM
(PS,θ)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1)
[0027]其中f
PLM
(
·
)是预训练语言模型,PS是分词后的提示句,θ是PLM的参数,V表示PLM输出的token表示向量,其中b是batchsize,sl是序列长度,,d...

【技术保护点】

【技术特征摘要】
1.一种基于深度语义提取的兴趣点推荐方法,其特征在于,包括如下步骤:S1:获取现有数据,令用户和位置的集合分别为U=(u1,u2,...,u
N
),L=(l1,l2,...,l
M
),其中N为用户数,M是POI的数量。l
i
=(id,cat,lon,lat),其中id为场地标识,cat表示场地类别,lon和lat分别为经度和纬度,用于表示兴趣点的位置;用户u
i
的轨迹是一个按时间顺序排列的签到序列。设表示用户u
i
的轨迹,轨迹中的每个签到c
k
都是一个元组(u
i
,l
i
,tem
i
),即用户u
i
在时间tem
i
访问了位置l
i
,tem
i
=(w,q),其中w代表周,q用来表示每一天的时间段。S2:构建用于下一个POI推荐的深度语义推荐模型DSMR,所述DSMR包括深度语义模型DSM和下一个POI预测模型NPPM,其中DSM采用现有的PLM模型,NPPM依次包括嵌入层,上下文特征学习层和预测层,所述嵌入层包括并列的语义嵌入层和轨迹嵌入,特征融合层和时间间隔嵌入层;所述上下文特征学习层包括依次包括多头注意力模块和前馈神经网络;S3:对DSMR进行训练,DSMR的训练包括两步,第一步先训练DSM中的参数和DSMR中语义嵌入层的参数,而DSMR中的其他参数被冻结,第二步DSM中的参数和DSMR中语义嵌入层的参数被冻结,训练DSMR中的其他参数;两步训练完成后,得到训练好的DSMR;S4:对于一个新用户,将该新用户的POI输入训练好的DSMR中,训练好的DSMR的输出即是对该新用户推荐的下一个POI。2.如权利要求1所述的一种基于深度语义提取的兴趣点推荐方法,其特征在于:所述S3中第一步先训练DSM中的参数和DSMR中语义嵌入层的参数的步骤如下:S311:构建提示句,将离散轨迹数据即签到数据重建为连续的自然语言句子;S312:将提示句输入PLM以获取令牌上下文表示S313:通过多任务学习利用PLM输出的这些表示向量来更新语义嵌入层的参数;设计了三个任务来驱动PLM,其中Task1)推断用户的移动偏好;Task2)推理用户喜欢在什么时间去什么地点;Task3)学习兴趣点和兴趣点类别之间的关系。3.如权利要求2所述的一种基于深度语义提取的兴趣点推荐方法,其特征在于:所述S31中构建提示句步骤如下:S3111:制作一组文本模板hardprompt,并填充输入槽以形成填充提示,对于首先对其进行定量拆分即其中p是预定义的子序列长度z=n/p。令f
template
(x)为模板函数,f
template
(x)是一个带有一些槽的句子,序列中的项将被填充到对应的槽中;S3112:设计了三个具有不同功能的模板:template1PLM推断用户的移动偏好,template2引导PLM推理出用户喜欢去的时间和地点,template3帮助PLM学习场地和场地类别之间的关系,最S3113:将三个模板句拼接作为最终的提示句,同时,在每个模板的开头和结尾添加特殊字符<bos>和<eos>。S3114:对提示句进行标记化,并通过引用PLM的词汇表将文本标记转换为相应的数字标记。4.如权利要求3所述的一种基于深度语义提取的兴趣点推荐方法,其特征在于:所述
S312提示句输入PLM以获取令牌上下文表示的过程如下:V=f
PLM
(PS,θ)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1)其中f
PLM
()是预训练语言模型,PS是分词后的提示句,θ是PLM的参数,V表示PLM输出的token表示向量,其中b是batchsize,sl是序列长度,d
p
是PLM的输出特征维度,表示实数域;对V进行密集处理,公式为:其中是可学习的参数矩阵,5.如权利要求4所述的一种基于深度语义提取的兴趣点推荐方法,其特征在于:所述S313中三个任务来驱动PLM的具体步骤如下:令e
c
,e
t
,e
v
分别表示中的第一个、第二个和第三个标识符的特征表示;定义和分别为用户语义嵌入矩阵、兴趣点语义嵌入矩阵、兴趣点类别语义嵌入矩阵、周语义嵌入矩阵和周期语义嵌入矩阵,用于存储轨迹的深层语义信息;和其中N
c
是场地类别的数量,用来区分矩阵E,无实际含义,U代表一批用户,U的取值范围在[1,N]中,以e
u
作为用户表示,表示,分别是每个任务的标签;对于Task1,首先将e
u
和e
c
相加得到e
uc
作为template1的句子表示,场地类别dis
c
的分布计算为:采用交叉熵损失函数来计算损失:从批次中的每个轨迹的位置集L中随机选择一些场地类别neg
c
,其中所选场地类别与y
c
不同,对于负样本neg
c
,计算分布并将任务作为二元分类问题进行训练,让是负场地类别分布,z1是负样本的数量,O
c
是与形状相同的全零张量,然后采用二元交叉熵损失函数来计算负样本的损失:对于Task1,目标函数其和分别是Binary

Cross

Entropy损失函数和Cross

Entropy损失函数;对于Task2,先将e
u
和e
t
相加得到e
ut
作为tcmplate2的句子表示,其中e
ut
=e
u
+e
t
和设dis
w
和dis
p
为周和周期分布:为周和周期分布:为周和周期分布:其中和是周和时期的标签,目标函数obj
t
计算为:对于Task3,先将e

【专利技术属性】
技术研发人员:曾骏王子威钟林陶泓锦文俊浩夏云霓
申请(专利权)人:重庆大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1