发明内容
一篇文章可能包含引题,标题,副题,正文,附图等相关内容。本发明的目的是通过图文自动关联的方法,进行图片块与文章的自动匹配,使文章中引用的图片块与文章或者正文合并在一起,还原成为文章或者正文的附图。
本发明的具体实现方法是:
A:从版式文件中获取图片块集合{P}和文章集合{A};
B:从反解版式文件后得到的图片块集合{P}中取出一个与已取图片块不同的图片块;
C:依次获取文章集合{A}中的文章,比较获取得到的文章是否与步骤B中取出的图片块近邻,如果没有文章与图片块近邻,直接转至步骤D;否则,则将此图片块设置为该文章的附图;
D:重复以上步骤,直至图片块集合{P}中的所有图片块被取过一次。
进一步的,在文章集合{A}中查找与图片块近邻的文章;判断文章与图片块是否近邻具体操作为:
设置获取得到的图片块为P1,获取得到的文章为A1;新建文字块集合{T},从文章A1中获取文章的引题,标题,副题所对应的文字块,放置在集合{T}中;
依次获取文字块集合{T}中的文字块,设为T1,查看图片块P1是否与文字块T1近邻;如果近邻条件成立,记录图片块P与文章的重叠度;如近邻条件不成立,继续从文字块集合{T}中获取下一个文字块,继续同该图片块进行比较是否近邻;如果图片块和文字块集合{T}中任何一个文字块都不存在近邻的关系,那么执行以下步骤;
比较图片块P1是否与文章正文近邻:新建文字块集合{L},如果文章正文对应的文字块的子块个数大于1,则获取得到该正文块的所有子块,并放置在集合{L}中,依次获取集合{L}中的文字块,设为T1,查看图片块P1与文字块T1是否近邻;否则比较文章正文对应的文字块同图片块P1是否近邻;如果近邻条件成立,表明图片块与文章近邻关系成立,记录图片块P1与文章的重叠度。
进一步的,还包括以下操作:
创建文章集合{N},筛选文章集合{A}中只存在正文的文章,添加到文章集合{N}中,并从文章集合{A}中删除;
创建文章集合{M},筛选文章集合{A}中正文为空的文章,添加到文章集合{M}中,并从文章集合{A}中删除;
将{N}中每篇文章正文对应的文字块与文章集合{M}比较,如果能找到匹配的文章,将此文章正文对应的文字块设置为匹配文章的正文,并从文章集合{N}中删除该文章;如找不到匹配的文章,则将该文章重新添加到文章集合{A}中,并从文章集合{N}中删除该文章;最后将文章集合{M}重新添加到文章集合{A}中。
本发明还提供一种版式文件中图文自动关联系统,所述图文自动关联系统包括:
图片块获取器,用于从版式文件中获取图片块,形成图片块集合;
文章获取器,用于从从版式文件中获取文章,形成文章集合;
图片块提取器,用于从反解版式文件后得到的图片块集合中取出一个与已取图片块不同的图片块,直至图片块集合中的所有图片块被取过一次;
近邻比较器,用于比较文章集合中的文章是否与图片块提取器中取出的图片块近邻,如果没有文章与图片块近邻,继续提取下一个图片;否则,则将此图片块设置为该文章的附图;如果有两个或者两个以上的文章与图片块近邻,则筛选出图片块与文章重叠度最大的一篇文章,将此图片块设置为该文章的附图;
图文关联器,用于将图片块在文章集合中匹配的文章进行关联,将此图片块设置为该文章的附图,并添加到文章对象中。
进一步的,还包括:文章正文生成器;用于将只有正文的文章和没有正文的文章进行匹配;如果匹配成功,将只有正文的文章的正文对应的文字块设置为没有正文的文章的正文。
进一步的,还包括:图片块判断器,用于查看经图片块提取器和近邻比较器处理后图片块集合中是否存在图片块,若存在,则所述图文关联器还包括以下功能:依次获取该图片块,并为之单独创建一篇文章,设置该图片块为文章的附图,添加到文章对象中。
通过本发明进行图片块与文章的自动匹配,使文章中引用的图片块与文章或者正文合并在一起,还原成为文章或者正文的附图,提高了自动成文的准确性。
具体实施方式
下面结合实例图和附图,对本发明的技术方案做进一步的阐述,结合图1所述,本发明的主要方法如下:
第一步:从版式文件获取图片块集合{P}和文章集合{A};
从版式文件中获取图片块和文章的技术方案可以在专利200610112710.9名为“一种提取见报资料数据信息的方法”的公开专利方案中得到;取出的多个图片稿件组合成图片块的集合。在专利200710179938.4名为“一种基于PDF的复杂版面的标引方法”的公开专利方案中得到,在此不再详细描述。
第二步:从图片块集合{P}中依次获取图片块;图片块与文章的集合{A}进行聚类,查看图片块是否能够在文章集合{A}中找到匹配的文章;能够找到匹配的文章,设置为文章的附图,添加到文章对象中,并从图片块集合{P}中删除图片块。具体为:
(1)从反解版式文件后得到的图片块集合{P}中取出一个与已取图片块不同的图片块;
(2)依次获取文章集合{A}中的文章,比较获取得到的文章是否与步骤(1)中取出的图片块近邻,如果没有文章与图片块近邻,直接转至步骤(3);如果有文章与图片块近邻,则将此图片块设置为该文章的附图,如果有两个或者两个以上的文章与图片块近邻,则筛选出图片块与文章重叠度最大的一篇文章,将此图片块设置为该文章的附图;
(3)重复以上步骤,直至图片块集合{P}中的所有图片块被取过一次。
第三步:查看图片块集合{P}中是否仍存在图片块,若存在,依次获取该图片块,并为之单独创建一篇文章,设置该图片块为文章的附图,添加到文章对象中,并从图片块集合{P}中删除所述图片;将此文章添加到文章集合{A}中。
实施例1:
参照图2所示的图片块与文章的标题,副题对应的文字块近邻关系得到满足示意图,具体实现方法如下:
获取得到文章包含了标题“我国开建东北首个核电站”和副题“政府首次同意一次建4台百万千瓦级核电机组”;将这两个标题和副题对应的文字块添加到文字块集合{T}中;依次获取文字块集合中{T}中的这两个文字块,设置为T1;如图2所示的图片块,获取的图片块设置为P1;
判断图片块P1与文字块T1是否为近邻的方法如下:
版面平均字体大小为所有的文字块的字号的平均值,设置为AvgFontSize;
此时获取的版面的平均字体为AvgFontSize=8.47;取到的图片块P1的左上角坐标为(155,164),右下角坐标为(401,540);图片块P1的宽度为W1=246,图片块P1的高度H1=376;
而此时获取到的文字块T1为左上角坐标为(162,134),右下角坐标为(522,152);文字块T1的宽度为W2=360,文字块T1的高度H2=18,文字块T1的字体大小为f=18.04;
然后进行如下操作:
(2.2.1)计算图片块P1与文字块T1紧邻的有效距离:
DistThreshold=C1*AvgFontSize+f*C2;
其中C1和C2为图片块与文字块紧邻的调节系数,1<C1<5,C2的取值范围为0.1<C2<0.5;在实际的应用过程中,可以根据实际的需要调节C1和C2,得到图片块与文字块紧邻的有效距离;
在本实施方式中C1=2,C2=0.2;计算得到DistThreshold=20.48;
(2.2.2)计算图片块P1与文字块T1重叠度:
垂直方向上的重叠度:
OverlapY=(min(Y1’,Y2’)-max(Y1,Y2))/(max(Y1’,Y2’)-min(Y1,Y2))。
水平方向上的重叠度:
OverlapX=(min(X1’,X2’)-max(X1,X2))/(max(X1’,X2’)-min(X1,X2))。
通过计算分别得到:OverlapY=-0.029,OverlapX=0.648;
(2.2.3)计算图片块P1与文字块T1最小重叠度:
水平方向上的最小重叠是:
OverlapXMin=(min(X1’,X2’)-max(X1,X2))/min(X1’-X1,X2’-X2)。
垂直方向上的最小重叠度:
OverlapYMin=(min(Y1’,Y2’)-max(Y1,Y2))/min(Y1’-Y1,Y2’-Y2)。
通过计算分别得到:OverlapXMin=0.969,OverlapYMin=-0.68;
(2.2.4)计算文字块T1与图片块P1的重叠距离:
水平方向上的重叠距离DistX:
DistX=max(X1,X2)-min(X1’,X2’);
垂直方向上的重叠距离DistY:
DistY=max(Y1,Y2)-min(Y1’,Y2’);
其中max(a,b)表示取两者的较大值,min(a,b)表示取两者的较小值。
此时DistY=12.028;
(2.2.5)判定如下条件是否其中一项成立:
A.OverlapX>Dx且OverlapY>Dy;
B.OverlapXMin>Dxmin且OverlapY>Dy;
C.OverlapYMin>Dymin且OverlapX>Dx;
D.OverlapYMin>Dymin且OverlapXMin>Dxmin且(X2’-X2)>C*AvgFontSize;其中C为文字块与图片块近邻的调节系数,2<C<8;
E.文章标题对应的文字块的排版类型为水平排版时,且OverlapX>0且OverlapXMin>Dxmin且DistY<DistThreshold且Y2<Y1;
F.文章标题对应的文字块的排版类型为垂直排版时,且OverlapY>0且OverlapYMin>Dymin且DistX<DistThreshold;
上述中Dx和Dy为文字块与图片块之间水平和垂直方向上的近邻重叠系数,0<Dx<1,0<Dy<1;Dxmin和Dymin为文字块与图片块之间水平和垂直方向上的最小近邻重叠系数,0<Dxmin<1,0<Dymin<1;在实际的应用过程中,可以根据实际的需要调节以上系数;
如果以上条件任何一项都成立,则表示两个块近邻;近邻成立的时候记录两个文字块的重叠度;文章A1标题对应的文字块的排版类型为水平排版时,那么图片块P1与文章对象的重叠度为OverlapX,文章A1标题对应的文字块的排版类型为垂直排版时,图片块P1与文章对象的重叠度为OverlapY。
在本实施例中A条件中Dx=0.8和Dy=0.8;B条件中Dxmin=0.95,Dy=0.2;C条件中Dymin=0.95,Dx=0.2;D条件中Dxmin=0.95,Dymin=0.95,C=6;E条件中Dxmin=0.8;F条件中Dymin=0.8;
此时文章标题对应的文字块的排版类型为水平排版且Y2的值为文字块T1左上角的Y方向坐标,Y2=134,Y1的值为图片块P1左上角的Y方向坐标,Y1=164;满足了上面条件中的E条件;因此,图片块P1与文字块T1近邻关系成立;记录的图片块与文章的重叠度为0.648。图片块P1与所有文章近邻比较结束后,发现与此文章的重叠度最大,将此图片块设置为该文章的附图。
若图片块与文章的标题对应的文字块近邻的关系没有成立,需要比较图片块P1是否与文章正文近邻,具体操作为:新建文字块集合{L},如果文章正文对应的文字块的子块个数大于1,则获取得到该正文块的所有子块,并放置在集合{L}中,依次获取集合{L}中的文字块,设为T1,查看图片块P1与文字块T1是否近邻;否则比较文章正文对应的文字块同图片块P1是否近邻;如果近邻条件成立,表明图片块与文章近邻关系成立,记录图片块P1与文章的重叠度。
当然,同样的,图5也给出了图片块与文章的标题,副题对应的文字块近邻关系得到满足示意图,在此不在细述。
实施例2:
如图6所示,图片块与文章的标题对应的文字块近邻的关系没有成立,所以需要查看文章的正文对应的文字块与图片块的近邻关系是否成立;具体操作如下:
此时获取的版面的平均字体为AvgFontSize=8.36;取到的图片块P1的左上角坐标为(282,603),右下角坐标为(393,676);图片块P1的宽度为W1=111,图片块P1的高度H1=73;
而此时获取到的文字块T1为左上角坐标为(31,489),右下角坐标为(393,700);文字块T1的宽度为W2=362,文字块T1的高度H2=211,文字块T1的字体大小为f=8.34;
然后进行如下操作:
(2.3.1)计算图片块P1与文字块T1紧邻的有效距离:
DistThreshold=C1*AvgFontSize;
其中C1为图片块与文字块紧邻的调节系数,1<C1<5;在实际的应用过程中,可以根据实际的需要调节C1,得到图片块与文字块紧邻的有效距离;在本实施方式中C1取值为2,计算得到的DistThreshold=16.72;
(2.3.2)利用上述步骤(2.2.2)的方法,计算图片块P1与文字块T1重叠度,得到OverlapY=0.34和OverlapX=0.30;
(2.3.3)利用步骤(2.2.3)的方法,计算图片块P1与文字块T1最小重叠度,得到OverlapXMin=1.0和OverlapYMin=1.0;
(2.3.4)判定如下条件是否其中一项成立:
A.OverlapX>Dx且OverlapY>Dy;
B.OverlapXMin>Dxmin且OverlapY>Dy;
C.OverlapYMin>Dymin 且OverlapX>Dx;
D.OverlapX>Dx且OverlapY>Dy且OverlapXMin*OverlapYMin>Dxymin且OverlapX*OverlapY>Dxy;
E.OverlapXMin>Dxmin且OverlapYMin>Dymin;
上述中Dx和Dy为文字块与图片块之间水平和垂直方向上的近邻重叠系数,0<Dx<1,0<Dy<1;Dxmin和Dymin为文字块与图片块之间水平和垂直方向上的最小近邻重叠系数,0<Dxmin<1,0<Dymin<1;其中Dxymin为最小公共重叠系数,0<Dxymin<1;Dxy为公共重叠系数,0<Dxymin<1;在实际的应用过程中,可以根据实际的需要调节以上系数;
如果以上条件任何一项都成立,则表示两个块近邻;近邻成立的时候记录两个文字块的重叠度;重叠度为OverlapX和OverlapY中最大的一个。
在本实施例中A条件中Dx=0.8和Dy=0.8;B条件中Dxmin=0.95,Dy=0.2;C条件中Dymin=0.95,Dx=0.2;D条件中Dx=0.2和Dy=0.2,Dxymin=0.3,Dxy=0.12;E条件中Dxmin=0.9,Dymin=0.9;
通过上面的计算,满足了B条件或者C条件,图片块与文章的近邻关系成立;记录的图片块与文章的重叠度为0.34;图片块P1与所有文章近邻比较结束后,发现与此文章的重叠度最大,将此图片块设置为该文章的附图。
上述近邻的判定标准可以根据实际的情况调整或者去除。
查看图片块集合{P}中是否仍存在图片块,若存在,依次获取该图片块,并为之单独创建一篇文章,设置该图片块为文章的附图,添加到文章对象中,并从图片块集合{P}中删除所述图片;将此文章添加到文章集合{A}中。
实施例3:
如图4所示,此图片块对文章集合中的所有文章的近邻关系都没有得到满足,所以单独为此图片块创建了一篇文章,这篇文章中只有当前图片块。
实施例4:
当然,对于文章集合中,可能会存在只有正文或者正文为空的文章,本发明为了达到更佳的效果,还可以包括以下操作:
(4.1)创建文章集合{N},筛选文章集合{A}中只存在正文的文章,添加到文章集合{N}中,并从文章集合{A}中删除;
(4.2)创建文章集合{M},筛选文章集合{A}中正文为空的文章,添加到文章集合{M}中,并从文章集合{A}中删除;
(4.3)将{N}中每篇文章正文对应的文字块与文章集合{M}比较,如果能找到匹配的文章,将此文章正文对应的文字块设置为匹配文章的正文,并从文章集合{N}中删除该文章;如找不到匹配的文章,则将该文章重新添加到文章集合{A}中,并从文章集合{N}中删除该文章;最后将文章集合{M}重新添加到文章集合{A}中。
上述操作的主要目的是将只存在正文的文章同没有正文的文章进行匹配;使没有正文的文章吸纳“只存在正文的文章”的正文对应的文字块,设置为“没有正文的文章”的正文,是对自动成文的一个补充和扩展;在具体的实施方式中可以根据实际的需要或需求来判断是否需要执行此步骤。
文字块查找匹配的文章步骤如下:
(4.3.1)从文章集合{N}中取出一个与已取文章不同的文章;获取该文章正文所对应的文字块的矩形区域RectT;
(4.3.2)从文章集合{M}中取出一个与已取文章不同的文章;合并文章所包含的文字块的矩形区域,得到包含所有文字块的外包矩形区域RectM;
(4.3.3)求其矩形区域RectT与矩形区域RectM的交集,得到RectInsect;
(4.3.4)计算矩形区域RectT的面积AreaRectT,矩形区域RectM的面积AreaRectM,矩形区域RectInsect的面积AreaRectInsect;
(4.3.5)如果AreaRectInsect/AreaRectT>0.5或AreaRectInsect/AreaRectM>0.5成立,表示文字块找到了匹配的文章;否则执行4.3.2步骤;文章集合{M}遍历结束后,重新执行4.3.1步骤,以保证文章集合{N}中的文章被遍历一次;
如图3所示,根据上述操作,筛选获取当前文章只有正文的文字块,并找到了同该正文块最佳匹配的文章;此正文块被合并到匹配的文章正文中;提高了图文自动关联的应用性;
此外,本发明的技术方案也可通过系统的方式实施,该图文自动关联系统包括:
图片块获取器,用于从版式文件中获取图片块,形成图片块集合;
文章获取器,用于从从版式文件中获取文章,形成文章集合;
图片块提取器,用于从反解版式文件后得到的图片块集合中取出一个与已取图片块不同的图片块,直至图片块集合中的所有图片块被取过一次;
近邻比较器,用于比较文章集合中的文章是否与图片块提取器中取出的图片块近邻,如果没有文章与图片块近邻,继续提取下一个图片;否则,则将此图片块设置为该文章的附图;如果有两个或者两个以上的文章与图片块近邻,则筛选出图片块与文章重叠度最大的一篇文章,将此图片块设置为该文章的附图;
图文关联器,用于将图片块在文章集合中匹配的文章进行关联,将此图片块设置为该文章的附图,并添加到文章对象中。
为了使图文的自动关联的适应性和扩展性以及自动文章自动关联的准确性得到提高,还可以对图文自动关联系统进行扩展,本发明具体实施还可能包括:
文章正文生成器;用于将只有正文的文章和没有正文的文章进行匹配;如果匹配成功,将只有正文的文章的正文对应的文字块设置为没有正文的文章的正文。
上述文章正文生成器的主要目的是将只存在正文的文章同没有正文的文章进行匹配;使没有正文的文章吸纳“只存在正文的文章”的正文对应的文字块,设置为“没有正文的文章”的正文,是对自动成文的一个补充和扩展;
因此,本发明具体实施中还包括:图片块判断器,用于查看经图片块提取器和近邻比较器处理后图片块集合中是否存在图片块,若存在,则所述图文关联器还包括以下功能:依次获取该图片块,并为之单独创建一篇文章,设置该图片块为文章的附图,添加到文章对象中。
进行匹配以及是否近邻的操作与本发明方法实施例的实现方式是一一对应的,在此不再重复叙述。
进行图片块与文章的自动匹配,使文章中引用的图片块与文章或者正文合并在一起,还原成为文章或者正文的附图,提高了自动成文的准确性。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。