搜索算法

Learning to Rank方法:

1、单文档方法:根据query判断每个item的相似度
2、文档对方法:确定文档对的前后顺序
3、文档列表法:确定所有文档的先后顺序
Item:垂域、意图、语义相似性、item的热度、用户的搜索日志。

排序算法的评估标准

  • AUC:
  • 准确率:描述模型的推荐列表(分母)中有多少是正例item;
  • 召回率:描述有多少正例item(分母)包含在模型的推荐列表中
  • AP average precision(平均精度):在不同recall情况下 precision的平均。通过划分不同的阈值绘制横坐标为recall 纵坐标为 precision 的曲线 下方的面积
  • mAP(Mean average precision):对于每一类的AP再求平均:评价一个rank方法性能的一个指标,现在有很多query,首先看rank方法对各个query来说性能分别是怎么样的(也就是AP),再平均起来,
  • es msearch 召回 es召回 推荐算法_信息熵

  • NDCG:需要计算Gain,这个gain即是每条结果的质量的定义,NDCG把所有结果相加最终相加保证,整体质量越高的列表NDCG值越大。同时,Discounted的设计使得越靠前的结果权重越大,这保证了第一条,更相关的排在靠前的结果会有更大的NDCG值。从这两点看,以NDCG为优化目标,保证了搜索引擎在返回结果总体质量好的情况下,把更高质量结果排在更前面。

es msearch 召回 es召回 推荐算法_相似性度量_02

  • CG(cumulative gain),累积获得,指的是网页gain的累加
    gain可以使自己定义的一种获得,用来衡量网页的相关性程度
  • DCG(Discounted Cumulative Gain),Discounted的factor为:
    在每一个CG的结果上除以一个折损值,让排名越靠前的结果越能影响最后的结果
    IDCG理想情况下最大的DCG值
    |REL| 表示,结果按照相关性从大到小的顺序排序,取前p个结果组成的集合。
    NDCG就是被IDEA DCG规格化的值,即DCG/IDCG

召回时使用的方法:es(BM25)

倒排索引进行直达词匹配:

文件ID对应到关键词的映射转换为关键词到文件ID的映射,每个关键词都对应着一系列的文件,这些文件中都出现这个关键词。

推荐算法:

推荐系统就相当与在一个异构网络进行相似性度量,用异构网络表示学习实现协同过滤
找到相似的用户就对应基于用户的推荐
找到相似的的物品对应基于物品的推荐

基本原理

  • 基于内容:用户喜欢a a和b相似则推荐b
  • 基于关联规则:很多人同时购买a b 若用户买了a则推荐b
    协同过滤:
  • 基于用户:根据用户对物品的评分发现当前用户的邻居用户 基于邻居用户的喜好推荐
  • 基于物品:根据所有用户对物品的评分发现物品之间的相似度 推荐相似的物品

相似性度量:

  • 基于特征:
    余弦相似性;
  • es msearch 召回 es召回 推荐算法_es msearch 召回_03

  • 欧几里德距离
  • es msearch 召回 es召回 推荐算法_结点_04

  • 曼哈顿距离;
  • es msearch 召回 es召回 推荐算法_结点_05

  • 切比雪夫距离;
  • es msearch 召回 es召回 推荐算法_相似性度量_06

  • 信息熵(非相似性度量):样本集X的信息熵
  • es msearch 召回 es召回 推荐算法_es msearch 召回_07

  • 信息熵越大表明样本集S分类越分散、
  • 基于链接:
    个性化PageRank。通过点击链接随机访问图中结点的行为 (随机行走模型)计算稳定状态下各结点得到的随机访问概率。保证随机行走中各结点的访问概率能够反映出用户的偏好