识别版面阅读顺序的方法及装置转让专利

申请号 : CN201010559135.3

文献号 : CN102479173B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 房婧高良才汤帜陶欣

申请人 : 北京大学北大方正集团有限公司北京北大方正技术研究院有限公司

摘要 :

本发明提供一种识别版面阅读顺序的方法,包括:读取待识别版面,并分析该版面以得到版面布局信息和字符文本对象和图像对象的对象属性;根据版面布局信息和对象属性,将字符文本对象合并为文本段落并将图像对象识别为图像段落;采用全局递归切割与局部先后顺序判定相结合的方式来确定文本段落和图像段落的阅读顺序,其中,通过投影来进行全局切割,对于全局切割之后仍包含多个段落的分组,采用局部判定方法来判断段落的先后顺序。相应地,提供一种识别版面阅读顺序的装置。本发明将字符和图像均识别为段落,并采用全局递归切割与局部判定相结合的方式识别段落阅读顺序,从而实现了复杂版面中文本和图像的正确识别,并且效率和准确率高。

权利要求 :

1.一种识别版面阅读顺序的方法,包括以下步骤:

步骤1、读取待识别版面,并分析该版面以得到版面布局信息和字符文本对象和图像对象的对象属性;

步骤2、根据在步骤1中分析得到的版面布局信息、字符文本对象和图像对象的对象属性,将步骤1中得到的字符文本对象合并为文本段落并将步骤1中得到的图像对象识别为图像段落;

步骤3、采用全局递归切割与局部先后顺序判定相结合的方式来确定步骤2中合并的文本段落和识别的图像段落的阅读顺序。

2.根据权利要求1所述的方法,其特征在于,

所述版面布局信息包括以下中的至少一种:版面的尺寸、版面中所包含的页眉页脚的位置坐标、版面的上下左右边距; 所述字符文本对象的对象属性包括以下中的至少一种:字符文本对象的字体、字号、位置坐标; 所述图像对象的对象属性包括以下中的至少一种:图像对象的大小、位置坐标。

3.根据权利要求1所述的方法,其特征在于,所述步骤2包括以下步骤:计算所述版面的版心;

获得所述版心内的非空的字符文本对象;将所述字符文本对象合并成文本段落;

获取所述版面内的图像对象,并从中筛选出至少部分地位于所述版心内的图像对象,并将筛选出的图像对象识别为图像段落;或者,直接获取所述版面内的至少部分地位于所述版心内的图像对象,并将获取的图像对象识别为图像段落。

4.根据权利要求3所述的方法,其特征在于,所述获得所述版 心内的非空的字符文本对象的步骤包括以下步骤:根据字符编码判断字符文本对象是否为空;

如果所述字符文本对象不为空,则利用所述字符文本对象的最小外接矩形框的坐标值来表示所述字符文本对象在所述版面内的位置,并判断所述字符文本对象是否位于版心内。

5.根据权利要求3所述的方法,其特征在于,将所述字符文本对象合并成行后,再将这些合并成行的字符行合并成文本段落。

6.根据权利要求5所述的方法,其特征在于,将满足下列条件的字符文本对象合并到同一行中:当前字符文本对象的基线坐标与上一个被确定为当前行中的字符文本对象的基线坐标的差值小于或等于阈值,并且该字符文本对象的排版输出序号与上一个被确定为当前行中的字符文本对象的排版输出序号相邻。

7.根据权利要求5所述的方法,其特征在于,根据段落合并条件将所述字符行合并成文本段落,所述段落合并条件包括以下中的至少一种:待合并字符行与当前正被合并的段落的主要字体之差是否小于预定阈值、距离是否小于预定阈值、缩进是否符合预定段落缩进条件。

8.根据权利要求1所述的方法,其特征在于,所述全局递归切割包括以下步骤:建立投影坐标系;

确定所有文本段落和图像段落在所述投影坐标系中的每个投影方向上的切割分界线,直到根据切割分界线而划分的每个分组在各个投影方向上的投影都不能得到进一步的切割分界线为止;

按照从上到下或从下到上、从左到右或从右到左的顺序对划分的分组进行排序。

9.根据权利要求8所述的方法,其特征在于,所述投影坐标系以所述版面的四个顶点中的任意一个或版心中心或版心边框上的任意点为原点,以向右或向左延伸作为第一投影方向,以向上或向下的竖直或倾斜延伸作为第二投影方向,在第一投影方向和第二投影方向上分别采样。

10.根据权利要求9所述的方法,其特征在于,

所述确定切割分界线的步骤包括以下步骤:

将所有段落的外接框分别在第二投影方向上作投影,并将投影得到的投影区间的界限作为第二投影方向上的候选切割分界线;

按照所述第二投影方向上的候选切割分界线对所有段落进行分组;

判断在第二投影方向上是否只有一个分组,如果只有一个分组,则将该分组内的段落的外接框分别在第一投影方向上作投影,并利用该投影得到的投影区间的界限作为第一投影方向上的切割分界线来对该分组进行进一步划分;否则,将每个分组内的段落的外接框分别在第一投影方向上作投影,判断在第二投影方向上相邻的两个分组在第一投影方向上的切割分界线是否相同,如果相同,则将这两个分组合并为一个组,从而确定第二投影方向上的真实切割分界线,并直接利用上述第一投影方向上的投影得到的投影区间的界限作为第一投影方向上的切割分界线来对这些分组进行进一步划分;

在第二投影方向和第一投影方向上递归执行上述投影和分组步骤,直到划分的每个分组在第二投影方向和第一投影方向上的投影都不能得到进一步的切割分界线为止;

或者,

所述确定切割分界线的步骤包括以下步骤:

将所有段落的外接框分别在第一投影方向上作投影,并将投影得到的投影区间的界限作为第一投影方向上的候选切割分界线;

按照所述第一投影方向上的候选切割分界线对所有段落进行分组;

判断在第一投影方向上是否只有一个分组,如果只有一个分组,则将该分组内的段落的外接框分别在第二投影方向上作投影,并利用该投影得到的投影区间的界限作为第二投影方向上的切割分界线来对该分组进行进一步划分;否则,将每个分组内的段落的外接框分别在第二投影方向上作投影,判断在第一投影方向上相邻的两个分组在第二投影方向上的切割分界线是否相同,如果相同,则将这两个分组合并为一个组,从而确定第一投影方向上的真实切割分界线,并直接利用上述第二投影方向上的投影得到的投影区间的界限作为第二投影方向上的切割分界线来对这些分组进行进一步划分;

在第一投影方向和第二投影方向上递归执行上述投影和分组步骤,直到划分的每个分组在第一投影方向和第二投影方向上的投影都不能得到进一步的切割分界线为止。

11.根据权利要求10所述的方法,其特征在于,所述局部先后顺序判定包括以下步骤:对于全局递归切割之后仍包含多个段落的分组,根据各个段落的空间布局或者自然语言处理方式来判断局部的相邻段落之间的先后顺序,然后,将局部判断得到的所述分组内的相邻段落的先后顺序整合到通过全局递归切割得到的排序结果中。

12.根据权利要求1-11中的任何一个所述的方法,其特征在于,还包括输出按照识别的阅读顺序排序的段落。

13.一种识别版面阅读顺序的装置,包括:

读取单元,其用于读取待识别版面,并分析该版面以得到版面布局信息和字符文本对象和图像对象的对象属性;

段落识别单元,其用于根据通过读取单元得到的版面布局信息、字符文本对象和图像对象的对象属性,将所述字符文本对象合并为文本段落并将所述图像对象识别为图像段落; 顺序确定单元,其用于采用全局递归切割与局部先后顺序判定相结合的方式来确定通过段落识别单元合并的文本段落和识别的图像段落的阅读顺序。

14.根据权利要求13所述的装置,其特征在于,所述段落识别单元包括:版心计算单元,其用于计算所述版面的版心;

字符处理单元,其用于获得所述版心内的非空的字符文本对象,并将这些字符文本对象合并成文本段落;

图像处理单元,其用于获取所述版面内的图像对象,并从中筛选出至少部分地位于所述版心内的图像对象,并将筛选出的图像对象识别为图像段落;或者,直接获取所述版面内的至少部分地位于所述版心内的图像对象,并将获取的图像对象识别为图像段落。

15.根据权利要求13所述的装置,其特征在于,所述顺序确定单元包括:全局处理单元,其用于执行全局递归切割,所述全局递归切割包括以下步骤:建立投影坐标系;确定所有段落在所述投影坐标系中的每个投影方向上的切割分界线,直到根据切割分界线而划分的每个分组在各个投影方向上的投影都不能得到进一步的切割分界线为止,然后,按照从上到下或从下到上、从左到右或从右到左的顺序对划分的分组进行排序;

局部处理单元,其用于对于全局递归切割之后仍包含多个段落的分组,根据各个段落的空间布局或者自然语言处理方式来判断局部的相邻段落之间的先后顺序;

顺序整合单元,其用于将通过局部处理单元判断得到的所述分组内的相邻段落的先后顺序整合到通过全局处理单元确定的排序结果中。

说明书 :

识别版面阅读顺序的方法及装置

技术领域

[0001] 本发明涉及数字文档处理技术领域,尤其涉及一种识别数字文档的版面阅读顺序的方法及装置。

背景技术

[0002] 随着计算机与网络技术的迅速发展,数字文档的应用越来越广泛,特别是PDF、CEBX等格式的版式文档,由于其版面呈现效果固定,因此是电子文档发布、数字化信息传播和存档的理想文档格式,当前已经大量应用于电子图书、期刊论文、电子公文、产品说明、公司文告、网络资料、电子邮件等。但是,正是由于这些版式文档的呈现效果固定,本身不具有逻辑结构信息,而使得无法在另外的应用程序中直接对其进行重新编辑、排版、逻辑结构提取和信息抽取等,而是必须首先将其转换为能够处理的格式或结构。
[0003] 比如,随着移动网络技术的发展,目前手机、PDA(个人数字助理)等大多数手持设备可以通过安装客户端软件来阅读版式文档等数字文档。但是,由于手持设备屏幕小,而版式文档的版面呈现效果固定等因素,给阅读造成不便,因此需要对版式文档进行重新布局,即,将呈现效果固定的版式文档转换为能够根据设备屏幕大小自适应地进行排版的流式文档。但是,由于版式文档本身不具有逻辑结构信息,因此,为了达到转换的目的,需要对版式文档进行分析与识别,以形成符合人阅读习惯的段落,最终以段落为单位进行重排。其中,最为重要的是,转换之后的流式文档必须保持原始版式文档的阅读顺序,使重排后的阅读内容连贯。
[0004] 目前,已有越来越多的研究人员开始关注转换过程中诸如段落等数字文档逻辑元素的识别以及版面阅读顺序检测。对于版面阅读顺序检测,主要存在两类方法:第一类方法是依据文本块的空间布局信息进行排序;第二类方法是利用语义信息进行排序。
[0005] 第一类方法中比较经典的算法有基于XY树的全局递归切割排序算法,例如可参见“Optimized XY-cut for Determining a Page Reading Order”,Proceedings of the Eighth International Conference on Document Analysis and Recognition,2005。该算法逐步递归地按照X方向切割和Y方向切割将整个页面划分成多个文本块,并在每步划分时根据文本块的空间布局信息,按照从上到下、从左到右的顺序保存分组,最终得到的即是符合人阅读习惯的版面顺序。这种方法的缺点在于,当版面分块之间存在交叠或者构成环形(如图1所示)(这种情况在纯文本的科技文档中出现较少,但在图文互斥的电子书文档中却甚为常见)时,切割算法变得无效,严重影响阅读顺序识别的正确率。
[0006] 此外,在申请号为200410091433.9的中国专利申请“一种对图文互斥分栏串文版面确定文字阅读顺序的方法”中,提出了一种推导文字在图文互斥分栏串文版面上的阅读顺序的方法。该方法采用自顶向下逐层分解方法构造层次树,然后按照各层版面对象的空间关系将其映射成独立的全序序列,最后自下而上根据各层版面对象的全序序列形成文字的阅读顺序,其中,具体地,将不规则区域用多边形表示,并将多边形划分成若干单调排版区,以图论模型获取单调排版区的全序序列。虽然这种方法可解决不规则区域的排序问题,但是仍然不能正确地识别版面分块之间存在交叠或者构成环形这样的情况下的阅读顺序。在专利号为200410091434.3的中国专利“一种对报纸版面进行文字阅读顺序恢复的方法”中,将文字块的邻接关系表示为有向图,并将有向图拆分转化为加权二分图,采用自然语言处理技术计算二分图边权值,通过最优匹配得到多个连续序列,每个序列再根据文字块样式信息分割成多个子序列,子序列对应内容的连接即为独立篇章的具有阅读顺序的文字流。这种方法的缺点在于对于含有大量图像信息的版面,语义信息相对较少,自然语言处理的方法比较有局限性,此外,文字块划分的大小很可能影响算法的效率和正确性。
[0007] 第二类方法中最具代表性的方法例如可参见文献“Document Understanding for a Broad Class of Documents”,International Journal on Document Analysis and Recognition,2002。该文献中所提出的方法首先找到所有可能的阅读顺序,然后根据词性权值公式计算选出权值最高的一个排序作为最终序列。该方法的缺点同样在于仅适用于只包含文本的简单排版页面,当大量图像出现时,由于语义信息含量过少,会降低识别的正确率。
[0008] 从以上这些方法可看出,现有技术均不能很好地应用于含有图像的复杂电子书页面中的阅读顺序识别,对于这些复杂电子书的阅读顺序识别和内容重排的正确率低。而且,现有技术中图像元素均不参与排序,仅提取文本对象并对其设计阅读顺序识别算法。而随着数字文档版面布局的多样化和美观化,图像元素在文档中逐渐演绎着重要的角色,并表达丰富的信息,因此,图像对象的缺失必然导致大量信息的缺失,从而导致阅读内容不连贯或者错误,这对于许多用户很可能是不能接受的。因此,复杂布局的电子书版面中文本和图像的正确排序已成为有待解决的重要问题。

发明内容

[0009] 为了解决以上问题,本发明提供一种识别版面阅读顺序的方法及装置,以实现复杂布局的电子书版面中文本和图像的正确排序。
[0010] 为了实现以上目的,本发明提供的识别版面阅读顺序的方法包括以下步骤:步骤1、读取待识别版面,并分析该版面以得到版面布局信息和字符文本对象和图像对象的对象属性;步骤2、根据在步骤1中分析得到的版面布局信息、字符文本对象和图像对象的对象属性,将步骤1中得到的字符文本对象合并为文本段落并将步骤1中得到的图像对象识别为图像段落;步骤3、采用全局递归切割与局部先后顺序判定相结合的方式来确定步骤2中合并的文本段落和识别的图像段落的阅读顺序。
[0011] 优选地,所述版面布局信息包括以下中的至少一种:版面的尺寸、版面中所包含的页眉页脚的位置坐标、和上下左右边距;所述字符文本对象的对象属性包括以下中的至少一种:字符文本对象的字体、字号、和位置坐标;所述图像对象的对象属性包括以下中的至少一种:图像对象的大小、和位置坐标。
[0012] 优选地,所述步骤2包括以下步骤:计算所述版面的版心;获得所述版心内的非空的字符文本对象;将所述字符文本对象合并成文本段落;获取所述版面内的图像对象,并从中筛选出至少部分地位于所述版心内的图像对象,并将筛选出的图像对象识别为图像段落;或者,直接获取所述版面内的至少部分地位于所述版心内的图像对象,并将获取的图像对象识别为图像段落。
[0013] 优选地,所述获得所述版心内的非空的字符文本对象的步骤包括以下步骤:根据字符编码判断字符文本对象是否为空;如果所述字符文本对象不为空,则利用所述字符文本对象的最小外接矩形框的坐标值来表示所述字符文本对象在所述版面内的位置,并判断所述字符文本对象是否位于版心内。
[0014] 优选地,将所述字符文本对象合并成行后,再将这些合并成行的字符行合并成文本段落。
[0015] 优选地,将满足下列条件的字符文本对象合并到同一行中:当前字符文本对象的基线坐标与上一个被确定为当前行中的字符文本对象的基线坐标的差值小于或等于阈值,并且该字符文本对象的排版输出序号与上一个被确定为当前行中的字符文本对象的排版输出序号相邻。
[0016] 优选地,根据段落合并条件将所述字符行合并成文本段落,所述段落合并条件包括以下中的至少一种:待合并字符行与当前正被合并的段落的主要字体之差是否小于预定阈值、距离是否小于预定阈值、缩进是否符合预定段落缩进条件。
[0017] 优选地,所述全局递归切割包括以下步骤:建立投影坐标系;确定所有文本段落和图像段落在所述投影坐标系中的每个投影方向上的切割分界线,直到根据切割分界线而划分的每个分组在各个投影方向上的投影都不能得到进一步的切割分界线为止;按照从上到下或从下到上、从左到右或从右到左的顺序对划分的分组进行排序。
[0018] 优选地,所述投影坐标系以所述版面的四个顶点中的任意一个或版心中心或版心边框上的任意点为原点,以向右或向左延伸作为第一投影方向,以向上或向下的竖直或倾斜延伸作为第二投影方向,在第一投影方向和第二投影方向上分别采样。
[0019] 优选地,所述确定切割分界线的步骤包括以下步骤:将所有段落的外接框分别在第二投影方向上作投影,并将投影得到的投影区间的界限作为第二投影方向上的候选切割分界线;按照所述第二投影方向上的候选切割分界线对所有段落进行分组;判断在第二投影方向上是否只有一个分组,如果只有一个分组,则将该分组内的段落的外接框分别在第一投影方向上作投影,并利用该投影得到的投影区间的界限作为第一投影方向上的切割分界线来对该分组进行进一步划分;否则,将每个分组内的段落的外接框分别在第一投影方向上作投影,判断在第二投影方向上相邻的两个分组在第一投影方向上的切割分界线是否相同,如果相同,则将这两个分组合并为一个组,从而确定第二投影方向上的真实切割分界线,并直接利用上述第一投影方向上的投影得到的投影区间的界限作为第一投影方向上的切割分界线来对这些分组进行进一步划分;在第二投影方向和第一投影方向上递归执行上述投影和分组步骤,直到划分的每个分组在第二投影方向和第一投影方向上的投影都不能得到进一步的切割分界线为止;或者,所述确定切割分界线的步骤包括以下步骤:将所有段落的外接框分别在第一投影方向上作投影,并将投影得到的投影区间的界限作为第一投影方向上的候选切割分界线;按照所述第一投影方向上的候选切割分界线对所有段落进行分组;判断在第一投影方向上是否只有一个分组,如果只有一个分组,则将该分组内的段落的外接框分别在第二投影方向上作投影,并利用该投影得到的投影区间的界限作为第二投影方向上的切割分界线来对该分组进行进一步划分;否则,将每个分组内的段落的外接框分别在第二投影方向上作投影,判断在第一投影方向上相邻的两个分组在第二投影方向上的切割分界线是否相同,如果相同,则将这两个分组合并为一个组,从而确定第一投影方向上的真实切割分界线,并直接利用上述第二投影方向上的投影得到的投影区间的界限作为第二投影方向上的切割分界线来对这些分组进行进一步划分;在第一投影方向和第二投影方向上递归执行上述投影和分组步骤,直到划分的每个分组在第一投影方向和第二投影方向上的投影都不能得到进一步的切割分界线为止。
[0020] 优选地,所述局部先后顺序判定包括以下步骤:对于全局递归切割之后仍包含多个段落的分组,根据各个段落的空间布局或者自然语言处理方式来判断局部的相邻段落之间的先后顺序,然后,将局部判断得到的所述分组内的相邻段落的先后顺序整合到通过全局递归切割得到的排序结果中。
[0021] 优选地,还包括输出按照识别的阅读顺序排序的段落。
[0022] 另一方面,本发明提供一种识别版面阅读顺序的装置,包括:读取单元,其用于读取待识别版面,并分析该版面以得到版面布局信息和字符文本对象和图像对象的对象属性;段落识别单元,其用于根据通过读取单元得到的版面布局信息、字符文本对象和图像对象的对象属性,将所述字符文本对象合并为文本段落并将所述图像对象识别为图像段落;顺序确定单元,其用于采用全局递归切割与局部先后顺序判定相结合的方式来确定通过段落识别单元合并的文本段落和识别的图像段落的阅读顺序。本发明将文本和图像均识别为段落,并采用全局递归切割与局部判定相结合的方法来识别这些段落的阅读顺序,从而实现了复杂版面中文本和图像及其阅读顺序的正确识别,既解决了现有的全局方法无法解决环形或重叠布局排序的缺陷,又在效率和准确率上优于现有的纯局部排序方法,从而为版式文档向流式文档的转换、内容重排、逻辑结构提取和信息抽取等应用提供了良好的基础。

附图说明

[0023] 图1是版面中多个段落构成环形的布局的示意图;
[0024] 图2是根据本发明的识别版面阅读顺序的方法的流程图;
[0025] 图3是逻辑段落识别的流程图;
[0026] 图4是字符基线坐标及其外接矩形框的示意图;
[0027] 图5是合理的段落缩进的示意图;
[0028] 图6是全局递归XY切割排序方法的流程图;
[0029] 图7是显示利用XY树全局递归切割方法进行排序的结果示意图;
[0030] 图8是显示本发明的第一实施例的示意图;
[0031] 图9是根据本发明的第一实施例的全局递归切割方法的流程图;
[0032] 图10a和图10b是显示本发明的第二实施例的示意图;
[0033] 图11是根据本发明的识别版面阅读顺序的装置的框图。

具体实施方式

[0034] 以下,将参照附图和实施例对本发明进行详细描述。在以下描述中,假设待识别版面按照从左到右、从上到下、先左栏后右栏的顺序进行排版,并根据这种排版规则识别版面阅读顺序。当然,应该理解,本发明还可类似地应用于按照其它排版规则排版的版面的阅读顺序,例如,从右向左、图文斜向排版的版面。
[0035] 本发明提供一种识别版面阅读顺序的方法,包括以下步骤:
[0036] 步骤1、读取待识别版面,并分析该版面以得到版面布局信息和字符文本对象和图像对象的对象属性;
[0037] 步骤2、根据在步骤1中分析得到的版面布局信息、字符文本对象和图像对象的对象属性,将步骤1中得到的字符文本对象合并为文本段落并将步骤1中得到的图像对象识别为图像段落;
[0038] 步骤3、采用全局递归切割与局部先后顺序判定相结合的方式来确定步骤2中合并的文本段落和识别的图像段落的阅读顺序。
[0039] 优选地,在本发明的各实施例中,
[0040] 所述版面布局信息包括以下中的至少一种:版面的尺寸、版面中所包含的页眉页脚的位置坐标、和上下左右边距;
[0041] 所述字符文本对象的对象属性包括以下中的至少一种:字符文本对象的字体、字号、和位置坐标;
[0042] 所述图像对象的对象属性包括以下中的至少一种:图像对象的大小、和位置坐标。
[0043] 优选地,在本发明的各实施例中,所述步骤2包括以下步骤:
[0044] 计算所述版面的版心;
[0045] 获得所述版心内的非空的字符文本对象;将所述字符文本对象合并成文本段落;
[0046] 获取所述版面内的图像对象,并从中筛选出至少部分地位于所述版心内的图像对象,并将筛选出的图像对象识别为图像段落;或者,直接获取所述版面内的至少部分地位于所述版心内的图像对象,并将获取的图像对象识别为图像段落。
[0047] 优选地,在本发明的各实施例中,所述获得所述版心内的非空的字符文本对象的步骤包括以下步骤:
[0048] 根据字符编码判断字符文本对象是否为空;
[0049] 如果所述字符文本对象不为空,则利用所述字符文本对象的最小外接矩形框的坐标值来表示所述字符文本对象在所述版面内的位置,并判断所述字符文本对象是否位于版心内。
[0050] 优选地,在本发明的各实施例中,将所述字符文本对象合并成行后,再将这些合并成行的字符行合并成文本段落。
[0051] 优选地,在本发明的各实施例中,将满足下列条件的字符文本对象合并到同一行中:当前字符文本对象的基线坐标与上一个被确定为当前行中的字符文本对象的基线坐标的差值小于或等于阈值,并且该字符文本对象的排版输出序号与上一个被确定为当前行中的字符文本对象的排版输出序号相邻。
[0052] 优选地,在本发明的各实施例中,根据段落合并条件将所述字符行合并成文本段落,所述段落合并条件包括以下中的至少一种:待合并字符行与当前正被合并的段落的主要字体之差是否小于预定阈值、距离是否小于预定阈值、缩进是否符合预定段落缩进条件。
[0053] 优选地,在本发明的各实施例中,所述全局递归切割包括以下步骤:
[0054] 建立投影坐标系;
[0055] 确定所有文本段落和图像段落在所述投影坐标系中的每个投影方向上的切割分界线,直到根据切割分界线而划分的每个分组在各个投影方向上的投影都不能得到进一步的切割分界线为止;
[0056] 按照从上到下或从下到上、从左到右或从右到左的顺序对划分的分组进行排序。
[0057] 优选地,在本发明的各实施例中,所述投影坐标系以所述版面的四个顶点中的任意一个或版心中心或版心边框上的任意点为原点,以向右或向左延伸作为第一投影方向,以向上或向下的竖直或倾斜延伸作为第二投影方向,在第一投影方向和第二投影方向上分别采样。
[0058] 优选地,在本发明的各实施例中,
[0059] 所述确定切割分界线的步骤包括以下步骤:
[0060] 将所有段落的外接框分别在第二投影方向上作投影,并将投影得到的投影区间的界限作为第二投影方向上的候选切割分界线;
[0061] 按照所述第二投影方向上的候选切割分界线对所有段落进行分组;
[0062] 判断在第二投影方向上是否只有一个分组,如果只有一个分组,则将该分组内的段落的外接框分别在第一投影方向上作投影,并利用该投影得到的投影区间的界限作为第一投影方向上的切割分界线来对该分组进行进一步划分;否则,将每个分组内的段落的外接框分别在第一投影方向上作投影,判断在第二投影方向上相邻的两个分组在第一投影方向上的切割分界线是否相同,如果相同,则将这两个分组合并为一个组,从而确定第二投影方向上的真实切割分界线,并直接利用上述第一投影方向上的投影得到的投影区间的界限作为第一投影方向上的切割分界线来对这些分组进行进一步划分;
[0063] 在第二投影方向和第一投影方向上递归执行上述投影和分组步骤,直到划分的每个分组在第二投影方向和第一投影方向上的投影都不能得到进一步的切割分界线为止;
[0064] 或者,
[0065] 所述确定切割分界线的步骤包括以下步骤:
[0066] 将所有段落的外接框分别在第一投影方向上作投影,并将投影得到的投影区间的界限作为第一投影方向上的候选切割分界线;
[0067] 按照所述第一投影方向上的候选切割分界线对所有段落进行分组;
[0068] 判断在第一投影方向上是否只有一个分组,如果只有一个分组,则将该分组内的段落的外接框分别在第二投影方向上作投影,并利用该投影得到的投影区间的界限作为第二投影方向上的切割分界线来对该分组进行进一步划分;否则,将每个分组内的段落的外接框分别在第二投影方向上作投影,判断在第一投影方向上相邻的两个分组在第二投影方向上的切割分界线是否相同,如果相同,则将这两个分组合并为一个组,从而确定第一投影方向上的真实切割分界线,并直接利用上述第二投影方向上的投影得到的投影区间的界限作为第二投影方向上的切割分界线来对这些分组进行进一步划分;
[0069] 在第一投影方向和第二投影方向上递归执行上述投影和分组步骤,直到划分的每个分组在第一投影方向和第二投影方向上的投影都不能得到进一步的切割分界线为止。
[0070] 优选地,在本发明的各实施例中,所述局部先后顺序判定包括以下步骤:
[0071] 对于全局递归切割之后仍包含多个段落的分组,根据各个段落的空间布局或者自然语言处理方式来判断局部的相邻段落之间的先后顺序,
[0072] 然后,将局部判断得到的所述分组内的相邻段落的先后顺序整合到通过全局递归切割得到的排序结果中。
[0073] 优选地,在本发明的各实施例中,还包括输出按照识别的阅读顺序排序的段落。
[0074] 本发明还提供一种识别版面阅读顺序的装置,包括:
[0075] 读取单元,其用于读取待识别版面,并分析该版面以得到版面布局信息和字符文本对象和图像对象的对象属性;
[0076] 段落识别单元,其用于根据通过读取单元得到的版面布局信息、字符文本对象和图像对象的对象属性,将所述字符文本对象合并为文本段落并将所述图像对象识别为图像段落;
[0077] 顺序确定单元,其用于采用全局递归切割与局部先后顺序判定相结合的方式来确定通过段落识别单元合并的文本段落和识别的图像段落的阅读顺序。
[0078] 图2是根据本发明的识别版面阅读顺序的方法的流程图。如图2所示,该方法包括以下步骤:
[0079] 步骤S1、读取和分析步骤
[0080] 在该步骤中,读取待识别版面,并分析该版面以得到版面布局信息和字符文本对象和图像对象的对象属性,其中,所述版面布局信息可包括,但不限于,版面的尺寸以及版面中所包含的页眉页脚的位置坐标、上下左右边距等,所述字符文本对象的对象属性可包括,但不限于,字符文本对象的字体、字号和位置坐标,所述图像对象的对象属性包括,但不限于图像对象的大小和位置坐标。通常,这些属性信息在一般的PDF文档和方正公式制作的CEBX格式的数字文档中均能够获取。
[0081] 步骤S2、逻辑段落识别步骤
[0082] 在该步骤中,对步骤S1中得到的字符文本对象与图像对象进行逻辑段落识别,也就是说,根据步骤S1中分析得到的版面布局信息、字符文本对象和图像对象的对象属性,将字符文本对象合并成文本段落,将版面中的图像对象(不包括图像类型的页眉页脚)识别成图像段落。
[0083] 具体地讲,如图3所示,可通过以下步骤来执行逻辑段落识别:
[0084] 步骤S21、计算版面的版心,即,该版面中不包含页眉页脚、上下左右边距的正文区域(属于本领域,即排版领域的专用术语),在本说明书中记为C(xmin,ymin,xmax,ymax),其中,xmin、ymin、xmax、ymax分别表示版心的左边界、下边界、右边界和上边界;
[0085] 步骤S22、获得版心内的非空字符文本对象,这里,首先,根据字符编码判断字符文本对象是否为空,如果该字符文本对象不为空,则可利用该字符文本对象的最小外接矩形框的坐标值来表示该文本字符对象的位置关系,并判断该字符文本对象是否位于版心内;
[0086] 步骤S23、将字符文本对象合并成文本段落,这里,优选地,可首先根据字符文本对象的基线坐标和排版的自然输出顺序将文本字符对象合并成行,比如,将满足下列条件的字符文本对象合并到同一行中:如图4所示,字符文本对象的基线坐标yb与上一个被确定为当前行中的字符文本对象的基线坐标的差值小于或等于阈值q(与字体大小成一定比例的正实数);并且该字符文本对象的排版输出序号与上一个被确定为当前行中的字符文本对象的排版输出序号相邻,以避免分栏段落中处于同一行但是被分栏隔开的文字被合并;然后,将字符行合并成文本段落,这里,段落合并条件可包括以下中的至少一个:待合并字符行与当前正被合并的段落的主要字体是否相似、距离是否相近、缩进是否符合预定段落缩进条件,其中,如图5所示,预定段落缩进条件包括对齐、悬挂、缩进等;
[0087] 步骤S24、获取版面内的图像对象,并从中筛选出非完全位于版心之外的图像对象(即,至少部分地位于版心内的图像对象,排除图像类型的页眉页脚),并将筛选出的图像对象识别为图像段落,或者,直接获取所述版面内的至少部分地位于版心内的图像对象,并将获取的图像对象识别为图像段落。
[0088] 步骤S3、阅读顺序确定步骤
[0089] 在该步骤中,采用全局递归切割与局部先后顺序判定相结合的方式来确定步骤S2中合并的文本段落和识别的图像段落的阅读顺序,具体地讲,首先通过全局递归切割方法来将版面内的文本段落和图像段落分组,并在划分同时确定这些分组的阅读顺序,然后对于全局递归切割之后仍包含多个段落的分组,利用局部方法来判定该组内相邻两个段落之间的先后顺序,并将局部排序的结果整合到全局阅读顺序中。
[0090] 对于全局递归切割方法,可通过投影的方法来执行,即,首先建立投影坐标系,然后递归地确定所有段落在投影坐标系中的每个投影方向上的切割分界线(即,将每个段落在每个投影方向上作投影以得到投影区间,并将投影区间的界限作为该投影方向上的切割分界线),直到根据切割分界线而划分的每个分组在各个投影方向上的投影都不能得到进一步的切割分界线为止,这里,每个分组可包括一个或多个文本段落和/或图像段落。其中,优选地,可利用文本段落和图像段落的外接框来执行投影,并且投影坐标系可以以所述版面的四个顶点中的任意一个或版心中心或版心边框上的任意点为原点,以向右或向左延伸作为第一投影方向,以向上或向下的竖直或倾斜延伸作为第二投影方向,同时在第一投影方向和第二投影方向上分别采样。采样大小可以为所述版面的主要字体大小,即,版面内出现频率最高的字体大小,或者可为文字颜色、文字所处位置等等。
[0091] 例如,可通过图6所示步骤来执行全局递归切割方法:
[0092] 步骤S31、以版面的左下顶点为原点,向右向上延伸建立投影坐标系,即,向右延伸建立X方向,向上延伸建立Y方向,同时在X方向和Y方向上分别采样,采样大小为版面的主要字体大小;
[0093] 步骤S32、通过将所有段落的外接矩形框在Y方向上作投影来寻找Y方向上的切割分界线,这里,通过该步骤所得到的切割分界线往往并不能真实地反映存在左右分栏的段落在Y方向上的投影,也就是说,很可能将分栏版面中同属于左栏或右栏的段落错误地分开,造成顺序错乱,因此,这些切割分界线是候选的,还必须在这些候选切割分界线中筛选出真实的切割分界线;
[0094] 步骤S33、按照Y方向上的候选切割分界线从上到下对所有段落进行分组;
[0095] 步骤S34、判断在Y方向上是否只有一个分组,即在Y方向上不存在切割时,整个版面上的所有段落都属于同一个分组,此时执行步骤S36-S37,否则执行步骤S35-S37。
[0096] 步骤S35、将每个分组内的段落的外接矩形框分别在X方向上作投影,判断在Y方向上相邻的两个分组在X方向上的切割分界线是否相同,如果相同,则将这两个分组合并为一个组,从而确定Y方向上的真实切割分界线;这种“软切割”方法可将Y方向上具有相同分栏位置的分组合并起来,该操作实际上表示对于分栏的版面,X方向的切割优先,从而能够正确地按照先左栏、后右栏的排版规则识别左栏和右栏的阅读顺序,因此,可以很大程度上解决利用XY树页面分块算法进行版面排序时在双方向上的切割选择问题,即,利用XY树切割方法进行切割和排序时,切割顺序不同,会导致排序结果不同(如图7所示),而利用本发明的软切割方法,可以较好地解决切割方向选择的问题;
[0097] 步骤S36、将分组内的段落的外接矩形框分别在X方向上作投影,并利用该投影结果或者直接利用步骤S35中X方向上的投影结果作为X方向上的切割分界线来从左到右对这些分组进行进一步划分;
[0098] 步骤S37、判断在投影方向上是否还存在切割,如果已不存在任何切割,则处理结束,否则,跳转到步骤S32重复执行上述步骤,即,在Y方向和X方向上递归执行投影和分组步骤,直到划分的每个分组在Y方向和X方向上的投影都找不出进一步的切割分界线为止。此时,若每个分组都只包含一个段落,则排序完全,并且从全局来看,所有段落的顺序符合空间上从上到下、从左到右的人的习惯性阅读顺序;若一个分组切割停止时,仍包含多个段落,则表示该分组内的段落可能因为存在外接矩形交叠,或者段落之间构成环形等原因而无法被进一步切割,即全局递归切割方法对该部分未起作用,则需要根据各个段落的空间布局或者自然语言处理方式来判断局部的相邻两个段落之间的先后顺序,以保证无法被进一步切割的段落之间保持局部有序。
[0099] 这里指出,对于图文斜向排版的版面,文本段落或图像段落的外接框可能不是矩形的,有可能是例如三角形等其它形状。在这种情况下,第二投影方向可与第一投影方向成一定斜角,也就是说,第二投影方向可以为斜向上方向,而不一定与第一投影方向成直角。
[0100] 步骤S4、输出步骤
[0101] 在该步骤中,输出符合人阅读习惯的按照识别的阅读顺序排序的段落,以供版面内容重排、文本信息抽取等等需要版面逻辑结构的任何应用使用,即,以段落为单位按序输出。这里,应该理解,输出步骤对于本发明而言并不是必不可少的,也就是说,也可不输出按照识别的阅读顺序排序的段落,而是可将识别的阅读顺序用于其它应用,例如,文档结构化分析或处理。
[0102] 以下,将通过实施例来对本发明方法的具体实现进行进一步的描述。
[0103] (第一实施例)
[0104] 在本实施例中,采用电子图书《21世纪计算机基础教程》(北京邮电大学出版社),该电子图书共有317页,从其中任意读取第135页(如图8所示)作为待识别版面。
[0105] 根据本发明,识别版面阅读顺序包括以下步骤:
[0106] (1)读取图8所示页面,并分析该版面以得到版面布局信息和字符文本对象和图像对象的对象属性。
[0107] (2)对步骤(1)中得到的字符文本对象与图像对象进行逻辑段落识别,具体如下:
[0108] 步骤S21、计算版心为C(65,36,387,529),其中,坐标单位为磅,坐标原点为左下顶点,版心如图8中虚线矩形框所示;
[0109] 步骤S22、根据字符编码来判断文本字符是否为空,并根据文本字符的最小外接矩形框的坐标值(x1,y1,x2,y2)和版心坐标C(xmin,ymin,xmax,ymax)的大小关系来判断该文本字符是否在版心内,从而找到所有版心内的非空字符,其中,x1为字符矩形框的左下顶点的横坐标,y1为字符矩形框的左下顶点的纵坐标,x2为字符矩形框的右上顶点的横坐标,y2为字符矩形框的右上顶点的纵坐标,只有当文本字符的x1≥xmin、x2≤xmax、y1≥ymin和y2≤ymax同时成立时,才能判断该文本字符位于版心之内;
[0110] 步骤S23、将字符文本对象合并成行,在本实施例中,取q=0.1,即两个文字字符对象位于同一行需要满足两者基线坐标的差值不大于0.1倍的字体高度,并且,这两个文字字符对象的输出序号需要相邻;然后,将字符行合并成文本段落,在本实施例中,规定段落合并条件如下:文本行与当前段落的主要字体大小差距不大于0.5,且字体风格与字体名称相同;文本行与当前段落的垂直间距不大于1.0倍字体高度;允许对齐、悬挂、缩进三种缩进情况;合并后的文本段落结果如图8中的矩形框所示;
[0111] 步骤S24、获取版面内的图像对象,并从中筛选出非完全位于版心之外的图像对象作为图像段落,在本实施例中,如图8所示,有6个图像段落,图像下方粗线框表示的是其图注标题。
[0112] (3)确定步骤(2)中识别的段落的阅读顺序,如图9所示,具体如下:
[0113] 步骤S331、建立投影坐标系:以版面的左下顶点为原点,向右向上延伸建立XY投影坐标系,同时,在X方向和Y方向上分别采样,采样单位大小等于版面主要字体大小12磅,每个采样单位赋初值为0;
[0114] 步骤S332、将识别的所有段落的外接矩形在Y方向上作投影,投影得到的是各自的一段区间,将所有被投影区间覆盖到的采样单位赋值为1,最后连续值为0的区间的界限则作为Y方向上的切割分界线的候选;
[0115] 步骤S333、判断在Y方向上是否存在切割,如果存在切割,则执行步骤S334,否则执行步骤S336;
[0116] 步骤S334、按照步骤S332中得到的切割分界线从上到下对所有段落进行分组;
[0117] 步骤S335、对于每个分组,将组内的段落分别在X方向上作投影,并将被投影区间覆盖到的采样单位赋值为1,最后连续值为0的区间的界限则作为该分组在X方向上的切割分界线,并判断Y方向上相邻的两个分组在X方向上的切割分界线是否相同,若相同,则将这两个分组合并成一个组,最终遍历所有分组之后确定Y方向上的真实切割位置;在本实施例中,由于不存在Y方向上可以合并的分组,所以真实切割位置与步骤S332得到的候选切割分界线相同;
[0118] 步骤S336、判断在X方向上是否存在切割,如果存在切割,则执行步骤S337,否则处理结束;
[0119] 步骤S337、将分组内的段落的外接矩形框分别在X方向上作投影,并利用该投影结果或者直接利用步骤S335中得到的X方向上的切割分界线从左到右对这些分组进行进一步划分,在本实施例中,如图8所示,页面上半部分的分组在X方向上均可继续分组,而下半部分的分组可以达到递归结束条件;然后跳转到步骤S332。
[0120] 在本实施例中,由于全局递归切割之后每个分组内都只包含一个段落,所以仅通过全局递归切割就可得到符合人阅读习惯的版面阅读顺序,图8中折线即表示段落之间的序列。
[0121] (第二实施例)
[0122] 在本实施例中,待识别版面如图10a和图10b所示,在该版面中,存在环形布局。
[0123] 通过上述逻辑段落识别步骤之后,该版面的段落识别结果如图10a和图10b中各矩形框所示。经观察发现,该页面上的段落,在X方向和Y方向上均不存在可以切割的位置,本质上是构成了一个整体的环形。此时,若仅采用全局排序方法,切割算法不会执行而直接跳出,因而得到的阅读顺序是页面的自然输出顺序,即排版顺序。而该页面的排版顺序如图10b所示,是按照“页码就近文本—左栏文本—标题—右栏文本—左栏图注—右栏图注—左栏图像—右栏图像”的顺序,凌乱而不符合人的阅读习惯。在这种情况下,全局递归切割方法对该部分未起作用,因而还需要局部地识别该部分分组内段落之间的先后顺序,使分组内的段落保持局部有序,并将局部排序结果整合到全局阅读顺序中。
[0124] 在局部判定方法中,可采用现有的局部阅读顺序识别方法来识别以上段落两两之间的优先顺序。在本实施例中,由于是所有段落同时构成环形,局部排序方法得到的实则是整个版面的阅读顺序。如图10a所示,对于本实施例,主要依据现有方法中的空间位置关系,即从上到下从左到右的排版规则,确定两两优先顺序。由于页面中存在分栏,会造成排版规则上的歧义,如分栏左侧的最后一个段落和分栏右侧的第一个正文段落,此时可以利用自然语言处理的方法,计算前一个段落尾和后一个段落头的成词度(即,拼合成一个具有语义的词语的概率),以及两个段落语义相关性,从而得到图10a所示阅读顺序。上述局部判定方法的详细内容可参见背景技术中所介绍的相关技术。但是,本发明所述局部排序方法并不局限于此。
[0125] 现有的全局切割算法部分的时间复杂度为0(nlogn),现有的局部排序方法的时间复杂度为0(n^2),其中,n表示段落数目,而本发明采用全局与局部相结合的方法,最优情况下时间复杂度是0(nlogn),即此时不存在构成环形的段落,最坏情况下时间复杂度是0(n^2),即此时所有段落构成一个整环,均需采用局部算法进行优先顺序判定,一般情况下,时间效率介于两者之间。
[0126] 此外,通过将背景技术中所提及的局部排序算法(“Document Understanding for a Broad Class of Documents”,International Journal on Document Analysis and Recognition,2002)应用于电子图书库中的样例测试集进行实验测试发现,在时间效率上本发明的方法较该局部算法,平均可以提高18%,而且,该局部算法对样例测试集进行段落阅读顺序识别的正确率为86.8%,而本发明的方法测试正确率为94.5%,因而在正确率上也得到了提高。
[0127] 由此可见,本发明所述的方法既解决了全局方法无法解决环形布局排序的缺陷,又在效率和准确率上优于纯局部排序算法。
[0128] 为了实现以上方法,本发明提供一种识别版面阅读顺序的装置。如图11所示,该装置包括:读取单元1100,其用于读取待识别版面,并分析该版面以得到版面布局信息和字符文本对象和图像对象的对象属性;段落识别单元1200,其用于根据通过读取单元1100得到的版面布局信息、字符文本对象和图像对象的对象属性将字符文本对象合并为文本段落并将图像对象识别为图像段落;顺序确定单元1300,其用于采用全局递归切割与局部先后顺序判定相结合的方式来确定通过段落识别单元1200合并的文本段落和识别的图像段落的阅读顺序。
[0129] 段落识别单元1200可包括:版心计算单元1201,其用于计算版面的版心;字符处理单元1202,其用于获得版心内的非空文本字符,并将这些文本字符合并成文本段落;图像处理单元1203,其用于获取版面内的图像对象,并从中筛选出至少部分地位于版心内的图像对象,并将筛选出的图像对象识别为图像段落,或者,直接获取所述版面内的至少部分地位于版心内的图像对象,并将获取的图像对象识别为图像段落。
[0130] 顺序确定单元1300可包括:全局处理单元1301,其用于执行全局递归切割;局部处理单元1302,其用于对于全局递归切割之后仍包含多个段落的分组,根据各个段落的空间布局或者自然语言处理方式来判断局部的相邻两个段落之间的先后顺序;顺序整合单元1303,其用于将通过局部处理单元1302判断得到的所述分组内的相邻段落的先后顺序整合到通过全局处理单元1301确定的排序结果中。
[0131] 此外,该装置还可包括输出单元1400,其用于输出按照识别的阅读顺序排序的段落以供版面内容重排和信息抽取等需要版面逻辑结构的任何应用使用。
[0132] 以上单元的具体操作与上述方法的相应步骤相同,因此,省略其详细描述。
[0133] 应该理解,本发明并不限于以上所公开的具体实施例,任何本领域的技术人员在此基础之上容易想到的修改和变型都应包括在本发明的保护范围内。比如,图6和图9中所示步骤流程仅仅是根据本发明的全局递归切割方法的示例性实现,任何可实现本发明的全局递归切割方法的流程都应包括在本发明的保护范围内。