Large Language Models for Next Point-of-Interest Recommendation

本文是LLM系列文章,针对《Large Language Models for Next Point-of-Interest Recommendation》的翻译。

用于下一个兴趣点推荐的大型语言模型

摘要

下一个兴趣点(POI)推荐任务是在给定用户的历史数据的情况下预测用户的下一次POI访问。基于位置的社交网络数据通常用于下一个POI推荐任务,但也面临挑战。一个经常被忽视的挑战是如何有效地使用基于位置的社交网络数据中存在的丰富上下文信息。以前的方法受到其数值性质的限制,未能解决这一挑战。在本文中,我们提出了一个使用预训练的大型语言模型来应对这一挑战的框架。我们的框架允许我们以原始格式保存异构的基于位置的社交网络数据,从而避免上下文信息的丢失。此外,由于包含了常识性知识,我们的框架能够理解上下文信息的内在含义。在实验中,我们在三个真实世界的基于位置的社交网络数据集上测试了我们的框架。我们的结果表明,所提出的框架在所有三个数据集中都优于最先进的模型。我们的分析证明了所提出的框架在使用上下文信息以及缓解常见的冷启动和短轨迹问题方面的有效性。我们的源代码位于:https://github.com/neolifer/LLM4POI

1 引言

2 相关工作

3 问题定义

4 方法

5 实验

6 结论和未来工作

在本文中,我们提出了一个为下一个兴趣点推荐任务部署大型语言模型的框架,这是第一个将具有常识知识的模型用于该任务的框架。我们开发了轨迹提示,将任务转换为问答。我

虽然提供的引用中未直接提及“Multi-Behavior Hypergraph-Enhanced Transformer for Next-Item Recommendation”的具体内容,但可从相关信息进行推测和分析。 ### 原理 从引用来看,超图可用于模拟用户对下一项推荐的短期偏好,如HyperRec使用超图来建模[^2][^3]。Multi-Behavior Hypergraph-Enhanced Transformer可能结合了超图对多行为依赖的建模能力以及Transformer对序列行为的处理能力。超图可以捕捉不同行为之间复杂的依赖关系,而Transformer能够处理序列行为中的过渡模式。通过对序列行为感知的过渡模式进行编码表示,再结合超图增强的多行为依赖,实现对用户行为的更准确建模,从而为下一项推荐提供依据。例如,超图可以将用户的多种行为(如浏览、购买、收藏等)作为节点,行为之间的关系作为超边,以更好地表示多行为之间的交互。Transformer则可以对用户的行为序列进行处理,学习序列中的模式和规律。 ### 应用 在推荐系统领域,该技术可用于下一项推荐,尤其是在基于会话的场景中。例如,在电商平台中,根据用户当前会话内的一系列行为,预测用户接下来可能想要浏览或购买的商品;在视频平台中,根据用户当前观看视频的行为序列,推荐用户可能感兴趣的下一个视频。通过结合多行为和序列信息,能够提高推荐的准确性和个性化程度。 ### 研究进展 目前提供的引用中没有直接关于该技术研究进展的内容。但从引用可知,之前存在使用超图进行下一项推荐的研究,如HyperRec,但它存在不利用超边缘间信息、不适合基于会话场景以及复杂度高难以在实际场景部署等问题[^2][^3]。Multi-Behavior Hypergraph-Enhanced Transformer可能是为了解决这些问题而提出的新方法,未来的研究可能会集中在进一步优化模型结构、降低复杂度、提高推荐性能等方面。 ```python # 这里只是一个简单的示意代码,并非完整实现 # 假设我们有一个用户行为序列 behavior_sequence = [1, 2, 3, 4, 5] # 可以使用Transformer对序列进行编码 import torch from torch.nn import TransformerEncoder, TransformerEncoderLayer # 定义Transformer编码器层 d_model = 128 nhead = 8 num_layers = 2 encoder_layer = TransformerEncoderLayer(d_model=d_model, nhead=nhead) transformer_encoder = TransformerEncoder(encoder_layer, num_layers=num_layers) # 对行为序列进行编码 input_tensor = torch.tensor(behavior_sequence).unsqueeze(1).float() encoded_sequence = transformer_encoder(input_tensor) print(encoded_sequence) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

UnknownBody

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值