我很想了解为什么在现有推荐器系统库中似乎没有很多实现可以直接为用户返回前N个推荐。
我刚开始构建我的第一个推荐系统项目,却惊讶地发现有多少库和教程以类似的形式结束
score = model.predict(user_id, item_id)
而不是提供返回所有用户的前N个推荐的功能。我通常必须计算每个用户的乘积和项目向量,将已购买项目的分数更新为-1,以便不会被选中,然后为每个用户对项目进行部分排名以返回前N个推荐。
我想要此功能的原因是我想离线训练我的模型并将结果保存到数据库,数据库又被馈送到仪表板。仅保存模型嵌入会占用更多存储空间,并且为每个用户重新计算前N个项会导致太多延迟。
为什么这个过程没有被广泛模块化?有没有实现我不知道的库,或者这不是一种常见的做法?