1、目录概述语言模型数据平滑模型评价主要统计语言模型信源信道模型噪声信道模型模型:出错的概率举例:p(0|1)=0.3,p(1|1)=0.7,p(1|0)=0.4,p(0|0)=0.6任务是:已知带有噪声的输出想知道输入是什么(也称为:Decoding)信源信道模型信源模型以概率 生成输入信号。信道模型信道以概率分布 将输入信号转换成输出信号。信源信道模型已知输出,求解最可能的输入。该任务的数学描述是:)()|(maxarg)()()|(maxarg)|(maxargIPIOPOPIPIOPOIPIIII)/(IOP)(IP信源信道模型的应用信源信道模型是一种常用模型,具有广泛应用。可根据实际问题
2、,定义信源信道模型的I/O。例如:语音识别:输入:文本 输出:语音。文字识别:输入:文本 输出:图像。机器翻译:输入:目标语言句子 输出:源语言句子。音字转换:输入:文本 输出:拼音。例子:微软拼音输入法:任务:将用户输入的拼音流转换成文本句子。信源信道模型的I/O定义:输入:文本 输出:拼音。微软拼音输入法的音字转换程序:语言模型:计算文本句子的概率 。)()|(maxarg)()()|(maxarg)|(maxarg文本文本拼音拼音文本文本拼音拼音文本文本文本文本文本PPPPPP)(文本P语言模型什么是语言模型(Language Model)一个概率模型,用来估计语言句子出现的概率。)|(
3、)|()()()(12112121mmmwwwwPwwPwPwwwSPSP完美的语言模型对于词序列如何计算?根据链式规则:即使对于很小的m,上面的理想公式也很难计算,因为参数太多。)|()|()()()(12112121mmmwwwwPwwPwPwwwSPSPmwwwS21)(SP例子),|(),|(),|()|()(),()(个一是我学生一是我个是我一我是我学生个一是我我是一个学生pppppppMarkov链有限的记忆能力不考虑太“旧”的历史只记住前n-1个词,称为n-1阶Markov链近似miiniimwwPwwwSPSP11121)|()()(例子(Bigram,Trigram))|()
4、|()|()|()(),()(个学生一个是一我是我学生个一是我我是一个学生ppppppp),|(),|(),|()|()(),()(个一学生一是个是我一我是我学生个一是我我是一个学生pppppppN-gram模型N-gram模型:相当于n-1阶Markov链。“n-gram”=n个词构成的序列,Unigramn=1;bigramn=2;trigram n=3;模型结构模型:由一组模型参数组成。每个N-gram模型参数:n-gram及其频度信息,形式为:或 这里:模型作用:计算概率。模型训练:在训练语料库中统计获得n-gram的频度信息).(),.(2121nnwwwcwww).().().|(
5、12121121nnnnwwwcwwwcwwwwPnwww.21)(,gramnfgramn数。在训练语料库中出现次为)(C参数训练系统 语料 库 分词 语料 参数 估计 语言 模型 分词 系统 词表 N的选择:可靠性的选择:可靠性 vs.辨别力辨别力“我正在 _”讲课?图书馆?听课?学习?借书?“我正在 图书馆 _”学习?借书?可靠性可靠性 vs.辨别力辨别力更大的 n:对下一个词出现的约束性信息更多,更大的辨别力更小的n:在训练语料库中出现的次数更多,更可靠的统计结果,更高的可靠性 可靠性和可区别性成反比,需要折中。N的选择的选择词表中词的个数词表中词的个数|V|=20,000 词词n所有
6、可能的所有可能的n-gram的个数的个数2(bigrams)400,000,0003(trigrams)8,000,000,000,0004(4-grams)1.6 x 1017小结符号串:词 在句子中的上下文(context)或历史(history)语言模型:描述语言句子的概率分布P(S)句子概率的计算上下文历史太长,无法计算miimiiimhwpwwpwSPSP11111)|()|()()(12111iiwwwwhmnndefmnwwww1iwN-gram模型:有限历史假设:词 的出现,仅与其前n-1个词相关。句子概率计算:模型:模型参数的集合模型参数:举例n=1 Unigramn=2 B
7、igramn=3 Trigram 11iniwh)(,iiwcwiwmiiniimiimwwphwpwSP11111)|()|()()(,gramncgramn),(),(kjikjiwwwcwww),(),(jijiwwcww采用N-gram模型计算句子概率n=1 Unigramn=2 Bigramn=3 TrigrammiiniimwwpwSP1111)|()(miimwpwSP11)()(miiimwwpwSP111)|()(miiiimwwwpwSP1121),|()(N-gram模型应用-音字转换给定拼音串:ta shi yan jiu sheng wu de可能的汉字串踏实研究生物
8、的他实验救生物的他使烟酒生物的他是研究生物的 音字转换计算公式)(maxarg)()|(maxarg)()()|(maxarg)|(maxarg文本文本文本拼音拼音文本文本拼音拼音文本文本文本文本文本文本PPPPPPP可能的转换结果,分词结果踏实研究生物的:踏实/研究/生物/的他实验救生物的:他/实验/救生/物/的他使烟酒生物的:他/使/烟酒/生物/的他是研究生物的:他/是/研究/生物/的 如果使用Bigram计算:P(踏实研究生物的)=P(踏实)P(研究|踏实)P(生物|研究)P(的|生物)P(他实验救生物的)=P(他)P(实验|他)P(救生|实验)P(物|救生)P(的|物)P(他是研究生物
9、的)=P(他)P(是|他)P(研究|是)P(生物|研究)P(的|生物)选择概率最大的句子,作为转换结果N-gram模型应用-中文分词给定汉字串:他是研究生物的。可能的分词结果:1)他|是|研究生|物|的2)他|是|研究|生物|的统计分词计算公式 采用Bigram计算P(他/是/研究生/物/的)=P(他)P(是|他)P(研究生|是)P(物|研究生)P(的|物)P(的)P(他/是/研究/生物/的)=P(他)P(是|他)P(研究|是)P(生物|研究)P(的|生物)P(的)miiimmwwPwwwPwwwPSegP112121)|(),()/(模型参数估计模型训练两个概念训练语料:用于建立模型的给定语
10、料。最大似然估计:用相对频率计算概率的方法。模型参数估计模型训练零概率问题大量的低频词,无论训练数据的规模如何扩大,其出现频度仍旧很低甚至根本不出现。如果采用MLE估算它们的概率分布,将出现大量的 ,从而导致 的情况,这种情况大大削弱了该模型的描述能力。0)|(1iiwwp0)(sp例子假设我们使用Trigram模型如果某个那么P(S)=0这就是数据稀疏问题(零概率问题)必须保证 从而使)|().|()|()()(12213121nnnwwwpwwwpwwpwpSP0)()()|(121212iiiiiiiiwwcwwwcwwwp0c0P加1平滑UnigramBigramiiwiiwiiiad
11、dwcVwcwcwcwp)(|1)(1)(1)()(iiwiiiiwiiiiiiaddwwcVwwcwwcwwcwwp),(|1),(1),(1),()|(111112、Good-Turing估计对于N-gram模型中出现r次的N元对iniw1,根据Good-Turing估计公式,该N元对的出现次数为*r:rrnnrr1*)1(,其中,rn表示 N-gram 的训练集中实际出现r次的N元对的个数。那么,对于N-gram中出现次数为 r的N元对iniw1的出现概率为:0*1)(riniGTrrwp。rn不能为零,本身需要平滑。Good-Turing估计公式中缺乏利用低元模型对高元模型进行插值的思
12、想,它通常不单独使用,而作为其他平滑算法中的一个计算工具。3、线性插值平滑(Linear Interpolation)利用低元 N-gram 模型对高元 N-gram 模型进行线性插值。平滑公式:)|()1()|()|(12int1111int1111iniierpwiniiMLwiniierpwwpwwpwwpiniini N-gram 模型可以递归地定义为由最大似然估计原则得到的 N-gram 模型和(N-1)-gram 模型的线性插值。为了结束以上的递归定义:可以令 Unigram模型为最大似然估计模型,或者令 0-gram 模型为一个均匀分布模型|1)(Vwpio阶。插值系数11ini
13、w,可以采用 Baum-Welch 算法估计出来,也可根据经验人工给出。例子-Bigram的线性插值)()1()|()|(int11intierpiiMLiierpwpwwpwwp4、回退式数据平滑(Backing-off)当一个 N 元对iniw1的出现次数)(1iniwc足够大时,)|(11iniiMLwwp是 iniw1可靠的概率估计。而当)(1iniwc不是足够大时,采用 Good-Turing 估计对其平滑,将其部分概率折扣给未出现的 N 元对。当)(1iniwc=0 时,模型回退到低元模型,按着)|(12iniikatzwwp比例来分配被折扣给未出现的 N 元对的概率:)0)()(
14、1()()|()|()|()|(11112111111iniiniiniiniikatziniiGTiniiMLiniikatzwcifkwcifkwcifwwpwwpwwpwwp 其中,)|(11iniiMLwwp为最大似然估计模型。)|(11iniiGTwwp为 Good-Turing 概率估计。阈 值k为 一 个常 量。参数和保 证模 型参 数概 率的 归 一化 约束 条件,即1)|(11iwiniikatzwwp。平滑的效果数据平滑的效果与训练语料库的规模有关数据平滑技术是构造高鲁棒性语言模型的重要手段训练语料库规模越小,数据平滑的效果越显著,训练语料库规模越大,数据平滑的效果越不显著
15、,甚至可以忽略不计现有的主要语言模型上下文的定义决定了语言模型的不同.如果这样的语言模型称为上下文无关模型采用MLE:又称为一元文法统计模型)|(CwwPi)()|(wwPCwwPiiNNwwPwi)(现有的主要语言模型N元文法统计模型自从几十年前在大词表语言识别系统中首次使用Trigram以来,直到现在,Trigram模型仍旧是在实际应用中表现最佳的语言模型,并且成为许多其他的语言模型的重要组成部分.)|()|(11iniiiwwwPCwwP现有的主要语言模型N-pos模型(基于词性的N-Gram模型)或者表示词w的词类参数空间较小 ,不如n-gram语言模型精确)().()(|()|(12
16、1ininiiiwgwgwgwwPCwwP)(wgVGN 1)(|()().()(|)()|(121iiininiiiwgwwPwgwgwgwgPCwwP例子设iC 为词iw 所属的词性,多种基于词性的模型结构可被使用。典型地,一个Trigram可选择如下计算方法:),|()|(),|(21333213CCCpCwpwwwp N-pos模型提出的意义降低模型参数的规模数据稀疏问题的一种解决方式N-POS模型构造方法采用语言学家构造的词的语法分类体系,按词性(Part-of-Speech)进行词类划分,借助于词性标注技术,构造基于词性的N-POS模型采用词的自动聚类技术,自动构造基于词的自动聚类
17、的类N-gram模型N-gram与N-POS比较基于词的N-gram模型对近邻的语言约束关系的描述能力最强,应用程度最为广泛。一般N=3,难以描述长距离的语言约束关系N-POS模型的参数空间最小,一般不存在数据稀疏问题,可以构造高元模型,用于描述长距离的语言约束关系。但由于词性数目过少,过于泛化,因此又限制了语言模型的描述能力自动聚类生成的词类数量介于词和词性的数量之间,由此建立的类N-gram模型,既不存在严重的数据稀疏问题,又不存在过于泛化问题动态、自适应、基于缓存的语言模型在自然语言中,经常出现某些在文本中通常很少出现的词,在某一局部文本中突然大量出现的情况。能够根据词在局部文本中出现情
18、况动态地调整语言模型中的概率分布数据的语言模型称为动态、自适应或者基于缓存的语言模型。动态、自适应、基于缓存的语言模型方法将N个最近出现过的词 存于一个缓存中,作为独立的训练数据.通过这些数据,计算动态频度分布数据将动态频度分布数据与静态分布数据(由大规模性语料训练得到)通过线性插值的方法相结合:11.iNiNiwww)|(12iiidynamicwwwP)|()1()|()|(121212iiistaticiiidynamiciiincombinatiowwwPwwwPwwwP10其他语言模型各种变长、远距离N-gram模型决策树模型链文法模型最大熵模型整句模型统计语言模型的评价方法应用评价
19、将其应用于某应用系统,考察它对系统性能的影响理论评价:信息论方法评价熵(Entropy)复杂度(Perplexity)信息论信息论创始人:1948年香农通讯的数学原理狭义信息论:研究信息的测度、信道容量以及信源和信道编码。一般信息论:研究通信问题。广义信息论:整个信息科学,覆盖各个领域。信息定义世界的三要素:物质、能量、信息信息定义信息是人和外界相互作用时交换的内容维纳信息是能用来消除随机不定性的东西 香农信息是事物之间的差异,而不是事物本身朗格信息(information)与消息(message)信息是消息的内容。消息是信息的形式。信息测度信息量量度信息多少的测度就是信息量。熟知的消息信息量
20、小;未知的消息信息量大。信息的度量(信息量的计算)对一问题毫无了解,对它的认识是不确定的。通过各种途径获得信息,逐渐消除不确定性。信息量与不确定性消除程度有关。消除多少不确定性(随机性),就获得多少信息量。自信息:事件不确定性的度量自信息:事件不确定性的度量自信息(Self Information)事件x包含的信息量。I(x)=log2p(x)=log21/p(x)意义当事件x发生以前,I(x)表示事件x发生的不确定性当事件x发生以后,I(x)表示事件x所含有的信息量特征事件概率与信息成反比。小概率事件包含更多的信息量。当 p(x)=1时,I(x)=0;熵:随机变量的不确定性度量熵(Entro
21、py)随机变量的不确定性的量度。一个随机变量X,其概率函数p(x)。熵的计算公式:推导显然:熵是X的平均信息量,是自信息I(X)的数学期望。xxXIExIxpxpxpXH)()()()(log)()(2xxpxpXH)(log)()(2熵与计算语言学熵是不确定性的量度。我们对事物了解得越多,熵就越小。一个语言模型越好,它越应该能描述更多的语言结构,因此它的熵应该越低。在计算语言学中,通常用熵度量语言模型的质量。有时也可以用复杂度(熵的变形)来评价语言模型。复杂度(Perplexity)HPP2语言的熵语言的熵反映语言中每个字或词的平均信息量。对语言L,用nnxxxx,211表示L中长为n的字串或词串,)(1nxp是nx1的概率。根据信息论原理,若语言L是各态遍历的、平稳的随机过程,则熵由下式计算:)(log1)(1limnnxpnLH 交叉熵(Cross Entropy)通常使用交叉熵来衡量一个模型的质量,以此评估语言模型Mp和真实文本(测试文本)分布Tp的相似程度:xMTMTxpxpppH)(log)();(对 N-gram 语言模型p,模型的交叉熵可由下式计算:LLNnnNnnxxpNLLpLH)|(log11),(11 其中LL表示训练语料的长度。