随笔 - 89  文章 - 118  trackbacks - 0
<2015年3月>
22232425262728
1234567
891011121314
15161718192021
22232425262728
2930311234

留言簿(15)

随笔分类(56)

随笔档案(89)

文章分类

推荐博客

搜索

  •  

最新随笔

最新评论

阅读排行榜

检索模型与搜索排序
最重要的两个因素,用户查询与网页相关性,网页链接情况
检索模型:用户查询与网页相关性
布尔模型,向量空间模型,概率模型,语言模型,机器学习排序算法

布尔模型:数据基础是集合论,搜索结果过于粗糙,无法量化搜索词与文档之前的相关性

向量空间模型:把文档看做是由T维特征组成的一个向量,最常用的是以单词作为特征,实际应用中,文档的维度相当高(成千上万)
将查询和文档之间的内容相似性作为相关性的替代
计算相似性,使用COSINE,计算查询词特征权值与文档中每个特征权值向量的点积
特征权重:由词频Tf,逆文档频率IDF确定
词频TfWtf=a+(1-a)*Tf/Max(Tf)
a取0.4效果较好
逆文档频率因子:文档集合范围的一种全局因子,特征单词之间的相对重要性
有研究者进一步分析认为:IDF代表了单词带有的信息量的多少(熵),其值越高,说明其信息含量越多,越有价值
IDFk=log(N/nk)
N代表文档集合中总共有多少个文档,nk代表特征单词k在其中多少个文档中出现过
Weight_word=Tf*IDF,特征权值越大,越可能是好的指示词
查询词在某个文档中的词频越高,在其他文档中出现的词频越低,这个词的权值越高
向量空间模型是经验型的模型,靠直觉和经验不断摸索完善,缺乏明确的理论指导改进方向
概率排序原理:给定一个用户查询,如果搜索系统能够在搜索结果排序时按照文档和用户需求的相关性由高到低排序,那么这个搜索系统的准确性是最优的。
将P(D|R)/P(D|NR)大小进行降序排列,得到搜索相关性排序

二元独立模型

二元假设:一遍文档在由特征进行表示的时候,以特征“出现”和“不出现”两种情况来表示
词汇独立假:文档中出现任意一个词在文档的分布概率不依赖于其他单词是否出现

BMI模型:基于二元假设推导而出,对于单词特征,只考虑是否在文档中出现过,而了考虑单词的权值
P(D|R)/P(D|NR) = pi(1-si)/si(1-pi)
log( pi(1-si)/si(1-pi) )
pi代表第i个单词在相关文档集合内出现的概率,在二元假设下,可以用包含这个单词的相关文档个数ri除以相关文档总数R来估算,pi=ri/R
si代表第i个词在不相关文档集合内出现的概率,可以用包含这个单词的不相关文档个数ni-ri,除以不相关文档总数(N-R)来估算,si=(ni-ri)/(N-R)
加上平滑处理
log((ri+0.5)/(R-ri+0.5)
/
(ni-ri+0.5)/((N-R)-(ni-ri)+0.5))
其含义:对于同时出现在用户查询Q和文档D中的单词,累加每个单词的估值,其和就是文档D和查询相关性度量值

BM25模型
在BIM模型的基础上,考虑了单词在查询中的权值及单词在文档中的权值,拟合出综合上述考虑因素的公式,并通过引入一些经验参数
BM25模型是目前最成功的内容排序模型
http://hi.csdn.net/attachment/201011/30/0_12911307384w69.gif

k1,k2,K均为经验设置的参数,fi是词项在文档中的频率,qfi是词项在查询中的频率。

K1通常为1.2,通常为0-1000

K的形式较为复杂

K=http://hi.csdn.net/attachment/201011/30/0_1291130766F92C.gif 

上式中,dl表示文档的长度,avdl表示文档的平均长度,b通常取0.75
BM25F模型:是典型的BM25改进算法
将文档内容切换成不同的部分,为不同的部分赋予不同的权重
语言模型方法:借鉴语音识别领域采用的语言模型技术,将语言模型和信息检索相互融合
为每个文档建立一个语言模型,语言模型代表了单词或者单词序列在文档中的分布情况
对于查询中的单词来说,每个单词都对应一个抽取概率,将这些单词的抽取概率相乘就是文档生成查询的总体概率
一般采用数据平滑方式解决数据稀疏问题
用户提交查询Q,文档集合内所有文档都计算生成Q的概率,然后按照生成概率值由大到小排序,就是搜索结果
HMM,隐马尔科夫语言模型、相关模型、翻译模型是在基本语言模型的改进
语言模型检索方法效果略优于精调参数的向量空间模型,与BM25等概率模型效果相当
通过理论推导,可以得出:语言模型检索方法的排序公司符合概率模型的概率排序原理,类似向量空间模型Tf*IDF
机器学习排序
为何兴起较晚:
1、其他模型和方法,考虑的因素较少,人工进行公式拟合完全可行,效果尚可
2、机器学习需要大量训练数据,用户点击记录可以当做机器学习方法训练数据的一个替代品
机器学习排序系统的4个步骤
人工标注训练数据:用户点击记录来模拟人工打分机制
文档特征抽取:查询词在文档中的词频、查询词的IDF信息,网页入链数量,网页出链数量,网页PageRank值,网页URL长度,查询词的Proximity值(文档中多大的窗口内可以出现所有查询词)
学习分类函数
在实际搜索系统中采用机器学习模型
机器学习方法
1、单文档方法
对单独的一篇文档转换为特征向量,机器学习系统根据从训练数据中学习到的分类或回归函数对文档打分,打分结果为最后得分
在训练过程中,当打分大于一定的阈值,为相关文档,否则为不相关文档。
2、文档对方法
通过训练,对文档顺序关系是否合理进行判断,判断两个文档的得分
使用SVM,BOOST,神经网络,都可以做为学习方法
缺点,只考虑了两个文档对的相对先后顺序,却没有考虑文档出现的搜索列表中的位置
不同的查询,相关文档数量差异很大,对机器学习系统的效果造成评价困难
3、文档列表方法
将每个查询对应的所有搜索结果列表作为一个训练实例
通过搜索结果排列组合的概率分布,训练评分函数
搜索质量评价标准:对于搜索引擎更加关注精确率
精确率:本次搜索结果中相关文档所占本次搜索返回的所有文档的比例
招回率:本次搜索结果中相关文档占整个集合中所有相关文档的比例
P@10指标:在搜索结果排名最先前的头10个文档中有多大比例是相关的
MAP:AP兼顾了排在前列的相关性和系统招架率,MAP多组查询的AP平均值
posted on 2013-11-04 12:56 胡满超 阅读(321) 评论(0)  编辑 收藏 引用 所属分类: 搜索引擎

只有注册用户登录后才能发表评论。
【推荐】超50万行VC++源码: 大型组态工控、电力仿真CAD与GIS源码库
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理