数学之美札记:统计语言模型

统计语言模型(Statistical Language Model)是一个数学模型,它是所有自然语言处理的基础,广泛应用于机器翻译、语音识别等领域,它产生的初衷是为了解决语言识别问题。

自然语言处理中,对于如何判断一个文字序列是大家理解且有意义的句子,贾里尼克提出了一个简单的统计模型:一个句子是否合理,就看看它的可能性大小如何。至于可能性就用概率来衡量。通过文字序列组成的句子在人类语言中出现的概率,来判断这个文字序列是否合乎文法、含义是否正确等。

这个方法的核心是通过抽象并计算文字序列中每一个词出现的条件概率,来推断文字序列出现的概率,但是由于每一个词出现的概率也与它前面的所有词有关,那么最后一个词的条件概率的可能性就太多了,无法进行概率的估算。

19世纪到20世纪初,俄罗斯数学家马尔可夫,提出了一个颇为有效的方法:就假设任意一个词出现的概率只与它前面的词有关,那么问题就简单了。这种假设就是数学上有名的马尔可夫假设。这种假设对应的统计语言模型被称为二元模型。当然,也可以假设一个词由前面N-1个词决定,对应的模型稍微复杂些,被称为N元模型。

Google的语音搜索和中英文自动翻译(罗塞塔)中,发挥了重要作用的就是这个统计语言模型。2007年Google的罗塞塔系统第一次参加美国标准局(NIST)对机器翻译系统的评测时,便一鸣惊人地夺得了第一,评测分数高出所有基于规则的系统很多。这里面的秘密武器就是一个比其他竞争对手大上百倍的语言模型。

在IBM提出统计语言模型十几年的20世纪80年代末,还在卡内基-梅隆大学做博士生的李开复用统计语言模型把997个词的语音识别问题简化成了一个相当于20个词的识别问题,实现了有史以来第一次大词汇量非特定人连续语音的识别。

N元模型,为什么N一般取值很小呢?这里面主要有两个原因:首先, N元模型的大小(或者说空间复杂度)几乎是N的指数函数。而使用N元模型的速度(或者说时间复杂度)也几乎是一个指数函数。因此,N不能很大。当N从1到2,再从2到3时,模型的效果上升显著。而当模型从3到4时,效果的提升就不是很显著了,而资源的耗费增加却非常快,所以,除非是不惜资源为了做到极致,很少有人使用四元以上的模型。Google的罗塞塔翻译系统和语音搜索系统,使用的是四元模型,该模型存储于500台以上的Google服务器中。

在估计语言模型的概率时,很多人会忽视零概率或统计量不足的问题。而训练统计语言模型的艺术就在于解决好统计样本不足时的概率估计问题。1953年古德(Good)在他老板图灵(Turing,就是计算机史上的那位大牛)的指导下,提出了在统计中相信可靠的统计数据,而对不可信的统计数据打折扣的一种概率估计方法,同时将折扣出来的那一小部分概率给予未看见的事件。古德和图灵还给出了一个很漂亮的重新估算概率的公式,这个公式后来被称为古德-图灵估计(Good-Turing Estimate)。

这个公式的原理是这样的:对于没有看见的事件,我们不能认为它发生的概率就是零,因此我们从概率的总量中,分配一个很小的比例给予这些没有看见的事件。这样一来,看见的那些事件的概率总和就要小于1了,因此,需要将所有看见的事件概率调小一点。至于小多少,要根据“越是不可信的统计折扣越多”的方法进行。

时间: 2024-11-05 21:34:34

数学之美札记:统计语言模型的相关文章

数学之美札记:贾里尼克和现代语言处理

在之前的札记中,尤其是统计语言模型中,我们常提到贾里尼克的名字,弗里德里克·贾里尼克博士是成功将数学原理应用于自然语言处理领域的大师. 贾里尼克博士生于1932年11月18日,卒于2010年9月14日.他生于捷克,少年时经历了二战,父亲是名医生,战争期间死在了集中营,1946年母亲带着全家移民美国. 贾里尼克最初的梦想是成为一名律师,为其父亲辩护,移民美国后,希望子承父业,理想是成为医生,他想进哈佛大学医学院,但他无力承担8年的学费(4年本科加上4年医学院教育).而恰恰麻省理工提供了他一份全额奖

数学之美札记:信息的度量和作用

1948年,香农在著名论文"通信的数学原理"中提出了"信息熵"的概念,解决了信息的度量问题,并且量化出信息的作用. 香农使用了"比特"(Bit)这个概念来度量信息量.一个比特是一位二进制数,计算机中的一个字节是8比特.举个例子,32支球队参加世界杯,赛后猜测谁是冠军,通常只需要5五次,就可以得到答案.(把球队编号1-32,然后提问类似的问题:"冠军在1-16号中吗?",只需要提问五次),可以发现,信息量的比特数和所有情况的对数

数学之美札记:谈谈中文分词

之前的札记中,提到了使用统计语言模型进行自然语言的处理,而这些语言模型是建立在词的基础上,因为词是表达语义的最小单位.西方的拼音语言,词之间有明确的分界符,统计和使用语言模型处理相对简单.而对于汉语等东方语言,词之间没有明确的分界符,这就需要先对句子进行中文分词. 中文分词最简单的方式是查字典,这种方式最早由北京航空航天大学的梁南元教授提出.简单的来说,就是把一个句子从左到右扫描一遍,遇到字典里有的词就标识出来,遇到复合词(比如"上海大学")就找最长的词匹配, 遇到不认识的字串就分割成

数学之美札记:文字和语言 vs 数字和信息

数学.文字和自然语言一样,都是信息的载体,他们之间有着天然的联系.语言和数学的产生都是为了同一样目的--记录和传播信息.本文是<数学之美>第一章札记. 1798年,拿破仑远征军中,皮埃尔●弗朗索瓦●布沙尔中尉在一个叫罗塞塔的地方发现了一块破碎的古埃及石碑,上面有三种语言:埃及象形文字.埃及的拼音文字和古希腊文,这就是著名的罗塞塔(Rosetta)石碑. 1822年,法国语言学家商博良破解了罗塞塔石碑上的古埃及象形文字.随着罗塞塔石碑的破译,帮助我们了解了整个古埃及的历史和文明,这要归功于埃及人

数学之美札记:自然语言处理——从规则到统计

自然语言的处理,主要是实现人与计算机之间用自然语言进行有效通信的方法和理论,它经历了从规则到统计的阶段,所谓规则,是指根据定义的语法进行语言的处理,所谓统计,是指IBM为解决语音识别问题提出的自然语言处理的方法,基于统计学. 1946年,现代计算机诞生,人类开始考虑通过计算机来处理自然语言,主要涉及两个认知方面的问题:第一,计算机是否能处理自然语言:第二,如果能,它处理自然语言的方法是否和人类一样.现代自然语言处理的高速发展,说明了这两个问题的答案都是肯定的. 计算机科学之父阿兰·图灵最早提出了

数学之美札记:隐含马尔可夫模型

隐含马尔可夫模型是一个数学模型,它被认为是解决大多数自然语言处理问题最为快速.有效的方法.它成功的解决了复杂的语音识别.机器翻译等问题. 人类信息交流的发展贯穿了人类的进化和文明的全过程.而自然语言是人类交流信息的工具,语言和通信的联系是天然的.通信的本质就是一个编解码和传输的过程.当自然语言处理的问题回归到通信系统中的解码问题时,很多问题都迎刃而解了. 所谓语音识别,就是听话的人去猜测说话者要表达的意思.这就像通信中,根据接收端收到的信号去分析.理解.还原发送端传送过来的信息.我们平时在说话时

读《数学之美》第三章 统计语言模型

自然语言从产生开始,逐渐演变为一种基于上下文相关的信息表达和传递方式,在计算机处理自然语言时,一个最基本的问题就是为自然语言上下文相关的特性建立数学模型,叫做统计语言模型(Statistical Language Model),它是自然语言处理的基础,广泛应用于机器翻译.语音识别.印刷体或手写体识别.拼音纠错.汉字输入和文献查询等. 对于一句通顺的话<1>,如果改变一些词的顺序,或替换掉一些词<2>,它的意思就含糊了,如果随机打乱<3>,则完全不知所云了.对于<1

数学之美 第2章 自然语言处理:从规则到统计

参考书籍:<数学之美> 吴军著 任何语言都是一种编码方式,语言的规则则是编解码的算法. 1. 计算机能否处理自然语言?如果能,它处理自然语言的方法和人类一样吗? Yes and Yes(上下文相关的.基于语料统计的方法) 2. 图灵测试:让人和机器进行交流,如果人无法判断自己交流得对象是人还是机器,就说明这个机器是有智能的. 3. 基于规则的句法分析("鸟飞派"):语法分析.语义分析-->失败:语法规则过多,计算量太大(甚至相互矛盾)+ 语义的多义性严重依赖上下文 高

N-gram统计语言模型(总结)

N-gram统计语言模型 1.统计语言模型 自然语言从它产生開始,逐渐演变成一种上下文相关的信息表达和传递的方式.因此让计算机处理自然语言.一个主要的问题就是为自然语言这样的上下文相关特性建立数学模型. 这个数学模型就是自然语言处理中常说的统计语言模型,它是今天全部自然语言处理的基础,而且广泛应用与机器翻译.语音识别.印刷体和手写体识别.拼写纠错.汉字输入和文献查询. 2.N-Gram N-Gram是大词汇连续语音识别中经常使用的一种语言模型.对中文而言,我们称之为汉语语言模型(CLM, Chi