公司准备做一个推荐功能,从文章库中根据用户阅读记录推荐相关的文章。这个文章库保存了所有子公司的文章,更新频率比较高,所以没有使用计算两两相似度的方式。
目前使用 spark 做 demo 实现如下:
1. submit 应用时传递用户 id
2. 将该用户的最后阅读的 5 篇文章合并为一条长内容
3. 获取最新的 500 篇文章
4. 用长内容与最新的 500 条生成一个 DateFrame 做余弦相似度计算,得到最相似的 topN
5. 定时或者实时触发 submit
虽然能跑,但是总感觉哪里不对。同时对如何实现批量为户计算推荐内容也没有好思路,难道传用户 id 数组然后是循环跑上述流程吗
目前使用 spark 做 demo 实现如下:
1. submit 应用时传递用户 id
2. 将该用户的最后阅读的 5 篇文章合并为一条长内容
3. 获取最新的 500 篇文章
4. 用长内容与最新的 500 条生成一个 DateFrame 做余弦相似度计算,得到最相似的 topN
5. 定时或者实时触发 submit
虽然能跑,但是总感觉哪里不对。同时对如何实现批量为户计算推荐内容也没有好思路,难道传用户 id 数组然后是循环跑上述流程吗
8 条回复
|
1
jr55475f112iz2tu 2022 年 3 月 2 日
这个余弦相似度里的向量,是以文章为单位的?
|
|
4
jr55475f112iz2tu 2022 年 3 月 2 日
我其实是想问,你的指标是一篇文章一个,还是一篇文章有多个指标
|
|
6
jr55475f112iz2tu 2022 年 3 月 2 日
如果只有 1 个指标感觉效果不会好,常见做法都是 1 篇文章多个标签做匹配的吧?
|
|
7
laobaozi OP 子公司的内容不是很规范, 很多没有设置标签, 所以标签暂时做不了
|