CN100472536C - 一种中文输入法简拼实现方法和系统 - Google Patents

一种中文输入法简拼实现方法和系统 Download PDF

Info

Publication number
CN100472536C
CN100472536C CNB2007100737018A CN200710073701A CN100472536C CN 100472536 C CN100472536 C CN 100472536C CN B2007100737018 A CNB2007100737018 A CN B2007100737018A CN 200710073701 A CN200710073701 A CN 200710073701A CN 100472536 C CN100472536 C CN 100472536C
Authority
CN
China
Prior art keywords
string
spelling
syllable
chinese character
candidate word
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
CNB2007100737018A
Other languages
English (en)
Other versions
CN101079060A (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.)
Shenzhen Shiji Guangsu Information Technology Co., Ltd.
Original Assignee
Tencent Technology Shenzhen Co Ltd
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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CNB2007100737018A priority Critical patent/CN100472536C/zh
Publication of CN101079060A publication Critical patent/CN101079060A/zh
Application granted granted Critical
Publication of CN100472536C publication Critical patent/CN100472536C/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Document Processing Apparatus (AREA)

Abstract

本发明公开了一种中文输入法简拼实现方法,对输入的拼音串进行音节划分后包括以下步骤:A1.在拼音词典中找到与所述拼音串的每个音节首字母都相同的结点;A2.以此结点为中心在拼音词典中向上、向下分别查找,找出与所述拼音串的每个音节相匹配的全拼串;A3.将所述匹配的全拼串对应的候选词按照词频从大到小进行排序。本发明公开了一种中文输入法简拼实现系统。本发明的有益效果在于:在中文输入法系统中不再需要简拼串到全拼串的映射表,减小了内存的占用;采用新的索引结点的排序规则,大大提高了简拼扩展的速度。

Description

一种中文输入法简拼实现方法和系统
技术领域
本发明涉及计算机技术,特别涉及一种中文输入法简拼实现方法和系统。
背景技术
电脑使用者要将汉字输入到电脑,就要使用中文输入软件。目前,中文输入软件可分为键盘输入和非键盘输入。
1)键盘中文输入软件,就是利用键盘,根据一定的编码规则来输入汉字的一种方法。目前,汉字编码方案已经有数百种,其中在电脑上已经运行的就有几十种,汉字输入的编码方法,基本上都是采用将音、形、义与特定的键相联系,再根据不同汉字进行组合来完成汉字的输入的。
2)非键盘中文输入软件,包括手写输入软件、语音输入软件、OCR输入软件等。
目前比较成熟、使用最广的就是基于键盘的中文输入软件。在智能简拼输入法中,用户可以通过输入一个音节的任何一个前缀(前提是这个前缀本身不是完整的音节)来达到输入汉字的目的。如输入“zhog”,可以得到如图1所示的结果。在该输入法中,输入法软件内部需要维护一个简拼串(全拼串中的每个音节的首字母组成的字符串)到全拼串的映射表(如图2所示)和全拼串到其对应的候选词的映射表(如图3所示)。可以看出,索引的顺序都是按照字符串从小到大的顺序,对于这种已经排序的数组,查找的算法(例如折半查找)都是对数时间复杂度。
这种方案主要有两个缺点:①内存占用大,需要维护两个表:一个是简拼串到全拼串的映射表,另一个是全拼串到候选词的映射表;②简拼扩展(包括查找简拼到全拼的映射表和全拼到候选词的映射表)的速度比较慢。查表的过程包括三个步骤,一是在简拼到全拼映射表中找出简拼串对应的全部全拼串,二是把输入拼音串和每个找出的全拼串进行比较,找出其中匹配的全拼串,三是到拼音词典中找出每个全拼串对应的候选词。假设简拼到全拼映射表的索引数目为N,全拼到候选词映射表的索引数目为M,那么平均一个简拼串对应的全拼串数目为M/N,第一个步骤花费的时间为logN,第二个步骤花费的时间为M/N,第三个步骤花费的时间为(M/N)logM。则这三个步骤一共花费的时间为logN+M/N+(M/N)logM。
发明内容
本发明的目的在于提供一种中文输入法简拼实现方法和系统,可以克服现有技术的缺陷。
本发明采用的技术方案是:一种中文输入法简拼实现方法,对输入的拼音串进行音节划分后包括以下步骤:A1,在拼音词典中找到与所述拼音串的每个音节首字母都相同的结点;A2,以此结点为中心在拼音词典中向上、向下分别查找,找出与所述拼音串的每个音节相匹配的全拼串;A3,将所述匹配的全拼串对应的候选词按照词频从大到小进行排序。
进一步的,所述拼音词典中存储有全拼串到对应候选词的映射表;所述全拼串按照全拼串中每个音节首字母所组成的字符串从小到大排序;当每个音节首字母所组成的字符串相同时,按照全拼串从小到大排序。
作为优选,步骤A2中,当向上或向下找到的全拼串的音节首字母与所述拼音串的音节首字母不完全相同时停止向上或向下查找,执行步骤A3。
本发明一种中文输入法简拼实现方法进一步包括步骤:A4,将所述排序好的候选词显示在候选词窗口中。
本发明还公开了一种中文输入法简拼实现系统,包括拼音词典和用于对输入的拼音串进行音节划分的音节划分模块,还包括:
查找模块,用于在拼音词典中找到与所述拼音串的每个音节首字母都相同的结点,并以此结点为中心在拼音词典中向上、向下分别查找,找出与所述拼音串的每个音节相匹配的全拼串;
排序模块,用于将所述匹配的全拼串对应的候选词按照词频从大到小进行排序。
进一步的,所述音节划分模块用于对输入的拼音串进行音节划分后输出到所述查找模块;所述查找模块在接收到所述拼音串后执行以下步骤:B1,获得所述拼音串的音节首字母;B2,在拼音词典中找到与所述音节首字母都相同的全拼串作为结点;B3,以此结点为中心在拼音词典中向上、向下分别查找,找出与所述拼音串的每个音节相匹配的全拼串发送到所述排序模块。
进一步的,所述排序模块用于从所述查找模块接收全拼串,将所述全拼串对应的候选词按照词频从大到小进行排序。
作为优选,所述候选词的词频信息存储在所述拼音词典中。
进一步的,还包括显示模块,用于将所述排序模块输出的候选词显示在候选词窗口中。
作为优选,步骤B3中,当向上或向下找到的全拼串的音节首字母与所述拼音串的音节首字母不完全相同时停止向上或向下查找。
本发明的有益效果在于:(1)在中文输入法系统中不再需要简拼串到全拼串的映射表,减小了内存的占用;(2)采用新的索引结点的排序规则,大大提高了简拼扩展的速度。
附图说明
图1是在智能简拼输入法中输入“zhog”后得到的结果示意图;
图2是现有输入法中简拼串到全拼串的映射表;
图3是现有输入法中全拼串到其对应的候选词的映射表;
图4是本发明中文输入法简拼实现系统的结构示意图;
图5是本发明中拼音词典的数据结构图;
图6是本发明中文输入法简拼实现方法的流程图。
具体实施方式
下面根据附图和具体实施例对本发明作进一步阐述。
如图4所示,一种中文输入法简拼实现系统10包括音节划分模块101、查找模块102、排序模块104、显示模块105和拼音词典103。
其中,拼音词典103负责存储拼音串到对应候选词的映射表、候选词的词频信息等数据。本发明拼音词典103相对现有拼音词典来说,少了简拼串到全拼串的映射表,只存储有全拼串到对应候选词的映射表,且采用新的数据结构,减小了内存的占用。该数据结构中全拼串的排序遵循以下两条准则:1.首先按照全拼串中的每个音节首字母所组成的字符串从小到大进行排序。2.当全拼串的每个音节首字母所组成的字符串相同时,按照全拼串从小到大排序。即:首字母相同时,按照第一个音节第二个字母在字母表中的排序顺序排序,第二个字母也相同时按照第三个字母排序,当第一个音节完全相同时按照第二个音节第二个字母排序,依次类推。
图5所示的索引就是按照以上两条准则进行排序的,图中左侧的一列“gydg”“gydg”“gydgs”等并不包含在数据结构中,只是为了说明本数据结构的排序方法。这种结构中的一个优点是:所有首字母相同的全拼串在数组中是聚在一起的,它们在数组中的位置是连续的。这样就可先在此数组中找到一个所有音节首字母都与输入拼音串相匹配的结点后,通过向其相邻的结点扩展就可以找到简拼串所对应的全部全拼串。
音节划分模块101负责接收用户输入设备发送过来的拼音串,将该拼音串按照音节进行划分,然后发送到查找模块102。其中,音节划分的算法可以采用动态规划算法。
查找模块102负责获得与用户输入的拼音串相匹配的全部全拼串,再发送到排序模块104。获得匹配的全部全拼串的方法是:首先获得音节划分后的拼音串的音节首字母,然后在拼音词典103中找到与上述音节首字母都相同的全拼串作为中心结点,再以此结点为中心在拼音词典103中向上、向下分别查找,找出与用户输入的拼音串的每个音节相匹配的全拼串。当向上或向下找到的全拼串的音节首字母与用户输入的拼音串的音节首字母不完全相同时才停止向上或向下查找。其中,所述匹配是指输入拼音串的音节与全拼串的音节完全相同,或者输入拼音串的音节不完整,但其音节是全拼串音节的前缀。
排序模块104负责根据接收到的全拼串从拼音词典103中获得对应的候选词,再根据这些候选词的词频从大到小进行排序,然后发送到显示模块105。
显示模块105负责将接收到的候选词和用户输入的拼音串(音节划分后的)一起在候选词窗口中显示给用户,显示效果与图1所示相同。
下面以图5所示数据结构为例说明本发明中文输入法简拼实现方法的流程(如图6所示):
步骤S1,用户使用用户输入设备输入拼音串“gonydiah”。
步骤S2,音节划分模块101采用动态规划算法进行音节划分,结果为“gon’y’dia’h”。
步骤S3,查找模块102在拼音词典103中找到一个与输入拼音串(音节划分后)“gon’y’dia’h”每个音节首字母都相同的结点,假设找到了结点“gong’ye’dian’han”。
步骤S4,查找模块102以结点“gong’ye’dian’han”为中心向上向下分别进行扩展,把输入拼音串和每个找出的全拼串比较,找出其中匹配的全拼串,直到找到一个全拼串的音节首字母与输入拼音串的音节首字母不完全相同为止。
结点“gong’ye’dian’han”与输入拼音串“gon’y’dia’h”音节首字母相同并且匹配。向上扩展到“gan′ying′dian′he”结点,此全拼串与输入拼音串“gon’y’dia’h”比较,不匹配,但音节首字母相同。继续向上扩展到结点“guang′yin′de′gu′shi”,不匹配而且音节首字母不相同,停止向上匹配。向下扩展到“gong′yong′dian′hua”结点,此全拼串与输入拼音串“gon’y’dia’h”比较,匹配,且音节首字母相同。继续向下扩展到结点“gao′ya′dian′ji”,不匹配而且音节首字母不相同,停止向下匹配。将结点“gong’ye’dian’han”和“gong′yong′dian′hua”发送到排序模块104。
步骤S5,把每个匹配的全拼串对应的候选词按照词频从大到小进行排序。根据上个步骤,匹配的全拼串包括“gong’ye’dian’han”和“gong′yong′dian′hua”。它们对应的候选词分别为“工业电焊”和“公用电话”。假设“公用电话”的词频大于“工业电焊”的词频,则排序结果为“公用电话、工业电焊”,发送到显示模块105。
步骤S6,显示模块105将候选词和用户输入拼音串显示在候选词窗口中。
下面讨论一下本发明中简拼扩展的时间复杂度。假设简拼到全拼映射(此时是全拼串中每个音节首字母所组成的字符串到全拼串的映射)的数目为N,全拼到候选词映射表的索引数目为M,那么平均一个简拼串对应的全拼串数目为M/N。本发明中的查词表过程包括两个步骤,一是在拼音词典103中找到一个与输入拼音串每个音节首字母都相同的结点,时间为logM。二是以此结点为中心向上向下分别进行扩展,把输入拼音串和每个找出的全拼串比较,找出其中匹配的全拼串,时间为M/N。这两个步骤一共花费的时间为logM+M/N,(M>N)比现有技术中花费的时间logN+M/N+(M/N)logM要短。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的权利要求范围之内。

Claims (10)

1、中文输入法简拼实现方法,其特征在于,对输入的拼音串进行音节划分后包括以下步骤:
A1,在拼音词典中找到与所述拼音串的每个音节首字母都相同的结点;
A2,以此结点为中心在拼音词典中向上、向下分别查找,找出与所述拼音串的每个音节相匹配的全拼串;
A3,将所述匹配的全拼串对应的候选词按照词频从大到小进行排序。
2、根据权利要求1所述的中文输入法简拼实现方法,其特征在于:所述拼音词典中存储有全拼串到对应候选词的映射表;所述全拼串按照全拼串中每个音节首字母所组成的字符串从小到大排序;当每个音节首字母所组成的字符串相同时,按照全拼串从小到大排序。
3、根据权利要求2所述的中文输入法简拼实现方法,其特征在于:步骤A2中,当向上或向下找到的全拼串的音节首字母与所述拼音串的音节首字母不完全相同时停止向上或向下查找,执行步骤A3。
4、根据权利要求1或2所述的中文输入法简拼实现方法,其特征在于,进一步包括步骤:
A4,将所述排序好的候选词显示在候选词窗口中。
5、中文输入法简拼实现系统,包括拼音词典和用于对输入的拼音串进行音节划分的音节划分模块,其特征在于:还包括:
查找模块,用于在拼音词典中找到与所述拼音串的每个音节首字母都相同的结点,并以此结点为中心在拼音词典中向上、向下分别查找,找出与所述拼音串的每个音节相匹配的全拼串;
排序模块,用于将所述匹配的全拼串对应的候选词按照词频从大到小进行排序。
6、根据权利要求5所述的中文输入法简拼实现系统,其特征在于:所述音节划分模块用于对输入的拼音串进行音节划分后输出到所述查找模块;所述查找模块在接收到所述拼音串后执行以下步骤:
B1,获得所述拼音串的音节首字母;
B2,在拼音词典中找到与所述音节首字母都相同的全拼串作为结点;
B3,以此结点为中心在拼音词典中向上、向下分别查找,找出与所述拼音串的每个音节相匹配的全拼串发送到所述排序模块。
7、根据权利要求6所述的中文输入法简拼实现系统,其特征在于:所述排序模块用于从所述查找模块接收全拼串,将所述全拼串对应的候选词按照词频从大到小进行排序。
8、根据权利要求7所述的中文输入法简拼实现系统,其特征在于:所述候选词的词频信息存储在所述拼音词典中。
9、根据权利要求6所述的中文输入法简拼实现系统,其特征在于:还包括显示模块,用于将所述排序模块输出的候选词显示在候选词窗口中。
10、根据权利要求6所述的中文输入法简拼实现系统,其特征在于:步骤B3中,当向上或向下找到的全拼串的音节首字母与所述拼音串的音节首字母不完全相同时停止向上或向下查找。
CNB2007100737018A 2007-03-26 2007-03-26 一种中文输入法简拼实现方法和系统 Active CN100472536C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2007100737018A CN100472536C (zh) 2007-03-26 2007-03-26 一种中文输入法简拼实现方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2007100737018A CN100472536C (zh) 2007-03-26 2007-03-26 一种中文输入法简拼实现方法和系统

Publications (2)

Publication Number Publication Date
CN101079060A CN101079060A (zh) 2007-11-28
CN100472536C true CN100472536C (zh) 2009-03-25

Family

ID=38906539

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2007100737018A Active CN100472536C (zh) 2007-03-26 2007-03-26 一种中文输入法简拼实现方法和系统

Country Status (1)

Country Link
CN (1) CN100472536C (zh)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102147796B (zh) * 2010-02-05 2014-10-15 阿里巴巴集团控股有限公司 一种词汇检索方法及其装置
CN102200839A (zh) * 2010-03-25 2011-09-28 阿里巴巴集团控股有限公司 一种汉字输入过程中的汉语拼音串处理方法及其系统
CN102298448B (zh) * 2011-07-29 2013-04-17 北京大学 一种汉字输入方法
CN102402304A (zh) * 2011-11-23 2012-04-04 德信无线通讯科技(上海)有限公司 字符输入方法
CN103257719B (zh) * 2012-02-21 2018-10-16 深圳市世纪光速信息技术有限公司 输入法中候选词的生成方法及系统
CN103823814B (zh) * 2012-11-19 2017-12-01 腾讯科技(深圳)有限公司 一种信息处理方法及装置
CN104345896B (zh) * 2013-07-31 2018-02-06 淘宝(中国)软件有限公司 拼音文字词组输入方法及系统
CN104536587A (zh) * 2014-12-05 2015-04-22 苏州沃斯麦机电科技有限公司 一种基于九宫格输入模式的联想输入法
CN104991656B (zh) * 2015-06-11 2018-12-21 浦江开丰广告设计有限公司 一种输入汉语词组的方法
CN108628461B (zh) * 2017-03-16 2022-07-08 北京搜狗科技发展有限公司 一种输入方法和装置、一种更新词库的方法和装置
CN109522550B (zh) * 2018-11-08 2023-04-07 和美(深圳)信息技术股份有限公司 文本信息纠错方法、装置、计算机设备和存储介质
CN113138677A (zh) * 2021-04-25 2021-07-20 北京字节跳动网络技术有限公司 输入法候选词的确定方法、装置、电子设备和存储介质
CN114035693A (zh) * 2021-11-15 2022-02-11 平安普惠企业管理有限公司 拼音输入方法、装置、计算机设备及存储介质

Also Published As

Publication number Publication date
CN101079060A (zh) 2007-11-28

Similar Documents

Publication Publication Date Title
CN100472536C (zh) 一种中文输入法简拼实现方法和系统
CN102866782B (zh) 一种提高整句生成效率的输入法和输入法系统
CN100594470C (zh) 用于对用户输入的多义性输入序列进行多义性消除的系统和方法
AU2013270485B2 (en) Input processing method and apparatus
CN102867512A (zh) 自然语音识别方法和装置
CN102750949B (zh) 语音识别方法和装置
CN103294776A (zh) 一种智能手机通讯录模糊搜索的方法
CN102640089A (zh) 电子设备的文本输入系统及文本输入方法
CN101539836A (zh) 一种人机界面交互系统和方法
CN101556508A (zh) 一种输入法中候选词的生成方法、装置、系统及设备
CN102867511A (zh) 自然语音识别方法和装置
CN101149804A (zh) 自适应手写识别系统和方法
CN111868710A (zh) 搜索大规模非结构化数据的随机提取森林索引结构
US20070164782A1 (en) Multi-word word wheeling
CN103871404B (zh) 一种语言模型的训练方法、查询方法和对应装置
CN103902599B (zh) 模糊查找的方法和装置
CN101287026A (zh) 利用手写识别功能执行快捷拨号的系统和方法
CN101377726A (zh) 语音识别和笔划识别相结合的输入方法及其终端
CN1928860A (zh) 用于校正按键错误的方法、搜索引擎和搜索系统
CN101539433A (zh) 导航系统中拼音首字母加声调检索的方法及装置
CN101739142A (zh) 五笔输入系统及方法
CN102346558A (zh) 笔画结构输入方法和系统
CN102567424B (zh) 一种诗词关联库系统及其实现方法和电子学习设备
CN102117159B (zh) 一种人机界面交互系统和方法
CN101114196A (zh) 输入中文短语的方法和设备

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
ASS Succession or assignment of patent right

Owner name: SHENZHEN SHIJI LIGHT SPEED INFORMATION TECHNOLOGY

Free format text: FORMER OWNER: TENGXUN SCI-TECH (SHENZHEN) CO., LTD.

Effective date: 20131022

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20131022

Address after: 518057 Tencent Building, 16, Nanshan District hi tech park, Guangdong, Shenzhen

Patentee after: Shenzhen Shiji Guangsu Information Technology Co., Ltd.

Address before: 518057 Guangdong city of Shenzhen province high tech Park high-tech South Road Fiyta high-tech building 5-10

Patentee before: Tencent Technology (Shenzhen) Co., Ltd.