用于表意字符分析的方法和系统与流程

文档序号:16367367发布日期:2018-12-22 08:30阅读:281来源:国知局
用于表意字符分析的方法和系统与流程

背景技术

光学字符辨认(ocr)是从图像识别字符的过程。换句话说,ocr将字符的图像转换为机器编码字符。ocr可以例如在传入图像是扫描图像时或者在用户正在使用指点装置在电子装置中手写字符(例如,使用铁笔和采用软件应用的便条)时被执行。因为ocr取决于图像的清晰度、字符和背景的清晰度、字体和/或笔迹以及其他因素,所以ocr正确地识别字符可能具有挑战。



技术实现要素:

总的来说,在一个方面,一个或多个实施例涉及一种用于表意字符分析的方法和非暂时性计算机可读介质。表意字符分析包括:将原始表意字符划分为笔画,并且将每个笔画映射到对应的笔画标识符(id)以创建包括笔画标识符的原始笔画id序列。选择具有距原始笔画id序列处于阈值距离内的候选笔画id序列的候选表意字符,并且通过在搜索短语中用候选表意字符取代原始表意字符来创建新短语。一个或多个实施例使用搜索短语和新短语来执行搜索以获得结果,并且呈现结果。

总的来说,在一个方面,一个或多个实施例涉及一种用于表意字符分析的方法。该方法包括:将原始表意字符划分为笔画,并且将每个笔画映射到笔画id以创建包括笔画标识符的原始笔画id序列。具有距原始笔画id序列处于阈值距离内的候选笔画id序列的候选表意字符被选择,并且取代经字符辨认的文档中的原始表意字符。存储经字符辨认的文档。

本技术的其他方面从以下描述和所附权利要求将是清楚的。

附图说明

图1示出根据本技术的一个或多个实施例的系统的示意图。

图2、3和4示出根据本技术的一个或多个实施例的流程图。

图5.1、5.2和5.3示出根据本技术的一个或多个实施例的例子。

图6示出根据本技术的一个或多个实施例的计算系统。

具体实施方式

现在将参照附图来描述本技术的特定实施例。为了一致性,各图中的相似的元件用相似的标号表示。

在本技术的实施例的以下详细描述中,阐述了许多特定细节以便提供本技术的更透彻的理解。然而,对于本领域普通技术人员来说将清楚的是,可以在没有这些特定细节的情况下实施本技术。在其他情况下,没有对众所周知的特征进行详细描述以避免不必要地使描述复杂。

在整个本申请中,序数(例如,第一、第二、第三等)可以用作元件(即,本申请中的任何名词)的形容词。序数的使用并不暗示或创建元件的任何特定排序,也不使任何元件仅限于单个元件,除非有明确公开,比如通过使用术语“在……之前”、“在……之后”、“单个”以及其他这样的术语明确地公开。相反,序数的使用是区分元件。举例来说,第一元件不同于第二元件,并且第一元件可以包含多于一个的元件,并且在元件排序中在第二元件之后(或之前)。

总的来说,本技术的实施例是针对执行表意字符分析。表意字符是代表想法而不指定读音的图形符号。一些表意字符可以每个都代表整个词语。一些表意字符可以代表词语的部分。表意字符是表意书写系统中的字素。表意书写系统的例子包括中文、日本汉字和其他语言。一个或多个实施例是针对将表意字符划分为笔画并且将笔画转换为笔画标识符(id)序列。从笔画id序列,可以确定表意字符的可能的变化。在本技术的一个或多个实施例中,使用可能的变化来在执行ocr时正确地识别表意字符的图像形式。在本技术的一个或多个实施例中,使用可能的变化来搜索具有经由ocr错误地识别的原始表意字符的文档。

图1示出了根据本技术的一个或多个实施例的系统的示意图。图1所示的系统可以包括计算系统,比如图6所示的并且在下面描述的计算系统,和/或可以在该计算系统上被执行。如图1所示,该系统包括数据储存库(102)和文档分析器(104)。下面描述这两个组件。

在本技术的一个或多个实施例中,数据储存库(102)是用于存储数据的任何类型的存储单元和/或装置(例如,文件系统、数据库、一批表或任何其他存储机制)。此外,数据储存库(102)可以包括多个不同的存储单元和/或装置。所述多个不同的存储单元和/或装置可以是相同的类型或位于同一物理地点,或者可以不是相同的类型或不位于同一物理地点。数据储存库(102)包括存储文档图像(106)、经字符辨认的文档(108)和笔画映射(110)的功能性。

在本技术的一个或多个实施例中,文档图像(106)是具有作为图像数据的至少一些字符的文档的图像。文档是使用软件应用创建的一件工作。例如,文档可以由用于图像扫描仪的应用、照相机应用、字处理应用、便条应用或另一软件应用创建。该件工作可以被保存在计算机文件、记录中,被保存在数据储存库的临时储存器中,或者被以其他方式存储。在本技术的一个或多个实施例中,文档可以是基于字符的文档(例如,自由形式的发票、收据、文章、书或其他这样的文档)、表单(例如,申请、纳税申报表、新账户表单、退款表单或任何其他类型的表单)或任何其他类型的文档。此外,文档可以具有多个部分,其中,每个部分是不同的类型。例如,文章可以与申请表组合在单个文档中。

在本技术的一个或多个实施例中,文档的至少一部分是具有表意字符的图像。换句话说,文档图像具有以图像格式、而不是文本格式编码的信息。在一些实施例中,整个文档图像(106)是图像。例如,文档图像(106)可以是计算机产生的图像、文档的图片、被扫描的文档或文档的其他图像。

在本技术的一个或多个实施例中,经字符辨认的文档(108)是在其中已经对文档图像(108)执行了光学字符识别(ocr)的文档。因此,关于表意字符中的至少一些的图像数据在经字符辨认的文档(108)中被计算机编码字符取代或补充。计算机编码字符是对于文本、而不是图像的编码。例如,计算机编码字符可以为unicode、国标(gb)码、国标扩展(gbk)码、大五码或其他编码。经字符辨认的文档可以被存储在可搜索的数据储存库中。此外,表意字符中的一些在经字符辨认的文档(108)中可能被错误地识别。换句话说,特定的计算机编码字符可能不同于文档图像中的原始表意字符。由于例如文档图像中的字符的背景、文档图像中的字符缺乏清晰度、字体和/或笔迹缺乏清晰度、文档图像上的外来标记以及其他因素,这样的错误识别可能发生。

在本技术的一个或多个实施例中,数据储存库还包括存储笔画映射(110)的功能性。笔画映射(110)是表意字符的笔画和笔画标识符之间的映射。在本技术的一个或多个实施例中,表意字符的笔画不包括所有的笔画,而是仅包括笔画的子集。在其他实施例中,笔画映射(110)可以包括所有的笔画。在一些实施例中,笔画映射(110)中的一个或多个笔画可以是笔画组合。换句话说,不是一个笔画映射到笔画标识符,而是可以将组合的笔画集合映射到对该组合定义的单个笔画id。因此,笔画映射(110)是创建表意字符的步骤的映射。换句话说,笔画映射(110)不是将表意字符转换为不同语言的映射。

在本技术的一个或多个实施例中,笔画的标识符是笔画映射(110)中的笔画之中的唯一标识符。例如,唯一标识符可以是数字标识符、字母标识符、字母数字标识符或另一标识符。在不脱离本技术的范围的情况下,可以使用其他标识符。

继续图1,数据储存库(102)连接到文档分析器(104)。在本技术的一个或多个实施例中,文档分析器是包括识别表意字符的变化并且对表意字符执行操作的功能性的硬件、软件、固件或它们的任何组合。在本技术的一个或多个实施例中,文档分析器(104)包括内容提取用户接口(112)、搜索用户接口(114)、字符分析器(116)、ocr引擎(118)和模糊搜索引擎(120)。下面描述这些组件中的每个。

内容提取用户接口(112)是用于发起从一个或多个文档图像(106)提取内容的接口。换句话说,内容提取用户接口(112)被配置为接收用于执行ocr的参数。内容提取用户接口(112)可以包括文档标识符小工具(122)和参数小工具(124)。文档标识符小工具(122)是用于接收文档的识别的用户接口小工具。例如,文档标识符小工具(122)可以是以下中的一个或多个:复选框、按钮、下拉框、文件夹浏览接口、弹出菜单、用于提交文档图像的名称的文本框、窗口中的打开面板、显示文档图像的窗口或另一类型的小工具。

在本技术的一个或多个实施例中,参数小工具(124)是用于从用户接收用于识别文档中的字符的一个或多个参数的小工具。多个参数小工具可以存在。例如,参数可以包括要提取内容的文档的一个部分或多个部分、内容的语言、关于单个字符提取的任何配置、其他参数或它们的组合。例如,参数小工具(124)可以是下拉菜单、选择框、单选按钮、文本框或任何其他的用户接口小工具或它们的组合。

在本技术的一个或多个实施例中,搜索用户接口(114)是具有搜索小工具(126)并且接收搜索结果(128)的用户接口。搜索小工具(126)是包括接收搜索查询的功能性的任何用户接口小工具。搜索查询是具有用户提交的关键字的查询以获得满足这些关键字的文档。在搜索查询中搜索的文档可以是经字符辨认的文档(108)。在本技术的一个或多个实施例中,搜索查询可以包括一个或多个表意字符。搜索查询可以是结构化的、非结构化的,或者具有结构化的一些组件和非结构化的一些组件。例如,结构化的搜索查询可以是键值对,其中,每个键识别文档的特定属性,值指定该属性的值。非结构化的搜索查询可以是将被用于执行搜索的一个或多个关键字(即,词语、术语、短语、字符)的集合。在不脱离本技术的范围的情况下,在本文中可以使用不同类型的搜索查询。在本技术的一个或多个实施例中,尽管在图1中没有示出,但是搜索用户接口(114)可以包括附加参数,比如定义搜索的模糊度的参数。换句话说,模糊度可以是提供的表意字符和搜索的表意字符之间的变化量。

在本技术的一个或多个实施例中,搜索结果(128)是来自搜索的结果。例如,搜索结果(128)可以是匹配文档的文档标识符、匹配文档的文档位置、实际的文档、匹配文档的其他属性或它们的任何组合。在本技术的一个或多个实施例中,搜索结果(128)可以包括或引用经字符辨认的文档。可替代地或另外地,搜索结果(128)可以包括与通过执行搜索而识别的所得的经字符辨认的文档匹配的文档图像。不是在搜索用户接口(114)中呈现搜索结果(120)或者除此之外,文档分析器可以被配置为存储搜索结果。

尽管图1示出了在其中用户提交搜索查询的系统的示意图,该搜索查询可以由另一应用提交。在这样的实施例中,除了搜索用户接口之外或者作为搜索用户接口的替代,该系统可以包括应用编程接口,该应用编程接口包括用于提交搜索查询并且配置搜索的接口。应用编程接口可以包括返回和/或存储使用搜索查询的搜索的结果的接口。

在本技术的一个或多个实施例中,字符分析器(116)包括对表意字符进行分析并且识别替代表意字符的功能性。在本技术的一个或多个实施例中,字符分析器(116)可以在短语级上进行操作。换句话说,字符分析器(116)可以基于周围上下文来识别表意字符的变化,由此周围上下文是具有一批字符的短语。例如,短语可以是整个词语、句子的一部分、句子或字符的另一周围设置。下面在图2、3和4中描述分析表意字符和识别替代表意字符。

在本技术的一个或多个实施例中,ocr引擎(118)包括对特定文档执行ocr的功能性。执行ocr可以包括:识别具有字符的文档的部分,从文档移除噪声,基于图像中的颜色变化并且对于每个字符识别文档图像的与该字符(字符图像)相对应的部分和与文档的背景相对应的部分,并且将字符图像匹配到计算机编码字符。在本技术的一个或多个实施例中,ocr引擎(118)可以对字符分析器(116)发出调用或者以其他方式使用字符分析器(116)来识别被识别的字符的变化。例如,基于这些变化,ocr引擎(118)可以使用字符分析器来确定最有可能与字符图像匹配的表意字符。此外,尽管在图1中没有示出,但是字符分析器(116)可以是ocr引擎(118)的一部分。

模糊搜索引擎(120)包括基于用户搜索查询执行模糊搜索的功能性。可以使用不同的技术来执行模糊搜索。例如,可以通过产生搜索查询的变化(比如通过识别搜索查询中的一个或多个字符的变化)并且从搜索查询移除字符来执行模糊搜索。可以进一步通过搜索原始搜索查询以及搜索查询的变化来执行模糊搜索。在本技术的一个或多个实施例中,模糊搜索引擎(120)可以对字符分析器(116)发出调用或者以其他方式使用字符分析器(116)来识别搜索查询中的一个或多个表意字符的变化。例如,基于这些变化,模糊搜索引擎(120)可以执行附加搜索来识别附加的可能的文档。附加的可能的文档可能是具有被ocr引擎错误地识别的表意字符的文档。此外,尽管在图1中没有示出,但是字符分析器(116)可以是模糊搜索引擎(120)的一部分。

虽然图1示出了组件的配置,但是在不脱离本技术的范围的情况下,可以使用其他配置。例如,可以组合各种组件来创建单个组件。作为另一个例子,单个组件执行的功能性可以由两个或更多个组件执行。

图2、3和4示出了根据本技术的一个或多个实施例的流程图。虽然该流程图中的各步骤是按顺序呈现和描述的,但是普通技术人员将意识到,这些步骤中的一些或全部可以被按不同的次序执行,可以被组合或被省略,并且这些步骤中的一些或全部可以被并行地执行。此外,这些步骤可以被主动地或被动地执行。例如,根据本技术的一个或多个实施例,一些步骤可以使用轮询来执行或者被中断驱动。举例来说,根据本技术的一个或多个实施例,确定步骤可能不需要处理器来处理指令,除非表示条件存在的中断被接收到。作为另一个例子,根据本技术的一个或多个实施例,可以通过执行测试(比如检查数据值以测试该值是否与测试的条件一致)来执行确定步骤。

图2示出了根据本技术的一个或多个实施例的用于创建笔画id序列的流程图。图2的步骤可以例如由图1中的字符分析器执行。在本技术的一个或多个实施例中,当对字符执行图2时,原始表意字符已经被识别。换句话说,表意字符可以经由用户接口接收,因此,已经是计算机编码字符。另举一例,可以在ocr引擎执行与字符的图像版本相对应的计算机编码字符的初始确定之后从ocr引擎接收计算机编码字符。例如,ocr引擎可以基于模式匹配来从字符图像选择初始的计算机编码字符。

在步骤201中,根据本技术的一个或多个实施例,将表意字符划分为笔画。在本技术的一个或多个实施例中,可以如下执行将字符划分为笔画。对于笔画映射中的每个笔画,至少直到划分部分被找到,确定该笔画是否在字符中。换句话说,确定将笔画覆盖在字符上是否导致笔画被字符包含。如果笔画被字符包含,则笔画在字符中。如果笔画不在字符中,则识别笔画映射中的下一个笔画,并且确定下一个笔画是否在字符中。可以执行确定每个字符是否在字符中,直到划分部分被找到。根据本技术的一个或多个实施例,当字符被笔画覆盖或者没有更多的未处理笔画在笔画映射中时,划分部分被找到。在本技术的一个或多个实施例中,对笔画映射中的笔画进行排序。排序创建字符到笔画的可确定划分。也就是,根据本技术的一个或多个实施例,对于每个字符,对于该字符的所有实例的单个划分存在。此外,根据本技术的一个或多个实施例,排序还可以按如下所述的笔画标识符序列创建单个笔画次序。在本技术的一个或多个实施例中,该次序可以例如是基于大小和封装。例如,具有两个拐弯的笔画在次序上优先于具有单个拐弯的笔画。具有单个拐弯的笔画可以优先于没有拐弯的笔画。因此,具有两个拐弯的笔画可以在具有单个拐弯的笔画之前被分析,具有单个拐弯的笔画在没有拐弯的笔画之前被分析。

步骤201可以继续被处理,直到字符被划分为笔画为止。在处理期间或在划分之后,流程可以继续进行到步骤203以创建笔画标识符序列。换句话说,在一些实施例中,当笔画被识别时,流程可以继续进行到步骤203以将该笔画添加到笔画id序列。可替代地,流程可以在所有的笔画都被识别之后继续进行到步骤203。

在步骤203中,根据本技术的一个或多个实施例,对字符的笔画确定笔画标识符。如上面所讨论的,笔画标识符对应于字符中的笔画。根据本技术的一个或多个实施例,笔画标识符是按映射的次序识别的。

在步骤205中,根据本技术的一个或多个实施例,将笔画id附加到笔画id序列。在本技术的一个或多个实施例中,笔画标识符被添加到笔画id序列的末尾。因此,例如,第一笔画的标识符在序列的开头。识别的下一个笔画被添加到序列的末尾以创建新的序列末尾,依此类推。

在步骤207中,根据本技术的一个或多个实施例,确定另一个笔画是否存在。如果另一个笔画存在,则流程往回继续进行到步骤203以获得划分部分中的下一个笔画的笔画标识符。如果另一个笔画不存在,则流程可以继续进行到末尾。

图2仅仅是用于将表意字符划分为笔画并且将笔画标识符添加到笔画id序列的一个示例的一组步骤。在不脱离本技术的范围的情况下,可以使用其他步骤和/或排序。

图3示出了根据本技术的一个或多个实施例的使用表意字符的变化执行模糊搜索的流程图。图3的步骤可以例如由图1中的字符分析器和模糊搜索引擎执行。

图3可以由用户提交搜索的关键字来发起,其中,关键字包括表意字符。关键字可以经由搜索小工具被直接提交到搜索用户接口中。换句话说,搜索小工具可以接收用于表意字符的计算机编码文本中的关键字。在一些实施例中,用户将文档的名称提交到搜索小工具,并且请求搜索类似的文档。在这样的情形下,提交的文档可以具有图像格式的一些表意字符。如果一些字符为图像格式,则可以执行ocr辨认,并且可以识别计算机编码字符。用于表意字符的ocr辨认可以包括执行下面在图4中描述的步骤。不管搜索的策动者如何,图4描述了用于对具有一个或多个表意字符的原始集合的原始短语进行处理的流程图。术语“原始”的使用是指短语是由用户或ocr处理的输出提供的短语。集合中的每个原始表意字符可以使图2对该字符执行以便创建该字符的笔画id序列。

在步骤301中,根据本技术的一个或多个实施例,选择笔画id序列。选择的笔画id序列对应于原始表意字符集合中的表意字符。在一个或多个实施例中,可以按几乎任何次序来处理表意字符的笔画id序列。

在步骤303中,识别距原始表意字符的笔画id序列处于相似性距离内的候选表意字符集合。可以如下执行识别字符集合。在本技术的一个或多个实施例中,相似性距离可以基于例如候选表意字符的笔画id序列到原始字符的笔画id序列的编辑距离。换句话说,在可能的笔画标识符的集合上给定两个字符串x和y,编辑距离d(x,y)是将x变换为y的编辑操作的最小权重系列。单个编辑可以是插入、删除或替换笔画标识符。单个笔画标识符的插入是将笔画标识符添加到笔画id序列中的任何位置。删除是从笔画id序列中的任何位置移除笔画标识符。替换是用新的笔画标识符替换原始笔画id序列中的笔画标识符。

例如,考虑具有笔画标识符0、1、2、3、4、5、6、7、8和9的十个笔画存在的情形。在例子中,如果x=36,则插入笔画标识符5可以生成356,这是候选笔画id序列y。作为另一个例子,如果x=1368,则删除8创建y=136。作为替换的例子,如果x=2459,则用2替换1得到笔画id序列y=1459。每个示例候选笔画id序列到原始笔画id序列的编辑距离都为1。

示例候选笔画id序列可以被映射回候选表意字符。换句话说,候选表意字符是对应于候选笔画id序列的表意字符。对于不是表意语言的一部分的任何候选字符,可以丢弃该字符。换句话说,如果候选笔画id序列没有映射回真实的字符,则丢弃该笔画id序列。

在一个或多个实施例中,候选表意字符的数量可以受例如编辑距离和/或候选表意字符的数量的限制。例如,可以使用插入、替换或删除来改变原始笔画id序列一次以创建编辑距离为1的候选笔画id序列。类似地,在例子中,可以使用插入、替换和/或删除来改变原始笔画id序列两次以创建编辑距离为2的候选笔画id序列。所述过程可以继续进行,直到对原始笔画id序列进行了n次编辑为止,其中,n为最大编辑距离。在本技术的一个或多个实施例中,最大编辑距离n可以由用户配置、被设置为系统默认值、或者被以其他方式配置。每个候选笔画id序列可以被映射回对应的候选表意字符,由此,在语言中不存在的表意字符被丢弃。从剩余的字符,选择具有最小的对应编辑距离的头m个表意字符,其中,m是所考虑的候选表意字符的最大数量。

在步骤305中,根据本技术的一个或多个实施例,确定另一个笔画id序列是否存在。换句话说,根据本技术的一个或多个实施例,确定另一个原始表意字符是否存在于未被处理的原始短语中。如果另一个未处理的表意字符存在,则流程继续进行到步骤301以识别另一个候选字符集合。

如果另一个未处理的表意字符不存在,则流程继续进行到步骤307以将候选表意字符和原始表意字符的集合组合为新短语。在本技术的一个或多个实施例中,表意字符在新短语中保持为与原始短语中的次序相同的次序。换句话说,原始短语中的原始表意字符被用其候选表意字符取代以创建候选短语,其中,候选保持在与原始表意字符相同的位置中。根据本技术的一个或多个实施例,在原始短语中被取代以获得新短语的表意字符的数量可以是可配置的。例如,根据本技术的一个或多个实施例,字符的数量可以为一个、两个或三个字符。

在步骤309中,根据本技术的一个或多个实施例,将候选短语和原始短语发送到搜索引擎。搜索引擎搜索经字符辨认的文档以识别具有原始短语和/或候选短语的文档集合。换句话说,可以执行经字符辨认的文档的标准搜索以识别具有任何一个搜索短语的文档。因此,具有错误的ocr辨认的文档可能被识别和检索。

在步骤311中,从搜索引擎,识别与任何一个搜索短语匹配的文档。换句话说,搜索引擎可以返回匹配文档的文档标识符列表。

在本技术的一个或多个实施例中,可以基于原始短语和候选短语之间的变化程度来对结果进行排序。例如,越多字符被取代,结果的相关性可能越低。作为另一个例子,一个或多个候选表意字符到对应的原始表意字符的编辑距离越大,结果的相关性越低。可以使用另外的对结果进行排序的技术,比如基于候选或原始短语在文档中是否为完全相同的次序、短语中的所有字符是否都存在于文档中以及其他准则。

在步骤313中,根据本技术的一个或多个实施例,将文档作为搜索结果呈现。例如,可以按次序将文档列表呈现给用户,比如显示在显示装置上的图形用户接口中。另举一例,可以存储文档列表,以使得用户和/或软件应用可以对文档执行附加处理。在本技术的一个或多个实施例中,返回的文档可以是经字符辨认的文档或与经字符辨认的文档对应的文档图像。

例如,考虑与中国做生意的用户将用户从中国购买的货物和服务的多个收据和发票扫描到用户的计算机中的情形。当用户扫描多个收据和发票时,对收据和发票执行ocr以创建目录。ocr是作为对用户隐藏的后台过程执行的。作为表意字符的中文字符中的一些被ocr引擎错误地辨认。然而,因为ocr是后台过程,所以用户不知道错误的辨认。后来,用户想要找到与用户的电脑购买相关的任何文档。因此,用户将针对词语“电脑”的两个中文字符作为关键字提交到搜索小工具中。对于这两个中文字符中的每个,系统对这两个原始字符都创建原始笔画id序列。系统然后识别候选笔画id序列以识别具有略微变化的笔画的候选字符。系统接着可以从候选字符创建候选短语。针对电脑的原始中文短语和候选短语被用来搜索用户的一批收据和发票。换句话说,经字符辨认的文档被搜索以致不仅识别正确地具有针对电脑的中文词语的经字符辨认的文档,而且还识别应具有针对电脑的中文词语、但是因为错误的ocr而没有针对电脑的中文词语的经字符辨认的文档。搜索结果中的每个文档的文档标识符被识别,并且被用来获得匹配的文档图像。匹配的文档图像被返回给用户。因此,即使文档被执行了错误的ocr,用户也可以从搜索获得正确的文档集合。如例子中所示,一个或多个实施例为机器提供了搜索被执行错误ocr的文档的机制。

图4示出了根据本技术的一个或多个实施例的用于执行ocr辨认的流程图。换句话说,图4示出了用于校正错误的ocr的流程图。根据本技术的一个或多个实施例,图4的步骤可以例如由字符分析器和ocr引擎执行。可以基于ocr引擎对文档执行ocr来执行图4的步骤。可以对每个表意字符集合单独地执行图4,由此表意字符集合对应于文档中的词语、短语或句子。在一些实施例中,对所有的表意字符集合执行图4的步骤。在其他实施例中,仅对计算机编码格式的语法上错误的表意字符集合执行图4的步骤。例如,如果在执行ocr之后,ocr引擎确定某些表意字符集合被拼错、上下文错误或者以其他方式不适合文档,则ocr引擎可以对识别的表意字符集合触发图4的步骤。可替代地,可以作为ocr过程的一部分对所有的表意字符集合执行图4的步骤。

在步骤401中,选择笔画id序列。在步骤403中,识别距笔画id序列处于相似性距离内的字符集合。在步骤405中,确定另一个笔画id序列对于表意字符集合是否存在。如果另一个笔画id序列存在,则流程可以继续进行到步骤401。如果另一个未处理的笔画id序列不存在,则流程可以继续进行到步骤407。在步骤407中,根据本技术的一个或多个实施例,将表意字符集合组合为短语集合。可以以与如上面所讨论的图3的步骤301、303、305和307分别相同或类似的方式执行图4的步骤401、403、405和407。

继续图4,在步骤409中,根据本技术的一个或多个实施例,从短语集合清除错误的短语。换句话说,系统可以采取原始文档图像没有语法错误(包括在文档中在上下文下没有意义的表意字符)的假设。因此,语法上错误的任何候选或原始短语被移除。

在步骤411中,根据本技术的一个或多个实施例,从短语集合选择短语。如参照图3所讨论的,可以根据编辑距离来对候选短语进行排序。换句话说,可以使用从原始短语到候选短语的表意字符上的笔画id序列的编辑距离的求和来创建候选短语编辑距离。可以对候选短语编辑距离进行排序以识别从原始短语编辑次数最少的候选短语。在步骤409中清除之后剩余的编辑次数最小的候选短语可以是步骤411中选择的短语。

在步骤413中,根据本技术的一个或多个实施例,使用选择的短语作为经辨认的短语来创建经字符辨认的文档。换句话说,选择的短语可以取代原始短语的短语图像,可以被作为元数据添加,被设置为从短语的图像提取的内容,或者被以其他方式用作对原始短语的短语图像执行的ocr的结果。

在步骤415中,根据本技术的一个或多个实施例,存储经字符辨认的文档。经字符辨认的文档可以被暂时地或永久地存储在数据储存库中。因此,可以从经字符辨认的文档提取内容。

当文档包括表意字符时,一个或多个实施例可以允许机器对错误的ocr进行校正。具体地说,尽管使用文档图像的用户可以快速地识别适当的表意字符,但是文档图像中的噪声和其他因素可能阻止机器正确地辨认文档。一个或多个实施例可以用于通过机器识别仅相差几个笔画的表意字符的变化来对文档进行校正。

图5.1、5.2和5.3示出了根据本技术的一个或多个实施例的例子。图5.1、5.2和5.3中所示的例子仅仅是出于说明的目的,而非意图限制本技术的范围。

图5.1示出了根据本技术的一个或多个实施例的笔画映射(500)的例子。在该例子中,每行对应于单个的笔画。笔画中的子笔画的数量可以根据特定的笔画映射而变化。因此,尽管笔画(502)具有多个子笔画,但是笔画(502)被映射到单个笔画id5(504)。

图5.2示出了根据本技术的一个或多个实施例的示出表意字符(512)和匹配的笔画标识符序列(514)的示例表意表(510)。如图5.2所示,每个表意字符根据图5.1中的笔画映射被划分为分量笔画。对于分量笔画来自笔画映射的笔画id被识别,并且被添加到字符的笔画id序列。因此,每个字符具有对应的笔画id序列。

图5.3示出了根据本技术的一个或多个实施例的短语(522)和类似短语(524)的示例表(520)。换句话说,短语(522)可以对应于原始短语,类似短语(524)可以对应于候选短语。如所示,短语(522)和候选短语(524)之间的差异可以很小,比如字符中的一横。然而,因为小的改变,含义上可能存在很大的差异。一个或多个实施例可以提供用于辨认变化并且使用该变化来抵消错误的ocr处理的技术。

本技术的实施例可以在计算系统上实现。可以使用移动、台式、服务器、嵌入式或其他类型的硬件的任何组合。例如,如图6所示,计算系统(600)可以包括一个或多个计算机处理器(602)、相关联的存储器(604)(例如,随机存取存储器(ram)、高速缓存存储器、闪存等)、一个或多个存储装置(606)(例如,硬盘、光学驱动器(比如紧凑盘(cd)驱动器或数字多功能盘(dvd)驱动器)、闪存棒等)、以及许多其他的元件和功能性。计算机处理器(602)可以是用于处理指令的集成电路。例如,计算机处理器可以是一个或多个核或处理器的微核。计算系统(600)还可以包括一个或多个输入装置(610),比如触摸屏、键盘、鼠标、麦克风、触控板、电子笔或任何其他类型的输入装置。此外,计算系统(600)可以包括一个或多个输出装置(608),比如屏幕(例如,液晶显示器(lcd)、等离子体显示器、触摸屏、阴极射线管(crt)监视器、投影仪或其他显示装置)、打印机、外部储存器或任何其他输出装置。输出装置中的一个或多个可以与输入装置是相同的或不同的。计算系统(600)可以经由网络接口连接(未示出)连接到网络(612)(例如,局域网(lan)、广域网(wan)(比如互联网)、移动网络或任何其他类型的网络)。输入装置和输出装置可以本地地或远程地(例如,经由网络(612))连接到计算机处理器(602)、存储器(604)和存储装置(606)。许多不同类型的计算系统存在,并且前述输入装置和输出装置可以采取其他形式。

执行本技术的实施例的计算机可读程序代码的形式的软件指令可以被整个地或部分地、暂时性地或永久地存储在非暂时性计算机可读介质(比如cd、dvd、存储装置、磁盘、磁带、闪存、物理存储器或任何其他计算机可读存储介质)上。具体地说,软件指令可以对应于当被处理器执行时被配置为执行本技术的实施例的计算机可读程序代码。

此外,前述计算系统(600)的一个或多个元件可以安置在远程位置处,并且通过网络(612)连接到其他元件。此外,本技术的实施例可以在具有多个节点的分布式系统上实现,其中,本技术的每个部分可以安置在该分布式系统内的不同节点上。在本技术的一个实施例中,节点对应于不同的计算装置。可替代地,节点可以对应于具有相关联的物理存储器的计算机处理器。节点可以可替代地对应于具有共享的存储器和/或资源的计算机处理器或计算机处理器的微核。

虽然已经关于有限数量的实施例描述了本技术,但是本领域技术人员受益于本公开将意识到,可以想出不脱离如文本所公开的本技术的范围的其他实施例。因此,本技术的范围应仅由所附权利要求限制。

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