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

2022-03-02 18:21:56 +08:00
 laobaozi
公司准备做一个推荐功能,从文章库中根据用户阅读记录推荐相关的文章。这个文章库保存了所有子公司的文章,更新频率比较高,所以没有使用计算两两相似度的方式。

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

1. submit 应用时传递用户 id

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

3. 获取最新的 500 篇文章

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

5. 定时或者实时触发 submit

虽然能跑,但是总感觉哪里不对。同时对如何实现批量为户计算推荐内容也没有好思路,难道传用户 id 数组然后是循环跑上述流程吗
1165 次点击
所在节点    Spark
8 条回复
czfy
2022-03-02 19:29:26 +08:00
这个余弦相似度里的向量,是以文章为单位的?
laobaozi
2022-03-02 19:34:29 +08:00
@czfy 分词后计算 IDF
laobaozi
2022-03-02 19:37:17 +08:00
@czfy 计算文章 IDF 的相似度 以文章为单位是指?
czfy
2022-03-02 19:48:50 +08:00
我其实是想问,你的指标是一篇文章一个,还是一篇文章有多个指标
laobaozi
2022-03-02 19:53:44 +08:00
@czfy 一篇文章应该算只有一个指标吧 目前没有关键词 /权重等其他属性
czfy
2022-03-02 19:55:17 +08:00
如果只有 1 个指标感觉效果不会好,常见做法都是 1 篇文章多个标签做匹配的吧?
laobaozi
2022-03-02 19:59:19 +08:00
子公司的内容不是很规范, 很多没有设置标签, 所以标签暂时做不了
laobaozi
2022-03-02 20:03:21 +08:00
@czfy 效果如何目前来说不太重要,主要是知道目前这种计算模式可不可行

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/837514

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX