CN105574530B - 提取文档中的文本行的方法和装置 - Google Patents

提取文档中的文本行的方法和装置 Download PDF

Info

Publication number
CN105574530B
CN105574530B CN201410525023.4A CN201410525023A CN105574530B CN 105574530 B CN105574530 B CN 105574530B CN 201410525023 A CN201410525023 A CN 201410525023A CN 105574530 B CN105574530 B CN 105574530B
Authority
CN
China
Prior art keywords
class
text block
document
text
feature
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.)
Active
Application number
CN201410525023.4A
Other languages
English (en)
Other versions
CN105574530A (zh
Inventor
张明明
许亮
范伟
孙俊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to CN201410525023.4A priority Critical patent/CN105574530B/zh
Publication of CN105574530A publication Critical patent/CN105574530A/zh
Application granted granted Critical
Publication of CN105574530B publication Critical patent/CN105574530B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本发明涉及提取文档中的文本行的方法和装置。根据本发明的一个方面,提供了一种提取文档中的文本行的方法,包括:对文档中的多个文本块进行粗聚类,以形成多个类;计算每个类的特征;根据每个类的特征,确定所述文档的方向;以及根据所述文档的方向对所述多个文本块进行精细聚类,以提取出文本行。

Description

提取文档中的文本行的方法和装置
技术领域
本发明涉及文档处理领域,具体涉及对文档中的文本行进行提取的方法和装置。
背景技术
随着计算机技术以及通信技术的发展,信息以及数据的数量剧烈增长。面对宠大的数据,用户对自动化信息处理技术特别是文档处理技术的要求变的越来越多。在文档处理技术中,需要对文档图像中的文字进行提取和识别。而对文档图像中的文字进行提取时,需要首先提取文本行,然后根据文本行中表现出的文字特征再对文本行进行切分和识别。
通常的文本行提取算法是通过在水平方向以及在垂直方向进行投影,利用文本行之间存在较大空白的特征对文本行进行提取的。然而,当文档图像存在较为复杂的版面或文档图像中包含较多噪声时,文本行的提取变得非常困难。
针对上述问题,在现有技术中已提出了不同的解决方案,包括采用基于图论的方法、基于高斯卷积的方法、基于K均值聚类的方法以及基于形态学的方法等等。但这些方法中的一些出错率较高,还有一些在操作过程中需要人为的监督或介入,从而给操作带来了不便。
发明内容
有鉴于此,本发明提出了一种提取文档中的文本行的方法和装置,以便准确高效地提取文档中的文本行。
根据本发明的一个方面,提供了一种提取文档中的文本行的方法,包括:对文档中的多个文本块进行粗聚类,以形成多个类;计算每个类的特征;根据每个类的特征,确定所述文档的方向;以及根据所述文档的方向对所述多个文本块进行精细聚类,以提取出文本行。
根据本发明的另一方面,提供了一种提取文档中的文本行的装置,包括:粗聚类单元,对文档中的多个文本块进行粗聚类,以形成多个类;类特征计算单元,计算类的特征;文档方向确定单元,根据所述类特征计算单元所计算出的类的特征,确定所述文档的方向;以及精细聚类单元,根据所述文档方向确定单元所确定的所述文档的方向,对所述多个文本块进行精细聚类,以提取出文本行。
根据本发明所提供的技术方案,可以较高的准确度提取文档中的文本行。
附图说明
参照附图来阅读本发明的各实施方式,将更容易理解本发明的其它特征和优点,在此描述的附图只是为了对本发明的实施方式进行示意性说明的目的,而非全部可能的实施,并且不旨在限制本发明的范围。在附图中:
图1示出了根据本发明一个实施方式的提取文档中的文本行的方法的流程图。
图2示出了根据本发明一个实施方式的确定文档方向的流程图。
图3示出了根据本发明一个实施方式的精细聚类的流程图。
图4示出了根据本发明一个实施方式的更新每个文本块所处的类的流程图。
图5示出了根据本发明一个实施方式的粗聚类的流程图。
图6示出了根据本发明一个实施方式的将每个文本块与距离该文本块最接近的文本块合并至同一个类的流程图。
图7示出了根据本发明一个实施方式的提取文档中的文本行的装置的框图。
图8示出了根据本发明一个实施方式的文档方向确定单元的框图。
图9示出了根据本发明一个实施方式的精细聚类单元的框图。
图10示出了根据本发明一个实施方式的聚类子单元的框图。
图11示出了根据本发明一个实施方式的粗聚类单元的框图。
图12示出了根据本发明一个实施方式的粗聚类单元的聚类子单元的框图。
图13示出了可用于实施根据本发明实施例的方法和装置的计算机的示意性框图。
具体实施方式
现参照附图对本发明的实施方式进行详细描述。应注意,以下描述仅仅是示例性的,而并不旨在限制本发明。此外,在以下描述中,将采用相同的附图标号表示不同附图中的相同或相似的部件。在以下描述的不同实施方式中的不同特征,可彼此结合,以形成本发明范围内的其他实施方式。
在本申请的描述中,“文本行”是指在文档中由文本文字所构成的行,此处所述的“行”并不涉及方向,既可以表示横向的“行”,也可以表示纵向的“行”。
在本申请的描述中,“文档的方向”是指文档的总体阅读方向,即,各文本行之间的排列方向。例如,本文的“文档的方向”由于文本行与文本行之间是纵向排列的,所以为纵向。如果每个文本行中的文字是纵向排列的,即各文本行之间是横向排列的,则该文档的方向为横向。
在本申请的描述中,“文本块”是指在文档的预处理过程中,将整个文档所切分成的多个块,其用于后续的处理。这种切分可基于现有技术中的多种方法进行,例如通过对文档进行连续成分分析或基于直方图的切分而得到多个文本块。根据所选择的切分方法不同,所得到的每个文本块可包含一个字符的一部分或一个或多个字符,或者其组合。可以理解,本领域技术人员可根据实际需要以及文档的实际情况(例如文字的大小、字符间距以及行间距)通过适当的方式将文档切分为文本块。
图1示出了根据本发明一个实施方式的提取文档中的文本行的方法的流程图。如图1所示,在文档中提取文本行的方法100包括步骤S110至步骤S140。在步骤S110中,对文档中的多个文本块进行粗聚类,即初步聚类,以形成多个类。所形成的每个类是文本块的集合,可包含一个或多个文本块。在步骤S120中,计算由步骤S110所形成的每个类的特征。在本申请中,类的特征是表征类的位置信息的特征,这一点将在以下详述。在步骤S130中,根据在步骤S120中计算的每个类的特征,确定该文档的方向。在文档的方向确定后,在步骤S140中,根据在步骤S130中所确定的文档的方向,对文档中的多个文本块进行精细聚类,从而将精细聚类所得到的每个类作为一个文本行进行输出,即提取出了文本行。
根据本发明的该实施方式,通过粗聚类和精细聚类,从文档中提取出了文本行,以用于后续的文字提取和/或识别等操作。该方法能够正确地从文档中提取文本行,出错率低,而且整个操作过程无需人为的监督或介入,从而便于操作。
根据本发明的另一实施方式,文档中的每个文本块均具有位置信息,并且在步骤S120中,可根据每个类中所包含的文本块的位置信息,分别计算每个类的特征。根据一个实施例,文档中的每个文本块的位置信息可包括水平位置信息和竖直位置信息。相应地,每个类的特征可包括水平特征和竖直特征,分别用于表征每个类的水平位置信息和竖直位置信息。在步骤S120中,每个类的水平特征和竖直特征分别是根据每个类中所包含的各个文本块的水平位置信息和竖直位置信息计算得出的。
每个类的水平特征可包括该类所包含的所有文本块的水平位置信息的平均值和标准差,每个类的竖直特征可包括该类所包含的所有文本块的竖直位置信息的平均值和标准差。根据一个实施例,每个文本块的水平位置信息可包括该文本块的最上侧位置、最下侧位置和/或中心水平位置,用于表示该文本块在水平方向上在该文档中所处的位置。例如,当每个文本块的水平位置信息包括该文本块的最上侧位置和最下侧位置时,则每个类的水平特征可包括该类所包含的所有文本块的最上侧位置的平均值和标准差以及最下侧位置的平均值和标准差。类似地,每个文本块的竖直位置信息可包括该文本块的最左侧位置、最右侧位置和/或中心竖直位置,用于表示该文本块在竖直方向上在该文档中所处的位置。
图2示出了根据本发明一个实施方式的确定文档方向的流程图。如图2所示,上述步骤S130包括子步骤S210-S230。
在子步骤S210中,比较所有类的水平特征中的标准差的平均值与竖直特征中的标准差之平均值的大小。可以理解,如果各类的水平特征的标准差相对于竖直特征的标准差较大,则表明每个类中的各文本块的竖直位置彼此比较接近。反之,如果各类的水平特征的标准差相对于竖直特征的标准差较小,则表明每个类中的各文本块的水平位置彼此比较接近。
例如,当每个文本块的水平位置信息包括该文本块的最上侧位置和最下侧位置并且竖直位置信息包括该文本块的最左侧位置和最右侧位置时,则每个类的水平特征包括该类所包含的所有文本块的最上侧位置的平均值和标准差以及最下侧位置的平均值和标准差并且竖直特征包括该类所包含的所有文本块的最左侧位置的平均值和标准差以及最右侧位置的平均值和标准差。在子步骤S210中,每个类的水平特征中的标准差既考虑各文本块最上侧位置的标准差,也考虑各文本块最下侧位置的标准差,例如,每个类的水平特征中的标准差可以为各文本块最上侧位置的标准差与各文本块最下侧位置的标准差之和或平均值。类似地,每个类的竖直特征中的标准差可以为各文本块最左侧位置的标准差与各文本块最右侧位置的标准差之和或平均值。
因此,当所有类的水平特征中的标准差的平均值大于竖直特征中的标准差的平均值时,在步骤S220中,确定文档的方向是水平方向;当所有类的水平特征中的标准差的平均值小于竖直特征中的标准差的平均值时,在步骤S230中,确定文档的方向是竖直方向。
图3示出了根据本发明一个实施方式的精细聚类的流程图。如图3所示,上述步骤S140包括子步骤S310-S350。
在子步骤S310中,根据在上述步骤S130确定的文档的方向,计算每个文本块与每个类的关联值。在本申请中,一个文本块与一个类的关联值代表了该文本块与该类在位置上的接近程度。
根据一个实施例,每个文本块与每个类的关联值是根据该文本块的位置信息和该类的特征计算的。例如,当文档的方向是水平方向时,将一个文本块的竖直位置信息与一个类的竖直特征中的平均值之差计算为该文本块与该类的关联值。反之,当文档的方向是竖直方向时,将一个文本块的水平位置信息与一个类的水平特征中的平均值之差计算为该文本块与该类的关联值。
例如,如上所述,当每个文本块的水平位置信息包括该文本块的最上侧位置和最下侧位置并且竖直位置信息包括该文本块的最左侧位置和最右侧位置时,则每个类的水平特征包括该类所包含的所有文本块的最上侧位置的平均值和标准差以及最下侧位置的平均值和标准差并且竖直特征包括该类所包含的所有文本块的最左侧位置的平均值和标准差以及最右侧位置的平均值和标准差。在子步骤S310中,当文档方向是水平方向时,一个文本块与一个类的关联值为该文本块的最左侧位置与该类所包含的所有文本块的最左侧位置的平均值之差以及该文本块的最右侧位置与该类所包含的所有文本块的最右侧位置的平均值之差的和、平均值或其中较大的一个。类似地,当文档方向是竖直方向时,一个文本块与一个类的关联值为该文本块的最上侧位置与该类所包含的所有文本块的最上侧位置的平均值之差以及该文本块的最下侧位置与该类所包含的所有文本块的最下侧位置的平均值之差的和、平均值或其中较大的一个。
随后,在子步骤S320中,根据所计算出的各文本块与各类的关联值,更新每个文本块所处的类。通过上述步骤S110的粗聚类,聚类的结果往往不够精确,例如会将本应处于两个文本行的文本块聚类于一个类中。在此,通过利用每个文本块与各类的关联值,可确定该文本块与各类在位置上的接近程度,从而更新文本块应处的类。
在子步骤S330中,更新每个类的特征,并删除已不包含任何文本块的类。通过子步骤S320对每个文本块所处的类进行更新后,该文本块所处的类可能发生变化,也就是说,某个类或某些类所包含的文本块会发生变化,而且有可能某个类已不包含任何文本块。在此,可重新计算每个类的特征,并删除已不包含任何文本块的类。可见,在精细聚类的过程中,所述多个类的数量是动态变化的,这有利于精确且快速地得到最终聚类结果。
在子步骤S340中,判断每个文本块所处的类是否均已不发生改变。如果是,则将所产生的每个类作为一个文本行进行提取(S350);如果否,则返回子步骤S310,继续精细聚类处理。
图4示出了根据本发明一个实施方式的更新每个文本块所处的类的流程图。如图4所示,上述子步骤S320包括子步骤S410-S450。
在子步骤S410中,根据所确定的文档的方向以及所有类的特征,计算阈值。根据一个实施例,当文档的方向是水平方向时,计算所有类的竖直特征中的标准差的平均值乘以预设的系数,将该乘积作为阈值。当文档的方向是竖直方向时,计算所有类的水平特征中的标准差的平均值乘以预设的系数,将该乘积作为阈值。
例如,如上所述,当每个文本块的水平位置信息包括该文本块的最上侧位置和最下侧位置并且竖直位置信息包括该文本块的最左侧位置和最右侧位置时,则每个类的水平特征包括该类所包含的所有文本块的最上侧位置的平均值和标准差以及最下侧位置的平均值和标准差并且竖直特征包括该类所包含的所有文本块的最左侧位置的平均值和标准差以及最右侧位置的平均值和标准差。在子步骤S410中,当文档方向是水平方向时,将所有类所包含的所有文本块的最左侧位置的标准差的平均值以及最右侧位置的标准差的平均值的和、平均值或其中较大的一个乘以预设的系数,所得到的乘积作为阈值。类似地,当文档方向是竖直方向时,将所有类所包含的所有文本块的最上侧位置的标准差的平均值以及最下侧位置的标准差的平均值的和、平均值或其中较大的一个乘以预设的系数,所得到的乘积作为阈值。
对于一个文本块,其与每个类均具有一个关联值,在子步骤S420中,确定该文本块的最小关联值以及与该文本块具有该最小关联值的类。
在子步骤S430中,比较在子步骤S420中所确定的最小关联值与在子步骤S410中所计算的阈值的大小。当该最小关联值小于该阈值时,在子步骤S440中,将该文本块聚类至与该文本块具有该最小关联值的类中。当该最小关联值大于或等于该阈值时,在子步骤S450中,创建一个类,并将该文本块聚类于所创建的类。可见,文本块属于哪个类将受到阈值的影响,而阈值的数值大小又依赖于当前文本块的归属情况,因此,根据本发明的方法是动态调整的迭代过程,并且在更新每个文本块所处的类的过程中,所述多个类的数量也是动态变化的。可以理解,本领域技术人员可根据实际需要和所处理文档的实际情况来选择适当的上述预设的系数。根据一个实施例,该预设的系数为1-3范围内的实数,例如2。
图5示出了根据本发明一个实施方式的粗聚类的流程图。如图5所示,上述步骤S110包括子步骤S510-S520。在子步骤S510中,计算每两个文本块之间的距离。本领域技术人员可以理解,可以通过现有技术中任何适用的方法计算两个文本块之间的距离,例如,计算两个文本块间最接近的两点的距离,计算两个文本块的中间点之间的距离等等。随后,在子步骤S520中,根据在子步骤S510中所计算出的距离,将每个文本块与距离该文本块最接近的文本块合并至同一个类。
图6示出了根据本发明一个实施方式的将每个文本块与距离该文本块最接近的文本块合并至同一个类的流程图。如图6所示,上述子步骤S520包括子步骤S610-S630。在子步骤S610中,判断未被聚类于任一个类的文本块最接近的文本块是否已被聚类于某个类中。如果是,则在子步骤S620中,将该文本块也聚类于其最接近的文本块所处的类中。如果否,则在子步骤S630中,创建一个类,并将该文本块及其最接近的文本块聚类于所创建的类。可见,在粗聚类的过程中,所述多个类的数量也是动态变化的。
图7示出了根据本发明一个实施方式的提取文档中的文本行的装置的框图。如图7所示,该装置700包括粗聚类单元710、类特征计算单元720、文档方向确定单元730和精细聚类单元740。粗聚类单元710可对文档中的多个文本块进行粗聚类,以形成多个类。类特征计算单元720可计算类的特征。文档方向确定单元730可根据类特征计算单元720所计算出的类的特征,确定出文档的方向。精细聚类单元740可根据文档方向确定单元730所确定的文档的方向,对多个文本块进行精细聚类,以提取出文本行。
根据本发明的另一实施方式,文档中的每个文本块均具有位置信息,类特征计算单元720可根据类中所包含的文本块的位置信息,计算该类的特征。
根据一个实施例,文本块的位置信息包括水平位置信息和竖直位置信息,文本块的水平位置信息包括该文本块的最上侧位置、最下侧位置和/或中心水平位置,文本块的竖直位置信息包括该文本块的最左侧位置、最右侧位置和/或中心竖直位置。相应地,类的特征包括水平特征和竖直特征,类的水平特征包括该类所包含的所有文本块的水平位置信息的平均值和标准差,类的竖直特征包括该类所包含的所有文本块的竖直位置信息的平均值和标准差。
图8示出了根据本发明一个实施方式的文档方向确定单元的框图。如图8所示,文档方向确定单元730包括比较子单元810和确定子单元820。比较子单元810可比较所有类的水平特征中的标准差之平均值与竖直特征中的标准差之平均值的大小。确定子单元820可根据比较子单元810的比较结果,确定文档的方向是水平方向还是竖直方向。具体地,当所有类的水平特征中的标准差的平均值大于竖直特征中的标准差的平均值时,确定子单元820确定文档的方向是水平方向;当所有类的水平特征中的标准差的平均值小于竖直特征中的标准差的平均值时,确定子单元820确定文档的方向是竖直方向。
图9示出了根据本发明一个实施方式的精细聚类单元的框图。如图9所示,精细聚类单元740包括关联值计算子单元910、聚类子单元920和类更新子单元930。关联值计算子单元910可根据文档方向确定单元730所确定的文档的方向,计算文本块与每个类的关联值。聚类子单元920可根据关联值计算子单元910所计算出的关联值,更新该文本块所处的类。由于文本块所处的类有可能发生变化,因此在多个类中,可能有至少一个类的特征发生变化。类更新子单元930可更新每个类的特征,并删除已不包含任何文本块的类。
根据一个实施方式,关联值计算子单元910可根据文本块的位置信息和类的特征计算该文本块与该类的关联值。
可选地,当文档方向确定单元730确定文档的方向是水平方向时,关联值计算子单元910计算文本块的竖直位置信息与类的竖直特征中的平均值之差作为该文本块与该类的关联值。反之,当文档方向确定单元730确定文档的方向是竖直方向时,关联值计算子单元910计算文本块的水平位置信息与类的水平特征中的平均值之差作为该文本块与该类的关联值。
图10示出了根据本发明一个实施方式的聚类子单元的框图。如图10所示,聚类子单元920包括阈值计算模块1010、最小关联值确定模块1020、类创建模块1030和聚类模块1040。阈值计算模块1010可根据文档的方向和所有类的特征,计算阈值。类创建模块1030可用于创建类。对于一个文本块,最小关联值确定模块1020可确定该文本块的最小关联值以及与该文本块具有该最小关联值的类,并且如果其最小关联值小于阈值,则聚类模块1040可将该文本块聚类至最小关联值确定模块1020所确定的类中,如果其最小关联值大于或等于阈值,则聚类模块1040可将该文本块聚类至类创建模块1030所创建的类中。
根据一个实施方式,当文档方向确定单元730确定文档的方向是水平方向时,阈值计算模块1010计算所有类的竖直特征中的标准差的平均值乘以预设的系数所得到的结果作为该阈值。反之,当文档方向确定单元730确定文档的方向是竖直方向时,阈值计算模块1010计算所有类的水平特征中的标准差的平均值乘以预设的系数所得到的结果作为该阈值。
图11示出了根据本发明一个实施方式的粗聚类单元的框图。如图11所示,粗聚类单元710包括距离计算子单元1110和聚类子单元1120。距离计算子单元1110可计算每两个文本块之间的距离。聚类子单元1120可根据距离计算子单元1110所计算出的距离,将每个文本块与距离该文本块最接近的文本块合并至同一个类。
图12示出了根据本发明一个实施方式的粗聚类单元的聚类子单元的框图。如图12所示,聚类子单元1120包括类创建模块1210和聚类模块1220。类创建模块1210可用于创建类。对于未被聚类于任一个类的文本块,当该文本块最接近的文本块已被聚类于一个类中,则聚类模块1220将该文本块也聚类于该类中。当该文本块最接近的文本块也未被聚类于任一个类,则聚类模块1220将该文本块及其最接近的文本块聚类于类创建模块1210所创建的类。
另外,这里尚需指出的是,上述装置中各个组成部件可以通过软件、固件、硬件或其组合的方式进行配置。配置可使用的具体手段或方式为本领域技术人员所熟知,在此不再赘述。在通过软件或固件实现的情况下,从存储介质或网络向具有专用硬件结构的计算机(例如图13所示的通用计算机1300)安装构成该软件的程序,该计算机在安装有各种程序时,能够执行各种功能等。
图13示出了可用于实施根据本发明实施例的方法和装置的计算机的示意性框图。
在图13中,中央处理单元(CPU)1301根据只读存储器(ROM)1302中存储的程序或从存储部分1308加载到随机存取存储器(RAM)1303的程序执行各种处理。在RAM 1303中,还根据需要存储当CPU 1301执行各种处理等等时所需的数据。CPU 1301、ROM 1302和RAM 1303经由总线1304彼此连接。输入/输出接口1305也连接到总线1304。
下述部件连接到输入/输出接口1305:输入部分1306(包括键盘、鼠标等等)、输出部分1307(包括显示器,比如阴极射线管(CRT)、液晶显示器(LCD)等,和扬声器等)、存储部分1308(包括硬盘等)、通信部分1309(包括网络接口卡比如LAN卡、调制解调器等)。通信部分1309经由网络比如因特网执行通信处理。根据需要,驱动器1310也可连接到输入/输出接口1305。可拆卸介质1311比如磁盘、光盘、磁光盘、半导体存储器等等可以根据需要被安装在驱动器1310上,使得从中读出的计算机程序根据需要被安装到存储部分1308中。
在通过软件实现上述系列处理的情况下,从网络比如因特网或存储介质比如可拆卸介质1311安装构成软件的程序。
本领域的技术人员应当理解,这种存储介质不局限于图13所示的其中存储有程序、与设备相分离地分发以向用户提供程序的可拆卸介质1311。可拆卸介质1311的例子包含磁盘(包含软盘(注册商标))、光盘(包含光盘只读存储器(CD-ROM)和数字通用盘(DVD))、磁光盘(包含迷你盘(MD)(注册商标))和半导体存储器。或者,存储介质可以是ROM 1302、存储部分1308中包含的硬盘等等,其中存有程序,并且与包含它们的设备一起被分发给用户。
本发明还提出一种存储有机器可读取的指令代码的程序产品。所述指令代码由机器读取并执行时,可执行上述根据本发明实施方式的方法。
相应地,用于承载上述存储有机器可读取的指令代码的程序产品的存储介质也包括在本发明的范围内。所述存储介质包括但不限于软盘、光盘、磁光盘、存储卡、存储棒等等。
应当注意,本发明的方法不限于按照说明书中描述的时间顺序来执行,也可以按照其他的时间顺序地、并行地或独立地执行。因此,本说明书中描述的方法的执行顺序不对本发明的技术范围构成限制。
以上对本发明各实施方式的描述是为了更好地理解本发明,其仅仅是示例性的,而非旨在对本发明进行。应注意,在以上描述中,针对一种实施方式描述和/或示出的特征可以以相同或类似的方式在一个或更多个其它实施方式中使用,与其它实施方式中的特征相组合,或替代其它实施方式中的特征。本领域技术人员可以理解,在不脱离本发明的发明构思的情况下,针对以上所描述的实施方式进行的各种变化和修改,均属于本发明的范围内。
综上,在根据本发明的实施例中,本发明提供了如下技术方案。
方案1、一种提取文档中的文本行的方法,包括:
对文档中的多个文本块进行粗聚类,以形成多个类;
计算每个类的特征;
根据每个类的特征,确定所述文档的方向;以及
根据所述文档的方向对所述多个文本块进行精细聚类,以提取出文本行。
方案2、如方案1所述的方法,其中计算每个类的特征包括:根据每个类中所包含的文本块的位置信息,分别计算每个类的特征。
方案3、如方案2所述的方法,其中
每个文本块的位置信息包括水平位置信息和竖直位置信息,每个文本块的水平位置信息包括所述文本块的最上侧位置、最下侧位置和/或中心水平位置,每个文本块的竖直位置信息包括所述文本块的最左侧位置、最右侧位置和/或中心竖直位置;以及
每个类的特征包括水平特征和竖直特征,每个类的水平特征包括所述类所包含的所有文本块的水平位置信息的平均值和标准差,每个类的竖直特征包括所述类所包含的所有文本块的竖直位置信息的平均值和标准差。
方案4、如方案3所述的方法,其中确定所述文档的方向包括:
比较所述多个类中所有类的水平特征中的标准差之平均值与竖直特征中的标准差之平均值;
当所述多个类中所有类的水平特征中的标准差之平均值大于竖直特征中的标准差之平均值时,确定所述文档的方向是水平方向;以及
当所述多个类中所有类的水平特征中的标准差之平均值小于竖直特征中的标准差之平均值时,确定所述文档的方向是竖直方向。
方案5、如方案1至4中任一项所述的方法,其中精细聚类包括:
a)对于每个文本块,根据所述文档的方向,计算每个文本块与每个类的关联值;
b)根据计算出的关联值,更新每个文本块在所述多个类中所处的类;
c)更新每个类的特征,并删除已不包含任何文本块的类;以及
d)重复a)至c),直至每个文本块所处的类均不发生改变。
方案6、如方案5所述的方法,其中每个文本块与每个类的关联值是根据该文本块的位置信息和该类的特征计算的。
方案7、如方案6所述的方法,其中
每个文本块的位置信息包括水平位置信息和竖直位置信息,每个文本块的水平位置信息包括所述文本块的最上侧位置、最下侧位置和/或中心水平位置,每个文本块的竖直位置信息包括所述文本块的最左侧位置、最右侧位置和/或中心竖直位置;
每个类的特征包括水平特征和竖直特征,每个类的水平特征包括所述类所包含的所有文本块的水平位置信息的平均值和标准差,每个类的竖直特征包括所述类所包含的所有文本块的竖直位置信息的平均值和标准差;
当确定所述文档的方向是水平方向时,每个文本块与每个类的关联值为所述文本块的竖直位置信息与所述类的竖直特征中的平均值之差;以及
当确定所述文档的方向是竖直方向时,每个文本块与每个类的关联值为所述文本块的水平位置信息与所述类的水平特征中的平均值之差。
方案8、如方案7所述的方法,其中更新每个文本块在所述多个类中所处的类包括:
根据所述文档的方向和所述多个类的特征,计算阈值;
确定该文本块的最小关联值以及与该文本块具有该最小关联值的类;
当该最小关联值小于所述阈值,则将该文本块聚类至与该文本块具有该最小关联值的类中;以及
当该最小关联值大于或等于所述阈值,则创建一个类,并将该文本块聚类于所创建的类。
方案9、如方案8所述的方法,其中
当确定所述文档的方向是水平方向时,所述阈值为所有类的竖直特征中的标准差的平均值乘以预设的系数所得到的结果,
当确定所述文档的方向是竖直方向时,所述阈值为所有类的水平特征中的标准差的平均值乘以预设的系数所得到的结果。
方案10、如方案1至9中任一项所述的方法,其中粗聚类包括:
计算所述多个文本块中的每两个文本块之间的距离;以及
根据所计算出的距离,将每个文本块与距离该文本块最接近的文本块合并至同一个类。
方案11、如方案10所述的方法,其中将每个文本块与距离该文本块最接近的文本块合并至同一个类包括:
对于未被聚类于任一个类的文本块,
当该文本块最接近的文本块已被聚类于所述多个类中的一个类,则将该文本块也聚类于所述一个类;以及
当该文本块最接近的文本块未被聚类于任一个类,则创建一个类,并将该文本块及其最接近的文本块聚类于所创建的类。
方案12、一种提取文档中的文本行的装置,包括:
粗聚类单元,对文档中的多个文本块进行粗聚类,以形成多个类;
类特征计算单元,计算类的特征;
文档方向确定单元,根据所述类特征计算单元所计算出的类的特征,确定所述文档的方向;以及
精细聚类单元,根据所述文档方向确定单元所确定的所述文档的方向,对所述多个文本块进行精细聚类,以提取出文本行。
方案13、如方案12所述的装置,其中所述类特征计算单元根据类中所包含的文本块的位置信息,计算该类的特征。
方案14、如方案13所述的装置,其中
文本块的位置信息包括水平位置信息和竖直位置信息,文本块的水平位置信息包括该文本块的最上侧位置、最下侧位置和/或中心水平位置,文本块的竖直位置信息包括该文本块的最左侧位置、最右侧位置和/或中心竖直位置;以及
类的特征包括水平特征和竖直特征,类的水平特征包括该类所包含的所有文本块的水平位置信息的平均值和标准差,类的竖直特征包括该类所包含的所有文本块的竖直位置信息的平均值和标准差。
方案15、如方案14所述的装置,其中所述文档方向确定单元包括:
比较子单元,比较所述多个类中所有类的水平特征中的标准差之平均值与竖直特征中的标准差之平均值的大小;以及
确定子单元,根据所述比较子单元的比较结果,确定所述文档的方向是水平方向还是竖直方向。
方案16、如方案12至15中任一项所述的装置,其中精细聚类单元包括:
关联值计算子单元,根据所述文档方向确定单元所确定的所述文档的方向,计算文本块与每个类的关联值;
聚类子单元,根据所述关联值计算子单元所计算出的关联值,更新该文本块在所述多个类中所处的类;以及
类更新子单元,更新每个类的特征,并删除已不包含任何文本块的类。
方案17、如方案16所述的装置,其中所述关联值计算子单元根据文本块的位置信息和类的特征计算该文本块与该类的关联值。
方案18、如方案17所述的装置,其中
文本块的位置信息包括水平位置信息和竖直位置信息,文本块的水平位置信息包括该文本块的最上侧位置、最下侧位置和/或中心水平位置,文本块的竖直位置信息包括该文本块的最左侧位置、最右侧位置和/或中心竖直位置;
类的特征包括水平特征和竖直特征,类的水平特征包括该类所包含的所有文本块的水平位置信息的平均值和标准差,类的竖直特征包括该类所包含的所有文本块的竖直位置信息的平均值和标准差;
当所述文档方向确定单元确定所述文档的方向是水平方向时,所述关联值计算子单元计算文本块的竖直位置信息与类的竖直特征中的平均值之差作为该文本块与该类的关联值;以及
当所述文档方向确定单元确定所述文档的方向是竖直方向时,所述关联值计算子单元计算文本块的水平位置信息与类的水平特征中的平均值之差作为该文本块与该类的关联值。
方案19、如方案18所述的装置,其中所述聚类子单元包括:
阈值计算模块,根据所述文档的方向和所述多个类的特征,计算阈值;
最小关联值确定模块,确定文本块的最小关联值以及与该文本块具有该最小关联值的类;
类创建模块,用于创建类;以及
聚类模块,将具有小于所述阈值的最小关联值的文本块聚类至所述最小关联值确定模块所确定的类中,并将具有大于或等于所述阈值的最小关联值的文本块聚类至所述类创建模块所创建的类中。
方案20、如方案19所述的装置,其中
当所述文档方向确定单元确定所述文档的方向是水平方向时,所述阈值计算模块计算所有类的竖直特征中的标准差的平均值乘以预设的系数所得到的结果作为所述阈值,
当所述文档方向确定单元确定所述文档的方向是竖直方向时,所述阈值计算模块计算所有类的水平特征中的标准差的平均值乘以预设的系数所得到的结果作为所述阈值。

Claims (6)

1.一种提取文档中的文本行的方法,包括:
对文档中的多个文本块进行粗聚类,以形成多个类;
计算每个类的特征;
根据每个类的特征,确定所述文档的方向;以及
根据所述文档的方向对所述多个文本块进行精细聚类,以提取出文本行,其中,所述精细聚类包括:
a)对于每个文本块,根据所述文档的方向,计算每个文本块与每个类的关联值;
b)根据计算出的关联值,更新每个文本块在所述多个类中所处的类;
c)更新每个类的特征,并删除已不包含任何文本块的类;以及
d)重复a)至c),直至每个文本块所处的类均不发生改变,
其中,每个文本块与每个类的关联值是根据该文本块的位置信息和该类的特征计算的,其中:
每个文本块的位置信息包括水平位置信息和竖直位置信息,每个文本块的水平位置信息包括所述文本块的最上侧位置、最下侧位置和/或中心水平位置,每个文本块的竖直位置信息包括所述文本块的最左侧位置、最右侧位置和/或中心竖直位置;
每个类的特征包括水平特征和竖直特征,每个类的水平特征包括所述类所包含的所有文本块的水平位置信息的平均值和标准差,每个类的竖直特征包括所述类所包含的所有文本块的竖直位置信息的平均值和标准差;
当确定所述文档的方向是水平方向时,每个文本块与每个类的关联值为所述文本块的竖直位置信息与所述类的竖直特征中的平均值之差;以及
当确定所述文档的方向是竖直方向时,每个文本块与每个类的关联值为所述文本块的水平位置信息与所述类的水平特征中的平均值之差。
2.如权利要求1所述的方法,其中计算每个类的特征包括:根据每个类中所包含的文本块的位置信息,分别计算每个类的特征。
3.如权利要求1或2所述的方法,其中确定所述文档的方向包括:
比较所述多个类中所有类的水平特征中的标准差之平均值与竖直特征中的标准差之平均值;
当所述多个类中所有类的水平特征中的标准差之平均值大于竖直特征中的标准差之平均值时,确定所述文档的方向是水平方向;以及
当所述多个类中所有类的水平特征中的标准差之平均值小于竖直特征中的标准差之平均值时,确定所述文档的方向是竖直方向。
4.如权利要求1所述的方法,其中更新每个文本块在所述多个类中所处的类包括:
根据所述文档的方向和所述多个类的特征,计算阈值;
确定该文本块的最小关联值以及与该文本块具有该最小关联值的类;
当该最小关联值小于所述阈值,则将该文本块聚类至与该文本块具有该最小关联值的类中;以及
当该最小关联值大于或等于所述阈值,则创建一个类,并将该文本块聚类于所创建的类。
5.如权利要求4所述的方法,其中
当确定所述文档的方向是水平方向时,所述阈值为所有类的竖直特征中的标准差的平均值乘以预设的系数所得到的结果,
当确定所述文档的方向是竖直方向时,所述阈值为所有类的水平特征中的标准差的平均值乘以预设的系数所得到的结果。
6.一种提取文档中的文本行的装置,包括:
粗聚类单元,对文档中的多个文本块进行粗聚类,以形成多个类;
类特征计算单元,计算类的特征;
文档方向确定单元,根据所述类特征计算单元所计算出的类的特征,确定所述文档的方向;以及
精细聚类单元,根据所述文档方向确定单元所确定的所述文档的方向,对所述多个文本块进行精细聚类,以提取出文本行,其中,所述精细聚类包括:
a)对于每个文本块,根据所述文档的方向,计算每个文本块与每个类的关联值;
b)根据计算出的关联值,更新每个文本块在所述多个类中所处的类;
c)更新每个类的特征,并删除已不包含任何文本块的类;以及
d)重复a)至c),直至每个文本块所处的类均不发生改变,
其中,每个文本块与每个类的关联值是根据该文本块的位置信息和该类的特征计算的,其中:
每个文本块的位置信息包括水平位置信息和竖直位置信息,每个文本块的水平位置信息包括所述文本块的最上侧位置、最下侧位置和/或中心水平位置,每个文本块的竖直位置信息包括所述文本块的最左侧位置、最右侧位置和/或中心竖直位置;
每个类的特征包括水平特征和竖直特征,每个类的水平特征包括所述类所包含的所有文本块的水平位置信息的平均值和标准差,每个类的竖直特征包括所述类所包含的所有文本块的竖直位置信息的平均值和标准差;
当确定所述文档的方向是水平方向时,每个文本块与每个类的关联值为所述文本块的竖直位置信息与所述类的竖直特征中的平均值之差;以及
当确定所述文档的方向是竖直方向时,每个文本块与每个类的关联值为所述文本块的水平位置信息与所述类的水平特征中的平均值之差。
CN201410525023.4A 2014-10-08 2014-10-08 提取文档中的文本行的方法和装置 Active CN105574530B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410525023.4A CN105574530B (zh) 2014-10-08 2014-10-08 提取文档中的文本行的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410525023.4A CN105574530B (zh) 2014-10-08 2014-10-08 提取文档中的文本行的方法和装置

Publications (2)

Publication Number Publication Date
CN105574530A CN105574530A (zh) 2016-05-11
CN105574530B true CN105574530B (zh) 2019-11-22

Family

ID=55884637

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410525023.4A Active CN105574530B (zh) 2014-10-08 2014-10-08 提取文档中的文本行的方法和装置

Country Status (1)

Country Link
CN (1) CN105574530B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107180239B (zh) * 2017-06-09 2020-09-11 科大讯飞股份有限公司 文本行识别方法及系统
CN109961068A (zh) * 2017-12-26 2019-07-02 阿里巴巴集团控股有限公司 图像识别、训练、搜索方法和装置及设备、介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102194117A (zh) * 2010-03-05 2011-09-21 北京大学 文稿页面方向检测方法和装置
CN103455806A (zh) * 2012-05-31 2013-12-18 富士通株式会社 文档处理装置、文档处理方法以及扫描仪
CN103577818A (zh) * 2012-08-07 2014-02-12 北京百度网讯科技有限公司 一种图像文字识别的方法和装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102194117A (zh) * 2010-03-05 2011-09-21 北京大学 文稿页面方向检测方法和装置
CN103455806A (zh) * 2012-05-31 2013-12-18 富士通株式会社 文档处理装置、文档处理方法以及扫描仪
CN103577818A (zh) * 2012-08-07 2014-02-12 北京百度网讯科技有限公司 一种图像文字识别的方法和装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"基于最小生成树聚类的中文版面分割法";张充 等;《计算机工程》;20080831;第34卷(第15期);第1-3页 *

Also Published As

Publication number Publication date
CN105574530A (zh) 2016-05-11

Similar Documents

Publication Publication Date Title
WO2020233269A1 (zh) 由2d图像重建3d模型的方法、装置、设备及存储介质
CN107193962B (zh) 一种互联网推广信息的智能配图方法及装置
CN104850633B (zh) 一种基于手绘草图部件分割的三维模型检索系统及方法
WO2022001623A1 (zh) 基于人工智能的图像处理方法、装置、设备及存储介质
CN110909165B (zh) 数据处理方法、装置、介质及电子设备
US7480400B2 (en) Detection of fiber pathways
CN104160392B (zh) 语义推测装置、方法
CN109948121A (zh) 文章相似度挖掘方法、系统、设备及存储介质
US20150066378A1 (en) Identifying Possible Disease-Causing Genetic Variants by Machine Learning Classification
CN108269122B (zh) 广告的相似度处理方法和装置
CN102201062A (zh) 信息处理设备、方法和程序
CN110008343A (zh) 文本分类方法、装置、设备及计算机可读存储介质
CN111144109B (zh) 文本相似度确定方法和装置
CN110019805A (zh) 文章主题挖掘方法和装置及计算机可读存储介质
CN110807213A (zh) 一种构建三维bim模型立面图的方法和相关装置
CN110489424A (zh) 一种表格化信息提取的方法、装置、存储介质及电子设备
CN112465020A (zh) 训练数据集的生成方法及装置、电子设备、存储介质
CN105574530B (zh) 提取文档中的文本行的方法和装置
WO2018033052A1 (zh) 一种评估用户画像数据的方法及系统
WO2020237540A1 (zh) 电网用户分类方法、装置和计算机可读存储介质
US20140317121A1 (en) Supporting acquisition of information
CN111597336A (zh) 训练文本的处理方法、装置、电子设备及可读存储介质
CN115167965A (zh) 交易进度条的处理方法及装置
CN105488061A (zh) 一种验证数据有效性的方法及装置
CN111428510B (zh) 一种基于口碑的p2p平台风险分析方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant