一种手写输入多个字符的识别方法和系统与流程

文档序号:12818506阅读:413来源:国知局
一种手写输入多个字符的识别方法和系统与流程

本发明涉及模式识别与人工智能技术领域,特别涉及一种手写输入多个字符的识别方法和系统。



背景技术:

目前存在着各种基于键盘的汉字输入法、英文输入法以及各种手写汉字输入法和手写单独字母输入法。其中,基于键盘的输入方法(比如五笔字型、汉语拼音)一般都需要比较好的训练才可以让用户记住利用声、形、义来定义汉字编码,并把它们映射到键盘上,不易使用。

现有技术中的手写输入法,将用户在手写输入区所画的所有笔划默认为一个汉字或一个字母的笔画,即用户若想输入一个2个汉字的词语,需将该词语分为两个汉字,每次在手写输入手写区中输入一个汉字,每次只对一个汉字进行识别。这种方法尚可实现汉字的输入。

然而,用户在实际操作过程中手写输入汉字时,通常会偶尔忘记某个汉字应该怎么写,而记得改汉字的汉语拼音应该怎么拼,但是在现有技术中,用户若想手写输入一个具有2个字母的汉语拼音或英文单词,若采用类似汉字的方法将该单词分为3个字母,每次在手写输入手写区中输入一个字母,那么最后得到的是3个单独的字母,并不是组合在一起所形成的汉语拼音或英文单词。

因此,现有技术中需要一种可以在手写输入区中输入多个字符(包括汉字、字母、数字、符号)的手写输入识别方法。



技术实现要素:

本发明的目的是提供一种简便、快速,可以在手写输入区中输入多个字符(包括汉字、字母、数字、符号)的手写输入识别方法。

根据本发明的一个方面,提供了一种手写输入多个字符的识别方法,包括以下步骤:

基于多个手写字符的运笔轨迹,对所述多个字符进行识别以得到多个识别字符、每个识别字符的输入顺序以及每两个相邻识别字符之间的距离;

基于所述每个识别字符的输入顺序以及所述每两个相邻识别字符之间的距离,对所述多个识别字符进行拼合以得到分词结果。

进一步,在所述对多个字符进行识别的步骤之前,还包括:

提供汉语拼音输入法、英文单词输入法、汉字输入法和混合输入法以供用户择取其中一种。

进一步,当用户选择汉语拼音输入法或英文单词输入法时,所述对多个识别字符进行拼合的步骤具体为:

基于字母分词算法,对所述识别字符进行拼合,以得到一个或多个汉字的汉语拼音,或得到一个或多个英文单词。

进一步,当用户选择汉字输入法时,所述对多个识别字符进行拼合的步骤具体为:

将所述多个识别字符中的每个识别字符进行单独保存,以得到一个或多个汉字。

进一步,当用户选择混合输入法时,所述对多个识别字符进行拼合的步骤具体为:

基于所述多个识别字符,逐一判断每个识别字符是否为字母,若是则采用字母分词算法,若否则采用非字母分词算法。

进一步,所述字母分词算法包括以下步骤:

步骤s1:判断所述多个识别字符是否拼合完毕;

若是,则执行步骤s8;

若否,则执行步骤s2;

步骤s2:根据所述多个识别字符的输入顺序,从输入记录中取出在先输入的识别字符,执行步骤s3;

步骤s3:判断当前取出的识别字符的输入顺序是否为第一;

若是,则执行步骤s7;

若否,则执行步骤s4;

步骤s4:从输入记录中获取当前取出的识别字符与该识别字符之前的识别字符之间的距离,执行步骤s5;

步骤s5:判断所述距离是否大于或等于预设值;

若是,则执行步骤s7;

若否,则执行步骤s6;

步骤s6:将当前取出的识别字符作为上次取出的识别字符所在的英文单词或汉语拼音的后顺字母进行保存,返回步骤s1;

步骤s7:将当前取出的识别字符作为一个英文单词或汉语拼音的首字母进行保存,返回步骤s1;

步骤s8:结束流程。

进一步,所述非字母分词算法包括以下步骤:

步骤a1:判断所述多个识别字符是否拼合完毕;

若是,则执行步骤a10;

若否,则执行步骤a2;

步骤a2:根据所述识别字符输入的先后顺序,从输入记录中取出在先输入的字符,执行步骤a3;

步骤a3:判断当前取出的识别字符是否为字母;

若是,则执行步骤a4;

若否,则执行步骤a9;

步骤a4:判断当前取出的识别字符的输入顺序是否为第一;

若是,则执行步骤a8;

若否,则执行步骤a5;

步骤a5:从输入记录中获取当前取出的识别字符与该识别字符之前的识别字符之间的距离,执行步骤a6;

步骤a6:判断所述距离是否为大于或等于预设值;

若是,则执行步骤a8;

若否,则执行步骤a7;

步骤a7:将当前取出的识别字符作为上次取出的识别字符所在的英文单词或汉语拼音的后顺字母进行保存,返回步骤a1;

步骤a8:将当前取出的识别字符作为一个英文单词或汉语拼音的首字母进行保存,返回步骤a1;

步骤a9:将当前取出的识别字符单独保存,返回步骤a1;

步骤a10:结束流程。

进一步,还包括以下步骤:

存储所述分词结果;

将所存储的分词结果在词库中进行检索,从而获得至少一个候选英文单词、至少一个候选汉语拼音、至少一个候选汉字、至少一个候选数字或至少一个候选符号;

动态显示所获得的至少一个候选英文单词、至少一个候选汉语拼音、至少一个候选汉字、至少一个候选数字或至少一个候选符号。

根据本发明的另一方面,还提供一种手写输入多个字符的识别系统,包括:

运笔轨迹识别模块,用于基于多个手写字符的运笔轨迹,对所述多个字符进行识别以得到多个识别字符、每个识别字符的输入顺序以及每两个相邻识别字符之间的距离;

字符分词模块,用于基于所述每个识别字符的输入顺序以及所述每两个相邻识别字符之间的距离,对所述多个识别字符进行拼合以得到分词结果。

进一步,还包括输入法类型切换模块,用于提供汉语拼音输入法、英文 单词输入法、汉字输入法、和混合输入法以供用户择取其中一种。

进一步,当用户选择汉语拼音输入法或英文单词输入法时,所述字符分词模块基于字母分词算法,对所述识别字符进行拼合,以得到一个或多个汉字的汉语拼音,或得到一个或多个英文单词。

进一步,当用户选择汉字输入法时,所述字符分词模块,用于将所述多个识别字符中的每个识别字符进行单独保存,以得到一个或多个汉字。

进一步,当用户选择混合输入法时,所述字符分词模块基于所述多个识别字符,逐一判断每个识别字符是否为字母,若是则采用字母分词算法,若否则采用非字母分词算法。

进一步,所述字母分词算法包括以下步骤:

步骤s1:判断所述多个识别字符是否拼合完毕;

若是,则执行步骤s8;

若否,则执行步骤s2;

步骤s2:根据所述多个识别字符的输入顺序,从输入记录中取出在先输入的识别字符,执行步骤s3;

步骤s3:判断当前取出的识别字符的输入顺序是否为第一;

若是,则执行步骤s7;

若否,则执行步骤s4;

步骤s4:从输入记录中获取当前取出的识别字符与该识别字符之前的识别字符之间的距离,执行步骤s5;

步骤s5:判断所述距离是否大于或等于预设值;

若是,则执行步骤s7;

若否,则执行步骤s6;

步骤s6:将当前取出的识别字符作为上次取出的识别字符所在的英文单词或汉语拼音的后顺字母进行保存,返回步骤s1;

步骤s7:将当前取出的识别字符作为一个英文单词或汉语拼音的首字母进行保存,返回步骤s1;

步骤s8:结束流程。

进一步,所述非字母分词算法包括以下步骤:

步骤a1:判断所述多个识别字符是否拼合完毕;

若是,则执行步骤a10;

若否,则执行步骤a2;

步骤a2:根据所述识别字符输入的先后顺序,从输入记录中取出在先输入的字符,执行步骤a3;

步骤a3:判断当前取出的识别字符是否为字母;

若是,则执行步骤a4;

若否,则执行步骤a9;

步骤a4:判断当前取出的识别字符的输入顺序是否为第一;

若是,则执行步骤a8;

若否,则执行步骤a5;

步骤a5:从输入记录中获取当前取出的识别字符与该识别字符之前的识别字符之间的距离,执行步骤a6;

步骤a6:判断所述距离是否为大于或等于预设值;

若是,则执行步骤a8;

若否,则执行步骤a7;

步骤a7:将当前取出的识别字符作为上次取出的识别字符所在的英文单词或汉语拼音的后顺字母进行保存,返回步骤a1;

步骤a8:将当前取出的识别字符作为一个英文单词或汉语拼音的首字母进行保存,返回步骤a1;

步骤a9:将当前取出的识别字符单独保存,返回步骤a1;

步骤a10:结束流程。

进一步,分词结果存储模块,用于存储所述分词结果。

检索模块,用于将所述分词结果存储模块中所存储的分词结果在词库中进行检索,从而获得至少一个候选英文单词、至少一个候选汉语拼音、至少 一个候选汉字、至少一个候选数字或至少一个候选符号。

词库,存储于计算机存储器中,包括汉字库、英语单词库、汉语拼音库和符号库。

显示模块,用于动态显示所述检索模块所获得的至少一个候选英文单词、至少一个候选汉语拼音、至少一个候选汉字、至少一个候选数字或至少一个候选符号。

本发明所提供的手写输入法,能够实现在手写输入区输入多个字符,并对多个字符进行识别,能够实现手写输入汉字、手写输入汉语拼音、手写输入英文单词、以及手写同时输入汉字和字母,并且可以使得用户在四种输入方式中的任意切换,大大提升了用户书写的体验感。

附图说明

图1是本发明一种手写输入多个字符的识别方法的步骤流程示意图;

图2为本发明所述的字母分词算法的步骤流程图;

图3为本发明所述的非字母分词算法的步骤流程图;

图4为本发明一种手写输入多个字符的识别系统的模块关系示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚明了,下面结合具体实施方式并参照附图,对本发明进一步详细说明。应该理解,这些描述只是示例性的,而并非要限制本发明的范围。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本发明的概念。

图1是本发明一种手写输入多个字符的识别方法的步骤流程示意图。

如图1所示,手写输入多个字符的识别方法,包括以下步骤:

步骤s001,接收用户在手写输入区所输入的多个字符。

用户通过现有技术中的手写输入识别设备(例如触摸屏),在一个平面手 写输入区中画出多个字符。在计算机和电信技术中,一个字符是一个单位的字形、类字形单位或符号的基本信息,如字母、数字、汉字和符号等。

其中,字母包括26个英文大写字母(a、b、c……x、y、z)以及26个英文小写字母(a、b、c……x、y、z)。数字包括10个阿拉伯数字(0、1、2、3、4、5、6、7、8、9)。汉字包括《现代汉语通用字表》中所收录的汉字,或者可根据需要收录康熙字典中的汉字以及现有技术中计算机输入法的词库中所存储的汉字。符号包括汉语标点符号、英语标点符号等现有技术中计算机输入法的词库中所存储的符号。

步骤s002,根据用户按笔画手写字符时的运笔轨迹,采用现有技术对连续输入的多个字符进行识别,得到多个识别字符、每个识别字符的输入顺序以及每两个相邻识别字符之间的距离。

根据用户按笔画手写字符时的运笔轨迹对字符进行识别为现有技术中常见的技术,例如申请号为98106953.3的中国发明专利《手写汉字识别方法及装置》中详细描述了这种现有技术,本发明在此不再详述。

需要说明的是,为了区别采用现有技术识别之前的字符与采用现有技术识别之后的字符,在表述中,将采用现有技术识别之前的字符称之为“字符”,将采用现有技术识别之后的字符称之为“识别字符”。

在用户手写输入的同时,记录输入顺序。在用户手写输入完成之后,得到用户在输入区中所输入字符的图片,采用现有技术对图片中的字符进行识别后,得到多个识别字符,计算多个识别字符的两两之间的距离,每两个相邻的识别字符之间的距离包括横向距离和纵向距离。

步骤s003,将步骤s002中所得到的多个识别字符、每个识别字符的输入顺序以及每两个相邻识别字符之间的距离存储到输入记录中。

步骤s004,根据每个识别字符的输入顺序以及每两个相邻识别字符之间的距离,对所述多个识别字符进行拼合,以得到分词结果。

若两个识别字符之间的横向距离大于或等于预设值,则认为这两个字符属于不同的单位的字形,并将这两个识别字符分别保存到各自所在的单位字 形中。若两个识别字符之间的横向距离小于预设值,则认为这两个识别字符属于同一单位的字形,并将这两个识别字符根据输入顺序当做同一个单位字形进行保存。

例如,设定预设值为x1,若用户在手写输入区中依次输入多个字符“感kai”。经过现有技术识别后,得到识别字符“感kai”,其中,识别字符“感”和“k”之间的距离大于或等于预设值x1,则认为这两个识别字符属于不同的单位的字形,将“感”作为一个识别字符进行保存,将“k”作为另一个识别字符进行保存。识别字符“k”和“a”之间的距离小于预设值x1,则认为“k”和“a”属于同一个汉语拼音,且“k”的输入顺序在前,“a”的输入顺序在后,将“a”作为“k”的后顺字母进行保存。

在上述步骤s004之前,还包括以下步骤:提供汉语拼音输入法、英文单词输入法、汉字输入法和混合输入法以供用户择取其中一种。

具体的,可通过可显示的人机交互界面为用户提供汉语拼音输入法、英文单词输入法、汉字输入法和混合输入法这四种输入法的图标控件。

当用户选择汉语拼音输入法或英文单词输入法时,步骤s004中对多个识别字符进行拼合的步骤具体为:基于字母分词算法,对所述识别字符进行拼合,以得到一个或多个汉字的汉语拼音,或得到一个或多个英文单词。

图2为本发明所述的字母分词算法的步骤流程图。

如图2所示,字母分词算法包括以下步骤:

步骤s1:判断所述多个识别字符是否拼合完毕;

若是,则执行步骤s8;

若否,则执行步骤s2;

步骤s2:根据所述多个识别字符的输入顺序,从输入记录中取出在先输入的识别字符,执行步骤s3;

步骤s3:判断当前取出的识别字符的输入顺序是否为第一;

若是,则执行步骤s7;

若否,则执行步骤s4;

步骤s4:从输入记录中获取当前取出的识别字符与该识别字符之前的识别字符之间的距离,执行步骤s5;

步骤s5:判断所述距离是否大于或等于预设值;

若是,则执行步骤s7;

若否,则执行步骤s6;

步骤s6:将当前取出的识别字符作为上次取出的识别字符所在的英文单词或汉语拼音的后顺字母进行保存,返回步骤s1;

步骤s7:将当前取出的识别字符作为一个英文单词或汉语拼音的首字母进行保存,返回步骤s1;

步骤s8:结束流程。

当用户选择汉字输入法时,步骤s004中对多个识别字符进行拼合的步骤具体为:将所述多个识别字符中的每个识别字符进行单独保存,以得到一个或多个汉字。

由于用户选择的是汉字输入法,则用户在输入区中所输入的字符均为汉字或标点符号等符号字符,当采用先有技术对输入的字符进行识别后,所得到的识别字符无需拼合,每个识别字符都是一个独立的字符,在现代汉语中具有明确的含义,因此,可以将多个识别字符中的每个识别字符进行单独保存。

当用户选择混合输入法时,步骤s004中对多个识别字符进行拼合的步骤具体为:基于所述多个识别字符,逐一判断每个识别字符是否为字母,若是则采用字母分词算法,若否则采用非字母分词算法。

图3为本发明所述的非字母分词算法的步骤流程图。

如图3所示,所述非字母分词算法包括以下步骤:

步骤a1:判断所述多个识别字符是否拼合完毕;

若是,则执行步骤a10;

若否,则执行步骤a2;

步骤a2:根据所述识别字符输入的先后顺序,从输入记录中取出在先输 入的字符,执行步骤a3;

步骤a3:判断当前取出的识别字符是否为字母;

若是,则执行步骤a4;

若否,则执行步骤a9;

步骤a4:判断当前取出的识别字符的输入顺序是否为第一;

若是,则执行步骤a8;

若否,则执行步骤a5;

步骤a5:从输入记录中获取当前取出的识别字符与该识别字符之前的识别字符之间的距离,执行步骤a6;

步骤a6:判断所述距离是否为大于或等于预设值;

若是,则执行步骤a8;

若否,则执行步骤a7;

步骤a7:将当前取出的识别字符作为上次取出的识别字符所在的英文单词或汉语拼音的后顺字母进行保存,返回步骤a1;

步骤a8:将当前取出的识别字符作为一个英文单词或汉语拼音的首字母进行保存,返回步骤a1;

步骤a9:将当前取出的识别字符单独保存,返回步骤a1;

步骤a10:结束流程。

在步骤s004之后,还包括步骤s005,存储所述分词结果。

在步骤s005之后,还包括步骤s006,将所存储的分词结果在词库中进行检索,从而获得至少一个候选英文单词、至少一个候选汉语拼音、至少一个候选汉字、至少一个候选数字或至少一个候选符号。其中,所述汉语拼音既可以为完整的汉语拼音,或一个或多个汉字拼音的缩写组合。

在步骤s006之后,还包括步骤s007,动态显示所获得的至少一个候选英文单词、至少一个候选汉语拼音、至少一个候选汉字、至少一个候选数字或至少一个候选符号。

图4为本发明一种手写输入多个字符的识别系统的模块关系示意图。

如图4所示,手写输入多个字符的识别系统包括:

手写输入接收模块,用于接收用户在手写输入区所输入的多个字符;

运笔轨迹识别模块,用于基于多个手写字符的运笔轨迹,对所述多个字符进行识别以得到多个识别字符、每个识别字符的输入顺序以及每两个相邻识别字符之间的距离;

输入记录存储模块,用于存储所述多个识别字符、每个识别字符的输入顺序以及每两个相邻识别字符之间的距离;

字符分词模块,用于基于所述每个识别字符的输入顺序以及所述每两个相邻识别字符之间的距离,对所述多个识别字符进行拼合以得到分词结果。

输入法类型切换模块,用于提供汉语拼音输入法、英文单词输入法、汉字输入法、和混合输入法以供用户择取其中一种。

当用户选择汉语拼音输入法或英文单词输入法时,所述字符分词模块基于字母分词算法,对所述识别字符进行拼合,以得到一个或多个汉字的汉语拼音,或得到一个或多个英文单词。

当用户选择汉字输入法时,所述字符分词模块,用于将所述多个识别字符中的每个识别字符进行单独保存,以得到一个或多个汉字。

当用户选择混合输入法时,所述字符分词模块基于所述多个识别字符,逐一判断每个识别字符是否为字母,若是则采用字母分词算法,若否则采用非字母分词算法。

分词结果存储模块,用于存储所述分词结果。

检索模块,用于将所述分词结果存储模块中所存储的分词结果在词库中进行检索,从而获得至少一个候选英文单词、至少一个候选汉语拼音、至少一个候选汉字、至少一个候选数字或至少一个候选符号。

词库,存储于计算机存储器中,包括汉字库、英语单词库、汉语拼音库和符号库。

显示模块,用于动态显示所述检索模块所获得的至少一个候选英文单词、至少一个候选汉语拼音、至少一个候选汉字、至少一个候选数字或至少一个 候选符号。

本发明所提供的手写输入法,能够实现在手写输入区输入多个字符,并对多个字符进行识别,能够实现手写输入汉字、手写输入汉语拼音、手写输入英文单词、以及手写同时输入汉字和字母,并且可以使得用户在四种输入方式中的任意切换,大大提升了用户书写的体验感。

应当理解的是,本发明的上述具体实施方式仅仅用于示例性说明或解释本发明的原理,而不构成对本发明的限制。因此,在不偏离本发明的精神和范围的情况下所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。此外,本发明所附权利要求旨在涵盖落入所附权利要求范围和边界、或者这种范围和边界的等同形式内的全部变化和修改例。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1