专利名称:一种汉字键盘句输入系统的制作方法
技术领域:
本发明是一种汉字键盘句输入系统,属于计算机中文信息处理系统。
现有的句输入系统中,大多数是采用拼音语句转换方式,哈尔滨工业大学王晓龙博士的Insun(音声)系统,日本国际情报化协力中心的最优评价函数法拼音汉字转换系统,邢伟华的邢码句输入以及清华大学刚推出的句输入系统,这种系统使用汉语拼音(全拼、双拼、简拼)连续击键输入汉语语句,智能软件对输入的音节序列进行分析后形成以字为单位的汉字内部码。系统要解决的首要问题是通过音节分析、自动分词、词法分析、句法分析、语义分析、语用分析六个环节由计算机来辩识同音字、词,即重码的字、词。现有的句输入技术在保证易学性的前提下,在排除重码字、词方面,比之一般的字、词输入法,的确有更多的手段、更多的选择,这是一个进步。但也存在诸多的问题,具体可以归纳为以下六个方面1、汉字键盘输入法中引入汉语语法以消除重码字、词,其实是不得已的办法,这是由汉语的固有特点所决定的。
2、汉语的语法尚未形成规范化,尤其是人们习惯于不断“制造”和使用非规范化的语法,例如人们对“吃食堂”、“吃大碗”、“托儿”、“好不高兴”等的理解只能靠语义来解决。
3、句输入技术研制者首先面临的问题是必须要先自定义相当一部分适用于电脑操作的“语法”,这就难免有偏颇,由此而衍生出下述一系列问题,导致句转换错误(1)词库收词不全;(2)知识库、词法、语义规则不全或不够完善,例如“再精简,再膨胀”与“在精简,在膨胀”之间的区分;
(3)自动分词匹配算法不够完善;(4)语法、语义分类相同,或者语义归类不当等原因,这类错误目前的汉语语法完全无能为力,例如;“权力-权利”、“形式-形势”等;4、我们的汉语文字资料浩如繁烟,方言土语众多,汉语语法难以准确地归纳所有的语言现象,而且语言文字日新月异,用户情况更是千差万别;5、由于机器内部的代码是以“字”为单元的,系统间交换信息的交换码也是如此,文章中单字词更是不少,当用句、词切分字不成功时,仍然会面临字、词键盘输入法“好学的不好用(拼音类),好用的不好学(字根类)”的尴尬。
6、拼音类词句转换系统,输入方式为音节序列,即字的声、韵、调信息,遇到不认识及读不准音、韵、调的字和非字符号就不好办(若去掉音调,而改用空格键符等作为隔音符,又不利于提高句转换的正确率);本发明就是为克服现有的各种汉字键盘句输入系统的上述难点和缺陷,面提供一种易学、好用和通用的汉字键盘句输入系统(以下简称为BM句输入系统)。
本发明的汉字键盘句输入系统,包括有字输入和句输入方式,字的输入以代码的形式通过键盘上的字母键和数字键完成,并配置有将任意两个汉字之间词与非词的组合关系尽数包容的软词库,句输入方式的输入方法为以字母V作为句输入的引导符,回车键作为该句的结束符,格式为V字编码 字编码……字编码<CR>
上述字输入的编码规则为字的拆分部首依其首笔划在该字中的笔顺,依次定为第一、次、末部首,字按照拆分部首的数目分为单部首字、双部首字和三部首字,其中(1)单部首字的编码方式为字的读音首字母+字首笔划代码+字次笔划代码+字末笔划代码,笔划数不足时,先取首笔划,次取末笔划,不足的用字母补齐;(2)双部首字编码方式为第一部首代码+末部首代码+末部首首笔划代码+末部首末笔划代码,当末部首非字时第3码改为末部首次笔划代码,其余同单部首字规定;(3)三部首字编码方式为第一部首代码+次部首代码+末部首代码+末部首末笔划代码。
上述句输入方式的使用规则为(1)相邻字的编码之间可以用1个或多个空格符分隔,也可以不用;(2)每个句子允许为4~36个字符,即不用空格键符分隔时,每个句子限定为2~18个字;除空格键分隔符外,其余字符必须为全角字符(汉字符,包括非字符号)的编码;(3)每个字按照上述字编码规则固定取前3码;一个字的三个编码之间不准用空格符分隔,句中有叠字时,其次字的编码可简化为一个字母V,以缩短码长;(4)退格键用于删除最末一个字符,回车键和ALT+空格键组合用于删除全部编码字符;光标左右移键“←”、“→”与删除键DEL、插入键INS配合,可以用于在输入的编码中间进行插入、更改或删除字符操作。
此外,本发明还包括有自定义短语输入方式,其输入格式为V???<CR>
其中???表示属于键元集(0~9和A~Z)的任意三个编码字符。
上述三个编码字符可用该短语的前二末一字标准拼音的首字母,也可以用任一种输入法的字、词编码方法。
下面对本发明的技术方案进行详细的描述
图1为BM句输入和自定义短语输入使用流程图;图2为BM句输入算法流程图;图3为自定义短语输入算法示意图。
本发明的BM句输入系统可以实现字、词、句和自定义短语的混合输入,其中字、词输入方式时的字表、软词库和程序的编制与专利申请号为96119064.7(BM输入法)中对BM100字集的处理相同,且其字集、键元集、拆字编码规划和字词使用规则也与上述专利申请号的输入法相同。句输入的方法为以字母V作为句输入的引导符,回车键作为该句的结束符,格式为V字编码字编码……字编码<CR>。其使用规则为\ (1)相邻字的编码之间可以用1个或多个空格符分隔,也可以不用;(2)每个句子允许为4~36个字符,即不用空格键符分隔时,每个句子限定为2~18个字;除空格键分隔符外,其余字符必须为全角字符(汉字符,包括非字符号)的编码;(3)每个字按照上述编码规划固定取前3码;一个字的三个编码之间不准用空格符分隔,句中有叠字时,其次字的编码可简化为一个字母V,以缩短码长;(4)退格键用于删除最末一个字符,回车键和ALT+空格键组合用于删除全部编码字符;光标左右移键“←”、“→”与删除键DEL、插入键INS配合,可以用于在输入的编码中间进行插入、更改或删除字符操作。
根据上述使用规则输入字编码,并键入回车键后,该句的转换结果即在提示行编码区显示,至于是否直接上屏,由用户在装入BM句输入系统的命令参数中予以指定“无条件上屏”或“有条件上屏”两种方式,其中采用“无条件上屏”时,则无论所输入句子的转换结果是否可靠,均在提示行显示的同时直接上屏;采用“有条件上屏”时,若系统处理程序确认本次转换结果比较可靠,则在提行显示的同时直接上屏,若认为不可靠,则先修正可能出错的字,并需通过按键确认后才上屏。
若本次转换结果不太可靠而用户又指定“有条件上屏”,则提示行光标将停于可能出错的字处,并在提示行右边提示该字的三个编码和1~10个可供选择的字,用户键入相应的数字键选择所要的字,若可供选择的字超出10个,可用退格键翻页(若刚好只有10个可选字,则第10个字的标识序号为正常的“0”,若多于10个,则第10个字的标识序号改为“?”,不过要选择第10个字时仍应键入数字键“0”),利用光标键“←”、“→”可以选择要修改的字,提示行右边的提示编码和可选字将随之而改变;修改完毕,键入空格键该句即上屏。
图1规定了使用BM句和自定义短语输入时的具体步骤,用户在最初使用时,应尽量采用“有条件上屏”方式,并在提示行修正错误,此时,程序将自动修改软词库,而且即改即用,下次就不会犯同样的错误;当经过一段时间的使用,转换错误已经比较少时,即可改用“无条件上屏”方式,以实现盲打,加快输入速度,此时的转换错误,可用字词输入方式修改。图2规定了一个符合要求的句子的具体处理方法。利用这个算法,无论这个句子可能有多少种不同的组合,也无论最后结果是否正确,都只有唯一一种选择。
句输入处理,如图2所示,分为三个步骤(1)根据每个字的前3码,检读字表,确定重码字,例如,编码“MMX”对应“想、梦”两个重码字。若整个句子的所有字均无重码,则结束处理,并认为本次转换结果比较可靠。据10183字的试验文本统计表明,无重码字计6246字,约占文本总字数的61.337%。
(2)有重码时,检索软词库,读出相关的所有软词,先舍去组合路径中无软词的重码字,例如图2中的“龋”、“硷”和“砍”三字;再舍去软词数相对较少的组合路径,例如图2中的“梦”字;若软词数相同,则本步骤无法作出取舍,留待第三步处理,例如图6中的“爱”和“受”;若经本步骤后只有唯一一种选择,则结束处理,并认为本次转换结果比较可靠。据10183字的试验文本统计表明,利用软词库可以正确分辩出3290字,约占文本总字数的32.309%。
(3)经过上一步骤的处理后的重码字,选择字频较低(即更为常用)的字,并结束该句的转换,并认为本次转换结果不大可靠,例如图2中的“爱”字的频序为835,“受”字的频序为363,故选择了“受”字;据10183字的试验文本统计表明,经过上述两个步骤的处理后剩余的647字中,依靠频序猜对546字,约占文本总字数的5.326%。
图2中例句的转换结果为“我想为亲受的妈妈点一首歌”,有一个错,由于经过了频序选择,故认为本次转换结果不大可靠。据10183字的试验文本统计表明,经过上述三个步骤的处理后,出错的有101字,约占文本总字数的0.992%。其中又可以细分为三类错误一般错误42个,即软词词频相差较大,例如图2中的“亲爱”和“亲受”,“亲爱”显然比“亲受”常用的多,将“亲受”改为非软词,对今后的转换无疑是有利的;严重错误43个,即软词词频相差不大,例如“昨天”和“明天”,虽然“昨”字的频序为1871,“明”字的频度为201,但这两个词的词频却差不多,无论怎样修改软词库,都会顾此失彼;永久错误16个,即某些未入软词库的不常用字造成的错误。
对软词库的进一步增删优化,即指对一般错误和严重错误进行有利于一个特定的用户的修正过程。
据此,即可以编制句输入的处理程序。
此外,本发明的BM句输入系统还包括有自定义短语输入方式,用户可以将经常使用到的句子定义为短语使用,以降低动态码长。也使用字母V作为引导符,回车键作为该自定义短语的结束符。每个自定义短语的字数允许为1~18字,编码格式为V???<CR>
其中???表示属于键元集(0~9和A~Z)的任意三个编码字符,自定义短语中允许有ASII字符,只要该短语的半角字符总数不多于36个即可,三个编码字符不作进一步规定,用户可以用该短语的前二末一字标准拼音的首字母,也可以借用任一种输入法的字、词编码方法,由用户自定,只要用户自己能记住就行了。
键入回车键后,若这个编码有短语,则该短语上屏,提示行只显示该短语的编码字符及该短语的字符数,键入ALT+空格键组合删除此短语;如果这个编码无短语,则提示行编码之后显示[无定义],并自动进入自定义短语增加状态,要求按字词方式输入,可以有半角字符,按回车键结束定义;若显示[无定义]时直接回车,则不增加退出。可见,自定义短语的编码是不允许有重码的。
图3规定了一个符合要求的编码对应的短语的查找、读取、增删、排序等操作的算法。
自定义短语的处理,短语库占用64KB内存空间,如图3所示,短语编码计有000~ZZZ共36^3=46656种组合。采用二级索引。第一级索引给出每一个编码的使用情况;第二级索引紧接着第一级存放,指明该短语在短语库中的首址,排列顺序同第一级索引,增加或删除短语时,应重新排序。
在索引之后为短语区;每条短语首先标明自身的长茺(占用5bit);每个字的标志为4bit,分为汉字符、ASCII(半角)字符、特殊字符(例如夹在短语中的回车符等)和结束符四大类;汉字符为0~12bit格式,只须标明字频序即可,总计可表示8191个字,例如,“的、一、是、在、了、不、和”的字频依次为1、2、3、4、5、6、7,则依次可表示为“0000、00010、00011、001000、001001、001010、001011”,依此类推;ASCII字符为8bit格式,只须标明该字符ASCII值即可;特殊字符为2bit格式,最多可表示4个特殊字符;最后为结束符,0bit格式。
增加短语时,按生成短语的先后顺序排列;删除短语时,将该条第一级索引的标志位清除,将第二级索引的地址信息删除,并将短语的长度置0即可。因此,当增删较频繁时,会出现磁盘“碎片”,为了尽可能减少“碎片”,在增加短误时,应优先使用“碎片”,算法是从短语区开始查找短语长度为0的“碎片”,并进一步搜寻该短语的结束标志,由此计算出该“碎片”的长度,若刚好等于增加短语的长度,则予以使用,否则继续查找,直至末尾,无合适的碎片可用时,才于末尾添加。
经测算,2~18字短语,64KB内存空间的短语库可存放10346~2232条自定义短语。
据此,即可以编制自定义短语的处理程序。
依据字码表、软词段文件、短语库和BM输入法使用规则即可进行程序编制、汇编、链接和调试,通过后挂接到汉字系统上即可使用。由于本输入法数据繁多,软件较长,为了尽可能节省内存,使得低档机用户可以使用,宜采用汇编语言进行程序编制。
本发明的汉字键盘句输入系统,使用了键盘上的下列46个键0~9、A~Z、Alt键、回车键、退格键、空格键、分号键、光标左移键“←”、光标右移键“→”、Ins键、Del键、大小写字母转换键Capslock。其中数字键0~9和字母键A~Z用于字的编码,0~9和空格键还用于重码字的选择;Alt+数字键组合用于重复选字,Alt+0键组合还用于回存修改过的软词库;分号键用于向软词库增删词汇;退格键和回车键用于在提示行修正句转换错误;Capslock键及Alt+空格键组合用于结束或开始一轮字、词、句和自定文短语的混合输入。
本发明与现有各种句输入系统相比具有如下的优点和有益效果1、现在的句输入系统,特别是拼音语句转换系统,无一不将研究工作的重点放在汉语的语法研究上,而语法只是被动地归纳语言最基本的规律,不可能充分地包容所有的语言现象,也必然出现滞后现象,目前甚至还未形成一个公认的比较完备的语法体系。另一方面,目前各种句输入系统中,集合各种语法规则、词汇的知识库(或称为“词典”),占用电脑的内存十分庞大,或者说只能调入最常见的一部分词汇,因而内存容量较小、处理速度较慢的低档机用户就无法使用,等等,给人的总体印象是“笨拙”。而本发明则以语言现象中最基本、最直接的元素——字与字之间的组合关系入手,摒弃尽可能多的中间环节,将研究重点在软词库数据压缩上,一般地说,在占用内存不大于4MB时,可装入不小于680万双字词,是一般的字、词、句输入法所难以企及的(例如,InSun拼音语句转换系统的词典,一个双字词要占用20字节以上的存贮空间,在占用相同内存容量下,能容纳的词汇量不及本发明的3%,而且能调入内存的也只有一万余词条)。可以说,软词库基本上可以容纳所有的双字词汇和语法现象;更重要的是,由于用户对软词库的增删优化是极其方便的,在句输入时对软词库的修改还可以由程序代劳,因此具有极强的自学习和自适应能力,BM句输入系统可以在较短时间内适应于每一个用户的需要,也可以极方便地跟上语言的发展变化,基本上解决了句输入技术方面的一系列问题。
2、本发明的句转换正确率较高,据对1531字的离散文本(单句)和8652字的连续文本(文章)统计的结果,正确率达97.061~99.366%,经过对软词库的增删优化,正确率可以进一步提高到98.040~99.660%。远比目前的各种句输入系统为高(例如InSum拼音语句转换系统对10167字试验文本的转换正确率约为92%)。当然,这个结果是建立在调入全部56段软词的基础上的,此时差不多要占用4MB内存空间;对于内存不足4MB的较低档的电脑,当软词库不能完全调入时,据测算,装入0~56段软词时,句转换的正确率在85~99.660%之间。因此,如果调入的软词段过少,致使转换正确率过低时,用户可以只用字词和自定义短语方式输入。
3、本发明采用BM字词输入法的拆字编码方案,以成字部首标准读音的首字母作代码(只有16个类字部首例外),基本上合乎规范;用户所认得的字,可以直接用之编码,符合国民教育背景;每一个用户只需要有识字1500个的能力,就有能力正确地输入全部30865个汉字和非字符号。
4、本发明可以实现字、词、句和自定义短语的混合输入及快速看打、听打和想打,可处理字集为7862字,包括了现代汉语通用字表的7000个汉字、GB2312-80中的6763个汉字和687个非字符号。
5、BM字词输入法是面向广大的非专业打字人员的,在保证易学性和通用性的前提下以尽可能降低动态码长为目标,不适用于专业人员的盲打。BM句输入系统则主要为专业打字人员设计的,据测算,BM字词输入法的动态码长在1.78~3.18之间,BM句输入系统未用自定义短语时的动态码长约为3.207,比之BM字词输入法要长,但比以标准拼音输入方式的句输入系统要好;充分利用字、词、句和自定义短语混合输入时,动态码长可降至2.2以下,专业打字人员输入速度可望达到150/分钟以上。
权利要求
1.一种汉字键盘句输入系统,字输入以代码的形式通过键盘上的字母键和数字键完成,并配置有将任意两个汉字之间词与非词的组合关系尽数包容的软词库,其特征在于还包括有句输入方式,其输入方法为以字母V作为句输入的引导符,回车键作为该句的结束符,格式为V字编码 字编码……字编码<CR>
2.根据权利要求1所述的汉字键盘句输入系统,其特征在于上述字输入的编码规则为字的拆分部首依其首笔划在该字中的笔顺,依次定为第一、次、末部首,字按照拆分部首的数目分为单部首字、双部首字和三部首字,其中(1)单部首字的编码方式为字的读音首字母+字首笔划代码+字次笔划代码+字末笔划代码,笔划数不足时,先取首笔划,次取末笔划,不足的用字母补齐;(2)双部首字编码方式为第一部首代码+末部首代码+末部首首笔划代码+末部首末笔划代码,当末部首非字时第3码改为末部首次笔划代码,其余同单部首字规定;(3)三部首字编码方式为第一部首代码+次部首代码+末部首代码+末部首末笔划代码。
3.根据权利要求2所述的汉字键盘句输入系统,其特征在于上述句输入方式的使用规则为;(1)相邻字的编码之间可以用1个或多个空格符分隔,也可以不用;(2)每个句子允许为4~36个字符,即不用空格键符分隔时,每个句子限定为2~18个字;除空格键分隔符外,其余字符必须为全角字符(汉字符,包括非字符号)的编码;(3)每个字按照上述字编码规则固定取前3码;一个字的三个编码之间不准用空格符分隔,句中有叠字时,其次字的编码可简化为一个字母V,以缩短码长;(4)退格键用于删除最末一个字符,回车键和ALT+空格键组合用于删除全部编码字符;光标左右移键“←”、“→”与删除键DEL、插入键INS配合,可以用于在输入的编码中间进行插入、更改或删除字符操作。
4.根据权利要求3所述的汉字键盘句输入系统,其特征在于上述输入句子的上屏可采用“无条件上屏”或“有条件上屏”两种方式,其中采用“无条件上屏”时,则无论所输入句子的转换结果是否可靠,均在提示行显示的同时直接上屏;采用“有条件上屏”时,若系统处理程序确认本次转换结果比较可靠,则在提行显示的同时直接上屏,若认为不可靠,则先修正可能出错的字,并需通过按键确认后才上屏。
5.根据权利要求4所述的汉字键盘句输入系统,其特征在于上述修正出错的方式为,提示行光标将停于可能出错的字处,并在提示行右边提示该字的三个编码和1~10个可供选择的字,用户键入相应的数字键选择所要的字,若可供选择的字超出10个,可用退格键翻页(若刚好只有10个可选字,则第10个字的标识序号为正常的“0”,若多于10个,则第10个字的标识序号改为“?”,不过要选择第10个字时仍应键入数字键“0”),利用光标键“←”、“→”可以选择要修改的字,提示行右边的提示编码和可选字将随之而改变;修改完毕,键入空格键该句即上屏。
6.根据权利要求1所述的汉字键盘句输入系统,其特征在于还包括有自定义短语输入方式,其输入格式为V???<CR>其中???表示属于键元集(0~9和A~Z)的任意三个编码字符。
7.根据权利要求6所述的汉字键盘句输入系统,其特征在于上述三个编码字符可用该短语的前二末一字标准拼音的首字母,也可以用任一种输入法的字、词编码方法。
8.根据权利要求7所述的汉字键盘句输入系统,其特征在于上述编码有短语,则该短语上屏,提示行只显示该短语的编码字符及该短语的字符数,键入ALT+空格键组合删除此短语;如果这个编码无短语,则提示行编码之后显示[无定义],并自动进入自定义短语增加状态,要求按字词方式输入,可以有半角字符,按回车键结束定义;若显示[无定义]时直接回车,则不增加退出。
9.根据权利要求1或2或3或4或5或6或7或8所述的汉字键盘句输入系统,其特征在于可以实现字、词、句和自定义短语的混合输入,且使用了键盘上的下列46个键0~9、A~Z、Alt键、回车键、退格键、空格键、分号键、光标左移键“←”、光标右移键“→”、Ins键、Del键、大小写字母转换键Capslock。其中数字键0~9和字母键A~Z用于字的编码,0~9和空格键还用于重码字的选择;Alt+数字键组合用于重复选字,Alt+0键组合还用于回存修改过的软词库;分号键用于向软词库增删词汇;退格键和回车键用于在提示行修正句转换错误;Capslock键及Alt+空格键组合用于结束或开始一轮字、词、句和自定义短语的混合输入。
全文摘要
一种计算机汉字键盘句输入系统,采用“软词库”,将任意两个汉字之间词与非词的组合关系(即汉语的所有词汇和语法现象)尽数包容,具有极强的自学习能力,完全摒弃了通常的句输入技术中重点考虑语法研究的模式。可以实现字、词、句、自定义短语的混合输入和快速看打、听打、想打。句转换正确率达97~99%,经对软词库的增删优化,正确率可以进一步提高到98~99.5%。是一种易学、好用和通用的汉字键盘输入法。
文档编号G06F3/023GK1159028SQ9611731
公开日1997年9月10日 申请日期1996年11月30日 优先权日1996年11月30日
发明者朱亮 申请人:朱亮