一种小键盘电子字典的智能检索方法

文档序号:6571893阅读:207来源:国知局
专利名称:一种小键盘电子字典的智能检索方法
技术领域
本发明涉及电子设备的检索技术,特别是一种可用于小键盘电子字典的智能检索方法。
背景技术
随着电子技术的发展,许多传统纸质媒体(如书本、报纸、字典等)的功能都可以用电子设备来完成,电子字典也日益成为众多手机、PDA、快译通、学习机、MP4等电子产品上的一项重要的功能。
检索是实现电子字典的关键技术之一。在传统的字典检索中,输入是确定无歧义的,因而字典的检索是一种一一对应的查找,即在字典中查找出与输入相同的字、词或短语。例如,在计算机、快译通、PDA等一些电子产品上,26个英文字母都有一一对应的按键,并且对英语以外的其他语言也有不少成熟的输入法,因此输入的字、词或短语基本没有歧义,在这些电子产品上,电子字典的检索即是在字典中一一对应地查找出与输入相同的字、词或短语;在一些中高端电子产品上,尽管其按键少于26个,但具备手写输入设备,可以通过手写输入的方法输入待查的字、词或短语,也不会产生歧义,其电子字典的检索同样是一一对应的查找。
然而在实际中,很大一部分电子产品出于成本、体积、实用性等方面考虑,并不具备26个以上的按键或手写输入设备,电子字典的输入需要通过少数几个按键来完成,此时由于按键数少于字母数,一个按键可能表示多个字母,输入时将不可避免地会产生模糊和歧义,使得传统字典一一对应的检索方式无法正常进行。例如,手机上的标准CCITT键盘,数字键“2”代表了英文字母“abc”,即按“2”键时,用户有可能想输入字母“a”、“b”、或“c”中的任意一个。这种情况下,如果还使用传统的方法进行字典检索,则必须先在输入阶段采用某些特殊的处理来消除输入的模糊和歧义才能进行。例如,目前在手机上广泛使用的一种方法是将CCITT标准键盘上的“2”、“3”、“4”、“5”、“6”、“7”、“8”和“9”八个数字键分别代表英文字母“abc”、“def”、“ghi”、“jkl”、“mno”、“pqrs”、“tuv”和“wxyz”,通过记录重复按压某数字键的次数来确定要输入的字母,即,需要输入字母“c”时,则按压“2”键3次,需要输入字母“x”时,按压“9”键2次,如此类推,在无歧义地确定需输入的字、词、或短语后,再进行常规的字典检索。另一些常见的方法还有设置两个按键,重复按压其中一个可以顺序选择英文字母,重复按压另一个可以反序选择英文字母,以此进行字母的无歧义输入和字典检索;通过“上”、“下”、“左”、“右”键选择屏幕上显示的小键盘上的字母来完成字母的无歧义输入和字典检索,等等。这类方法都具有一个明显的缺点,即输入时需要大量重复地按键,输入效率低下,使用起来非常不方便。为了减少按键次数,提高输入效率,近年来针对手机的CCITT标准键盘出现了一些改进的字典智能输入/检索方法,这些方法对输入阶段按键的歧义不进行特别处理,而是在检索阶段对其歧义进行智能消除,可以做到对每个字母只按一次按键,即能显示出可能需要输入的字、词或短语,显著地减少了按键的次数,提高了输入效率。但这些方法目前仍局限于CCITT标准键盘,对一些按键数更少的电子产品(如学习机、MP4等)上的电子字典检索,目前尚无有效的解决办法,普遍只能采用在输入阶段消除按键歧义的方法来进行。

发明内容
本发明针对传统字典检索方法只能处理精确无歧义的输入,造成目前在学习机、MP4等按键较少的电子产品上使用电子字典时按键次数多、输入效率低下、使用不便等缺点,提供一种电子字典的智能检索方法,该方法可以接受模糊和有歧义的输入,根据输入按键的组合,通过在检索阶段的智能联想,能在按键较少的标准或非标准键盘上,特别是应用于5个按键的小键盘上,实现每个需输入的字符只按一次键,即能显示出所有可能要输入的字、词或短语供用户选择,有效地减少字典检索时所需要的按键次数,提高了输入效率,并且实现简单,运算量低,可以广泛地应用到多种具有电子字典功能的电子产品上。
为了实现上述发明目的,采用的技术方案如下一种小键盘电子字典的智能检索方法,包括离线编码过程及在线检索过程;所述离线编码过程包括如下步骤(1)对电子字典的按键进行编码,将输入字符集中的字符分配给各个按键,建立字符-按键-编码映射表,并将电子字典中的字、词、短语按照该字符-按键-编码映射表转换成编码串;(2)、以步骤1中生成的编码串为依据调整字典的顺序,并为字典建立索引;所述在线检索过程包括如下步骤(3)接收键盘输入,根据步骤1中建立的字符-按键-编码映射表转换为编码并记录下来;(4)根据已记录的输入编码和字典的索引,查找到与该编码相同或相关的字、词或短语;(5)将查找到的字、词或短语在屏幕上列出来;(6)用户在屏幕上选出自己需要查找的字、词或短语后,在屏幕上显示该字、词或短语的解释。
上述技术方案中,所述步骤1具体包括如下步骤(1.1)对所用键盘上的按键进行编码;(1.2)设定编码重复率需满足的条件;(1.3)将输入字符集中的字符分配给各个按键,并建立字符-按键-编码映射表;(1.4)将电子字典中的每个字、词或短语按照步骤1.3中建立的字符-按键-编码映射表转换成编码;(1.5)统计字典中编码重复的字、词、短语的数目;如果编码重复率不满足步骤1.2给出的要求,则修改字符分配方案,并转步骤1.3;否则记录下当前的字符-按键-编码映射表作为最终字母分配结果。
所述步骤2中,字典中的字、词或短语按照编码最相似的原则进行排序。
所述步骤4中,查找编码与当前输入编码相同的字、词或短语。
所述步骤4中,除了查找编码与当前输入编码相同的字、词或短语外,同时查找编码是以当前编码为前缀的其他字、词或短语。
当所述步骤4还查找以当前编码为前缀的其他字、词或短语时,其查找可按以下方法进行(4.1)设置一个缓冲队列,其大小至少可以容纳电子字典的屏幕所能显示的字、词或短语;
(4.2)查找到与当前输入编码相同的字、词或短语的起始地址;(4.3)向后顺序查找一个字、词或短语,如果当前字、词或短语的编码长度小于当前输入的编码的长度,或编码长度等于当前输入的编码长度,但与当前输入的编码不相同,或到达字典末尾,则退出查找,缓冲队列中即为按字符长度从小到大的顺序排列好的查找结果;(4.4)将当前查找到的字、词或短语按字符数少的在前、字符数多的在后的原则插入缓冲队列,并转步骤4.3继续进行。
本发明所述输入字符集为26个英文字母时,所述步骤1.3中的字符分配可以用以下方法来实现(1.3.1)将26个英文字母按人们输入习惯的顺序进行排列;(1.3.2)假设有N个按键,N<26,则将排列好的26个英文字母分为N段,每段分配给一个按键。
所述步骤1.3.1中所述的人们输入习惯的顺序,可以采用英文字母“a-z”的自然顺序,也可以采用计算机标准键盘上英文字母的排列顺序。
作为应用本发明的最佳方案,所述电子字典的键盘有五个按键,并将“abcd”,“efghij”,“klmno”,“pqrs”,“tuvwxyz”分别分配给按键1、按键2、按键3、按键4、按键5。
本发明与现有技术相比具有以下显著优点1、本发明提供的字典智能检索方法可以接受模糊和有歧义的输入,并通过检索阶段对按键输入的组合的智能联想,使得每个待输入的字符只需按一次键,即能显示出所有可能要输入的字、词或短语,有效地提高了输入的效率,使用起来非常方便。特别地,对于英汉和汉英字典的检索,输入时需按键的次数小于等于英语单词或汉语拼音所包含的英文字母数。
2、本发明提供的字典智能检索方法适用于5键以上的任意键盘,使得一些按键很少的电子产品,如MP4、学习机等,均可方便地使用。
3、本发明提供的字典智能检索方法(特别是其中的智能联想方法)处理简单,不需要很复杂的运算,对系统的运算能力要求不高,普遍适用于高、中、低端的产品。


图1为本发明的电子字典智能检索方法流程图;图2为本发明的步骤1流程图;图3为本发明的步骤4查找的流程图;图4为本发明实施例的电路方框图;图5为实施例的电路原理图;图6为实施例在离线阶段的流程图;图7为实施例中建立的字母-按键-编码映射关系示意图;图8为实施例在在线阶段字典输入和查询处理的流程图。
具体实施例方式
下面结合附图对本发明做进一步的说明。
本发明在某电子装置上使用5个按键实现英汉/汉英双向字典检索的实例,来具体说明本发明的实施方式。
本发明实施例硬件结构如图4所示,由微处理器电路、键盘接口电路、液晶显示电路、存储器电路及其他功能电路共同构成。电子字典为本实施例众多功能中的一项,其他功能可以是音乐播放、电影播放、图片显示、文本显示等等,由于与本发明关系不大,这里不再详细叙述。在实现本发明提供的电子字典智能检索方法中,微处理器主要完成以下功能1、操作界面的显示;2、接收键盘输入;3、字典的检索和结果的显示。键盘接口电路、液晶显示电路通过数据线B和控制线C与微处理器相连接,分别完成微处理器与键盘、液晶显示屏之间的通信和控制功能。存储器电路通过地址线A、数据线B和控制线C与微处理器相连,为微处理器提供大容量的片外存储空间,用于电子字典及相关数据的存储。译码电路通过地址线A与微处理器相连,为各个外围芯片提供片选信号。其他功能电路为系统实现除电子字典外的其他各项功能。
电路原理图如图5所示,微处理器电路、键盘接口电路、液晶显示电路、存储器电路、译码电路分别由微处理器芯片IC1、键盘接口芯片IC2和键盘阵列、LCD显示控制芯片IC3和LCD显示屏、存储芯片IC4和译码芯片IC5及它们相应的外围电路共同构成。其中IC1可以采用16位的DSP芯片TMS320C5409;IC2可采用74LS244;IC3可以采用Sumsung的K0713BT-01;IC4可以采用M29W400B;IC5可以采用74LS138。其他功能电路可以采用实现相应功能的IC芯片及其外围电路来实现。
本发明的实施过程如附图1所是,实现英汉/汉英双向字典的智能检索,其实施的过程分为离线阶段和在线阶段,其中离线阶段主要完成英文字母-按键-编码映射和编码字典的生成,其流程如附图2所示,该阶段对英汉字典和汉英字典的处理方法相类似,具体到应用于5个按键的实施例中,离线阶段的具体步骤如图6所示首先对用于字典输入的5个按键进行编码。由于编码只是内部使用,因此码字可以任意选择不重复的5个符号,例如,5个按键可以分别编码为“1”、“2”、“3”、“4”、“5”,也可以编码为“a”、“b”、“c”、“d”、“e”等,本实施例采用前一种编码方式。
按键编码完毕后,设定字母分配后字典编码重复率需要满足的条件。该条件的设定以实际需要为依据,受字典的词汇量、按键数、编码长度等因素的影响,可以是指定最大编码重复率上限,也可以是指定平均编码重复率上限等形式。本实施例采用指定最大编码重复率上限的方法,规定英汉字典的最大重码数必须小于一屏最多可以显示的英文字、词或短语数,汉英字典的最大重码数必须小于一屏最多可以显示的中文字、词或短语数。
给定字典编码重复率需要满足的条件后,即进入字母分配阶段。将26个字母分配到5个按键上,由于字母数比按键数多很多,因此每个按键需要表示多个字母。分配的原则是符合人们输入的一般习惯并且使字典中词的编码的最大编码重复率满足给定的要求。该过程可以按以下步骤来进行1、按照人们输入习惯,将26个字母按某种顺序进行排列,例如,可以按“abcdefghijklmnopqlstuvwxyz”的字母排列顺序进行排列,也可以按照计算机上标准英文键盘的按键顺序,即“qwertyuiopasdfghjklzxcvbnm”的顺序进行排列。本实施例采用了英文字母的排列顺序。
2、将排列好的字母分为5段,每段分配给一个按键,并由此得到一个字母-按键-编码映射表。例如,可以将“abcd”,“efghij”,“klmno”,“pqrs”,“tuvwxyz”分别分配给编码为“1”,“2”,“3”,“4”,“5”的按键上,形成的字母-按键-编码映射关系如图7所示。
3、根据已得的字母-按键-编码映射表,对字典中所有的中英文的字、词、短语进行编码,其中,对于英汉字典里的英文字、词、短语,可以直接按字母-按键-编码映射表转换为编码,对于汉英字典里的中文的字、词、短语,可以根据其拼音字母来进行编码转换,例如,如果将“abcd”,“efghij”,“klmno”,“pqrs”,“tuvwxyz”分别分配给编码为“1”,“2”,“3”,“4”,“5”的按键上,则英汉字典里的英文单词“hello”可以转换为编码“22333”,汉英字典里的中文“你好”,采用拼音“nihao”进行编码,可以转换为编码“32213”。值得注意的是,由于某些英文单词或汉语拼音可能包含很多字母,因此除了全部将其转换为编码的编码方式外,也可以根据需要只对其中一部分进行编码处理,例如,只对单词或拼音的前6位进行编码,英汉字典里的英文单词“dictionary”可以转换为编码“121523”,汉英字典里的中文“中国”,按其拼音“zhongguo”,可以转换为编码“523322”。这样的处理可以减少索引的大小,但会增加编码重复率。
4、统计在目前字母分配方案下字典中编码重复的次数,并记录下最大的编码重复率。
5、比较目前字母分配方案的最大编码重复率与设定的最大编码重复率条件,如果不满足条件,则重复步骤2-5,直到得到满足条件的字母分配方案为止。
本实施例经过优化调整后,对英汉和汉英字典采用统一的字母分配方案,即将“abcd”,“efghij”,“klmno”,“pqrs”,“tuvwxyz”分别分配给编码为“1”,“2”,“3”,“4”,“5”的按键,形成的字母-按键-编码映射关系如图7所示。
字母分配完成后,按照字母-按键-编码映射表,将英汉字典中的英文字、词、短语和汉英字典中的中文字、词、短语的拼音转换为相应的编码,并按照编码最相似的原则对字典中的中文字、词、短语进行排序。所述编码最相似的原则排序,即相邻两个字、词、短语的编码只有一位的差别,如按照“1-11-111-1111-11111-111111-111112-111113-……”的顺序进行排列。英汉和汉英字典排好序后,分别根据其编码生成各自的索引,最后将所生成的英汉和汉英字典数据及其对应的索引数据写入系统的存储器中。
完成以上准备工作后,即可使用系统进行在线的英汉或汉英字典的检索,检索的过程如附图3所示,首先设置一个缓冲队列,其大小至少可以容纳电子字典的屏幕所能显示的字、词或短语;然后查找到与当前输入编码相同的字、词或短语的起始地址;再向后顺序查找一个字、词或短语,如果当前字、词或短语的编码长度小于当前输入的编码的长度,或编码长度等于当前输入的编码长度,但与当前输入的编码不相同,或到达字典末尾,则退出查找,缓冲队列中即为按字符长度从小到大的顺序排列好的查找结果;如果长度不符合退出的条件,则将当前查找到的字、词或短语按字符数少的在前、字符数多的在后的原则插入缓冲队列,并继续进行。
具体到实施例中,该阶段的实施流程如图8所示进入电子字典模块后,首先并进行初始化工作,确定当前使用的是英汉字典还是汉英字典,并对每次查询设置一按键计数器N,N=0。完成初始化工作后,进入主程序循环,等待按键输入。
接收到用于字典输入的5个按键中某按键的信号后,判断按的是哪个按键,并记录下该按键对应的编码。此时检查按键计数器N,如果N=0,则说明该字母为第一个输入的字母,可以直接进行字典检索处理;如果N>0,则说明该字母不是第一个输入的字母,需要将此次输入的编码加在之前输入编码的后面,形成一个新的编码串,再进行字典的查找。查找前,将按键计数器N加1。
字典查找阶段,根据输入的编码串和索引,查找并记录编码与输入编码相同或相关的字词偏移地址,并在屏幕上显示查找的结果。根据不同的要求,查找可以采用两种方式,一种是只查找编码与当前输入编码相同的字、词或短语,例如,输入编码为“123”,则只查字典中编码为“123”的字、词或短语;另一种是除了查找编码与当前输入编码相同的字、词或短语外,同时查找其编码是以当前编码为前缀的其他字、词或短语,例如,输入编码为“123”,则在查找所有编码为“123”的字、词或短语外,还继续依次查找编码为“123X”、“123XX”、“123XXX”,……,的字、词或短语,直到显示满一屏或搜索不到词为止,其中“X”表示“1”、“2”、“3”、“4”、“5”中任意一个编码。第一种查找方式的实施很简单,只要在当前字典中找到与当前输入编码相同的所有字、词或短语并显示出来即可,但其联想能力较差,当某单词或拼音较长时,有可能在输入过程中出现找不到词的情况,对输入者的心理产生不好的影响。本实施例采用了第二种查找方式,该方式尽管实施起来比第一种查找方式略为复杂一些,但联想能力很强,很多情况下不需要完全输入一个编码即联想出需要输入的字、词或短语,使用起来很方便,运算也很简单。该查找方式的实施,首先需要设置一缓冲队列,其大小至少可以容纳一屏所能显示的字、词或短语。一屏能容纳的字、词或短语数根据显示屏大小、中英文字体大小、显示时的排版,可以预先计算出来,例如,对英汉字典的查找,一屏如果最多能显示10行,每行最多4个英文的字、词或短语,则缓冲队列的大小至少能容纳40个词的相关信息;对汉英字典的查找,一屏如果最多能显示10行,每行最多6个汉语字、词或短语,则缓冲队列的大小至少能容纳60个词的相关信息。完成缓冲队列的设置后,即可根据索引在目前所用的字典中查找与当前输入编码相同的字、词或短语的起始地址。以该地址为起点,向后顺序查找一个字、词或短语,如果当前字、词或短语的编码长度小于当前输入的编码的长度,或编码长度等于当前输入的编码长度,但与当前输入的编码不相同,或到达字典末尾,则退出查找,此时缓冲队列中即为按字符长度从小到大的顺序排列好的查找结果,否则则将当前查找到的字、词或短语按字符数少的在前、字符数多的在后的原则插入缓冲队列,并继续以上查找过程,直到满足退出条件为止。
查找完成后,将查找结果在屏幕上显示出来,当用户看到屏幕上显示他想要查的词时,可以按压“确定”键进入选词阶段。如果系统具有多于5个的按键,可以使用字母输入以外的按键表示“确认”,如果系统只有5个按键,则可以使用“长按”某键的方式表示确认。
进入选词阶段后,屏幕上显示选词用的光标,原来输入字母的5个按键中的4个变为上、下、左、右,供用户选词使用。当用户选中想查的词,并按确定后,查找该词对应的解释,并在屏幕上显示出来,即完成一次查询。
在本实施例中,用户也可以在没看到想要查的词,但确定前面的输入没错的前提时,按压“确定”键进入选词阶段,通过向后翻页来找到想查的词。
本实施例中,设置一个字典切换的热键,可以在任意状态下进行英汉/汉英字典的切换。为了方便输入,本实施例还设置了“退格”、“清除”等功能按键,这些按键可以使用字母输入以外的按键,也可以使用“长按”的方法来实现。
权利要求
1.一种小键盘电子字典的智能检索方法,包括离线编码过程及在线检索过程,其特征在于所述离线编码过程包括如下步骤(1)对电子字典的按键进行编码,将输入字符集中的字符分配给各个按键,建立字符-按键-编码映射表,并将电子字典中的字、词、短语按照该字符-按键-编码映射表转换成编码串;(2)以步骤1中生成的编码串为依据调整字典的顺序,并为字典建立索引;所述在线检索过程包括如下步骤(3)接收键盘输入,根据步骤1中建立的字符-按键-编码映射表转换为编码并记录下来;(4)根据已记录的输入编码和字典的索引,查找到与该编码相同或相关的字、词或短语;(5)将查找到的字、词或短语在屏幕上列出来;(6)用户在屏幕上选出自己需要查找的字、词或短语后,在屏幕上显示该字、词或短语的解释。
2.根据权利要求1所述的小键盘电子字典的智能检索方法,其特征在于所述步骤1具体包括如下(1.1)对所用键盘上的按键进行编码;(1.2)设定编码重复率需满足的条件;(1.3)将输入字符集中的字符分配给各个按键,并建立字符-按键-编码映射表;(1.4)将电子字典中的每个字、词或短语按照步骤1.3中建立的字符-按键-编码映射表转换成编码;(1.5)统计字典中编码重复的字、词、短语的数目;如果编码重复率不满足步骤1.2给出的要求,则修改字符分配方案,并转步骤1.3;否则记录下当前的字符-按键-编码映射表作为最终字母分配结果。
3.根据权利要求1或2所述的小键盘电子字典的智能检索方法,其特征在于所述步骤2中,字典中的字、词或短语按照编码最相似的原则进行排序。
4.根据权利要求3所述的小键盘电子字典的智能检索方法,其特征在于所述步骤4中,查找编码与当前输入编码相同的字、词或短语。
5.根据权利要求3所述的小键盘电子字典的智能检索方法,其特征在于所述步骤4中,除了查找编码与当前输入编码相同的字、词或短语外,同时查找编码是以当前编码为前缀的其他字、词或短语。
6.根据权利要求5所述的小键盘电子字典的智能检索方法,其特征在于所述步骤4的查找可按以下方法进行(4.1)设置一个缓冲队列,其大小至少可以容纳电子字典的屏幕所能显示的字、词或短语;(4.2)查找到与当前输入编码相同的字、词或短语的起始地址;(4.3)向后顺序查找一个字、词或短语,如果当前字、词或短语的编码长度小于当前输入的编码的长度,或编码长度等于当前输入的编码长度,但与当前输入的编码不相同,或到达字典末尾,则退出查找,缓冲队列中即为按字符长度从小到大的顺序排列好的查找结果;(4.4)将当前查找到的字、词或短语按字符数少的在前、字符数多的在后的原则插入缓冲队列,并转步骤4.3继续进行。
7.根据权利要求6所述的小键盘电子字典的智能检索方法,其特征在于所述输入字符集为26个英文字母,所述步骤1.3中的字符分配可以用以下方法来实现(1.3.1)将26个英文字母按人们输入习惯的顺序进行排列;(1.3.2)假设有N个按键,N<26,则将排列好的26个英文字母分为N段,每段分配给一个按键。
8.根据权利要求7所述的小键盘电子字典的智能检索方法,其特征在于所述步骤1.3.1中所述的人们输入习惯的顺序,可以采用英文字母“a-z”的自然顺序,也可以采用计算机标准键盘上英文字母的排列顺序。
9.根据权利要求7所述的小键盘电子字典的智能检索方法,其特征在于所述电子字典的键盘有五个按键,并将“abcd”,“efghij”,“klmno”,“pqrs”,“tuvwxyz”分别分配给按键1、按键2、按键3、按键4、按键5。
全文摘要
本发明提供一种小键盘电子字典的智能检索方法,包括离线编码过程及在线检索过程;离线编码过程包括(1)对电子字典的按键进行编码,将输入字符集中的字符分配给各个按键,建立字符-按键-编码映射表,并将电子字典中的字、词、短语按照该字符-按键-编码映射表转换成编码串;(2)以编码串为依据调整字典的顺序,并为字典建立索引;在线检索过程包括(3)接收键盘输入,根据字符-按键-编码映射表转换为编码并记录下来;(4)根据已记录的索引,查找到与该编码相同或相关的字、词或短语;(5)将查找到的字、词或短语在屏幕上列出来;(6)在屏幕上选出自己需要查找的字、词或短语后,在屏幕上显示该字、词或短语的解释。
文档编号G06F3/023GK101034403SQ20071002744
公开日2007年9月12日 申请日期2007年4月6日 优先权日2007年4月6日
发明者韦岗, 张军, 杨萃 申请人:华南理工大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1