|||
该命令为KL距离检索模型(KL-divergence)计算基于相关反馈文档的扩展查询模型和初始查询模型,可视为语言模型检索方法的一次反馈过程。初始查询模型可以在初始的查询文本基础上计算 (这时,initQuery参数未设置,或设置为空字符串),也可以在先前保存的查询模型基础上计算(这时,由initQuery参数给定查询模型)。扩展先前保存的查询模型使得迭代反馈成为可能。相关反馈可以在真实的相关性评价基础上,也可以在任何先前返回的查询结果基础上进行。
两点重要事项:
(1)目前Lemur中的所有相关反馈算法都假定相关性判断文件(judgment file)中的所有条目都是相关文档,因此需要去除所有已判为不相关的文档。然而判断状态记录在内部的判断表示中,因此可以在相关反馈算法中区分相关文档和不相关文档。
(2)用于相关反馈的相关性判断文件格式必须有三列,即去掉第二列后每一行包括查询id、文档id和评判值。该格式与查询结果文件格式一致。直接使用原始的四列格式也是一种选择,但是需要添加一个参数区分四列格式和三列格式的查询结果文件。
参数说明:
(1)index:索引库的索引内容列表文件的完整名。
(2)smoothSupportFile:平滑支撑文件的完整名(例如,由GenerateSmoothSupport生成的文件)
(3)textQuery:初始的查询文本
(4)initQuery:保存的初始查询模型文件。当这个参数设置为空字符串时,保存在这个文件中的模型会用于扩展;否则初始的查询文本则用于初始扩展查询模型。
(5)feedbackDocuments:用于相关反馈过程的文档文件。在伪相关反馈下,该文件可以是由初始检索过程产生的查询结果文件。在相关反馈下,该文件通过是一个3列的相关性判断文件。注意,这意味着不能直接使用TREC风格的相关性判断文件,必须从中去除第二列,将其转变为三列。
(6)resultFormat:相关反馈文件(feedbackDocuments给定)是TREC格式(6列),还是简单的三列格式<queryID, docID, score>。字符串值,trec表示TREC格式,3col表示三列格式。在以前的lemur版本,可以用整数值0表示非TREC格式,非0表示TREC格式。默认值为:TREC格式。
(7)expandedQuery:保存扩展查询模型的文件
(8)feedbackDocCount:用于伪相关反馈的文档数(0表示不使用相关反馈)
(9)queryUpdateMethod:相关反馈方法,取值:
混合模型:mixture、mix、0
最小距离模型:divmin、div、1
马尔可夫链模型:markovchain、mc、2
Relevance Model 1: relevancemodel1、rm1、3
Relevance Model 2: relevancemodel2、rm2、4
(10)方法相关的反馈参数:
对于所有的插值方法(新查询模型是初始模型和相关反馈模型,在反馈文档基础上的插值计算所得),将应用下面四个参数:
a) feedbackCoefficient:线性插值过程反馈模型的因子,取值在[0,1]之间,0表示只使用初始模型(即没有模型更新或反馈过程),1表示只使用反馈模型(即忽略初始模型);
b)feedbackTermCount:修正反馈模型,使其不超过给定数量的词项;
c) feedbackProbThresh:修正反馈模型,使其只包含概率值大于该阈值的词项,默认值为0.001;
d)feedbackProbSumThresh:修正反馈模型,直到所有包含词项的概率达到该阈值,默认值为1.
feedbackTermCount、feedbackProbThresh、feedbackProbSumThresh三个参数共同控制修正过程,也就是说修正后的模型需要满足这三个限制。
所有三个反馈模型都认参数feedbackMixtureNoise,默认值为0.5,但是插值过程不一样:
(1)对于文档库混合语言模型,feedbackMixtureNoise是混合模型中语料模型的选择概率。当反馈结果文档生成时,根据这一概率来从语料模型中选择词项。
(2)对于距离最小模型(KL距离),feedbackMixtureNoise指语料模型中的差别值权重。该值越高,评估模型与语料模型距离越大。
(3)对于马尔可夫链方法,feedbackMixtureNoise是不停止的概率,即1-alpha,alpha是游走链时的停止概率。
此外,文档库混合语言也需要emIterations参数,该参数是EM算法运行迭代的最大次数,默认值为50。如果log-likelihood快速聚敛,EM算法可以较早停止,聚敛通过一些硬编码标准来衡量。查看SimpleKLRetMethod.cpp源码获取细节。
使用实例:
用伪相关反馈去查询“case”在ohsumed索引库中的relevance model。
>GenerateQueryModel d:/index/genqm.txt
参数示例:
<parameters> <index>d:indexohsumed2</index> <textQuery>d:indexcaselmquery.txt</textQuery> <initQuery></initQuery> <feedbackDocuments>d:/index/queryresult.txt</feedbackDocuments> <resultFormat>0</resultFormat> <expandedQuery>d:indexcaselmexpand.txt</expandedQuery> <feedbackDocCount>500</feedbackDocCount> <queryUpdateMethod>rm1</queryUpdateMethod> <feedbackCoefficient>0.6</feedbackCoefficient> <feedbackTermCount>1000</feedbackTermCount> <feedbackProbThresh>0.0</feedbackProbThresh> <feedbackProbSumThresh>1.0</feedbackProbSumThresh> </parameters> |
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2024-11-23 05:46
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社