一种版面分析方法及装置
技术领域
本发明涉及数字资源处理领域,具体涉及一种版面分析方法及装置。
背景技术
版式文档格式是版面呈现效果固定的电子文档格式,版式文档的呈现与设备无关,在各种设备上阅读、打印或印刷时,其版面的呈现结果都是一致的。随着计算机技术的发展以及电子阅读设备的广泛使用,版式文件的数量也呈现出爆炸性增长。由于一般的版式文档的显示型式固定,不利于在多种不同大小的显示屏幕上完整显示,因此需要版式文档可以根据显示设备的大小对文档的内容进行重新排版。
对版式文档重新排版的前提是对版式文档的内容进行分析和识别,版式文档的图像内容可以分为文本、表格、图像、图形、分隔符等,由同一种内容构成的区域成为同质区域。版面分析就是将文档图像中的同质区域进行分割、标注的一种方法,是进行文档图像分析和文字识别的首要过程。
现有的版式文档版面分析方法在进行版面分析时,其主要使用的输入数据的是通过版式文档引擎从版式文档中获得的基本图元(如字符,图像,图形等)数据信息。如在中国专利文献CN中公开了一种版面分析方法,包括提取过程、静态区域对象图元收集过程、分析次序确定过程以及逻辑段落分析过程,所述逻辑段落分析过程包括字符分析过程、逻辑连接边生成过程、成行分析过程、成段分析过程、段落结果筛选过程、动态区域对象图元收集过程以及移除过程。采用逻辑参考信息与基本图元数据信息结合的方式,并在版面分析过程中充分利用这部分逻辑参考消息,从而得到版面分析结果。由于该方案中需要进行静态区域对象图元收集,因此需要获取段落信息、图片表格的坐标信息等,对逻辑参考信息过于依赖,当逻辑参考信息提供的内容不全时,版面识别的效果不理想。
此外,在实际的数字文档生产过程当中,即从源素材到最终目标版式文档的中间加工步骤中,常常可以以较小的代价从源素材获取到一部分逻辑结构参考信息,这部分的逻辑结构信息如果也能够作为输入数据结合到现有的版面分析方法当中,则可以有效的改进版式文档的版面分析结果。
发明内容
因此,本发明要解决的技术问题在于克服现有技术中的版面识别方法对逻辑参考信息要求高、识别效果不理想的缺陷。
本发明提供一种版面分析方法,包括如下步骤:
获得版式文档的逻辑参考信息;
对当前版面内的逻辑参考信息中的段落依次进行识别,获得识别结果,将识别后的段落从逻辑参考信息中删除;
判断当前版面是否识别完成,若识别完成则对下一版面进行识别。
优选地,还包括若当前版面识别完成,判断所述当前版面上是否存在未识别的图片,若存在则根据其坐标位置判断其逻辑位置,加入识别结果中。
优选地,还包括若当前版面识别完成,遍历该版面识别结果中已识别的段落,判断每个段落中是否存在连续的英文字母,若存在则将连续的英文字母作为一个整体,重新加入到识别结果中。
优选地,还包括若当前版面识别完成,遍历该版面识别结果中已识别的段落,判断每个段落中是否存在数学符号,若存在则以该数学符号为中心,收集两侧的数字或英文或数学符号,直到遇到中文或标点为止,将收集后的内容作为一个整体,重新加入到识别结果中。
优选地,所述判断当前版面是否识别完成的步骤,包括
判断所述当前版面内是否存在图元,若不存在则当前版面完成识别;
若当前版面内存在图元,判断所述图元是否少于预设阈值,若是则判断所述图元坐标是否分散,若是则判断所述图元坐标是否在最后识别端之上,若是则当前版面完成识别。
优选地,所述判断当前版面是否识别完成的步骤,包括
尝试识别下一版面的逻辑参考信息,若当前版面与下一版面的逻辑信息匹配,则当前版面识别完成,否则当前版面识别未完成。
优选地,所述判断当前版面是否识别完成的步骤,包括
判断当前版面的逻辑参考信息中成段分析是否失败,如果失败则跳过该段落,对该段落之后的段落进行成段分析,若均失败则当前版面识别完成。
本发明还提供一种版面分析装置,包括:
逻辑参考信息获取单元,用于获得版式文档的逻辑参考信息;
版面识别单元,用于对当前版面内的逻辑参考信息中的段落依次进行识别,获得识别结果,将识别后的段落从逻辑参考信息中删除;
版面切换单元,用于判断当前版面是否识别完成,若识别完成则对下一版面进行识别。
优选地,还包括未识别图片处理单元,用于若当前版面识别完成,判断所述当前版面上是否存在未识别的图片,若存在则根据其坐标位置判断其逻辑位置,加入识别结果中。
优选地,还包括英文效果优化单元,用于若当前版面识别完成,遍历该版面识别结果中已识别的段落,判断每个段落中是否存在连续的英文字母,若存在则将连续的英文字母作为一个整体,重新加入到识别结果中。
优选地,还包括公式效果优化单元,用于若当前版面识别完成,遍历该版面识别结果中已识别的段落,判断每个段落中是否存在数学符号,若存在则以该数学符号为中心,收集两侧的数字或英文或数学符号,直到遇到中文或标点为止,将收集后的内容作为一个整体,重新加入到识别结果中。
本发明技术方案,具有如下优点:
1.本发明提供的版面分析方法及装置,获得版式文档的逻辑参考信息;对当前版面内的逻辑参考信息中的段落依次进行识别,获得识别结果,将识别后的段落从逻辑参考信息中删除;判断当前版面是否识别完成,若识别完成则对下一版面进行识别。该方案中,对版面的逻辑参考信息进行顺次识别,识别完成则切换至下一页,无需获取版面的静态图元的收集,因此对逻辑参考信息的依赖性小,可以使用简单的逻辑参考信息进行版面分析。
2.本发明提供的版面分析方法及装置,若当前版面识别完成,判断所述当前版面上是否存在未识别的图片,若存在则根据其坐标位置判断其逻辑位置,加入识别结果中。针对版面内的图片进行单独处理,使得对图片的识别效果更好。
3.本发明提供的版面分析方法及装置,若当前版面识别完成,遍历该版面识别结果中已识别的段落,判断每个段落中是否存在连续的英文字母或数学符号,通过重新整合的方式,使得英文单词和数学公式显示效果更好,提高了识别精度。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例1中的版面分析方法的流程图;
图2为本发明实施例2中的版面分析装置的结构框图;
具体实施方式
下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,还可以是两个元件内部的连通,可以是无线连接,也可以是有线连接。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
此外,下面所描述的本发明不同实施方式中所涉及的技术特征只要彼此之间未构成冲突就可以相互结合。
实施例1
本实施例提供一种版面分析方法,用于根据逻辑参考信息对版式文档进行分析,包括如下步骤:
S1、获得版式文档的逻辑参考信息。在版式文档的生产过程中可以获得该文档的逻辑结构参考信息,将该信息作为版面分析的输入数据,将这些信息与文档中的基本图元数据结合,形成具有逻辑参考信息的基本分析图元。图元是指版式文档中的一个基本单元,如一个字符。
S2、对当前版面内的逻辑参考信息中的段落依次进行识别,获得识别结果,将识别后的段落从逻辑参考信息中删除。
该步骤中段落信息按顺序组织,采用自上到下的顺序进行段落识别。段落识别方法,包括字符分析、逻辑连接边生成、成行分析、成段分析、段落结果筛选、动态区域对象图元收集和移除已识别图元。
S3、判断当前版面是否识别完成,若识别完成则对下一版面进行识别。
在该步骤中,判断当前版面是否识别完成的过程,包括多种方式,首先,判断所述当前版面内是否存在图元,若不存在任何图元则说明当前版面完成识别。其次,若当前版面内存在图元,判断所述图元是否少于预设阈值(说明只存在少量图元),若是则判断所述图元坐标是否分散,若是则判断所述图元坐标是否在最后识别端之上,若是则当前版面完成识别。一般情况下,由于存在特殊字符、空格、不能识别的字符等,对段落内的图元进行识别后,会存在一些未能识别的字符,因此并未删除,所以会存在少量的图元。如果版面内存在少量图元,但是图元坐标位置相对分散,并且其坐标位置在最后一识别段之上,说明剩余图元是位于最后一段之上的未识别图元,上述段落均已经被识别过,此时可以认为该版面已经识别完成,可以切换下一版面进行处理。
作为另外的一种方式,判断当前版面是否识别完成的过程,还可以采用以下方法:
第一种尝试识别方法:尝试识别下一版面的逻辑参考信息,若当前版面与下一版面的逻辑信息匹配,则当前版面识别完成,否则当前版面识别未完成。通过尝试识别下一个版面,如果当前版面识别后与下一版面识别后可以无缝对接,则说明当前版面已经识别完成了。
第二种尝试识别方法:判断当前版面的逻辑参考信息中成段分析是否失败,如果失败则跳过该段落,对该段落之后的段落(预设一定数量,如之后的3-5段)进行成段分析,若均失败则当前版面识别完成。该步骤是说,如果当前版面的逻辑参考信息的某段在“成段分析”时失败,说明此逻辑段匹配失败,成段分析失败可能是又有版面结束,也可能是由于当前段落信息出现问题导致。此时,先缓存并跳过此段,尝试识别之后的几段,一旦发现完全识别,则从此段继续开始识别,抛弃之前缓存的逻辑段。否则连续几次试探成段分析均失败则认为本页结束,切换版式页。具体地,试探识别的段数可以设置为3段。
通过依次识别所有版面中的逻辑参考信息,则完成了对版式文档的版面分析。该方案中,对版面的逻辑参考信息进行顺次识别,识别完成则切换至下一页,无需获取版面的静态图元的收集,因此对逻辑参考信息的依赖性小,可以使用简单的逻辑参考信息进行版面分析。
作为进一步优化的方案,为了对图片、公式、英文信息等进行更好的处理,该方法还包括S4、若当前版面识别完成,判断所述当前版面上是否存在未识别的图片,若存在则根据其坐标位置判断其逻辑位置,加入识别结果中。具体为:遍历版面内未识别的图片,对每个图片,找到纵向物理位置上最相近的识别段,如果图片夹在两个段落之间,则将图片插入识别结果中的两段之间。如果图片与某几个段落重合,则选择重合度最大的,并将图片插入识别结果中的此段之下。
为了对英文字符更好的识别,该方法还包括S5、若当前版面识别完成,遍历该版面识别结果中已识别的段落,判断每个段落中是否存在连续的英文字母,若存在则将连续的英文字母作为一个整体,重新加入到识别结果中。也就是说,如果某段中的内容符合英文单词特征,则将其视为一个整体处理。具体为遍历一个已识别段的所有字符,如果发现出现连续的英文字母,则将此连续的英文字母视为一个整体,并重新加入到识别结果中。本实施例中的方法避免了使用现有技术中的版面分析方法处理后英文字符完全连成一串,没有空格、没有单词,完全不可读的现象,解决了现有方案对于英文识别效果很差,最终效果无法阅读的问题。
为了对数字公式更好的识别,该方法还包括S6、若当前版面识别完成,遍历该版面识别结果中已识别的段落,判断每个段落中是否存在数学符号,若存在则以该数学符号为中心,收集两侧的数字或英文或数学符号,直到遇到中文或标点为止,将收集后的内容作为一个整体,重新加入到识别结果中。也就是说,如果某段中的内容符合公式特征,则将其视为一个整体处理。具体为遍历一个已识别段的所有字符,如果发现数学符号,则以此数学符号为中心,吸收两侧的数字、英文、数学符号,直到遇到中文、标点为止,将吸收的字符视作一个整体,并重新加入到识别结果中。解决了现有技术中对于一段公式,逻辑参考信息给出的是一串字符,导致最终识别效果出现公式上下标错位、丢失问题。
S4、S5、S6的步骤不区分先后,采用上述方案对图片、英文、公式进行优化,图片重新插入合适的位置,将英文单词、公式作为一个整体输出,保持图元的相对位置不变,版面识别效果更好。
实施例2:
本发明提供一种版面分析装置,结构框图如图2所示,包括:
逻辑参考信息获取单元01,用于获得版式文档的逻辑参考信息;
版面识别单元02,用于对当前版面内的逻辑参考信息中的段落依次进行识别,获得识别结果,将识别后的段落从逻辑参考信息中删除;
版面切换单元03,用于判断当前版面是否识别完成,若识别完成则对下一版面进行识别。
优选地,还包括未识别图片处理单元04,用于若当前版面识别完成,判断所述当前版面上是否存在未识别的图片,若存在则根据其坐标位置判断其逻辑位置,加入识别结果中。
作为优选的方案,还包括英文效果优化单元05,用于若当前版面识别完成,遍历该版面识别结果中已识别的段落,判断每个段落中是否存在连续的英文字母,若存在则将连续的英文字母作为一个整体,重新加入到识别结果中。
进一步优选地,还包括公式效果优化单元06,用于若当前版面识别完成,遍历该版面识别结果中已识别的段落,判断每个段落中是否存在数学符号,若存在则以该数学符号为中心,收集两侧的数字或英文或数学符号,直到遇到中文或标点为止,将收集后的内容作为一个整体,重新加入到识别结果中。
在具体的实施方案中,版面切换单元03包括
第一版面完成判别子单元,判断所述当前版面内是否存在图元,若不存在则当前版面完成识别;
第二版面完成判别子单元,若当前版面内存在图元,判断所述图元是否少于预设阈值,若是则判断所述图元坐标是否分散,若是则判断所述图元坐标是否在最后识别端之上,若是则当前版面完成识别。
作为其他可以实时的方案,还包括第三版面完成判别子单元,尝试识别下一版面的逻辑参考信息,若当前版面与下一版面的逻辑信息匹配,则当前版面识别完成,否则当前版面识别未完成。
第四版面完成判别子单元,判断当前版面的逻辑参考信息中成段分析是否失败,如果失败则跳过该段落,对该段落之后的段落进行成段分析,若均失败则当前版面识别完成。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,上述实施例仅仅是为清楚地说明所作的举例,而并非对实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。而由此所引伸出的显而易见的变化或变动仍处于本发明创造的保护范围之中。