在输入法词库中添加未登录词的方法及文字输入装置的制作方法

文档序号:6563222阅读:172来源:国知局
专利名称:在输入法词库中添加未登录词的方法及文字输入装置的制作方法
技术领域
本发明涉及文字输入技术,尤其涉及一种在输入法词库中添加未登录词的 方法及文字输入装置。
背景技术
中文输入软件是运行于操作系统上的一个工具软件,是一种把键盘输入的 编码或其他非键盘输入的媒体数据转换为中文输入的软件。目前,中文输入软 件从输入方式来区分可分为键盘中文输入软件和非键盘中文输入软件两种,下面分别予以-说明键盘中文输入软件就是利用键盘,才艮据一定的编码规则来输入汉字的一种 方式。英文字母只有26个,它们对应着键盘上的26个字母键,所以,对于英 文输入而言是不存在什么输入软件的,直接输入英文字母就可以。汉字的字数 有几万个,它们和键盘没有任何对应关系,但为了向电脑中输入汉字,我们必 须对汉字进行编码,并将这些编码与键盘上的键关联起来,才能使我们通过键 盘输入某个汉字的编码,然后将编码转换成汉字。目前,汉字编码方案已经有数百种,其中在电脑上已经运行的就有几十种, 作为一种图形文字,汉字是由字的音、形、义来共同表达的,汉字输入的编码 方法,基本上都是采用将音、形、义与特定的键相联系,再根据不同汉字对所 述特定的键进行组合来完成汉字输入的目的。非键盘中文输入软件包括手写输入软件、语音输入软件、OCR (Optical Character Recognition,光学字符识别)输入软件等。手写输入软件是一种笔式环境下的手写中文识别输入软件,符合中国人用笔写字的习惯,只要在手写板上按平常的习惯写字,电脑就能将其识别显示出来。手写输入软件需要配套的硬件手写板,在配套的手写板上用笔(可以是任 何类型的硬笔)来书写录入汉字,不仅方便、快捷,而且错字率也比较低。另 外也可在指定区域内通过操作鼠标写出字来,然后使用手写输入软件转换成汉 字,只是鼠标操作要求非常熟练。语音输入软件是通过话筒输入声音然后转换成文字的一种输入软件。虽然 使用起来很方便,但错字率仍然比较高,特别是一些未经训练的专业名词以及 生僻字。语音输入软件在硬件方面要求电脑必须配备声卡及麦克风,用户通过 麦克风使用普通话进行文字录入。如果用户的普通话不够标准,通过使用语音 输入软件提供的语音训练程序进行一段时间的训练后,同样可以通过语音来实 现文字输入。OCR输入软件把要输入的文稿通过扫描仪转化为图形进行文字输入,原稿 的印刷质量越高,识别的准确率就越高。未登录词是指在词典中没有收录过,但又确实能称为词的词,最典型的是 人名及地名,现有技术中在中文输入软件的词库中添加未登录词的方法主要采 用以下两种方式,下面分别予以说明第 一种在中文输入软件的词库中添加未登录词的方法是在中文输入软件 的自定义词设置窗口中手动添加未登录词,这种方法不具有即时性,用户每次 向词库中添加未登录词时都要打开自定义词设置窗口进行添加,操作较烦瑣。第二种在中文输入软件的词库中添加未登录词的方法是中文输入法程序 根据用户的输入习惯自动学习添加未登录词,其主要过程如下首先,用户输 入未登录词的连续拼音串,然后选出未登录词中的每个汉字的序号,中文输入 软件即可将该未登录词添加到词库中。这种方法对用户的输入习惯有一定的限 制,要求用户必须采用整体输入的方式输入未登录词,如果用户采用分别输入 未登录词中每个独立的字的方式来输入未登录词,则中文输入软件无法学习到 该未登录词
发明内容
本发明提供一种在输入法词库中添加未登录词的方法及文字输入装置,使 加到自身的词库中。本发明技术方案包括一种在输入法词库中添加未登录词的方法,包括步骤A、 检测用户输入的文字序列,根据其中的间隔符号提取序列中包含的文 字片断;B、 识别所述文字片断中包含的未登录词,将该未登录词与其对应的键值 编码序列关联保存到输入法的词库中。较佳的,所述步骤B具体包括步骤对所述文字片断进行原子切分,将其中每一个原子标注为一个切分单元;根据当前输入法词库中包含的词汇,识别出所述原子序列中包含的现有词 汇,将其标注为切分单元,并且根据预先确定的隐马尔科夫模型参数,利用 Viterbi算法对所述原子序列进行角色标注,以此识别出所述原子序列中包含的 未登录词,则将其标注为切分单元;根据切分单元的标注结果确定出最终的切分词图,从该切分词图中确定出 概率最大的分词路径,将该分词路径中包含的未登录词与其对应的键值编码序 列关联保存到输入法的词库中。较佳的,所述隐马尔科夫模型参数包括初始概率、转移概率 _射概率。较佳的,所述未登录词为人名和/或地名。较佳的,所述未登录词对应的键值编码序列为拼音^^值编码序列或者字形 键值编码序列。较佳的,将所述未登录词与其对应的键值编码序列关联保存到输入法的词 库中的具体过程为判断输入法词库的索引表中是否存在所述未登录词对应的键值编码序列, 若是,则将所述未登录词添加到该键值编码序列指向的链表中,否则,将所述 键值编码序列添加到输入法词库的索引表中,然后将所述未登录词添加到该键 值编码序列指向的链表中。一种文字输入装置,包括文字片断获取模块,用于检测用户输入的文字序列,根据其中的间隔符号 提取序列中包含的文字片断;未登录词识别模块,用于识别所述文字片断中包含的未登录词,将该未登 录词与其对应的键值编码序列关联保存到输入法的词库中。较佳的,所述未登录词识别模块具体包括原子切分子模块,用于对所述文字片断进行原子切分,将其中每一个原子 标注为一个切分单元;现有词汇标注子模块,用于根据当前输入法词库中包含的词汇,识别出原 子序列中包含的现有词汇,将其标注为切分单元;未登录词标注子模块,用于根据预先确定的隐马尔科夫模型参数,利用 Viterbi算法对原子序列进行角色标注,以此识别出所述原子序列中包含的未登 录词,则将其标注为切分单元;分词路径确定子模块,用于根据切分单元的标注结果确定出切分词图,从 该切分词图中确定出概率最大的分词路径;未登录词添加子模块,用于将所述概率最大的分词路径中包含的未登录词 与其对应的键值编码序列关联保存到输入法的词库中。较佳的,所述未登录词为人名和/或地名。较佳的,所述未登录词对应的键值编码序列为拼音键值编码序列或者字形 键值编码序列。本发明有益效果如下本发明所述技术方案通过检测用户输入的文字序列,根据其中的间隔符号 提取序列中包含的文字片断,并且识别出该文字片断中包含的未登录词,将该
未登录词与其对应的键值编码序列关联保存到输入法的词库中。从而在不改变 用户输入习惯的前提下,无需用户进行任何操作,即可自动将用户输入的文字 序列中包含的未登录词添加到输入法词库中。


图1为本发明在输入法词库中添加未登录词的方法的较佳实施例的流程图;图2为本发明实施例中对文字序列进行原子切分后建立的切分词图的示意图;图3为本发明实施例中利用Viterbi算法对图2所示原子序列进行未登录词 识别的示意图;的链表中的示意图;图5为本发明文字输入装置的组成结构框图具体实施方式
本发明技术方案的主要设计构思是针对现有技术中在向中文输入软件的 词库中添加未登录词时,需要通过自定义词设置窗口添加,操作较烦瑣的问题, 或者需要由中文输入法程序根据用户的输入习惯自动学习添加,对用户的输入 习惯有一定的限制的问题,而提出 一种在输入法词库中添力。未登录词的方法及 文字输入装置,本发明所述技术方案通过检测用户输入的文字序列,根据其中 的间隔符号提取序列中包含的文字片断,并且识别出该文字片断中包含的未登 录词,将该未登录词与其对应的键值编码序列关联保存到输入法的词库中。从 而使得输入法程序在不改变用户输入习惯的前提下,能够自动将用户输入的文 字序列中包含的未登录词添加到输入法词库中。下面将结合各个附图对本发明技术方案的主要实现原理具体实施方式

其对应能够达到的有益效果进4于详细的阐述。请参阅图1,该图为本发明在输入法词库中添加未登录词的方法的较佳实施例的流程图,其主要包括步骤步骤SIO、在用户进行文字输入的过程中,输入法程序检测用户输入的文 字序列,根据其中的间隔符号提取序列中包含的文字片断,所述文字序列中的 间隔符号为标点符号或非文字符号。输入法程序检测用户输入键值编码序列,若用户输入的键值编码对应的是 文字,则将该文字添加到预先设置的一块初始为空的内存緩冲区中,如果用户 输入的键值编码对应的是标点符号或其他非文字符号,如空格,回车,Tab等, 并且当前緩沖区非空,则提取緩沖区中的文字片断,然后清空緩沖区,等待接 下来的输入。步骤Sll、输入法程序对提取出的文字片断进行原子切分,将其中每一个 原子标注为一个+刀分单元;所述原子为分词的最小单位,典型的一个汉字就是一个原子, 一个连续的 半角字符串也是一个原子。输入法程序对提取出的文字片断进行从前往后的扫描,按顺序切分出其中 所有的原子并保存到一个数组中,之后根据数组中存储的原子个数建立初始的 切分词图,将其中每一个原子标注为一个切分单元,在切分词图中,在原子两 侧的节点之间添加一条圆弧用以标注该切分单元;请参阅图2,该图为对文字 序列进行原子切分后建立的切分词图的示意图,其中每两个节点之间的一个圆 弧代表一个切分单元。步骤S12、输入法程序对切分词图中的原子序列进行遍历,根据当前输入 法词库中包含的词汇,查找该原子序列中包含的在输入法词库中出现过的词, 将其标注为切分单元,在切分词图中,在查找出的现有词汇两側的节点之间添 加 一条圆弧用以标注该切分单元。步骤SB、输入法程序根据预先确定的隐马尔科夫模型参数,包括初始概
率、转移概率和发射概率,利用Viterbi算法对切分词图中的原子序列进行角色 标注,以此识别出所述原子序列中包含的未登录词,将其标注为切分单元; 本实施例中所迷未登录词为人名和/或地名。隐马尔科夫模型是一种用于序列标注的统计模型,下面首先对本发明中用到的 一些隐马尔科夫模型^进行解释初始概率指一个角色出现在文字序列起始位置的概率。转移概率指的是角色A出现的情况下,下一个角色是角色B的概率。发射概率指的是角色R出现的所有次数中原子O作为角色R出现的次数所占的比例。进行未登录词识别之前要先确定出隐马尔科夫模型的参数,包括初始概 率、转移概率和发射概率,隐马尔科夫模型参数的确定过程采用现有技术中常 用的方式完成,这里不再给予过多赘述。根据确定出的隐马尔科夫模型的 ,利用Viterbi算法对切分词图中的原 子序列进行角色标注,利用Viterbi算法进行角色标注的过程同样为现有技术, 因此不再给予过多赘述。本发明中设置的角色标记主要包括以下几种人名中的姓X二字人名中的名S三字人名中名的第一个字H三字人名中名的第二个字T地名的首字F地名的中间的字M地名的末尾字E其他O根据角色标注结果识别出原子序列中包含的人名和/或地名未登录词,将其 标注为切分单元,在切分词图中,在识别出的未登录词两侧的节点之间添加一 条圓弧用以标注该切分单元。请参阅图3,该图为利用Viterbi算法对图2所示
原子序列进行未登录词识别的示意图,根据角色标注结果,"张会鹏"被识别 为人名未登录词。步骤S14、输入法程序根据切分单元的标注结果确定出最终的切分词图, 从该切分词图中确定出概率最大的分词路径,将该分词路径中包含的未登录词 与其对应的键值编码序列关联保存到输入法的词库中;码序列。其中,将未登录词与其对应的键值编码序列关联保存到输入法的词库中的 具体过程如下判断输入法词库的索引表中是否存在所述未登录词对应的键值编码序列, 若是,则将所述未登录词添加到该键值编码序列指向的链表中,否则,将所述 键值编码序列添加到输入法词库的索引表中,然后将所述未登录词添加到该键 值编码序列指向的链表中,请参阅图4,该图为将未登录词添加到其对应的拼 音键值编码序列指向的链表中的示意图。在本发明上述方法的实现流程中,步骤S12及步骤S13无必然的先后顺序, 可以同时进行,也可以根据需要按序进行。相应于本发明上述提出的方法原理,本发明这里还对应的提出了一种文字 输入装置,请参阅图5,该图为本发明文字输入装置的组成结构框图,其主要 包括文字片断获取模块50及未登录词识别模块60,其中各个组成模块的主要 作用如下文字片断获取模块50,用于检测用户输入的文字序列,根据其中的间隔符 号提取序列中包含的文字片断;检测用户输入键值编码序列,若用户输入的键值编码对应的是文字,则将 该文字添加到预先设置的一块初始为空的内存緩冲区中,如果用户输入的键值 编码对应的是标点符号或其他非文字符号,并且当前緩冲区非空,则提取緩沖区中的文字片断,然后清空緩冲区,等待接下来的输入。
未登录词识别模块60,用于识别所述文字片断中包含的未登录词,所述未 登录词为人名和/或地名,将该未登录词与其对应的键值编码序列关联保存到输 入法的词库中。所述未登录词识别模块60具体包括原子切分子模块601、现有词汇标注子 模块602、未登录词标注子模块603、分词路径确定子模块604及未登录词添 加子模块605,其中各个子模块的主要作用如下原子切分子模块601,用于对所述文字片断进行原子切分,将其中每一个 原子标注为一个切分单元;现有词汇标注子模块602,用于根据当前输入法词库中包含的词汇,识别 出原子序列中包含的现有词汇,将其标注为切分单元;未登录词标注子模块603,用于根据预先确定的隐马尔科夫模型参数,利 用Viterbi算法对原子序列进行角色标注,以此识别出所述原子序列中包含的未 登录词,则将其标注为切分单元;分词路径确定子模块604,用于根据切分单元的标注结果确定出切分词图, 从该切分词图中确定出概率最大的分词路径;未登录词添加子模块605,用于将所述概率最大的分词路径中包含的未登 录词与其对应的键值编码序列关联保存到输入法的词库中,所述未登录词对应的键值编码序列为拼音键值编码序列或者字形键值编码序列。有关本发明文字输入装置中的其他相关技术实现细节请参照本发明上述方法原理中的相应技术实现细节描述,这里不再给以过多赘述。显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
权利要求
1、一种在输入法词库中添加未登录词的方法,其特征在于,包括步骤A、检测用户输入的文字序列,根据其中的间隔符号提取序列中包含的文字片断;B、识别所述文字片断中包含的未登录词,将该未登录词与其对应的键值编码序列关联保存到输入法的词库中。
2、 如权利要求l所述的方法,其特征在于,所述步骤B具体包括步骤 对所述文字片断进行原子切分,将其中每一个原子标注为一个切分单元; 根据当前输入法词库中包含的词汇,识别出所述原子序列中包含的现有词汇,将其标注为切分单元,并且根据预先确定的隐马尔科夫模型参数,利用 Viterbi算法对所述原子序列进行角色标注,以此识别出所述原子序列中包含的 未登录词,则将其标注为切分单元;根据切分单元的标注结果确定出最终的切分词图,从该切分词图中确定出 概率最大的分词路径,将该分词路径中包含的未登录词与其对应的键值编码序 列关联保存到输入法的词库中。
3、 如权利要求2所述的方法,其特征在于,所述隐马尔科夫模型参数包 括初始概率、转移概率及发射概率。
4、 如权利要求1或2所述的方法,其特征在于,所述未登录词为人名和/ 或地名。
5、 如权利要求1或2所述的方法,其特征在于,所述未登录词对应的键 值编码序列为拼音键值编码序列或者字形键值编码序列。
6、 如权利要求1或2所述的方法,其特征在于,将所述未登录词与其对 应的键值编码序列关联保存到输入法的词库中的具体过程为判断输入法词库的索引表中是否存在所述未登录词对应的键值编码序列, 若是,则将所述未登录词添加到该键值编码序列指向的链表中,否则,将所述 键值编码序列添加到输入法词库的索引表中,然后将所述未登录词添加到该键 值编码序列指向的链表中。
7、 一种文字输入装置,其特征在于,包括文字片断获取模块,用于检测用户输入的文字序列,根据其中的间隔符号 提取序列中包含的文字片断;未登录词识别模块,用于识别所述文字片断中包含的未登录词,将该未登 录词与其对应的键值编码序列关联保存到输入法的词库中。
8、 如权利要求7所述的装置,其特征在于,所述未登录词识别模块具体 包括原子切分子模块,用于对所述文字片断进行原子切分,将其中每一个原子 标注为一个切分单元;现有词汇标注子模块,用于根据当前输入法词库中包含的词汇,识别出原 子序列中包含的现有词汇,将其标注为切分单元;未登录词标注子模块,用于根据预先确定的隐马尔科夫模型参数,利用 Viterbi算法对原子序列进行角色标注,以此识别出所述原子序列中包舍的未登 录词,则将其标注为切分单元;分词路径确定子模块,用于根据切分单元的标注结果确定出切分词图,从 该切分词图中确定出概率最大的分词路径;未登录词添加子模块,用于将所述概率最大的分词路径中包含的未登录词 与其对应的键值编码序列关联保存到输入法的词库中。
9、 如权利要求7或8所述的装置,其特征在于,所述未登录词为人名和/ 或地名。
10、 如权利要求7或8所述的装置,其特征在于,所述未登录词对应的键 值编码序列为拼音键值编码序列或者字形键值编码序列。
全文摘要
本发明公开了一种在输入法词库中添加未登录词的方法及文字输入装置,使得输入法程序可从用户输入的汉字序列中自动识别出其中的未登录词,将其添加到自身的词库中。所述方法包括步骤检测用户输入的文字序列,根据其中的间隔符号提取序列中包含的文字片断;识别所述文字片断中包含的未登录词,将该未登录词与其对应的键值编码序列关联保存到输入法的词库中。所述文字输入装置包括文字片断获取模块和未登录词识别模块。本发明在不改变用户输入习惯的前提下,无需用户进行任何操作,即可自动将用户输入的文字序列中包含的未登录词添加到输入法词库中。
文档编号G06F17/30GK101154226SQ20061015226
公开日2008年4月2日 申请日期2006年9月27日 优先权日2006年9月27日
发明者张会鹏 申请人:腾讯科技(深圳)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1