信息检索语言模型.pptx
《信息检索语言模型.pptx》由会员分享,可在线阅读,更多相关《信息检索语言模型.pptx(65页珍藏版)》请在冰豆网上搜索。
第12讲基于语言建模的IR模型LanguageModelsforIR,2017/10/17,提纲,上一讲回顾语言模型基于统计建模的IR模型SLMIR模型讨论,提纲,上一讲回顾语言模型基于统计建模的IR模型SLMIR模型讨论,概率检索模型,概率检索模型是通过概率的方法将查询和文档联系起来定义3个随机变量R、Q、D:
相关度R=0,1,查询Q=q1,q2,,文档D=d1,d2,,则可以通过计算条件概率P(R=1|Q=q,D=d)来度量文档和查询的相关度。
概率模型包括一系列模型,如LogisticRegression(回归)模型及最经典的二值独立概率模型BIM、BM25模型等等(还有贝叶斯网络模型)。
1998出现的基于统计语言建模的信息检索模型本质上也是概率模型的一种。
4,概率排序原理(PRP),简单地说:
如果文档按照与查询的相关概率大小返回,那么该返回结果是所有可能获得结果中效果最好的。
严格地说:
如果文档按照与查询的相关概率大小返回,而这些相关概率又能够基于已知数据进行尽可能精确的估计,那么该返回结果是所有基于已知数据获得的可能的结果中效果最好的。
5,几种概率检索模型,基于Logistic回归的检索模型经典的二值独立概率模型BIM经典的BM25模型(BestMatch25),6,Logistic回归IR模型,7,基本思想:
为了求Q和D相关的概率P(R=1|Q,D),通过定义多个特征函数fi(Q,D),认为P(R=1|Q,D)是这些函数的组合。
Cooper等人提出一种做法*:
定义log(P/(1-P)为多个特征函数的线性组合。
则P是一个Logistic函数,即:
*WilliamS.Cooper,FredricC.Gey,DanielP.Dabney,Probabilisticretrievalbasedonstagedlogisticregression,ProceedingsofACMSIGIR92,p.198-210,June21-24,1992,Copenhagen,Denmark,BIM模型(续),8,对每个Q定义排序(Ranking)函数RSV(Q,D):
其中,P(D|R=1)、P(D|R=0)分别表示在相关和不相关情况下生成D的概率。
Ranking函数显然是随着P(R=1|D)的增长而增长。
两种常用的文档生成的总体分布,多元贝努利分布(Multi-variateBernoullidistribution)词项词典大小为M,M个不规则硬币分别对应M个词项,第i个硬币朝上的概率为pi假设M=4(四个词项分别为Iyoucanfly),p1=0.7,p2=0.4,p3=0.1,p4=0.05则:
P(Icanflyfly)=0.7*(1-0.4)*0.1*0.05多元贝努利分布不考虑出现位置多元贝努利分布考虑出现和不出现,9,两种常用的文档生成的总体分布(续),多项式分布(Multinomialdistribution)词项大小为M,某个不规则骰子共有M个面,每个面对应一个词项(假设每次抛掷必有某个面稳定朝上或下),第i个面朝上的概率为pi假定M=4(四个词项分别为Iyoucanfly),p1=0.4,p2=0.3,p3=0.2,p4=0.1则:
P(Icanflyfly)=P(X1=1,X2=0,X3=1,X4=2)=C*0.4*0.2*0.1*0.1其中C=12多项式分布考虑词项的多次出现多项式分布不考虑词项的不出现多项式分布同样不考虑词项的出现位置和次序,10,BIM模型(续),11,将D看成,于是,注:
P(ti|R=1)表示在相关情况下,ti出现在文档中的概率(也就是说某个、或者某几个P(ti|R=1)可以为1),注意:
不是在相关文档集合中出现的概率,因此所有P(ti|R=1)的总和不为1。
这个可以和前面抛硬币的过程对照一下就明白了。
piqi参数的计算,12,相关Ri(100)不相关N-Ri(400),包含tini(200)不包含tiN-ni(300),引入平滑因子,其中,N、ni分别是总文档以及包含ti的文档数目。
Ri、ri分别是相关文档及相关文档中包含ti的文档数目。
括号中列举的数值是给出的一个总文档数目为500的计算例子。
则:
理想情况下,可以将整个文档集合根据是否和查询相关、是否包含ti分成如下四个子集合,每个集合的大小已知。
piqi参数的计算(续),由于真实情况下,对于每个查询,无法事先得到相关文档集和不相关文档集,所以无法使用理想情况下的公式计算,因此必须进行估计有多种估计方法初始检索:
第一次检索之前的估计基于检索结果:
根据上次检索的结果进行估计,13,piqi参数的计算(续),14,初始情况:
检索初始并没有相关和不相关文档集合,此时可以进行假设:
pi是常数,qi近似等于termi在所有文档集合中的分布(假定相关文档很少,Ri=ri=0),IDF,因此,BIM在初始假设情况下,其检索公式实际上相当于对所有同时出现在q和d中的term的IDF的求和,OkapiBM25:
一个非二值模型,15,本讲内容,(统计)语言模型基于统计语言建模的IR模型(基本)查询似然模型一些扩展的模型,提纲,上一讲回顾语言模型基于统计建模的IR模型SLMIR模型讨论,统计语言模型(StatisticalLanguageModeling,SLM),18,SLM广泛使用于语音识别和统计机器翻译领域,利用概率统计理论研究语言。
规则方法:
词、句、篇章的生成比如满足某些规则,不满足该规则就不应存在。
统计方法:
任何语言片断都有存在的可能,只是可能性大小不同对于一个文档片段d=w1w2wn,统计语言模型是指概率P(w1w2wn)求解,根据Bayes公式,有,历史(history),无历史,一元模型,最近一个历史,二元模型(Bigram),最近N-1个历史,N元模型(N-gram),类比:
打扑克中的出牌策略,只根据当前牌出牌,一元模型;根据上一轮牌出牌,二元模型;,不同模型的例子,20,一元模型(unigram):
二元模型(bigram):
一阶马尔科夫链三元模型(trigram):
对于n-gram,n越大,则模型越复杂,估计的参数(即估计的概率)也越多。
当然,当数据量足够大的情况下,模型阶数越高越对片段概率的计算也越准确。
课堂思考,设词典大小为M,试估计N元模型要估计的参数(概率)空间大小。
估计的参数数目为:
M+M2+MN=(MN+1-M)/(M-1)假定M=1000,N=4,则需要估计约1012=1万亿个参数,参数空间巨大!
21,SLM的一个应用例子,拼音输入法(以下例子中将字看成语言单位):
输入zhongguokexueyuan,到底是:
种过科雪园?
重果可薛原?
还是中国科学院?
一种利用SLM的解决思路:
计算P(种过科雪园)P(重果可薛原)P(中国科学院),看谁大!
(为简单起见,这里计算没有考虑拼音,实际上是计算P(种过科雪园|zhongguokexueyuan)一元模型(Unigram)*:
P(种过科雪园)=P(种)P(过)P(科)P(雪)P(园)P(重果可薛原)=P(重)P(果)P(可)P(薛)P(原)P(中国科学院)=P(中)P(国)P(科)P(学)P(院)训练:
在训练语料库中估计以上各P(X)的值课堂思考:
一元模型存在的问题?
22,SLM的一个应用例子(续),二元模型(Bigram):
P(中国科学院)=P(中)P(国|中)P(科|国)P(学|科)P(院|学),等价于一阶马尔科夫链(MarkovChain)三元模型(Trigram):
P(中国科学院)=P(中)P(国|中)P(科|中国)P(学|国科)P(院|科学)根据语料,估计所使用模型的参数,然后在搜索空间中搜索概率最大的语言片段。
23,以下经允许,借用了丁国栋博士的部分报告,SLM的参数估计,理论上说,在数据充足的情况下,利用更多的历史(高阶)的模型更准确,但是总计算量也越大数据规模总是有限的,即用于训练模型参数的语料存在稀疏性(DataSparseness,即某参数在训练语料中没有出现)问题。
如二元模型中,在训练语料中恰巧没有出现“国科”组合。
24,数据稀疏性,数据稀疏性导致零概率问题,上述稀疏性情况下,如果直接计算,那么P(中国科学院)=0,但是在训练集上不出现的事件并不代表在新的语料上不出现。
SLM的一个重要工作就是进行平滑(Smoothing):
重新分配概率,即使没出现的事件也会赋予一个概率。
26,另一个角度看语言模型,我们可以把一个有穷状态自动机(finitestateautomaton)看成一个确定性语言模型(deterministiclanguage)上述模型可以生成片段“IwishIwishIwishIwish.”但是不能生成片段“wishIwish”或“IwishI”如果上述自动机是带有概率的,则是概率语言模型(probabilisticLM,也称统计语言模型SLM),27,一个概率语言模型的例子,单状态概率有穷状态自动机一元语言模型状态发射概率分布如右表。
其中STOP不是词,而是表示自动机结束的一个标识符。
这样,概率P(frogsaidthattoadlikesfrogSTOP)=0.010.030.040.010.020.010.02=0.0000000000048,28,两个不同的语言模型,string=frogsaidthattoadlikesfrogSTOP则P(string|Md1)=0.010.030.040.010.020.010.02=0.0000000000048=4.810-12P(string|Md2)=0.010.030.050.020.020.010.02=0.0000000000120=1210-12P(string|Md1)P(string|Md2)因此,相对于d1,文档d2与字符串“frogsaidthattoadlikesfrogSTOP”更相关,统计语言建模IR模型(SLMIR),马萨诸塞大学(UniversityofMassachusetts,UMass)大学Ponte、Croft等人于1998年提出。
随后又发展了出了一系列基于SLM的模型。
代表系统Lemur。
查询似然模型:
把相关度看成是每篇文档对应的语言下生成该查询的可能性翻译模型:
假设查询经过某个噪声信道变形成某篇文章,则由文档还原成该查询的概率(翻译模型)可以视为相关度KL距离模型:
查询对应某种语言,每篇文档对应某种语言,查询语言和文档语言的KL距离作为相关度度量本讲义主要介绍查询似然模型,29,从一个问题开始,课堂思考题:
设有N个作者,每人都有一篇文章,对于不在上述N篇文章中的一篇新文档Q,请问最有可能是哪个作者写的?
一个解决思路:
根据每个作者写的文章,总结出每个作者的写作风格,然后再根据写作风格来判断Q与谁的风格最近。
30,和检索的类比,31,新文章Q,作者1的文章,作者2的文章,作者N的文章,.,查询Q,文档D,文档模型MD,总体分布&抽样,文档的模型(风格)实际上是某种总体分布文档和查询都是该总体分布下的一个抽样样本实例根据文档,估计文档的模型,即求出该总体分布(一般假设某种总体分布,然后求出其参数)然后计算该总体分布下抽样出查询的概率,查询似然模型(QueryLikelihoodModel),模型推导:
文档D的先验分布P(D)假定为均匀分布,则这一项可以去掉。
P(D)也可以采用某个与查询无关的量,如PageRank。
QLM中不考虑这一项。
33,查询似然模型QLM,QLM计算公式于是检索问题转化为估计文档D的一元语言模型MD,也即求所有词项w的概率P(w|MD),QLM概念理解,QLM中P(Q|D)本质上是P(Q|MD),不能把P(Q|D)称为文档D生成查询Q的概率文