一种基于八叉树的拼音输入法的制作方法

文档序号:6368853阅读:255来源:国知局
专利名称:一种基于八叉树的拼音输入法的制作方法
技术领域
本发明属于拼音输入技术领域,涉及ー种字、词的组织和查找方法,特别涉及ー种基于八叉树的拼音输入法。
背景技术
拼音输入法是ー种将各种拼音字母输入到计算机系统中且在汉语地区被广泛应用的拼音编码方法。拼音输入法基于汉字的拼音规则,去除了拼音中的声调,通过计算机的键盘输入相应的拼音字母来进行字和词的输入操作。一般来说,拼音输入法对字母的大小写不敏感,但若同时输入英文则拼音输入法只取小写字母作为输入,而将大写字母作为英文输入。拼音输入法大体可分为三种类型,即,全拼输入法、首字母输入法和双拼输入法。其中,全拼输入法是通过输入所需字或词的拼音中的全部字母,如“音”-“yin”,“拼音,,-“pinyin”等。首字母输入法(简拼输入法)是通过输入所需字或词字的拼音中的第ー个字母,如“音”-“y”,“拼音”-“py”等。双拼输入法是通过将汉语拼音中各个含多个字母的声母或韵母映射到不同的按键上,使得每个音都可以用最多两次按键打出,但是,双拼输入法的效率低于全拼输入法和首字母输入法结合在一起的输入方法。目前,被广泛应用的输入法主要有搜狗拼音输入法、QQ拼音输入法、百度输入法、紫光华宇拼音输入法、微软拼音输入法、谷歌拼音输入法和智能ABC输入法。搜狗拼音输入法是由搜狐公司推出的ー款Windows操作系统下的汉字拼音输入法,基于搜索引擎技木。QQ拼音输入法是腾讯公司开发的一款汉语拼音输入法软件,运行于Windows操作系统系统下。百度输入法是百度公司基于百度捜索技术,通过建立内容丰富的词库,建立的支持Windows操作系统系统的输入法。紫光华宇拼音输入法是紫光华宇自主开发基于汉语拼音的中文字、词及短语输入法。微软拼音输入法是ー种基于语句的智能型的拼音输入法,提供了模糊音设置。谷歌拼音输入法支持短句和长句输入,词库包含了互联网上的流行语汇和热门搜索词。以上这些主流输入法都不是基于八叉树的输入法,而八叉树技术在非图形学领域能够形成易操作且查找信息效率极高的数据结构。因此,利用八叉树技术实现字词的高速查找和定位是ー个重要课题。

发明内容
本发明g在至少解决现有技术中存在的技术问题,特别创新地提出了一种基于八叉树的拼音输入法。为了实现本发明的上述目的,本发明提供了一种基于八叉树的拼音输入法,其包括如下步骤SI :将字词库中的字和词组织为带统计信息的八叉树叶子节点;S2 :建立八叉树系统,将所有需要的字和词存储到八叉树中,中间节点存入访问频
率值;S3 :在八叉树上查找并快速返回请求的字或词;
S4 :将八叉树中间节点、叶子节点按使用频率进行排序。本发明的基于八叉树的拼音输入法能够自动建立和组织用于管理汉字和词的高效八叉树结构,通过对汉字库中的字和词进行快速有效的组织,实现字和词的合理存储并被高效的定位,提高了字词的查找和定位速度。本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。


本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中 图I本发明基于八叉树的拼音输入法的流程图;图2是本发明基于八叉树的拼音输入法的一个从拼音对应到字词的实施例的结构组织示意图。
具体实施例方式下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过參考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。在本发明的描述中,需要理解的是,术语“纵向”、“横向”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底” “内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。本发明提供了一种基于八叉树的拼音输入法,如图I所示,其包括如下步骤SI :将字词库中的字和词组织为带统计信息的八叉树叶子节点;S2 :建立八叉树系统,将所有需要的字和词存储到八叉树中,中间节点存入访问频
率值;S3 :在八叉树上查找并快速返回请求的字或词;S4 :将八叉树中间节点、叶子节点按使用频率进行排序。图2是本发明基于八叉树的拼音输入法的一个从拼音对应到字词的实施例的结构组织示意图。要从拼音对应到字词,首先,将字词库中的字和词组织为带统计信息的八叉树叶子节点,在八叉树叶子节点中存储有对应拼音的字和词,八叉树叶子节点的统计信息中包含对应叶子节点的字和词被调用的次数。然后,建立八叉树系统,将所有需要的字和词存储到八叉树中,中间节点存入访问频率值,在本实施方式中,建立八叉树系统的规则包括八叉树的根节点不包含拼音字母,仅记录查找字或词的次数;对字词库中的所有字和词的首字母进行统计,选出具有字和词的数量最多的7个首字母,根节点的前7个子节点是这7个首字母,最后ー个子节点不包含字母,不包含字母的子节点的前7个子节点是具有字和词的数量次多的7个首字母,最后ー个节点不包含首字母,以此类推,直到所有字和词的首字母都包含在八叉树中,由于汉字中没有首字母为i、v、u的字和词,因此,八叉树中的首字母为除i、V、u之外的所有字母;这样,从根节点到子节点就形成了一个路径,在路径上的字母依次排列形成对应子节点的拼音,叶子节点存储字和词的内存地址,对于有相同拼音的字和词,用多个叶子节点进行存储;中间节点和叶子节点中都记录该节点及相关子节点中字和词被选中的次数;对于词组,其各个字的首字母组成的路径的最后ー个叶子节点指向存储所述词组的内存地址。建立起八叉树系统后,在八叉树上查找并返回请求的字或词的方法为当需要全拼模式时,按照八叉树从根向下的顺序逐个查找对应的字母,到达叶子节点时即返回相应的字和词;当需要智能拼音模式时,按照八叉树从根向下的顺序逐个查找对应的字母,对于路径上的最后ー个节点的所有子节点包含的叶子节点所对应的字和词都返回。在八叉树上查找并返回请求的字或词后,将八叉树中间节点、叶子节点按使用频率进行排序,具体中间节点的排序方法为根据中间节点的子节点中字和词的被选中次数重新排列包含字母的中间节点的顺序,规则同建立八叉树系统的规则。具体叶子节点的排序方法为根据叶子节点对应的字和词被选中的次数重新从大到小排列叶子节点的顺序,排在前面的叶子节点对应的字和词也在字词库中排在前面。在本实施方式中,在将八叉树中间节点、叶子节点按使用频率进行排序后还可以具有以下步骤,即将新词加入到八叉树中,具体的方法可以为当新词被记录下来时,生成新的叶子节点对其进行记录,所述新的叶子节点排在具有相同拼音的字和词的叶子节点的前面。在本说明书的描述中,參考术语“ー个实施例”、“一些实施例”、“示例”、“具体示例”、或“ー些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少ー个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。 尽管已经示出和描述了本发明的实施例,本领域的普通技术人员可以理解在不脱离本发明的原理和宗g的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同物限定。
权利要求
1.一种基于八叉树的拼音输入法,其特征在于,包括如下步骤 Si:将字词库中的字和词组织为带统计信息的八叉树叶子节点; 52:建立八叉树系统,将所有需要的字和词存储到八叉树中,中间节点存入访问频率值; 53:在八叉树上查找并快速返回请求的字或词; 54:将八叉树中间节点、叶子节点按使用频率进行排序。
2.如权利要求I所述的基于八叉树的拼音输入法,其特征在于,在所述步骤SI中,所述八叉树叶子节点中存储有对应拼音的字和词,所述八叉树叶子节点的统计信息中包含对应叶子节点的字和词被调用的次数。
3.如权利要求I所述的基于八叉树的拼音输入法,其特征在于,在所述步骤S2中,建立八叉树系统的规则包括八叉树的根节点不包含拼音字母,仅记录查找字或词的次数。
4.如权利要求I所述的基于八叉树的拼音输入法,其特征在于,在所述步骤S2中,建立八叉树系统的规则还包括对字词库中的所有字和词的首字母进行统计,选出具有字和词的数量最多的7个首字母,根节点的前7个子节点是这7个首字母,最后ー个子节点不包含字母,不包含字母的子节点的前7个子节点是具有字和词的数量次多的7个首字母,最后ー个节点不包含首字母,以此类推,直到所有字和词的首字母都包含在八叉树中。
5.如权利要求I所述的基于八叉树的拼音输入法,其特征在于,在所述步骤S2中,建立八叉树系统的规则还包括 从根节点到子节点形成一个路径,在路径上的字母依次排列形成对应子节点的拼音,叶子节点存储字和词的内存地址,对于有相同拼音的字和词,用多个叶子节点进行存储; 中间节点和叶子节点中都记录该节点及相关子节点中字和词被选中的次数; 对于词组,其各个字的首字母组成的路径的最后ー个叶子节点指向存储所述词组的内存地址。
6.如权利要求I所述的基于八叉树的拼音输入法,其特征在于,在所述步骤S3中,当需要全拼模式时,按照八叉树从根向下的顺序逐个查找对应的字母,到达叶子节点时即返回相应的字和词;当需要智能拼音模式时,按照八叉树从根向下的顺序逐个查找对应的字母,对于路径上的最后ー个节点的所有子节点包含的叶子节点所对应的字和词都返回。
7.如权利要求I所述的基于八叉树的拼音输入法,其特征在于,在所述步骤S4中,将八叉树中间节点按使用频率进行排序的方法为根据中间节点的子节点中字和词的被选中次数重新排列包含字母的中间节点的顺序,规则同权利要求4-5中所述的建立八叉树系统的规则。
8.如权利要求I所述的基于八叉树的拼音输入法,其特征在于,在所述步骤S4中,将八叉树叶子节点按使用频率进行排序的方法为根据叶子节点对应的字和词被选中的次数重新从大到小排列叶子节点的顺序,排在前面的叶子节点对应的字和词也在字词库中排在前面。
9.如权利要求I所述的基于八叉树的拼音输入法,其特征在于,在步骤S4后还具有以下步骤 55:将新词加入到八叉树中。
10.如权利要求9所述的基于八叉树的拼音输入法,其特征在于,所述将新词加入到八叉树中的 方法为当新词被记录下来时,生成新的叶子节点对其进行记录,所述新的叶子节点排在具有相同拼音的字和词的叶子节点的前面。
全文摘要
本发明提出了一种基于八叉树的拼音输入法,该拼音输入法包括如下步骤首先,将字词库中的字和词组织为带统计信息的八叉树叶子节点;然后,建立八叉树系统,将所有需要的字和词存储到八叉树中,中间节点存入访问频率值;再后,在八叉树上查找并快速返回请求的字或词;最后,将八叉树中间节点、叶子节点按使用频率进行排序。本发明的基于八叉树的拼音输入法能够自动建立和组织用于管理汉字和词的高效八叉树结构,通过对汉字库中的字和词进行快速有效的组织,实现字和词的合理存储并被高效的定位,提高了字词的查找和定位速度。
文档编号G06F3/023GK102662491SQ20121013032
公开日2012年9月12日 申请日期2012年4月27日 优先权日2012年4月27日
发明者汤茂杰, 王瑀屏, 白石 申请人:清华大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1