中文文本自动对准研究_第1页
中文文本自动对准研究_第2页
中文文本自动对准研究_第3页
中文文本自动对准研究_第4页
中文文本自动对准研究_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

中文文本自动对准研究

1分词错误的识别近年来,尽管对中国文字文件的自动审查做出了大量的研究,但由于汉语理论研究的局限性和汉族自身的特点,现有系统的性能与实际需求之间存在着很大的差距。最典型的方法是张照煌先生提出的混淆集替换法,其明显的缺点是只能解决单字替换错误,对多字、漏字、易位、多字替换等错误不能发现。由于中文不同于英文,大多数相关文献认为,中文文本中不会出现“非词错误”,中文文本中的错误可通过对分词后的散串进行分析来发现,但这些方法的缺陷在于,用统计方法所获得的字二元和三元同现数据,数据稀疏严重,运算速度受到影响,查错误报率也很高。另外,对那些成词多字替换错误无法发现,因为分词时并不会出现单字散串,例如,“我们拥护这位领导”→“我们用户这位领导”。本文通过对正确文本分词后的结果进行分析,提出“真多字词错误”和“非多字词错误”的概念,发现一些错误检测的规则,通过对训练文本中出现的那些单字间的同现数据的统计和多字词间的词性同现数据的统计,使得知识库的规模大大缩小,查错速度提高,误报率降低。2非多字词错误在一般的中文文本校对文献中,人们普遍认为,汉语不会像英语那样在文本中出现“非词错误”。英文中的“非词错误”也称单词错误,是指文本中那些被词边界分隔出的字符串,根本就不是词典中的词。例如:them→tehm,the→thr等。而那些在词典中能查到,但却不是当前位置上所希望出现词之的错误称为真词错误或上下文错误。因为大多数汉字都可以单字词的形式出现在词典中,因此,即使一个非常明显的输入错误,导致单字散串出现,也不能说它是非词错误。如“忠耿耿”分词后变成“忠/耿/耿”,人一眼就能看出是非词错误,但对机器来说实在难以判断。根据我们对正确文本分词后的结果观察,汉语文本大多是由二字以上的词构成的,利用我们建立的面向校对的词库对文本分词后,连续形成的单字词一般不会超过5个,且所出现的单字词大多是一些助词、介词、连词或副词等,如“的”、“了”、“很”、“在”、“和”等。如:统一思想/,/总揽/全局/,/加强/协调/,/扎实/工作/。/这是/我们/在/新的/一/年/里/的/指导思想/。/深刻/理解/和/认真/贯彻/这个/指导思想/,/非常/重要/。/首先/是/统一思想/。/只有/思想/统一/了/,/总揽/全局/才有/明确/的/方向/,/加强/协调/才有/正确/的/标准/,/扎实/工作/才有/强大/的/动力/。/在校对词库中,包括了一些共现频率较高的二字对,如“这是”、“只有”、“新的”、“才有”、“在内”等,文本切分后,连续出现的单字个数一般不会超过5个。即使使用普通词库对文本进行切分,连续出现的单字个数也不会多于7个,3个以内的连续单字词是比较多的。为此,我们提出这样的假设:在一般文本中,连续出现的二字以上多字词通常是不会出现词层面错误的,如果有错误,则一般是语法结构或词性搭配上的错误,对这种错误我们可以通过判断词性接续关系找到,把它称为上下文错误或句法错误,也可称为“真多字词错误”,也就是说发生错误的字串是分词词库中的多字词;而那些破坏了词表层结构的错误一般会形成单字串,由于输入错误,导致原本是一个多字词的词串在分词词典中找不到,而被切分成多个汉字,可以将这种错误称为“非多字词错误”。利用我们提出的“真多字词错误”和“非多字词错误”的概念,可以通过中文文本分词后所呈现的特点,找到一些发现错误的规则或方法。3规则与统计相结合的中文文本自动检查模型3.1统计字二元、三元同现基于上述观察与假设可以得知,正确中文文本在分词后所出现的单字词是有限的,主要是一些助词、副词、介词等,而“非多字词错误”必然导致许多单个汉字的出现,而这些单字不同于正确文本分词后经常出现的单字,所以,通过统计正确文本分词后出现的单字词的词频和连续单字词间的接续情况,就可以将那些“非多字词错误”导致的单个汉字串查找出来。由于任何正确的文本分词以后,所出现的单字词大多是那些助词、介词、副词或单个动词等,如“的”、“了”、“很”、“在”、“是”。这些单字词往往是一些高频字,训练语料中数据稀疏的问题要好解决得多。为此,我们利用校对系统中的分词软件对1600万生语料进行分词,并从分词后的文本中统计字的二元、三元同现概率。建立了描述分词后单字词间关系的字二元、三元统计模型。对于那些“真多字词错误”,一般分词后不会出现单字串,但它们的组合关系会出现问题,即词性搭配会出问题,例如,“能大大处长电机的寿命”,分词后为“大大/d处长/n电机/n的/u寿命/n”。“延长”被输成“处长”后,虽然分词结果没有出现单字散串,但它和相邻词的词性不接续,因为词性标注d(副词)与n(名词)间的接续关系极弱。可以通过乔姆斯基文法进行句法分析和语义分析检查,句法分析可以采用自底向上的“移进-归约”算法进行分析。为了简便,也可用规则的方法直接检查句法的合理性。本文拟采用后一种方法,利用规则实现多字词间的句法分析。3.2算法的有效性分析通过对1995年全年人民日报约25,00万语料进行了统计,得到二元字字统计对955944个,三元字字统计对5297091个,这是一个庞大的字字同现库,即使去掉那些低频统计对,其数量也是惊人的,若在查错过程中直接使用这样的知识库进行字字接续判断,无疑会导致巨大的系统开销,降低系统的性能,且误报率较高。根据上面的查错思想,我们对1600万分词后的语料进行统计,得到的连续单字散串的字字二元同现对个数为194878,三元同现对个数为438662,出现二次以上分别只有88134和105686个,比不分词直接统计的数量大为减少,知识库使用更为方便,数据稀疏问题也大为减轻。如表1所示。在查错时,我们只对切分形成的单字串进行字三元接续和二元接续判断,可大大减少查错误报率。对于多字词的情况应用词性二元和三元汉语模型对词的组合关系进行检查。为了使所建模型符合文本查错时的情况,在建立词性二元、三元统计模型时,应用我们的分词软件对1998年1月的《人民日报》进行加工、标记,经标记转换并与北京大学计算语言学所公开的相同文本的熟语料进行对照排歧,得到约200万的熟语料,由此统计出词性二元同现和三元同现数据,建立了词性二元模型和三元模型(P-M2、P-M3),统计数据这里就不再列出了。3.3不同类型的词汇的粘连规则对文本中的多字词的句法分析我们采用三元词性检查。设stword1,stword2,stword3为连续的三个词,stwordlen1,stwordlen2,stwordlen3分别为它们的词长,即它们中所包含的汉字的个数,为此,三个连续的词,从字长上来说可有下列8种情况:(a)stwordlen1>=2andstwordlen2>=2andstwordlen3>=2(b)stwordlen1>=2andstwordlen2>=2andstwordlen3<2(c)stwordlen1>=2andstwordlen2<2andstwordlen3>=2(d)stwordlen1>=2andstwordlen2<2andstwordlen3<2(e)stwordlen1<2andstwordlen2>=2andstwordlen3>=2(f)stwordlen1<2andstwordlen2>=2andstwordlen3<2(g)stwordlen1<2andstwordlen2<2andstwordlen3>=2(h)stwordlen1<2andstwordlen2<2andstwordlen3<2针对这八种情况分别采用不同的词性接续或字字接续检查要求,为此有以下规则:规则1:IF(aorcore)THEN做词性三元接续判定;规则2:IF(borf)THEN对前两个词做二元词性接续判定;规则3:IF(d)THEN对第一个词直接写入,再读入下一个词重新对三个新词进行判断;规则4:IF(g)THEN对前两个词做字字接续判断,将这两个词处理完后,再读入两个词,构成新的三元组,重新应用这些规则;规则5:IF(h)THEN应用字字同现统计数据,做两次二元字接续判断。3.4计算单词延续的方法3.4.1元汉字散串的继续判断对分词后连续出现的单字散串应用字二元接续检查判断是否接续。假设z1,z2为两个连续出现的单字,R(z1),R(z2),R(z1,z2)分别为在训练语料中单字出现的频次和共现频次,N为训练语料中出现的单字总数,则P(z1)=R(z1)/N,P(z2)=R(z2)/N分别为z1,z2在训练语料中单独出现的概率,P(z1,z2)=R(z1,z2)/N为邻接共现的概率。判断z1,z2二元接续的策略:首先根据z1,z2的共现频次判断。如果R(z1,z2)≥τ0(τ0为一阈值),说明z1,z2的共现频率较高,认为z1,z2接续;否则,计算z1,z2的互信息,再按照互信息判断z1,z2是否接续。互信息的定义为:ΜΙ(z1‚z2)=logΡ(z1‚z2)Ρ(z1)×Ρ(z2)(1)该策略可以形式化为如下的字接续判断模型:zzjx2(z1‚z2)={1当R(z1‚z2)≥τ0.ΟR⋅ΜΙ(z1‚z2)≥τ10其它(2)该模型考虑了共现频次和互信息两个因素,虽然用共现频次判断接续简单直观,但却是一个绝对指标,对那些在训练语料中共现频次低,但分别单独出现的频次也低的单字z1,z2,可能会误判为不接续,这时利用互信息式(1)进行判断,当:①MI(z1,z2)≥τ1(τ1为大于0的阈值),则P(z1,z2)>>P(z1)×P(z2),此时z1,z2具有可信的接续关系,并且MI(z1,z2)值越大,接续强度越大;②MI(z1,z2)≈0,则P(z1,z2)≈P(z1)×P(z2),此时z1,z2之间的接续关系不明确;③MI(z1,z2)<<0,则P(z1,z2)<<P(z1)×P(z2),此时z1,z2之间基本没有接续关系,并且MI(z1,z2)值越小,接续强度越弱。对三元单字散串的继续判断,为简单起见,只考虑其在语料中的共现频次。zzjx3(z1‚z2‚z3)={1当R(z1‚z2‚z3)≥τ20其它(3)当zzjx2(z1,z2)=1时,表示z1,z2接续,否则将它们标红。同样,当zzjx3(z1,z2,z3)=1时,表示z1,z2,z3接续。由于建立知识库时,统计的是正确文本分词后的单字散串中字二元、三元同现情况,所以在字接续判定模型中,参数τ0、τ1、τ2通过实验确定。本文在1600万字人民日报语料分词后建立单字散串的统计知识库后,由于在二元字同现库中,有36922个同现对出现5次以上,所以确定τ0=5,同样的道理,确定τ2=5,再根据互信息的试验情况,确定τ1=2.6。例如,“平”和“展”共现次数为1,“平”出现604次,“展”出现334次,计算互信息MI(平,展)=1.89,“止”和“付”共现次数为4,“止”出现186次,“付”出现261次,MI(止,付)=3.12。所以,判定“止付”接续,而“平展”不接续。3.4.2定义二元和三元接入量[b]设句子S=w1w2...wi-1wiwi+1...wm,其中wi(1≤i≤m)为第i个词,Ti[X]为词wi的可能标记,Num(Ti[X])为该词可能标记的个数,设Ti[a]为该词的第a个标记,则Ti[a]∈Ti[X],1≤a≤Num(Ti[X]);Ti-1[X]为词wi-1的可能标记,Num(Ti-1[X])为该词可能标记的个数,设Ti-1[b]为该词的第b个标记,则Ti-1[b]∈Ti-1[X],1≤b≤Num(Ti-1[X]);Ti-2[X]为词wi-2的可能标记,Num(Ti-2[X])为该词可能标记的个数,设Ti-2[c]为该词的第c个标记,则Ti-2[c]∈Ti-2[X],1≤c≤Num(Ti-2[X])。定义P(Ti[a]|Ti-1[b])为从Ti-1[b]到Ti[a]的转移概率,定义P(Ti[a]|Ti-1[b]Ti-2[c])为从Ti-2[c]Ti-1[b]到Ti[a]的转移概率:Ρ(Τi[a]|Τi-1[b])=R(Τi-1[b],Τi[a])/R(Τi-1[b])(4)Ρ(Τi[a]|Τi-2[c]Τi-1[b])=R(Τi-2[c],Τi-1[b],Τi[a])/R(Τi-2[c],Τi-1[b])(5)其中R(·,·)、R(·,·,·)分别为二元或三元词性同现次数,R(·)为当前词性在统计语料中出现的次数。当P(Ti[a]|Ti-1[b])>ρ2tag时,认为标记Ti[a]和Ti-1[b]接续,设CxjxSet2[i]为Ti[X]中所有满足P(Ti[a]|Ti-1[b])>ρ2tag的标记组成的集合,Num(CxjxSet2[i])为相应集合中元素的个数。当P(Ti[a]|Ti-2[c]Ti-1[b])>ρ3tag时,认为标记Ti[a]和Ti-2[c]、Ti-1[b]接续,设CxjxSet3[i]为Ti[X]中所有满足P(Ti[a]|Ti-2[c]Ti-1[b])>ρ3tag的标记组成的集合,Num(CxjxSet3[i])为相应集合中元素的个数。则定义词性二元和三元接续函数cxjx2(wi-1,wi)、cxjx3(wi-2,wi-1,wi)如下:cxjx2(wi-1‚wi)={1如果Νum(CxjxSet2[i])>00如果Νum(CxjxSet2[i])=0(6)cxjx3(w1-2‚wi-1‚wi)={1如果Νum(CxjxSet3[i])>00如果Νum(CxjxSet3[i])=0(7)cxjx2(wi-1,wi)=1时,认为wi-1和wi词性二元接续;当cxjx3(wi-2,wi-1,wi)=1时,认为wi-2、wi-1和wi词性三元接续。判定阈值ρ2tag、ρ3tag的值通过实验确定。在本文实验中,ρ2tag=0.0006,ρ3tag=0.0005。根据对错误文本的分析,可以发现文本中的大多数错误都会以“非多字词错误”的形式即单字散串出现,所以,文本中的错误大多蕴含在3个字以上的单字散串中,连续出现的多字词或多字词中间夹杂一个单字的情况,一般很少有错误,所以,在本文中词性接续判断多字词间的错误只是一个辅助,主要是通过单字间的接续判断来查找错误。4不接续的字词串和网络接口输入:分词后的结果文件segfile.txt输出:带有错误标志的文件rstfile.txt主过程描述如下:step1.确定分词后的输入文件和查错后的输出文件,并对文件指针初始化;Step2.变量初始化。将串变量S,S1,S2置空、循环变量赋初值;Step3.从分词文件segfile.txt中读一整句(以标点,、。;:为结尾)到串变量S中;Step4.对串变量S做字词接续检查和英文单词拼写检查,将不接续的字词串和词典中没有的英文单词标错误标志,结果送串变量S1;Step5.对串S1做日期检查,将不对的日期写入错误标志送串变量S2;Step6.对串变量S2做括号配对检查,将句中不配对的括号标以错误标志;Step7.将含有错误标志的字词串S2输出到输出文件rstfile.txt;Step8.调用标红过程,对错误进行标红,并输出到用户接口。算法1.1字词接续检查和英文单词拼写查错算法该算法是算法1的主要子过程,是算法1的核心。输入:分词后的句子S=w1w2…wi-2wi-1wi…wn输出:句子S1=w1w2…[wj…wj+k]…wn,其中[wj…wj+k]为被判定的不接续的词或词串或错误的英文单词。这里使用wi表一个分词单位。算法描述如下:功能:根据上述5条规则,结合词性三元统计模型对连续的三个多字词进行词性接续分析。输入:串变量stword[i],stwordlen[i](i=1,2,3)返回:将stword[i](i=1,2,3)连同词性接续信息写入S1具体算法描述这里略去。algorithm1.1.2子过程功能:在句子分析中遇到句子结束标志或英文单词时,对三个变量stword[i](i=1,2,3)中词的处理办法,这时的三个变量可能分四种情况:三个变量中的词已全处理完、还有一个词、两个词和三个词,算法描述如下:由于篇幅所限,有关日期检查和句子中的各种括号配对检查的算法这里略去。5试验结果和例子5.1错误及其处理我们选择了30篇含有578个错误测试点的文本样本,利用规则与统计相结合的算法进行查错,共查出错误723个,其中,真正的错误502个,召回率为86.85%,查准率为69.43%,误报率为30.57%。例句1.在长期计划经济习惯执力的影响下。(五笔近码、多字替换)例句2.祖国统一是全体港奥同胞的心声。(拼音同码、多字替换)例句3.以城市青少年群题创造的流行。(拼音同码、多字替换)例句4.一九一二年二月四五日,是一个难忘的日子。(日期错)例句5.忽视发挥利率的杆杠作用。(易位错误)例句6.中国人民解放军进入西藏正是为了保障中国领士主权的完整。(形近别字)例句7.维护建筑市场场秩序。(多字错误)例句8.今天是他

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论