CN113850268B - 基于人工智能的文本识别排序方法、装置、设备及介质 - Google Patents
基于人工智能的文本识别排序方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN113850268B CN113850268B CN202111151637.7A CN202111151637A CN113850268B CN 113850268 B CN113850268 B CN 113850268B CN 202111151637 A CN202111151637 A CN 202111151637A CN 113850268 B CN113850268 B CN 113850268B
- Authority
- CN
- China
- Prior art keywords
- text
- cutting frame
- frame
- text cutting
- identified
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 50
- 238000013473 artificial intelligence Methods 0.000 title claims abstract description 41
- 238000012163 sequencing technique Methods 0.000 claims description 157
- 230000001174 ascending effect Effects 0.000 claims description 46
- 238000012015 optical character recognition Methods 0.000 claims description 19
- 238000004590 computer program Methods 0.000 claims description 14
- 230000003287 optical effect Effects 0.000 claims description 9
- 238000009877 rendering Methods 0.000 claims description 6
- 238000006243 chemical reaction Methods 0.000 claims description 4
- 238000005516 engineering process Methods 0.000 abstract description 11
- 238000012545 processing Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 238000000605 extraction Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000001788 irregular Effects 0.000 description 3
- 239000008280 blood Substances 0.000 description 2
- 210000004369 blood Anatomy 0.000 description 2
- 238000012937 correction Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 235000019800 disodium phosphate Nutrition 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Landscapes
- Character Discrimination (AREA)
- Character Input (AREA)
Abstract
本发明涉及人工智能技术,提供了基于人工智能的文本识别排序方法、装置、计算机设备及存储介质,对待识别文本数据中所识别得到的文本切割边框集合依序进行边框的纵向排序和横向排序以得到文本切割边框横向排序结果并最终渲染至空白画布上得到文本识别结果,采用坐标空间排序之后得到的文本识别结果更准确。
Description
技术领域
本发明涉及人工智能的图像识别技术领域,尤其涉及一种基于人工智能的文本识别排序方法、装置、计算机设备及存储介质。
背景技术
OCR(Optical Character Recognition,表示光学字符识别)是指电子设备(例如扫描仪或数码相机)检查纸上打印的字符,然后用字符识别方法将形状翻译成计算机文字的过程;即对文本资料进行扫描,然后对图像文件进行分析处理,获取文字及版面信息的过程。
OCR文字识别结果提取现阶段都是切割成一个个文字块,每一块对应4个坐标,识别效果好的时候会是长方形,大多情况下是无规则的四边形,展示识别结果是通过一块空白的画布按照这些文字块的坐标画成一个个文字输入区域块,然后把对应文字块的文字输入到文字输入区域中去,如果切割的文字块是无规则的,在还原成文字输入区域块的时候,经常发生重叠、错位的情景,展示的文字效果出现重影等效果,给前端在解读OCR识别结果的时候造成阅读障碍,降低了最终结果识别准确率。
发明内容
本发明实施例提供了一种基于人工智能的文本识别排序方法、装置、计算机设备及存储介质,旨在解决现有技术中OCR文字识别结果提取现阶段都是切割成一个个文字块,如果切割的文字块是无规则的,在还原成文字输入区域块的时候,经常发生重叠、错位的情景,降低了最终结果识别准确率的问题。
第一方面,本发明实施例提供了一种基于人工智能的文本识别排序方法,其包括:
响应于文本识别指令,获取与所述文本识别指令相应的待识别文本数据,及获取与所述待识别文本数据相应的文本切割边框集合;其中,所述文本切割边框集合中包括多个文本切割边框,每一文本切割边框均包括文本坐标属性和文本内容;
将所述文本切割边框集合根据纵向坐标的升序顺序进行排序,得到文本切割边框纵向排序结果;其中,所述文本切割边框纵向排序结果中每一文本切割边框对应一个边框行号;
将所述文本切割边框纵向排序结果根据横向坐标的升序顺序进行排序,得到文本切割边框横向排序结果;其中,所述文本切割边框横向排序结果中每一文本切割边框对应一个边框列号;以及
将所述文本切割边框横向排序结果中每一文本切割边框的文本内容按照对应的边框行号和边框列号渲染至预先建立的空白画布上,得到与所述待识别文本数据对应的文本识别结果。
第二方面,本发明实施例提供了一种基于人工智能的文本识别排序装置,其包括:
边框集合获取单元,用于响应于文本识别指令,获取与所述文本识别指令相应的待识别文本数据,及获取与所述待识别文本数据相应的文本切割边框集合;其中,所述文本切割边框集合中包括多个文本切割边框,每一文本切割边框均包括文本坐标属性和文本内容;
纵向排序单元,用于将所述文本切割边框集合根据纵向坐标的升序顺序进行排序,得到文本切割边框纵向排序结果;其中,所述文本切割边框纵向排序结果中每一文本切割边框对应一个边框行号;
横向排序单元,用于将所述文本切割边框纵向排序结果根据横向坐标的升序顺序进行排序,得到文本切割边框横向排序结果;其中,所述文本切割边框横向排序结果中每一文本切割边框对应一个边框列号;以及
文本识别结果获取单元,用于将所述文本切割边框横向排序结果中每一文本切割边框的文本内容按照对应的边框行号和边框列号渲染至预先建立的空白画布上,得到与所述待识别文本数据对应的文本识别结果。
第三方面,本发明实施例又提供了一种计算机设备,其包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述第一方面所述的基于人工智能的文本识别排序方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,其中所述计算机可读存储介质存储有计算机程序,所述计算机程序当被处理器执行时使所述处理器执行上述第一方面所述的基于人工智能的文本识别排序方法。
本发明实施例提供了一种基于人工智能的文本识别排序方法、装置、计算机设备及存储介质,对待识别文本数据中所识别得到的文本切割边框集合依序进行边框的纵向排序和横向排序以得到文本切割边框横向排序结果并最终渲染至空白画布上得到文本识别结果,采用坐标空间排序之后得到的文本识别结果更准确。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的基于人工智能的文本识别排序方法的应用场景示意图;
图2为本发明实施例提供的基于人工智能的文本识别排序方法的流程示意图;
图3为本发明实施例提供的基于人工智能的文本识别排序装置的示意性框图;
图4为本发明实施例提供的计算机设备的示意性框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
请参阅图1和图2,图1为本发明实施例提供的基于人工智能的文本识别排序方法的应用场景示意图;图2为本发明实施例提供的基于人工智能的文本识别排序方法的流程示意图,该基于人工智能的文本识别排序方法应用于服务器中,该方法通过安装于服务器中的应用软件进行执行。
如图2所示,该方法包括步骤S101~S107。
S101、响应于文本识别指令,获取与所述文本识别指令相应的待识别文本数据,及获取与所述待识别文本数据相应的文本切割边框集合;其中,所述文本切割边框集合中包括多个文本切割边框,每一文本切割边框均包括文本坐标属性和文本内容。
在本实施例中,是以服务器为执行主体来描述技术方案。当用户操作用户端上传了待识别文本数据(可以是图片格式、也可以是PDF格式等格式),当服务器接收到了待识别文本数据后,无论是什么初始格式均是直接转换为图片形式以进行下一步的文本提取处理。由于待识别文本数据可能是单页文件,也有可能是多页文件,但无论是单页文件还是多页文件,其最终都要切割为单页文件进行文本识别,故本申请中以待识别文本数据为单页文件为例来说明技术方案,若实际中待识别文本数据为多页文件,也只是将其每一页文件参照本申请单页识别的技术方案来实现即可,只是在单页识别之前多了一步页码识别的过程。通过这一初始处理方式,可以对待识别文本数据进行较为精准的文本提取。
在一实施例中,若所述待识别文本数据为单页文件时,步骤S101包括:
根据文件后缀名获取所述待识别文本数据的文件格式;
若确定所述待识别文本数据的文件格式是图片格式,将所述待识别文本数据转化为JPG格式的待识别文本图片;
若确定所述待识别文本数据的文件格式是非图片格式,将所述待识别文本数据转化为JPG格式的待识别文本图片;
通过光学字符识别模型对所述待识别文本图片进行文本识别切割,得到文本切割边框集合。
在本实施例中,当服务器先将任意文件格式的待识别文本数据转化为待识别文本图片后,通过光学字符识别模型(即OCR模型)可以将待识别文本图片切割为多个文本切割边框,每个文本切割边框均包括该文本切割边框对应的四个顶点坐标以及识别出来的文本内容。这样只需要再进行后续的文本切割边框的定位校正,即可得到识别结果准确的文本识别结果。
在一实施例中,若所述待识别文本数据为多页文件时,步骤S101包括:
若确定所述待识别文本数据的文件格式是图片格式,将所述待识别文本数据转化为JPG格式的待识别文本图片集;
获取所述待识别文本图片集中每一待识别文本图片的页码,并按照页面的升序顺序排序得到页码排序结果;
获取所述页码排序结果第i位页码对应的第i位页码待识别文本图片,通过光学字符识别模型对所述第i位页码待识别文本图片进行文本识别切割,得到第i位页码文本切割边框集合;其中,i的初始取值为1,且i的取值范围是[1,N],N表示所述待识别文本图片集的总页数;
将i自增1以更新i的取值;
判断i是否超出N;若确定i未超出N,返回执行获取所述页码排序结果第i位页码对应的第i位页码待识别文本图片,通过光学字符识别模型对所述第i位页码待识别文本图片进行文本识别切割,得到第i位页码文本切割边框集合的步骤;
若确定i超出N,获取待识别文本图片集的文本切割边框集合。
在本实施例中,当待识别文本数据时多页文件时,是先将每一页均转换为JPG格式的待识别文本图片从而组成待识别文本图片集。由于每一张待识别文本图片中的页码一般位于图片中的最下方的一行中,故可以直接获取待识别文本图片中最下方的区域识别得到页码,当得到了每一张待识别文本图片中的页码后,可以并按照页面的升序顺序排序得到页码排序结果。之后再按照页码顺序依次识别每一张待识别文本图片通过光学字符识别模型(即OCR模型)可以将待识别文本图片切割为多个文本切割边框,从而得到待识别文本图片集的文本切割边框集合。其中,每个文本切割边框均包括该文本切割边框对应的四个顶点坐标、页码、以及识别出来的文本内容。
S102、将所述文本切割边框集合根据纵向坐标的升序顺序进行排序,得到文本切割边框纵向排序结果;其中,所述文本切割边框纵向排序结果中每一文本切割边框对应一个边框行号。
在本实施例中,若以待识别文本数据是单页文件为例,由于每一文本切割边框包括该文本切割边框对应的四个顶点坐标以及识别出来的文本内容,故可以基于文本切割边框对应的四个顶点坐标对所述文本切割边框集合中所有的文本切割边框进行排序。此时是先将文本切割边框集合根据纵向坐标的升序顺序进行排序。
例如,已知两个文本切割边框的文本坐标属性和文本内容如下:[{"coords":"795,1848|796,1805|1958,1829|1957,1873","text":"30)88肯常血资竟0-00论0N"},{"coords":"893,1748|893,1707|1963,1723|1962,1764","text":"暗格(θ0.()白血"}],表示第一个文本切割边框的四个顶点坐标分别是(795,1848)、(796,1805)(1958,1829)和(1957,1873),第一个文本切割边框的文本内容是"30)88肯常血资竟0-00论0N";第二个文本切割边框的四个顶点坐标分别是(893,1748)、(893,1707)、(1963,1723)和(1962,1964),第二个文本切割边框的文本内容是"暗格(θ0.()白血"。
由于上述两个文本切割边框均是各自对应一块区域,此时根据纵向坐标的升序顺序进行排序时,需要整体比较两个文本切割边框的方形区域,也就判断哪一个文本切割边框在另一个文本切割框的上方。
需要说明的是,以待识别文本图片的左上角顶点作为原点,以待识别文本图片最上方的水平边为X轴(其中以从原点朝向待识别文本图片的右上角顶点的方向作为X轴的正方向),以与待识别文本图片的X轴垂直且经过原点的竖直边为Y轴(其中以从原点朝向待识别文本图片的左下角顶点的方向作为Y轴的正方向)。第一个文本切割边框的最小Y坐标是1805且最大Y坐标是1873,第二个文本切割边框的最小Y坐标是1707且最大Y坐标是1764。由于第一个文本切割边框的最小Y坐标大于第二个文本切割边框的最大Y坐标,故第二个文本切割边框在第一个文本切割边框的上方。按照同样的方法进行递归排列就可以对所有的文本切割边框进行纵向排列,这样就可以把所有文本切割边框在纵向排好序,从而可以获知每一文本切割边框所属行号。
在一实施例中,步骤S102包括:
将所述文本切割边框集合中各文本切割边框进行初始编号;其中,所述文本切割边框集合中文本切割边框的总个数为M;
获取所述文本切割边框集合中第j+1号文本切割边框,以及获取第1号文本切割边框至第j号文本切割边框;其中j的初始取值为1,且j的取值范围是[1,M-1];
对所述第1号文本切割边框至所述第j+1号文本切割边框根据边框Y坐标范围进行升序排序,得到第j轮文本切割边框排序结果;
将j自增1以更新j的取值;若确定j未超出M-1,返回执行所述获取所述文本切割边框集合中第j+1号文本切割边框,以及获取第1号文本切割边框至第j号文本切割边框的步骤;
若确定j超出M-1,获取第M-1轮文本切割边框排序结果作为文本切割边框纵向排序结果。
在本实施例中,可以采用插入排序法对所述文本切割边框集合中各文本切割边框进行Y轴方向上的排序。例如,在第一轮排序中,先获取第2号文本切割边框与第1号文本切割边框,然后比较第2号文本切割边框的第2号Y轴取值范围与第1号文本切割边框的第1号Y轴取值范围。
更具体是若确定第1号Y轴取值范围中最小Y坐标大于或等于所述第2号Y轴取值范围号最大Y坐标,将第1号文本切割边框的纵向排序号设置为第2号,将第2号文本切割边框的纵向排序号设置为第1号。
若确定所述第1号Y轴取值范围中最大Y坐标小于第2号Y轴取值范围中最小Y坐标,将第1号文本切割边框的纵向排序号设置为第1号,将第2号文本切割边框的纵向排序号设置为第2号。
若确定所述第1号Y轴取值范围中最大Y坐标小于第2号Y轴取值范围中最大Y坐标、且第1号Y轴取值范围中最小Y坐标大于第2号Y轴取值范围中最小Y坐标,或第1号Y轴取值范围中最大Y坐标大于或等于第2号Y轴取值范围中最大Y坐标、且第1号Y轴取值范围中最小Y坐标小于或等于第2号Y轴取值范围中最小Y坐标,将第1号文本切割边框的纵向排序号设置为第1号,将第2号文本切割边框的纵向排序号设置为第1号,表示第1号文本切割边框与第2号文本切割边框位于同一行(故两者的纵向排序号相同)。
当完成了第一轮排序后,得到了第1轮文本切割边框排序结果。之后再选择第3号文本切割边框,并获取第1号文本切割边框至第2号文本切割边框,将第3号文本切割边框的Y轴取值范围分别与第1号文本切割边框的Y轴取值范围以及第2号文本切割边框的Y轴取值范围进行比较,以确定上述3个文本切割边框的纵向排序号。依次类推,当完成了第M-1轮排序后,即可获得每一文本切割边框的纵向排序号,从而得到文本切割边框纵向排序结果。
在一实施例中,以j取值超出1且未超出M-1的任意一种取值为例,所述对所述第1号文本切割边框至所述第j+1号文本切割边框根据边框Y坐标范围进行升序排序,得到第j轮文本切割边框排序结果,包括:
获取第j-1轮文本切割边框排序结果;
将第j+1号文本切割边框的边框Y坐标范围与第j-1轮文本切割边框排序结果中每一文本切割边框的边框Y坐标范围进行比较,确定第1号文本切割边框至第j+1号文本切割边框的第j轮实际排序号,得到第j轮文本切割边框排序结果。
在本实施例中,若确定了第1号文本切割边框的纵向排序号为1,确定了第2号文本切割边框的纵向排序号为2,以j值取值为2来继续举例说明。
由于第j-1轮文本切割边框排序结果也即第1轮文本切割边框排序结果是第1号文本切割边框的纵向排序号为1,第2号文本切割边框的纵向排序号为2(也即表示第2号文本切割边框位于第1号文本切割边框的下方),此时第2轮文本切割边框排序结果就是要确定第3号文本切割边框的纵向排序号。
若确定第3号文本切割边框位于第2号文本切割边框的下方,则第3号文本切割边框的纵向排序号为3,且第1号文本切割边框的纵向排序号为1,第2号文本切割边框的纵向排序号为2。
若确定第3号文本切割边框位于第1号文本切割边框的上方,则第3号文本切割边框的纵向排序号为1,且第1号文本切割边框的纵向排序号为2,第2号文本切割边框的纵向排序号为3。
若确定第3号文本切割边框对应的区域被第1号文本切割边框对应的区域所包含,或确定第1号文本切割边框对应的区域被第3号文本切割边框对应的区域所包含,则第3号文本切割边框的纵向排序号为1,且第1号文本切割边框的纵向排序号为1,第2号文本切割边框的纵向排序号为2。
若确定第3号文本切割边框对应的区域被第2号文本切割边框对应的区域所包含,或确定第2号文本切割边框对应的区域被第3号文本切割边框对应的区域所包含,则第3号文本切割边框的纵向排序号为2,且第1号文本切割边框的纵向排序号为1,第2号文本切割边框的纵向排序号为2。
上述过程描述了第2轮文本切割边框排序结果的排序过程。依次类推,当完成了第M-1轮排序后,即可获得每一文本切割边框的纵向排序号,从而得到文本切割边框纵向排序结果。通过将所有文本切割边框在纵向排好序,从而可以准确获知每一文本切割边框所属行号。
S103、将所述文本切割边框纵向排序结果根据横向坐标的升序顺序进行排序,得到文本切割边框横向排序结果;其中,所述文本切割边框横向排序结果中每一文本切割边框对应一个边框列号。
在本实施例中,在完成了对所述文本切割边框集合根据纵向坐标的升序顺序进行排序,得到文本切割边框纵向排序结果之后,得到了每一文本切割边框分别对应的边框行号。此时再对每一边框行号相应的文本切割边框集合根据横向坐标的升序顺序进行排序,得到每一边框行号相应的文本切割边框横向排序子结果,从而最终组成文本切割边框横向排序结果。通过这一方式,可以快速且准确的获取每一文本切割边框对应一个边框列号,再结合之前已获知的每一文本切割边框对应一个边框行号,可得到每一文本切割边框的准确定位位置。
在一实施例中,步骤S103包括:
将所述文本切割边框纵向排序结果中每一边框行号对应的文本切割边框按照边框横向中心点的横坐标升序顺序进行排序,得到文本切割边框横向排序结果。
在本实施例中,对每一行的文本切割边框进行X轴方向的排序时,是以每一行每一个文本切割边框的边框横向中心点的横坐标升序顺序进行排序,当完成了对所述文本切割边框纵向排序结果中每一行文本切割边框的排序后,即可得到文本切割边框横向排序结果。通过将所有文本切割边框在横向排好序,从而可以准确获知每一文本切割边框所属列号。
在一实施例中,所述将所述文本切割边框纵向排序结果中每一边框行号对应的文本切割边框按照边框中心点的横坐标升序顺序进行排序,得到文本切割边框横向排序结果,包括:
获取所述文本切割边框纵向排序结果中第k行文本切割边框纵向排序子结果;其中,k的初始初值是1,且k的取值范围是[1,P],P表示所述文本切割边框纵向排序结果中的总列数;
将所述第k行文本切割边框纵向排序子结果中的文本切割边框按照边框横向中心点的横坐标升序顺序进行排序,得到第k行文本切割边框横向排序子结果;
将k自增1以更新k的取值;
若确定k未超出P,返回执行获取所述文本切割边框纵向排序结果中第k行文本切割边框纵向排序子结果的步骤;
若确定k超出P,获取第1行文本切割边框纵向排序子结果至第P行文本切割边框纵向排序子结果,组成文本切割边框横向排序结果。
在本实施例中,对每一行的文本切割边框(也即第k行文本切割边框纵向排序子结果)进行X轴方向的排序时,是先基于每一文本切割边框的四个顶点的横坐标计算对应的边框横向中心点的横坐标,例如一个文本切割边框的四个顶点坐标分别是(795,1848)、(796,1805)(1958,1829)和(1957,1873),则该文本切割边框的边框横向中心点的横坐标是上述4个横坐标求平均值即为(795+796+1958+1957)/4=1376.5,以此类推其他文本切割边框的边框横向中心点的横坐标也是按照上述方式计算。然后对每一行的每一文本切割边框基于边框横向中心点的横坐标升序顺序进行排序,得到对应行的第k行文本切割边框横向排序子结果。当完成了每一行的排序后,从而得到了最终的文本切割边框横向排序结果。此时在文本切割边框横向排序结果中每一个文本切割边框的行号和列号都是已知的,故每一文本切割边框的精准位置当前是已知值。
S104、将所述文本切割边框横向排序结果中每一文本切割边框的文本内容按照对应的边框行号和边框列号渲染至预先建立的空白画布上,得到与所述待识别文本数据对应的文本识别结果。
在本实施例中,当已知了每一个文本切割边框的行号和列号后,可以将每一文本切割边框的文本内容按照对应的边框行号和边框列号渲染至预先建立的空白画布上,得到与所述待识别文本数据对应的文本识别结果。
本申请中对文本切割边框排序的关键就是文本切割边框所占的区域在纵轴上是否有重合,如果有重合就属于同一行。不再是判断大小,如果小就是在上方,如果大就是下方。文本切割边框按纵轴排序完再后对横轴进行排序,如果文本切割边框的平均位置小就是前方,如果文本切割边框的平均位置大就在后面,所有比较完成就可以得到一个完整的有纵横标识的文本切割边框横向排序结果,最后根据纵横标识按顺序输出文字即可,避免了重影现象。
本申请实施例可以基于人工智能技术对相关的数据进行获取和处理。其中,人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。
人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、机器人技术、生物识别技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
该方法实现了对待识别文本数据中所识别得到的文本切割边框集合依序进行边框的纵向排序和横向排序以得到文本切割边框横向排序结果并最终渲染至空白画布上得到文本识别结果,采用坐标空间排序之后得到的文本识别结果更准确,而且提高了光学字符识别效率。
本发明实施例还提供一种基于人工智能的文本识别排序装置,该基于人工智能的文本识别排序装置用于执行前述基于人工智能的文本识别排序方法的任一实施例。具体地,请参阅图3,图3是本发明实施例提供的基于人工智能的文本识别排序装置的示意性框图。该基于人工智能的文本识别排序装置100可以配置于服务器中。服务器可以是独立的服务器,也可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(Content Delivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。
如图3所示,基于人工智能的文本识别排序装置100包括:边框集合获取单元101、纵向排序单元102、横向排序单元103、文本识别结果获取单元104。
边框集合获取单元101,用于响应于文本识别指令,获取与所述文本识别指令相应的待识别文本数据,及获取与所述待识别文本数据相应的文本切割边框集合;其中,所述文本切割边框集合中包括多个文本切割边框,每一文本切割边框均包括文本坐标属性和文本内容。
在本实施例中,是以服务器为执行主体来描述技术方案。当用户操作用户端上传了待识别文本数据(可以是图片格式、也可以是PDF格式等格式),当服务器接收到了待识别文本数据后,无论是什么初始格式均是直接转换为图片形式以进行下一步的文本提取处理。由于待识别文本数据可能是单页文件,也有可能是多页文件,但无论是单页文件还是多页文件,其最终都要切割为单页文件进行文本识别,故本申请中以待识别文本数据为单页文件为例来说明技术方案,若实际中待识别文本数据为多页文件,也只是将其每一页文件参照本申请单页识别的技术方案来实现即可,只是在单页识别之前多了一步页码识别的过程。通过这一初始处理方式,可以对待识别文本数据进行较为精准的文本提取。
在一实施例中,若所述待识别文本数据为单页文件时,边框集合获取单元101包括:
文件格式获取单元,用于根据文件后缀名获取所述待识别文本数据的文件格式;
第一转换单元,用于若确定所述待识别文本数据的文件格式是图片格式,将所述待识别文本数据转化为JPG格式的待识别文本图片;
第二转换单元,用于若确定所述待识别文本数据的文件格式是非图片格式,将所述待识别文本数据转化为JPG格式的待识别文本图片;
第一识别切割单元,用于通过光学字符识别模型对所述待识别文本图片进行文本识别切割,得到文本切割边框集合。
在本实施例中,当服务器先将任意文件格式的待识别文本数据转化为待识别文本图片后,通过光学字符识别模型(即OCR模型)可以将待识别文本图片切割为多个文本切割边框,每个文本切割边框均包括该文本切割边框对应的四个顶点坐标以及识别出来的文本内容。这样只需要再进行后续的文本切割边框的定位校正,即可得到识别结果准确的文本识别结果。
在一实施例中,若所述待识别文本数据为多页文件时,边框集合获取单元101包括:
第三转换单元,用于若确定所述待识别文本数据的文件格式是图片格式,将所述待识别文本数据转化为JPG格式的待识别文本图片集;
页码排序单元,用于获取所述待识别文本图片集中每一待识别文本图片的页码,并按照页面的升序顺序排序得到页码排序结果;
当前页识别单元,用于获取所述页码排序结果第i位页码对应的第i位页码待识别文本图片,通过光学字符识别模型对所述第i位页码待识别文本图片进行文本识别切割,得到第i位页码文本切割边框集合;其中,i的初始取值为1,且i的取值范围是[1,N],N表示所述待识别文本图片集的总页数;
第一自增单元,用于将i自增1以更新i的取值;
判断单元,用于判断i是否超出N;若确定i未超出N,返回执行获取所述页码排序结果第i位页码对应的第i位页码待识别文本图片,通过光学字符识别模型对所述第i位页码待识别文本图片进行文本识别切割,得到第i位页码文本切割边框集合的步骤;
第一获取单元,用于若确定i超出N,获取待识别文本图片集的文本切割边框集合。
在本实施例中,当待识别文本数据时多页文件时,是先将每一页均转换为JPG格式的待识别文本图片从而组成待识别文本图片集。由于每一张待识别文本图片中的页码一般位于图片中的最下方的一行中,故可以直接获取待识别文本图片中最下方的区域识别得到页码,当得到了每一张待识别文本图片中的页码后,可以并按照页面的升序顺序排序得到页码排序结果。之后再按照页码顺序依次识别每一张待识别文本图片通过光学字符识别模型(即OCR模型)可以将待识别文本图片切割为多个文本切割边框,从而得到待识别文本图片集的文本切割边框集合。其中,每个文本切割边框均包括该文本切割边框对应的四个顶点坐标、页码、以及识别出来的文本内容。
纵向排序单元102,用于将所述文本切割边框集合根据纵向坐标的升序顺序进行排序,得到文本切割边框纵向排序结果;其中,所述文本切割边框纵向排序结果中每一文本切割边框对应一个边框行号。
在本实施例中,若以待识别文本数据是单页文件为例,由于每一文本切割边框包括该文本切割边框对应的四个顶点坐标以及识别出来的文本内容,故可以基于文本切割边框对应的四个顶点坐标对所述文本切割边框集合中所有的文本切割边框进行排序。此时是先将文本切割边框集合根据纵向坐标的升序顺序进行排序。
例如,已知两个文本切割边框的文本坐标属性和文本内容如下:[{"coords":"795,1848|796,1805|1958,1829|1957,1873","text":"30)88肯常血资竟0-00论0N"},{"coords":"893,1748|893,1707|1963,1723|1962,1764","text":"暗格(θ0.()白血"}],表示第一个文本切割边框的四个顶点坐标分别是(795,1848)、(796,1805)(1958,1829)和(1957,1873),第一个文本切割边框的文本内容是"30)88肯常血资竟0-00论0N";第二个文本切割边框的四个顶点坐标分别是(893,1748)、(893,1707)、(1963,1723)和(1962,1964),第二个文本切割边框的文本内容是"暗格(θ0.()白血"。
由于上述两个文本切割边框均是各自对应一块区域,此时根据纵向坐标的升序顺序进行排序时,需要整体比较两个文本切割边框的方形区域,也就判断哪一个文本切割边框在另一个文本切割框的上方。
需要说明的是,以待识别文本图片的左上角顶点作为原点,以待识别文本图片最上方的水平边为X轴(其中以从原点朝向待识别文本图片的右上角顶点的方向作为X轴的正方向),以与待识别文本图片的X轴垂直且经过原点的竖直边为Y轴(其中以从原点朝向待识别文本图片的左下角顶点的方向作为Y轴的正方向)。第一个文本切割边框的最小Y坐标是1805且最大Y坐标是1873,第二个文本切割边框的最小Y坐标是1707且最大Y坐标是1764。由于第一个文本切割边框的最小Y坐标大于第二个文本切割边框的最大Y坐标,故第二个文本切割边框在第一个文本切割边框的上方。按照同样的方法进行递归排列就可以对所有的文本切割边框进行纵向排列,这样就可以把所有文本切割边框在纵向排好序,从而可以获知每一文本切割边框所属行号。
在一实施例中,纵向排序单元102包括:
初始编号单元,用于将所述文本切割边框集合中各文本切割边框进行初始编号;其中,所述文本切割边框集合中文本切割边框的总个数为M;
第二识别切割单元,用于获取所述文本切割边框集合中第j+1号文本切割边框,以及获取第1号文本切割边框至第j号文本切割边框;其中j的初始取值为1,且j的取值范围是[1,M-1];
Y坐标排序单元,用于对所述第1号文本切割边框至所述第j+1号文本切割边框根据边框Y坐标范围进行升序排序,得到第j轮文本切割边框排序结果;
第二自增单元,用于将j自增1以更新j的取值;若确定j未超出M-1,返回执行所述获取所述文本切割边框集合中第j+1号文本切割边框,以及获取第1号文本切割边框至第j号文本切割边框的步骤;
第二获取单元,用于若确定j超出M-1,获取第M-1轮文本切割边框排序结果作为文本切割边框纵向排序结果。
在本实施例中,可以采用插入排序法对所述文本切割边框集合中各文本切割边框进行Y轴方向上的排序。例如,在第一轮排序中,先获取第2号文本切割边框与第1号文本切割边框,然后比较第2号文本切割边框的第2号Y轴取值范围与第1号文本切割边框的第1号Y轴取值范围。
更具体是若确定第1号Y轴取值范围中最小Y坐标大于或等于所述第2号Y轴取值范围号最大Y坐标,将第1号文本切割边框的纵向排序号设置为第2号,将第2号文本切割边框的纵向排序号设置为第1号。
若确定所述第1号Y轴取值范围中最大Y坐标小于第2号Y轴取值范围中最小Y坐标,将第1号文本切割边框的纵向排序号设置为第1号,将第2号文本切割边框的纵向排序号设置为第2号。
若确定所述第1号Y轴取值范围中最大Y坐标小于第2号Y轴取值范围中最大Y坐标、且第1号Y轴取值范围中最小Y坐标大于第2号Y轴取值范围中最小Y坐标,或第1号Y轴取值范围中最大Y坐标大于或等于第2号Y轴取值范围中最大Y坐标、且第1号Y轴取值范围中最小Y坐标小于或等于第2号Y轴取值范围中最小Y坐标,将第1号文本切割边框的纵向排序号设置为第1号,将第2号文本切割边框的纵向排序号设置为第1号,表示第1号文本切割边框与第2号文本切割边框位于同一行(故两者的纵向排序号相同)。
当完成了第一轮排序后,得到了第1轮文本切割边框排序结果。之后再选择第3号文本切割边框,并获取第1号文本切割边框至第2号文本切割边框,将第3号文本切割边框的Y轴取值范围分别与第1号文本切割边框的Y轴取值范围以及第2号文本切割边框的Y轴取值范围进行比较,以确定上述3个文本切割边框的纵向排序号。依次类推,当完成了第M-1轮排序后,即可获得每一文本切割边框的纵向排序号,从而得到文本切割边框纵向排序结果。
在一实施例中,以j取值超出1且未超出M-1的任意一种取值为例,所述Y坐标排序单元,包括:
上一轮排序结果获取单元,用于获取第j-1轮文本切割边框排序结果;
当前轮排序单元,用于将第j+1号文本切割边框的边框Y坐标范围与第j-1轮文本切割边框排序结果中每一文本切割边框的边框Y坐标范围进行比较,确定第1号文本切割边框至第j+1号文本切割边框的第j轮实际排序号,得到第j轮文本切割边框排序结果。
在本实施例中,若确定了第1号文本切割边框的纵向排序号为1,确定了第2号文本切割边框的纵向排序号为2,以j值取值为2来继续举例说明。
由于第j-1轮文本切割边框排序结果也即第1轮文本切割边框排序结果是第1号文本切割边框的纵向排序号为1,第2号文本切割边框的纵向排序号为2(也即表示第2号文本切割边框位于第1号文本切割边框的下方),此时第2轮文本切割边框排序结果就是要确定第3号文本切割边框的纵向排序号。
若确定第3号文本切割边框位于第2号文本切割边框的下方,则第3号文本切割边框的纵向排序号为3,且第1号文本切割边框的纵向排序号为1,第2号文本切割边框的纵向排序号为2。
若确定第3号文本切割边框位于第1号文本切割边框的上方,则第3号文本切割边框的纵向排序号为1,且第1号文本切割边框的纵向排序号为2,第2号文本切割边框的纵向排序号为3。
若确定第3号文本切割边框对应的区域被第1号文本切割边框对应的区域所包含,或确定第1号文本切割边框对应的区域被第3号文本切割边框对应的区域所包含,则第3号文本切割边框的纵向排序号为1,且第1号文本切割边框的纵向排序号为1,第2号文本切割边框的纵向排序号为2。
若确定第3号文本切割边框对应的区域被第2号文本切割边框对应的区域所包含,或确定第2号文本切割边框对应的区域被第3号文本切割边框对应的区域所包含,则第3号文本切割边框的纵向排序号为2,且第1号文本切割边框的纵向排序号为1,第2号文本切割边框的纵向排序号为2。
上述过程描述了第2轮文本切割边框排序结果的排序过程。依次类推,当完成了第M-1轮排序后,即可获得每一文本切割边框的纵向排序号,从而得到文本切割边框纵向排序结果。通过将所有文本切割边框在纵向排好序,从而可以准确获知每一文本切割边框所属行号。
横向排序单元103,用于将所述文本切割边框纵向排序结果根据横向坐标的升序顺序进行排序,得到文本切割边框横向排序结果;其中,所述文本切割边框横向排序结果中每一文本切割边框对应一个边框列号。
在本实施例中,在完成了对所述文本切割边框集合根据纵向坐标的升序顺序进行排序,得到文本切割边框纵向排序结果之后,得到了每一文本切割边框分别对应的边框行号。此时再对每一边框行号相应的文本切割边框集合根据横向坐标的升序顺序进行排序,得到每一边框行号相应的文本切割边框横向排序子结果,从而最终组成文本切割边框横向排序结果。通过这一方式,可以快速且准确的获取每一文本切割边框对应一个边框列号,再结合之前已获知的每一文本切割边框对应一个边框行号,可得到每一文本切割边框的准确定位位置。
在一实施例中,横向排序单元103还用于:
将所述文本切割边框纵向排序结果中每一边框行号对应的文本切割边框按照边框横向中心点的横坐标升序顺序进行排序,得到文本切割边框横向排序结果。
在本实施例中,对每一行的文本切割边框进行X轴方向的排序时,是以每一行每一个文本切割边框的边框横向中心点的横坐标升序顺序进行排序,当完成了对所述文本切割边框纵向排序结果中每一行文本切割边框的排序后,即可得到文本切割边框横向排序结果。通过将所有文本切割边框在横向排好序,从而可以准确获知每一文本切割边框所属列号。
在一实施例中,所述横向排序单元103,包括:
当前轮纵向排序子结果获取单元,用于获取所述文本切割边框纵向排序结果中第k行文本切割边框纵向排序子结果;其中,k的初始初值是1,且k的取值范围是[1,P],P表示所述文本切割边框纵向排序结果中的总列数;
X坐标排序单元,用于将所述第k行文本切割边框纵向排序子结果中的文本切割边框按照边框横向中心点的横坐标升序顺序进行排序,得到第k行文本切割边框横向排序子结果;
第三自增单元,用于将k自增1以更新k的取值;
第一执行单元,用于若确定k未超出P,返回执行获取所述文本切割边框纵向排序结果中第k行文本切割边框纵向排序子结果的步骤;
第二执行单元,用于若确定k超出P,获取第1行文本切割边框纵向排序子结果至第P行文本切割边框纵向排序子结果,组成文本切割边框横向排序结果。
在本实施例中,对每一行的文本切割边框(也即第k行文本切割边框纵向排序子结果)进行X轴方向的排序时,是先基于每一文本切割边框的四个顶点的横坐标计算对应的边框横向中心点的横坐标,例如一个文本切割边框的四个顶点坐标分别是(795,1848)、(796,1805)(1958,1829)和(1957,1873),则该文本切割边框的边框横向中心点的横坐标是上述4个横坐标求平均值即为(795+796+1958+1957)/4=1376.5,以此类推其他文本切割边框的边框横向中心点的横坐标也是按照上述方式计算。然后对每一行的每一文本切割边框基于边框横向中心点的横坐标升序顺序进行排序,得到对应行的第k行文本切割边框横向排序子结果。当完成了每一行的排序后,从而得到了最终的文本切割边框横向排序结果。此时在文本切割边框横向排序结果中每一个文本切割边框的行号和列号都是已知的,故每一文本切割边框的精准位置当前是已知值。
文本识别结果获取单元104,用于将所述文本切割边框横向排序结果中每一文本切割边框的文本内容按照对应的边框行号和边框列号渲染至预先建立的空白画布上,得到与所述待识别文本数据对应的文本识别结果。
在本实施例中,当已知了每一个文本切割边框的行号和列号后,可以将每一文本切割边框的文本内容按照对应的边框行号和边框列号渲染至预先建立的空白画布上,得到与所述待识别文本数据对应的文本识别结果。
本申请中对文本切割边框排序的关键就是文本切割边框所占的区域在纵轴上是否有重合,如果有重合就属于同一行。不再是判断大小,如果小就是在上方,如果大就是下方。文本切割边框按纵轴排序完再后对横轴进行排序,如果文本切割边框的平均位置小就是前方,如果文本切割边框的平均位置大就在后面,所有比较完成就可以得到一个完整的有纵横标识的文本切割边框横向排序结果,最后根据纵横标识按顺序输出文字即可,避免了重影现象。
该装置实现了对待识别文本数据中所识别得到的文本切割边框集合依序进行边框的纵向排序和横向排序以得到文本切割边框横向排序结果并最终渲染至空白画布上得到文本识别结果,采用坐标空间排序之后得到的文本识别结果更准确,而且提高了光学字符识别效率。
上述基于人工智能的文本识别排序装置可以实现为计算机程序的形式,该计算机程序可以在如图4所示的计算机设备上运行。
请参阅图4,图4是本发明实施例提供的计算机设备的示意性框图。该计算机设备500是服务器,服务器可以是独立的服务器,也可以是多个服务器组成的服务器集群。
参阅图4,该计算机设备500包括通过系统总线501连接的处理器502、存储器和网络接口505,其中,存储器可以包括存储介质503和内存储器504。
该存储介质503可存储操作系统5031和计算机程序5032。该计算机程序5032被执行时,可使得处理器502执行基于人工智能的文本识别排序方法。
该处理器502用于提供计算和控制能力,支撑整个计算机设备500的运行。
该内存储器504为存储介质503中的计算机程序5032的运行提供环境,该计算机程序5032被处理器502执行时,可使得处理器502执行基于人工智能的文本识别排序方法。
该网络接口505用于进行网络通信,如提供数据信息的传输等。本领域技术人员可以理解,图4中示出的结构,仅仅是与本发明方案相关的部分结构的框图,并不构成对本发明方案所应用于其上的计算机设备500的限定,具体的计算机设备500可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
其中,所述处理器502用于运行存储在存储器中的计算机程序5032,以实现本发明实施例公开的基于人工智能的文本识别排序方法。
本领域技术人员可以理解,图4中示出的计算机设备的实施例并不构成对计算机设备具体构成的限定,在其他实施例中,计算机设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。例如,在一些实施例中,计算机设备可以仅包括存储器及处理器,在这样的实施例中,存储器及处理器的结构及功能与图4所示实施例一致,在此不再赘述。
应当理解,在本发明实施例中,处理器502可以是中央处理单元(CentralProcessing Unit,CPU),该处理器502还可以是其他通用处理器、数字信号处理器(DigitalSignal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable GateArray,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
在本发明的另一实施例中提供计算机可读存储介质。该计算机可读存储介质可以为非易失性的计算机可读存储介质,也可以是易失性的计算机可读存储介质。该计算机可读存储介质存储有计算机程序,其中计算机程序被处理器执行时实现本发明实施例公开的基于人工智能的文本识别排序方法。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的设备、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本发明所提供的几个实施例中,应该理解到,所揭露的设备、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为逻辑功能划分,实际实现时可以有另外的划分方式,也可以将具有相同功能的单元集合成一个单元,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本发明实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (7)
1.一种基于人工智能的文本识别排序方法,其特征在于,包括:
响应于文本识别指令,获取与所述文本识别指令相应的待识别文本数据,及获取与所述待识别文本数据相应的文本切割边框集合;其中,所述文本切割边框集合中包括多个文本切割边框,每一文本切割边框均包括文本坐标属性和文本内容;
将所述文本切割边框集合根据纵向坐标的升序顺序进行排序,得到文本切割边框纵向排序结果;其中,所述文本切割边框纵向排序结果中每一文本切割边框对应一个边框行号;
将所述文本切割边框纵向排序结果根据横向坐标的升序顺序进行排序,得到文本切割边框横向排序结果;其中,所述文本切割边框横向排序结果中每一文本切割边框对应一个边框列号;以及
将所述文本切割边框横向排序结果中每一文本切割边框的文本内容按照对应的边框行号和边框列号渲染至预先建立的空白画布上,得到与所述待识别文本数据对应的文本识别结果;
所述待识别文本数据为多页文件;所述获取与所述文本识别指令相应的待识别文本数据,及获取与所述待识别文本数据相应的文本切割边框集合,包括:
若确定所述待识别文本数据的文件格式是图片格式,将所述待识别文本数据转化为JPG格式的待识别文本图片集;
获取所述待识别文本图片集中每一待识别文本图片的页码,并按照页面的升序顺序排序得到页码排序结果;
获取所述页码排序结果第i位页码对应的第i位页码待识别文本图片,通过光学字符识别模型对所述第i位页码待识别文本图片进行文本识别切割,得到第i位页码文本切割边框集合;其中,i的初始取值为1,且i的取值范围是[1,N],N表示所述待识别文本图片集的总页数;
将i自增1以更新i的取值;
判断i是否超出N;若确定i未超出N,返回执行获取所述页码排序结果第i位页码对应的第i位页码待识别文本图片,通过光学字符识别模型对所述第i位页码待识别文本图片进行文本识别切割,得到第i位页码文本切割边框集合的步骤;
若确定i超出N,获取待识别文本图片集的文本切割边框集合;
所述将所述文本切割边框集合根据纵向坐标的升序顺序进行排序,得到文本切割边框纵向排序结果,包括:
将所述文本切割边框集合中各文本切割边框进行初始编号;其中,所述文本切割边框集合中文本切割边框的总个数为M;
获取所述文本切割边框集合中第j+1号文本切割边框,以及获取第1号文本切割边框至第j号文本切割边框;其中j的初始取值为1,且j的取值范围是[1,M-1];
对所述第1号文本切割边框至所述第j+1号文本切割边框根据边框Y坐标范围进行升序排序,得到第j轮文本切割边框排序结果;
将j自增1以更新j的取值;若确定j未超出M-1,返回执行所述获取所述文本切割边框集合中第j+1号文本切割边框,以及获取第1号文本切割边框至第j号文本切割边框的步骤;
若确定j超出M-1,获取第M-1轮文本切割边框排序结果作为文本切割边框纵向排序结果;
所述对所述第1号文本切割边框至所述第j+1号文本切割边框根据边框Y坐标范围进行升序排序,得到第j轮文本切割边框排序结果,包括:
获取第j-1轮文本切割边框排序结果;
将第j+1号文本切割边框的边框Y坐标范围与第j-1轮文本切割边框排序结果中每一文本切割边框的边框Y坐标范围进行比较,确定第1号文本切割边框至第j+1号文本切割边框的第j轮实际排序号,得到第j轮文本切割边框排序结果。
2.根据权利要求1所述的基于人工智能的文本识别排序方法,其特征在于,所述待识别文本数据为单页文件;所述获取与所述文本识别指令相应的待识别文本数据,及获取与所述待识别文本数据相应的文本切割边框集合,包括:
根据文件后缀名获取所述待识别文本数据的文件格式;
若确定所述待识别文本数据的文件格式是图片格式,将所述待识别文本数据转化为JPG格式的待识别文本图片;
若确定所述待识别文本数据的文件格式是非图片格式,将所述待识别文本数据转化为JPG格式的待识别文本图片;
通过光学字符识别模型对所述待识别文本图片进行文本识别切割,得到文本切割边框集合。
3.根据权利要求1所述的基于人工智能的文本识别排序方法,其特征在于,所述将所述文本切割边框纵向排序结果根据横向坐标的升序顺序进行排序,得到文本切割边框横向排序结果,包括:
将所述文本切割边框纵向排序结果中每一边框行号对应的文本切割边框按照边框横向中心点的横坐标升序顺序进行排序,得到文本切割边框横向排序结果。
4.根据权利要求3所述的基于人工智能的文本识别排序方法,其特征在于,所述将所述文本切割边框纵向排序结果中每一边框行号对应的文本切割边框按照边框横向中心点的横坐标升序顺序进行排序,得到文本切割边框横向排序结果,包括:
获取所述文本切割边框纵向排序结果中第k行文本切割边框纵向排序子结果;其中,k的初始初值是1,且k的取值范围是[1,P],P表示所述文本切割边框纵向排序结果中的总列数;
将所述第k行文本切割边框纵向排序子结果中的文本切割边框按照边框横向中心点的横坐标升序顺序进行排序,得到第k行文本切割边框横向排序子结果;
将k自增1以更新k的取值;
若确定k未超出P,返回执行获取所述文本切割边框纵向排序结果中第k行文本切割边框纵向排序子结果的步骤;
若确定k超出P,获取第1行文本切割边框纵向排序子结果至第P行文本切割边框纵向排序子结果,组成文本切割边框横向排序结果。
5.一种基于人工智能的文本识别排序装置,其特征在于,包括:
边框集合获取单元,用于响应于文本识别指令,获取与所述文本识别指令相应的待识别文本数据,及获取与所述待识别文本数据相应的文本切割边框集合;其中,所述文本切割边框集合中包括多个文本切割边框,每一文本切割边框均包括文本坐标属性和文本内容;
纵向排序单元,用于将所述文本切割边框集合根据纵向坐标的升序顺序进行排序,得到文本切割边框纵向排序结果;其中,所述文本切割边框纵向排序结果中每一文本切割边框对应一个边框行号;
横向排序单元,用于将所述文本切割边框纵向排序结果根据横向坐标的升序顺序进行排序,得到文本切割边框横向排序结果;其中,所述文本切割边框横向排序结果中每一文本切割边框对应一个边框列号;以及
文本识别结果获取单元,用于将所述文本切割边框横向排序结果中每一文本切割边框的文本内容按照对应的边框行号和边框列号渲染至预先建立的空白画布上,得到与所述待识别文本数据对应的文本识别结果;
所述待识别文本数据为多页文件,所述边框集合获取单元包括:
第三转换单元,用于若确定所述待识别文本数据的文件格式是图片格式,将所述待识别文本数据转化为JPG格式的待识别文本图片集;
页码排序单元,用于获取所述待识别文本图片集中每一待识别文本图片的页码,并按照页面的升序顺序排序得到页码排序结果;
当前页识别单元,用于获取所述页码排序结果第i位页码对应的第i位页码待识别文本图片,通过光学字符识别模型对所述第i位页码待识别文本图片进行文本识别切割,得到第i位页码文本切割边框集合;其中,i的初始取值为1,且i的取值范围是[1,N],N表示所述待识别文本图片集的总页数;
第一自增单元,用于将i自增1以更新i的取值;
判断单元,用于判断i是否超出N;若确定i未超出N,返回执行获取所述页码排序结果第i位页码对应的第i位页码待识别文本图片,通过光学字符识别模型对所述第i位页码待识别文本图片进行文本识别切割,得到第i位页码文本切割边框集合的步骤;
第一获取单元,用于若确定i超出N,获取待识别文本图片集的文本切割边框集合;
所述纵向排序单元包括:
初始编号单元,用于将所述文本切割边框集合中各文本切割边框进行初始编号;其中,所述文本切割边框集合中文本切割边框的总个数为M;
第二识别切割单元,用于获取所述文本切割边框集合中第j+1号文本切割边框,以及获取第1号文本切割边框至第j号文本切割边框;其中j的初始取值为1,且j的取值范围是[1,M-1];
Y坐标排序单元,用于对所述第1号文本切割边框至所述第j+1号文本切割边框根据边框Y坐标范围进行升序排序,得到第j轮文本切割边框排序结果;
第二自增单元,用于将j自增1以更新j的取值;若确定j未超出M-1,返回执行所述获取所述文本切割边框集合中第j+1号文本切割边框,以及获取第1号文本切割边框至第j号文本切割边框的步骤;
第二获取单元,用于若确定j超出M-1,获取第M-1轮文本切割边框排序结果作为文本切割边框纵向排序结果;
所述Y坐标排序单元,包括:
上一轮排序结果获取单元,用于获取第j-1轮文本切割边框排序结果;
当前轮排序单元,用于将第j+1号文本切割边框的边框Y坐标范围与第j-1轮文本切割边框排序结果中每一文本切割边框的边框Y坐标范围进行比较,确定第1号文本切割边框至第j+1号文本切割边框的第j轮实际排序号,得到第j轮文本切割边框排序结果。
6.一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至4中任一项所述的基于人工智能的文本识别排序方法。
7.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序当被处理器执行时使所述处理器执行如权利要求1至4任一项所述的基于人工智能的文本识别排序方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111151637.7A CN113850268B (zh) | 2021-09-29 | 2021-09-29 | 基于人工智能的文本识别排序方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111151637.7A CN113850268B (zh) | 2021-09-29 | 2021-09-29 | 基于人工智能的文本识别排序方法、装置、设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113850268A CN113850268A (zh) | 2021-12-28 |
CN113850268B true CN113850268B (zh) | 2024-05-31 |
Family
ID=78976943
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111151637.7A Active CN113850268B (zh) | 2021-09-29 | 2021-09-29 | 基于人工智能的文本识别排序方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113850268B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102479173A (zh) * | 2010-11-25 | 2012-05-30 | 北京大学 | 识别版面阅读顺序的方法及装置 |
CN104268127A (zh) * | 2014-09-22 | 2015-01-07 | 同方知网(北京)技术有限公司 | 一种电子档版式文件阅读顺序分析的方法 |
CN109635627A (zh) * | 2018-10-23 | 2019-04-16 | 中国平安财产保险股份有限公司 | 图片信息提取方法、装置、计算机设备及存储介质 |
CN110334710A (zh) * | 2019-07-10 | 2019-10-15 | 深圳市华云中盛科技有限公司 | 法律文书识别方法、装置、计算机设备及存储介质 |
CN111985465A (zh) * | 2020-08-17 | 2020-11-24 | 中移(杭州)信息技术有限公司 | 文本识别方法、装置、设备及存储介质 |
-
2021
- 2021-09-29 CN CN202111151637.7A patent/CN113850268B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102479173A (zh) * | 2010-11-25 | 2012-05-30 | 北京大学 | 识别版面阅读顺序的方法及装置 |
CN104268127A (zh) * | 2014-09-22 | 2015-01-07 | 同方知网(北京)技术有限公司 | 一种电子档版式文件阅读顺序分析的方法 |
CN109635627A (zh) * | 2018-10-23 | 2019-04-16 | 中国平安财产保险股份有限公司 | 图片信息提取方法、装置、计算机设备及存储介质 |
CN110334710A (zh) * | 2019-07-10 | 2019-10-15 | 深圳市华云中盛科技有限公司 | 法律文书识别方法、装置、计算机设备及存储介质 |
CN111985465A (zh) * | 2020-08-17 | 2020-11-24 | 中移(杭州)信息技术有限公司 | 文本识别方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113850268A (zh) | 2021-12-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7132654B2 (ja) | レイアウト解析方法、読取り支援デバイス、回路および媒体 | |
CN111753767A (zh) | 一种作业自动批改的方法、装置、电子设备和存储介质 | |
CN113901933B (zh) | 基于人工智能的电子发票信息抽取方法、装置及设备 | |
CN110942004A (zh) | 基于神经网络模型的手写识别方法、装置及电子设备 | |
CN112926565B (zh) | 图片文本的识别方法、系统、设备和存储介质 | |
CN111104883B (zh) | 作业答案提取方法、装置、设备及计算机可读存储介质 | |
CN111950557A (zh) | 错题处理方法、图像形成装置及电子设备 | |
CN114038004A (zh) | 一种证件信息提取方法、装置、设备及存储介质 | |
CN114429636B (zh) | 图像扫描识别方法、装置及电子设备 | |
CN114821620A (zh) | 基于行文本框纵向合并的文本内容提取识别方法 | |
CN113592720B (zh) | 图像的缩放处理方法、装置、设备、存储介质 | |
CN114782974A (zh) | 表格识别方法、系统、智能终端及计算机可读存储介质 | |
CN111126243A (zh) | 一种图像数据检测方法、装置以及计算机可读存储介质 | |
CN113850268B (zh) | 基于人工智能的文本识别排序方法、装置、设备及介质 | |
CN117496521A (zh) | 一种表格关键信息抽取方法、系统、装置及可读存储介质 | |
CN112434581A (zh) | 一种室外目标颜色识别方法、系统、电子设备及存储介质 | |
US11367296B2 (en) | Layout analysis | |
CN116050379A (zh) | 文档对比方法及存储介质 | |
CN116778135A (zh) | 一种文本信息的检测方法、装置及设备 | |
CN111401365B (zh) | Ocr图像自动生成方法及装置 | |
CN111241365B (zh) | 表格图片解析方法及系统 | |
CN113506306A (zh) | 多人抠图方法、系统、装置和存储介质 | |
CN113239893A (zh) | 一种文档录入复核方法、系统、电子设备及介质 | |
CN108734167B (zh) | 一种被污染的胶片文字识别方法 | |
JP2021026729A (ja) | 画像処理装置、および、学習済みの機械学習モデル |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |