本公开涉及文档数字化技术,并且更具体地涉及用于对文档图像中出现的键进行语义规范化的方法、计算机程序产品和系统。
背景技术:
在传统的文档处理中,在准备时,逐页扫描纸上墨文档(ink-on-paper)作为相应的可视图像。扫描纸张的结果文档文件通常是一系列页面的可视图像。页面的每个视觉图像具有表示单词、短语、句子以及对应于特定单词的多种格式的值的对象。识别这种可视对象的数据内容并将某些数据内容关联在一起以产生如数据字段名和关系数据库的相应值中的计算数据的一系列过程被称为文档数字化或数据提取。计算数据可以通过使用许多计算机程序应用程序而被访问和进一步处理。鉴于在传统纸件表格和尚未计算的扫描文档图像中表示的信息量,从传统文档中自动和准确的数据提取可以显著地有助于工业和社会生产力。
技术实现要素:
通过在一个方面提供一种用于规范化文档图像中的键的方法,解决了现有技术的一个或多个缺点,并且提供了附加的优点,该方法包括:由计算机的一个或多个处理器获得文档图像的文档元数据,其中文档元数据包括针对出现在文档图像中的每个对象的上下文、位置和样式;基于候选键与键语义可互换,识别与文档图像中的对象相对应的候选键为键本体数据中的键;将所述候选键规范化为规范化形式;确定与所述规范化形式相对应的键类,其中,所述键类与所述键本体数据中的键相关联;基于所述文档元数据,评估所述键类的置信度分数,其中,所述置信度分数指示所述键类由所述候选键表示的可能性;以及基于根据预配置的验证方式验证所述键类,用所述键类更新语义数据库,使得所述键类可以与出现在其他文档图像中的语义上可互换的文本有效地相关联。
本发明的另一方面提供了一种用于规范化文档图像中的键的方法,包括:基于候选键在语义上可与键互换,通过计算机的一个或多个处理器,识别与文档图像中的对象相对应的候选键为键本体数据中的键;将所述候选键规范化为规范化形式;从所述规范化形式导出所述候选键的一个或多个别名,其中所述一个或多个别名不与语义数据库中的所述键相关联;基于所述文档图像的文档元数据,针对所述一个或多个别名中的每个评估相应的置信度分数,其中,所述置信度分数指示每个别名由所述候选键表示的可能性;以及基于根据预先配置的验证方式验证所述一个或多个别名,利用所述一个或多个别名来更新所述语义数据库,使得基于所述文本与所述候选键语义匹配,所述一个或多个别名可以与来自其他文档图像的文本有效地相关联。
本发明的另一方面提供了一种计算机程序产品,其包括计算机可读存储介质,该计算机可读存储介质可由一个或多个处理器读取并且存储由该一个或多个处理器执行的指令,用于执行一种用于规范化文档图像中的键的方法,该方法包括:获得文档图像的文档元数据,其中文档元数据包括针对出现在文档图像中的每个对象的上下文、位置和样式;基于候选键与键语义可互换,识别与文档图像中的对象相对应的候选键为键本体数据中的键;将所述候选键规范化为规范化形式;确定与所述规范化形式相对应的键类,其中,所述键类与所述键本体数据中的键相关联;基于所述文档元数据,评估所述键类的置信度分数,其中,所述置信度分数指示所述键类由所述候选键表示的可能性;以及基于根据预配置的验证方式验证所述键类,用所述键类更新语义数据库,使得所述键类可以与出现在其他文档图像中的语义上可互换的文本有效地相关联。
本发明的另一方面提供了一种计算机程序产品,其包括计算机可读存储介质,该计算机可读存储介质可由一个或多个处理器读取并且存储由一个或多个处理器执行的指令,用于执行对文档图像中的键进行规范化的方法,该方法包括:基于候选键与键语义可互换,识别与文档图像中的对象相对应的候选键为键本体数据中的键;将所述候选键规范化为规范化形式;从所述规范化形式导出所述候选键的一个或多个别名,其中所述一个或多个别名不与语义数据库中的所述键相关联;基于所述文档图像的文档元数据,针对所述一个或多个别名中的每个评估相应的置信度分数,其中,所述置信度分数指示每个别名由所述候选键表示的可能性;以及基于根据预先配置的验证方式验证所述一个或多个别名,利用所述一个或多个别名来更新所述语义数据库,使得基于所述文本与所述候选键语义匹配,所述一个或多个别名可以与来自其他文档图像的文本有效地相关联。
本发明的又一方面提供一种系统,其包括存储器;与存储器通信的一个或多个处理器;以及可由所述一个或多个处理器经由所述存储器执行以执行用于规范化文档图像中的键的方法的程序指令,所述方法包括:获得所述文档图像的文档元数据,其中,所述文档元数据包括针对出现在所述文档图像中的每个对象的上下文、位置和样式;基于候选键与键语义可互换,识别与文档图像中的对象相对应的候选键为键本体数据中的键;将所述候选键规范化为规范化形式;确定与所述规范化形式相对应的键类,其中,所述键类与所述键本体数据中的键相关联;基于所述文档元数据,评估所述键类的置信度分数,其中,所述置信度分数指示所述键类由所述候选键表示的可能性;以及基于根据预配置的验证方式验证所述键类,用所述键类更新语义数据库,使得所述键类可以与出现在其他文档图像中的语义上可互换的文本有效地相关联。
通过本文阐述的技术实现了附加特征。包括但不限于计算机程序产品和系统的其它实施例和方面在这里被详细描述,并且被认为是所要求保护的发明的一部分。
附图说明
本发明的一个或多个方面作为示例在说明书结尾处的权利要求中被特别指出并清楚地要求保护。从下面结合附图的详细描述中,本发明的前述和其它目的、特征和优点将变得显而易见,其中:
图1描绘了根据本文阐述的一个或多个实施例的用于在文档数字化期间语义规范化内容的系统;
图2描绘了根据本文阐述的一个或多个实施例的由语义规范化引擎执行的操作的流程图;
图3描绘了根据这里阐述的一个或者多个实施例的具有经受语义规范化的对象的示例性文档图像,如由语义规范化引擎执行的;
图4描绘了根据这里阐述的一个或多个实施例的对应于文档图像的示例性文档元数据;
图5描绘了根据本文阐述的一个或多个实施例的语义规范化引擎的示例性输入和输出;
图6示出了根据本发明实施例的云计算节点;
图7示出了根据本发明实施例的云计算环境;以及
图8示出了根据本发明实施例的抽象模型层。
具体实施方式
图1描绘了根据本文阐述的一个或多个实施例的用于在文档数字化期间语义规范化内容的系统100。
为了使用文档中表示的数据进行计算的方便性,数字文档通常是优选的。当扫描输入纸上笔(pen-on-paper)文档时,文档是页面的一系列视觉图像,但在计算上不准备用作数字数据。在文档处理的开始,文档图像是对象的非结构化集合。对象中示出的文本、数字、符号及其组合被提取作为相应数据。某些文本和数据可以相关联以便在关系数据库中形成键-值对,使得文档图像中的信息可以是计算性的。
因为手动数字化遗留文档的图像所需的时间和成本将是过高的,并且因为由于人为错误因素和对文档中的单词的单独解释,手动数字化可能是不精确和不一致的,所以期望自动化准确地数字化文档图像的过程,以进一步利用文档图像中表示的数据。例如,来自扫描发票的数据可以是关系数据库管理系统的输入,用于针对来自数据库、网站等的其他文档的内容进行搜索和/或与之进行比较。
然而,对于现有的文档处理应用,文档的许多自定义格式和独特组织,甚至对于用于相同目的文档,在处理文档图像和从文档中提取计算数据方面提出了挑战。特别地,在文档数字化期间,文档中的数据字段的语义可交换但却有区别的措辞将被识别为相应的数据字段,而没有特定的规范化。例如,大多数发票具有标识发票的发票编号、标识接收发票的客户的账号、以及标识发票所针对的交易的订单编号。在一个公司中,发票可被称为″发票no.″、″帐号no.″和″序号no.″。而另一公司可以用″inv_num″、″accnt_num″和″purchase_id″来表达相同的数据字段。如这里所述,本发明的某些实施例将来自许多文档源的各种语义可互换字规范化为规范化数据字段名,以便准确地数字化与各种文档格式上的这些语义可互换字相关联的数据,使得数据将在数据库中有效地表示。在本说明书中,规范化数据字段名称为键或键类。
系统100包括文档数字化引擎120。文档数字化引擎120经由用户设备110从用户101接收文档图像181。文档图像181是被光学扫描的文档的视觉图像,但是文档图像181的内容不是计算的。例如,由于文档图像181不具有任何计算数据,因此纸文档的扫描图像可能不被搜索或作为数据输入被读入另一应用。文档图像181具有与各个词相对应的多个对象,这些对象可以被提取为计算数据。
文档数字化引擎120包括语义规范化引擎160。文档数字化引擎120处理文档图像181并确定文档元数据140,其通过使用针对每个对象预先配置的参数来指定文档图像181中的每个对象。图4中呈现了文档图像181内的对象层次的示例。文档元数据140的参数可以是但不限于对象上下文141、位置坐标143和对象样式145。文档数字化引擎120通过使用如在文档元数据140中表示的键和对应于键的值,在关系数据库(rdb)150中生成一个或多个键-值对(kvp)155。文档数字化引擎120向用户101报告由语义规范化引擎160执行的语义规范化产生的键类置信度分数元组191。用户101可以可选地提供关于键类-置信度分数元组191的反馈199,其指示语义数据库130是否要用键类-置信度分数元组191来更新。
文档数字化引擎120耦合到一个或多个外部工具170和语义数据库130。外部工具170的示例可以包括但不限于用于捕获文档元数据140的光学字符识别(ocr)应用、诸如用于建立语义数据库130的字分类器和词典之类的语言处理、以及用于训练和提高语义数据库130的准确性的机器学习工具。语义数据库130包括一个或多个文档类131、一个或多个键别名集合135和键本体数据137。
键本体数据137中的键138的某些语义上类似的变化被存储在一个或多个键别名集合135中,与键相对应。在将别名存储在键别名集合135中时,文档数字化引擎120检查键与别名之间的语义相似性的水平,并且丢弃与键不具有小于被配置为阈值相似性的水平的语义相似性的别名。
当在文档数字化引擎160的处理期间通过使用操作监督机器学习工具的外部工具170发现语义匹配时,利用监督学习来训练键本体数据137。即使在键和别名之间语义相似性不明显,别名仍然可以基于程序员输入与键别名集合135中的键相关联。因此,可以跨语言发现语义匹配,以便支持已知别名的广泛基础。
在语义数据库130中,一个或多个文档类别131中的文档类别包括类键集合133,其指定针对文档类别131中的任何文档所请求的键集。类键集合133由用户101唯一地定义,以便在整个应用程序套件中一致地表示rdb150中的键和对应的kvp,使得kvp是可用的而无需在各个应用程序之间的进一步转换。
例如,当文档是购买发票类时,相应的类键集合可以包括但不限于名称、交易日期、项目列表、项目价格、税费和总额。
在语义数据库130中,一个或多个键别名集合135中的每一个包括对应于键的别名。如上所述,键是将在rdb150中使用的规范化数据字段名,并且一个键别名集合135中的所有别名在语义上可与键互换。每个别名在所有文档中是唯一的,并且可以经由如在键本体数据137中表示的键138的文档类别而对应于类键集合133。
语义数据库130包括键本体数据137,其定义了对由文档图像181表示的知识领域建模的一组约束和含义。键本体数据137包括可以存在于文档图像181中的多个键的相应属性139。属性139的示例可以包括但不限于与键138相关联的文档类、键138所属的键类、以及键138的值的数据类型和格式。
语义规范化引擎160通过使用诸如存储在文档元数据140和语义数据库130中的与文档图像181中的其它对象相关的数据字段名的相对上下文、相对样式和相对位置等参数,自动地对文档图像181中出现的数据字段名进行语法分析。语义规范化引擎160还利用各种现有技术,例如文本匹配、文档分类和向量空间建模,以便增加正确捕获各种数据字段名作为相应的规范化键的可能性。语义规范化引擎160的详细操作在图2中描述。
图2描绘了根据这里阐述的一个或者多个实施方式的由图1的语义规范化引擎160执行的操作的流程图。
在框210之前,文档数字化引擎120基于用户101提供的rdb的键-值对规范或通过使用基于先前处理的文档图像的机器学习,准备语义数据库130的文档类别131和键本体数据137。文档数字化引擎120基于从文档图像181提取的数据对文档图像181进行分类,并确定文档图像181的文档类型。当从语义数据库130没有发现来自文档图像181的候选键时,文档数字化引擎120调用语义规范化引擎160。如果文档数字化引擎120发现类键集合133、键别名集合135或键本体数据137之一中的候选键的精确文本,则文档数字化引擎120可以不调用语义规范化引擎160,因为候选键已经在语义数据库130中建立。
在块210中,语义规范化引擎160将输入到文档数字化引擎120的文档图像181中的候选键识别为与来自键本体数据137的键在语义上可互换。语义规范化引擎160可以为文档图像181的文档类别131的类键集合133中发现的键识别多于一个的候选键。则语义规范化引擎160继续进行块220。
在本说明书中,当键被标识时,意味着对应于该键的值也被标识,使得该键将被反映为rdb150中的键-值对。在本发明的一个实施例中,语义规范化引擎160检查文档元数据140,并基于相对位置、指定颜色的相对样式、字体类型和文本大小从文档图像181中选择键组别名和关联值,其吸收来自语义数据库130或rdb150的已知键。语义规范化引擎160可以在语义上匹配键文本、与键本体数据137中指定的已知数据类型的键相关联的值。
语义匹配功能确定两个输入文本是否在语义上可互换,如语义规范化引擎160所利用的。语义匹配功能是文档数字化引擎120专有的,在本说明书中没有呈现其细节。
在块220中,语义规范化引擎160通过语义匹配,相对于键名称规范来规范化在块210中识别的候选键,并且确定对应于该候选键的键类。在本发明的某些实施例中,键名规范可以例如由用户101提供,由文档数字化引擎120基于文档图像181中候选键的放置、来自语义数据库130的现有别名或根据文档数字化引擎120的配置的其组合来准备。则语义规范化引擎160继续进行块230。
在本发明的一个实施例中,语义规范化引擎160确定候选键是否与键本体数据137中的键138或者与键别名集合135中的键138相对应的别名相匹配。如果语义规范化引擎160没有从来自语义数据库130的一个或多个键中找到候选键的精确匹配,则语义规范化引擎160继续确定该一个或多个键是否在语义上匹配候选键。作为一个或多个键别名的语义匹配的候选键可以被添加到键别名集合135中,也可以不被添加,这取决于如从框240确定的置信度分数和/或如从框250确定的用户反馈。
在本发明的一个实施例中,例如对于发票编号键-值对,语法以如下扩展巴克斯-诺尔形式(ebnf)表示:
字母=″a″|″b″|″c″|″d″|″e″|″f″|″g″|″h″|″i″|″j″|″k″|″l″|″m″
|″n″|″o″|″p″|″q″|″r″|″s″|″t″|″u″|″v″|″w″|″x″|″y″|″z″|″a″|
″b″|″c″|″d″|″e″|″f″|″g″|″h″|″|″i″|″j″|″k″|″i″|″m″|″n″|″o″|″p″|″q″|
″r″|″s″|″t″|″u″|″v″|″w″|″x″|″y″|″z″;
数字=″0″|″1″|″2″|″3″|″4″|″5″|″6″|″7″|″8″|″9″;
发票号=“inv”,(“.”|“oice”|“_”|...),...;
值(发票号)=“5”,9*数字;
在块230中,语义规范化引擎160学习由规范化形式和/或键类表示的所有别名,如从块220中确定的。在本发明的一个实施例中,语义规范化引擎160确定在对应于在键本体数据137中指定的键138的键别名集合135中是否存在从规范化形式和/或键类中导出的候选键的别名。则语义规范化引擎160继续进行块240。
在块240中,语义规范化引擎160基于比较在语义数据库130和/或rdb150的框架中指定的键规范的各种属性和候选键,确定为候选键识别的键类和/或从块220的规范化形式导出的别名的置信度分数。属性在分别与候选键相关联的语义数据库130和文档元数据140的内容中表示。则语义规范化引擎160继续进行块250。
在本发明的一个实施例中,语义规范化引擎160通过比较候选键和键类的字符序列,确定候选键和键别名、键类、和/或从键本体数据定义的键之间的接近度。例如,如果语义规范化引擎160观察到:在键本体数据137中定义键/键类″帐号″;候选键″acnt#″出现在文档图像中;以及别名″accntno.″在键类″帐号″的键别名集合中,则语义规范化引擎160可以基于别名中的″a″、″c″、″n″和″t″以与键138中的″帐号″相同的顺序出现,增加作为″帐号″键的别名的候选键″acnt#″的置信度分数。
语义规范化引擎160还可以利用键和文档图像中的新别名的相对位置、上下文和样式,以便确定键和新别名之间的相似性。例如,如果语义规范化引擎160观察到键″帐号″在键本体数据137中被定义为以粗体字体出现在具有帐号名数据字段的文档页面的左下角,并且别名″accntno″出现在来自具有″客户名称″的文档图像181的页面的左下角,则语义规范化引擎160可以增加作为″帐号″键的别名的″accntno″的置信度分数。
在相同的实施例中,语义规范化引擎160可以调用机器学习过程来分类键别名和键的各自文本,以便确定文本是否指向相同的类。此外,在本发明的同一实施例中,语义规范化引擎160可以运行向量空间建模和主题建模的过程,以识别文档图像的主题,这可以确认或否认文档图像的分类。语义规范化引擎160可以使用现有的向量空间建模和主题建模工具包,例如以python编程语言实现的gensim。
在块250中,语义规范化引擎160通过向用户101报告被称为键类置信度分数元组191的键类和别名,以用于反馈199,来验证键类和从块230的规范化形式/键类导出的别名以及在块240中确定的相关联的置信度分数。语义规范化引擎160可以根据用户101提供的反馈199,利用在键类-置信度分数元组191中表示的新别名来更新语义数据库130。在用户101不提供反馈199的情况下,语义规范化引擎160仍然可以基于置信度分数是否满足预先配置的阈值,利用来自键类置信度分数元组191的内容来更新语义数据库130。则语义规范化引擎160终止处理从块220识别的候选键。则语义规范化引擎160可对从文档图像181中标识的所有候选键迭代框220至250。
在本发明的特定实施例中,语义规范化引擎160可以具有配置如何呈现特定置信度分数范围的特定别名的呈现协议,其中呈现协议用于表示:别名,其在语义上与所述文档图像上的绿框中的所述键匹配;在语义上与所述文档图像上的橙色框中的所述键的阈值部分或更多相匹配的另一别名;以及在发现别名语义上匹配到小于该键的阈值部分之后,在文档映像上的红色框中的与该键不匹配的另一别名。用户101可输入阈值部分以确定语义匹配,例如,键的一半,即50%。
在本发明的某些实施例中,语义规范化引擎160可以具有另一个表示协议,其通过使用从规范化形式导出的别名以及在键别名集合135中预先存在的键和在键本体数据137中的键,来指示已经从文档图像中找到了在类键集合中的多少键。如果在文档图像181中存在类键集合133中的所有键,则语义规范化引擎160可以用绿色框标记文档的边界以及每个键/别名。如果类键集合133中的某些键仅通过语义匹配而存在于文档图像181中,并且别名的置信度分数不是完美的(100%),则语义规范化引擎160可以用相应的红色框来标记单词/文档图像的边界。如果类键集合133中的某些键缺失,则语义规范化引擎160可以用相应的红色框来标记单词/文档图像的边界。
图3描绘了根据这里阐述的一个或者多个实施例的示例性文档图像300,其具有经受语义规范化的对象,如由图1的语义规范化引擎160执行的。
示例性文档图像300描述了由组织发行的税务发票。如本文所述,文档数字化引擎120处理文档图像300并从文档图像的各种对象提取数据。应当理解:具有实线边界的对象分别表示由用户101通过例如配置rdb150或指定键本体数据137中的键而指定的键值对(kvp)的键;在键的右侧具有点划线边界的对象分别表示kvp的值;并且具有虚线边界的对象分别表示一个或多个键-值对。
文档图像300在左上角具有表示组织名称和标识的第一区域301。文档图像300在右上角具有第二区域302,其表示与组织相关联的组织的联系信息,例如地址、电话号码、网站统一资源位置符(url)和电子邮件地址。文档图像300在第二区域302下方的右上角还具有第三区域303,其表示标识文档类型的文档标题,即″taxinvoice″。根据语义数据库130中预定义的发票/税务发票的文档类别,税务发票文档类别具有类键集合,其指定税务发票文档类别的任何文档所需的键。
文档图像300并排具有″soldto″对象310k和″name&address_″对象310v。用下划线所包含的描述指示用于相应数据类型的空间保持器,为了简洁起见,没有呈现该空间保持器。文档数字化引擎120基于适用于从文档图像中的相邻对象决定键-值对(kvp)的各种参数,将对象310k和310v作为数据字段的键和值相关联。类似地,文档数字化引擎120确定:″invoice#″对象320k作为键,具有以″_invn_″对象320v表示的对应值;″order#″对象330k作为键,其相应的值表示为″_odn_″对象330v;以及″date″对象340k作为键,其相应的值表示为″_mm/dd/yy_″对象340v。
文档图像300具有表示专有代码键和专有代码值的第四区域304″prpcode″。文档图像300具有描述服从文档图像300的税务发票的项目列表的第五区域″itemslist″305。项目列表可以以表格格式表示,其中列表中的每个项目用例如项目代码、项目描述、数量、价格、价格调整、货物与服务税(gst)和项目总计的相应属性来描述。文档图像300具有第六区域″inviocesummary″306,其表示总结税务发票的各种细节,例如由项目列表中的项目的价格总和产生的小计、gst小计和应付总额。
文档图像300在图像的左下角具有标记有″paymentdetails″的区域。在″paymentdetails″中,″bank″对象350k和″_b_code_″对象350k作为银行信息的键-值对。类似地,文档数字化引擎120确定:″accountname″对象360k作为键,具有在″_a_name_″对象360v中表示的相应值,描述账户名称数据字段;以及″account″对象370k作为键,具有在描述账号数据字段的″573093486″对象370v中表示的相应值,根据如在键本体数据137中赋予的值的数据类型。
文档数字化引擎120处理文档图像300并创建文档元数据140的分量字段。例如,文档数字化引擎120发现发票编号(320k,320v)和订单编号(330k,330v)两者在文档图像300内以相对位置隔离的类似的块出现。在文档元数据140中记录在中心线的垂直上方和在右侧的水平方向上的各个位置,作为各个对象的位置坐标143。类似地,与每个对象相关联的对象上下文141、位置坐标143和对象样式145分别在文档元数据140中表示,如由文档数字化引擎120生成的并且作为语义规范化引擎160的输入。图4中示出了文档元数据140的一些组件。
在本发明的某些实施例中,如果语义规范化引擎160获得文档类别的新文档图像实例,语义规范化引擎160可以开发文档类别的语法,根据文档元数据表示所有类键,包括:某些kvp/对象如何出现在某一间距中的背景;针对每个对象在文档图像中的某些相对位置;以及对应于每个对象的特定样式。文档类别语法可以用类似ebnf的符号来表示。当语义规范化引擎160累积地处理文档图像时,可以通过使用监督机器学习来学习和训练文档类别语法。如果语义规范化引擎160获得具有文档类别语法的文档类别的新文档图像实例,则语义规范化引擎160可以将包括对象上下文、相对位置和对象样式的文档元数据添加到文档类别语法的训练数据中。
当语义规范化引擎160处理更多的发票时,文档类别语法的某些元素可以被增强为由实际发票支持。当与文档类别语法相反的证据大于阈值数目时,可以丢弃文档类别语法的某些元素。例如,文档类别语法可以阐明发票编号数据字段出现在其它数据字段的上下文中,包括订单号、购买日期和到期金额,靠近文档图像的顶部,具有比其它文本大10%的字体。文档类别语法还可以阐明总数据字段以加粗的美元量出现在文档图像的右下角附近的运送和处理、税费和购买价格的上下文中。
图4描绘了根据本文阐述的一个或多个实施例的对应于文档图像181的示例性文档元数据400。
文档数字化引擎120处理文档图像181并生成文档元数据140。在本发明的某些实施例中,文档数字化引擎120以javascript对象符号(json)格式生成文档元数据140,如示例性文档元数据400中所示。文档图像181被分层地组织为包括一行或多行的一个或多个块。每一行具有一个或一个以上字。每个块、行和字可以被认为是文档图像181内的相应对象,其属性分别在文档元数据140中描述。
行l401表示该列表描述了由″blocklist″表示的块。行l402和l403表示块的起始点的(x,y)坐标。行l403表示没有注释附加到该块。行l403指示所述块具有某一宽度。行l406指示块具有由″linelist″表示的行。
行l407指示行″linelist″具有由″wordlist″表示的单词。行l408指示该单词具有值″xyzinc.″,行l409和l410分别表示字的高度和密度。行l411和l412表示字的起始点的(x,y)坐标。行l413表示如在特定定制字体大小组中的字的字体大小。行l414指示该单词将由″word_0″名称标识。行l415指示所述字具有八(8)个字符,且行l426指示所述字具有某一宽度。测量可以以像素为单位,或者根据任何其他定制单位。
行l417至421结束了在l406中引入的行″linelist″。行宽度l417(x,y)坐标协调行l418和l419的行起始点、行l420中的行的高度以及行l421中的行标识的名称″line_0″。
对象的上下文由每个对象如何一起出现在某一列表中来表示。可以基于各种坐标和诸如高度和宽度的尺寸元素来确定对象的相对位置和大小。文档元数据140被用作语义规范化引擎160的输入,特别是为了评估候选键是已知键的别名的可能性的置信度分数。
图5描绘了根据这里阐述的一个或者多个实施方式的语义规范化引擎160的示例性输入和输出500。
如图4所示,示例性输入和输出500以json符号表示。注意,行l501至l509是来自文档图像181的候选键的输入,行l511至l521是在语义规范化引擎160处理来自上述输入的候选键之后的输出。
行l502指示候选键是由″block_16″名称标识的块的成员。如上图4所示,″block_16″在文档元数据中被指定用于上下文、位置和样式。行l503指示候选键的值是″573093486″。行l504和l505表示l503的值的起始点的(x,y)坐标。行l506和l507表示候选键的起始点的(x,y)坐标。行l508表示候选键具有文本″accntno″。
在处理行l501到l509的输入时,语义规范化引擎160首先查看键本体数据以寻找匹配,然后通过语义匹配和键别名搜索,针对键名称规范来规范化文本″accntno″。则语义规范化引擎160从规范化形式中导出候选键的新别名。语义规范化引擎160确定候选键的键类,并且通过检查如在文档元数据中指定的上下文、位置和样式来确定键类上的置信度分数。
行l512到l518分别等于来自输入的行l502到l508。如行l508中所示,候选键在行l518中具有″accntno″。行l520指示语义规范化引擎160确定键类″customeraccountnumber″对应于规范化之后的候选键″accntno″。行l519表示语义规范化引擎160基于上下文、相对位置和文档元数据中表示的样式、文本排序、语义匹配、以及向量空间建模和文本分类,确定键类″customeraccountnumber″是对应于候选键″accntno″的键类的可能性为82.35%。
在某些实施例中,语义规范化引擎160基于候选键出现的″block_16″中分组的对象以及候选键″accntno″与相同块中的其它对象相比的相对样式,确定候选键″accntno″的键类″customeraccountnumber″。语义规范化引擎160比较候选键″accntno″和所有键类之间的文本相似性,并且确定键类″customeraccountnumber″最接近候选键″accntno″,以及确定作为置信度分数的接近度水平。
图6-8描绘了根据本文阐述的一个或多个方面的计算的各个方面,包括云计算系统。
首先应当理解,尽管本公开包括关于云计算的详细描述,但其中记载的技术方案的实现却不限于云计算环境,而是能够结合现在已知或以后开发的任何其它类型的计算环境而实现。
云计算是一种服务交付模式,用于对共享的可配置计算资源池进行方便、按需的网络访问。可配置计算资源是能够以最小的管理成本或与服务提供者进行最少的交互就能快速部署和释放的资源,例如可以是网络、网络带宽、服务器、处理、内存、存储、应用、虚拟机和服务。这种云模式可以包括至少五个特征、至少三个服务模型和至少四个部署模型。
特征包括:
按需自助式服务:云的消费者在无需与服务提供者进行人为交互的情况下能够单方面自动地按需部署诸如服务器时间和网络存储等的计算能力。
广泛的网络接入:计算能力可以通过标准机制在网络上获取,这种标准机制促进了通过不同种类的瘦客户机平台或厚客户机平台(例如移动电话、膝上型电脑、个人数字助理pda)对云的使用。
资源池:提供者的计算资源被归入资源池并通过多租户(multi-tenant)模式服务于多重消费者,其中按需将不同的实体资源和虚拟资源动态地分配和再分配。一般情况下,消费者不能控制或甚至并不知晓所提供的资源的确切位置,但可以在较高抽象程度上指位置置(例如国家、州或数据中心),因此具有位置无关性。
迅速弹性:能够迅速、有弹性地(有时是自动地)部署计算能力,以实现快速扩展,并且能迅速释放来快速缩小。在消费者看来,用于部署的可用计算能力往往显得是无限的,并能在任意时候都能获取任意数量的计算能力。
可测量的服务:云系统通过利用适于服务类型(例如存储、处理、带宽和活跃用户帐号)的某种抽象程度的计量能力,自动地控制和优化资源效用。可以监测、控制和报告资源使用情况,为服务提供者和消费者双方提供透明度。
服务模型如下:
软件即服务(saas):向消费者提供的能力是使用提供者在云基础架构上运行的应用。可以通过诸如网络浏览器的瘦客户机接口(例如基于网络的电子邮件)从各种客户机设备访问应用。除了有限的特定于用户的应用配置设置外,消费者既不管理也不控制包括网络、服务器、操作系统、存储、乃至单个应用能力等的底层云基础架构。
平台即服务(paas):向消费者提供的能力是在云基础架构上部署消费者创建或获得的应用,这些应用利用提供者支持的程序设计语言和工具创建。消费者既不管理也不控制包括网络、服务器、操作系统或存储的底层云基础架构,但对其部署的应用具有控制权,对应用托管环境配置可能也具有控制权。
基础架构即服务(iaas):向消费者提供的能力是消费者能够在其中部署并运行包括操作系统和应用的任意软件的处理、存储、网络和其他基础计算资源。消费者既不管理也不控制底层的云基础架构,但是对操作系统、存储和其部署的应用具有控制权,对选择的网络组件(例如主机防火墙)可能具有有限的控制权。
部署模型如下:
私有云:云基础架构单独为某个组织运行。云基础架构可以由该组织或第三方管理并且可以存在于该组织内部或外部。
共同体云:云基础架构被若干组织共享并支持有共同利害关系(例如任务使命、安全要求、政策和合规考虑)的特定共同体。共同体云可以由共同体内的多个组织或第三方管理并且可以存在于该共同体内部或外部。
公共云:云基础架构向公众或大型产业群提供并由出售云服务的组织拥有。hybrid
混合云:云基础架构由两个或更多部署模型的云(私有云、共同体云或公共云)组成,这些云依然是独特的实体,但是通过使数据和应用能够移植的规范化技术或私有技术(例如用于云之间的负载平衡的云突发流量分担技术)绑定在一起。
云计算环境是面向服务的,特点集中在无状态性、低耦合性、模块性和语意的互操作性。云计算的核心是包含互连节点网络的基础架构。
现在参考图6,示出了计算机系统/云计算节点的示例的示意图。云计算节点10仅是合适的云计算节点的一个示例,并且不旨在对本文描述的本发明的实施例的使用范围或功能提出任何限制。无论如何,云计算节点10能够被实现和/或执行上文阐述的任何功能。
在云计算节点10中,存在计算机系统12,其可与许多其他通用或专用计算系统环境或配置一起操作。适合与计算机系统12一起使用的公知的计算系统、环境和/或配置的示例包括但不限于个人计算机系统、服务器计算机系统、瘦客户端、胖客户端、手持式或膝上型设备、多处理器系统、基于微处理器的系统、机顶盒、可编程消费电子产品、网络pc、小型计算机系统、大型计算机系统、以及包括任何上述系统或设备的分布式云计算环境等。
计算机系统12可以在计算机系统可执行指令的一般上下文中描述,诸如由计算机系统执行的程序进程。通常,程序进程可以包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、逻辑、数据结构等。计算机系统12可以在分布式云计算环境中实践,其中任务由通过通信网络链接的远程处理设备执行。在分布式云计算环境中,程序进程可以位于包括存储器存储设备的本地和远程计算机系统存储介质中。
如图6所示,云计算节点10中的计算机系统12以通用计算设备的形式示出。计算机系统12的组件可以包括但不限于一个或多个处理器16、系统存储器28和将包括系统存储器28的各种系统组件耦合到处理器16的总线18。
总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(isa)总线,微通道体系结构(mac)总线,增强型isa总线、视频电子标准协会(vesa)局域总线以及外围组件互连(pci)总线。
计算机系统12典型地包括多种计算机系统可读介质。这些介质可以是能够被计算机系统12访问的任意可获得的介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
系统存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(ram)30和/或高速缓存存储器32。计算机系统12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(图1未显示,通常称为“硬盘驱动器”)。尽管图1中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如cd-rom,dvd-rom或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
作为示例而非限制,具有一组(至少一个)程序进程42的一个或多个程序40以及操作系统、一个或多个应用程序、其它程序进程和程序数据可被存储在存储器28中。操作系统、一个或多个应用程序、其他程序处理和程序数据或其某种组合中的每一个可以包括图1的文档数字化引擎120和/或语义规范化引擎160的实现。如在文档数字化引擎120和/或语义规范化引擎160中的程序处理42通常执行如这里描述的本发明的实施例的功能和/或方法。
计算机系统12还可以与一个或多个外部设备14通信,诸如键盘、定点设备、显示器24等;一个或多个设备,其使得用户能够与计算机系统12交互;和/或使计算机系统12能够与一个或多个其它计算设备通信的任何设备(例如,网卡、调制解调器等)。这种通信可以经由输入/输出(i/0)接口22发生。此外,计算机系统12可以经由网络适配器20与一个或多个网络通信,所述网络诸如局域网(lan)、通用广域网(wan)和/或公共网络(例如,因特网)。如所描述的,网络适配器20经由总线18与计算机系统12的其他组件通信。应当理解,尽管未示出,但是其他硬件和/或软件组件可以与计算机系统12结合使用。实例包括但不限于:微码、设备驱动程序、冗余处理器、外部磁盘驱动器阵列、raid系统、磁带驱动器和数据档案存储系统等。
现在参考图7,其中显示了示例性的云计算环境50。如图所示,云计算环境50包括云计算消费者使用的本地计算设备可以与其相通信的一个或者多个云计算节点10,本地计算设备例如可以是个人数字助理(pda)或移动电话54a,台式电脑54b、笔记本电脑54c和/或汽车计算机系统54n。云计算节点10之间可以相互通信。可以在包括但不限于如上所述的私有云、共同体云、公共云或混合云或者它们的组合的一个或者多个网络中将云计算节点10进行物理或虚拟分组(图中未显示)。这样,云的消费者无需在本地计算设备上维护资源就能请求云计算环境50提供的基础架构即服务(iaas)、平台即服务(paas)和/或软件即服务(saas)。应当理解,图7显示的各类计算设备54a-n仅仅是示意性的,云计算节点10以及云计算环境50可以与任意类型网络上和/或网络可寻址连接的任意类型的计算设备(例如使用网络浏览器)通信。
现在参考图8,示出了由云计算环境50(图7)提供的一组功能抽象层。应当预先理解,图8中所示的组件、层和功能仅旨在说明,并且本发明的实施例不限于此。如所描绘的,提供了以下层和相应的功能:
硬件和软件层60包括硬件和软件组件。硬件组件的例子包括:主机61;基于risc(精简指令集计算机)体系结构的服务器62;服务器63;刀片服务器64;存储设备65;网络和网络组件66。软件组件的例子包括:网络应用服务器软件67以及数据库软件68。
虚拟化层70提供一个抽象层,该层可以提供下列虚拟实体的例子:虚拟服务器71、虚拟存储72、虚拟网络73(包括虚拟私有网络)、虚拟应用和操作系统74,以及虚拟客户端75。
在一个示例中,管理层80可以提供下述功能:资源供应功能81:提供用于在云计算环境中执行任务的计算资源和其它资源的动态获取;计量和定价功能82:在云计算环境内对资源的使用进行成本跟踪,并为此提供帐单和发票。在一个例子中,该资源可以包括应用软件许可。安全功能:为云的消费者和任务提供身份认证,为数据和其它资源提供保护。用户门户功能83:为消费者和系统管理员提供对云计算环境的访问。服务水平管理功能84:提供云计算资源的分配和管理,以满足必需的服务水平。服务水平协议(sla)计划和履行功能85:为根据sla预测的对云计算资源未来需求提供预先安排和供应。
工作负载层90提供了可以利用云计算环境的功能的示例。可以从该层提供的工作负载和功能的示例包括:绘图和导航91;软件开发和生命周期管理92;虚拟教室教育传送93;数据分析处理94;交易处理95;以及如本文所述的由包括语义规范化引擎96的文档数字化引擎提供的用于文档数字化服务的处理组件。
在任何可能的技术细节结合层面,本发明可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本发明的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是——但不限于——电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、静态随机存取存储器(sram)、便携式压缩盘只读存储器(cd-rom)、数字多功能盘(dvd)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备。或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本发明操作的计算机程序指令可以是汇编指令、指令集架构(isa)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、集成电路配置数据或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言-诸如smalltalk、c 等,以及过程式编程语言-诸如“c”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络-包括局域网(lan)或广域网(wan)一连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(fpga)或可编程逻辑阵列(pla),该电子电路可以执行计算机可读程序指令,从而实现本发明的各个方面。
这里参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本发明的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
本文所用的术语仅是为了描述特定实施例的目的,而不是旨在进行限制。如本文所用,单数形式″一″、″一个″和″该″旨在也包括复数形式,除非上下文另有明确指示。还应理解,术语″包含″(以及任何形式的包含,例如″包含″和″含有″)、″具有″(以及任何形式的具有,例如″具有″和″具有″)、″包括″(以及任何形式的包括,例如″包括″和″包含″)和″含有″(以及任何形式的含有,例如″含有″和″含有″)是开放式的连接动词。因此,″包括″、″具有″、″包含″或″含有″一个或一个以上步骤或元件的方法或装置拥有那些一个或一个以上步骤或元件,但不限于仅拥有那些一个或一个以上步骤或元件。同样,″包括″、″具有″、″包含″或″含有″一个或多个特征的方法的步骤或装置的元件拥有那些一个或多个特征,但不限于仅拥有那些一个或多个特征。此外,以某种方式配置的设备或结构至少以该方式配置,但是也可以以未列出的方式配置。
如果存在,下面的权利要求中的所有装置或步骤加功能元件的对应结构、材料、动作和等同物旨在包括用于与具体要求保护的其它要求保护的元件组合执行功能的任何结构、材料或动作。本文所阐述的描述是出于说明和描述的目的而呈现的,而不是旨在是穷举的或限于所公开的形式。在不背离本公开的范围和精神的情况下,许多修改和变化对于本领域普通技术人员将是显而易见的。选择和描述实施例是为了最好地解释本文阐述的一个或多个方面的原理和实际应用,并且使本领域的其他普通技术人员能够理解如本文描述的用于具有适合于预期的特定用途的各种修改的各种实施例的一个或多个方面。
1.一种用于规范化文档图像中的键的计算机实现的方法,包括:
由计算机的一个或多个处理器,获得所述文档图像的文档元数据,其中所述文档元数据包括针对出现在所述文档图像中的每个对象的上下文、位置和样式;
基于候选键与所述键语义可互换,识别与所述文档图像中的对象相对应的候选键为键本体数据中的键;
将所述候选键规范化为规范化形式;
确定与所述规范化形式相对应的键类,其中,所述键类与所述键本体数据中的键相关联;
基于所述文档元数据,评估所述键类的置信度分数,其中,所述置信度分数指示由所述候选键表示所述键类的可能性;以及
基于根据预配置的验证方式验证所述键类,用所述键类更新语义数据库,使得所述键类可以与出现在其他文档图像中的语义上可互换的文本有效地相关联。
2.根据权利要求1所述的计算机实现的方法,还包括:
导出所述键类的零个或多个别名;
将所导出的别名与对应于来所述自语义数据库的所述键的键别名集合中的别名进行比较;
发现所述导出的别名不存在于所述键别名集合中并且对应于所述导出的别名中的每个的相应置信度分数大于预配置的阈值;以及
用所导出的别名更新语义数据库。
3.根据权利要求1所述的计算机实现的方法,其中,所述键本体数据中的所述键等于所述键类。
4.根据权利要求1所述的计算机实现的方法,所述评估包括:
将在所述文档元数据中指定的所述候选键的上下文与所述键类的上下文进行比较,其中,所述候选键的所述上下文指示在所述文档图像中与所述候选键一起出现的其他对象,并且其中,所述键类的所述上下文指示在过去的文档图像中与所述键类的键一起出现的其它典型对象;以及
与所述候选键的所述上下文和所述键类的所述上下文之间的相似性水平成比例地调整所述置信度分数。
5.根据权利要求1所述的计算机实现的方法,所述评估包括:
将在所述文档元数据中指定的所述候选键的位置与所述键类的位置进行比较,其中,所述候选键的所述位置指示所述候选键出现在所述文档图像的相对位置,并且其中,所述键类的所述位置指示所述键类的键的在过去文档图像出现的相对位置;以及
与所述候选键的所述位置和所述键类的所述位置之间的相似性水平成比例地调整所述置信度分数。
6.根据权利要求1所述的计算机实现的方法,所述评估包括:
将在所述文档元数据中指定的所述候选键的样式与所述键类的样式进行比较,其中,所述候选键的所述样式指示与出现在所述文档图像的其它对象的样式相关的所述候选键的字体类型和大小,并且其中,所述键类的所述样式指示与通常出现在过去文档图像的其它对象的样式相关的所述键类的键的字体类型和大小;以及
与所述候选键的所述样式和所述键类的所述样式之间的相似性水平成比例地调整所述置信度分数。
7.根据权利要求1所述的计算机实现的方法,其特征在于,所述规范化形式是扩展巴科斯-诺尔形式(ebnf)表示法,并且其中所述文档元数据以javascript对象表示法(json)格式来表达。
8.根据权利要求1所述的计算机实现的方法,其中,在所述键本体数据中指定的所述键是关系数据库中的数据字段的名称,其中,所述键与从所述文档图像提取的值相关联,并且所述键和所述值在所述关系数据库中形成键-值对以用于未来计算。
9.一种用于规范化文档图像中的键的计算机实现的方法,包括:
由计算机的一个或多个处理器,基于候选键与键语义可互换,识别与文档图像中的对象相对应的候选键为键本体数据中的键;
将所述候选键规范化为规范化形式;
从所述规范化形式导出所述候选键的一个或多个别名,其中所述一个或多个别名不与语义数据库中的所述键相关联;
基于所述文档图像的文档元数据,针对所述一个或多个别名中的每个评估相应的置信度分数,其中,所述置信度分数指示由所述候选键表示每个别名的可能性;以及
基于根据预先配置的验证方式验证所述一个或多个别名,利用所述一个或多个别名来更新所述语义数据库,使得基于所述文本与所述候选键语义地匹配,所述一个或多个别名可以与来自其他文档图像的文本有效地相关联。
10.一种计算机程序产品,包括:
一种计算机可读存储介质,其可由一个或多个处理器读取并且存储指令用于由所述一个或多个处理器执行以执行方法用于对文档图像中的键进行规范化,所述方法包括:
获得所述文档图像的文档元数据,其中,所述文档元数据包括针对出现在所述文档图像中的每个对象的上下文、位置和样式;
基于候选键与所述键语义可互换,识别与文档图像中的对象相对应的候选键为键本体数据中的键,;
将所述候选键规范化为规范化形式;
确定与所述规范化形式相对应的键类,其中,所述键类与所述键本体数据中的键相关联;
基于所述文档元数据,评估所述键类的置信度分数,其中,所述置信度分数指示由所述候选键表示所述键类的可能性;以及
基于根据预配置的验证方式验证所述键类,用所述键类更新语义数据库,使得所述键类可以与出现在其他文档图像中的语义上可互换的文本有效的相关联。
11.根据权利要求10所述的计算机程序产品,还包括:
导出所述键类的零个或多个别名;
将所导出的别名与对应于来自所述语义数据库的所述键对应的键别名集合中的别名进行比较;
发现所述导出的别名不存在于所述键别名集合中,并且对应于所述导出的别名中的每个的相应置信度分数大于预配置的阈值;以及
用所导出的别名更新语义数据库。
12.根据权利要求10所述的计算机程序产品,其中所述键本体数据中的所述键等于所述键类。
13.根据权利要求10所述的计算机程序产品,所述评估包括:
将在所述文档元数据中指定的所述候选键的上下文与所述键类的上下文进行比较,其中,所述候选键的所述上下文指示在所述文档图像中与所述候选键一起出现的其他对象,并且其中,所述键类的所述上下文指示在过去的文档图像中与所述键类的键一起出现的其他典型对象;以及
与所述候选键的所述上下文和所述键类的所述上下文之间的相似性水平成比例地调整所述置信度分数。
14.根据权利要求10所述的计算机程序产品,所述评估包括:
将在所述文档元数据中指定的所述候选键的位置与所述键类的位置进行比较,其中,所述候选键的所述位置指示所述候选键出现的所述文档图像的相对部分,并且其中,所述键类的所述位置指示所述键类的键通常出现在的过去文档图像的相对部分;以及
与所述候选键的所述位置和所述键类的所述位置之间的相似性水平成比例地调整所述置信度分数。
15.根据权利要求10所述的计算机程序产品,所述评估包括:
将所述文档元数据中指定的所述候选键的样式与所述键类的样式进行比较,其中,所述候选键的所述样式指示与出现在所述文档图像的其它对象的样式相关的所述候选键的字体类型和大小,并且其中,所述键类的所述样式指示与通常出现在过去文档图像的其它对象的样式相关的所述键类的键的字体类型和大小;以及
与所述候选键的所述样式与所述键类的所述样式之间的相似性水平成比例地调整所述置信度分数。
16.根据权利要求10所述的计算机程序产品,其中,所述规范化形式是扩展巴科斯-诺尔形式(ebnf)符号,并且其中,所述文档元数据以javascript对象符号(json)格式来表达。
17.根据权利要求10所述的计算机程序产品,其中,在所述键本体数据中指定的键是关系数据库中的数据字段的名称,其中,所述键与从所述文档图像提取的值相关联,并且所述键和所述值在所述关系数据库中形成键-值对以用于未来计算。
18.一种计算机程序产品,包括:
一种计算机可读存储介质,其可由一个或多个处理器读取并且存储用于由所述一个或多个处理器执行以执行用于对文档图像中的键进行规范化的方法的指令,所述方法包括:
基于候选键与键语义可互换,识别与文档图像中的对象相对应的候选键为键本体数据中的键,;
将所述候选键规范化为规范化形式;
从所述规范化形式导出所述候选键的一个或多个别名,其中所述一个或多个别名不与语义数据库中的所述键相关联;
基于所述文档图像的文档元数据,针对所述一个或多个别名中的每个评估相应的置信度分数,其中,所述置信度分数指示每个别名由所述候选键表示的可能性;以及
基于根据预先配置的验证方式验证所述一个或多个别名,利用所述一个或多个别名来更新所述语义数据库,使得基于所述文本与所述候选键语义地匹配,所述一个或多个别名可以与来自其他文档图像的文本有效地相关联。
19.一种系统,包括:
存储器;
与存储器通信的一个或多个处理器;以及
程序指令,可由所述一个或多个处理器经由所述存储器执行,以执行如权利要求1至9中任一项所述的用于对文档图像中的键进行规范化的方法。
技术总结