版式电子文档的页眉页脚识别方法及装置的制造方法_2

文档序号:9235406阅读:来源:国知局
X坐标边上各个点的I坐标均相同,并且是该字符的最大I坐标。换言之,根据最小X坐标、最小I坐标、最大X坐标、最大y坐标,就可以唯一确定出一个矩形框所在的位置,也就对该矩形框内的字符的位置。
[0038]总之,在对版式电子文档的多个页进行解析的过程中,可以获取各个页内包含的各个文本行的字符内容,同时还可以获取各个字符的位置数据,在这个过程中,可以进而根据各个字符的位置数据,对各个字符进行文本行的划分,例如,最小I坐标或最大I坐标相同的字符,就可以识别为同一文本行。
[0039]S102:遍历各个页内的各个文本行的文本内容,判断各个文本行是否满足页眉页脚的特征;
[0040]版式电子文档中的页眉页脚部分内容有一些特点,如在多个页面中重复出现,位置固定且内容相同或者相近,例如,有的页眉或者页脚包括了相同的文档标题;有的文档在包含相同的文档标题的同时,还会包含页码,这种情况下不同页面的页眉或者页脚的不完全相同,但相似度很高;而有的页眉页脚则完全由数字组成。可以利用版式电子文档中的页眉页脚部分内容的这些特点,来对页眉页脚进行识别。在本申请实施例提供的方法中,可以遍历各个页内的各个文本行的文本内容,获取文档中文本行的文本特征,进而判断各个文本行是否满足页眉页脚的特征。下面具体来进行举例介绍。
[0041]首先,在一种实现方式下,在获得一行文本后,可以判断其他页中是否含有与当前文本行之间的相似度符合预置条件的文本行,如果是,则判定当前文本行满足页眉页脚的文本特征。这种方法是利用了页眉页脚在文档的多个页面反复出现的特点,当需要判断某一行是否为页眉页脚时,可以从该当前文本行起始,取一定行数的文本内容作为对比样本,与当前行进行对比,如果对比样本中存在某一行,与当前行完全相同或者相似度很高,则判定当前文本行满足页眉页脚的文本特征。其中获取对比样本是所选取的取样行数,通常可以为该版式电子文档单页最大行数的2倍以上。这是因为,这种方法的目的是要寻找对比样本中与当前行完全相同或者相似度很高的行,并且页眉页脚是在不同的页面中反复出现,要进行有效的比对,来确定满足页眉页脚的文本特征,就需要让对比样本的选取跨越当前页面,也即对比样本的数量通常要满足能够至少到达下一个页面的相同位置。
[0042]另外,在一个版式电子文档中,或者在文档中的某一个页面中,实际上页眉页脚的部分相对与正文部分所占的比例较少,因此,可以不必对每一行都进行判断,可以利用页眉页脚的一些特点,来筛选需要对比的当前行。例如,当某一行是纯数字组成的行,这样的行可以是页眉或页脚中的页码标识;又如,基于大量的统计,在绝大多数版式电子文档的页眉页脚中,并不会出现某个或某些特定的标点符号,例如,在页面页脚的文本中,很少有逗号,句号,问号等典型用于标识句读的标点符号出现。这样,可以利用某个或某些特定的标点符号,来对需要进行判断的文档的文本行进行初步的筛选,然后对这些筛选出来的文本行,再进行与其他页中的文本行的相似度对比。即首先可以判断当前文本行中是否包含标点符号,然后,判断其他页中是否含有与当前文本行之间的相似度符合预置条件的文本行,如果是,则判定当前文本行满足页眉页脚的特征。
[0043]具体的,在对每页中的每个文本行进行遍历的过程中,可以首先判断当前文本行中是否包含标点符号;如果当前文本行中不包含标点符号,则在当前页的前/后预置数目的页中,获取不包含标点符号的文本行作为目标文本行;对比当前文本行与目标文本行,获取当前文本行与目标文本行之间的相似度;如果获得的两者之间的相似度符合预置条件,则判定当前文本行满足页眉页脚的文本特征。这样做可以利用是否还有标点符号,对疑似的页眉页脚内容进行初步的筛选,对于用做对比样本的目标行也进行了同样的筛选,进而通过目标行与当前行的比对,“反推”当前行是否满足页眉页脚的文本特征,从而有利于减少工作量,提高了页眉页脚内容的识别效率。
[0044]在获得用于对比当前行的目标行后,可以对当前行和目标行进行对比,来获取当前文本行与其他页中的目标文本行之间的相似度。具体在对比时,可以首先判断当前文本行与目标文本行的文本内容是否完全相同,方法可以是对当前行以及所找到的目标行内的文字进行逐字的对比,看相同位置上的字符是否相同。如果完全相同,则判定当前文本行与目标文本行在文本内容上的相似度符合预置条件;如果不完全相同,则利用预置算法获取当前文本行与目标文本行在文本内容上的相似度。具体的,可以根据当前行或目标行中总的字符个数以及其中相同字符的个数,确定两者之间的相似度。利用获取所述相似度的预置算法,可以对当前行以及目标行的字符进行对比,获取两者的文本相似度,如可以使用编辑距离 Levenshtein Distance 算法。Levenshtein Distance 又作 Levenshtein 距离,是指两个字串之间,由一个转成另一个所需的最少编辑操作次数,可以利用LevenshteinDistance算法实现对两个字符串的相似度进行衡量。将当前行以及目标行的字符作为输入,基于Levenshtein Distance算法实现的字串对比,输出两者之间的相似度的标识量。
[0045]在对比当前行与目标行,获取当前行与目标行的文本相似度的过程中,具体可以采取这样的步骤:首先,可以对两者中的字符按照字串顺序进行逐一的比较,判断当前行的文本是否与目标行的文本完全相同;如果完全相同,则两者的相似度为100%,则不必再进行Levenshtein Distance算法的对比,反之如果判定当前行的文本与目标行的文本不完全相同,则利用编辑距离Levenshtein Distance算法获取当前行与目标行的文本相似度。
[0046]前述对比两个文本行之间的相似度的方法中,主要是对比两个文本行中的文本内容之间的相似度,另外,还可以结合当前文本行以及目标文本行中包含的字符在各自所在页中出现的位置数据,提高相似度判断的精确度。具体的,可以在判定当前文本行与目标文本行的文本内容不完全相同时,获取当前文本行以及目标文本行中包含的字符在各自所在页中出现的位置数据;如果当前文本行与目标文本行的位置数据之间的差距小于预置的阈值,则触发执行利用预置算法获取当前文本行与目标文本行在文本内容上的相似度的步骤;否则,如果述差距大于预置的阈值,则判定当前文本行与目标文本行之间的相似度不符合预置条件。
[0047]这是利用了页眉页脚在不同页眉的位置相对固定的特点(例如,页眉可能全部出现在每页的右上角,等等),在同一电子文档的不同页面中,页眉或者页脚的位置是相对一致的,如果当前行与目标行的位置不同,则可以认为两者不相似。具体在获取一个文本行的位置信息时,可以首先确定出该文本行的第一个字符以及最后一个字符,然后由该第一个字符的最小X坐标、最后一个字符的最大X坐标、该文本行的最小y坐标以及最大y坐标所围成的矩形框所在的区域就是该文本行所在的位置。具体在比对当前行与目标行的位置数据时,可以分别获取当前行和目标行相对于各自页面起始点的最小横纵坐标,进而计算两者之间的高度差,如果两者的高度差超出了一定的范围,例如,两者的高度差超过了某阈值,则认为两者的相似度为O。在两者的高度差未超过一定的阈值时,再利用预置算法获取两者的相似度。这样,在进行预置算法的判断前,先根据当前行和目标行的位置数据,判断文本行与目标行是否位置一致或相近,进一步提高了页眉页脚的识别效率。
[0048]在获得当前行与目标行的相似度后,可以将获得的相似度与预置的阈值进行对t匕,因为同一电子文档各页面的页眉页脚内容相同或者相似度较高,所以在预置阈值的选取上可以选择比较高的阈值,来提高识别页眉/页脚的精确度。预置阈值的表达方式可以根据当前行与目标行的相似度的表达方式对应设定,例如,当相似度为浮点数为百分数(计算机表达为浮点数)表示时,对应的预置阈值也为浮点数,例如0.96 ;当文本相似度以1-100之间的自然数表达时,对应的预置阈值也为1-100之间的自然数,例如96。如果当前行与目标行的相似度超过这个预置阈值,则可以确定当前行满足页眉页脚的文本特征。
[0049]在确定了满足页眉页脚特征的文本行之后,可以直接将这些文本行
当前第2页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1