1、自然语言理解讲义自然语言理解讲义第四章第四章 统计语言模型统计语言模型内容提要内容提要o 概述o 统计语言模型o 数据平滑o 模型评价o 主要统计语言模型概述:信源信道模型概述:信源信道模型o 噪声信道模型o(概率)模型:出错的概率n 举例:p(0|1)=0.3,p(1|1)=0.7,p(1|0)=0.4,p(0|0)=0.6o 任务:n 已知带有噪声的输出n 想知道输入是什么(也称为:Decoding)概述:信源信道模型概述:信源信道模型o 信源模型n 以概率 生成输入信号。o 信道模型n 信道以概率分布 将输入信号转换成输出信号。o 信源信道模型n 已知输出,求解最可能的输入。n 该任务的
2、数学描述是:)()|(maxarg)()()|(maxarg)|(maxargIPIOPOPIPIOPOIPIIII)/(IOP)(IP概述:信源信道模型的应用概述:信源信道模型的应用o 信源信道模型n是一种常用模型,具有广泛应用。n可根据实际问题,定义信源信道模型的I/O。n例如:o语音识别:输入:文本 输出:语音。o文字识别:输入:文本 输出:图像。o机器翻译:输入:目标语言句子 输出:源语言句子。o音字转换:输入:文本 输出:拼音。n例子:微软拼音输入法:o任务:将用户输入的拼音流转换成文本句子。o信源信道模型的I/O定义:输入:文本 输出:拼音。o微软拼音输入法的音字转换程序:o语言模
3、型:计算文本句子的概率 P(文本)。)()|(maxarg)()()|(maxarg)|(maxarg文本文本拼音拼音文本文本拼音拼音文本文本文本文本文本PPPPPP统计语言模型统计语言模型o 什么是语言模型(Language Model)n 一个概率模型,用来估计语言句子出现的概率。是一个可能的句子,其先验概率如下n 说明:(1)wi可以是字、词、短语或词类等等,称为统计基元。通常以“词”代之。(2)wi 的概率由w1,wi-1 决定,由特定的一组w1,wi-1 构成的一个序列,称为wi的历史(history)。)|()|()()()(12112121mmmwwwwPwwPwPwwwSPSP
4、mwwwS21完美的语言模型完美的语言模型o 即使对于很小的m,上面的理想公式也很难计算,因为参数太多。n 随着历史基元数量的增加,不同的“历史”(路径)按指数级增长。对于第i(i 1)个统计基元,历史基元的个数为i-1,如果共有L个不同的基元,如词汇表,理论上每一个单词都有可能出现在1到i-1的每一个位置上,那么,i 基元就有Li-1 种不同的历史情况。我们必须考虑在所有的Li-1 种不同历史情况下产生第i 个基元的概率。那么,模型中有Lm 个自由参数P(wm|w1wm-1)。o 如果L=5000,m=3,自由参数的数目达到1250亿!一个例子一个例子),|(),|(),|()|()(),(
5、)(个一是我学生一是我个是我一我是我学生个一是我我是一个学生ppppppp统计语言模型:统计语言模型:Markov链o 有限的记忆能力n 不考虑太“旧”的历史n 只记住前n-1个词n 称为n-1阶Markov链近似miiniimwwPwwwSPSP11121)|()()(例子例子(二元语法二元语法Bigram,三元语法Trigram)|()|()|()|()(),()(个学生一个是一我是我学生个一是我我是一个学生ppppppp),|(),|(),|()|()(),()(个一学生一是个是我一我是我学生个一是我我是一个学生pppppppN元语法(N-gram)模型o N-gram模型:相当于n-1
6、阶Markov链。n“n-gram”=n个词构成的序列oUnigramn=1;obigramn=2;otrigram n=3;o 模型结构n模型:由一组模型参数组成。n每个N-gram模型参数:n-gram及其频度信息,形式为:或 这里:c()为 在训练语料库中出现的次数。o 模型作用:计算概率。o 模型训练:在训练语料库中统计获得n-gram的频度信息).(),.(2121nnwwwcwww).().().|(12121121nnnnwwwcwwwcwwwwPnwww.21)(,gramnfgramn参数训练参数训练 语料 库 分词 语料 参数 估计 语言 模型 分词 系统 词表 N的选择:
7、可靠性的选择:可靠性 vs.辨别力辨别力“我正在 _”讲课?图书馆?听课?学习?借书?“我正在 图书馆 _”学习?借书?N的选择:可靠性的选择:可靠性 vs.辨别力辨别力o 更大的 N:对下一个词出现的约束性信息更多,更大的辨别力o 更小的N:在训练语料库中出现的次数更多,更可靠的统计结果,更高的可靠性 o 可靠性和可区别性成反比,需要折中。N的选择的选择假设词表中词的个数假设词表中词的个数|V|=20,000 词词n所有可能的所有可能的n-gram的个数的个数2(bigrams)400,000,0003(trigrams)8,000,000,000,0004(4-grams)1.6 x 10
8、17统计语言模型小结统计语言模型小结o 符号串:o 词 在句子中的上下文(context)或历史(history)o 语言模型:描述语言句子的概率分布P(S)o 句子概率的计算o 上下文历史太长将导致无法计算miimiiimhwpwwpwSPSP11111)|()|()()(12111iiwwwwhmnndefmnwwww1iw统计语言模型小结统计语言模型小结o N-gram模型:有限历史假设:n词 的出现,仅与其前n-1个词相关:o 句子概率计算:o 模型:n模型参数的集合n模型参数:n举例nn=1 Unigramnn=2 Bigramnn=3 Trigram 11iniwh)(,iiwcw
9、iwmiiniimiimwwphwpwSP11111)|()|()()(,gramncgramn),(),(kjikjiwwwcwww),(),(jijiwwcww统计语言模型小结统计语言模型小结o 采用N-gram模型计算句子概率o n=1 Unigramo n=2 Bigramo n=3 TrigrammiiniimwwpwSP1111)|()(miimwpwSP11)()(miiimwwpwSP111)|()(miiiimwwwpwSP1121),|()(N元语法元语法(N-gram)应用应用:音字转换音字转换o 给定拼音串:ta shi yan jiu sheng wu deo 可能的
10、汉字串n 踏实研究生物的n 他实验救生物的n 他使烟酒生物的n 他是研究生物的n N元语法元语法(N-gram)应用应用:音字转换音字转换o 音字转换计算公式)(maxarg)()|(maxarg)()()|(maxarg)|(maxarg文本文本文本拼音拼音文本文本拼音拼音文本文本文本文本文本文本PPPPPPPN元语法元语法(N-gram)应用应用:音字转换音字转换o 可能的转换结果,分词结果n踏实研究生物的:踏实/研究/生物/的n他实验救生物的:他/实验/救生/物/的n他使烟酒生物的:他/使/烟酒/生物/的n他是研究生物的:他/是/研究/生物/的n o 如果使用Bigram计算:nP(踏实
11、研究生物的)=P(踏实)P(研究|踏实)P(生物|研究)P(的|生物)nP(他实验救生物的)=P(他)P(实验|他)P(救生|实验)P(物|救生)P(的|物)nP(他是研究生物的)=P(他)P(是|他)P(研究|是)P(生物|研究)P(的|生物)o 选择概率最大的句子,作为转换结果N元语法元语法(N-gram)应用应用:中文分词中文分词o 给定汉字串:他是研究生物的。o 可能的分词结果:n 1)他|是|研究生|物|的n 2)他|是|研究|生物|的N元语法元语法(N-gram)应用应用:中文分词中文分词o 统计分词计算公式N元语法元语法(N-gram)应用应用:中文分词中文分词o 采用二元模型(
12、Bigram)计算oP(他/是/研究生/物/的)=P(他)P(是|他)P(研究生|是)P(物|研究生)P(的|物)P(的)oP(他/是/研究/生物/的)=P(他)P(是|他)P(研究|是)P(生物|研究)P(的|生物)P(的)关键问题:如何获得二元关键问题:如何获得二元(N元元)模型?模型?miiimmwwPwwwPwwwPSegP112121)|(),()/(模型训练:模型训练:模型参数估计模型参数估计o 两个基本概念基本概念n 训练语料训练语料:用于建立模型的给定语料。n 最大似然估计最大似然估计:用相对频率计算概率的方法。模型训练:模型训练:模型参数估计模型参数估计模型训练:模型训练:模
13、型参数估计模型参数估计例如,给定训练语料:“John read Moby Dick”,“Mary read a different book”,“She read a book by Cher”根据二元语法求句子的概率?模型训练:模型训练:模型参数估计模型参数估计o模型训练:模型训练:模型参数估计模型参数估计John read Moby DickMary read a different bookShe read a book by Cher模型训练:模型训练:模型参数估计模型参数估计John read Moby DickMary read a different bookShe read a
14、 book by Cher零概率问题零概率问题o 大量的低频词,无论训练数据的规模如何扩大,其出现频度仍旧很低甚至根本不出现。如果采用最大似然估计(MLE)估算它们的概率分布,将出现大量的 ,从而导致 的情况,这种情况大大削弱了该模型的描述能力。0)|(1iiwwp0)(sp零概率问题零概率问题o 假设我们使用Trigram模型o 如果某个 那么P(S)=0,这就是数据稀疏问题(零概率问题)o 必须保证 ,从而使)|().|()|()()(12213121nnnwwwpwwwpwwpwpSP0)()()|(121212iiiiiiiiwwcwwwcwwwp0c0P数据平滑数据平滑数据平滑数据平
15、滑数据平滑数据平滑数据平滑:加数据平滑:加1平滑平滑o 加加1法法(Additive smoothing)基本思想:每一种情况出现的次数加1。例如,对于Unigram,设w1,w2,w3 三个词,加上它们的概率估计分别为:1/3,0,2/3,加1后的情况是什么样的?数据平滑:加数据平滑:加1平滑平滑o 加加1法法(Additive smoothing)基本思想:每一种情况出现的次数加1。例如,对于Unigram,设w1,w2,w3 三个词,加上它们的概率估计分别为:1/3,0,2/3,加1平平滑滑后变成:2/6,1/6,3/6数据平滑:加数据平滑:加1平滑平滑o 一元语法一元语法(Unigra
16、m)o 二元语法二元语法(Bigram)iiwiiwiiiaddwcVwcwcwcwp)(|1)(1)(1)()(iiwiiiiwiiiiiiaddwwcVwwcwwcwwcwwp),(|1),(1),(1),()|(11111数据平滑:加数据平滑:加1平滑平滑John read Moby DickMary read a different bookShe read a book by Cher数据平滑:加数据平滑:加1平滑平滑John read Moby DickMary read a different bookShe read a book by Cher数据平滑:减值法数据平滑:减值法
17、/折扣法折扣法o 基本思想基本思想:修改训练样本中事件的实际计数,使样本中(实际出现的)不同事件的概率之和小于1,剩余的概率量分配给未见概率。数据平滑:数据平滑:Good-Turing估计估计假设N 是样本数据的大小,nr 是在样本中正好出现r 次的事件的数目(在这里,事件为n-gram w1 w2 wn),即:出现1 次的n1个,出现2次的n2个,;那么N=1rrnr,由于N=0r*rnr=0r1r)1(nr所以rrnnrr1*)1(。数据平滑:数据平滑:Good-Turing估计估计对于N-gram模型中出现r次的N元组iniw1,根据Good-Turing估计公式,该N元组的出现次数为*
18、r:rrnnrr1*)1(,其中,rn表示 N-gram 的训练集中实际出现r次的N元组的个数。那么,对于N-gram中出现次数为 r的N元组iniw1的出现概率为:0*1)(riniGTrrwp。rn不能为零,本身需要平滑。Good-Turing估计公式中缺乏利用低元模型对高元模型进行插值的思想,它通常不单独使用,而作为其他平滑算法中的一个计算工具。数据平滑:数据平滑:线性插值平滑(Linear Interpolation)利用低元 N-gram 模型对高元 N-gram 模型进行线性插值。平滑公式:)|()1()|()|(12int1111int1111iniierpwiniiMLwini
19、ierpwwpwwpwwpiniini N-gram 模型可以递归地定义为由最大似然估计原则得到的 N-gram 模型和(N-1)-gram 模型的线性插值。为了结束以上的递归定义:可以令 Unigram模型为最大似然估计模型,或者令 0-gram 模型为一个均匀分布模型|1)(Vwpio阶。插值系数11iniw,可以采用 Baum-Welch 算法估计出来,也可根据经验人工给出。例子:二元语法例子:二元语法(Bigram)的线性插值的线性插值)()1()|()|(int11intierpiiMLiierpwpwwpwwp数据平滑:回退式数据平滑数据平滑:回退式数据平滑当一个 N 元对iniw
20、1的出现次数)(1iniwc足够大时,)|(11iniiMLwwp是 iniw1可靠的概率估计。而当)(1iniwc不是足够大时,采用 Good-Turing 估计对其平滑,将其部分概率折扣给未出现的 N 元对。当)(1iniwc=0 时,模型回退到低元模型,按着)|(12iniikatzwwp比例来分配被折扣给未出现的 N 元对的概率:)0)()(1()()|()|()|()|(11112111111iniiniiniiniikatziniiGTiniiMLiniikatzwcifkwcifkwcifwwpwwpwwpwwp 其中,)|(11iniiMLwwp为最大似然估计模型。)|(11i
21、niiGTwwp为 Good-Turing 概率估计。阈 值k为 一 个常 量。参数和保 证模 型参 数概 率的 归 一化 约束 条件,即1)|(11iwiniikatzwwp。数据平滑的效果数据平滑的效果o 数据平滑的效果与训练语料库的规模有关n 数据平滑技术是构造高鲁棒性语言模型的重要手段n 训练语料库规模越小,数据平滑的效果越显著n 训练语料库规模越大,数据平滑的效果越不显著,甚至可以忽略不计现有主要语言模型现有主要语言模型o 上下文的定义决定了语言模型的不同.o 如果 则这样的语言模型称为上下文无关模型 如果采用MLE:,又称为一元文法统计模型)|(CwwPi)()|(wwPCwwPi
22、iNNwwPwi)(现有主要语言模型现有主要语言模型o N元文法统计模型o 自从几十年前在大词表语言识别系统中首次使用三元语法(Trigram)以来,直到现在三元语法(Trigram)模型仍旧是在实际应用中表现最佳的语言模型,并且成为许多其他的语言模型的重要组成部分。)|()|(11iniiiwwwPCwwP现有主要语言模型现有主要语言模型o N-pos模型(基于词性的N-Gram模型)或者 表示词w的词类o 参数空间较小 ,不如n-gram语言模型精确)().()(|()|(121ininiiiwgwgwgwwPCwwP)(wgVGN 1)(|()().()(|)()|(121iiinini
23、iiwgwwPwgwgwgwgPCwwPN-pos模型:例子模型:例子设iC 为词iw 所属的词性,多种基于词性的模型结构可被使用。典型地,一个Trigram可选择如下计算方法:),|()|(),|(21333213CCCpCwpwwwp N-pos模型的意义模型的意义o 降低模型参数的规模o 数据稀疏问题的一种解决方式N-POS模型构造方法模型构造方法o 采用语言学家构造的词的语法分类体系,按词性(Part-of-Speech)进行词类划分,借助于词性标注技术,构造基于词性的N-POS模型o 采用词的自动聚类技术,自动构造基于词的自动聚类的类N-gram模型N-gram与与N-POS比较比较
24、o 基于词的N-gram模型对近邻的语言约束关系的描述能力最强,应用程度最为广泛。一般N=3,难以描述长距离的语言约束关系o N-POS模型的参数空间最小,一般不存在数据稀疏问题,可以构造高元模型,用于描述长距离的语言约束关系。但由于词性数目过少,过于泛化,因此又限制了语言模型的描述能力o 自动聚类生成的词类数量介于词和词性的数量之间,由此建立的类N-gram模型,既不存在严重的数据稀疏问题,又不存在过于泛化问题动态、自适应、基于缓存的语言模型动态、自适应、基于缓存的语言模型o 在自然语言中,经常出现某些在文本中通常很少出现的词,在某一局部文本中突然大量出现的情况。o 能够根据词在局部文本中出
25、现情况动态地调整语言模型中的概率分布数据的语言模型称为动态、自适应或者基于缓存的语言模型。动态、自适应、基于缓存的语言模型动态、自适应、基于缓存的语言模型o 方法n 将N个最近出现过的词 存于一个缓存中,作为独立的训练数据.n 通过这些数据,计算动态频度分布数据n 将动态频度分布数据与静态分布数据(由大规模性语料训练得到)通过线性插值的方法相结合:11.iNiNiwww)|(12iiidynamicwwwP)|()1()|()|(121212iiistaticiiidynamiciiincombinatiowwwPwwwPwwwP10其他语言模型其他语言模型o 各种变长、远距离N-gram模型
26、o 决策树模型o 链文法模型o 最大熵模型o 整句模型信息论信息论o 信息论信息论n 创始人:1948年香农通讯的数学原理n 狭义信息论:研究信息的测度、信道容量以及信源和信道编码。n 一般信息论:研究通信问题。n 广义信息论:整个信息科学,覆盖各个领域。信息定义信息定义o 世界的三要素:n 物质、能量、信息o 信息定义n 信息是人和外界相互作用时交换的内容维纳n 信息是能用来消除随机不定性的东西 香农n 信息是事物之间的差异,而不是事物本身朗格o 信息(information)与消息(message)n 信息是消息的内容。n 消息是信息的形式。信息测度信息测度o 信息量信息量n 量度信息多少
27、的测度就是信息量。n 熟知的消息信息量小;未知的消息信息量大。o 信息的度量信息的度量(信息量的计算)n 对一问题毫无了解,对它的认识是不确定的。n 通过各种途径获得信息,逐渐消除不确定性。n 信息量与不确定性消除程度有关。n 消除多少不确定性(随机性),就获得多少信息量。自信息:事件不确定性的度量自信息:事件不确定性的度量o 自信息自信息(Self Information)n 事件x包含的信息量。n I(x)=log2p(x)=log21/p(x)o 意义n 当事件x发生以前,I(x)表示事件x发生的不确定性n 当事件x发生以后,I(x)表示事件x所含有的信息量o 特征n 事件概率与信息成反
28、比。小概率事件包含更多的信息量。n 当 p(x)=1时,I(x)=0;熵:随机变量的不确定性度量熵:随机变量的不确定性度量o 熵(Entropy)n 随机变量的不确定性的量度。n 一个随机变量X,其概率函数p(x)。n 熵的计算公式:n 推导n 显然:熵是X的平均信息量,是自信息I(X)的数学期望。n 一个随机变量的熵越大,它的不确定性越大;那么,正确估计其值的可能性就越小。越不确定的随机变量越需要大的信息量用以确定其值。xxXIExIxpxpxpXH)()()()(log)()(2xxpxpXH)(log)()(2熵与计算语言学熵与计算语言学o 熵是不确定性的量度。o 我们对事物了解得越多,熵就越小。o 一个语言模型越好,它越应该能描述更多的语言结构,因此它的熵应该越低。o 在计算语言学中,通常用熵度量语言模型的质量。有时也可以用复杂(困惑)度(熵的变形)来评价语言模型。(见前面困惑度的定义)