自然语言处理讲座6第六章马尔可夫模型课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《自然语言处理讲座6第六章马尔可夫模型课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 自然语言 处理 讲座 第六 章马尔可夫 模型 课件
- 资源描述:
-
1、1噪声信道模型 噪声信道模型 目标:通过有噪声的输出信号试图恢复输入信号)()|(maxarg)()()|(maxarg)|(maxargIPIOPOPIPIOPOIPIIII2噪声信道模型的应用噪声信道模型的应用 噪声信道模型是一种普适性的模型,通过修改噪声信道模型是一种普适性的模型,通过修改噪声信道的定义,可以将如下应用纳入到这一噪声信道的定义,可以将如下应用纳入到这一模型的框架之中模型的框架之中 语音识别语音识别 一个声学信号对应于一个语句,一个语音识别器需找到其对应的可能性最大的语言文本 根据贝叶斯公式 信息源对应于以概率 生成语句文本,噪声信道对应于以概率分布 将语句文本转换成声音信
2、号。语音识别的目的就是由通过噪声信道而输出的声音信号恢复其原始的语句文本。)|(maxargATpTT)|()(maxarg)()|()(maxargTApTpApTApTpTTT)(Tp)|(TAp3噪声信道模型的应用噪声信道模型的应用 信源以概率 生成语句文本,信道为 ,语音/图像/翻译文本/字音转换模型 手写体汉字识别手写体汉字识别 文本书写文本书写(或者打印、扫描或者打印、扫描)图像图像 文本校错文本校错 文本输入编辑带有错误的文本文本输入编辑带有错误的文本 机器翻译机器翻译 目标语言的文本翻译源语言文本目标语言的文本翻译源语言文本 音字转换音字转换 文本字音转换汉字(拼音)编码文本字
3、音转换汉字(拼音)编码 信源以概率 生成词性标注序列,信道 为词性标注序列转为词序列的转换模型 词性标注词性标注 词性标注序列词性词串转换词串词性标注序列词性词串转换词串)(Tp(|)p O T)(Tp(|)p O T4语言模型语言模型 P(T):语言模型 如何计算P(T)?根据链规则 问题:参数空间过大,无法实用!1 212131 21 21()()(.)()(|)(|).(|.)nnnPTPSPww wp w p w w p w wwp w ww w5“香农游戏香农游戏(Shannon Game)”Claude E.Shannon.“Prediction and Entropy of Pr
4、inted English”,Bell System Technical Journal 30:50-64.1951.给定前给定前n-1个词个词(或者字母或者字母),预测下一个词预测下一个词(字母字母)从训练语料库中确定不同词序列概率从训练语料库中确定不同词序列概率6基本思想基本思想:考察一小段连续词汇序列(一个语句)考察一小段连续词汇序列(一个语句)该语句出现的可能性有多大?该语句出现的可能性有多大?“马尔科夫假设马尔科夫假设”下一个词的出现仅仅依赖下一个词的出现仅仅依赖于它前面的一于它前面的一 个词或者几个词个词或者几个词 假设下一个词的出现依赖于它前面的一个词假设下一个词的出现依赖于它前
5、面的一个词 :bigram 假设下一下一个词的出现依赖于它前面的两个词假设下一下一个词的出现依赖于它前面的两个词 :trigram).|().|()|()().()()(12121312121nnnwwwwpwwwpwwpwpwwwPSPIP)|().|()|()(123121nnwwpwwpwwpwp)|().|()|()(12213121nnnwwwpwwwpwwpwp7N-gram语言模型 最大相似度估计(Maximum Likelihood Estimate)“n-gram”=n个词构成的序列个词构成的序列 unigram bigram trigram four-gram(quadgr
6、am 4-gram)构造(训练)N-gram语言模型:在训练语料库中统计获得n-gram的频度信息).().().|(12121121nnnnwwwCwwwCwwwwP8N的选择:可靠性的选择:可靠性 vs.辨别力辨别力“我我 正在正在 _”讲课讲课?图书馆图书馆?听课听课?学习学习?借书借书?“我我 正在正在 图书馆图书馆 _”学习学习?借书借书?9可靠性可靠性 vs.辨别力辨别力 更大的更大的 n:对下一个词出现的约束性信息对下一个词出现的约束性信息更多,更大的辨别力更多,更大的辨别力 更小的更小的n:在训练语料库中出现的次数更在训练语料库中出现的次数更多,更可靠的统计结果,更高的可靠性多
7、,更可靠的统计结果,更高的可靠性 10N的选择的选择词表中词的个数词表中词的个数|V|=20,000 词词n所有可能的所有可能的n-gram的个数的个数2(bigrams)400,000,0003(trigrams)8,000,000,000,0004(4-grams)1.6 x 101711问题问题 假设我们使用假设我们使用trigram模型模型 如果某个如果某个 那么那么P(S)=0 数据稀疏问题数据稀疏问题 必须保证必须保证 从而使从而使)|().|()|()()(12213121nnnwwwpwwwpwwpwpSP0)()()|(121212iiiiiiiiwwCwwwCwwwp0C0
8、P12在训练语料库中在训练语料库中:13最大相似度估计最大相似度估计:14期望概率分布期望概率分布:15期望概率分布期望概率分布:16“平滑(平滑(Smoothing)”降低已出现的降低已出现的n-gram条件概率分布,以条件概率分布,以使未出现使未出现n-gram条件概率分布非条件概率分布非0 又可称为又可称为“折扣方法折扣方法”(Discounting methods)(确认)确认)“Validation”特指使用两个不特指使用两个不同的训练语料库的平滑方法同的训练语料库的平滑方法17拉普拉斯定律拉普拉斯定律LaPlaces Law(加一平滑法加一平滑法adding one)18拉普拉斯定
9、律拉普拉斯定律(adding one)(,1).().(2121nnnLapVBBNwwwCwwwP19拉普拉斯定律拉普拉斯定律20Lidstone 定律定律(Lidstones Law)P=n-gram w1w2wn的概率的概率C=n-gram w1w2wn在训练语料库中的个数在训练语料库中的个数N=训练语料库中的训练语料库中的 n-grams 总数总数B=所有可能的所有可能的n-gram个数个数 =一个小的整数一个小的整数M.L.E最大相似度估计最大相似度估计:=0LaPlaces Law拉普拉斯定律拉普拉斯定律:=1Jeffreys-Perks 定律定律:=11nLidnC(ww)P(w
10、w)NB21Jeffreys-Perks Law22Lidstones Law存在的问题存在的问题 的确定的确定.对所有未出现的对所有未出现的n-gram都给与相同的概都给与相同的概率率 与最大相似度估计成线性关系与最大相似度估计成线性关系23Good-Turing估计 如果 C(w1,.,wn)=r 0,PGT(w1,.,wn)=r*/N 此处:r*=(r+1)S(r+1)/S(r)(r+1)N(r+1)/N(r)这里S(r)是Nr的期望平滑估计.If C(w1,.,wn)=0,PGT(w1,.,wn)N1/(N0N)例:建立频度-n-gram(本例为bigram)个数表(词表中词数1458
11、5,语料库中出现的各不相同的bigram总数199252个,bigram总数为617091个)24Good-Turing估计示例 对于未出现的bigramPGT(w1,.,wn)N1/(N0N)=138741/(14585*14585-199252)*617091)=1.058*10E-911387412254133105314599753565624867175481342911061089625Good-Turing估计示例(续)对于仅出现过一次的bigram:r*=(r+1)N(r+1)/N(r)=2*25413/138741=0.3663简单简单 Good-Turing Gale&Sa
12、mpson,1995:对于比较大的 r,Nr=arb(b -1)用线性回归的方法估算 a 和 b:log Nr=log a+b log r,对于比较小的 r,直接使用Nr26关于Good-Turing平滑的两个问题 两个问题:Good-Turing估计是否合理?令 Good-Turing估计是如何推导出来的?Stanley F.Chen.Building Probabilistic Models for Natural Language.PhD thesis,Harvard University,June 1996.*0?rrr nN121212.12.(.)(.)1nnGTnw wwGTnw
13、 wwfw wwPw wwN12(.)*GTnfw wwr*11000(1)(1)rrrrrrrrNr NrNrNNN27平滑方法可以分成两类平滑方法可以分成两类 修改频率值修改频率值:Lidstones Law(incl.LaPlaces Law and Jeffreys-Perks Law);Good Turing Smoothing;其他方法其他方法:修改条件概率修改条件概率.28简单线性插值平滑211 12213312(|,)()(|)(|,)01,1linnnnnnnnniiiP wwwP wP wwP www 如何确定 经验设定 优化算法设定(Expectation Maximiz
14、ation Algorithm)29其他常用平滑方法 Held out 平滑 Back-off 平滑 Witten-Bell平滑等等30平滑的效果 数据平滑的效果与训练语料库的规模有关 数据平滑技术是构造高鲁棒性语言模型的重要手段 训练语料库规模越小,数据平滑的效果越显著,训练语料库规模越大,数据平滑的效果越不显著,甚至可以忽略不计31现有的主要语言模型 上下文的定义决定了语言模型的不同.如果 这样的语言模型称为上下文无关模型 采用MLE:又称为一元文法统计模型)|(CwwPi)()|(wwPCwwPiiNNwwPwi)(32现有的主要语言模型 N元文法统计模型 自从几十年前在大词表语言识别系
15、统中首次使用Trigram以来,直到现在,Trigram模型仍旧是在实际应用中表现最佳的语言模型,并且成为许多其他的语言模型的重要组成部分.)|()|(1,1 iniiiwwwPCwwP33现有的主要语言模型 N-pos模型或者表示词w的词类 参数空间较小 ,不如n-gram语言模型精确)().()(|()|(121ininiiiwgwgwgwwPCwwP)(wgVGN 1)(|()().()(|)()|(121iiininiiiwgwwPwgwgwgwgPCwwP34一元模型,N-gram模型与N-pos模型之间的关系 考察N-pos模型的极端情况,即当整个模型只有一个词类,与每一个词都有一
16、个各自不同的词类的情况:如果N-pos模型只有一个词类,那么前N-1个词类没有提供任何上下文信息,于是N-pos模型退化为Unigram模型;如果每一个词都有一个各不相同的词类,那么这样的N-pos模型等价于N-gram模型.Unigram模型经常使用的N-pos模型词类数一般在25500之间N-gram模型35动态、自适应、基于缓存的语言模型 在自然语言中,经常出现某些在文本中通常很少出现的词,在某一局部文本中突然大量出现的情况。能够根据词在局部文本中出现情况动态地调整语言模型中的概率分布数据的语言模型称为动态、自适应或者基于缓存的语言模型。36动态、自适应、基于缓存的语言模型 方法 将N个
17、最近出现过的词 存于一个缓存中,作为独立的训练数据.通过这些数据,计算动态频度分布数据 将动态频度分布数据与静态分布数据(由大规模性语料训练得到)通过线性插值的方法相结合:11.iNiNiwww)|(12iiidynamicwwwP)|()1()|()|(121212iiistaticiiidynamiciiincombinatiowwwPwwwPwwwP1037语言模型的评价 如何评价语言模型的优劣 根据其在实用系统中的表现 优点:直截了当 缺点:不客观、干扰因素过多、缺乏针对性 统计语言模型的专用评价量度-交叉熵38Kullback-Leibler(KL)距离 Kullback-Leibl
18、er(KL)距离(相关熵)两个概率密度函数p(x)与q(x)它们的相关熵由下式给出:描述了两个概率分布之间的差异(D(p|q)=0 iff p=q)非量度(不满足交换率和三角不等式)()(|)()log()xXp xD pqp xq x()(|)(log)()pp XDpqEq X39语言与其模型的交叉熵 我们构造的语言模型为q(x),如何评价它的好坏?Idea:如果q(x)与正确的语言模型p(x)的相关熵越小,模型越好 问题是我们并不知道p(x)可以借助交叉熵 某语言L,其真实的概率分布为p(x),我们构造的该语言的概率模型为q(x),那么该语言与其模型的交叉熵为:(,)()(|)()log
19、()XH X qH XD pqp xq x 1111(,)lim()log()nnnnxH L mp xm xn 40语言与其模型的交叉熵 如果我们将语言视为平稳各态可遍历的随机过程:那么迷惑度1111(,)limlog()log()nnnH L mm xm xnn 11(,)11(,)2()nHxmnnnperplexity xmm x41马尔可夫模型 马尔可夫模型是一种统计模型,广泛地应用在语音识别,词性自动标注,音字转换,概率文法等各个自然语言处理的应用领域。马尔可夫(18561922),苏联数学家。切比雪夫的学生。在概率论、数论、函数逼近论和微分方程等方面卓有成就。经过长期发展,尤其是
20、在语音识别中的成功应用,使它成为一种通用的统计工具。马尔可夫模型的典型应用:语音识别,音字转换,词性标注42回顾:n-gram语言模型 链规则:N-gram语言模型:N-1阶马尔可夫过程(链)仅适用一种概率分布进行统计推导,例如在trigram模型中,43马尔可夫假设(特征)设 X=(X1,.,Xt)是随机变量序列,其中每个随机变量的取值 在有限集 S=s1,sn,S称为状态空间,马尔可夫特征是:有限历史假设(有限历史假设(Limited(Horizon,Context,History)):P(Xt+1=sk|X1,.,Xt)=P(X t+1=sk|Xt)时间不变性假设(时间不变性假设(Tim
21、e Invariant)()(马尔可夫马尔可夫过程的稳定性假设)过程的稳定性假设):这种条件依赖,不随时间的改变而改变。如果X具有这些特征,那么这个随机变量序列称为一个马尔可夫过程(链)11,2,3.,(|)(|)iiiTy xS P Xy Xxp y x 44N阶马尔可夫模型 Trigram的情形:只需修改状态空间的定义 定义新的变量 使得 并且约定:SQiSSS45马尔可夫模型的形式化表示 一个马尔可夫模型是一个三元组(S,A)其中 S是状态的集合,是初始状态的概率,A是状态间的转移概率。46马尔可夫模型的图形表示47隐马尔可夫模型(HMM)各个状态(或者状态转移弧)都有一个输出,但是状态
22、是不可见的。最简单的情形:不同的状态只能有不同的输出48隐马尔可夫模型 增加一点灵活性:不同的状态,可以输出相同的输出:49隐马尔可夫模型 再增加一点灵活性:输出在状态转移中进行。50隐马尔可夫模型 最大的灵活性:在状态转移中以特定的概率分布输出51HMM的形式化定义 HMM是一个五元组(S,K,A,B),其中 S是状态的集合,K是输出字符的集合,是初始状态的概率,A是状态转移的概率。B是状态转移时输出字符的概率。52马尔可夫过程程序t:=1;以概率i在状态 si 开始(i.e.,X1=i)Forever do Move from state si to state sj with proba
23、bility aij(i.e.,Xt+1=j)Emit observation symbol ot=k with probability bijkt:=t+1End 53隐马尔科夫模型的三个基本问题 给定一个模型 ,如何高效地计算某一输出字符序列的概率 给定一个输出字符序列O,和一个模型 ,如何确定产生这一序列概率最大的状态序列 给定一个输出字符的序列O,如何调整模型的参数使得产生这一序列的概率最大(S,K,A,B)(|)PO121(,.,)TXXX54网格(Trellis)55问题1评价(Evaluation)给定一个模型 ,如何高效地计算某一输出字符序列的概率(S,K,A,B)(|)POo
24、To1otot-1ot+11(.),(,)(|)TOooA BP O计算56方案1)|(),|()|,(XPXOPXOPTToxoxoxbbbXOP.),|(2211TTxxxxxxxaaaXP132211.)|(XXPXOPOP)|(),|()|(oTo1otot-1ot+1x1xt+1xTxtxt-157方案1(Cont.)111111111.)|(ttttToxxxTtxxoxxbabOPoTo1otot-1ot+1x1xt+1xTxtxt-1算法复杂度太高,需要)2(TTnO 58方案2向前过程(forward procedure)使用动态规划方法实现更加高效的算法 动机:对于任意一个
展开阅读全文