V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
laobaozi
V2EX  ›  Spark

spark 做内容推荐,希望大佬给一些思路上的指导

  •  
  •   laobaozi · 2022-03-02 18:21:56 +08:00 via iPhone · 915 次点击
    这是一个创建于 783 天前的主题,其中的信息可能已经有所发展或是发生改变。
    公司准备做一个推荐功能,从文章库中根据用户阅读记录推荐相关的文章。这个文章库保存了所有子公司的文章,更新频率比较高,所以没有使用计算两两相似度的方式。

    目前使用 spark 做 demo 实现如下:

    1. submit 应用时传递用户 id

    2. 将该用户的最后阅读的 5 篇文章合并为一条长内容

    3. 获取最新的 500 篇文章

    4. 用长内容与最新的 500 条生成一个 DateFrame 做余弦相似度计算,得到最相似的 topN

    5. 定时或者实时触发 submit

    虽然能跑,但是总感觉哪里不对。同时对如何实现批量为户计算推荐内容也没有好思路,难道传用户 id 数组然后是循环跑上述流程吗
    czfy
        1
    czfy  
       2022-03-02 19:29:26 +08:00
    这个余弦相似度里的向量,是以文章为单位的?
    laobaozi
        2
    laobaozi  
    OP
       2022-03-02 19:34:29 +08:00 via iPhone
    @czfy 分词后计算 IDF
    laobaozi
        3
    laobaozi  
    OP
       2022-03-02 19:37:17 +08:00 via iPhone
    @czfy 计算文章 IDF 的相似度 以文章为单位是指?
    czfy
        4
    czfy  
       2022-03-02 19:48:50 +08:00
    我其实是想问,你的指标是一篇文章一个,还是一篇文章有多个指标
    laobaozi
        5
    laobaozi  
    OP
       2022-03-02 19:53:44 +08:00
    @czfy 一篇文章应该算只有一个指标吧 目前没有关键词 /权重等其他属性
    czfy
        6
    czfy  
       2022-03-02 19:55:17 +08:00
    如果只有 1 个指标感觉效果不会好,常见做法都是 1 篇文章多个标签做匹配的吧?
    laobaozi
        7
    laobaozi  
    OP
       2022-03-02 19:59:19 +08:00
    子公司的内容不是很规范, 很多没有设置标签, 所以标签暂时做不了
    laobaozi
        8
    laobaozi  
    OP
       2022-03-02 20:03:21 +08:00
    @czfy 效果如何目前来说不太重要,主要是知道目前这种计算模式可不可行
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1126 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 18:41 · PVG 02:41 · LAX 11:41 · JFK 14:41
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.