一种给批量汉字加注带有声调拼音的方法
25卷第4期2008年4月微电子学与计算机MICR0ELErR0NICS&COUTERVlo1.25No.4April2008一种给批量汉字加注带有声调拼音的方法马志强(内蒙古工业大学,内蒙古呼和浩特010080)摘要:由于汉字存在着多音字的情况,所以给汉字加注带有声调的拼音带来了困难.为了解决这一问题,设计了单字与词语相结合的加注方法.首先构建了带有声调的拼音字典和词典,拼音字典中同一个多音字的拼音按照使用频率进行排放,并且对词典中的词语按照最后一个字进行了索引;然后设计了基于整词二分的二层索引结构,实现了改进的最大逆向分词算法;最后设计了三种实验方案,进行了对比实验.实验结果表明,在没有使用该方法前它的错误率为11%,使用后错误率下降为0.09%.关键词:汉语拼音;多音字;拼音词典;中文分词中图分类号:TP391文献标识码:A文章编号:1000—7180(2oo8)o4—0185—03TheMethodofChineseMarkedwithPinyinwithTonalityMAZhi—qiang(InnerMongoliaUmversityofTechnology,Huhhot010080,Chim)Abstract:AsthereispolyphonyinChinesecharacters.itissurdydifficultforUStOmarkwithpin~nwithtonality.Themethodisdesignedtosolvetheproblembycombimngcharacterwithword.Firstly,thedictionaryofPinyinwithtonalityandthelexiconwithPin~nwerecreated.ThePin~nofpolyphoneinthedictionarywasarrayedbytheusedfrequency.andthedictionaryofPin~nwasindexedaccor~ngtothelastcharacterofword.S~ondly,theIn】preversemaxilnLffnmatchingalgorithmbasedOFtthetwomyindex~stnacturebasedb越D,_sek.bwD耐wasimplo-nented.FmaUy,three.(p一mentalschenleSweretested.andtheresul~ir~licatedthemethodmakesezlorratedownfrom11%幻
0.09%.Keywords:ChinesephoneticMphabetic;polyphony;lexiconwithPinyin;Chinesewordsegn~ent1引言在日常的应用中常常需要给批量汉字加注拼音.例如:对那些已掌握拼音的初学者,如果给他们学习的中文资料加注了拼音,将会方便他们的学习.目前,将汉字转换为拼音的常用方法是建立汉字的拼音字库,采用匹配的方法进行加注.但是,由于存在着多音字,字与拼音存在着一对多的关系,而且,这种关系不能通过规则消除.给计算机加注拼音带来了困难.2批量汉字转换为拼音的模型2.1理论基础在GBK编码下,20902个汉字中有3099个多收稿日期:2008—06—01音字.这些字在特定的句子和词语中有不同的拼音.例如:”差”字有cha,cha,ch6i,chai和ci五个发音,对”出差”,”顺差”和”差劲”等词如果按照第一个发音加注的话,只有最后一个是正确的,正确率低.但是如果按照词语去处理的化,由于它们的拼音在拼音词典中是唯一的,所以加注的拼音完全正确.因此,对批量汉字加注拼音的过程,由过去给单字加注拼音的过程转变为给词加注拼音的过程.2.2转换模型整个转换过程如图1所示,需要带有声调的拼音字典和拼音词典.整个过程包括三个重要环节:一是分词并给词加注拼音.首先对批量汉字依据拼音词典进行分词,然后给词语加注拼音.它是消除多音字的核心模块.二是给字加注拼音.给分词后仍然是186微电子学与计算机2008拄单个汉字的字加注拼音,采用常用拼音优先的算法实现;三是使用规则消除常见声调的错误.根据汉语发音规则,对句子中某些字的声调进行修正I输入要转换的文字I1分词
并给词加拼音II给字加拼音Il根据规则消除错误图1汉字转换拼音的模型3核心技术与实现3.1分词技术目前,已有的分词方法主要有以下三种:机械分词,基于概率统计语言模型的分词和基于语义理解的分词[1—41.机械分词是指按照一定的策略将待分的汉字串与词典中的词条进行匹配的过程.若在词典中到该字符串,则匹配成功,即识别出一个词.按照扫描方向的不同,分为正向匹配和逆向匹配;按照不同长度优先匹配的情况,分为最大(最长)匹配和最/b(最短)匹配;按照是否与词性标注过程相结合,又分为单纯分词算法和分词与标注相结合的一体化算法.基于统计语言模型的分词算法是指采用不同的统计方法对语料库进行训练,依据统计结果进行分词的算法.按照统计方法的不同,分为:N阶马尔柯夫链语言模型(N元文法);隐马尔柯夫模型(HMM);概率上下文无关文法(ProbabilisticCFG,PCFG);概率链接语法(ProbabilisticLinkGrammar)等.基于语义理解的分词方法是指在分词的同时进行句法,语义分析,利用句法信息和语义信息来进行词性标注(以解决分词歧义现象)实现分词.该算法主要通过构建知识库,使用知识库规则进行分词.本方法选用最大逆向匹配的分词算法.因为给汉字加注拼音时,要求已知字和词的拼音.这些已知的字和词以及对应的拼音就构成了带有拼音的字典和词典.根据梁南元先生l3j的研究,逆向分词的正确率比正向分词的高.这样做的目的是减少分词时引入新的错误.3.2带有声调的字典和词典的机制由于对批量汉字进行加注,所以,拼音字典
和词典的结构是影响系统速度的主要因素.目前,常用词典的结构主要有整词二分和TRIE树两种结构.由于TRIE树结构空间浪费严重.因此,设计了一个基于整词二分的二层的索引结构.为了进一步提高逆向分词速度,构造了逆向拼音词典,即词典中的词按照词的末尾字进行分类组织l1,5-6].该结构分为首字结构散列表和词典正文两级,如图2所示.首字结构两字词表三字词表多字词表图2基于整词二分的二层索引结构3.2.1首字结构首字结构散列表中包含了字典中全部汉字,以及该字的基本信息,如图3所示.它不仅包含该字自身的信息,并含有指向词典正文的指针.chlmflagIpylist『twop}twoc『threeplthreecImorerpfmorec图3首字结构ch:汉字;morep:多字词指针,同上.mflag:是多音字标志位,表示该字是否为多音twoc:两字词的个数,即以ch为尾的两字词个字;数,目的是指出查表的范围.pylist:该汉字的拼音列表指针,列表中根据拼thieec:三字词的个数,同上.音的使用频率进行排序;morL~:多字词的个数,同上.twop:两字词指针,即以该字为尾的两字词在maxlen:最大长度.以该字为尾字的词的最大长两字词表中的位置;度,主要目的是进行最大匹配分词时,减少查询次threep:~”字词指针,同上.数,特别是当它为0时,说明没有以该字结尾的词,第4期马志强:一种给批量汉字加注带有声调拼音的方法187就不需要分词.3.2.2词典正文词典正文分成两字词表,三字词表和多字词表,目的是缩小查范围,提高查询速度.表中的记录由两个字段组成:词和拼音.为了提高查询速度,查询算法的核心采用二分查,
所以在三个表初始化时应实现内容的有序存放.两字词表和三字词表的实现比较简单,只需按照GBK的内码顺序进行排列即可.而对于多字词表则要按照词的长度进行排列,如果长度相等,则按内码顺序排列[7-8].3.3改进的最大逆向分词算法对文章分词前,先要将文章根据中文的标点符号,分成一个个子句.然后,对这些子句进行分词.该算法主要在抽取词的边界上进行了改进,减少了比较次数指针拼音.设子句为S=C1C2C3…;当前分词的位置为,词库中以字C结尾的最大词长为maxlen,所以抽取词W=C,C1…C,其中l0c—maxlen<j<loc.改进的分词算法如下:1:location=str.1ength();/做置查游标的初始位置,从子句的末尾开始2:while(1ocation>0){//x~t子句进行分词3:ZiNodezi=(ZiNode)dic.search(str.chatat(1ocation))//ff词典中查字;4:if(zi!=NULL){//熏口果该字在词典中5:if(zi.maxlen~0){//根据字典索引中的该字构成的最长词的长度,设置最大6://匹配的次数7:start=location—zi.maxlen>07location—zi.maxlen:0;//设置取词的首位置8:ei:str.substr(start,location);/AR待查的词9:for(j:start;j<location;j++){//裁剪新词,使其成为一个词典中的最大词10:result:citable.bisearch(ci.1ength(),ei);//根据词的长度,在三个表中11://进行查12:if(result){location=J;//修改游标13:locmodify:true;//G0~改loction标志14:拼音并修改游标15:16:17:18:break;}/俄到词和对应}//foreIse{//是一个单字zi.getfirstpy()//取第一个拼音}//if(zi.maxlen>O)19:}//if(zi)20:if(!locmodify)location一一;//修改
游标21:elselocmodify=fal~;//修改location标志22:}//while4实验及结果分析随机挑选了人民日报2006年的一篇文章,文件长度为9kB,共有4521个字符,其中汉字4150个.使用JAVA语言编写的算法对上面的数据进行了三种方案的对比实验.三种方案分别是:方案一采用单字加注拼音的方法;方案二对字典中多音字发音顺序进行了调整,将常用发音作为单字的第一个拼音;方案三采用字,词相结合的方法给汉字加注拼音,也就是文中提到得这种方法.实验结果如表1所示.表1实验结果实验结果表明:方案一错误率高的原因是没有考虑多音字的情况,即拼音字典没有对多音字的拼音进行处理,只是按照字母顺序进行了排序.加注算法也只是简单将第一个拼音加注给了对应的汉字.方案二的错误率能由原来的11%(460/415o)下降到1%(56/4150),是使用了带有使用频率的拼音字典.因为有些多音字常常会高频率的使用一个固定的拼音,只有在特殊的情况下,才会改变拼音.加注算法按照使用频率对多音字的拼音进行选择.方案三的错误率下降到了0.09%(4/4150),是因为使用了分词技术,进一步消除了多音字拼音不固定的情况.5结束语实验结果表明,利用字和词相结合的方法给批量汉字加注带有声调的拼音,使错误率由11%下降到了0.09%.所以,这种方法是简单易行的.但是,这种方法也存在着分词后仍存在多音字,多音词和分词歧义等问题.所以,下一步工作的重点是统计多音词的使用频率,改进拼音词典;建立拼音规则库,消除声调错误,进一步降低错误率.(下转第191页)第4期王刚:基于AdaBoost和
PCA的动态人脸考勤技术研究191阈值的随意性,确保阈值取值的合理性4实验结果及分析动态人脸考勤系统采集了天思智能系统研究所50位博硕士生的各10幅图像进行识别实验,结果表明系统一次性识别率达到为96%,主要原因在于:(1)人脸训练库比较小,人员固定;(2)要求考勤时人脸正面或近似正面对准摄像头;(3)通常情况下用户在考勤时候姿态,表情都是正常情况,没有太大变化,也没有复杂背景及夸张性的化妆等情况,所以识别率很高.5结束语文中设计并实现了基于Adaboost和主元分析法(PCA)的动态人脸识别考勤系统.Adat~ost算法选择多个弱分类器构成强分类器,提高人脸的检测速度;PCA算法实现从高维特征空间到低维特征空间的降维压缩处理,提取出高维人脸图像在低维空间的特征描述,实现人脸识别,最终实现考勤管理.系统运行结果表明,动态人脸识别考勤系统具有人脸识别动态性,识别率高,实用性好,可靠性强等特点.下一步的工作是进一步优化人脸特征的选择和提取算法,提高识别的速度和系统的性能.119.[2]ViolaP,JonesMJ.Rapidobjectdetectionusingaboostedcascadeofsimplefeatur~[C]//ProceedingsofIEEECon—fereneeonComputerVisionandPatternRecognition.Hawaii,Cambridge,2001:511—518.[3]武妍,项恩宁.动态权值预划分实值Adaboost人脸检测算法[J].计算机工程,2007,33(3):208—209.[4]LienhartR,MaydtJ.Anextendedsetofhaar—likefeaturesforrapidobjectdetection[C]//Proc.oft
he2002Intema—tionalConferenceonImageProcessing,SantaClara,USA,2002:900—903.[5]t3oWu,HaizhouAi,ChangHuang,eta1.Fastrotationin—variantmulti——viewfacedetectionbasedonrealAdaboost[C]//ProceedingsSixthIEEEInternationalConferenceonAutomaticFaceandGestureRecognition.Beijing:Ts—inghua,2004:79—84.[6]KirbyM,SirovichL.Applicationofthekarhunen—loeveprocedureforthecharacterizationofhumanfaces[J].PAMI,1990,12(1):103—108.[7]TurkM,PentlandA.Eigenfacesforrecognition[J].JournalofCognitiveNeuroscience,1991,3(1):72—86.[8]张威,魏冬生.基于Adaboost与支持向量机的人脸特征提取[J].微电子学与计算机,2007,24(5):69—72.[9]徐正光,沈晓冬,张利欣.基于小波变换和神经网络集成的人脸表情识别[J].微电子学与计算机,2006,23(7):144—147.文献:作者简介:FreundY,SchapireRE.Adecision-theoretic~generaliza兰975_),博士研究生,讲师.研究方向为信息tionofnelearningandanapplication幻廿.络全墨川JournalofComputerandSystemSciences,1997(1):55一,工’’(上接第187页)参考文献:[1]马志强,周长胜,杨娜,等.基于中文搜索引擎的分词词典的设计与实现[J].铁路计算机应用,2006,15(12):45—47.[2]马志强,周长胜,杨娜,等.校园网搜索引擎的研究与实现[J].北京机械
工业学院学报,2007,22(1):12—15.[3]梁南元.汉语计算机自动分词知识[J].中文信息学报,1990(2):29—33.[4]郭翠珍,朱巧明,李培峰,等.基于信息网格的分词服务的研究[J].微电子学与计算机,2006,23(5):121—123.[5]袁里驰,钟义信.一种新颖的词性标注模型[J].微电子学与计算机,2005,22(9):1—2.[6]孙茂松,左正平,黄昌宁,等.汉语自动分词词典机制的实验研究[J].中文信息学报,2000(4):1—4.[7]陈正,李开复.拼写纠正在拼音输入法中的应用[J].计算机学报,2001,24(7):758—763.[8]中国社会科学院语言研究所词典编辑室.现代汉语词典[M].北京:商务印刷馆,1992.作者简介:马志强男,(1972一),硕士,讲师.研究方向为数据挖掘,搜索引擎.
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论