常用推荐算法实现(包括召回和排序)

目前工业界常用的召回排序模型主要有:

召回模型

(1)基于内容的召回

使用item之间的相似性来推荐与用户喜欢的item相似的item。

(2)基于协同过滤的召回

协同过滤主要可以分为基于用户的协同过滤、 基于物品的协同过滤、基于模型的协同过滤(如矩阵分解als、svd、svd++等等)。

(3)基于关联规则召回

基于关联规则召回通常有频繁模式挖掘,如Apriori、Fpgrowth等模型

(4)基于深度学习模型的召回

基于深度学习模型的召回也称之为embedding向量召回(每个user和item在一个时刻只用一个embedding向量去表示)的一些经典方法,其主要思想为:将user和item通过DNN映射到同一个低维度向量空间中,然后通过高效的检索方法去做召回。常见的模型有:NCF模型、Youtube DNN召回、 双塔模型召回、MIND模型等等。

(5)基于图模型召回

基于图模型召回有二部图挖掘,如simrank;Graph Embedding模型,如DeepWalk、node2vec等模型。

(6)基于用户画像的召回

基于用户画像的召回主要根据用户画像如品牌偏好、颜色偏好、价格偏好等偏好信息召回。

(7)基于热度召回

 排序模型

(1)基于传统的机器学习模型

基于传统的机器学习模型如LR、SVM等模型。

(2)基于树模型

基于树模型有gbdt、RandomForest、xgboost等。

(3)基于交叉特征模型

基于交叉特征模型有fm、ffm、lr+gbdt等

(4)基于深度学习模型的排序

基于深度学习模型的排序有widedeep、dcn、deepfm等。

实现

目前包含召回和排序各阶段,各种算法的实现,均可运行;由于工作闲余时间写的,有点乱,后续有时间好好整理,深度学习相关的模型改成TF2.0

https://github.com/littlemesie/recommend-learningicon-default.png?t=LA23https://github.com/littlemesie/recommend-learning

 tensorflow2 实现:

https://github.com/littlemesie/recommend-tf2.0icon-default.png?t=LA23https://github.com/littlemesie/recommend-tf2.0

  • 0
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
内容检索、召回排序算法是信息检索领域中常用的技术,用于从大规模数据中快速找到与用户查询相关的内容,并按照一定的规则进行排序。 1. 内容检索:内容检索是指根据用户查询的关键词或者短语,在数据集中找到所有与之相关的内容。常用的技术包括倒排索引、布尔模型和向量空间模型等。倒排索引是一种以单词为索引项,记录该单词在文档中出现位置的数据结构,可以快速定位包含特定关键词的文档。 2. 召回算法:召回算法是指从大规模数据中筛选出与用户查询相关的内容。常用召回算法包括基于规则的匹配、TF-IDF、BM25、语义匹配等。基于规则的匹配是根据预先定义的规则,筛选出满足规则条件的内容。TF-IDF(词频-逆文档频率)和BM25(BM25评分函数)是基于词频和文档频率计算查询与文档之间的相关性的算法。语义匹配则是通过计算查询与文档之间的语义相似度来进行匹配。 3. 排序算法:排序算法是指根据一定的规则将召回的内容进行排序,以便将最相关的内容排在前面。常用排序算法包括PageRank、BM25F、LambdaRank等。PageRank是一种基于图的排序算法,通过计算网页之间的链接关系来确定网页的权重。BM25F是对BM25算法的扩展,考虑了不同字段对查询的贡献度。LambdaRank是一种机器学习算法,通过训练排序模型来优化排序结果。 这些算法通常会结合使用,以实现更准确和高效的内容检索、召回排序

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值