拼音转换及智能纠错技术

 

设计者:吴春尧 Email:wuchunyao@vip.163.com

 

1 现状和意义

拼音转换技术作为搜索的一项附加功能,很大的方便了用户。有了这项功能,用户可以直接输入拼音串就可以得出想要的汉字串,这对于所在计算机上没有合适的输入法的情况下搜索的用户非常方便;这项技术能够提示更多的备选项,比输入法有更大的优势;有了这项技术,用户可以不用打开输入法,既可以进行搜索,一定程度上改变了搜索行为。

拼音转换技术的另一个功能拼音智能纠错是针对用户的错误输入通过同音串进行的正确提示,由于大部分的输入法无法获得最新的词库,因此,用户需要输入法特殊词汇很难在普通的输入法里面快速的找出,这项技术正是提供了这样的方便。网络的新词层出不穷,这正是搜索引擎拼音转换的智能纠错技术的优势所在。借助于学习模块,其后台数据可以很快更新,任何新的词语可以很快地反映到用户的输入就正当中。使得这项技术真正为用户提供方便。

目前, 拥有这项技术的搜索引擎还很少。大部分是基于高频词汇与汉语拼音对应进行转换的处理办法。这样的办法简单易行,但是汉语是大字符集语言,音字词库无法囊括所有的用户输入;不在词库内的句子更是无法转换,因此,降低了用户对这项应用的使用信心;对音字词库的更新也存在问题,新的条目需要全部加入才能识别出来,尤其是长的条目句子,这样的处理方法显然越来越会增加系统开销,甚至是失去了转换能力,也无法进行长久的扩展。另一种技术就是用通用的音字转换技术,google使用的就是这样的技术,这种技术不受拼音词库的限制,而是使用通用的转换引擎,就所有的汉字都转换成可能串。后一种技术的方法也有很多种,有基于字的有基于词的,又基于字的,性能有一定的差别。

不妨可以探讨两种方法的结合,对于短词的输入,可以直接查字典来获得,对于字典内没有的,可以使用后一种方法。很显然,后一种方法对系统的可用性来说是必须的。甚至可以直接使用,无需对词库做繁琐的维护。

本文针对后一种的转换方法作了详细说明,也列举了部分测试结果和中间结果。

2 技术介绍

本系统采用基于词的概率算法,概率算法是目前的高性能的汉语分析算法,据有关资料统计,至识别率可以达到90%以上,目前比较好的分词方法很多也是使用的概率消岐。汉语词是相对稳定的。因此本软件音字转换技术基于词转换方法,提供了很高的转换效果。拼音的分词与汉字的分词处理有类似之处,但是更加复杂。对拼音串进行词的分割必定获得一个复杂的网格,拼音的分割产生一个错综有向无环图,获得图的最优路径为本问题的关键所在。网页拼音字转换要求有更得的输出选项,这样,进一步增加了问题的复杂性。

2.1 处理办法

本软件借助学习好的语言模型,获得此与此之间的搭配关系,最终进行网格层面的评分,从而获得最优的几个评价结果作为输出。

 

2.2 复杂性分析

由于系统的评分采用的是概率算法,需要对网格作详细的评分。

系统的计算复杂度为n*n*m*l

其中

n 汉字数,根据词的长短不同 1-40

m节点层数,出现歧义的可能 1-4

l 词串长度,输入拼音串可能被分割成的词的个数 以下

 

2.3 功能:

1 拼音歧义处理:对用户连续的拼音串,进行歧义分解从而进行统一评分。比如:xian 可以是: 或者 西安

2 拼音串汉字串的转换

3 拼音纠错

 

3 资源

完善先进的算法也需要全面概括的学习语料资源,本算法的学习语料使用的是一年的已标注的人民日报新闻语料,总计达 70m。从而获得了很大的覆盖性。所有语料均做了人工切分和标注。从而,保证了识别的可靠性。

4 专用设计

针对不同的识别对象系统可以面向特定的领域进行学习,所以,目前的演示系统除了使用人民日报语料外,还使用了部分网络搜索日志作为学习语料,从而,一定程度的提高了对网常用词语句子的识别效果。对新的语料需要进行标注处理才能进行学习,系统的学习模块实现了分词、标注、新词识别的自动处理。对获得的少数新词可以由人工进行筛选,加入到原来的模型当中,这样,进一步提高效果。

 

5 部分测试分析

5.1 在线分析测试样例

这是“zhonghuarenmingongheguowansuiwansuiwanwansui

hua 外围歧义 guo外围歧义

处理过程

词:中 63335/78174+ 13+1    1/80403   -11.505290

词:种 10906/78174+ 13+1    1/80403   -13.264339

词:重 2552/78174+ 13+1    1/80403   -14.716475

*************************************************

词:中华 2952/3002+ 7+1    1/54924   -10.930163

词:种花 17/3002+ 7+1    1/54924   -16.030368

词:仲华 12/3002+ 7+1    1/54924   -16.355790

*************************************************

词对:中 -11.505290   3/ 8+13+1  1857/ 7764    -25.934842

词对:中 -11.505290   2/ 8+13+1  1115/ 7764    -26.732274

词对:种 -13.264339   8/ 13+13+1  2409/ 7764    -26.827629

*************************************************

词:种花人 1/3+ 1+1    1/79908   -11.694096

*************************************************

词对:中 华人 -11.505290   1/ 1+2+1  1190/ 1259    -23.548768

词对:种 华人 -13.264339   0/ 0+2+1  1190/ 1259    -42.342204

词对:中 华仁 -11.505290   0/ 1+2+1  66/ 1259    -43.461011

*************************************************

词对:中华 -10.930163   0/ 0+9+1  38574/ 42730    -39.673699

词对:中华 -10.930163   0/ 0+9+1  3668/ 42730    -42.026384

词对:种花 -16.030368   0/ 0+9+1  38574/ 42730    -44.773904

*************************************************

词对:花 -25.934842   4/ 4+9+1  38574/ 42730    -38.361565

词对:华 -30.346027   1/ 1+9+1  3668/ 42730    -45.800564

词对:画 -26.732274   0/ 0+9+1  38574/ 42730    -55.856911

*************************************************

词对:中华 人民 -10.930163   0/ 0+3+1  26862/ 26868    -39.571588

词对:种花 人民 -16.030368   0/ 0+3+1  26862/ 26868    -44.671793

词对:仲华 人民 -16.355790   0/ 0+3+1  26862/ 26868    -44.997216

*************************************************

词对:花 人民 -25.934842   0/ 0+3+1  26862/ 26868    -54.957368

词对:画 人民 -26.732274   0/ 0+3+1  26862/ 26868    -55.754800

词对:话 人民 -26.827629   0/ 0+3+1  26862/ 26868    -55.850156

*************************************************

词对:种花人 -11.694096   0/ 0+11+1  979/ 1413    -41.076179

词对:种花人 -11.694096   0/ 0+11+1  143/ 1413    -42.993918

词对:种花人 -11.694096   0/ 0+11+1  130/ 1413    -43.088534

*************************************************

词对:华人 -23.548768   0/ 0+11+1  979/ 1413    -52.555925

词对:华人 -23.548768   0/ 0+11+1  143/ 1413    -54.473665

词对:华人 -23.548768   0/ 0+11+1  130/ 1413    -54.568281

*************************************************

词对:人 -38.361565   2/ 2+11+1  979/ 1413    -51.562735

词对:任 -42.026384   2/ 4+11+1  979/ 1413    -55.361085

词对:任 -42.026384   2/ 4+11+1  114/ 1413    -57.503706

*************************************************

词对:中华 人民宫 -10.930163   0/ 0+1+1  1/ 3    -39.976867

词对:种花 人民宫 -16.030368   0/ 0+1+1  1/ 3    -45.077072

词对:仲华 人民宫 -16.355790   0/ 0+1+1  1/ 3    -45.402495

*************************************************

词对:花 人民宫 -25.934842   0/ 0+1+1  1/ 3    -55.362647

词对:画 人民宫 -26.732274   0/ 0+1+1  1/ 3    -56.160079

词对:话 人民宫 -26.827629   0/ 0+1+1  1/ 3    -56.255435

*************************************************

词对:种花人 民工 -11.694096   0/ 0+1+1  339/ 341    -40.713198

*************************************************

词对:华人 民工 -23.548768   0/ 0+1+1  339/ 341    -52.192945

词对:华仁 民工 -43.461011   0/ 0+1+1  339/ 341    -72.105187

*************************************************

词对:人 民工 -38.361565   0/ 0+1+1  339/ 341    -67.386842

词对:任 民工 -42.026384   0/ 0+1+1  339/ 341    -71.051661

词对:认 民工 -44.822413   0/ 0+1+1  339/ 341    -73.847690

*************************************************

词对:人民 -39.571588   3/ 11+17+1  4799/ 9113    -53.107381

词对:人民 -39.571588   1/ 11+17+1  807/ 9113    -55.582338

词对:人民 -39.571588   7/ 11+17+1  125/ 9113    -56.054324

*************************************************

词对:民 -41.076179   0/ 0+17+1  4799/ 9113    -70.739605

词对:民 -41.076179   0/ 0+17+1  1305/ 9113    -72.041252

词对:民 -41.076179   0/ 0+17+1  807/ 9113    -72.521415

*************************************************

词对:人民 共和 -39.571588   0/ 0+3+1  125/ 152    -68.400426

词对:人民 红河 -39.571588   0/ 0+3+1  18/ 152    -70.292269

词对:人民 恭贺 -39.571588   0/ 0+3+1  5/ 152    -71.444948

*************************************************

词对:民 共和 -41.076179   0/ 0+3+1  125/ 152    -70.286118

词对:民 红河 -41.076179   0/ 0+3+1  18/ 152    -72.177961

词对:敏 共和 -42.993918   0/ 0+3+1  125/ 152    -72.203857

*************************************************

词对:人民宫 -39.976867   0/ 0+22+1  182051/ 187428    -69.022134

词对:人民宫 -39.976867   0/ 0+22+1  2437/ 187428    -73.335249

词对:人民宫 -39.976867   0/ 0+22+1  554/ 187428    -74.815214

*************************************************

词对:民工 -40.713198   2/ 2+22+1  182051/ 187428    -53.776270

词对:民工 -40.713198   0/ 2+22+1  2437/ 187428    -73.696654

词对:民工 -40.713198   0/ 2+22+1  554/ 187428    -75.176619

*************************************************

词对:宫 -56.054324   1/ 1+22+1  182051/ 187428    -69.863139

词对:共 -53.107381   11/ 11+22+1  439/ 187428    -71.498017

词对:供 -55.582338   1/ 1+22+1  2437/ 187428    -73.704268

*************************************************

词:中华人民共和国 2143/2145+ 1+1    1/2404   -7.785356

*************************************************

词对:中华 人民共和国 -10.930163   0/ 0+1+1  3/ 5    -39.794546

词对:种花 人民共和国 -16.030368   0/ 0+1+1  3/ 5    -44.894751

词对:仲华 人民共和国 -16.355790   0/ 0+1+1  3/ 5    -45.220173

*************************************************

词对:花 人民共和国 -25.934842   0/ 0+1+1  3/ 5    -55.180326

词对:画 人民共和国 -26.732274   0/ 0+1+1  3/ 5    -55.977758

词对:话 人民共和国 -26.827629   0/ 0+1+1  3/ 5    -56.073113

*************************************************

词对:人民 共和国 -39.571588   45/ 45+1+1  791/ 793    -50.508062

词对:仁敏 共和国 -49.076946   0/ 0+1+1  791/ 793    -77.719447

词对:任民 共和国 -49.076946   0/ 0+1+1  791/ 793    -77.719447

*************************************************

词对:民 共和国 -41.076179   0/ 0+1+1  791/ 793    -70.099781

词对:敏 共和国 -42.993918   0/ 0+1+1  791/ 793    -72.017520

词对:闵 共和国 -43.088534   0/ 0+1+1  791/ 793    -72.112136

*************************************************

词对:共和 -68.400426   0/ 0+9+1  14981/ 27485    -97.648456

词对:共和 -68.400426   0/ 0+9+1  10544/ 27485    -97.999654

词对:红河 -70.292269   0/ 0+9+1  14981/ 27485    -99.540299

*************************************************

词对:和 -53.776270   7/ 30+9+1  10544/ 27485    -67.638503

词对:和 -53.776270   1/ 30+9+1  14981/ 27485    -68.673600

词对:和 -53.776270   20/ 30+9+1  1412/ 27485    -68.683359

*************************************************

词对:中华人民共和国 -7.785356   0/ 0+21+1  5577/ 9303    -33.809285

词对:中华人民共和国 -7.785356   0/ 0+21+1  1295/ 9303    -35.268833

词对:中华人民共和国 -7.785356   0/ 0+21+1  1237/ 9303    -35.314618

*************************************************

词对:人民共和国 -39.794546   0/ 0+21+1  5577/ 9303    -67.127954

词对:人民共和国 -39.794546   0/ 0+21+1  1295/ 9303    -68.587502

词对:人民共和国 -39.794546   0/ 0+21+1  1237/ 9303    -68.633287

*************************************************

词对:共和国 -50.508062   1/ 1+21+1  5577/ 9303    -64.750547

词对:共和国 -50.508062   0/ 1+21+1  1295/ 9303    -81.495281

词对:共和国 -50.508062   0/ 1+21+1  1237/ 9303    -81.541066

*************************************************

词对:过 -67.638503   10/ 31+21+1  5577/ 9303    -81.017213

词对:过 -67.638503   13/ 31+21+1  1237/ 9303    -82.281384

词对:过 -67.638503   3/ 31+21+1  1295/ 9303    -83.488362

*************************************************

词对:中华人民共和国 万岁 -7.785356   0/ 0+1+1  49/ 51    -33.317581

*************************************************

词对:人民共和国 万岁 -39.794546   0/ 0+1+1  49/ 51    -66.636250

*************************************************

词对:共和国 万岁 -50.508062   0/ 0+1+1  49/ 51    -79.544029

*************************************************

词对:过 万岁 -67.638503   0/ 0+1+1  49/ 51    -96.680646

词对:国 万岁 -68.673600   0/ 0+1+1  49/ 51    -97.715743

词对:郭 万岁 -68.683359   0/ 0+1+1  49/ 51    -97.725502

*************************************************

词对:万 -33.809285   1/ 1+14+1  4503/ 7100    -47.638662

词对:晚 -35.268833   1/ 1+14+1  766/ 7100    -50.868444

词对:万 -33.809285   0/ 1+14+1  1378/ 7100    -64.470362

*************************************************

词对:万岁 -33.317581   0/ 0+21+1  5577/ 9303    -62.470327

词对:万岁 -33.317581   0/ 0+21+1  1295/ 9303    -63.929875

词对:万岁 -33.317581   0/ 0+21+1  1237/ 9303    -63.975660

*************************************************

词对:岁 -47.638662   1/ 1+21+1  1295/ 9303    -63.346870

词对:岁 -47.638662   0/ 1+21+1  5577/ 9303    -77.172509

词对:岁 -47.638662   0/ 1+21+1  1237/ 9303    -78.677842

*************************************************

词对:万岁 万岁 -33.317581   0/ 0+1+1  49/ 51    -61.978623

*************************************************

词对:岁 万岁 -47.638662   0/ 0+1+1  49/ 51    -76.680805

词对:随 万岁 -50.868444   0/ 0+1+1  49/ 51    -79.910587

词对:虽 万岁 -64.470362   0/ 0+1+1  49/ 51    -93.512505

*************************************************

词对:万 -62.470327   1/ 1+14+1  4503/ 7100    -76.299704

词对:晚 -63.346870   1/ 1+14+1  766/ 7100    -78.946482

词对:晚 -63.346870   0/ 1+14+1  4503/ 7100    -92.824340

*************************************************

词对:万岁 -61.978623   0/ 0+21+1  5577/ 9303    -91.131369

词对:万岁 -61.978623   0/ 0+21+1  1295/ 9303    -92.590917

词对:万岁 -61.978623   0/ 0+21+1  1237/ 9303    -92.636702

*************************************************

词对:岁 -76.299704   1/ 1+21+1  1295/ 9303    -92.007912

词对:岁 -76.299704   0/ 1+21+1  5577/ 9303    -105.833551

词对:岁 -76.299704   0/ 1+21+1  1237/ 9303    -107.338884

*************************************************

词对:万岁 万万 -61.978623   0/ 0+3+1  57/ 86    -91.013767

词对:万岁 弯弯 -61.978623   0/ 0+3+1  18/ 86    -92.129771

词对:万岁 玩玩 -61.978623   0/ 0+3+1  7/ 86    -92.994768

*************************************************

词对:岁 万万 -76.299704   0/ 0+3+1  57/ 86    -105.715949

词对:岁 弯弯 -76.299704   0/ 0+3+1  18/ 86    -106.831953