简单业务推荐排序算法

场景

用户在进行搜索时,假设搜索出来的结果有B1,B2,B3…Bn类业务,每类业务分别有S1,S2,S3…Sn条推荐内容。在把各个业务展示给用户时,需要把和用户搜索关键词“相关性”最高的业务放在前面。

原理

词频因子(Tf)

Tf计算因子代表了词频,即一个单词在文档中出现的次数。一般来说在某个文档中反复出现的单词,往往能够表征文档的主题信息。即Tf值越大,越能代表文档所反映的内容,那么应该给予这个单词更大的权值。为了抑制长文档在词频数量上存在优势,词频因子Tf的计算公式:

Tf=1+log(n)
n表示特征单词在该文档中出现的次数

逆文档词频(IDF)

IDF代表的是文档集合范围的一种全局因子。表示在文档集合(业务)中,特征单词之间的相对重要性。逆文频率因子IDF计算公式:

IDF=log(N/n)
N代表文档集合中总共有多少个文档
n表示特征单词在文档集合中出现的文档个数

IDF反映了一个特征词在整个文档集合中的分布情况。IDF值越低,这个词区分不同文档的能力越差。

Tf*IDF框架

Tf*IDF框架结合了词频因子和逆文档词频因子的计算框架,将两者相乘做为特征权值。特征权值越大,则越可能说明词和文档的相关性越高。

算法

假设用户搜索关键词进行分词后的结果为特征单词w1,w2,w3…wk。对于业务Bi的Si条内容(设为c1,c2,c3…cj),对于一条内容cu(1<=u<=j),其中特征单词wv(1<=j<=k)对应的词频因子为Tfv。
基于Tf*IDF框架计算出来的业务权值为:

weight(Bi)=max(sum(Tfv*IDF))
即取业务Bi中所有内容中最大权值的当做业务的权值。

业务推荐时按照业务权值从大到小的顺序推荐给用户,这样用户就能最先看到和自己搜索最匹配的业务内容。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值