发明内容
本发明提供一种手写识别方法、系统及手写识别终端,以解决现有的手写识别影响用户书写速度的问题。
为了解决上述问题,本发明公开了一种手写识别方法,包括:
采集以字母连续输入的单词的字符笔迹;
对所述单词的字符笔迹进行切割,得到至少一条切分路径;
利用预置的词典对各切分路径进行识别判断,得到该单词的最终识别结果。
其中,所述采集以字母连续输入的单词的字符笔迹包括:采集以叠字连续输入字母的单词的字符笔迹;和/或,采集以行或列连续输入字母的单词的字符笔迹。
优选的,对所述单词的字符笔迹进行切割,得到至少一条切分路径,包括:对所述单词的字符笔迹进行初始的笔画切割,一个笔画切割一次,得到由多个单笔画组成的集合;将所述集合中的多个单笔画进行笔画组合,每种组合构成一条切分路径,最终得到至少一条切分路径。
优选的,利用预置的词典对各切分路径进行识别判断,得到该单词的最终识别结果,包括:对各切分路径进行单个字母的识别,对应每个字母得到多个候选识别结果及每个候选识别结果的概率值;针对每条切分路径,将单个字母的候选识别结果进行组合,每个组合构成一个候选单词;在所述词典中对所有切分路径的候选单词进行搜索,筛选出词典中出现过的候选单词;针对筛选出的候选单词,根据组合成该候选单词的候选识别结果的概率值得到每个候选单词的综合概率值;按照各候选单词的综合概率值进行排序,选取综合概率值最大的候选单词作为最终识别结果。
优选的,在所述词典中对所有切分路径的候选单词进行搜索,筛选出词典中出现过的候选单词,包括:将所有切分路径的候选单词逐个与词典中的单词进行匹配,如果一个候选单词不是词典中某个单词的前缀,则结束与该单词的匹配,继续与下一个单词进行匹配;将能够与词典中某个单词匹配的候选单词作为词典中出现过的候选单词。
本发明还提供了一种手写识别系统,包括:
采集模块,用于采集以字母连续输入的单词的字符笔迹;
切割模块,用于对所述单词的字符笔迹进行切割,得到至少一条切分路径;
手写识别模块,用于利用预置的词典对各切分路径进行识别判断,得到最终识别结果。
其中,所述的采集模块包括:叠字采集子模块,用于采集以叠字连续输入的单词的字符笔迹;和/或,行或列采集子模块,用于采集以行或列连续输入的单词的字符笔迹。
优选的,所述切割模块包括:
笔画切割子模块,用于对所述单词的字符笔迹进行初始的笔画切割,一个笔画切割一次得到由多个单笔画组成的集合;
笔画组合子模块,用于将所述集合中的多个单笔画进行笔画组合,每种组合构成一条切分路径,最终得到至少一条切分路径。
优选的,所述手写识别模块包括:
字母识别子模块,用于对各切分路径进行单个字母的识别,对应每个字母得到多个候选识别结果及每个候选识别结果的概率值;
字母组合子模块,用于针对每条切分路径,将单个字母的候选识别结果进行组合,每个组合构成一个候选单词;
词典筛选子模块,用于在所述词典中对所有切分路径的候选单词进行搜索,筛选出词典中出现过的候选单词;
综合判断子模块,用于针对筛选出的候选单词,根据组合成该候选单词的候选识别结果的概率值得到每个候选单词的综合概率值;按照各候选单词的综合概率值进行排序,选取综合概率值最大的候选单词作为最终识别结果。
本发明还提供了一种手写识别终端,包括所述的手写识别系统。
与现有技术相比,本发明具有以下优点:
首先,本发明支持以字母连续输入的单词的字符笔迹的识别,用户可以在一块手写区域内以叠字、行或列连续重复书写一个单词的字母,此单词的字母和字母之间不需要等待时间,书写完成后得到识别结果,加快了用户的输入速度。
其次,针对用户连续输入的单词的多个字符笔迹,识别时可以利用预置的词典进行识别判断,不仅提高了识别速度,还提高了识别准确率。
再次,本发明对手写区域的屏幕尺寸要求较低,对于目前的手机等小屏幕设备具有较大优势。
再次,本发明适用于除中文以外的外文单词识别,尤其适用于英语、法语等采用拉丁字母的语言文字,因此有广泛的应用性。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
本发明提出一种支持以字母连续输入单词的手写识别方法、系统及终端,用户可以在一块手写区域内以叠字、行或列连续重复书写一个单词的字母,此单词的字母和字母之间不需要等待时间,书写完成后得到识别结果,加快了用户输入速度。
本发明适用于除中文以外的外文单词识别,尤其适用于英语、法语等采用拉丁字母的语言文字,因此有广泛的应用性。
下面通过实施例进行详细说明。
参照图1,是本发明实施例所述一种以字母连续输入单词的手写识别方法的流程图。
以英文单词的输入识别为例:
步骤11,采集以字母连续输入的单词的字符笔迹;
用户在手写区域中可以以叠字、行或列的形式连续重复书写一个单词的字母。例如,输入单词“thank”,如果是叠字输入,则在输入区域的同一个位置连续重复输入该单词的所有字母;如果是以行或列输入,则在输入区域从左向右或从上向下输入该单词的所有字母。
采集用户以字母连续输入的单词的字符笔迹,所述字符笔迹是以笔画形式输入的信息。采集手写输入的设备有多种,如电磁感应手写板、压感式手写板、触摸屏、触控板、超声波笔等,不同设备在采集时都是利用设备上安装的感应装置记录下用户书写的坐标,即笔迹点。通常将落笔的位置记为一个笔画的起始位置,将抬笔的位置记为一个笔画的终止位置,落笔位置和抬笔位置之间的一系列笔迹点构成一个输入笔画。所述单词的结束以停顿时间为准,当停顿超过某一时间段时,则认为该单词输入完成,而后进行下一步处理。
步骤12,对所述单词的字符笔迹进行切割,得到至少一条切分路径;
本实施例所述的手写识别方法中,是采集连续输入的字母的单词的字符笔迹,按输入的笔画进行切割,具体切割步骤如下:
步骤121,对所述单词的字符笔迹进行初始的笔画切割,一个笔画切割一次,得到由多个单笔画组成的集合;
所述的初始切割是将采集到的以字母连续输入的单词的字符笔迹进行笔画切割。由于大多数字母基本上是由一笔写成,因此初始切割时一个笔画切割一次,将一个笔画作为一个切割块,即只是按照用户书写的笔画来切割,而不区分是多个笔画的字母还是一个笔画的字母。例如,小写字母“x”,用户输入了两笔,即“一撇”和“一捺”,则切割时就切割成两笔。
上述的初始切割先假设一个笔画为一个字母,对于多个笔画为一个字母的情况,则存在着过切的问题,即将本来属于一个字母的笔画给切开来。对于所述过切问题,将通过后面的步骤解决。
步骤122,将所述集合中的多个单笔画进行笔画组合,每种组合构成一条切分路径,最终得到至少一条切分路径。
笔画切割完成后,对集合中的多个单笔画进行笔画组合,每种组合构成一条切分路径。例如,用户输入单词“hi”,则切割成“h”“一竖”“一点”,得到由3个笔画组成的集合。假设一个字母最多由三个笔画组成,则这三笔最多的组合个数为四,即“123”、“12+3”、“1+23”、“1+2+3”,则可以得到4条切分路径。
步骤13,利用预置的词典对各切分路径进行识别判断,得到该单词的最终识别结果。
在本实施例所述的方法中,采集到用户以字母连续输入的单词的字符笔迹,由于最终输入的是单词,因此可以利用内置的词典进行识别判断,此种识别过程会更准确,更快速,而且还能解决上述过切的问题。具体的识别判断步骤如下:
步骤131,对各切分路径进行单个字母的识别,对应每个字母得到多个候选识别结果及每个候选识别结果的概率值;
在每个切分路径中,对以笔画切割的不同笔画组合成的字母进行识别,每个字母可能得到多个候选识别结果,并得到每个候选识别结果的概率值。
例如,输入单词“hi”,对笔画切割成“h”“l”“.”,则这三笔最多的组合个数为四,即“123”、“12+3”、“1+23”、“1+2+3”,对应4条切分路径,分别进行字母识别。如“123”,即将这三个笔画作为一个字母进行识别,可得到多个候选识别结果及每个候选识别结果的概率值。又如“1+23”,即将第一笔作为一个字母,第二、三笔作为一个字母,这两个字母中每个字母都可以得到多个候选识别结果及其概率值。在本实施例中,通常选择10个候选识别结果。
此外,所述概率值可以有多种表示形式,例如以识别距离的远近表示概率的大小,所述识别距离就可以直接作为概率值,识别距离越小,表示的概率值越大。所述概率值也可以用常见的统计概率方式表示,如80%的概率表示。
步骤132,针对每条切分路径,将单个字母的候选识别结果进行组合,每个组合构成一个候选单词;
在每个切分路径中,得到单个字母的候选识别结果,然后将单个字母的候选识别结果进行组合,每个组合可以构成一个候选单词。
例如,在上述实施例中,输入单词“hi”,笔画切割后识别构成单个字母,将字母组合。如对应切分路径“1+23”的单个字母“h”“i”,组合成“hi”构成候选单词。又如对应切分路径“1+2+3”的单个字母“h”“l”“.”,组合成“hl.”构成候选单词。如果对于切分路径“1+23”所包含的两个字母,每个字母的候选识别结果为10个,则可组合成10*10=100个候选单词。
步骤133,在所述词典中对所有切分路径的候选单词进行搜索,筛选出词典中出现过的候选单词;
对于各个切分路径得到的候选单词,通过内置的词典进行搜索,对于词典中没有的候选单词,可以将其排除,或者给予一个很低的权值,使得该候选单词的最终排序靠后。
所述搜索的方法可以有多种,本实施例提供了一种快速的搜索方法。具体步骤如下:
步骤1331,将所有切分路径的候选单词逐个与词典中的单词进行匹配,如果一个候选单词不是词典中某个单词的前缀,则结束与该单词的匹配,继续与下一个单词进行匹配;
所述的前缀是指单词的前几个字母,即对于每个切分路径得到的候选单词,将每个候选单词与词典中的单词前缀进行匹配。如果一个候选单词无法与词典中当前单词的前几个字母匹配,则该候选单词不可能构成一个现实存在的单词,可以直接将该候选单词删除,或者给予一个很低的权值,并可以直接进入下一个词典单词的匹配。
进一步,如果一个候选单词的前几个字母,在词典中无法与任何单词的前几个字母进行匹配,则认为此候选单词不是词典中的单词,因此结束该候选单词的匹配,然后进行下一个候选单词的匹配。当然,对于词典中字母较少的单词,也可以直接将候选单词与该单词进行匹配,无需进行单词前缀的匹配。
例如,输入单词“hi”,其中一条切分路径“1+2+3”得到的字母是“h”“l”“.”,组合成单词“hl.”,如果“hl.”不是词典中任何单词或单词的前缀,即词典中任何单词或单词的前几个字母,则结束此组合的匹配,进行下一组的匹配。
步骤1332,将能够与词典中某个单词匹配的候选单词作为词典中出现过的候选单词。
将候选单词与词典进行匹配,若候选单词能够与词典中的单词匹配上,则可将其进行下一步的处理。
例如,输入单词“hi”,其中一条切分路径“1+23”得到的字母是“h”“i”,组合成单词“hi”,如果“hi”可以与字典中的单词匹配,则“hi”为字典中出现过的单词,可以对“hi”进行下一步处理。
步骤134,针对筛选出的候选单词,根据组合成该候选单词的候选识别结果的概率值得到每个候选单词的综合概率值;
通过词典筛选出来的候选单词,每个候选单词是由字母的候选识别结果组成的,根据候选识别结果的概率值,可以得到每个候选单词的综合概率值。计算综合概率值时,一种简单的方法是将每个候选识别结果的概率值进行加权相加,得到对应候选单词的综合概率值。当然,也可以采用其他更复杂的计算方法,本发明实施例在此不做限定。
步骤135,按照各候选单词的综合概率值进行排序,选取综合概率值最大的候选单词作为最终识别结果。
得到每个候选单词的综合概率值后,就可以对其进行排序,选择综合概率值最大的候选单词,将其作为最终的识别结果并输出。如果所述概率值是以识别距离表示,则识别距离越小表示概率值越大。
综上所述,本发明支持以字母连续输入的单词的字符笔迹的识别,用户可以在一块手写区域内以叠字、行或列连续重复书写一个单词的字母,此单词的字母和字母之间不需要等待时间,书写完成后得到识别结果,加快了用户的输入速度。
而且,针对用户连续输入的单词的多个字符笔迹,识别时可以利用预置的词典进行识别判断,不仅提高了识别速度,还提高了识别准确率。
在实际应用中,本发明实施例所述手写识别方法可应用于一些有手写输入需求的产品中,如PC机、笔记本电脑、平板电脑、手写板等桌面操作系统中。此外,也可以应用到嵌入式操作系统中,例如掌上电脑、手机、PAD、PDA、小屏手机或者横屏手机等智能移动终端;个人信息终端、车载信息终端等GPS/GIS终端;eBOOK、电子词典、智能玩具等智能学习终端;税控机输入终端、二代身份证读卡信息终端、大型数据库查询终端、酒店管理系统输入终端、智能报警器、数字电视互动遥控器、卡拉OK点歌器、信息家电控制器等其他数据终端。本发明对手写区域的屏幕尺寸要求较低,尤其适用于小屏幕设备的叠字输入与识别,对于目前的手机等小屏幕设备具有较大优势。
优选的,在多任务系统中,上述切割和综合识别过程可与书写过程(即笔迹采集过程)同步进行,从而进一步加快识别处理速度。所述多任务系统是指可以进行多线程的系统。在用户写字的时间段内,由于笔迹采集占用CPU较低或者基本不占用CPU,因此大部分CPU处于空闲状态。而在多任务系统中,可以将这部分空闲的CPU利用起来,边写边识别,因此可以加快识别速度。
基于上述内容,本发明实施例还提供了相应的系统实施例。
参照图2,是本发明实施例所述一种以字母连续输入单词的手写识别系统的结构图。
所述手写识别系统可以包括采集模块21、切割模块22和手写识别模块23,其中,
采集模块21,用于采集以字母连续输入的单词的字符笔迹;
优选的,所述的采集模块21具体可以包括:
叠字采集子模块211,用于采集以叠字连续输入的单词的字符笔迹;
和/或,
行或列采集子模块212,用于采集以行或列连续输入的单词的字符笔迹。
切割模块22,用于对所述单词的字符笔迹进行切割,得到至少一条切分路径;
优选的,所述的切割模块22进一步包括:
笔画切割子模块221,用于对所述单词的字符笔迹进行初始的笔画切割,一个笔画切割一次得到由多个单笔画组成的集合;
笔画组合子模块222,用于将所述集合中的多个单笔画进行笔画组合,每种组合构成一条切分路径,最终得到至少一条切分路径。
手写识别模块23,用于利用预置的词典对各切分路径进行识别判断,得到最终识别结果。
所述手写识别模块23可充分利用预置的词典对个切分路径进行更准确、更快速的识别,因此所述手写识别模块23可进一步包括:
字母识别子模块231,用于对各切分路径进行单个字母的识别,对应每个字母得到多个候选识别结果及每个候选识别结果的概率值;
字母组合子模块232,用于针对每条切分路径,将单个字母的候选识别结果进行组合,每个组合构成一个候选单词;
词典筛选子模块233,用于在所述词典中对所有切分路径的候选单词进行搜索,筛选出词典中出现过的候选单词;
综合判断子模块234,用于针对筛选出的候选单词,根据组合成该候选单词的候选识别结果的概率值得到每个候选单词的综合概率值;按照各候选单词的综合概率值进行排序,选取综合概率值最大的候选单词作为最终识别结果。
对于上述系统实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
基于上述支持以字母连续输入单词的手写识别系统,本发明实施例还提供了一种手写识别终端,该手写识别终端可包括上述的手写识别系统,从而支持以字母连续输入单词的手写识别。所述手写识别系统的具体结构可参照图2所示,在此不再详述。
所述手写识别终端可以是PC机、笔记本电脑、平板电脑、手写板等桌面操作系统终端,也可以是掌上电脑、手机、PAD、PDA、小屏手机或者横屏手机等智能移动终端,还可以是具有多任务系统的各类终端。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
而且,上文中的“和/或”表示本文既包含了“和”的关系,也包含了“或”的关系,其中:如果方案A与方案B是“和”的关系,则表示某实施例中可以同时包括方案A和方案B;如果方案A与方案B是“或”的关系,则表示某实施例中可以单独包括方案A,或者单独包括方案B。
以上对本发明所提供的一种手写识别方法、系统及手写识别终端,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。