在软件工程中,软件产品的质量是由软件的一组质量属性来定义的。汉字编码输入法也是一种软件产品,但有其特殊性,不能完全按照广义的软件产品衡量其质量,需要有更具体的质量属性要求。汉字输入法面向广泛的用户群体,用户的知识背景差异很大,用户对汉字编码输入法的各种质量属性的要求也不全完一样。
在通信系统中,编码和译码都是由软件或硬件完成的,要考虑的主要问题是通信的效率和差错率。在汉字编码输入系统中,编码过程是由人来实现的,受到人的记忆能力和操作能力的限制,不可能采用通信系统中的所谓高效编码作为输入编码,更不能采用理论上的极限编码。易学性和易用性在汉字输入编码中占有十分重要的地位。不过,极限编码和通信编码所采用的编码方法的确是高效的汉字输入编码值得借鉴的,它们所能达到的效率也为汉字编码输入的速度性能提供了比较的基准。
汉字编码输入法的编码对象是汉字,而汉字是我们使用的文字,文字又和语言紧密相关。在今天的信息社会中,使用汉字编码进行汉字输入就像识字和写字一样的重要。汉字编码的这种性质使得它对人们的语文知识产生重大的影响。例如,汉字形码中错误的汉字拆分方法和错误的笔画、笔顺冲击汉字的书写规范,汉字音码中错误的拼音方法也会冲击汉字的读音规范。对于中小学生来说,使用不规范的汉字编码还会影响正常的语文教学。有鉴于此,规范性也越来越引起国家标准部门、语言文字管理部门和民间的重视。
因此,易学性、易用性、快速性和规范性是现代汉字编码输入法的主要质量属性。
① 易学性
易学性是指学会一种输入法所需的记忆量。有的输入法只需一、两天便能掌握,有的输入法则需要一、两周才能输入文稿,有的输入法甚至需要一、两个月的专门培训才能上岗工作。同时,有的输入法在一段时间没有使用后用户不易忘记,而有的输入法则回生很快。所以,易学性还有易记的含义在里面。
人的背景知识也和易学性紧密相关。如果能够利用人的背景知识来对汉字编码,就可以使输入法的易学性增强,而且也能通过输入汉字巩固人的背景知识。当然,背景知识也是需要时间来学习的。但是,背景知识是在学习输入法以前就掌握了的,不能将学习背景知识的时间计算在学习输入法的时间里。由于每个人的知识水平和知识结构都是不同的,因此在考核易学性时应该设置一个起始标准。中小学教育是每个国民应受的基础教育,所以我国现行中小学语文教材中的内容可以作为汉字编码输入法的国民教育背景知识。这种背景知识包括:(1) 认识3000左右汉字;(2) 掌握汉语拼音方法拼写汉语的字词;(3) 会使用部首检字法查字典;(4) 按正确笔顺书写汉字。应当看到,对上述知识的掌握程度是因人而异、因地区而异的,而且上述知识用于汉字编码时所能发挥作用的大小也是不一样的。由于方言的原因,有些人虽然能认识3000左右的汉字,但却是用方音识读的,所以要以普通话的拼音方式输入仍然会有困难。有些人虽然会讲普通话,但是其普通话不一定很标准。
② 易用性
易用性与人们输入汉字时所承担的生理和心理负荷密切相关,而人的生理和心理负荷又与人们输入汉字时形成条件反射的容易程度密切相关。影响输入法易用性的主要因素如下:
(1) 键元集的大小和字元在键盘上的分布。重复击打同一个键比从多个键中选择一个键击打要轻松。从小的键元集中选择按键比从大的键元集中选择按键要轻松。按键序列中的按键合理地交替出现时又比不合理地交替出现时更让人易于操作一些。
(2) 字元的提取方式。不同的输入法提取的字元种类和顺序是不同的,从而在编码时使人产生了不同的心理负荷。顺序地提取字的笔画显然比从字的某些字根中提取笔画要容易;提取整字的声母比提取字根的声母要简单。
(3) 重码字词的多少。重码字词越少则越有助于增强其易用性。全拼输入法的编码虽然很简单,但是它的单字重码很多,要靠观察提示行选择所需的字。眼睛不断地扫视选择窗口所产生的视觉疲劳影响了全拼输入法的易用性,即使通过长期的训练,要记住每个字的重码序号都几乎是不可能的,也就是说全拼输入法几乎不可能实现盲打。五笔字型的编码很复杂,开始学习时易学性和易用性都很差,但是它的单字重码很少,通过强化训练记住编码后,输入时就基本上不需要观察提示行,因此后期的易用性得到提高,这也是熟练的五笔字型操作员的击键速度都很快的原因。
(4) 联想字词的多少。联想具有和重码类似的性质,它们都是将多个选择项目罗列出来供用户选择。早期基于单字的输入法靠联想来缩短动态码长,当输入者对编码和键盘操作不是很熟练时的确能够在一定程度上加快输入速度,但是当输入者对编码和键盘操作熟悉后,联想时的选择就成为瓶颈,并且即使通过长期的训练也难以提高键选速度。因此,熟练的录入员是不用联想的。
(5) 编码的稳定性。编码的稳定性越好就越容易形成条件反射,因而就越能增强其易用性。动态重码调序和动态码长调整虽然有助于缩短动态码长,但却会破坏编码的稳定性。如果用户已经记助了某个字词重码顺序或码长,当该字词的顺序或码长被改变时就会导致用户发生操作错误,从而影响输入法的易用性。
(6) 操作的简便性。当遇到输入法没有的词组时,有的输入法需要用户手动切换到造词状态,输入词组的编码和组成词组的字,然后再手动关闭造词状态;有的输入法则可以自动进入造状态,待用单字输入完词组后还能自动生成词组的编码并自动退出造词状态;显然后者比前者简单得多。当遇到生字时,有的输入法需要用户切换到其它的输入法,而有的输入法本身就提供了输入生字的手段,从而更加简便。
③ 快速性
快速性就是输入汉字的速度,一般以平均每分钟录入多少个汉字计算。自从汉字编码键盘输入法问世之日起,汉字输入速度就一直是输入法研制者和使用的共同关心的问题,从而也是输入法评测的重要指标。影响输入法快速性的因素很多,而且各因素之间关系错综复杂。机器和软件不是影响输入法的瓶颈,但是编码性质和人参与的所有输入活动都会影响输入速度,如下所述。
(1) 获取字词。汉字编码输入的第一步就是获得要输入的字词。获得字词的方式对输入速度的影响是相当大的。“看打”时,录入者需要从稿件上的连续文本中通过视觉逐个取出字词。如果稿件不清晰易读,就会影响录入者获取字词的速度。如果输入法不能够让录入者实现盲打,则他就会不断地将视线转移到屏幕去看提示信息,来回的视线转移导致他难以定位应输入字词的位置,最终导致输入速度降低。如果录入者使用的输入法是以字音为字元的,当他遇到不认识的字时就不能输入,于是不得不换用基于笔划的方法查字,从而影响输入速度。“听打”时,录入者从口授者的连续话语中通过听觉获取待输入的字词。如果口授者的语音不清楚或者环境太嘈杂,就会影响录入者接收字词,口授者不得不经常重复自己说的话。如果录入者使用的是形码,将语音在头脑中转换为字形需要一个过程,而且当他遇到不会写的字时就不能输入,不得不转换用拼音输入,从而影响输入速度。“想打”时,录入者边思考边录入,没有外界的字形和口授的语音作参考,使用的往往都是自己熟悉的字词。人在写作不同的内容时,形成腹稿的速度是不一样的,而且具有突发性。新闻稿件、事务性公文的起草速度较快,学术论文的写作进度较慢。如果构思文稿的速度太慢,输入速度也快不起来。
(2) 编码长度。字词编码的平均长度是评价输入法速度性能的一个重要参数,而且便于定量地计算。但是在使用这个参数时需要特别注意几个问题,否则会误入歧途。首先,测试文本的选择必需是随机的典型文本。如果测试文本不是随机的而是已知的,那么任何输入法都可以预先将整个文本保存,然后用一键就能输入完毕。如果测试文本不是典型文本而是偏离汉字统计特征的罕见文本,那么该文本就可能非常有利于或者非常不利于某种输入法,结果也是不具有代表性的。其次,计算码长时应当包括输入字词时的所有按键,如选择键、翻页键、状态切换键等,不能仅仅计算码本中字词编码所用的码元数。最后,字词平均码长必需同其它因素结合才能正确地评价输入法的速度性能。这些因素包括码元的种类和数量、选择操作和联想操作的频繁程度、操作员的熟练程度、输入的持续时间等等。只有在其它因素都相同的情况下,字词平均码长才具有可比性。如果两种输入法的码元数量相差悬殊,那么用平均码长来比较这两种输入法的输入速度就是不合理的。例如,一个极端的情况是将所有的汉字显示在一个平面表中让录入者选择输入,这时每个字的码长均为1,但是显然这种输入法的效率是极低的,其效率比全拼输入法都低得多。
(3) 击键操作。击键操作包括寻找键位和击打键位两种动作,其中击打键位所花的时间是固定的,而寻找键位决定了击键操作花费在不同键位上的时间的差别。输入法使用的键位越多、键位分布得越不合理,录入者花费在寻找键位上的时间就越长,击键速度就越慢。
(4) 选择操作。简码、重码、联想、翻页都有可能导致用户在输入时通过观察反馈提示来选择字词。通过一段时间的输入用户一般都能记住一、二级简码字词,有的甚至能记住三级简码字词。但是,重码字词、联想字词的页码和顺序却很少有人能够记住。因此,简码虽然会影响用户使用输入法时初期阶段的击键速度,却能在熟悉后提高击键速度;而重码选择和联想即使通过长期的使用也很难提高用户的击键速度。
(5) 词组管理。现代汉字编码输入法都很重视利用词组来提高输入速度。但是,词组的数量巨大,一方面输入法不可能收录所有的词组导致词组不够用,另一方面太多的词组又会造成大量重码。如果输入法不能提供在线造词的功能或者其在线造词过程很复杂,那么当用户用到输入法没有的词组时就会造成“白打”,当他试图造词时又会对键入速度造成很大影响。另外,错词修改和无用词的删除也是一个头疼的问题。
(6) 状态切换与非汉字符号。汉字文本中不仅有汉字、标点,还可能有非汉字字符如英文字母、拼音字母、数字符号、数学符号等。如果没有好的状态切换和输入非汉字符号的手段,在遇到混有一些非汉字符号的文本是就会极大地降低录入速度。
(7) 改正错误。输入时如果出现错误,就需要修改。修改操作一般是非交互性的,非常费时和影响速度。如果不修改错误又会影响输入的正确率,导致校对文本时花费更多的时间。
④ 规范性
规范性是以国家标准机构出台的有关输入法的标准以及国家语言文字管理部门出台的有关规范为尺度来衡量的。
(1) 国家标准:GB2312-80《信息交换用汉字编码字符集 基本集》、GB13000.1-1993《信息技术 通用多八位编码字符集(UCS)第一部分:体系结构与基本多文种平面》、GB18030-2000《信息技术 信息交换用汉字编码字符集 基本集的扩充》、GB/T18031-2000《信息技术 数字键盘汉字输入通用要求》、GB/T18220-2003《信息技术 通用键盘汉字输入通用要求》。其中前三者规定了输入法的编码对象(即编码字符集),后两者分别就数字键盘和通用键盘上的易学性、键位设定、编码长度和键选率提出了要求。
(2) 相关语言文字规范:GF3001 《信息处理 GB13000.1字符汉字部件规范》、GF3002 《GB13000.1字符集汉字笔顺规范》、GF2001-2001《GB13000.1字符集汉字折笔规范》、GF3006-2001《汉语拼音方案的通用键盘表示规范》。
⑤ 质量属性之间的关系
以上汉字编码输入法的各种质量属性之间有着复杂的关系,有交叉的、包含的,也有相互对立的、矛盾的。因此,要使各个质量属性都达最优是根本不可能的,只能分清主次并寻求一个最好的平衡点。
易学性与易用性及快速性之间往往是矛盾的。如果仅仅考虑易学性指标,那么完全可以设计一种不需任何学习的输入法。例如,在屏幕开设一个窗口,逐页将汉字列出来,每页显示N个汉字;用户通过逐字查找和翻页来定位汉字,然后用键盘或鼠标选定。显然,这种输入法的易用性和快速性都很差。当N很大(如N为1000)时,虽然翻页操作会减少,但查字的过程变得缓慢而艰难,人的眼睛很快就会疲劳。当N很小(如N为5)时,虽然查字过程较快,但翻页操作又会十分频繁,手指很快就会疲劳,而且由于平均每字的操作次数很多,速度也慢。实际上,完全依靠提示的话,不可能设计出实用的输入法。
往往可以通过降低易用性来增强易学性。往往又可以通过加强训练来提高易用性。易用性提高的结果是输入者的操作形成条件反射,导致击键速度加快,从而提高汉字输入速度。