-
1. N元文法模型
1.1 N元文法介绍
基于统计的方法理解一句话,就是要从一句话的每个位置全部候选字中选择一个最可能的句子,我们假定一个字只与前面的N-1个字有关,若没有N-1个音就补以空音。这种N-1阶的马尔可夫模型,在语音理解中又特别地被称为N元文法模型(N-gram Model)
N元统计计算语言模型的思想是:一个单词的出现与其上下文环境中出现的单词序列密切相关,第n个词的出现只与前面n-1个词相关,而与其它任何词都不相关。
1.2 利用N元文法来纠正中文文本错误
n-gram 是常用的统计语言模型,其中尤以二元文法Bigram)和三元文法Trigram)的应用最多。n-gram 模型统计各种语言的邻接共现规律,反映句子的局部范围是否符合语言规范,被广泛用于自动校对中的错误查。在英文的自动校对中使用了词和词的Trigram,把以字、词、词性为共现元素的Bigram 应用于了中文自动校对中,取得了较好的效果。
由于局部错误在文本的错误中占多数,所以选择合适的查局部错误的方法对自动校对来说至关重要。我们知道,对正确的语言现象,字词之间的邻接共现概率较高,对一些不符合语法规范的错误,字词之间的邻接共现概率较低。所以,可应用反映字词之间邻接共现规律的n-gram 模型,对句子进行局部分析,查文本中的局部错误。
例如:
重要课题
重要
方法1:对训练语料先进行自动分词,然后统计二元词邻接共现的规律,相邻的两个词wiwi+1 正则化统计记为一个词单元ui,下一单元ui+1= wi+1wi+2,该方法统计句子中词单元的绝对次数Count(ui),将其作为模型的参数;
方法2:使用方法1 的训练数据,以相邻三个词wiwi+1 wi+2 作为一个词单元ui,然后统计三元词邻接共现的绝对次数Count(ui),扩大词共现的邻接范围
方法3:由于三元词的共现存在很大程度的数据稀疏,这里,对方法2的统计结果进行平滑处理,采用的是插值平滑方法。
1.3 利用N元文法来提取中文文本特征
基本假设1.组成文本集合的汉字数量不随文本长度的增加而增加。
基本假设2.对于每一个汉字,由它组成韵词的数量是有限的。
词典无关分词方法的原理是统计文本中各种字序列的出现频率,将出现频率高的字序列判断为词。Canvar2-gram算法统计文本中依次提取的二字序列的出现次数,并提取出现频率高
2-gram作为词。Jian—YunNie在文献中用实验证明,2-gram算法表现出比基于词库分词更好的效果。Ogawat2-gram算法进行了改进,使其适用于日语。
上述方法大多对多字词关注不够,胥桂仙提出一种基于“最长字共现”原则的分词方法,在。定程度上解决了这一问题,但并未对其算法的正确性进行证明。另外,基于Apriori的算法的分词方法大致过程可描述如F:“合并步”组合频繁的n-gram形成候选(n+1)-gram:“剪枝步”扫描原始文本检查候选(n+1)gram是否频繁;最后,通过逐层出现频度的比较删除所有的sub-gram,即某(n-i)-gram属于n-gramH(n-i)-gramn-gram出现次数相同;如“数据库”中的“据库”。
基于Apriori的算法可发现任意长度的中文高频词,但它的不足是在合并频繁的n-gram时,由于某些纽词能力较强的字的影响,合并产生的候选(n+1)gram的数量将达到n-gram数最的平方,严重影响r“剪枝步”效率。这一问题称为“组合爆炸”。本文提出的新算法用iigram及其相邻字共同作为判断频繁集是否进行组合的标准,从而克服了“组合爆炸”问题,使特征提取全过程的时间复杂度降为O(CN)C是常数。
2. Aprior算法
其思想在于统计规则时根据频繁项的性质来简化提取次数。
3. Vertbi搜索算法
使用Vertbi算法,能够根据一个给定的观察序列和一个模型,在最佳的意义上确定内部状态序列。也就是说,根据可观察的事件序列,来推测不可观察的内部状态序列。
4. 统计方法
4.1 统计词频
从形式上看,词是稳定的字的组合,因此在上下文中,相邻的字同时出现的次数越多,就越有可能构成一个词。因此字与字相邻共现的频率或概率能够较好地反应成词的可信度。这就是词频统计的基本原理,这种技术发展至今已经有许多不同的统计原理。
4.2 中文词序列的最大概率值
基于统计的中文姓名提取方法》-微软亚洲研究院
因为在中文句子的字与字之间没有间隔,所以很难将中文句子切分成有意义的词或短语。汉语通常用最大长度匹配或基于统计的方法来切分。最大长度匹配方法的基础是较长的中文词语比短的词语表达更多的意思的规则,而统计方法试图到中文词序列的最大概率值
本系统中所用的模型包括二个部分:(1)模型产生Name-class,(2 )模型产生Name-class内部的第一个词,(3)模型产生Name-class内部的所有其它词。
Pr(NC|NC-1, w-1)
Pr(wfirst| NC ,NC-1)
其中NC表示当前的Name-class, NC-1表示前一个Name-class, w-1表示前一个类中最后一个字或词,wfirst表示当前类中的第一个字或词。Name-class内部产生所有非第一个词的模型:
Pr(w| w-1 ,NC)
分词采用的也是Viterbi束搜索算法,用来训练的语料有16亿个中文宁。我们用最大匹配算法建立初始系统,再使用滚动学习的方法训练基丁统计方法的分词系统,最终得到词与词间的二元概率模型。为了训练基于类的语言模10和特定的概率语法,实验中使用了均衡的中文语料。人约有2000万个汉字。这部分训练语料用基于规则的方法标注姓名后。再进行粗略的人J修改。实验中所指的中文姓名是用中文表示的中国姓名和外国姓名。
首先针对基于统计的方法.分别以字或词为单元来做比较。在实验中,以词为单元的做法是,在分好词的基础上,将词看作字,用与字单元同样的方法训练和识别。从上卜文的关系来看,以词为单元能够比以字为单元获得更多的信息。也能够得到更好的识别结果。但从识别结果来看,以字为单元的准确率和召回率总体上要好一点.土要的原因是以词为单元的实验中,所用的训练数据不足。如果训练数据的规模再人一点,以词为单元、基于统计的方法会得到更好的结果。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。