一种新的汉字编码输入法及其评测系统

2009-03-23 02:40蒋国松
计算机时代 2009年1期

蒋国松 申 毅

摘要:在充分研究汉字特征的基础上,遵照国家键盘汉字输入通用标准,开发了一种新的汉字编码输入法——音形码。该输入法采用汉字读音、偏旁部首读音、笔划读音及声调进行编码,拆字顺序完全符合汉字书写规则,克服了五笔输入法字难拆的不足,重码率大大低于拼音输入法。通过自建的基于VFP汉字输入法评测系统测试,结果表明,该输入法符合GB/T18031和GB/T19246提出的系统性能指标,具有简单易学、规范性强、重码率低、易推广的特点。

关键词:汉字编码输入法;音形码;编码规则;重码率;汉字输入法评测系统

0引言

在当今信息化时代,汉字输入的方式越来越多,但汉字键盘输入仍然是主流。象形文字——汉字与拼音文字相比,难读、难记、难写,这些问题给计算机汉字输入带来了相当的不便,特别是对输入速度影响很大。几十年来,专家学者为此进行了深入持久的研究,并推出了拼音和五笔字型两大系列汉字输入法。但在实际使用中,上述两类输入方法都存在着一定程度的缺陷。如拼音输入法,采用拼音编码,因汉字同音字众多,严重影响输入速度;而五笔字型采用汉字结构分解编码,因汉字结构的复杂性,分解的规律不易掌握,一个不熟悉的字往往要拆上半天,复杂难记的字根更是令初学者望而却步。因此,如何进一步简化方法,提高汉字键盘输入速度,降低学习和掌握的难度,是中文信息技术面临的长期而复杂的任务。

本课题组在充分研究汉字特征的基础上,遵照国家汉字键盘输入通用标准,开发了一种新的汉字编码输入法——音形码。该输入法是一种以拼音为主,音形结合的汉字编码输入法,编码由汉字的读音代码、偏旁部首读音代码、笔划读音及声调代码组成,对不成字部首赋予一定的读音,如:一(横)、I(竖)、乙(折)等。使用时,依次输入汉字的读音、部首、笔画等代码,非常好记。与此同时,为了研究和优化新的音形码方案,我们设计了一个基于VFP的汉字输入法研究平台,可以对音形码也可以对其他各种类型的汉字输入法进行评测和研究。实测表明,新的音形码具有较低的重码率和较高的输入效率,极具推广价值。

1汉字编码输入法的基本要求

汉字编码输入法一般采用汉字的音或形来组织编码,编码过程必须遵守国家有关汉字键盘输入规范要求及国家汉字相关规定,才能研制出具有实际使用价值的汉字输入法产品。

1.1键盘汉字输入的国家标准

国家质量技术监督局发布的国家标准:GB/T18031《信息技术数字键盘汉字输入通用要求》和GB/T19246《信息技术通用键盘汉字输入通用要求》都对键盘汉字输入进行了规范。在这两个标准中,对汉字输入的键位设定、所采用的编码字符集、应遵循的编码规范、平均码长、重码字词键选率等作了具体规定,并对五种基本笔画和汉语拼音符号的键位作了规定。GB/T19246规定A~z 26个字母键输入汉字和词语的特征编码信息,0~9十个数字键,则用来输入阿拉伯数字以及汉字和词语的特征编码信息的辅助信息,包括汉语声调、重码字选择等。

GBFFl8031和GB/T19246提到的系统性能指标有三个:易学性、汉字输入平均码长和重码字词键选率,并且规定国家标准给出的指标是应达到的最低要求。

易学性“学会使用汉字编码输入系统的时间应尽量短,并应符合使用汉语作为母语的使用者的思维习惯”。GB/T18031对数字编码更进一步提出要求:“做到上手能用”。

汉字输入平均码长汉字输入平均码长的定义:在输入给定的测试样本时,测得的输入每个汉字的平均击键次数。不同类型编码提出不同要求:汉语拼音、笔画为主的简易编码平均码长<3.2键,字;形码(部件码)、音形码(形音码)、双拼平均码长<2.2键/字。

重码字词键选率重码字词键选率的定义:在输入给定测试样本过程中,通过重码选择键确认的汉字字数与测试样本总字数的百分比。重码字词键选率要求:汉语拼音、笔画为主的简易编码<6%;形码(部件码)、音形码(形音码)、双拼<1.5%(GB/T19246);逐字字段笔画、部件码输入<8%,字、词混合笔画、部件码输入<10%(GB/T 18031)。

在部件规范方面,规范GF3001对GB 13000.1的20902个汉字进行逐个拆分、归纳与统计后给出了560个基础部件。规范GF3001还规定:基础部件也称末级部件,是最小的不可拆分的部件;基础部件可以组合成成字部件使用,但不得组合成非字部件;字拆分为部件时,应遵循“相离、相接可拆;交重不拆(可拆成笔画)”的原则。

在笔顺规范方面,规范GF3002明确了汉字的基本笔形是五种,按照次序分别为一(横)、丨(竖)、丿(撇)、丶(点)、乛(折),分别用符号1、2、3、4、5表示。规范GF3002还给出了GBl3000.1的20902字的规范笔顺。另外,词库的规范化同样是很必要的。目前的词库普遍存在着质量差、词库大小不一的问题。在研制词库的工作中有一个误区,似乎词库越大越好,其实并非如此。词库太小固然不能满足用户需要,但太大就会增加词的重码率,牺牲了适应性。我们认为,理想的词库应该是通用词库加专业词库和个人词库。

1.2汉字书写笔顺规则

A、基本规则

(1)先横后竖:十(一、丨)

(2)先撇后捺:人(丿、丶)

(3)从上到下:章(音、十)

(4)从左到右:明(日、月)

(5)先外后里:闲(门、木)

(6)先外后里再封口:回(门、口、一)

(7)先中间后两边:小(亅、八)

B、补充规则

(1)点在上边或左上,先写点:主(丶、王)、为(丶、力、丶)

(2)点在右上或字里,后写点:发(乚、丿、又、丶)、我(丿、扌、L、丶)

(3)两面包围结构的字。上右和上左包围结构,先外后里:司(乙、司)厅(厂、厅);左下包围结构,先里后外:这(文、辶)、边(力、辶)。

(4)三面包围结构的字。缺口朝上的,先里后外:山(丨、乙);缺口朝下的,先外后里:同(冂、一、口);缺口朝右的,先上后里再左下:区(一、丿、丶、乚)

2新的音形码方案设计

在日常使用汉字中,我们发现单字及双字占绝大多数,因此解决单字与双字词编码也就抓住汉字编码的关键。本课题组提出的音形码编码方案,是采用汉字读音、偏旁部首读音、笔划读音及声调来进行编码,也就是采用字词及其结构的读音来编码,这样的处理使得编码十分容易掌握,无须死背字根,一看到字词就知道其编码。

2.1单汉字编码规则

单个汉字编码最多可以有六码组成。它是根据单汉字的音和形来确定的。这样做的目的,是为评测系统优选出最佳码搭配做准备。我们设计的单字音形码规则如下:

第一码:为该单字的发音的汉语拼音首字母。如“汉”即为“H”.“字”即为“z”,若汉字发音的首字母为翘舌音(ZH、CH、

SH)则分别用V、I、U表示。

第二码:为该单字可发音的前结构汉语拼音首字母。前结构是指汉字中,左中右结构中的最小左结构;上中下结构中的最小上结构;里中外结构中的最小外结构;半包围结构中的左结构。它们都是汉字书写笔顺中的前结构。若发音的首字母为翘舌音CH、SH、ZH,分别用C、S、Z表示;若前结构无法发音,则用“※”号表示。如:“难”的前结构为“又”,用“Y”来表示;“岚”字的前结构为“山”,用“s”来表示;“国”的前结构为“口”,用“K”来表示;“运”的前结构为“辶”,用“Z”来表示(“走”字边旁的“走”字汉语拼音发音首字母);“包”的前结构无发发音,则用“※”来表示。取码规则:有部首的打部首的读音代码,有偏旁的打偏旁的读音代码,无偏旁的打笔画的读音代码。取大为先,兼顾直观,可连不交。

第三码:为该单字的首笔发音。“一、丨、丿、乀、乚”分别按其汉字读法,横“heng”、竖“shu”、撇“pie”、捺“na”、点“dian”、折“zhe”的发音首字母H、s、P、N、D、z表示。对于象乛乚乙乁乚等各种转弯、转折的首笔划全部用“折”(z)来表示。

第四码:该单字可发音的后结构的汉字拼音首字母。后结构是指汉字中,左中右结构中的最大右结构;上中下结构中的最大下结构;里中外结构中的最大里结构;半包围结构中的最大上结构。它们都是汉字书写笔顺中的后结构。若发音的首字母为翘舌音CH、SH、ZH,则分别用c、z、H表示,其他规则同前结构。

第五码:该单字的末笔发音。

第六码:该单字的声调。按汉字的读法.分为:阴平、阳平、上声、去声四种声调,在输入时分别用1、2、3、4表示。

如果单个汉字,如“长”、“亚”、“丫”等无法拆分的,可以将该字整个看成前结构,第二码用该字的首发音字母,第三码为该单字的首笔发音,第四、第五码均用“※”号表示。单汉字编码规则举例如下:

注:单字最终编码由输入法评测系统决定,包括编码个数与选用的码位。

2.2双字词编码规则

双字词在汉语中所占的份额最多,双字词编码是否合理决定了一种输入法的优劣程度。本音形码对双字词编码也是根据汉字的音和形来确定的。我们采用五码输入法,每一码由字或结构的发音首字母决定,其中汉语中的翘舌音ZH、CH、SH分别用在汉语拼音声母中不发音的v、I、u三个代码代替。双字词音形码取码规则如下:

第一码:双字词中首字发音的汉语拼音首字母。

第二码:双字词中尾字发音的汉语拼音首字母。

第三码:双字词中首字的最大前结构发音字母。

第四码:双字词中尾字的最大前结构发音字母。

第五码:为识别码,取双字词中尾字的最大后结构的可发音首字母。若发音的首字母为翘舌音CH、SH、ZH,则分别用c、z、H表示。如果双字词编码重码较高,可以考虑增加双字词中首字的最大后结构参与编码。双字词编码举例如下:

3汉字输入法评测系统的设计

汉字输入系统的设计过程本身就是一个不断修改和完善的过程,在这个过程中,对汉字输入法性能的评测贯穿其中,评测的结果可以为汉字编码方案、输入方式选择等各个关键步骤提供指导,最终给出对新音形码方案的科学评价。作为一个输入法研究平台,它也可以对其他方式的汉字编码输入法提供开发环境和评价手段,具有普遍适用意义。

3.1开发环境——Visual Foxpro 9.0

Visual FoxPro是Microsoft公司开发的一个功能强大的数据库管理系统。Visual FoxPro是面向对象的关系型数据库管理系统,可以创建从桌面到网络的数据库解决方案。Visu-al FoxPro提供了功能强大的数据处理能力,拥有最高效率的应用程序快速开发工具,并且有足够的可伸缩性来根据需要建立所有类型的数据库解决方案。

输入法评测系统管理的主要数据是被评测汉字输入法的字词码表及评测用文本等,数据量并不很大,记录条数最多也不过几万条,数据表之间的关系也比较简单。因此,本课题组采用简单、易用、直观的数据管理系统Visual Foxpro对系统的数据进行管理是足够的。

在VFP9.0中,我们建立了2个汉字词编码基本表一单叔字编码表和双字词编码表。单汉字编码库字符集包含所有GB13000.1中的20902个汉字;双字词编码库词条取自《现代汉英词典》中常用的3万多条双字词语。

3.2输入法评测系统的功能

输入法评测系统是对汉字输入系统设计开发的各个环节提供评测服务。它不仅能够对以字、词输入为主的键盘编码输入法进行评测,而且可供输入法开发人员对编码方案和输入方案进行自我评测,还可供有关评委对汉字输入系统进行评测。输入法评测系统主要分为输入、查询、修改和统计四个部分。

输入模块输入模块是输入法评测系统的基本功能模块,其作用是将字、词及其编码和各个码位输入到数据库的相应表中,也可以添加新的字、词。在VFP9.0中,我们自定义了一个字、词的输入界面,以方便输入。

查询模块查询模块可以查询字、词以及它们的编码和各个码位。查询可分为字、词查询和编码查询。在VFP9.0中,创建了一个查询窗口,包括字、词查询和编码查询。其中字、词查询是在字词名框中输入所要查询的字、词,点击查询按钮,即可在窗口中显示要查询的字、词的编码情况。编码查询是在编码框中输入编码,点击查询按钮,即可在列表中显示所要查询编码的相关信息。因编码会有重复,所以通常在列表中会显示多条纪录。

修改模块修改模块的功能是修改字、词的编码错误,或者是因编码规则调整而对原编码进行相应调整。在VFPg.0中,修改界面与输入界面相似,只是多了一个修改按钮。修改时,先要填入字、词进行简单查询,然后对显示的字、词的代码以及码位进行修改,然后点击修改按钮,把改好的记录插入到字、词数据表中。

统计模块统计功能模块是输入法评测系统中最重要的一个模块,其主要功能是统计码位的分布与重码率。执行统计时,有三个可选项:输入码选择、重码数统计方式、按首码精确统计。下面分别说明。

输入码选择:单字编码有六位,双字词有五位,理论上可以任选码数和码位。如果只取一码,我们称之为一码输入法(只有一个输入码的输入法)。同理还有二码输入法、三码输入法、四码输入法、五码输入法、六码输入法。一至三码输入法,由于重码太多,没实际意义。四码输入法和五码输入法,是我们研究的重点。

重码数统计方式:我们设置了五个选项,分别为:无重码(一码一个字词)、一码两个字词(两个字词同一个输入码)、一码三个字词、一码四个字词、一码四个以上字词。

按首码精确统计:设置该选项的目的,是为了均衡编码的分布。该选项中共有二十六个可选项(即汉字发音的二十六个声母)。若选择了前两项,再选择首码的某个声母,然后按统计按钮,得到重码数并在表格中显示字词重码的详细信息。有了这些详细的重码信息,我们可以对编码规则进行适当调整,从而达到减少重码甚至无重码的目的。

3.3评测结果

在音形码研究过程中,测试贯穿于其中。根据测试结果反复调整编码规则,力求达到编码的简易性与输入的高效性的有机统一。下面概括说明一下应用本输入法评测系统对新的音形码测试的结果:一字三码及以下重码严重,无实际意义;一字四码,重码率还比较高,可以进一步优化编码规则,重码还可下降;一字五码,重码率<10%,符合国标GB/T18031,具备开发价值。双字词的情况也类似,五码输入法达到国标要求。对样文进行测试,输入单字,击键数5,输入双字词也是5,但输入时双词远多于单字,所以平均击键数不会超过3键,字,实测为2.8键/字,基本符合GB/T18031和GB/T19246对汉字输入平均码长的要求。

分析表明,编码中占重要地位的部首、偏旁读音首字母的分布不均匀是造成重码的主要原因,要解决这个问题,需要对编码规则作进一步的研究。另外,如果把单字表和双字词表合起来进行重码测试,则重码率>10%,再把多字词编码加进去的话,重码还要上升,所以,如何细化编码规则,将是今后研究的重点。

4结束语

本课题组对新的音形码进行了一年多的研究,取得了初步的成果,接下来我们还将继续研究,最终推出新的输入法产品。我们开发的输入法评测系统是一个实用汉字输入法评测平台,可以帮助输入法设计人员对编码方案和输入法产品进行客观的自我评价,并且根据评价的结果进行技术改进,可推动编码输入法技术的不断提高和发展。