搜索算法
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),再平均起来,
- NDCG:需要计算Gain,这个gain即是每条结果的质量的定义,NDCG把所有结果相加最终相加保证,整体质量越高的列表NDCG值越大。同时,Discounted的设计使得越靠前的结果权重越大,这保证了第一条,更相关的排在靠前的结果会有更大的NDCG值。从这两点看,以NDCG为优化目标,保证了搜索引擎在返回结果总体质量好的情况下,把更高质量结果排在更前面。
- 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
协同过滤: - 基于用户:根据用户对物品的评分发现当前用户的邻居用户 基于邻居用户的喜好推荐
- 基于物品:根据所有用户对物品的评分发现物品之间的相似度 推荐相似的物品
相似性度量:
- 基于特征:
余弦相似性; - 欧几里德距离
- 曼哈顿距离;
- 切比雪夫距离;
- 信息熵(非相似性度量):样本集X的信息熵
- 信息熵越大表明样本集S分类越分散、
- 基于链接:
个性化PageRank。通过点击链接随机访问图中结点的行为 (随机行走模型)计算稳定状态下各结点得到的随机访问概率。保证随机行走中各结点的访问概率能够反映出用户的偏好