|||
来源网页:http://www.lemurproject.org/doxygen/lemur/html/RetEval.html
RetEval命令用于执行检索实验(无论包含还是不包含相关反馈),来评价不同的检索模型,以及不同参数设置下的模型。
“文档评分”,要么是在一个工作文档集合上进行(本质是重排),要么是在整个文档库上开展。这可以用参数“useWorkingSet”来进行设置。当“useWorkingSet”为非0值时,或者为true时,文档评分将会在一个工作文档集合上进行,并由“workingSetFile”参数指定包含该文档集合的文件。该文件格式必须是三栏格式。第一栏是查询ID,第二栏是文档ID,最后一栏是一个数值,可忽略。之所以使用三栏的数值格式,是因为在这种情况下任意由Lemur产生的简单格式的检索结果,都可以直接被当作用于重排的“workingSetFile”。这样一来,就相当方便。同时,三栏格式可以被用来为每个文档提供一个先验概率值,该值对某些算法比较有用。默认情况下,文档评分是针对整个文档库的。
该命令目前支持六种不同的模型:
(1)普通的TFIDF模型
(2)Okapi BM25检索模型
(3)基于KL距离语言模型的检索方法
(4)InQuery (CORI)检索模型
(5)余弦相似模型
(6)Indri结构化查询语言
指定选择模型的参数为retModel。合法参数值有:
· tfidf or 0 for TFIDF
· okapi or 1 for Okapi
· kl or 2 for Simple KL
· inquery or 3 for INQUERY
· cori_cs or 4 for CORI_CS
· cos or 5 for cosine similarity
· indri or 7 for INDRI
Okapi BM25检索功能的相关反馈实现似乎有一个bug,因为其表现并不像预期的那样。
针对所有的检索模型的其他常用参数有:
(1)index:索引文件
(2)textQuery:查询文本
(3)resultFile:结果文件
(4)resultFormat:格式文件格式。结果格式要么是TREC格式(6栏格式),要么是简单的3栏格式<queryID, docID, score>。字符串值,trec表示TREC格式,3col表示三列格式。在以前的lemur版本,可以用整数值0表示非TREC格式,非0表示TREC格式。默认值为:TREC格式。
(5)resultCount:查询返回结果集的文档数
(6)feedbackDocCount:用于伪相关反馈的文档数,0表示不使用伪相关反馈
(7)feedbackTermCount:相关反馈时添加到query上的词数。注意在KL-Div方法中,实际的词数受其他两个参数影响,将在下面继续讲解。
1、特定模型的参数
l 针对TFIDF
(1)feedbackPosCoeff:Rocchio相关反馈中正向词的系数。只实现了正向部分,即相关部分,忽略了非相关部分。
(2)doc.tfMethod:文档的词TF加权方法,可以是
§ 0 or rawtf for RawTF
§ 1 or logtf for log-TF
§ 2 or bm25 for BM25TF
(3)doc.bm25K1:文档词的BM25中k1的值
(4)doc.bm25B:文档词的BM25中b的值
(5)query.tfMethod:查询词TF加权方法,其值与doc.tfMethod一样。
(6)query.bm25K1:查询词的BM25中k1的值,bm25B被设置为0。
l 针对Okapi
(1)BM25K1 : BM25 K1
(2)BM25B : BM25 B
(3)BM25K3: BM25 K3
(4)BM25QTF:相关反馈中扩展词的TF值,关于Okapi系统的原始论文 没有讲清楚该值的设置,因此实现时将其作为一个参数
l 针对INQUERY
(1)TF_factor
(2)TF_baseline
(3)collCounts:值“USE_INDEX_COUNTS”表示在没有附加文档库统计文件时,使用索引中的统计值。对由collSell命令构建的文档库索引来讲,该文件是自动生成的。
l 针对余弦相似度方法
(1)feedbackPosCoeff:如TFIDF模型中一样,表示Rocchio相关反馈中正向词的系数
(2)L2File:预计算的L2 Norms文件,由GenL2Norm命令生成。
l 针对KL距离方法
(1)smoothSupportFile:平滑支持文件名,由GenerateSmoothSupport生成
(2)smoothMethod:平滑方法,以下四个值之一:
o Jelinek-Mercer:jelinikmercer、jm或者0
o Dirichlet先验值:dirichletprior、dir或者1
o 绝对折合方式(Absolute discounting):absolutediscount、ad或者2
o 两阶段方式(two stage):twostage、2s或者3
(3)smoothStrategy(平滑策略):插值方式(值为interpolate 、0)或者退避法(值为backoff、1)
(4)adjustedScoreMethod(文档得分调节方法):指明输出哪种格式的分数,值为以下之一:
o query likelihood:"querylikelihood"、"ql"
o 交叉熵:"crossentropy"、"ce"
o 负KL距离:"negativekld"或"-d"
(5)JelinekMercerLambda:JM插值法中的文档集模型(Collection Model)权重,默认值为0.5
(6)DirichletPrior:Dirichlet先验平滑方法的先验参数值,默认为1000
(7)discountDelta:绝对折合方式中折合常量delta的值,默认为0.7
(8)queryUpdateMethod:
§ 相关反馈方法,取值为mixture or mix or 0 for mixture.
§ divmin or div or 1 for div min
§ markovchain or mc or 2 for markov chain
§ relevancemodel1 or rm1 or 3 for relevance model 1.
§ relevancemodel2 or rm2 or 4 for relevance model 2.
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2024-11-23 13:35
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社