CN108038426A - 一种提取文件中图表信息的方法及装置 - Google Patents
一种提取文件中图表信息的方法及装置 Download PDFInfo
- Publication number
- CN108038426A CN108038426A CN201711223065.2A CN201711223065A CN108038426A CN 108038426 A CN108038426 A CN 108038426A CN 201711223065 A CN201711223065 A CN 201711223065A CN 108038426 A CN108038426 A CN 108038426A
- Authority
- CN
- China
- Prior art keywords
- chart
- scale
- information
- subregions
- chart area
- 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.)
- Withdrawn
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/40—Document-oriented image-based pattern recognition
- G06V30/41—Analysis of document content
- G06V30/413—Classification of content, e.g. text, photographs or tables
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/40—Document-oriented image-based pattern recognition
- G06V30/41—Analysis of document content
- G06V30/412—Layout analysis of documents structured with printed lines or input boxes, e.g. business forms or tables
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/40—Document-oriented image-based pattern recognition
- G06V30/41—Analysis of document content
- G06V30/414—Extracting the geometrical structure, e.g. layout tree; Block segmentation, e.g. bounding boxes for graphics or text
Abstract
本发明实施例提供了一种提取文件中图表信息的方法及装置,该方法包括:解析待识别页面中存储的底层数据,并按照所述底层数据中的行为标识符将所述底层数据组合成数据块;从所述数据块中分别抽取出图形对象和文字对象,并获取所述文字对象及图形对象在待识别页面中的位置信息;根据所述图形对象及文字对象识别所述待识别页面中的图表区域;对所述图表区域中的所述文字对象、图形对象进行数据融合,获取所述图表区域中所含的图表信息;其中,所述图表信息包括标题、图例、刻度、刻度属性中一种或几种。
Description
技术领域
本发明涉及数据处理技术领域,尤其涉及一种提取文件中图表信息的方法及装置。
背景技术
可移植文档格式(Portable Document Format,PDF)是一种电子文件格式,其广泛运用于各主流操作系统中,许多电子书籍、金融公司财务报表、科学文献等都使用PDF文件形式。例如,金融研报类的PDF格式文件里面有大量的图表,这些图表里面包含的信息和数据都很重要,但是由于PDF文件自身的格式并未对图表进行结构化,其所存储的图表数据难以被其他计算机程序直接使用,用户无法实现对PDF格式文件中的图表进行检索、分析等处理。
现有技术中将PDF格式文件转换为其他格式的文件时,在提取其中存储的图像时,要么直接将PDF格式文件中的整个页面作为一个图片提取出来,要么将PDF格式文件中所有图像元素原封不动的提取出来。但是,利用前一种方式提取出来的图片不能编辑,利用后一种方式提取出来大量图像元素后,只能对图形元素进行编辑而无法对图像整体进行编辑。
发明内容
为解决上述技术问题,本发明实施例提供了一种提取文件中图表信息的方法及装置、计算机可读存储介质及电子设备。
一方面,本发明实施例提供了一种提取文件中图表信息的方法,所述方法包括:
解析待识别页面中存储的底层数据,并按照所述底层数据中的行为标识符将所述底层数据组合成数据块;
从所述数据块中分别抽取出图形对象和文字对象,并获取所述文字对象及图形对象在待识别页面中的位置信息;
根据所述图形对象及文字对象识别所述待识别页面中的图表区域;
对所述图表区域中的所述文字对象、图形对象进行数据融合,获取所述图表区域中所含的图表信息;其中,所述图表信息包括标题、图例、刻度、刻度属性中的一种或几种。
另一方面,本发明实施例提供了一种提取文件中图表信息的装置,所述装置包括:
解析单元,用于解析待识别页面中存储的底层数据,并按照所述底层数据中的行为标识符将所述底层数据组合成数据块;
图形文字抽取单元,用于从所述数据块中分别抽取出图形对象和文字对象,并获取所述文字对象及图形对象在待识别页面中的位置信息;
图表区域识别单元,用于根据所述图形对象及文字对象识别所述待识别页面中的图表区域;
信息融合单元,用于对所述图表区域中的所述文字对象、图形对象进行数据融合,获取所述图表区域中所含的图表信息;其中,所述图表信息包括标题、图例、刻度、刻度属性中的一种或几种。
一方面,本发明实施例还提供了一种包括计算机可读指令的计算机可读存储介质,所述计算机可读指令在被执行时使处理器执行上述任一提取文件中图表信息的方法中的操作。
另一方面,本发明实施例还提供了一种电子设备,所述的电子设备包括:存储器,存储程序指令;处理器,与所述存储器相连接,执行存储器中的程序指令,按上述的任一方法提取文件中的图表信息。
利用本发明实施例可以识别文件页面中的图表,并且提取出图表里面的数据。本发明实施例通过解析各种格式文件页面的内容,得到文件中存储的图表信息,包含文字和其在文件页面中的位置信息,以及各种图形元素及其在文件页面中的位置信息,通过组合这些信息找出文件页面中图表的区域,进一步分析这个区域以获取图表的元素,比如标题、图例、坐标轴、坐标轴刻度文字、折线、柱状等信息,通过这些信息就可以对文件中的图表进行重绘,并可以根据这些元素对图表进行检索、分析等处理。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的提取文件中图表信息的方法的流程图;
图2为本发明实施例提供的一饼图示例;
图3为图2所示饼图中的白色背景填充区域对象;
图4为图2所示饼图中其他颜色或图片背景的填充区域对象;
图5为图2所示饼图中的第一图形对象;
图6为图2所示饼图中的第二图形对象;
图7为将位置相邻的第一图形对象及第二图形对象合并后得到的图表区域;
图8为图2所示饼图中的第三图形对象;
图9为将图8中的第三图形对象与图7所示图表区域合并后得到的新图表区域;
图10为图2中的第一文字对象;
图11为将图10中第一文字对象与图9所示图表区域合并后得到的新图表区域;
图12为陆续合并图2中的文字信息后得到的图表区域;
图13为将一个图例合并到图12所示图表区域后得到的新图表区域;
图14为将全部图例都合并到图12所示图表区域后得到的新图表区域;
图15为根据从图2中提取出的图表信息重绘的饼图;
图16为识别待识别页面中图表区域的方法的流程示意图;
图17为本发明实施例提供的一组合图示例;
图18、图19、图20为包含图17中所示组合图部分文字对象的数据块;
图21为基于语义信息和位置信息将文字对象合并后的效果图;
图22为本发明实施例提供的含有倾斜刻度的图表实例;
图23、图24、图25为包含图22所示图表部分倾斜刻度的数据块;
图26为本发明实施例提供的一面积图;
图27为本发明实施例提供的一柱状图;
图28为本发明实施例提供的一折线图;
图29为本发明实施例提供的按照颜色对扇形对象和图例进行匹配的效果图;
图30为本发明实施例提供的部分扇形无比重信息的饼图;
图31为利用本发明实施例提供的方法解析图29所示饼图得到的解析结果;
图32为本发明实施例提供的获取图表区域中刻度信息的方法流程示意图;
图33为一图表按照本发明实施例提供的方法划分成左侧和右侧子区域的示例;
图34为图33中的图表按照本发明实施例提供的方法划分成上侧和下侧子区域的示例;
图35为图33中各侧刻度的空间规律;
图36为利用本发明实施例提供的方法得到的图33的最终的刻度信息;
图37为本发明实施例提供的顶点数目大于X轴刻度数目的折线图示例;
图38为本发明提供的柱状矩形数目大于X轴刻度数目的组合图示例;
图39为本发明实施例提供的水平柱状图示例;
图40为本发明实施例提供的一组合图示例;
图41为本发明实施例提供的提取文件中图表信息的装置的结构示意图;
图42为本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明实施例提供的提取文件中图表信息的方法的流程示意图。需要说明的是,本发明实施例中提及的“文件”包括但不限于PDF格式,还可以是其他包含矢量类型数据的文件。
如图1所示,该方法主要包括以下步骤:
步骤11,解析待识别页面中存储的底层数据,并按照所述底层数据中的行为标识符将所述底层数据组合成数据块。
上述的底层数据包括各种类型的数值、文字、状态和行为标识符,不宜直接对其进行分析,因此需要将底层数据有效组合成具有实际意义或可执行的完整数据块对象(Content Group)后,再对其进行分析。在组合底层数据时,可以按照底层数据中的行为标识符对底层数据进行组合。通常的,在解析得到底层数据后,先查询是否存在、f、f*、b、B*、BT、ET、q、Q等比较具有代表性的行为标识符,某一行为标识符与f*之间的数据块,通常代表解析图表中的图形对象后得到的底层数据;BT和ET之间的数据块通常代表解析图表的文字所得到的底层数据。需要说明的是,上述举例仅是本发明部分实施例,并非作为对本发明的限制。
图2为本发明实施例提供的某一文件的待识别页面中的一个饼图,在识别出该页面存储的底层数据后对底层数据进行解析。如图3-图14所示,图左侧所示数据为解析待识别页面所得到的底层数据的一部分,包括各种类型的数值、文字状态和行为标识符,图右侧的预览框内显示的是图左侧被选中的数据块所表示的内容,该数据块包含行为标识符、数值等。其中,图3左侧区域被选中的底层数据以f*结尾,此段底层数据表示的是图2所示饼图中背景为白色的填充区域对象;图4左侧区域被选中的底层数据以f*结尾,此段底层数据表示的是图2所示饼图中背景为其他颜色或者背景为图片的填充区域对象;图5-6及图8左侧区域被选中的底层数据都是以f*结尾,此三段底层数据分别表示图2所示饼图中的三个扇形对象;图10左侧区域被选中的底层数据以BT开头,以ET结尾,此段底层数据表示的是图2所示饼图中的一文字对象“79.7%”。
步骤12,从所述数据块中分别抽取出图形对象和文字对象,并获取所述文字对象及图形对象在待识别页面中的位置信息。
步骤11中得到的数据块中通常包含文字对象(例如图10所示内容)和图形对象(例如图5-6及图8所示内容),为了进一步对待识别页面进行解析,需要从数据块中抽取出图形对象和文字对象,以及图形对象和文字对象在待识别页面中的位置信息,该位置信息体现在与各文字对象、图形对象对应的数据块中。
上述的图形元素例如可以为点、线、矩形区域或扇形区域等。如果在文件的待识别页面上画上坐标系的话,在对解析该页面得到底层数据组合后,底层数据中通常就包含坐标信息,可以某一个点的坐标,或者某一个直线段两端端点的坐标,抑或是某一填充区域的坐标。
步骤13,根据所述图形对象及文字对象识别所述待识别页面中的图表区域。
为了更加快速且精确的提取出文件中的图表信息,本发明实施例通常先识别出页面中的图表区域,然后再分析该图表区域中的图形对象及文字对象,从中获取相应的图表信息。
步骤14,对所述图表区域中的所述文字对象、图形对象进行数据融合,获取所述图表区域中所含的图表信息;其中,所述图表信息包括标题、图例、刻度、刻度属性中的至少一种。
本发明实施例通过解析文件的待识别页面,从中提取出该页面所包含的图表信息,可以使用户方便地对提取出来的图表信息进行搜索或编辑,还可以查看或导出图表信息,以对该图表进行分析。
在一个实施例中,识别文件页面中有效图表区域通常采用以下两种方法:1)直接找出合理有效矩形填充区域作为候选图表区域,例如,将图3及图4左侧预览框所示的填充区域对象作为候选图表区域;2)随机选取某一个图形对象,从该图形对象开始,逐步合并邻近的其他图形对象和文字对象,并适当扩充区域范围,例如可以按照预设比例向外扩充,同时判断当前合并得到的候选图表区域是否构成有效的图表区域。
关于方法2)的具体实施步骤,本发明实施例结合说明书附图进行说明,具体请参见图16,图16为识别待识别页面中图表区域的方法的流程示意图。如图16所示,该方法主要包括以下步骤:
步骤21,从利用步骤12获得的图形对象中任意选取一个图形对象,将其所在区域作为候选图表区域。
步骤22,判断与候选图表区域邻近的图形对象和/或文字对象是否大部分位于所述候选图表区域的内部。
具体实施时,判断与候选图表区域邻近的图形对象或文字对象在候选图表区域内那部分面积,是否超过图形对象或文字对象总面积的预设比例,如果超过了预设比例,则可认为该图形对象或文字对象位于候选图表区域的内部。这个预设比例可以由用户设定,例如可以取60%~100%中的任何一个值,本发明实施例并不以此为限。如果与候选图表区域邻近的图形对象和/或文字对象大部分位于上述候选图表区域的内部,进入步骤23进行处理,否则,可以推断当前所选的图形对象周围并无与其邻近的图形对象或文字对象,可以所述候选图表区域作为图表区域,并结束判断(步骤24)。
步骤23,将与所述候选图表区域邻近的图形对象和/或文字对象与所述候选图表区域合并,得到新的候选图表区域。
重复步骤22和23,直至与最新的候选图表区域邻近的图形对象和/或文字对象大部分位于最新的候选图表区域的外部,将最新的候选图表区域作为所述待识别页面的图表区域。
现结合说明书附图对上述步骤进行说明。顺序处理当前页面内所有的数据块对象(包括图形对象和文字对象),如果当前选取的图形对象为图5右侧预览框内所示图形对象,将其所在区域作为候选图表区域。图5所示图形对象为第一个图形对象,再处理下一个图形对象(见图6),图6所示图形对象的大部分区域位于图5所示图形对象所在区域的内部,将其合并起来,效果如图7所示。按照相同的方法陆续处理其他图形对象,如图8、图9所示,在得到图9所示图表区域后向外扩展一定范围,作为新的候选图表区域。接下来处理文字对象(见图10),该文字对象“79.7%”所在区域大部分位于新的候选图表区域内,将其合并进来,合并后的效果如图11所示。按照相同的方法陆续向外扩展候选图表区域,可以将图2中其他文字对象合并进来,如图12所示,为合并部分文字对象后得到的新得候选图表区域。接下来继续向外扩展新得到候选图表区域,处理由小尺寸图形对象和文字对象(二者可组成图例),效果如图13所示,如图形对象、文字对象所在区域的大部分落在候选图表区域内,同样将该图形对象、文字对象合并到候选图表区域中,得到如图14所示的图表区域。
如果出现的图形对象的大部分区域在图表区域外或是不属于当前图表内容,则对图表区域的有效性进行判断,如果有效则将其保存起来,然后按照以上描述的方法处理所有的图形对象及文字对象,直到处理完待识别页面内所有的数据块对象。
在一实施例中,每得到一个候选图表区域,还需要进一步判断其尺寸是否过大以及是否过小,只有当候选图表区域的尺寸既不过大也不过小时,该候选图表区域才能被认定为有效的图表区域,可以进一步对该有效的图表区域进一步外扩,或者以此图表区域作为待识别页面的最终图表区域。
在判断候选图表区域的尺寸是否过大时,通常判断候选图表区域的宽度是否大于待识别页面宽度的80%,并且该候选图表区域的高度是否大于待识别页面高度的85%,如果同时满足这两个条件,说明该候选图表区域的尺寸过大。
在判断候选图表区域的尺寸是否过小时,通常判断候选图表区域的宽度是否小于待识别页面宽度的10%,并且该候选图表区域的高度是否小于待识别页面高度的7%,如果同时满足这两个条件,说明该候选图表区域的尺寸过小。
另外,当候选图表区域的宽高比大于0.2且小于5的时候,可以认为候选图表区域的宽高比适中,如果图表区域的宽高比不在这个范围内,说明识别得到的图表区域可能不是有效的图表区域,此时可生成提醒信息以提醒用户注意。
为了进一步获知图表的类型,以便后续解析图表信息,本发明实施例还会进一步对图形对象和文字对象进一步分析。图形对象通常是由基本的填充元素和轮廓元素组合在一起的,在解析图形对象时,需要从中抽取出填充元素和轮廓元素,并解析出填充元素和轮廓元素的颜色和路径,根据颜色和路径确定各图形对象的类型,如果已经确定了图表区域,那么可以便可以根据图表区域中所含图形对象的类型来确定图表的类型。
例如,如果图形对象的填充元素中含有一个或多个矩形对象,那么该填充元素为柱状图形对象的构造元素;如果填充元素中含有大量X坐标值相同而Y坐标值不同的点对组成的封闭区域,那么该填充元素为面积图形对象的填充区域;如果填充元素由数个三个点构成的小弧段构成近似扇形的对象,并且各小弧段离中心点近似等距,那么该填充元素为扇形图形对象的构造元素。
又例如,如果图形对象的轮廓元素为虚线对象,则可能为有对应图例的折线对象,或者是辅助线;如果轮廓元素为水平或垂直的直线,且其长度或高度都大于图表区域宽高的30%,那么该轮廓元素可能为坐标轴线图形对象的轮廓;如果轮廓元素为尺寸较小的水平或垂直短线段,那么该轮廓元素可能为坐标轴刻度线或图例指示线(即图例的图标);如果轮廓元素包括多条水平或垂直的直线,并且这些直线在空间上等距排列,那么该轮廓元素可能为辅助网格线的构造元素;如果轮廓元素由数目不定并且路径不封闭的短线段组成,那么该轮廓元素可能为折线图形对象的构造元素。
当图表中存在特殊的文字信息,虽然其在视觉上表现为常规的文字,但是在对页面进行识别后得到的数据块实际上为类似文字图案的图形对象。对这类图形对象进行识别时,当填充元素或轮廓元素的路径信息呈现出文字图案的时候,那么将该图形对象保存为位图对象,然后用OCR模型识别出该位图对象中的文字。
利用上述方法确定的图形对象的类型主要包括:扇形对象、折线对象、面积对象、柱状对象、坐标轴线、坐标轴刻度线、辅助线、图标及位图对象中的至少一种。如果图形对象为短矩形框或水平线段且其相邻数据块为文字,则将该图形对象很可能是图例的指示线(即图标)。如果图形对象区域长宽比大于0.3且小于3,那么该图形对象很可能为位图对象,那么可以先将该图形对象归类为位图对象,然后尝试利用OCR模型对该图形对象进行识别,看是否能识别出文字,如果不能识别出文字,说明其实际上应为图形对象。
接下来,根据对文字对象的位置信息及语义信息,将位置相近且语义相关的文字对象重新组为有效的文本块。其中,语义信息包括但不限于字符类型、字体类型、字体大小、字体颜色及字体颜色及字体方向中的至少一种。图17为本发明实施例提供的一组合图实例,在将文字按照字符类型、字体、颜色、大小、颜色、位置、方向等维度划分为单个字符对象后,可得到如图18、图19及图20所示的数据块,这三张图中仅包含了图17所示组合图中的部分文字对象,仅用于对本发明实施例进行说明,并非用于限定。在对图18-图20以及识别图17后得到的其他数据块在空间和语义上进行合并后,可以重组为如图21中所示的有效文本块。
图22为本发明实施例提供的含有倾斜刻度的图表实例,该图表下侧刻度为逆时针45度角方向的刻度信息,对图22识别后得到的部分数据块分别如图23、图24、图25所示,图23中的数据块代表包含“I.T.”文字图案的图形对象,图24中的数据块代表包含“Cons.DisC.”文字图案的图形对象,图25中的数据块代表包含“Real Estate”文字图案的图形对象。得到上述图形对象后,通过将其旋转至大致水平方向,再保存为位图对象,然后用训练好的OCR模型识别位图对象,识别结果为I.T.,Cons.DisC.,Real Estate等等。最后,将重组后的所有有效文本块存储。
在一实施例中,利用步骤14解析图表标题时,通常遍历上述图表区域中的有效文本块,结合预设的语义库判断各所述有效文本块是否为图表的标题。例如,查询各有效文本块的开头文字是否包括“图”、“圖”、“FIGURE”、“Figure”、“figure”、“Exhibit”、“exhibit”、“Chart”、“chart”等文字中的一个,如果某一有效文本块中包含“图”字,那么便可以将该有效文本块设置为候选标题。如果在当前图表区域中没有一个有效文本块中包含上述任何一个文字,但是通过经验可知,图表标题通常位于图表区域的上部或者左上部,如图2、图26、图27、图28所示,那么计算图表区域内的所有有效文本块距离图表区域左上角顶点和上侧边界中心点的距离,将距离所述图表区域左上角顶点或上侧边界中心点最近的有效文本块作为图表的标题。另外,有时表题分成多行显示,如图15所示,此时需要在垂直方向上合并有效文本块,得到完整标题为“Figure 3:Revenue breakdown:bras&intimate wear stillaccounts for the largest share”。
在一实施例中,图表的图例位置通常不固定,而且,一个完整的图例通常是由相近高度的小图标和有效文本块组成,并且小图标一般位于左侧,有效文本块位于右侧。多个图例对象呈水平、垂直或网格方式排列显示,如图15、图17及图22所示。利用步骤14解析图表的图例时,通常遍历位于上述图表区域内的有效文本块及图标,根据这些有效文本块及图标的坐标信息,判断图标与有效文本块是否高度相近,并且所述有效文本块紧邻所述图标的右侧(即距离较近),如果是,那么将所述图标及有效文本块合并作为所述图表的图例。有时图例的文字信息分成多行,如图15所示,此时需要在垂直方向上向下进行合并,得到3个完整图例,分别为“Bras and intimate wear”,“Bra pads and other molded products”及“Functional sports products”。遍历已解析出的扇形对象和图例,匹配相同颜色的扇形和图例,如图29所示。图29中的曲线仅用于对该实施例中相应颜色的图例所指代的部分进行说明,利用实际得到的图表信息重新绘制的图表中并不包含这些曲线。
在一实施例中,当图表区域中包含类型为扇形对象的图形对象时,通常需要判断判断所述扇形对象的内部或附近是否存在表示所述扇形对象所占比重信息的有效文本块。如果原图在每个扇形内部或附近标记了该扇形所占比重信息,如图2所示饼图,则直接使用该比重信息。如果没有标记各扇形所占比重,计算所述扇形的角度并用该角度除以360,将所得结果作为所述扇形对象所占的比重。如图30所示饼图,在该饼图中仅标出部分扇形的比重,另外一部分扇形的比重并未标出,可以根据所有扇形角度和为360度这一原理计算得到各扇形所占比重,计算出未标记比重信息扇形的角度后,再用得到的角度除以360,即可得到各扇形所占比重信息,结果如图31所示。
在一实施例中,通常按照图32所示步骤获取当前图表区域中所含的刻度信息。如图32所示,该方法主要包括以下步骤:
步骤31,将图表区域沿上下方向划分成上侧子区域、下侧子区域,并沿左右方向划分成左侧子区域及右侧子区域。
本发明实施例提供一组合图示例,如图33所示,沿左右方向划分后,得到一左侧子区域和右侧子区域,如图中矩形框所示。图34为图33中的图表沿上下方向划分后得到的上侧子区域和下侧子区域的示意图。
步骤32,从步骤32中划分得到的上侧子区域、下侧子区域、左侧子区域及右侧子区域中任意选取一子区域,判断位于图表区域内的有效文本块是否与所选取的当前子区域在空间上相交。如果在空间上不相交,说明该有效文本块不属于当前子区域,则丢弃该有效文本块,重新选取下一有效文本块进行判断(步骤36)。如果在空间上相交,则进入步骤33处理。
步骤33,判定所述有效文本块属于当前子区域。当判定某一有效文本块属于当前子区域时,通常将该有效文本块保存到一文本块容器中。
步骤34,判断当前子区域中的有效文本块的数目是否大于或等于两个。
待遍历完图表区域内所有的有效文本块后,再判断上述文本快容器内的有效文本块的数目是否不小于两个。
步骤35,如当前子区域中的有效文本块的数目大于或等于两个时,从所述有效文本块中筛选出当前子区域所含的刻度。
通常地,只有当某一子区域中所含有效文本块的数目小于两个时,则认为该子区域内没有刻度信息,那么继续遍历另一子区域(步骤37)。如果数目等于两个,如果这两个文本块的左右侧间隔大于图表区域高度的50%或者小于其10%,则认为该子区域内没有刻度信息;如果这两个文本块的上下侧间隔大于图表区域宽度的80%或者小于其10%,则也认为该子区域内没有刻度信息。
重复步骤32至步骤35,直至得到遍历完所述上侧子区域、下侧子区域、左侧子区域及右侧子区域,以确定各子区域中是否存在刻度信息,并在某一子区域中存在刻度信息的时候获取该子区域中的刻度信息。
在一实施例中,在从所述有效文本块中筛选出当前子区域所含的刻度后,可能所有子区域中都包含刻度,也可能仅有部分子区域包含刻度,如果某一子区域所含有效文本块的数目大于等于两个,则需要进一步判断这些有效文本块在空间上是否满足以下规律:左侧刻度的右侧边缘在X方向上近似对齐,右侧刻度左侧边缘在X方向上近似对齐,下侧刻度上侧边缘在Y方向上近似对齐,上侧刻度下侧边缘在Y方向上近似对齐,左右侧刻度在Y方向上间隔大致相同,上下侧刻度在X方向上间隔大致相同,具体情况可参见图35中所示情形。
具体地,如果左侧子区域所含有效文本块的数目大于等于两个,判断左侧子区域中的有效文本块的右侧边缘是否在竖直方向上大致对齐,并筛选出右侧边缘在竖直方向上大致对齐并且在竖直方向上间隔相等的有效文本块,作为左侧子区域的刻度。
如果下侧子区域所含有效文本块的数目大于等于两个,判断下侧子区域中的有效文本块的上侧边缘是否在水平方向上大致对齐,并筛选出上侧边缘在水平方向上大致对齐并且在水平方向上间隔相等的有效文本块,作为下侧子区域的刻度。
如果右侧子区域所含有效文本块的数目大于等于两个,判断右侧子区域中的有效文本块的左侧边缘是否在竖直方向上大致对齐,并筛选出左侧边缘在竖直方向上大致对齐并且在竖直方向上间隔相等的有效文本块,作为右侧子区域的刻度。
如果上侧子区域所含有效文本块的数目大于等于两个,判断上侧子区域中的有效文本块的下侧边缘是否在水平方向上大致对齐,并筛选出下侧边缘在水平方向上大致对齐并且在水平方向上间隔相等的有效文本块,作为上侧子区域的刻度。
另外,同侧子区域的刻度在语义上有一定的相似性,比如都是数字类型、时间类型或其他文字类型,如果当前子区域内的刻度是否大部分满足某种类型,而有极少数的刻度不满足此类型,则过滤掉不满足此类型的有效文本块。
对于某些刻度为倾斜的文字图案的情况,可用OCR模型识别转换为刻度。同标题何图例类似,刻度也可能存在多行的情况,需要尝试在垂直方向扩展临近的有效文本块,最后得到完整的刻度信息,如图36所示。
在一个实施例中,为了更深入的解析图表信息,在遍历完所述上侧子区域、下侧子区域、左侧子区域及右侧子区域,确定各子区域中是否包含刻度信息后,本发明实施例通常还会对各子区域中的刻度进行语义分析,判断刻度的属性。通常地,刻度属性通常包括三种:数值类型、时间类型及标签类型。数值类型的刻度如图17、图26及图28左侧或右侧刻度所示,忽略其单位符号,保存各刻度对应的浮点值。标签类型的刻度如图27下侧刻度所示。时间类型的刻度如图26、图33下侧的刻度所示。
首先,判断刻度是否能转换为时间序列或者为数值序列,如果所述刻度转能换为时间序列,那么设置所述刻度为时间类型,并保存各刻度转换成时间序列后对应的时间戳。其中,转换成时间序列时,通常需要计算各刻度对应的时间戳,时间戳是指自格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总秒数,比如北京时间2017年10月31日12是30分50秒对应的时间戳为1509424250。如果所述刻度能转换为数值序列,设则置所述刻度为数值类型,并保存各刻度转换成数值类型后对应的浮点数。如果所述刻度不能转换为时间序列,也不能转换为数值序列,则将所述刻度设置为标签类型。
经过前面的解析过程,得到图表区域内所有有效的图形对象后,当图形对象为折线类型时,统计折线对象在图表区域内的有效顶点的数目,如果折线上的有效顶点数大于上侧刻度数目或下侧刻度数目,那么便需要求取各个顶点的坐标。如图37所示,该折线上的有效顶点数大于X轴刻度数目,对每个顶点,都需要通过差值法计算各顶点对应的X轴坐标。如图33所示,折线的有效顶点数目等于X轴刻度数目,此时,只需要在X方向上为每个顶点找一个距离各顶点最相近的刻度作为顶点的X轴坐标即可。
当图形对象为垂直柱状类型时,统计图表区域内的有效矩形的数目,如果该数目大于上侧刻度数目或下侧刻度数目,那么便需要通过差值法获取各个矩形在X轴上的坐标,此处所说的坐标是指矩形的中心点在X轴上的坐标,否则只需要在X方向上为各个矩形寻找距离其中心点最近的刻度即可。如图38所示,在该图中,矩形数目大于X轴刻度数目,对每个矩形的中心点,都需要通过插值法计算其X轴坐标。如图33所示,在该图中,柱状矩形数目等于X轴刻度数目,此时,只需要在X方向上为每个矩形中心点找一个最相近的刻度,将该刻度作为各矩形的X轴坐标即可。
当图形对象为水平柱状类型时,统计图表区域内有效矩形数目,如果该数目大于左侧或右侧刻度数目,那么便需要通过插值法获取各个矩形在Y轴上的刻度,否则只需要在Y方向上为各个矩形寻找距离其中心点最近的刻度,将该刻度作为各矩形的Y轴坐标即可,如图39所示。
当图形对象为面积类型时,对该图形对象处理的方式与折线对象类似。图40所示为本发明实施例提供的一组合图示例,在该组合图中包含折线图和面积图,其中面积图有两个,一个为深灰色,一个为浅灰色,其中深灰色的面积图位于浅灰色面积图的上方。在对这两个面积对象进行解析时,可以按照折线对象的解析方法,分别统计两面积对象的轮廓折线在图表区域内的有效顶点的数目,从图40可以明显看到,有效顶点的数目是大于X轴刻度的数目的。因此,需要通过差值法计算各顶点对应的X轴刻度量化值,来获取各顶点的X轴坐标。同理,通过差值法计算各顶点对应的Y轴坐标。
除上述方法外,还可以应用微积分的思想,可以先将浅灰色面积图沿X轴方向细分为多个连续相邻的宽度很小的矩形对象集,对该集合中的每个矩形对象的顶部和底部中心点,分别利用插值法求取出各中心点的X轴坐标和Y轴坐标,具体差值步骤类似于折线顶点的X轴坐标、Y轴坐标的方法。还可以将每个矩形对象的顶部和底部中心点的Y轴坐标相减,作为该矩形对象的Y轴属性值,顶部中心点或底部中心点的X轴坐标作为该矩形对象的X轴属性。
然后再利用同样的方法,求取深灰色面积图所对应矩形对象集中的各矩形对象的顶部和底部中心点X轴坐标、Y轴坐标即可。
在将面积图划分成矩形对象时,可以参考面积图的折线轮廓上的顶点,将各顶点作为各矩形对象的顶部中心点来对面积图进行划分。
通常来说,当刻度为时间类型或数值类型时,统计图表区域内有效的折线对象的顶点的个数,当顶点的个数大于下侧子区域(或者上侧子区域)中所含刻度的数目,并且下侧子区域(或者上侧子区域)所含刻度的个数不小于2时,在利用插值法求取各顶点在X轴方向上的刻度时,通常在各个顶点处沿竖直方向对X轴作垂线,获取垂足至两相邻刻度的距离,结合这两相邻刻度对应的时间戳或者浮点数,用线性差值法计算各顶点对应的X轴坐标。同理,在各个顶点处沿水平方向对Y轴作垂线,获取垂足至两相邻刻度的距离,结合这两相邻刻度对应的时间戳或者浮点数,用线性差值法计算各个顶点对应的Y轴坐标。
当所述刻度类型为标签类型时,统计所述图表区域内有效的折线对象的顶点的个数,如果所述顶点的个数大于所述下侧子区域(或上侧子区域)中所含刻度的个数,并且所述下侧子区域(或上侧子区域)所含刻度的个数不小于2,那么在所述顶点处沿竖直方向对X轴作垂线,获取垂足至两相邻刻度的距离,将与所述垂足距离较近的刻度作为所述顶点对应的X轴坐标。同理,在所述顶点处沿水平方向对Y轴作垂线,获取垂足至两相邻刻度的距离,将与所述垂足距离较近的刻度作为所述顶点对应的Y轴坐标。
当所述刻度为时间类型或数值类型时,如果所述柱状对象是否为垂直方向的柱状对象,统计所述图表区域内有效的柱状对象的个数。如果有效的柱状对象的个数大于所述下侧子区域(或上侧子区域)中所含刻度的个数,并且所述下侧子区域(或上侧子区域)所含刻度的个数不小于2,那么在所述柱状对象的中心点处沿竖直方向对X轴作垂线,获取垂足至两相邻刻度的距离,结合所述刻度对应的时间戳或者浮点数,用线性差值法计算所述柱状对象对应的X轴坐标。同理,在所述柱状对象的中心点处沿水平方向对Y轴作垂线,获取垂足至两相邻刻度的距离,结合所述刻度对应的时间戳或者浮点数,用线性差值法计算所述柱状对象对应的Y轴坐标。
当所述刻度为标签类型时,如果所述柱状对象是否为垂直方向的柱状对象,统计所述图表区域内有效的柱状对象的个数。如果所述有效的柱状对象的个数大于所述下侧子区域(或上侧子区域)中所含刻度的个数,并且所述下侧子区域(或上侧子区域)所含刻度的个数不小于2,那么在所述柱状对象的中心点处沿竖直方向对X轴作垂线,获取垂足至两相邻刻度的距离,将与所述垂足距离较近的刻度作为所述柱状对象对应的X轴坐标。同理,在所述柱状对象的中心点处沿水平方向对Y轴作垂线,获取垂足至两相邻刻度的距离,将与所述垂足距离较近的刻度作为所述柱状对象对应的Y轴坐标。
另外,在图表区域的内部可能存在某些用于标记某些真实属性信息的文字对象,例如在折线顶点附近位置标记有代表顶点数值属性的文字对象,或在垂直柱状的顶部、底部或中部附近位置标记有代表柱状数值属性的文字对象,或在水平柱状左端、右端或中部附近位置标记有代表柱状数值属性的文字对象,将这些标记信息利用上,能大幅优化并提高解析图表信息的准确性。具体处理方法如下:
统计图表区域中表示标记属性信息的文字对象的个数,如果其数目小于折线顶点数目或柱状的数目,则数目不匹配,说明不能为每个对象都找到标记属性。对于折线对象,对每个顶点在其周围的一定范围内用最邻近方法找到唯一标记属性,如图22所示虚线框内的顶点,其所对应的唯一标记属性为23%。对于垂直柱状对象,对位于X坐标轴上方的每个矩形取顶部中心点,或对位于X轴下方的每个矩形取底部中心点,对每个柱状的顶部中心点或底部中心点,在其周围一定范围内用最邻近方法找到唯一标记属性,如果没有找到,可以再对矩形内部中心点做类似处理。如图27及图33所示,每个矩形的顶部中心点或底部中心点附近都有一个标记好的属性值。对于水平柱状对象,对位于Y坐标轴右侧的每个柱状取右部中心点,或对位于Y坐标轴左侧的每个柱状取左部中心点,在其右部中心点或左部中心点周围的一定范围内用最邻近方法找到各柱状的唯一标记属性,如果没有找到,再尝试对柱状内部中心点做类似处理。如图39所示,每个柱状的右部附近都有一个标记好的属性值。而对于面积对象,其内部点数目非常大,通常没有在其顶点附近标记属性信息的情况。
利用本发明实施例可以识别文件页面中的图表,并且提取出图表里面的数据。本发明实施例通过解析各种格式文件页面的内容,得到文件中存储的图表信息,包含文字和其在文件页面中的位置信息,以及各种图形元素及其在文件页面中的位置信息,通过组合这些信息找出文件页面中图表的区域,进一步分析这个区域以获取图表的元素,比如标题、图例、坐标轴、坐标轴刻度文字、折线、柱状等信息,通过这些信息就可以对文件中的图表进行重绘,并可以根据这些元素对图表进行检索、分析等处理。
基于与图1所示的提取文件中图表信息的方法相同的发明构思,本申请实施例还提供了一种装置,如下面实施例所述。由于该装置解决问题的原理与图1中提取文件中图表信息的方法相似,因此该装置中的实施可以参见图1的提取文件中图表信息的方法的实施,重复之处不再赘述。
在另一实施例中,本发明实施例还提供了一种提取文件中图表信息的装置,其结构如图41所示,该装置主要包括:解析单元41、图形文字抽取单元42、图表区域识别单元43及信息融合单元44。
其中,解析单元41用于解析待识别页面中存储的底层数据,并按照所述底层数据中的行为标识符将所述底层数据组合成数据块。图形文字抽取单元42用于从所述数据块中分别抽取出图形对象和文字对象,并获取所述文字对象及图形对象在待识别页面中的位置信息。图表区域识别单元43用于根据所述图形对象及文字对象识别所述待识别页面中的图表区域。信息融合单元44用于对所述图表区域中的所述文字对象、图形对象进行数据融合,获取所述图表区域中所含的图表信息;其中,所述图表信息包括标题、图例、刻度、刻度属性中的一种或几种。
在一实施例中,图表区别识别单元43具体用于:a)从所述图形对象中任意选取一个图形对象,将其所在区域作为候选图表区域;b)判断与所述候选图表区域邻近的图形对象和/或文字对象是否大部分位于所述候选图表区域的内部;c)如是,将与所述候选图表区域邻近的图形对象和/或文字对象与所述候选图表区域合并,得到新的候选图表区域。重复步骤b)和c),直至与最新的候选图表区域邻近的图形对象和/或文字对象大部分位于最新的候选图表区域的外部,将最新的候选图表区域作为所述待识别页面的图表区域。
在一实施例中,所述装置还包括图表区域校验单元45,用于判断所述候选图表区域的尺寸是否过大以及是否过小;当所述候选图表区域的尺寸既不过大也不过小时,判定所述候选图表区域为有效的图表区域。
在一实施例中,图表区域校验单元45具体用于:判断所述候选图表区域的宽度是否大于所述待识别页面宽度的80%,并且所述候选图表区域的高度是否大于所述待识别页面高度的85%,如是,则判定所述候选图表区域的尺寸过大;判断所述候选图表区域的宽度是否小于所述待识别页面宽度的10%,并且所述候选图表区域的高度是否小于所述待识别页面高度的7%,如是,则判定所述候选图表区域的尺寸过小。
在一实施例中,图形文字抽取单元42从所述数据块中分别抽取出图形对象和文字对象时,具体包括:从所述图形对象中抽取填充元素和/或轮廓元素,并解析出所述填充元素和/或轮廓元素的颜色和路径;根据所述填充元素和/或轮廓元素的颜色和路径确定所述图形对象的类型;其中,所述图形对象的类型包括:扇形对象、折线对象、面积对象、柱状对象、坐标轴线、坐标轴刻度线、辅助线、图标及位图对象中的至少一种,并且当所述图形对象中包含位图对象时,利用OCR模型识别出所述位图对象中包含的文字对象;根据所述文字对象的位置信息及文字对象的语义信息,将位置相近且语义相关的文字对象重组为有效文本块;其中,所述语义信息包括字符类型、字体类型、字体大小、字体颜色及字体方向中的一种或几种。
在一实施例中,信息融合单元44具体用于:遍历位于所述图表区域中的有效文本块,结合预设的语义库判断各所述有效文本块是否为图表的标题;如否,计算各所述有效文本块距离所述图表区域左上角顶点和上侧边界中心点的距离,将距离所述图表区域左上角顶点或上侧边界中心点最近的有效文本块作为图表的标题。
在一实施例中,信息融合单元44还用于:遍历所述图表区域中的有效文本块及图标,根据所述有效文本块及图标的坐标信息,判断所述图标与所述有效文本块是否高度相近并且所述有效文本块紧邻所述图标的右侧;如是,将所述图标及有效文本块合并作为所述图表的图例。
在一实施例中,所述装置还包括扇形比重分析单元46。当所述图表区域中包含类型为扇形对象的图形对象时,扇形比重分析单元46具体用于:判断所述扇形对象的内部或附近是否存在表示所述扇形对象所占比重信息的有效文本块;当所述扇形对象的内部或附近存在表示所述扇形对象所占比重信息的有效文本块时,将该有效文本块作为所述扇形对象所占的比重;当所述扇形对象的内部或附近均不存在表示所述扇形对象所占比重信息的有效文本块时,计算所述扇形的角度并用该角度除以360°,将所得结果作为所述扇形对象所占的比重。
在一实施例中,所述装置还包括刻度分析单元47,具体用于:a)将所述图表区域沿上下方向划分成上侧子区域、下侧子区域,并沿左右方向划分成左侧子区域及右侧子区域;b)从所述上侧子区域、下侧子区域、左侧子区域及右侧子区域中任意选取一子区域,判断所述图表区域中的有效文本块是否与所选取的当前子区域在空间上相交;c)如是,判定所述有效文本块属于当前子区域;d)判断当前子区域中的有效文本块的数目是否大于或等于两个;e)如当前子区域中的有效文本块的数目大于或等于两个时,从所述有效文本块中筛选出当前子区域所含的刻度;重复步骤b)至步骤e,直至得到遍历完所述上侧子区域、下侧子区域、左侧子区域及右侧子区域。
在一实施例中,利用刻度分析单元47从所述有效文本块中筛选出当前子区域所含的刻度时,具体包括:如当前子区域为左侧子区域,从所述左侧子区域中的有效文本块中,筛选出右侧边缘在竖直方向上大致对齐并且在竖直方向上间隔相等的有效文本块,作为左侧子区域的刻度;如当前子区域为下侧子区域,从所述下侧子区域中的有效文本块中,筛选出上侧边缘在水平方向上大致对齐并且在水平方向上间隔相等的有效文本块,作为下侧子区域的刻度;如当前子区域为右侧子区域,从所述右侧子区域中的有效文本块中,筛选出左侧边缘在竖直方向上大致对齐并且在竖直方向上间隔相等的有效文本块,作为右侧子区域的刻度;如当前子区域为上侧子区域,从所述上侧子区域中的有效文本块中,筛选出下侧边缘在水平方向上大致对齐并且在水平方向上间隔相等的有效文本块,作为上侧子区域的刻度。
在一实施例中,在利用刻度分析单元47遍历完所述上侧子区域、下侧子区域、左侧子区域及右侧子区域后,刻度分析单元47还用于:分别对所得到的各子区域所含刻度进行语义分析,判断所述刻度是否能转换为时间序列或者为数值序列;如所述刻度转能换为时间序列,设置所述刻度为时间类型,并保存各刻度转换成时间序列后对应的时间戳;如所述刻度能转换为数值序列,设置所述刻度为数值类型,并保存各刻度转换成数值类型后对应的浮点数;如所述刻度不能转换为时间序列,也不能转换为数值序列,则将所述刻度设置为标签类型。
在一实施例中,当刻度为时间类型或数值类型时,刻度分析单元47还用于:统计所述图表区域内有效的折线对象的顶点的个数;判断是否所述顶点的个数大于所述下侧子区域或上侧子区域中所含刻度的个数,并且所述下侧子区域或上侧子区域所含刻度的个数不小于2;如是,在所述顶点处沿竖直方向对X轴作垂线,获取垂足至两相邻刻度的距离,结合所述刻度对应的时间戳或者浮点数,用线性差值法计算所述顶点对应的X轴坐标;在所述顶点处沿水平方向对Y轴作垂线,获取垂足至两相邻刻度的距离,结合所述刻度对应的时间戳或者浮点数,用线性差值法计算所述顶点对应的Y轴坐标。
在一实施例中,当所述刻度类型为标签类型时,刻度分析单元47还用于:统计所述图表区域内有效的折线对象的顶点的个数;判断是否所述顶点的个数大于所述下侧子区域或上侧子区域中所含刻度的个数,并且所述下侧子区域或上侧子区域所含刻度的个数不小于2;如是,在所述顶点处沿竖直方向对X轴作垂线,获取垂足至两相邻刻度的距离,将与所述垂足距离较近的刻度作为所述顶点对应的X轴坐标;在所述顶点处沿水平方向对Y轴作垂线,获取垂足至两相邻刻度的距离,将与所述垂足距离较近的刻度作为所述顶点对应的Y轴坐标。
在一实施例中,当所述刻度为时间类型或数值类型时,刻度分析单元47还用于:判断所述柱状对象是否为垂直方向的柱状对象;如是,统计所述图表区域内有效的柱状对象的个数;判断是否所述柱状对象的个数大于所述下侧子区域或上侧子区域中所含刻度的个数,并且所述下侧子区域或上侧子区域所含刻度的个数不小于2;如是,在所述柱状对象的中心点处沿竖直方向对X轴作垂线,获取垂足至两相邻刻度的距离,结合所述刻度对应的时间戳或者浮点数,用线性差值法计算所述柱状对象对应的X轴坐标;在所述柱状对象的中心点处沿水平方向对Y轴作垂线,获取垂足至两相邻刻度的距离,结合所述刻度对应的时间戳或者浮点数,用线性差值法计算所述柱状对象对应的Y轴坐标。
在一实施例中,当所述刻度为标签类型时,刻度分析单元47还用于:判断所述柱状对象是否为垂直方向的柱状对象;如是,统计所述图表区域内有效的柱状对象的个数;判断是否所述柱状对象的个数大于所述下侧子区域或上侧子区域中所含刻度的个数,并且所述下侧子区域或上侧子区域所含刻度的个数不小于2;如是,在所述柱状对象的中心点处沿竖直方向对X轴作垂线,获取垂足至两相邻刻度的距离,将与所述垂足距离较近的刻度作为所述柱状对象对应的X轴坐标;在所述柱状对象的中心点处沿水平方向对Y轴作垂线,获取垂足至两相邻刻度的距离,将与所述垂足距离较近的刻度作为所述柱状对象对应的Y轴坐标。
利用本发明实施例可以识别文件页面中的图表,并且提取出图表里面的数据。本发明实施例通过解析各种格式文件页面的内容,得到文件中存储的图表信息,包含文字和其在文件页面中的位置信息,以及各种图形元素及其在文件页面中的位置信息,通过组合这些信息找出文件页面中图表的区域,进一步分析这个区域以获取图表的元素,比如标题、图例、坐标轴、坐标轴刻度文字、折线、柱状等信息,通过这些信息就可以对文件中的图表进行重绘,并可以根据这些元素对图表进行检索、分析等处理。
图42为本发明实施例的电子设备的系统构成示意图。如图42所示,该电子设备可以包括处理器51和存储器52,其中存储器52耦合至处理器51。值得注意的是,该图是示例性的,还可以使用其他类型的结构来补充或替代该结构,实现数据提取、图表重绘、通信或其他功能。
在一个实施例中,处理器51可以被配置为进行如下控制:解析待识别页面中存储的底层数据,并按照所述底层数据的基本语义及坐标将所述底层数据组合成数据块;从所述数据块中分别抽取出图形对象和文字对象,并获取所述文字对象及图形对象在待识别页面中的位置信息;根据所述图形对象及文字对象识别所述待识别页面中的图表区域;对所述图表区域中的所述文字对象、图形对象进行数据融合,获取所述图表区域中所含的图表信息;其中,所述图表信息包括标题、图例、刻度、刻度属性中一种或几种。
其中,在根据所述图形对象及文字对象识别所述待识别页面中的图表区域时,处理器51还可以被配置为进行如下操作:a)从所述图形对象中任意选取一个图形对象,将其所在区域作为候选图表区域;b)判断与所述候选图表区域邻近的图形对象和/或文字对象是否大部分位于所述候选图表区域的内部;c)如是,将与所述候选图表区域邻近的图形对象和/或文字对象与所述候选图表区域合并,得到新的候选图表区域;重复步骤b)和c),直至与最新的候选图表区域邻近的图形对象和/或文字对象大部分位于最新的候选图表区域的外部,将最新的候选图表区域作为所述待识别页面的图表区域。其中,上述图形对象、文字对象、候选图表区域等信息可以作为存储在存储器52中。
其中,处理器51被配置为进行如下操作:判断所述候选图表区域的尺寸是否过大以及是否过小;当所述候选图表区域的尺寸既不过大也不过小时,判定所述候选图表区域为有效的图表区域。
其中,在判断所述候选图表区域的尺寸是否过大以及是否过小时,处理器51被配置为进行如下操作:判断所述候选图表区域的宽度是否大于所述待识别页面宽度的80%,并且所述候选图表区域的高度是否大于所述待识别页面高度的85%,如是,则判定所述候选图表区域的尺寸过大;判断所述候选图表区域的宽度是否小于所述待识别页面宽度的10%,并且所述候选图表区域的高度是否小于所述待识别页面高度的7%,如是,则判定所述候选图表区域的尺寸过小。
其中,在从所述数据块中分别抽取出图形对象和文字对象时,处理器51被配置为进行如下操作:从所述图形对象中抽取填充元素和/或轮廓元素,并解析出所述填充元素和/或轮廓元素的颜色和路径;根据所述填充元素和/或轮廓元素的颜色和路径确定所述图形对象的类型;其中,所述图形对象的类型包括:扇形对象、折线对象、面积对象、柱状对象、坐标轴线、坐标轴刻度线、辅助线、图标及位图对象中的至少一种,并且当所述图形对象中包含位图对象时,利用OCR模型识别出所述位图对象中包含的文字对象;根据所述文字对象的位置信息及文字对象的语义信息,将位置相近且语义相关的文字对象重组为有效文本块;其中,所述语义信息包括字符类型、字体类型、字体大小、字体颜色及字体方向中的一种或几种。
其中,在对所述图表区域中的所述文字对象、图形对象进行数据融合,获取所述图表区域中所含的图表信息时,处理器51被配置为进行如下操作:遍历位于所述图表区域中的有效文本块,结合预设的语义库判断各所述有效文本块是否为图表的标题;如否,计算各所述有效文本块距离所述图表区域左上角顶点和上侧边界中心点的距离,将距离所述图表区域左上角顶点或上侧边界中心点最近的有效文本块作为图表的标题。
其中,在对所述图表区域中的所述文字对象、图形对象进行数据融合,获取所述图表区域中所含的图表信息时,处理器51还被配置为进行如下操作:遍历所述图表区域中的有效文本块及图标,根据所述有效文本块及图标的坐标信息,判断所述图标与所述有效文本块是否高度相近并且所述有效文本块紧邻所述图标的右侧;如是,将所述图标及有效文本块合并作为所述图表的图例。
其中,当所述图表区域中包含类型为扇形对象的图形对象时,处理器51被配置为进行如下操作:判断所述扇形对象的内部或附近是否存在表示所述扇形对象所占比重信息的有效文本块;当所述扇形对象的内部或附近存在表示所述扇形对象所占比重信息的有效文本块时,将该有效文本块作为所述扇形对象所占的比重;当所述扇形对象的内部或附近均不存在表示所述扇形对象所占比重信息的有效文本块时,计算所述扇形的角度并用该角度除以360°,将所得结果作为所述扇形对象所占的比重。
其中,处理器51还被配置为进行如下操作:a)将所述图表区域沿上下方向划分成上侧子区域、下侧子区域,并沿左右方向划分成左侧子区域及右侧子区域;b)从所述上侧子区域、下侧子区域、左侧子区域及右侧子区域中任意选取一子区域,判断所述图表区域中的有效文本块是否与所选取的当前子区域在空间上相交;c)如是,判定所述有效文本块属于当前子区域;d)判断当前子区域中的有效文本块的数目是否大于或等于两个;e)如当前子区域中的有效文本块的数目大于或等于两个时,从所述有效文本块中筛选出当前子区域所含的刻度;重复步骤b)至步骤e),直至得到遍历完所述上侧子区域、下侧子区域、左侧子区域及右侧子区域。
其中,在从所述有效文本块中筛选出当前子区域所含的刻度后,处理器51被配置为进行如下操作:如当前子区域为左侧子区域,从所述左侧子区域中的有效文本块中,筛选出右侧边缘在竖直方向上大致对齐并且在竖直方向上间隔相等的有效文本块,作为左侧子区域的刻度;如当前子区域为下侧子区域,从所述下侧子区域中的有效文本块中,筛选出上侧边缘在水平方向上大致对齐并且在水平方向上间隔相等的有效文本块,作为下侧子区域的刻度;如当前子区域为右侧子区域,从所述右侧子区域中的有效文本块中,筛选出左侧边缘在竖直方向上大致对齐并且在竖直方向上间隔相等的有效文本块,作为右侧子区域的刻度;如当前子区域为上侧子区域,从所述上侧子区域中的有效文本块中,筛选出下侧边缘在水平方向上大致对齐并且在水平方向上间隔相等的有效文本块,作为上侧子区域的刻度。
其中,在遍历完所述上侧子区域、下侧子区域、左侧子区域及右侧子区域后,处理器51还被配置为进行如下操作:分别对所得到的各子区域所含刻度进行语义分析,判断所述刻度是否能转换为时间序列或者为数值序列;如所述刻度转能换为时间序列,设置所述刻度为时间类型,并保存各刻度转换成时间序列后对应的时间戳;如所述刻度能转换为数值序列,设置所述刻度为数值类型,并保存各刻度转换成数值类型后对应的浮点数;
如所述刻度不能转换为时间序列,也不能转换为数值序列,则将所述刻度设置为标签类型。
其中,当所述刻度为时间类型或数值类型时,处理器51还被配置为进行如下操作:统计所述图表区域内有效的折线对象的顶点的个数;判断是否所述顶点的个数大于所述下侧子区域或上侧子区域中所含刻度的个数,并且所述下侧子区域或上侧子区域所含刻度的个数不小于2;如是,在所述顶点处沿竖直方向对X轴作垂线,获取垂足至两相邻刻度的距离,结合所述刻度对应的时间戳或者浮点数,用线性差值法计算所述顶点对应的X轴坐标;在所述顶点处沿水平方向对Y轴作垂线,获取垂足至两相邻刻度的距离,结合所述刻度对应的时间戳或者浮点数,用线性差值法计算所述顶点对应的Y轴坐标。
其中,当所述刻度类型为标签类型时,处理器51还被配置为进行如下操作:统计所述图表区域内有效的折线对象的顶点的个数;判断是否所述顶点的个数大于所述下侧子区域或上侧子区域中所含刻度的个数,并且所述下侧子区域或上侧子区域所含刻度的个数不小于2;如是,在所述顶点处沿竖直方向对X轴作垂线,获取垂足至两相邻刻度的距离,将与所述垂足距离较近的刻度作为所述顶点对应的X轴坐标;在所述顶点处沿水平方向对Y轴作垂线,获取垂足至两相邻刻度的距离,将与所述垂足距离较近的刻度作为所述顶点对应的Y轴坐标。
其中,当所述刻度为时间类型或数值类型时,处理器51还被配置为:判断所述柱状对象是否为垂直方向的柱状对象;如是,统计所述图表区域内有效的柱状对象的个数;判断是否所述柱状对象的个数大于所述下侧子区域或上侧子区域中所含刻度的个数,并且所述下侧子区域或上侧子区域所含刻度的个数不小于2;如是,在所述柱状对象的中心点处沿竖直方向对X轴作垂线,获取垂足至两相邻刻度的距离,结合所述刻度对应的时间戳或者浮点数,用线性差值法计算所述柱状对象对应的X轴坐标;在所述柱状对象的中心点处沿水平方向对Y轴作垂线,获取垂足至两相邻刻度的距离,结合所述刻度对应的时间戳或者浮点数,用线性差值法计算所述柱状对象对应的Y轴坐标。
其中,当所述刻度为标签类型时,处理器51还被配置为进行如下操作:判断所述柱状对象是否为垂直方向的柱状对象;如是,统计所述图表区域内有效的柱状对象的个数;判断是否所述柱状对象的个数大于所述下侧子区域或上侧子区域中所含刻度的个数,并且所述下侧子区域或上侧子区域所含刻度的个数不小于2;如是,在所述柱状对象的中心点处沿竖直方向对X轴作垂线,获取垂足至两相邻刻度的距离,将与所述垂足距离较近的刻度作为所述柱状对象对应的X轴坐标;在所述柱状对象的中心点处沿水平方向对Y轴作垂线,获取垂足至两相邻刻度的距离,将与所述垂足距离较近的刻度作为所述柱状对象对应的Y轴坐标。
如图42所示,该电子设备还可以包括:输入单元53、显示单元54和电源55。值得注意的是,该电子设备也并不是必须要包括图42中显示的所所有部件。此外,电子设备还可以包括图42中没有示出的部件,可以参考现有技术。
处理器51有时也称控制器或操作控件,可以包括微处理器或其他处理器装置和/或逻辑装置,该处理器51接收输入并控制电子设备的各个部件的操作。
其中,存储器52例如可以是缓存器、闪存、硬驱、可移动介质、易失性存储器、非易失性存储器或其他合适装置中的一种或多种,可存储上述处理器51的配置信息、处理器51执行的指令、记录的图表数据等信息。处理器51可以执行存储器52存储的程序,以实现信息存储或处理等。在一个实施例中,存储器52中还包括缓冲存储器,即缓冲器,以存储中间信息。
输入单元53例如可以为文件读取装置,用于向处理器51提供待识别的文件。显示单元54用于显示从文件中识别出的底层数据,显示图形对象或文字对象,以及显示根据图表信息重绘得到的图表,该显示单元例如可以为LCD显示器,但本发明并不限于此。电源55用于为电子设备提供电力。
本发明实施例还提供一种计算机可读指令,其中当在电子设备中执行所述指令时,所述程序使得电子设备执行如图1所示的提取文件中图表信息的方法所包含的操作步骤。
本发明实施例还提供一种存储有计算机可读指令的存储介质,其中所述计算机可读指令使得电子设备执行如图1所示的提取文件中图表信息的方法所包含的操作步骤。
应理解,在本发明的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
还应理解,在本发明实施例中,术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系。例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本发明实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本发明中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (32)
1.一种提取文件中图表信息的方法,其特征在于,所述方法包括:
解析待识别页面中存储的底层数据,并按照所述底层数据中的行为标识符将所述底层数据组合成数据块;
从所述数据块中分别抽取出图形对象和文字对象,并获取所述文字对象及图形对象在待识别页面中的位置信息;
根据所述图形对象及文字对象识别所述待识别页面中的图表区域;
对所述图表区域中的所述文字对象、图形对象进行数据融合,获取所述图表区域中所含的图表信息;其中,所述图表信息包括标题、图例、刻度、刻度属性中一种或几种。
2.根据权利要求1所述的提取文件中图表信息的方法,其特征在于,根据所述图形对象及文字对象识别所述待识别页面中的图表区域,包括:
a)从所述图形对象中任意选取一个图形对象,将其所在区域作为候选图表区域;
b)判断与所述候选图表区域邻近的图形对象和/或文字对象是否大部分位于所述候选图表区域的内部;
c)如是,将与所述候选图表区域邻近的图形对象和/或文字对象与所述候选图表区域合并,得到新的候选图表区域;
重复步骤b)和c),直至与最新的候选图表区域邻近的图形对象和/或文字对象大部分位于最新的候选图表区域的外部,将最新的候选图表区域作为所述待识别页面的图表区域。
3.根据权利要求2所述的提取文件中图表信息的方法,其特征在于,所述方法还包括:
判断所述候选图表区域的尺寸是否过大以及是否过小;
当所述候选图表区域的尺寸既不过大也不过小时,判定所述候选图表区域为有效的图表区域。
4.根据权利要求3所述的提取文件中图表信息的方法,其特征在于,判断所述候选图表区域的尺寸是否过大以及是否过小,包括:
判断所述候选图表区域的宽度是否大于所述待识别页面宽度的80%,并且所述候选图表区域的高度是否大于所述待识别页面高度的85%,如是,则判定所述候选图表区域的尺寸过大;
判断所述候选图表区域的宽度是否小于所述待识别页面宽度的10%,并且所述候选图表区域的高度是否小于所述待识别页面高度的7%,如是,则判定所述候选图表区域的尺寸过小。
5.根据权利要求1所述的提取文件中图表信息的方法,其特征在于,从所述数据块中分别抽取出图形对象和文字对象,具体包括:
从所述图形对象中抽取填充元素和/或轮廓元素,并解析出所述填充元素和/或轮廓元素的颜色和路径;
根据所述填充元素和/或轮廓元素的颜色和路径确定所述图形对象的类型;其中,所述图形对象的类型包括:扇形对象、折线对象、面积对象、柱状对象、坐标轴线、坐标轴刻度线、辅助线、图标及位图对象中的至少一种,并且当所述图形对象中包含位图对象时,利用OCR模型识别出所述位图对象中包含的文字对象;
根据所述文字对象的位置信息及文字对象的语义信息,将位置相近且语义相关的文字对象重组为有效文本块;其中,所述语义信息包括字符类型、字体类型、字体大小、字体颜色及字体方向中的一种或几种。
6.根据权利要求5所述的提取文件中图表信息的方法,其特征在于,对所述图表区域中的所述文字对象、图形对象进行数据融合,获取所述图表区域中所含的图表信息,包括:
遍历位于所述图表区域中的有效文本块,结合预设的语义库判断各所述有效文本块是否为图表的标题;
如否,计算各所述有效文本块距离所述图表区域左上角顶点和上侧边界中心点的距离,将距离所述图表区域左上角顶点或上侧边界中心点最近的有效文本块作为图表的标题。
7.根据权利要求5所述的提取文件中图表信息的方法,其特征在于,对所述图表区域中的所述文字对象、图形对象进行数据融合,获取所述图表区域中所含的图表信息,包括:
遍历所述图表区域中的有效文本块及图标,根据所述有效文本块及图标的坐标信息,判断所述图标与所述有效文本块是否高度相近并且所述有效文本块紧邻所述图标的右侧;
如是,将所述图标及有效文本块合并作为所述图表的图例。
8.根据权利要求5所述的提取文件中图表信息的方法,其特征在于,当所述图表区域中包含类型为扇形对象的图形对象时,所述方法还包括:
判断所述扇形对象的内部或附近是否存在表示所述扇形对象所占比重信息的有效文本块;
当所述扇形对象的内部或附近存在表示所述扇形对象所占比重信息的有效文本块时,将该有效文本块作为所述扇形对象所占的比重;
当所述扇形对象的内部或附近均不存在表示所述扇形对象所占比重信息的有效文本块时,计算所述扇形的角度并用该角度除以360°,将所得结果作为所述扇形对象所占的比重。
9.根据权利要求5所述的提取文件中图表信息的方法,其特征在于,所述方法还包括:
a)将所述图表区域沿上下方向划分成上侧子区域、下侧子区域,并沿左右方向划分成左侧子区域及右侧子区域;
b)从所述上侧子区域、下侧子区域、左侧子区域及右侧子区域中任意选取一子区域,判断所述图表区域中的有效文本块是否与所选取的当前子区域在空间上相交;
c)如是,判定所述有效文本块属于当前子区域;
d)判断当前子区域中的有效文本块的数目是否大于或等于两个;
e)如当前子区域中的有效文本块的数目大于或等于两个时,从所述有效文本块中筛选出当前子区域所含的刻度;
重复步骤b)至步骤e),直至得到遍历完所述上侧子区域、下侧子区域、左侧子区域及右侧子区域。
10.根据权利要求9所述的提取文件中图表信息的方法,其特征在于,从所述有效文本块中筛选出当前子区域所含的刻度,具体包括:
如当前子区域为左侧子区域,从所述左侧子区域中的有效文本块中,筛选出右侧边缘在竖直方向上大致对齐并且在竖直方向上间隔相等的有效文本块,作为左侧子区域的刻度;
如当前子区域为下侧子区域,从所述下侧子区域中的有效文本块中,筛选出上侧边缘在水平方向上大致对齐并且在水平方向上间隔相等的有效文本块,作为下侧子区域的刻度;
如当前子区域为右侧子区域,从所述右侧子区域中的有效文本块中,筛选出左侧边缘在竖直方向上大致对齐并且在竖直方向上间隔相等的有效文本块,作为右侧子区域的刻度;
如当前子区域为上侧子区域,从所述上侧子区域中的有效文本块中,筛选出下侧边缘在水平方向上大致对齐并且在水平方向上间隔相等的有效文本块,作为上侧子区域的刻度。
11.根据权利要求9所述的提取文件中图表信息的方法,其特征在于,在遍历完所述上侧子区域、下侧子区域、左侧子区域及右侧子区域后,所述方法还包括:
分别对所得到的各子区域所含刻度进行语义分析,判断所述刻度是否能转换为时间序列或者为数值序列;
如所述刻度转能换为时间序列,设置所述刻度为时间类型,并保存各刻度转换成时间序列后对应的时间戳;
如所述刻度能转换为数值序列,设置所述刻度为数值类型,并保存各刻度转换成数值类型后对应的浮点数;
如所述刻度不能转换为时间序列,也不能转换为数值序列,则将所述刻度设置为标签类型。
12.根据权利要求11所述的提取文件中图表信息的方法,其特征在于,当所述刻度为时间类型或数值类型时,所述方法还包括:
统计所述图表区域内有效的折线对象的顶点的个数;
判断是否所述顶点的个数大于所述下侧子区域或上侧子区域中所含刻度的个数,并且所述下侧子区域或上侧子区域所含刻度的个数不小于2;如是,在所述顶点处沿竖直方向对X轴作垂线,获取垂足至两相邻刻度的距离,结合所述刻度对应的时间戳或者浮点数,用线性差值法计算所述顶点对应的X轴坐标;
在所述顶点处沿水平方向对Y轴作垂线,获取垂足至两相邻刻度的距离,结合所述刻度对应的时间戳或者浮点数,用线性差值法计算所述顶点对应的Y轴坐标。
13.根据权利要求11所述的提取文件中图表信息的方法,其特征在于,当所述刻度类型为标签类型时,所述方法还包括:
统计所述图表区域内有效的折线对象的顶点的个数;
判断是否所述顶点的个数大于所述下侧子区域或上侧子区域中所含刻度的个数,并且所述下侧子区域或上侧子区域所含刻度的个数不小于2;如是,在所述顶点处沿竖直方向对X轴作垂线,获取垂足至两相邻刻度的距离,将与所述垂足距离较近的刻度作为所述顶点对应的X轴坐标;
在所述顶点处沿水平方向对Y轴作垂线,获取垂足至两相邻刻度的距离,将与所述垂足距离较近的刻度作为所述顶点对应的Y轴坐标。
14.根据权利要求11所述的提取文件中图表信息的方法,其特征在于,当所述刻度为时间类型或数值类型时,所述方法还包括:
判断所述柱状对象是否为垂直方向的柱状对象;
如是,统计所述图表区域内有效的柱状对象的个数;
判断是否所述柱状对象的个数大于所述下侧子区域或上侧子区域中所含刻度的个数,并且所述下侧子区域或上侧子区域所含刻度的个数不小于2;如是,在所述柱状对象的中心点处沿竖直方向对X轴作垂线,获取垂足至两相邻刻度的距离,结合所述刻度对应的时间戳或者浮点数,用线性差值法计算所述柱状对象对应的X轴坐标;
在所述柱状对象的中心点处沿水平方向对Y轴作垂线,获取垂足至两相邻刻度的距离,结合所述刻度对应的时间戳或者浮点数,用线性差值法计算所述柱状对象对应的Y轴坐标。
15.根据权利要求11所述的提取文件中图表信息的方法,其特征在于,当所述刻度为标签类型时,所述方法还包括:
判断所述柱状对象是否为垂直方向的柱状对象;
如是,统计所述图表区域内有效的柱状对象的个数;
判断是否所述柱状对象的个数大于所述下侧子区域或上侧子区域中所含刻度的个数,并且所述下侧子区域或上侧子区域所含刻度的个数不小于2;如是,在所述柱状对象的中心点处沿竖直方向对X轴作垂线,获取垂足至两相邻刻度的距离,将与所述垂足距离较近的刻度作为所述柱状对象对应的X轴坐标;
在所述柱状对象的中心点处沿水平方向对Y轴作垂线,获取垂足至两相邻刻度的距离,将与所述垂足距离较近的刻度作为所述柱状对象对应的Y轴坐标。
16.一种提取文件中图表信息的装置,其特征在于,所述装置包括:
解析单元,用于解析待识别页面中存储的底层数据,并按照所述底层数据中的行为标识符将所述底层数据组合成数据块;
图形文字抽取单元,用于从所述数据块中分别抽取出图形对象和文字对象,并获取所述文字对象及图形对象在待识别页面中的位置信息;
图表区域识别单元,用于根据所述图形对象及文字对象识别所述待识别页面中的图表区域;
信息融合单元,用于对所述图表区域中的所述文字对象、图形对象进行数据融合,获取所述图表区域中所含的图表信息;其中,所述图表信息包括标题、图例、刻度、刻度属性中的一种或几种。
17.根据权利要求16所述的提取文件中图表信息的装置,其特征在于,所述图表区别识别单元具体用于:
a)从所述图形对象中任意选取一个图形对象,将其所在区域作为候选图表区域;
b)判断与所述候选图表区域邻近的图形对象和/或文字对象是否大部分位于所述候选图表区域的内部;
c)如是,将与所述候选图表区域邻近的图形对象和/或文字对象与所述候选图表区域合并,得到新的候选图表区域;
重复步骤b)和c),直至与最新的候选图表区域邻近的图形对象和/或文字对象大部分位于最新的候选图表区域的外部,将最新的候选图表区域作为所述待识别页面的图表区域。
18.根据权利要求17所述的提取文件中图表信息的装置,其特征在于,所述装置还包括:图表区域校验单元,用于判断所述候选图表区域的尺寸是否过大以及是否过小;当所述候选图表区域的尺寸既不过大也不过小时,判定所述候选图表区域为有效的图表区域。
19.根据权利要求18所述的提取文件中图表信息的装置,其特征在于,所述图表区域校验单元具体用于:
判断所述候选图表区域的宽度是否大于所述待识别页面宽度的80%,并且所述候选图表区域的高度是否大于所述待识别页面高度的85%,如是,则判定所述候选图表区域的尺寸过大;
判断所述候选图表区域的宽度是否小于所述待识别页面宽度的10%,并且所述候选图表区域的高度是否小于所述待识别页面高度的7%,如是,则判定所述候选图表区域的尺寸过小。
20.根据权利要求16所述的提取文件中图表信息的装置,其特征在于,所述图形文字抽取单元从所述数据块中分别抽取出图形对象和文字对象时,具体包括:
从所述图形对象中抽取填充元素和/或轮廓元素,并解析出所述填充元素和/或轮廓元素的颜色和路径;
根据所述填充元素和/或轮廓元素的颜色和路径确定所述图形对象的类型;其中,所述图形对象的类型包括:扇形对象、折线对象、面积对象、柱状对象、坐标轴线、坐标轴刻度线、辅助线、图标及位图对象中的至少一种,并且当所述图形对象中包含位图对象时,利用OCR模型识别出所述位图对象中包含的文字对象;
根据所述文字对象的位置信息及文字对象的语义信息,将位置相近且语义相关的文字对象重组为有效文本块;其中,所述语义信息包括字符类型、字体类型、字体大小、字体颜色及字体方向中的一种或几种。
21.根据权利要求20所述的提取文件中图表信息的装置,其特征在于,所述信息融合单元具体用于:
遍历位于所述图表区域中的有效文本块,结合预设的语义库判断各所述有效文本块是否为图表的标题;
如否,计算各所述有效文本块距离所述图表区域左上角顶点和上侧边界中心点的距离,将距离所述图表区域左上角顶点或上侧边界中心点最近的有效文本块作为图表的标题。
22.根据权利要求20所述的提取文件中图表信息的装置,其特征在于,所述信息融合单元还用于:
遍历所述图表区域中的有效文本块及图标,根据所述有效文本块及图标的坐标信息,判断所述图标与所述有效文本块是否高度相近并且所述有效文本块紧邻所述图标的右侧;
如是,将所述图标及有效文本块合并作为所述图表的图例。
23.根据权利要求20所述的提取文件中图表信息的装置,其特征在于,所述装置还包括:扇形比重分析单元,当所述图表区域中包含类型为扇形对象的图形对象时,所述扇形比重分析单元具体用于:
判断所述扇形对象的内部或附近是否存在表示所述扇形对象所占比重信息的有效文本块;
当所述扇形对象的内部或附近存在表示所述扇形对象所占比重信息的有效文本块时,将该有效文本块作为所述扇形对象所占的比重;
当所述扇形对象的内部或附近均不存在表示所述扇形对象所占比重信息的有效文本块时,计算所述扇形的角度并用该角度除以360°,将所得结果作为所述扇形对象所占的比重。
24.根据权利要求20所述的提取文件中图表信息的装置,其特征在于,所述装置还包括:刻度分析单元,所述刻度分析单元具体用于:
a)将所述图表区域沿上下方向划分成上侧子区域、下侧子区域,并沿左右方向划分成左侧子区域及右侧子区域;
b)从所述上侧子区域、下侧子区域、左侧子区域及右侧子区域中任意选取一子区域,判断所述图表区域中的有效文本块是否与所选取的当前子区域在空间上相交;
c)如是,判定所述有效文本块属于当前子区域;
d)判断当前子区域中的有效文本块的数目是否大于或等于两个;
e)如当前子区域中的有效文本块的数目大于或等于两个时,从所述有效文本块中筛选出当前子区域所含的刻度;
重复步骤b)至步骤e,直至得到遍历完所述上侧子区域、下侧子区域、左侧子区域及右侧子区域。
25.根据权利要求24所述的提取文件中图表信息的装置,其特征在于,利用所述刻度分析单元从所述有效文本块中筛选出当前子区域所含的刻度时,具体包括:
如当前子区域为左侧子区域,从所述左侧子区域中的有效文本块中,筛选出右侧边缘在竖直方向上大致对齐并且在竖直方向上间隔相等的有效文本块,作为左侧子区域的刻度;
如当前子区域为下侧子区域,从所述下侧子区域中的有效文本块中,筛选出上侧边缘在水平方向上大致对齐并且在水平方向上间隔相等的有效文本块,作为下侧子区域的刻度;
如当前子区域为右侧子区域,从所述右侧子区域中的有效文本块中,筛选出左侧边缘在竖直方向上大致对齐并且在竖直方向上间隔相等的有效文本块,作为右侧子区域的刻度;
如当前子区域为上侧子区域,从所述上侧子区域中的有效文本块中,筛选出下侧边缘在水平方向上大致对齐并且在水平方向上间隔相等的有效文本块,作为上侧子区域的刻度。
26.根据权利要求24所述的提取文件中图表信息的装置,其特征在于,在利用所述刻度分析单元遍历完所述上侧子区域、下侧子区域、左侧子区域及右侧子区域后,所述刻度分析单元还用于:
分别对所得到的各子区域所含刻度进行语义分析,判断所述刻度是否能转换为时间序列或者为数值序列;
如所述刻度转能换为时间序列,设置所述刻度为时间类型,并保存各刻度转换成时间序列后对应的时间戳;
如所述刻度能转换为数值序列,设置所述刻度为数值类型,并保存各刻度转换成数值类型后对应的浮点数;
如所述刻度不能转换为时间序列,也不能转换为数值序列,则将所述刻度设置为标签类型。
27.根据权利要求26所述的提取文件中图表信息的装置,其特征在于,当所述刻度为时间类型或数值类型时,所述刻度分析单元还用于:
统计所述图表区域内有效的折线对象的顶点的个数;
判断是否所述顶点的个数大于所述下侧子区域或上侧子区域中所含刻度的个数,并且所述下侧子区域或上侧子区域所含刻度的个数不小于2;如是,在所述顶点处沿竖直方向对X轴作垂线,获取垂足至两相邻刻度的距离,结合所述刻度对应的时间戳或者浮点数,用线性差值法计算所述顶点对应的X轴坐标;
在所述顶点处沿水平方向对Y轴作垂线,获取垂足至两相邻刻度的距离,结合所述刻度对应的时间戳或者浮点数,用线性差值法计算所述顶点对应的Y轴坐标。
28.根据权利要求26所述的提取文件中图表信息的装置,其特征在于,当所述刻度类型为标签类型时,所述刻度分析单元还用于:
统计所述图表区域内有效的折线对象的顶点的个数;
判断是否所述顶点的个数大于所述下侧子区域或上侧子区域中所含刻度的个数,并且所述下侧子区域或上侧子区域所含刻度的个数不小于2;如是,在所述顶点处沿竖直方向对X轴作垂线,获取垂足至两相邻刻度的距离,将与所述垂足距离较近的刻度作为所述顶点对应的X轴坐标;
在所述顶点处沿水平方向对Y轴作垂线,获取垂足至两相邻刻度的距离,将与所述垂足距离较近的刻度作为所述顶点对应的Y轴坐标。
29.根据权利要求26所述的提取文件中图表信息的装置,其特征在于,当所述刻度为时间类型或数值类型时,所述刻度分析单元还用于:
判断所述柱状对象是否为垂直方向的柱状对象;
如是,统计所述图表区域内有效的柱状对象的个数;
判断是否所述柱状对象的个数大于所述下侧子区域或上侧子区域中所含刻度的个数,并且所述下侧子区域或上侧子区域所含刻度的个数不小于2;如是,在所述柱状对象的中心点处沿竖直方向对X轴作垂线,获取垂足至两相邻刻度的距离,结合所述刻度对应的时间戳或者浮点数,用线性差值法计算所述柱状对象对应的X轴坐标;
在所述柱状对象的中心点处沿水平方向对Y轴作垂线,获取垂足至两相邻刻度的距离,结合所述刻度对应的时间戳或者浮点数,用线性差值法计算所述柱状对象对应的Y轴坐标。
30.根据权利要求26所述的提取文件中图表信息的装置,其特征在于,当所述刻度为标签类型时,所述刻度分析单元还用于:
判断所述柱状对象是否为垂直方向的柱状对象;
如是,统计所述图表区域内有效的柱状对象的个数;
判断是否所述柱状对象的个数大于所述下侧子区域或上侧子区域中所含刻度的个数,并且所述下侧子区域或上侧子区域所含刻度的个数不小于2;如是,在所述柱状对象的中心点处沿竖直方向对X轴作垂线,获取垂足至两相邻刻度的距离,将与所述垂足距离较近的刻度作为所述柱状对象对应的X轴坐标;
如是,在所述柱状对象的中心点处沿水平方向对Y轴作垂线,获取垂足至两相邻刻度的距离,将与所述垂足距离较近的刻度作为所述柱状对象对应的Y轴坐标。
31.一种包括计算机可读指令的计算机可读存储介质,其特征在于,所述计算机可读指令在被执行时使处理器执行权利要求1-15中任一项所示方法中的操作。
32.一种电子设备,其特征在于,所述的电子设备包括:
存储器,存储程序指令;
处理器,与所述存储器相连接,执行存储器中的程序指令,按权利要求1-15任一项所述的方法提取文件中的图表信息。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711223065.2A CN108038426A (zh) | 2017-11-29 | 2017-11-29 | 一种提取文件中图表信息的方法及装置 |
US15/955,616 US20190163970A1 (en) | 2017-11-29 | 2018-04-17 | Method and device for extracting chart information in file |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711223065.2A CN108038426A (zh) | 2017-11-29 | 2017-11-29 | 一种提取文件中图表信息的方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108038426A true CN108038426A (zh) | 2018-05-15 |
Family
ID=62094004
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711223065.2A Withdrawn CN108038426A (zh) | 2017-11-29 | 2017-11-29 | 一种提取文件中图表信息的方法及装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20190163970A1 (zh) |
CN (1) | CN108038426A (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109298819A (zh) * | 2018-09-21 | 2019-02-01 | Oppo广东移动通信有限公司 | 选择对象的方法、装置、终端及存储介质 |
CN109447007A (zh) * | 2018-12-19 | 2019-03-08 | 天津瑟威兰斯科技有限公司 | 一种基于表格节点识别的表格结构补全算法 |
CN109461195A (zh) * | 2018-09-28 | 2019-03-12 | 武汉优品楚鼎科技有限公司 | 一种基于svg的图表提取方法、装置及设备 |
CN110909732A (zh) * | 2019-10-14 | 2020-03-24 | 杭州电子科技大学上虞科学与工程研究院有限公司 | 一种图中数据的自动提取方法 |
CN112115111A (zh) * | 2019-06-20 | 2020-12-22 | 上海怀若智能科技有限公司 | 一种基于ocr的文档版本管理方法和系统 |
WO2020252931A1 (zh) * | 2019-06-17 | 2020-12-24 | 平安科技(深圳)有限公司 | 一种pdf文件数据提取方法和装置、设备及存储介质 |
CN112307163A (zh) * | 2020-08-14 | 2021-02-02 | 新颖数位文创股份有限公司 | 对象识别装置和对象识别方法 |
CN112464626A (zh) * | 2020-12-09 | 2021-03-09 | 上海携宁计算机科技股份有限公司 | Pdf文档的图表提取方法、电子设备和存储介质 |
CN114202761A (zh) * | 2022-02-16 | 2022-03-18 | 广东数源智汇科技有限公司 | 一种基于图片信息聚类的信息批量提取方法 |
CN114241090A (zh) * | 2021-12-31 | 2022-03-25 | 广州朗国电子科技股份有限公司 | 一种基于ocr的电子白板直线绘制方法、系统、设备及介质 |
CN115204132A (zh) * | 2022-09-19 | 2022-10-18 | 南京数睿数据科技有限公司 | 图表描述信息生成方法、装置、设备、介质和程序产品 |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20210133389A1 (en) | 2019-02-18 | 2021-05-06 | Pro Quick Draw LLC | Document transformation between program formats and templates system and method |
US11307732B1 (en) * | 2019-02-18 | 2022-04-19 | Pro Quick Draw LLC | Integrated method and system for creation of a diagram compilation book and exporting the book for use as content in a visual presentation tool |
CN110516221B (zh) * | 2019-08-29 | 2021-07-30 | 企查查科技有限公司 | 提取pdf文档中图表数据的方法、设备和存储介质 |
CN111400451B (zh) * | 2020-03-16 | 2023-05-09 | 北京百度网讯科技有限公司 | 信息抽取方法、信息抽取装置和电子设备 |
CN112214620A (zh) * | 2020-09-25 | 2021-01-12 | 北京百度网讯科技有限公司 | 信息查询方法、装置、图表处理方法以及电子设备 |
CN112434502A (zh) * | 2020-11-04 | 2021-03-02 | 西安理工大学 | 一种自动识别螺栓cad工程制图的方法 |
CN112685677A (zh) * | 2021-01-06 | 2021-04-20 | 腾讯科技(深圳)有限公司 | 页面组件的处理方法、装置、电子设备及计算机存储介质 |
CN113313038A (zh) * | 2021-06-02 | 2021-08-27 | 上海又为智能科技有限公司 | 一种用于识别图表的方法、装置及存储介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007184982A (ja) * | 2007-03-23 | 2007-07-19 | Sharp Corp | 画像合成装置 |
CN101714149A (zh) * | 2008-10-08 | 2010-05-26 | 北大方正集团有限公司 | 一种反解版式文件后得到的图片和图说的自动关联方法 |
US20110043869A1 (en) * | 2007-12-21 | 2011-02-24 | Nec Corporation | Information processing system, its method and program |
US20130007056A1 (en) * | 2008-12-10 | 2013-01-03 | Murugan Palaniappan | Association And Extraction Of Content Artifacts From A Graphical Representation Of Electronic Content |
CN105302550A (zh) * | 2015-10-12 | 2016-02-03 | 江苏中威科技软件系统有限公司 | 将页面转为版式数据流文件的方法及系统 |
US20160078127A1 (en) * | 2014-09-17 | 2016-03-17 | International Business Machines Corporation | Automatic data interpretation and answering analytical questions with tables and charts |
CN106897690A (zh) * | 2017-02-22 | 2017-06-27 | 南京述酷信息技术有限公司 | Pdf表格提取方法 |
CN107133566A (zh) * | 2017-03-31 | 2017-09-05 | 常诚 | 一种识别pdf文档中图表的方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6999917B1 (en) * | 2000-02-22 | 2006-02-14 | Microsoft Corporation | Left-corner chart parsing system |
US10360703B2 (en) * | 2017-01-13 | 2019-07-23 | International Business Machines Corporation | Automatic data extraction from a digital image |
-
2017
- 2017-11-29 CN CN201711223065.2A patent/CN108038426A/zh not_active Withdrawn
-
2018
- 2018-04-17 US US15/955,616 patent/US20190163970A1/en not_active Abandoned
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007184982A (ja) * | 2007-03-23 | 2007-07-19 | Sharp Corp | 画像合成装置 |
US20110043869A1 (en) * | 2007-12-21 | 2011-02-24 | Nec Corporation | Information processing system, its method and program |
CN101714149A (zh) * | 2008-10-08 | 2010-05-26 | 北大方正集团有限公司 | 一种反解版式文件后得到的图片和图说的自动关联方法 |
US20130007056A1 (en) * | 2008-12-10 | 2013-01-03 | Murugan Palaniappan | Association And Extraction Of Content Artifacts From A Graphical Representation Of Electronic Content |
US20160078127A1 (en) * | 2014-09-17 | 2016-03-17 | International Business Machines Corporation | Automatic data interpretation and answering analytical questions with tables and charts |
CN105302550A (zh) * | 2015-10-12 | 2016-02-03 | 江苏中威科技软件系统有限公司 | 将页面转为版式数据流文件的方法及系统 |
CN106897690A (zh) * | 2017-02-22 | 2017-06-27 | 南京述酷信息技术有限公司 | Pdf表格提取方法 |
CN107133566A (zh) * | 2017-03-31 | 2017-09-05 | 常诚 | 一种识别pdf文档中图表的方法 |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109298819B (zh) * | 2018-09-21 | 2021-03-16 | Oppo广东移动通信有限公司 | 选择对象的方法、装置、终端及存储介质 |
CN109298819A (zh) * | 2018-09-21 | 2019-02-01 | Oppo广东移动通信有限公司 | 选择对象的方法、装置、终端及存储介质 |
CN109461195A (zh) * | 2018-09-28 | 2019-03-12 | 武汉优品楚鼎科技有限公司 | 一种基于svg的图表提取方法、装置及设备 |
CN109447007A (zh) * | 2018-12-19 | 2019-03-08 | 天津瑟威兰斯科技有限公司 | 一种基于表格节点识别的表格结构补全算法 |
WO2020252931A1 (zh) * | 2019-06-17 | 2020-12-24 | 平安科技(深圳)有限公司 | 一种pdf文件数据提取方法和装置、设备及存储介质 |
CN112115111A (zh) * | 2019-06-20 | 2020-12-22 | 上海怀若智能科技有限公司 | 一种基于ocr的文档版本管理方法和系统 |
CN110909732A (zh) * | 2019-10-14 | 2020-03-24 | 杭州电子科技大学上虞科学与工程研究院有限公司 | 一种图中数据的自动提取方法 |
CN110909732B (zh) * | 2019-10-14 | 2022-03-25 | 杭州电子科技大学上虞科学与工程研究院有限公司 | 一种图中数据的自动提取方法 |
CN112307163A (zh) * | 2020-08-14 | 2021-02-02 | 新颖数位文创股份有限公司 | 对象识别装置和对象识别方法 |
CN112464626A (zh) * | 2020-12-09 | 2021-03-09 | 上海携宁计算机科技股份有限公司 | Pdf文档的图表提取方法、电子设备和存储介质 |
CN112464626B (zh) * | 2020-12-09 | 2022-04-01 | 上海携宁计算机科技股份有限公司 | Pdf文档的图表提取方法、电子设备和存储介质 |
CN114241090A (zh) * | 2021-12-31 | 2022-03-25 | 广州朗国电子科技股份有限公司 | 一种基于ocr的电子白板直线绘制方法、系统、设备及介质 |
CN114241090B (zh) * | 2021-12-31 | 2022-11-04 | 广州朗国电子科技股份有限公司 | 一种基于ocr的电子白板直线绘制方法、系统、设备及介质 |
CN114202761A (zh) * | 2022-02-16 | 2022-03-18 | 广东数源智汇科技有限公司 | 一种基于图片信息聚类的信息批量提取方法 |
CN115204132A (zh) * | 2022-09-19 | 2022-10-18 | 南京数睿数据科技有限公司 | 图表描述信息生成方法、装置、设备、介质和程序产品 |
CN115204132B (zh) * | 2022-09-19 | 2022-12-30 | 南京数睿数据科技有限公司 | 图表描述信息生成方法、装置、设备、介质和程序产品 |
Also Published As
Publication number | Publication date |
---|---|
US20190163970A1 (en) | 2019-05-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108038426A (zh) | 一种提取文件中图表信息的方法及装置 | |
AU2021205057B2 (en) | System and method for automated conversion of interactive sites and applications to support mobile and other display environments | |
US10417316B2 (en) | Emphasizing a portion of the visible content elements of a markup language document | |
CN100426206C (zh) | 改善大物体在小显示器上的显示 | |
US20060103667A1 (en) | Method, system and computer readable code for automatic reize of product oriented advertisements | |
CN105511792A (zh) | 一种表单在位手写输入方法及系统 | |
CN116311259B (zh) | 一种pdf业务文档的信息抽取方法 | |
CN103440239A (zh) | 一种基于功能区域识别的网页切分方法及装置 | |
US20140281948A1 (en) | Information displaying apparatus, information editing method and non-transitory computer-readable storage medium | |
Yang et al. | The pattern is in the details: An evaluation of interaction techniques for locating, searching, and contextualizing details in multivariate matrix visualizations | |
CN101499179B (zh) | 图像处理装置和图像处理方法 | |
US20140092406A1 (en) | Image processing apparatus and method, and non-transitory computer readable medium | |
CN106372070A (zh) | 一种图形界面中数据的展示方法及装置 | |
Latif et al. | Visually augmenting documents with data | |
CN105474267A (zh) | 硬件字形缓存 | |
KR100737221B1 (ko) | 숨겨진 라인이 제거된 벡터 이미지를 제공하는 방법 | |
CN1989544A (zh) | 字符串最佳配置程序 | |
JP2009134762A (ja) | ディジタルコンテンツ作成システムおよびディジタルコンテンツ作成プログラム、並びにディジタルコンテンツ作成方法 | |
US20130104014A1 (en) | Viewer unit, server unit, display control method, digital comic editing method and non-transitory computer-readable medium | |
US20230196628A1 (en) | Vector Graphic Parsing and Multi-Segment Transformation | |
Miklín et al. | Proposal for the hierarchical classification of thematic cartography methods and its application to evaluation of Czech and Slovak national atlases | |
Fouladi et al. | Toward automatic development of handwritten personal Farsi/Arabic OpenType® fonts | |
JP4730033B2 (ja) | 表示図面作成プログラム、方法及び装置 | |
Zamora Saiz et al. | Visualization | |
Brodeur | Carto 2016 Workshop-Introduction to Open Source GIS with QGIS |
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 | ||
WW01 | Invention patent application withdrawn after publication | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20180515 |