CN102662491B - 一种基于八叉树的拼音输入法 - Google Patents

一种基于八叉树的拼音输入法 Download PDF

Info

Publication number
CN102662491B
CN102662491B CN201210130321.4A CN201210130321A CN102662491B CN 102662491 B CN102662491 B CN 102662491B CN 201210130321 A CN201210130321 A CN 201210130321A CN 102662491 B CN102662491 B CN 102662491B
Authority
CN
China
Prior art keywords
word
octree
node
input method
leaf node
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201210130321.4A
Other languages
English (en)
Other versions
CN102662491A (zh
Inventor
王瑀屏
汤茂杰
白石
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tsinghua University
Original Assignee
Tsinghua University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tsinghua University filed Critical Tsinghua University
Priority to CN201210130321.4A priority Critical patent/CN102662491B/zh
Publication of CN102662491A publication Critical patent/CN102662491A/zh
Application granted granted Critical
Publication of CN102662491B publication Critical patent/CN102662491B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Machine Translation (AREA)

Abstract

本发明提出了一种基于八叉树的拼音输入法,该拼音输入法包括如下步骤:首先,将字词库中的字和词组织为带统计信息的八叉树叶子节点;然后,建立八叉树系统,将所有需要的字和词存储到八叉树中,中间节点存入访问频率值;再后,在八叉树上查找并快速返回请求的字或词;最后,将八叉树中间节点、叶子节点按使用频率进行排序。本发明的基于八叉树的拼音输入法能够自动建立和组织用于管理汉字和词的高效八叉树结构,通过对汉字库中的字和词进行快速有效的组织,实现字和词的合理存储并被高效的定位,提高了字词的查找和定位速度。

Description

一种基于八叉树的拼音输入法
技术领域
本发明属于拼音输入技术领域,涉及一种字、词的组织和查找方法,特别涉及一种基于八叉树的拼音输入法。
背景技术
拼音输入法是一种将各种拼音字母输入到计算机系统中且在汉语地区被广泛应用的拼音编码方法。拼音输入法基于汉字的拼音规则,去除了拼音中的声调,通过计算机的键盘输入相应的拼音字母来进行字和词的输入操作。一般来说,拼音输入法对字母的大小写不敏感,但若同时输入英文则拼音输入法只取小写字母作为输入,而将大写字母作为英文输入。拼音输入法大体可分为三种类型,即,全拼输入法、首字母输入法和双拼输入法。其中,全拼输入法是通过输入所需字或词的拼音中的全部字母,如:“音”-“yin”,“拼音”-“pinyin”等。首字母输入法(简拼输入法)是通过输入所需字或词字的拼音中的第一个字母,如:“音”-“y”,“拼音”-“py”等。双拼输入法是通过将汉语拼音中各个含多个字母的声母或韵母映射到不同的按键上,使得每个音都可以用最多两次按键打出,但是,双拼输入法的效率低于全拼输入法和首字母输入法结合在一起的输入方法。
目前,被广泛应用的输入法主要有搜狗拼音输入法、QQ拼音输入法、百度输入法、紫光华宇拼音输入法、微软拼音输入法、谷歌拼音输入法和智能ABC输入法。搜狗拼音输入法是由搜狐公司推出的一款Windows操作系统下的汉字拼音输入法,基于搜索引擎技术。QQ拼音输入法是腾讯公司开发的一款汉语拼音输入法软件,运行于Windows操作系统系统下。百度输入法是百度公司基于百度搜索技术,通过建立内容丰富的词库,建立的支持Windows操作系统系统的输入法。紫光华宇拼音输入法是紫光华宇自主开发基于汉语拼音的中文字、词及短语输入法。微软拼音输入法是一种基于语句的智能型的拼音输入法,提供了模糊音设置。谷歌拼音输入法支持短句和长句输入,词库包含了互联网上的流行语汇和热门搜索词。以上这些主流输入法都不是基于八叉树的输入法,而八叉树技术在非图形学领域能够形成易操作且查找信息效率极高的数据结构。因此,利用八叉树技术实现字词的高速查找和定位是一个重要课题。
发明内容
本发明旨在至少解决现有技术中存在的技术问题,特别创新地提出了一种基于八叉树的拼音输入法。
为了实现本发明的上述目的,本发明提供了一种基于八叉树的拼音输入法,其包括如下步骤:
S1:将字词库中的字和词组织为带统计信息的八叉树叶子节点;
S2:建立八叉树系统,将所有需要的字和词存储到八叉树中,中间节点存入访问频率值;
S3:在八叉树上查找并快速返回请求的字或词;
S4:将八叉树中间节点、叶子节点按使用频率进行排序。
本发明的基于八叉树的拼音输入法能够自动建立和组织用于管理汉字和词的高效八叉树结构,通过对汉字库中的字和词进行快速有效的组织,实现字和词的合理存储并被高效的定位,提高了字词的查找和定位速度。
本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:
图1本发明基于八叉树的拼音输入法的流程图;
图2是本发明基于八叉树的拼音输入法的一个从拼音对应到字词的实施例的结构组织示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。
在本发明的描述中,需要理解的是,术语“纵向”、“横向”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
本发明提供了一种基于八叉树的拼音输入法,如图1所示,其包括如下步骤:
S1:将字词库中的字和词组织为带统计信息的八叉树叶子节点;
S2:建立八叉树系统,将所有需要的字和词存储到八叉树中,中间节点存入访问频率值;
S3:在八叉树上查找并快速返回请求的字或词;
S4:将八叉树中间节点、叶子节点按使用频率进行排序。
图2是本发明基于八叉树的拼音输入法的一个从拼音对应到字词的实施例的结构组织示意图。要从拼音对应到字词,首先,将字词库中的字和词组织为带统计信息的八叉树叶子节点,在八叉树叶子节点中存储有对应拼音的字和词,八叉树叶子节点的统计信息中包含对应叶子节点的字和词被调用的次数。然后,建立八叉树系统,将所有需要的字和词存储到八叉树中,中间节点存入访问频率值,在本实施方式中,建立八叉树系统的规则包括:八叉树的根节点不包含拼音字母,仅记录查找字或词的次数;对字词库中的所有字和词的首字母进行统计,选出具有字和词的数量最多的7个首字母,根节点的前7个子节点是这7个首字母,最后一个子节点不包含字母,不包含字母的子节点的前7个子节点是具有字和词的数量次多的7个首字母,最后一个节点不包含首字母,以此类推,直到所有字和词的首字母都包含在八叉树中,由于汉字中没有首字母为i、v、u的字和词,因此,八叉树中的首字母为除i、v、u之外的所有字母;这样,从根节点到子节点就形成了一个路径,在路径上的字母依次排列形成对应子节点的拼音,叶子节点存储字和词的内存地址,对于有相同拼音的字和词,用多个叶子节点进行存储;中间节点和叶子节点中都记录该节点及相关子节点中字和词被选中的次数;对于词组,其各个字的首字母组成的路径的最后一个叶子节点指向存储所述词组的内存地址。
建立起八叉树系统后,在八叉树上查找并返回请求的字或词的方法为:当需要全拼模式时,按照八叉树从根向下的顺序逐个查找对应的字母,到达叶子节点时即返回相应的字和词;当需要智能拼音模式时,按照八叉树从根向下的顺序逐个查找对应的字母,对于路径上的最后一个节点的所有子节点包含的叶子节点所对应的字和词都返回。
在八叉树上查找并返回请求的字或词后,将八叉树中间节点、叶子节点按使用频率进行排序,具体中间节点的排序方法为:根据中间节点的子节点中字和词的被选中次数重新排列包含字母的中间节点的顺序,规则同建立八叉树系统的规则。具体叶子节点的排序方法为:根据叶子节点对应的字和词被选中的次数重新从大到小排列叶子节点的顺序,排在前面的叶子节点对应的字和词也在字词库中排在前面。
在本实施方式中,在将八叉树中间节点、叶子节点按使用频率进行排序后还可以具有以下步骤,即将新词加入到八叉树中,具体的方法可以为:当新词被记录下来时,生成新的叶子节点对其进行记录,所述新的叶子节点排在具有相同拼音的字和词的叶子节点的前面。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管已经示出和描述了本发明的实施例,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同物限定。

Claims (9)

1.一种基于八叉树的拼音输入法,其特征在于,包括如下步骤:
S1:将字词库中的字和词组织为带统计信息的八叉树叶子节点;
S2:建立八叉树系统,将所有需要的字和词存储到八叉树中,中间节点存入访问频率值,其中,建立八叉树系统的规则还包括:对字词库中的所有字和词的首字母进行统计,选出具有字和词的数量最多的7个首字母,根节点的前7个子节点是这7个首字母,最后一个子节点不包含字母,不包含字母的子节点的前7个子节点是具有字和词的数量次多的7个首字母,最后一个节点不包含首字母,以此类推,直到所有字和词的首字母都包含在八叉树中;
S3:在八叉树上查找并快速返回请求的字或词;
S4:将八叉树中间节点、叶子节点按使用频率进行排序。
2.如权利要求1所述的基于八叉树的拼音输入法,其特征在于,在所述步骤S1中,所述八叉树叶子节点中存储有对应拼音的字和词,所述八叉树叶子节点的统计信息中包含对应叶子节点的字和词被调用的次数。
3.如权利要求1所述的基于八叉树的拼音输入法,其特征在于,在所述步骤S2中,建立八叉树系统的规则包括:八叉树的根节点不包含拼音字母,仅记录查找字或词的次数。
4.如权利要求1所述的基于八叉树的拼音输入法,其特征在于,在所述步骤S2中,建立八叉树系统的规则还包括:
从根节点到子节点形成一个路径,在路径上的字母依次排列形成对应子节点的拼音,叶子节点存储字和词的内存地址,对于有相同拼音的字和词,用多个叶子节点进行存储;
中间节点和叶子节点中都记录该节点及相关子节点中字和词被选中的次数;
对于词组,其各个字的首字母组成的路径的最后一个叶子节点指向存储所述词组的内存地址。
5.如权利要求1所述的基于八叉树的拼音输入法,其特征在于,在所述步骤S3中,当需要全拼模式时,按照八叉树从根向下的顺序逐个查找对应的字母,到达叶子节点时即返回相应的字和词;当需要智能拼音模式时,按照八叉树从根向下的顺序逐个查找对应的字母,对于路径上的最后一个节点的所有子节点包含的叶子节点所对应的字和词都返回。
6.如权利要求1所述的基于八叉树的拼音输入法,其特征在于,在所述步骤S4中,将八叉树中间节点按使用频率进行排序的方法为:根据中间节点的子节点中字和词的被选中次数重新排列包含字母的中间节点的顺序,规则同权利要求1或4中所述的建立八叉树系统的规则。
7.如权利要求1所述的基于八叉树的拼音输入法,其特征在于,在所述步骤S4中,将八叉树叶子节点按使用频率进行排序的方法为:根据叶子节点对应的字和词被选中的次数重新从大到小排列叶子节点的顺序,排在前面的叶子节点对应的字和词也在字词库中排在前面。
8.如权利要求1所述的基于八叉树的拼音输入法,其特征在于,在步骤S4后还具有以下步骤:
S5:将新词加入到八叉树中。
9.如权利要求8所述的基于八叉树的拼音输入法,其特征在于,所述将新词加入到八叉树中的方法为:当新词被记录下来时,生成新的叶子节点对其进行记录,所述新的叶子节点排在具有相同拼音的字和词的叶子节点的前面。
CN201210130321.4A 2012-04-27 2012-04-27 一种基于八叉树的拼音输入法 Active CN102662491B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210130321.4A CN102662491B (zh) 2012-04-27 2012-04-27 一种基于八叉树的拼音输入法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210130321.4A CN102662491B (zh) 2012-04-27 2012-04-27 一种基于八叉树的拼音输入法

Publications (2)

Publication Number Publication Date
CN102662491A CN102662491A (zh) 2012-09-12
CN102662491B true CN102662491B (zh) 2014-11-26

Family

ID=46771995

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210130321.4A Active CN102662491B (zh) 2012-04-27 2012-04-27 一种基于八叉树的拼音输入法

Country Status (1)

Country Link
CN (1) CN102662491B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103488305A (zh) * 2013-08-13 2014-01-01 南阳师范学院 一种简繁对照中文输入法系统
CN112035597B (zh) * 2020-09-04 2023-11-21 常州新途软件有限公司 一种车载输入方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1057531A (zh) * 1991-06-20 1992-01-01 周耀瑜 汉字多功能编码键盘和二叉树编码法
CN1567174A (zh) * 2003-06-09 2005-01-19 吴胜远 对象表示和处理的方法及其装置
CN1783066A (zh) * 2004-11-29 2006-06-07 佛山市顺德区瑞图万方科技有限公司 建立联想输入系统的方法及对应的联想输入系统和方法
CN102262669A (zh) * 2011-07-28 2011-11-30 西安空间无线电技术研究所 一种从汉语拼音到汉字内码的快速输出方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1057531A (zh) * 1991-06-20 1992-01-01 周耀瑜 汉字多功能编码键盘和二叉树编码法
CN1567174A (zh) * 2003-06-09 2005-01-19 吴胜远 对象表示和处理的方法及其装置
CN1783066A (zh) * 2004-11-29 2006-06-07 佛山市顺德区瑞图万方科技有限公司 建立联想输入系统的方法及对应的联想输入系统和方法
CN102262669A (zh) * 2011-07-28 2011-11-30 西安空间无线电技术研究所 一种从汉语拼音到汉字内码的快速输出方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
基于关系数据库的海量地学真三维体数据组织;戴婉薇等;《计算机工程与应用》;20080511;第44卷(第14期);145-148 *
戴婉薇等.基于关系数据库的海量地学真三维体数据组织.《计算机工程与应用》.2008,第44卷(第14期),145-148. *

Also Published As

Publication number Publication date
CN102662491A (zh) 2012-09-12

Similar Documents

Publication Publication Date Title
CN106708893B (zh) 搜索查询词纠错方法和装置
US9026428B2 (en) Text/character input system, such as for use with touch screens on mobile phones
CN102866782B (zh) 一种提高整句生成效率的输入法和输入法系统
CN101694603B (zh) 基于Unicode的跨平台蒙古文显示及智能输入方法
JP5362095B2 (ja) インプットメソッドエディタ
CN103970798B (zh) 数据的搜索和匹配
CN101556508A (zh) 一种输入法中候选词的生成方法、装置、系统及设备
Bilisoly Practical text mining with Perl
CN105431809A (zh) 用于国际语言的虚拟键盘输入
CN105378606A (zh) 用于手势键入的备选假设错误修正
JP2005202917A (ja) 表音入力の曖昧さを除くためのシステムおよび方法
JP2007004633A (ja) 言語モデル作成装置およびそれにより作成された言語モデルを使用する言語処理装置
CN103026318A (zh) 输入法编辑器
CN108763529A (zh) 一种智能检索方法、装置和计算机可读存储介质
KR20080085165A (ko) 입력 데이터 확장 시스템 및 방법, 및 와일드카드 삽입 및입력 데이터 확장 시스템
KR102182672B1 (ko) 다국어 통합 자음 패턴 검색 방법 및 그 장치
CN102929865A (zh) 一种用于中文和东盟各国语言互译的pda翻译系统
CN102662491B (zh) 一种基于八叉树的拼音输入法
CN105404624A (zh) 一种汉字识别方法、装置及终端
CN101169686A (zh) 一种笔画输入法
CN104699381A (zh) 一种输入方式切换方法、输入法系统和电子设备
CN100561469C (zh) 创建和使用中文语言数据和用户自纠正数据的方法和系统
CN104641367B (zh) 用于格式化电子字符序列的格式化模块、系统和方法
CN107092669A (zh) 一种建立机器人智能交互的方法
Zeldes A characterwise windowed approach to Hebrew morphological segmentation

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant