简与美(4)

来源:互联网 发布:python与r语言哪个好 编辑:程序博客网 时间:2024/05/02 16:59
脑中的数学是抽象的,手中的数学是简单的。
 
前面已经讨论了中文分词三个阶段的第一个阶段:字串粗分。经过字串粗分得到一个候选集合,我们也讨论了通过N-最短路径构造一个词图来减少这个候选集合的结果数目。理想情况下,如果这些候选结果包含了正确的分词结果,那么后续的处理就可能把正确的结果找出来,但如果经过粗分,把正确结果已经剥离了,那么后续处理就很难甚至不可能把正确结果找回来了。
 
实验结果证明,N-最短路径已经能够把准确率(包含正确结果)提高到99.5%以上,所以大可不必对结果太过沮丧。
 
如果说第一个阶段是粗糙的切分过程,那么后面两个阶段就可以称作是对分词结果的精细加工。我们之前也说到过,最准确的分词是基于上下文的,但是机器不容易理解上下文,我们只能通过一些方法,把问题抽象成数学模型,这样才有可能让机器理解分词。
 
我们之前已经讨论过在N-最短路径方法中加入一元统计模型,即引入词频的统计信息,词频是通过大量编辑好的语料统计出来的并存储到词典中,在求解N-最短路径的过程中,把词频作为边长运行算法,可以得到更加准确的、结果数量更少的粗分集合,这就是一种最简单的上下文信息,他认为每个词语都是独立的无关联的。
 
分词的后面两个阶段--未登录词识别和词性标注--是对分词的进一步精加工,我们的思路是引入对上下文理解的更好的统计模型,并把这个统计模型结合N-最短路径方法构造的词图,完成未登录词识别和词性标注的任务,这三个阶段的处理,已经可以得到准确率较高的分词结果了。
 
但是,我们要引入的这个统计模型可并不容易构造,而且,他比较依赖于语料库的质量,如果有千万级以上词汇量的高质量语料库,效果就会非常好,但是制作语料库的成本是相当高的。好在现在已经有研究机构把这个脏活做的不错了,市面上就有不少质量很高的语料库,比如人民日报1998年全年的分词语料库。
 
语料库一般是已切分好词语并做了词性标注的字串,例如:我/r 是/v 啃饼/nr 。/w
“我”是代词,“是”是动词,“啃饼”是人名,“。”是标点符号。
 
未登录词识别和词性标注依赖的统计模型是隐马尔科夫模型,这是自然语言处理领域非常出名的一个模型。在进行隐马尔科夫讨论之前,我想先论述一下基于统计的语言处理模型的特点和局限性,在充分的了解这个领域的前提下再去理解相关的统计模型,会更加清晰,自私的说,我也会更容易说清楚。
 
先听听一些质疑的声音:语言学家总结出的各种语言学规则,对于语言信息处理还有用吗?单纯依赖概率统计方法,能够完成语言信息处理任务吗?或者更深入一点:能够从带标注的语料库中,通过概率统计方法获得真正的语言知识吗?
 
从语言学的角度看,语言是具有递归性的结构特点,语言知识具有依赖于结构的特点,这两点使得任何统计方法都难以真正挖掘出系统的语言知识。基于统计的语言模型只能在某些非结构化的语言领域凑效。
 
建立基于统计的语法模型的思想,最早源于信息论。shannon和weaver指出了信息论对于语言学研究可能具有的意义:诚如我们所知道的,这种跟来源相联系的信息的概念,会直接促成对语言的统计结构的研究。拿英语来说,信息似乎对于研究语言和交际的每一方面的学者,必定都是重要的。看起来,使用涉及马尔科夫过程这种强有力的理论的观念,对于语义学研究尤其有前途,因为这种理论特别适合于处理意义的最重要但也最困难的方面,即语境的影响。
 
对于他们的提议,语言学家作出了热烈的响应。Hockett对信息论作了具体的介绍和评论,并指出信息论在语言学以及其他方面的可能应用,讨论了音位化和讯号单位的最大平均熵问题、音位系统的统计结构和总体熵问题、语素--音位的转换和概率问题,特别讨论了怎样利用语素序列的统计特点来判断直接成分的界限。Hockett把信息论的成果应用到关于人类语言的马尔科夫过程模型的构造中,他用状态和转移概率组成的矩阵表来说明语句的统计结构,还引入熵来度量每一种状态的不确定性。他相信,如果统计英语中所有语素和许多语素序列实际出现的相对频率,并进行适当的计算,那么,整个语法结构就能用上述概率转移矩阵的方式刻画出来。
 
基于统计的语言模型是相对于基于规则的语言模型而言的,前者是一种概率性的非确定性的语言处理模型,后者是一种确定性的语言处理模型。一般说,确定性的模型运用明确的规则来表述物理世界或者自然语言的已知的特定属性。在物理学中,如牛顿力学,在自然语言中,如正则语法、上下文无关语法等形式语法。但是,并不是所有的物理世界和自然语言的现象都可以用确定性的规则来刻画,而且这些规则的使用也具有不确定性。在这种情况下,统计模型被用来描述物理世界和自然语言的统计属性。建立统计模型的基本假设是:物理世界和自然语言可以用随机过程来刻画,而随机过程中的参数可以精确的估计。比如,物理学上的统计力学,自然语言中的概率语法,都属于统计模型。
 
当人们用规则方法不能处理语言时,自然会转向统计方法,希望用在语料库中对相关数据统计的方法来为要解决的语言问题建立统计模型,并且由语料库中的训练数据来估计统计模型的有关参数。
 
对于下面要介绍的马尔科夫模型,需要基于一个假设:假定N+1个符号出现这个事件的机会只会跟其前面的N个符号的出现相关,但是跟语句中的其他符号的出现与否都无关。这就是概率论的独立性假设,这已经跟语言的实际情况相对立了,并且,在实际构造和实现统计模型的的时候,为了避免自由参数太多而造成计算上的指数爆炸,同时为了克服训练的数据稀疏问题的困难,这个N的数目不能太大,通常要减少到3以下才能实施。这就使得基于统计的语言处理模型离语言事实越来越远。
 
独立性假设是一把双刃剑,基于统计的语言处理模型借助于独立性假设,使得统计模型得以实施,但是,独立性假设过度简化了语言模型,使得统计模型只能处理对结构关系依赖性不强的对象,而那些依赖结构关系的结构化对象,例如代词的先行词求解,则比较难用统计模型处理。
 
时间关系,今天又无法完成隐马尔科夫模型的介绍。我会在下一篇介绍马尔科夫模型的同时介绍一种N元模型(语言的马尔科夫统计模型)。不想仓促写出来是为了能够表达的更加清晰。
 
待续...
原创粉丝点击