每日一篇:AgentDR
AgentDR: Dynamic Recommendation with Implicit Item-Item Relations via LLM-based Agents
这篇文章主要分为两步:
step1:用大模型整合不同传统推荐模型的输出
step2:用大模型判断用户的兴趣偏好(购买同质or互补商品or无偏好),来对step1的结果进行重排
step1:个性化整合多推荐模型输出
动机
认为不同结构的推荐模型,可能对不同用户的表现是不同的。文中举了一个例子:一个用户在读《哈利波特》的过程中,序列推荐可能表现会更好,但当他读完这一系列之后,可能通过协同过滤找到相似用户,可以更好地反应他的兴趣。
做法
对每个用户维护一个memory数组,用于存储不同结构的推荐模型对该用户的适配度。
memory的更新方式为:
通过大模型判断各个传统推荐模型的预估结果与真实结果哪个更适合。根据大模型的评分,对memory进行增量更新。
基于这个memory,可以对所有推荐模型的输出进行聚合(这一步可以看成分权重投票),得到聚合后的输出结构。
step2:基于用户偏好重排序
动机
期望通过大模型判别用户目前的兴趣偏好:更偏好替代品、补充品 或者无特殊偏好。
做法
对每个用户维护一个memory2数组,用于存储不同用户当前的偏好评分。
memory2更新方式:
截取掉最近k次作为label。通过大模型生成出最近c次交互商品的 替代品、补充品。再用大模型判断真实的label与这些 替代品、补充品的相关性,从而反应出该用户的当前偏好(倾向替代品、倾向补充品)。对于无偏好的概率,文章通过完整的交互序列直接生成。
随后通过生成的替代品、补充品,去对Step1的预估结果进行重排序。
而“无偏好”重排结果,则通过提供用户信息进行。
最终将(替代品、补充品、无偏号)重排结果进行混合后,给出最终排序结果。
实验消融
思考
本篇文章主要依靠agent去自动寻找适合该用户的推荐模型、并自动分析用户兴趣偏好(相似or补充or无偏好)。
前者像ensemble,特点是引入了文本模态。不知道如果直接用模型学习ensemble权重效果怎么样。
后者同样主要依靠文本模态来进行分析,如果能将多模态信息引入传统推荐模型,后者的作用应该不会这么大。
总结:感觉主要收益来源于多模态信息的补充和利用。但是整体流程比较傻瓜式,没有什么参数可以调整,比较好打通。
