《信息检索11-语言模型.ppt》由会员分享,可在线阅读,更多相关《信息检索11-语言模型.ppt(65页珍藏版)》请在三一办公上搜索。
1、第12讲 基于语言建模的IR模型Language Models for IR,2017/10/17,提纲,上一讲回顾 语言模型 基于统计建模的IR模型 SLMIR模型讨论,提纲,上一讲回顾 语言模型 基于统计建模的IR模型 SLMIR模型讨论,4,概率检索模型,概率检索模型是通过概率的方法将查询和文档联系起来定义3个随机变量R、Q、D:相关度R=0,1,查询Q=q1,q2,,文档D=d1,d2,,则可以通过计算条件概率P(R=1|Q=q,D=d)来度量文档和查询的相关度。概率模型包括一系列模型,如Logistic Regression(回归)模型及最经典的二值独立概率模型BIM、BM25模型等
2、等(还有贝叶斯网络模型)。1998出现的基于统计语言建模的信息检索模型本质上也是概率模型的一种。,5,概率排序原理(PRP),简单地说:如果文档按照与查询的相关概率大小返回,那么该返回结果是所有可能获得结果中效果最好的。严格地说:如果文档按照与查询的相关概率大小返回,而这些相关概率又能够基于已知数据进行尽可能精确的估计,那么该返回结果是所有基于已知数据获得的可能的结果中效果最好的。,6,几种概率检索模型,基于Logistic回归的检索模型经典的二值独立概率模型BIM经典的BM25模型(BestMatch25),7,Logistic 回归IR模型,基本思想:为了求Q和D相关的概率P(R=1|Q,
3、D),通过定义多个特征函数fi(Q,D),认为P(R=1|Q,D)是这些函数的组合。Cooper等人提出一种做法*:定义log(P/(1-P)为多个特征函数的线性组合。则P是一个Logistic函数,即:,*William S.Cooper,Fredric C.Gey,Daniel P.Dabney,Probabilistic retrieval based on staged logistic regression,Proceedings of ACM SIGIR92,p.198-210,June 21-24,1992,Copenhagen,Denmark,8,BIM模型(续),对每个Q定义
4、排序(Ranking)函数RSV(Q,D):其中,P(D|R=1)、P(D|R=0)分别表示在相关和不相关情况下生成D的概率。Ranking函数显然是随着P(R=1|D)的增长而增长。,9,两种常用的文档生成的总体分布,多元贝努利分布(Multi-variate Bernoulli distribution)词项词典大小为M,M个不规则硬币分别对应M个词项,第i个硬币朝上的概率为pi假设M=4(四个词项分别为 I you can fly),p1=0.7,p2=0.4,p3=0.1,p4=0.05则:P(I can fly fly)=0.7*(1-0.4)*0.1*0.05多元贝努利分布不考虑出
5、现位置多元贝努利分布考虑出现和不出现,10,两种常用的文档生成的总体分布(续),多项式分布(Multinomial distribution)词项大小为M,某个不规则骰子共有M个面,每个面对应一个词项(假设每次抛掷必有某个面稳定朝上或下),第i个面朝上的概率为pi假定M=4(四个词项分别为 I you can fly),p1=0.4,p2=0.3,p3=0.2,p4=0.1则:P(I can fly fly)=P(X1=1,X2=0,X3=1,X4=2)=C*0.4*0.2*0.1*0.1其中C=12多项式分布考虑词项的多次出现多项式分布不考虑词项的不出现多项式分布同样不考虑词项的出现位置和次
6、序,11,BIM模型(续),将D看成,于是,注:P(ti|R=1)表示在相关情况下,ti出现在文档中的概率(也就是说某个、或者某几个P(ti|R=1)可以为1),注意:不是在相关文档集合中出现的概率,因此所有P(ti|R=1)的总和不为1。这个可以和前面抛硬币的过程对照一下就明白了。,12,pi qi参数的计算,相关 Ri(100)不相关 N-Ri(400),包含ti ni(200)不包含ti N-ni(300),引入平滑因子,其中,N、ni分别是总文档以及包含ti的文档数目。Ri、ri分别是相关文档及相关文档中包含ti的文档数目。括号中列举的数值是给出的一个总文档数目为500的计算例子。则:
7、,理想情况下,可以将整个文档集合根据是否和查询相关、是否包含ti分成如下四个子集合,每个集合的大小已知。,13,pi qi参数的计算(续),由于真实情况下,对于每个查询,无法事先得到相关文档集和不相关文档集,所以无法使用理想情况下的公式计算,因此必须进行估计有多种估计方法初始检索:第一次检索之前的估计基于检索结果:根据上次检索的结果进行估计,14,pi qi参数的计算(续),初始情况:检索初始并没有相关和不相关文档集合,此时可以进行假设:pi是常数,qi近似等于term i在所有文档集合中的分布(假定相关文档很少,Ri=ri=0),IDF,因此,BIM在初始假设情况下,其检索公式实际上相当于对
8、所有同时出现在q和d中的term的IDF的求和,15,Okapi BM25:一个非二值模型,本讲内容,(统计)语言模型基于统计语言建模的IR模型(基本)查询似然模型一些扩展的模型,提纲,上一讲回顾 语言模型 基于统计建模的IR模型 SLMIR模型讨论,18,统计语言模型(Statistical Language Modeling,SLM),SLM广泛使用于语音识别和统计机器翻译领域,利用概率统计理论研究语言。规则方法:词、句、篇章的生成比如满足某些规则,不满足该规则就不应存在。统计方法:任何语言片断都有存在的可能,只是可能性大小不同对于一个文档片段d=w1w2wn,统计语言模型是指概率P(w1
9、w2wn)求解,根据Bayes公式,有,历史(history),无历史,一元模型,最近一个历史,二元模型(Bigram),最近N-1个历史,N元模型(N-gram),类比:打扑克中的出牌策略,只根据当前牌出牌,一元模型;根据上一轮牌出牌,二元模型;,20,不同模型的例子,一元模型(unigram):二元模型(bigram):一阶马尔科夫链三元模型(trigram):对于n-gram,n越大,则模型越复杂,估计的参数(即估计的概率)也越多。当然,当数据量足够大的情况下,模型阶数越高越对片段概率的计算也越准确。,21,课堂思考,设词典大小为M,试估计N元模型要估计的参数(概率)空间大小。估计的参数
10、数目为:M+M2+MN=(MN+1-M)/(M-1)假定M=1000,N=4,则需要估计约1012=1万亿个参数,参数空间巨大!,22,SLM的一个应用例子,拼音输入法(以下例子中将字看成语言单位):输入zhong guo ke xue yuan,到底是:种过科雪园?重果可薛原?还是 中国科学院?一种利用SLM的解决思路:计算 P(种过科雪园)P(重果可薛原)P(中国科学院),看谁大!(为简单起见,这里计算没有考虑拼音,实际上是计算 P(种过科雪园|zhong guo ke xue yuan)一元模型(Unigram)*:P(种过科雪园)=P(种)P(过)P(科)P(雪)P(园)P(重果可薛原
11、)=P(重)P(果)P(可)P(薛)P(原)P(中国科学院)=P(中)P(国)P(科)P(学)P(院)训练:在训练语料库中估计以上各 P(X)的值课堂思考:一元模型存在的问题?,23,SLM的一个应用例子(续),二元模型(Bigram):P(中国科学院)=P(中)P(国|中)P(科|国)P(学|科)P(院|学),等价于一阶马尔科夫链(Markov Chain)三元模型(Trigram):P(中国科学院)=P(中)P(国|中)P(科|中国)P(学|国科)P(院|科学)根据语料,估计所使用模型的参数,然后在搜索空间中搜索概率最大的语言片段。,以下经允许,借用了丁国栋博士的部分报告,24,SLM的参
12、数估计,理论上说,在数据充足的情况下,利用更多的历史(高阶)的模型更准确,但是总计算量也越大数据规模总是有限的,即用于训练模型参数的语料存在稀疏性(Data Sparseness,即某参数在训练语料中没有出现)问题。如二元模型中,在训练语料中恰巧没有出现“国科”组合。,数据稀疏性,数据稀疏性导致零概率问题,上述稀疏性情况下,如果直接计算,那么P(中国科学院)=0,但是在训练集上不出现的事件并不代表在新的语料上不出现。SLM的一个重要工作就是进行平滑(Smoothing):重新分配概率,即使没出现的事件也会赋予一个概率。,26,另一个角度看语言模型,我们可以把一个有穷状态自动机(finite s
13、tate automaton)看成一个确定性语言模型(deterministic language)上述模型可以生成片段“I wish I wish I wish I wish.”但是不能生成片段“wish I wish”或“I wish I”如果上述自动机是带有概率的,则是概率语言模型(probabilistic LM,也称统计语言模型SLM),27,一个概率语言模型的例子,单状态概率有穷状态自动机一元语言模型状态发射概率分布如右表。其中STOP不是词,而是表示自动机结束的一个标识符。这样,概率 P(frog said that toad likes frog STOP)=0.01 0.03
14、 0.04 0.01 0.02 0.01 0.02=0.0000000000048,28,两个不同的语言模型,string=frog said that toad likes frog STOP 则 P(string|Md1)=0.01 0.03 0.04 0.01 0.02 0.01 0.02=0.0000000000048=4.8 10-12P(string|Md2)=0.01 0.03 0.05 0.02 0.02 0.01 0.02=0.0000000000120=12 10-12 P(string|Md1)P(string|Md2)因此,相对于d1,文档 d2 与字符串“frog s
15、aid that toad likes frog STOP”更相关,29,统计语言建模IR模型(SLMIR),马萨诸塞大学(University of Massachusetts,UMass)大学Ponte、Croft等人于1998年提出。随后又发展了出了一系列基于SLM的模型。代表系统Lemur。查询似然模型:把相关度看成是每篇文档对应的语言下生成该查询的可能性翻译模型:假设查询经过某个噪声信道变形成某篇文章,则由文档还原成该查询的概率(翻译模型)可以视为相关度KL距离模型:查询对应某种语言,每篇文档对应某种语言,查询语言和文档语言的KL距离作为相关度度量本讲义主要介绍查询似然模型,30,从
16、一个问题开始,课堂思考题:设有N个作者,每人都有一篇文章,对于不在上述N篇文章中的一篇新文档Q,请问最有可能是哪个作者写的?一个解决思路:根据每个作者写的文章,总结出每个作者的写作风格,然后再根据写作风格来判断Q与谁的风格最近。,31,和检索的类比,新文章Q,作者1的文章,作者2的文章,作者N的文章,.,查询Q,文档D,文档模型MD,总体分布&抽样,文档的模型(风格)实际上是某种总体分布文档和查询都是该总体分布下的一个抽样样本实例根据文档,估计文档的模型,即求出该总体分布(一般假设某种总体分布,然后求出其参数)然后计算该总体分布下抽样出查询的概率,33,查询似然模型(Query Likelih
17、ood Model),模型推导:文档D的先验分布P(D)假定为均匀分布,则这一项可以去掉。P(D)也可以采用某个与查询无关的量,如PageRank。QLM中不考虑这一项。,查询似然模型QLM,QLM计算公式于是检索问题转化为估计文档D的一元语言模型MD,也即求所有词项 w的概率P(w|MD),35,QLM概念理解,QLM中P(Q|D)本质上是P(Q|MD),不能把P(Q|D)称为文档D生成查询Q的概率文档D和Q都是某个总体分布的样本(实例),样本(实例)是不会产生样本(实例)的样本是不会再生成其他东西的,样本只能用来推断总体的某些信息,比如总体的某些未知参数(通过一篇文章来推断作者的风格)同样
18、,不能把P(w|MD)或P(w|D)理解为“w在文档D中的概率”,36,QLM求解步骤,第一步:根据文档D(样本),估计文档模型MD(总体),在一元模型下,即计算所有词项 w的概率P(w|MD)第二步:计算在模型MD下生成查询Q的似然(即概率)第三步:按照得分对所有文档排序,37,MD的估计,问题:已知样本D,求其模型MD的参数P(w|MD)。对于该参数估计问题,可以采用最大似然估计(Maximum Likelihood Estimation,MLE)。MLE:使得观察样本出现概率(似然)最大的估计。一射击世界冠军和一菜鸟打靶,其中一人放一枪得到10环,请问是谁打的?显然世界冠军打的可能性大,
19、也就是说这是使得10环这个事件出现概率最大的估计。,38,MD的MLE估计,设词项词典的大小为L,则模型MD的参数可以记为:MLE估计:关键是如何求,也就是说假设这些参数已知的情况下,如何求上述概率。,39,总体分布MD的假设,两种文本生成模型:多元贝努利模型(概率模型BIM中使用):D是抛L个(L是词项词典的大小)不同的硬币生成的,每个硬币对应一个词项,统计所有向上的硬币对应的词项便生成文本D。多元贝努利模型中的参数是每个硬币朝上的概率,共有个。多项式模型:D是抛1个L面的骰子抛|D|次生成的,将每次朝上的那面对应的词项集合起来便生成文本D。QLM在1998年提出时采用的是多元贝努利模型,后
20、来才有人用多项式模型并发现多项式模型通常优于贝努利模型。所以后来介绍QLM时大都用多项式模型。,40,文本生成的多项式模型,有一个L个面的不规则骰子,在第i个面上写着wi,,文档D=d1d2dn可以认为是抛n次骰子得到的检索过程就是根据观察样本D的估计Q的生成概率,即在已知抛n次的结果为文档D的条件下,抛m次的结果为查询Q的概率P(Q|MD)=?D=(c(w1,D),c(w2,D),c(wL,D),c(wi,D)是文档D中wi的出现次数D=我 喜欢 基于 统计 语言 模型 的 信息 检索 模型D=(,),41,多项随机试验,多项(Multinomial)随机试验是二项随机试验(贝努利试验)的扩
21、展,一篇文档D可以看成多项随机试验的结果多项随机试验由n次相互独立的子试验组成每个子试验含有L个互斥且完备的可能结果w1,w2,wL。如果L=2则是n重贝努利试验,对应二项分布B(n,p):P(X=k)=每个子试验中wi发生的概率不变,记为,42,多项随机试验(续),设随机变量X1,X2,XL用于记录n次子试验中w1,w2,wL的发生次数,实际记录值为x1,x2,xL,x1+x2+xL=n,如果某个wi不出现,则对应的xi=0则该多项随机试验中w1,w2,wL发生次数的联合分布是一个多项式分布:,43,MD的参数求解,求解条件极值问题,采用拉格朗日法求解,得到拉格朗日函数:对每个i求偏导,令其
22、为0,解得:,一个MLE估计的例子,D=(,)采用MLE估计有:P(我|MD)=P(喜欢|MD)=P(基于|MD)=P(统计|MD)=P(语言|MD)=P(的|MD)=P(信息|MD)=P(检索|MD)=0.1 P(模型|MD)=0.2 其他词项的概率为0,45,MLE估计的零概率问题,对于任意不属于D的词项,其概率的MLE估计值为0(数据的稀疏性)。然而,样本D中不出现的词,并不代表在新文本中不出现。类比:作者写的一篇文章里面不用某个词,并不代表以后不用这个词,46,MLE估计零概率的一个例子,一个不规则的骰子,分别用1-6之间的6个数字代表每个面。假设连续抛10次后,观测到的结果序列为21
23、32461232(一篇文档)。问:抛3次的结果序列为325(一个查询)的概率是多大?,47,例子(续),其实就是求:在已知抛10次的观测结果为2132461232的条件下,抛3次的观测结果为325的概率P(325|2132461232).用pi表示第i个面朝上的概率,则pi是一个常数若已知pi(1=i=6),则显然抛3次的观测结果为325的概率为p3p2p5但是每个pi未知,已知的只是抛10次的观测结果2132461232。需要由观测结果2132461232去估计各个pi(1=i=6)。,48,例子中的MLE估计,抛骰子的例子中:P(325|2132461232)?估计pi,i=1,2,.,6
24、使用最大似然估计,根据样本2132461232估计pip1=2/10,p2=4/10,p3=2/10,p4=1/10,p5=0/10,p6=1/10显然,5没有出现在样本中,不能说明该骰子第5面永远不会朝上。更严重的是,P(325|2132461232)p3p2p5=0!因此,上述的估计结果需要调整,使所有pi0。思想:从p1,p2,p3,p4的估计值中扣出一点点给p5最简单的方法:Add-One p1=3/16,p2=5/16,p3=3/16,p4=2/16,p5=1/16,p6=2/16从上述例子总结出以下几点:(1)因样本的数据稀疏性,最大似然估计(MLE)导致零概率问题(2)必须设法调
25、整MLE使得所有事件的概率都大于0 平滑(smoothing),49,数据平滑的一般形式,在IR中,一般取p(w|C)等于w出现的次数除以所有词出现的次数。,Discounted(折扣后的)Maximum Likelihood,Reference Language Model,Collection Language Model,归一化系数,50,几种QLM中常用的平滑方法,Jelinek-Mercer(JM),01,文档模型和文档集模型的混合课堂提问,对于wD,折扣后的PDML(w|D)是不是一定小于PML(w|D)?Dirichlet Priors(Dir),0,DIR和JM可以互相转化Ab
26、solute Discounting(Abs),01,|D|u表示D中不相同的词个数(u=unique),51,QLM的求解过程图示,D1,D2,DN,先计算PML,然后采用平滑公式计算PMLPDML,52,文档排名函数的转换,将 代入最终排名函数:,不影响排名,查询中w的总次数,TF,DF,长度,53,QLM模型小结,检索问题,一元模型估计,MLE估计,平滑技术,多项式分布假设,54,基本SLMIR模型的扩展,查询似然类:文档建模,计算查询的似然,例子-基本QLM模型、翻译模型等文档似然类:查询建模,计算文档的似然,例子-BIM模型、相关性模型(Relevance模型)等模型比较类:文档建模
27、、查询建模,计算两个模型的距离,KL距离模型,55,其它SLMIR模型,翻译模型(Translation Model)KL距离模型(KL Divergence Model),56,香农(Shannon)信道,源信息,发送器(编码器),目标信息,接收器(解码器),噪声信道,P(X),P(Y|X),X,Y,X,P(X|Y)=?,当X是文本时,p(X)就是一个语言模型,一些例子:语音识别:X=词序列 Y=语音信号机器翻译(中-英):X=英文句子 Y=中文句子OCR:X=纠错后的词 Y=错误的词语文档摘要:X=摘要 Y=文档信息检索:X=文档 Y=查询,57,基于翻译模型的IR模型,基本的QLM模型不
28、能解决词语失配(word mismatch)问题,即查询中的用词和文档中的用词不一致,如:电脑 vs.计算机假设Q通过一个有噪声的香农信道变成D,从D估计原始的Q翻译概率P(qi|wj)在计算时可以将词项之间的关系融入。基于词典来计算(人工或者自动构造的同义词/近义词/翻译词典)基于语料库来计算(标题、摘要 vs.文本;文档锚文本 vs.文档),翻译概率,生成概率,58,KL距离(相对熵)模型,对同一Q,为常数,负的交叉熵,多项分布,59,统计语言建模IR模型优缺点,优点:理论上具有解释性,有扩展空间有些模型虽然计算上仍然依赖于term独立性假设,但是模型本身并不依赖于term独立性假设。缺点
29、:数据稀疏性,需要参数估计,提纲,上一讲回顾 语言模型 基于统计建模的IR模型 SLMIR模型讨论,61,SLMIR vs.VSM(1),SLMIR中有一些东西和VSM一样词项频率直接在模型中使用但是在SLMIR中没有进行放缩变化(scaled)本质上概率表示已经进行了长度归一化VSM中的余弦归一化也做了类似工作文档频率和文档集频率混合以后和idf的效果相当那些文档集中比较罕见,但是某些文档中比较普遍的词项将对排序起更重要的影响。,62,SLMIR vs.VSM(2),SLMIR vs.VSM:共性模型中都直接使用了词项频率本质上概率表示已经进行了长度归一化文档频率和文档集频率混合以后和idf
30、的效果相当 SLMIR vs.VSM:不同SLMIR:基于概率论VSM:基于相似度,一个线性代数中的概念文档集频率 vs.文档概率词项频率、归一化等计算细节,63,基于统计建模的IR模型:假设,简化假设:查询和文档是同一类对象,与实际并不相符!已经出现了一些不采用上述假设的SLMIR模型VSM也基于同一假设简化假设:词项之间是独立的同样,VSM中也采用了词项独立性假设比向量空间中的假设表述更清晰因此,比VSM具有更好的理论基础 但是纯语言模型的效果会大大低于经过精心调参的向量模型的效果。,64,参考资料,信息检索导论第12章Ponte and Crofts 1998 SIGIR paper(one of the first on LMs in IR)Lemur toolkit(能够很好地支持语言模型)ChengXiang Zhai.Statistical Language Models For Information Retrieval,一本综述书籍,课后练习,待定,