Hold_C 2023-08-21 17:22 采纳率: 20%
浏览 29

推荐算法中的问题:召回和排序

推荐流程包括召回和排序两个板块,召回使用模型A,排序使用模型B, 那么:
1.召回和排序都有各自的模型,物品嵌入也是独立的,向量都不一样,那么对于召回模型召回的结果,排序模型怎么用呢?
2.召回模型遇到流行度偏差怎么处理呢?(方法1:多路召回虽然种类多了,但是指标降下来了 方法2:对热门商品降权,但是效果不明显
还有别的方法吗?)
@CSDN-Ada助手

  • 写回答

2条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2023-08-21 20:34
    关注

    【以下回答由 GPT 生成】

    问题一:召回和排序模型的使用方法

    对于召回模型召回的结果,可以将其作为排序模型的输入。以下是一个具体的解决方案:

    1. 首先,根据业务需求和数据情况,选择一个适合的召回模型A,该模型负责根据用户的历史行为、偏好等信息,召回一部分候选物品。

    2. 对于召回的结果,将其提取为召回特征向量。可以使用预训练的物品嵌入模型对召回的物品进行表示,得到每个物品的特征向量。

    3. 接下来,为排序模型B准备训练数据。对于每个用户,根据用户的历史行为和偏好,构建一个正负样本对,即将用户已经行为过的物品作为正样本,从未行为过的物品中随机选取一部分作为负样本。

    4. 将召回的特征向量以及正负样本对传入排序模型B进行训练。可以使用交叉熵损失函数或者其他适合的排序损失函数进行训练。

    5. 在实际推荐时,对于每个用户,先将其历史行为和偏好传入召回模型A,得到召回结果,然后将召回结果的特征向量以及其他相关特征传入排序模型B,得到最终的推荐结果。

    这种方式可以充分发挥召回模型和排序模型各自的优势,召回模型可以更好地挖掘用户的潜在兴趣,而排序模型可以根据用户的个性化需求进行精细化的排序。

    问题二:使用排序模型同时完成召回和排序的任务

    如果没有使用召回模型A,而是直接使用排序模型B来同时完成召回和排序的任务,可能会面临以下问题:

    1. 覆盖率问题:排序模型B的输入仅是用户的历史行为和偏好等信息,而没有考虑到全量物品的召回。因此,可能会出现一些用户可能感兴趣的但是未曾行为过的物品被忽略的情况,导致推荐结果的覆盖率较低。

    2. 多样性问题:由于没有经过召回阶段,直接使用排序模型B进行排序,可能会导致推荐结果过于集中在某些热门物品或者长尾物品,缺乏多样性。

    3. 推荐准确性问题:排序模型B仅依赖用户的历史行为和偏好等信息,无法充分挖掘用户的潜在兴趣,推荐结果的准确性可能会受到一定的影响。

    因此,在实际应用中,将召回和排序分开进行,通过召回模型提取候选物品,再通过排序模型进行精细化排序,可以更好地解决召回和排序问题。



    【相关推荐】



    如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^
    评论

报告相同问题?

问题事件

  • 修改了问题 8月22日
  • 修改了问题 8月21日
  • 创建了问题 8月21日

悬赏问题

  • ¥15 虚幻5 UE美术毛发渲染
  • ¥15 CVRP 图论 物流运输优化
  • ¥15 Tableau online 嵌入ppt失败
  • ¥100 支付宝网页转账系统不识别账号
  • ¥15 基于单片机的靶位控制系统
  • ¥15 真我手机蓝牙传输进度消息被关闭了,怎么打开?(关键词-消息通知)
  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度
  • ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测