CN110659527B - 电子表单中的表格检测 - Google Patents
电子表单中的表格检测 Download PDFInfo
- Publication number
- CN110659527B CN110659527B CN201810698750.9A CN201810698750A CN110659527B CN 110659527 B CN110659527 B CN 110659527B CN 201810698750 A CN201810698750 A CN 201810698750A CN 110659527 B CN110659527 B CN 110659527B
- Authority
- CN
- China
- Prior art keywords
- candidate region
- cells
- given
- determining
- candidate
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/103—Formatting, i.e. changing of presentation of documents
- G06F40/106—Display of layout of documents; Previewing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
- G06F40/177—Editing, e.g. inserting or deleting of tables; using ruled lines
- G06F40/18—Editing, e.g. inserting or deleting of tables; using ruled lines of spreadsheets
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Document Processing Apparatus (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本公开涉及电子表单中的表格检测。根据本公开的实现,提出了一种用于确定电子表单中的表格的方案。在该方案中,可以提取电子表单中包括的多个单元格各自的多个属性。继而,可以基于提取的多个属性,确定多个单元格各自的特征。基于特征,可以将多个单元格划分为至少一个候选区域。基于至少一个候选区域,可以确定电子表单中的至少一个候选表格。通过该方案,可以基于电子表单中包括的多个单元格各自的属性来确定各个单元格的特征,进而可以基于针对各个单元格的特征来确定其中可能存在表格的候选区域。
Description
背景技术
随着各种电子表单(spreadsheet)编辑工具的出现,电子表单已经成为人们日常生活中的重要数据存储格式。尤其是,在例如银行、会计、统计等行业的日常工作流程中,电子表单已经成为多种数据的主要载体。电子表单编辑工具向用户提供灵活的工作空间,并且编辑工具的用户可以按照自己的期望来在电子表单中添加一个或者多个表格(table)。
然而,由于不同的用户在生成电子表单时可能会具有自身的偏好,例如,某些用户可能向电子表单中插入一个表格,而某些用户可能会向电子表单中插入多个表格,并且按照自己期望的方式将多个表格部署在电子表单中。每个表格可以具有不同的大小和位置,并且在各个表格中可能会存在一个或多个空白单元格。此时,如何检测电子表单中的各个表格所占据的区域成为一个研究热点。进一步,由于对于电子表单的后续处理在很大程度上依赖于准确地检测电子表单中的各个表格,因而,期望可以以更高的准确度来执行检测处理。
发明内容
根据本公开的实现,提供了一种用于确定电子表单中的表格的方案。在此方案中,可以提取电子表单中包括的多个单元格各自的多个属性。继而,可以基于提取的多个属性,确定多个单元格各自的特征。基于特征,可以将多个单元格划分为至少一个候选区域。基于至少一个候选区域,可以确定电子表单中的至少一个候选表格。
提供发明内容部分是为了简化的形式来介绍对概念的选择,其在下文的具体实施方式中将被进一步描述。发明内容部分无意标识要求保护的主题的关键特征或主要特征,也无意限制要求保护的主题的范围。
附图说明
图1示意性示出了能够实施本公开的多个实现的计算环境的框图;
图2示意性示出了根据本公开的一个实现的用于在电子表单中检测表格的方案的概要框图;
图3示意性示出了根据本公开的一个实现的用于在电子表单中检测表格的方法的流程图;
图4示意性示出了根据本公开的一个实现的用于获取映射关系的方案的框图;
图5示意性示出了根据本公开的一个实现的用于调整给定候选区域中的边界的位置的框图;
图6示意性示出了根据本公开的一个实现的用于基于检测到的候选区域中的错误来更新映射关系的方法的框图;
图7示意性示出了根据本公开的一个实现的用于基于电子表单中的各个单元格是否位于表格内的概率来确定在候选区域中是否存在错误的框图;
图8示意性示出了根据本公开的一个实现的用于基于给定候选区域是否与其他候选区域重叠来确定在给定候选区域中是否存在错误的框图;
图9示意性示出了根据本公开的一个实现的用于基于一个候选区域中是否包括空列/空行来确定在候选区域中是否存在错误的框图;
图10A示意性示出了根据本公开的一个实现的用于基于一个候选区域中所包括的空白单元格来确定在候选区域中是否存在错误的框图;以及
图10B示意性示出了根据本公开的一个实现的用于基于一个候选区域外的非空白单元格来确定在候选区域中是否存在错误的框图。
这些附图中,相同或相似参考符号用于表示相同或相似元素。
具体实施方式
现在将参照若干示例实现来论述本公开。应当理解,论述了这些实现仅是为了使得本领域普通技术人员能够更好地理解且因此实现本公开,而不是暗示对本主题的范围的任何限制。
如本文所使用的,术语“包括”及其变体要被解读为意味着“包括但不限于”的开放式术语。术语“基于”要被解读为“至少部分地基于”。术语“一个实现”和“一种实现”要被解读为“至少一个实现”。术语“另一个实现”要被解读为“至少一个其他实现”。术语“第一”、“第二”等等可以指代不同的或相同的对象。下文还可能包括其他明确的和隐含的定义。
目前,多个公司已经开发出了用于编辑电子表单的工具。例如,在微软公司的中,用户可以在电子表单中添加一个或多个表格。由于不同用户自身偏好可能有所不同,用些用户可能会向页面中添加多个表格,并且按照用户自己的偏好来将多个表格分布在电子表单中的不同位置。此时,如何检测各个表格在电子表单中的位置成为一个研究热点。
根据一个技术方案,已经开发出了基于电子表单中的空白单元格与非空白单元格的位置来检测表格的技术方案。然而,由于在实际应用中电子表单中允许存在空白单元格,尤其是在尚未向表格中填充数据时在表格中将存在大量空白单元格。因而上述技术方案在检测表格时的准确性并不高。根据另一技术方案,还提出了基于识别表格的标题、表头和数据部分来检测表格的方案。然而,由于用户绘制的表格中可能存在复杂的结构,例如,可以省略标题或者在表头中还可能存在子表头等结构,这导致该技术方案不能准确地从电子表单中检测到表格。
因而,期望可以提供一种以方便并且有效的方式来从电子表单中检测表格的技术方案。进一步,期望该技术方案可以与现有的电子表单编辑工具相兼容,并且在尽量不改变现有电子表单的已有数据存储方式的情况下实现更为方便、快捷、并且准确的表格检测。
示例环境
以下参考附图来说明本公开内容的基本原理和若干示例实现。图1示出了其中可以实施本公开的一个或多个实施例的计算设备100的框图。应当理解,图1所示出的计算设备100仅仅是示例性的,而不应当构成对本公开所描述的实施例的功能和范围的任何限制。
如图1所示,计算设备100包括通用计算设备形式的设备100。计算设备100的组件可以包括但不限于一个或多个处理器或处理单元110、存储器120、存储设备130、一个或多个输入设备140、一个或多个输出设备150以及一个或多个通信单元160。
在一些实施例中,计算设备100可以被实现为各种用户终端或服务终端。服务终端可以是各种服务提供方提供的服务器、大型计算设备等。用户终端诸如是任意类型的移动终端、固定终端或便携式终端,包括移动手机、多媒体计算机、多媒体平板、互联网节点、通信器、台式计算机、膝上型计算机、笔记本计算机、上网本计算机、平板计算机、个人通信系统(PCS)设备、个人导航设备、个人数字助理(PDA)、音频/视频播放器、数码相机/摄像机、定位设备、电视接收器、无线电广播接收器、电子书设备、游戏设备或者其任意组合,包括这些设备的配件和外设或者其任意组合。还可预见到的是,计算设备100能够支持任意类型的针对用户的接口(诸如“可佩戴”电路等)。
处理单元110可以是实际或虚拟处理器并且能够根据存储器120中存储的应用来执行各种处理。在多处理器系统中,多个处理单元并行执行计算机可执行指令,以提高设备100的并行处理能力。处理单元110也可以被称为中央处理单元(CPU)、微处理器、控制器、微控制器。
计算设备100通常包括多个计算机存储介质。这样的介质可以是设备100可访问的任何可以获得的介质,包括但不限于易失性和非易失性介质、可拆卸和不可拆卸介质。存储器120可以是易失性存储器(例如寄存器、高速缓存、随机访问存储器(RAM))、非易失性存储器(例如,只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、闪存)或其某种组合。
存储器120可以包括信息提供模块125,其被配置为执行本文所描述的各种实施例的功能。注意,在本公开中,“信息提供方法”和“信息提供模块”这两个术语可互换使用。信息提供模块125可以由处理单元110访问和运行,以实现相应功能。
存储设备130可以是可拆卸或不可拆卸的介质,并且可以包括机器可读介质,诸如闪存驱动、磁盘或者任何其他介质,其能够用于存储信息和/或数据并且可以在计算设备100内被访问。
输入设备140可以是一个或多个输入设备,例如鼠标、键盘、触摸屏、追踪球、语音输入设备等。输出设备150可以是一个或多个输出设备,例如显示器、扬声器、打印机等。
通信单元160实现通过通信介质与另外的计算设备进行通信。附加地,设备100的组件的功能可以以单个计算集群或多个计算机器来实现,这些计算机器能够通过通信连接进行通信。因此,计算设备100可以使用与一个或多个其他服务器、个人计算机(PC)或者另一个一般网络节点的逻辑连接来在联网环境中进行操作。计算设备100还可以根据需要通过通信单元160与一个或多个外部设备(未示出)进行通信,外部设备诸如存储设备、显示设备等,与一个或多个使得用户与计算设备100交互的设备进行通信,或者与使得计算设备100与一个或多个其他计算设备通信的任何设备(例如,网卡、调制解调器等)进行通信。这样的通信可以经由输入/输出(I/O)接口(未示出)来执行。
计算设备100可以借助于通信单元160接收待处理的电子表单170,该电子表单170中可以包括一个或多个表格172和174。备选地,计算设备100也可以经由输入设备140接收电子表单170。电子表单170被传递给表格检测模块125以供处理。根据本公开的实施例,表格检测模块125从电子表单170中确定一个或多个其中可能存在表格的候选区域182和184。如图1中的处理后的电子表单180所示,可以从确定的候选区域182和184中检测表格。
将会理解,表格检测模块125与输入设备140和输出设备150之间的通信可借助于计算设备100上的操作系统(OS)所提供的接口来实现。这种接口的示例包括但不限于各种应用编程接口(API)。
工作原理
在下文中,将参见各附图详细描述本公开的方案的工作原理。根据本公开的实现,提供了一种用于检测电子表单中的表格的方案。在下文中,将参见图2进行描述。参见图2,图2示意性示出了根据本公开的一个实现的用于在电子表单中检测表格的方案的概要框图。如图2所示,空白电子表单210可以包括多个单元格(cell),其中单元格212示意性示出了空白电子表单210中的一个单元格。尽管在图2中示出了各个单元格具有相同的大小,根据本公开的一个示例性实现,各个单元格还可以具有不同的大小。将会理解,用户可以向该空白电子表单210中加入一个或多个表格。
例如,用户可以编辑空白电子表单210中的各个单元格,并向该空白电子表单210中加入多个表格以形成电子表单170。为清楚起见,在此并未示出电子表单170中包括的空白单元格,而是仅示意性示出了两个表格172和174中所包括的单元格。将会理解,用户可以通过编辑电子表单170中的各个单元的方式来加入表格。例如,用户可以向单元格中加入字符、数字等数据内容,用户还可以修改单元格的底色、大小等。此时,电子表单170即为将被处理以便在其中检测表格的电子表单。
如图2所示,可以从电子表单170中包括的多个单元格中的给定单元格提取多个属性。在此属性例如可以包括以下多个方面中的任一方面:给定单元格中的数据的字符、给定单元格中的数据的格式、以及给定单元格的样式。继而,可以基于提取的多个属性,确定多个单元格中的给定单元格的相应特征。例如,可以以矢量形式来存储所提取的每个单元格的特征。如图2所示,可以将每个单元格的特征矢量组合在一起,以形成如处理后的电子表单180中所示的特征矢量矩阵。
基于多个单元格中的单元格的各自的特征,可以将多个单元格划分为一个或多个候选区域(例如182和184)。在此实现中,可以通过将多个单元格的特征矢量进行聚类的方式来获得一个或多个候选区域182和184。此时,所获得的候选区域182和184中的单元格的特征矢量具有较高的关联关系,因而可以基于一个或多个候选区域182和184来确定电子表单中的一个或多个候选表格。
将会理解,表格内的多个单元格可以具有一定的相似性。例如,通常而言,表格内的多个单元格中的数据可以具有相同的字体、字符大小以及相同的背景颜色等属性。利用上述示例性实现,通过提取各个单元格的特征并将获得的特征进行聚类,可以以简单并且有效的方式来确定其中可能存在表格的一个或多个候选区域。进而,可以基于确定的一个或多个候选区域来确定表格。
示例过程
在下文中,将参见图3详细描述本公开的方法的详细操作流程。图3示意性示出了根据本公开的一个实现的用于在电子表单170中检测表格的方法300的流程图。在框310处,可以提取电子表单170中包括的多个单元格各自的多个属性。根据本公开的一个示例性实现,电子表单170可以具有预定的大小(例如,预定的长度和宽度),此时可以从该预定大小的范围内的多个单元格提取属性。根据本公开的一个示例性实现,电子表单170还可以具有不固定的大小,此时可以以电子表单中的非空单元格所在的区域,来作为该电子表单的大小。
将会理解,在本公开的上下文中描述的电子表单170可以包括一个或多个页面(例如,在Excel文件中的一个或多个分页签)。为简化描述起见,在下文中将仅描述从电子表单170中的一个页面中识别表格的具体实现,针对电子表单170中的其他页面的操作是类似的。在此实现中,单元格的属性可以包括多个方面,例如,单元格中的数据的字符、单元格中的数据的格式、以及单元格的样式。可以从上述方面中的至少任一方面来提取属性。
在框320处,基于提取的多个属性,可以确定多个单元格各自的特征。可以以特征矢量的方式来存储与每个单元格相对应的特征。此时,所提取的每个属性可以作为特征矢量中的一个维度。根据本公开的一个示例性实现,假设提取了10个属性,则此时特征矢量的维度可以是10。又例如,当提取了其他数量的属性时,则特征矢量的维度可以被设置为其他数值。
在框330处,可以基于特征来将多个单元格划分为至少一个候选区域182和184。通常而言,表格内的多个单元格将具有一定的相似性,例如,用户通常会将一个表格内的各个单元格设置为相同的底色,而将另一表格内的各个单元格设置为另一底色。在提取的属性包括单元格的底色以及单元格内的字符串是否为空的情况下,通过按照“底色”来将各个单元格进行聚类,则可以获得电子表单170中包括不同底色的单元格的不同候选区域。将会理解,尽管在此操作中仅示意性示出了按照“底色”来聚类各个单元格的简单示例,根据本公开的一个示例性实现,特征矢量可以包括更多的维度,并且还可以按照更为复杂的规则来将多个单元格划分为多个候选区域182和184。
继而,在框340处,可以基于至少一个候选区域182和184来确定电子表单170中的至少一个候选表格。在已经确定了电子表单170中包括的一个或多个候选区域182和184的情况下,可以从每个候选区域中确定一个候选表格。在上文中已经概括描述了根据本公开的一个示例性实现的方法的步骤,在下文中,将详细描述每个步骤的更多细节。
提取单元格的属性
根据本公开的一个示例性实现,属性可以包括多方面的内容,可以基于以下中的至少任一项来提取相应单元格的多个属性:相应单元格中的数据的字符、相应单元格中的数据的格式、以及相应单元格的样式。利用上述示例性实现,可以提取电子表单中的单元格的多方面的特征。以此方式,可以提高在电子表单170中检测表格的准确性。
根据本公开的一个示例性实现,可以基于单元格中的数据的字符来提取单元格的属性。如下文表1所示,该表1中的第一列表示字符串相关联的属性的序号,第二列表示属性的具体描述,以及第三列表示该属性的数据类型。以表1中的第1行中的记录为例,该记录是第一个属性,并且该属性表示单元格中的数据的字符串是否为空。在表1的示例中,如果单元格内的字符串为空(即,不包括任何内容),则此时相对应的属性可以被设置为“0”;如果单元格内的字符串非空(即,包括字符),则此时相对应的属性可以被设置为“1”。类似地,该表1中的第2行表示单元格中的字符串的长度,并且可以以整型来表示字符串的长度。在表1中的第3-4行,可以以[0,1]之间的数值来表示数字/字母在字符串中的百分比。在表1中的第5-6行,可以布尔型来表示字符串中是否包括“%”和“.”。
表1字符串相关的属性
序号 | 描述 | 数值类型 |
1 | 字符串是否为空 | 布尔型 |
2 | 字符串的长度 | 整型 |
3 | 数字在字符串中的百分比 | [0,1] |
4 | 字母在字符串中的百分比 | [0,1] |
5 | 字符串中是否包括百分号“%” | 布尔型 |
6 | 字符串中是否包括小数点“.” | 布尔型 |
将会理解,在上文表1中仅仅示意性示出了属性的示例,根据本公开的一个示例性实现,字符相关的属性可以包括更多、更少或者不同的内容。
在下文中,表2中示意性示出了与单元格中的数据格式相关联的属性的示例。如下文表2所示,该表2中的第一列表示数据格式相关联的属性的序号,第二列表示属性的具体描述,以及第三列表示该属性的数据类型。以表2中的第1行中的记录为例,该记录是第一个属性,并且该属性表示单元格中的数据格式是否匹配于预定的模板。
在此模板可以包括多种类型,例如,小数类型的模板可以表示为“*.*”,百分比类型的模板可以表示为“*%”,等等。如果单元格内的数据格式属于某种类型的模板,则此时相对应的属性可以被设置为“1”;否则相对应的属性可以被设置为“0”。类似地,该表2中的第2行和第3行分别表示单元格中数据格式是否匹配于日期模板、时间模板,第4行表示单元格中的数据所匹配的模板的长度,第5行标识单元格中的数据是否包括公式。
表2数据格式相关的属性
将会理解,在上文表2中仅仅示意性示出了属性的示例,根据本公开的一个示例性实现,数据格式相关的属性可以包括更多、更少或者不同的内容。
在下文中,表3中示意性示出了与单元格的样式相关联的属性的示例。如下文表3所示,该表3中的第一列表示数据格式相关联的属性的序号,第二列表示属性的具体描述,以及第三列表示该属性的数据类型。以表3中的第1行中的记录为例,该记录是第一个属性,并且该属性表示单元格的背景颜色。在此实现中,颜色值可以被量化值0至100之间的一个等级,其中0来表示纯白色而100来表示纯黑色。此时,例如可以以4来表示白色。在另一实现中,颜色值可以以RGB格式来表示,例如纯白色背景可以表示为(255,255,255)。基于表3中的第二列中的描述,本领域技术人员可以理解各个属性的具体含义,在本文中将不再赘述。
表3样式相关的属性
序号 | 描述 | 数值类型 |
1 | 单元格的背景颜色,例如,白色 | 颜色值 |
2 | 单元格内字符串的颜色,例如,黑色 | 颜色值 |
3 | 字符串是否为粗体 | 布尔型 |
4 | 字符串是否为斜体 | 布尔型 |
5 | 字符串是否带有下划线 | 布尔型 |
6 | 左部边界处是否存在空白 | 布尔型 |
7 | 右部边界处是否存在空白 | 布尔型 |
8 | 上部边界处是否存在空白 | 布尔型 |
9 | 下部边界处是否存在空白 | 布尔型 |
10 | 是否与水平相邻单元格融合 | 布尔型 |
11 | 是否与竖直相邻单元格融合 | 布尔型 |
确定单元格的特征
上文已经参见表1至表3来描述了如何提取给定单元格的属性的具体示例。在下文中,将详细描述如何基于提取的属性来确定单元格的特征。
可以基于表1中的描述来确定单元格的字符串相关的属性。例如,假设给定单元格内包括字符串“hello”,则该单元格中的字符串相关的属性可以表示为矢量1:(1,5,0,1,0,0)。该属性表示给定单元格内包括的字符串非空、字符串长度为5、字符串中不包括数字、字符串中的全部字符均为字母、字符串不包括百分号、不包括小数点。
可以基于表2中的描述来确定单元格的数据格式相关的属性。例如,继续上文中字符串“hello”的示例,则该单元格的数据格式相关的属性可以表示为矢量2:(0,0,0,0,0)。该属性表示给定单元格内包括的数据不匹配于任何类型的模板、所匹配的模板的长度为0、并且不包括公式。
可以基于表3中的描述来确定单元格的样式相关的属性。假设字符串“hello”的背景颜色为白色、字符串颜色为黑色、常规字体、与各个边界不存在空白、单元格没有与其他单元格存在融合。此时,该单元格的样式相关联的属性可以表示为矢量3:(4,96,0,0,0,0,0,0,0,0,0)。
根据本公开的一个示例性实现,可以将上述矢量1-3进行组合来获得单元格的特征矢量。例如,可以将上述矢量1-3进行连接,又例如,还可以将针对矢量中的各个维度设置权重。为简单描述,在下文中,仅以基于以下三个属性来确定单元格的特征矢量:字符串是否为空、数据格式是否匹配于数字模板、单元格的背景颜色。则此时给定单元格的特征矢量可以表示为(1,0,4)。将会理解,尽管上文仅以基于表1至表3中包括的属性来确定特征矢量的示例,根据本公开的一个示例性实现,还可以基于未包括在表1至表3中的其他属性来确定特征矢量。
确定候选区域
根据本公开的一个示例性实现,可以采用多种方式来确定一个或多个候选区域182和184。例如,可以首先获取电子表单中的表格与表格中包括的多个单元格的特征之间的映射关系。将会理解,在此的映射关系可以是基于历史经验值来定义的。例如,历史经验发现表格内的单元格可以具有相同的背景颜色,则此时可以将具有相同背景颜色的单元格与表格之间建立映射关系。按照此映射关系,可以将具有相同背景颜色的单元格划分至同一候选区域。又例如,还可以将具有相同字体颜色的单元格与表格之间建立映射关系,此时可以将具有相同字体颜色的单元格划分至同一候选区域。又例如,还可以基于单元格之间的融合关系来建立映射关系。假设一个单元格与另一单元格被融合在一起,则可以将被融合的两个单元格划分至同一候选区域。
根据本公开的一个示例性实现,映射关系可以是基于一组样本电子表单中包括的多个单元格的特征以及一组样本电子表单中包括的多个表格来训练获得的。在下文中,将参见图4描述如何获得映射关系。图4示意性示出了根据本公开的一个实现的用于获取映射关系420的方案的框图400。如图4所示,可以预先选择一组样本电子表单410,确定该组样本电子表单410中的各个单元格的特征412。还可以标记该组样本电子表单410中包括的一个或多个表格414。将会理解,在此的表格414是指在该组样板电子表单410中实际存在的表格。例如,可以采用人工方式来标注样本电子表单410中的表格414,备选地或者附加地,还可以采用人工方式来校正由机器识别的表格,以便获得表格414。继而,可以将该组样本电子表单410以及所标注的表格414作为输入数据,来针对映射关系420进行训练。
将会理解,在本公开的上下文中并不限定映射关系420的具体类型,而是可以采用目前已知的或者将在未来开发的多种知识学习技术来定义映射关系420。根据本公开的一个示例性实现,可以基于神经网络模型来获得映射关系420。利用上述示例性实现,所获得的映射关系420可以包括有关在该组样本电子表单410中实际包括的表格414的信息,并且该信息可以用于预测在其他电子表单中可能包括候选表格的候选区域。以此方式,可以基于历史经验来以更加准确的方式确定电子表单中的候选区域。
根据本公开的一个示例性实现,该映射关系420可以包括在知识模型中。进一步,该知识模型可以包括其他方面的知识。例如,知识模型还可以包括概率信息描述按照映射关系420中的映射关系获得的一个或多个候选区域中的候选区域中包括表格的概率、以及描述电子表单170中的单元格是否位于表格内的模板(mask)信息。将在下文中描述如何基于这些知识来更新映射关系的更多信息。
在已经获得了映射关系420的情况下,基于映射关系420中的映射关系和多个单元格中的相应单元格的相应特征,可以确定一个或多个候选区域。在此实现中,可以以待处理的电子表单170中的多个单元格的特征为输入,通过应用映射关系420可以基于多个单元格输入的特征来将电子表单170中的多个单元格划分至一个或多个候选区域。将会理解,在此的区域是指将多个单元格划分为不同分组后,各个分组中的单元格所在的区域。通常而言,候选区域可以是各个分组中的单元格的包围盒。
根据本公开的一个示例性实现,针对一个或多个候选区域中的给定候选区域,可以基于映射关系420来调整候选区域的边界以更新给定候选区域。候选区域510可以包括上、下、左、右四个边界。在此实现中,可以单独地调整上述四个边界中的任一项,以便更为准确地限定候选区域510。
根据本公开的一个示例性实现,在已经确定了候选区域的情况下,还可以针对候选区域的各个边界进行调整。在下文中将参见图5描述如何调整候选区域的上边界。图5示意性示出了根据本公开的一个实现的用于调整给定候选区域510中的边界的位置的框图500。如图5所示,假设已经确定了候选区域510(如点划线所示的方框),候选区域510的4个边界限定了其中可能存在表格的区域,因而期望尽可能准确地确定候选区域510的边界的范围。此时,可以针对候选区域510中的任一边界进行调整,在图5中仅以上边界512为示例进行描述。
如图5所示,可以在上边界512的周围设置调整范围520(如虚线所示的方框),该调整范围520的宽度可以与候选区域510的宽度相同,并且该调整范围520的高度可以被设置为预定的数值。根据本公开的一个示例性实现,该预定数值可以被设置为固定数值,例如,数值8或者其他数值。根据本公开的一个示例性实现,该预定数值还可以被设置为候选区域510的高度的1/4或者按照其他比例进行设置。
在此实现中,可以将调整范围520的高度设置为6个单元格的高度。可以将上边界512在上述调整范围520内进行设置,例如,可以将上边界512向下调整1至3行,或者还可以将上边界512向上调整1至3行,以便获得经调整的区域。继而,可以确定经调整的区域与映射关系420的匹配程度,如果经调整的区域更加匹配于映射关系420,则可以基于经调整的区域来更新候选区域的上边界512。
将会理解,尽管在上文中仅仅示意性示出了如何调整候选区域510的上边界。根据本公开的一个示例性实现,还可以基于类似的方式来分别调整候选区域510的下边界、左边界和右边界。利用上述示例性实现,可以更为精确地调整候选区域510的范围。
映射关系的更新
在上文中已经详细描述了如何基于映射关系420来确定候选区域。还可能存在如下情况,在映射关系420中可能会存在某些不准确因素,导致基于获取的映射关系420来划分所得的候选区域中存在潜在错误。因而,在发现潜在错误时,还需要进一步更新映射关系420。根据本公开的一个示例性实现,如果确定一个或多个候选区域中的给定候选区域中存在潜在错误,则可以获取电子表单中的一个或多个真实表格,并且基于一个或多个真实表格以及电子表单中的多个单元格的特征,更新映射关系420。
具体地,图6示意性示出了根据本公开的一个实现的用于基于已经检测到的候选区域中的错误来更新映射关系420的方法600的框图。如图6所示,可以首先在框610处确定给定候选区域中是否存在潜在错误。在此的潜在错误是指给定候选区域的状态与历史经验值不符。例如,假设在给定候选区域的边缘位置包括空行或者空列,则可以确定该给定候选区域中存在潜在错误。又例如,假设在给定候选区域中包括大量空白单元格,则可以确定该候选区域中存在潜在错误。根据本公开的一个示例性实现,还可以存在其他规则来确定是否存在潜在错误,在下文中将参见图7至图10进行描述。
当发现给定候选区域中存在潜在错误时,则操作流程前进至框620处,以便获取电子表单170中的一个或多个真实表格。在此过程中,可以将当前候选区域所在的电子表单170提交至人工处理,并且可以采用人工方式来精确地分析该电子表单170,并且标记该电子表单170中的一个或多个真实表格。继而,在框630处,可以基于人工标注的一个或多个真实表格以及该电子表单中的多个单元格的特征,来更新映射关系420。
将会理解,此时用于作为训练输入的表格是人工精确标注的真实表格,并且可以反映电子表单内的表格的真实情况。通过利用此类人工标注的真实表格来更新映射关系420,可以校正映射关系420中的错误,尤其是导致与给定候选区域中的潜在错误相关联的错误。
检测候选区域中的潜在错误
在本公开的上下文中,可以基于多方面的因素来确定候选区域中的潜在错误。根据本公开的一个示例性实现,可以基于知识模型中包括的概率信息来来确定是否存在潜在错误。在此实现中,概率信息描述按照映射关系420中的映射关系获得的一个或多个候选区域中的候选区域中包括表格的概率。进一步,可以基于概率信息确定按照上文描述的方法确定的给定候选区域中包括表格的概率。如果该概率低于预定阈值概率,确定给定候选区域中存在潜在错误。
在此实现中,概率信息是基于样本电子表单的训练而获得的,概率信息可以基于样本电子表单相关联的经验,来预测在待处理的电子表单170中的候选区域中存在表格的概率。如果针对划分所得的给定候选区域182相关联的概率低于预定阈值,则此时可以认为该概率信息需要基于电子表单210来更新。利用上述示例性实现,可以有效地校正映射关系420中的错误。
具体地,概率信息可以包括针对划分所得的给定候选区域182设置表格评分(table score),并且该表格评分表示在给定候选区域182中包括真实表格的概率。可以基于样本电子表单中的由人工标记的表格来训练该概率信息。根据本公开的一个示例性实现,可以采用0至1之间的数值来表示概率的大小,假设针对一个给定候选区域的概率为0.1,则表示该候选区域中很可能不包括表格。如果一个给定候选区域的概率为0.95,则表示该候选区域中很可能包括表格。
当以电子表单170的多个单元格的特征作为输入时,基于该概率信息,可以确定在划分所得的候选区域182中存在表格的概率。例如,假设确定的概率为0.85,并且该概率低于预定的概率阈值0.9,则此时可以认为在给定的候选区域182中存在潜在错误。此时,可以由人工标注给定电子表单170中的真实表格,并基于该真实表格和给定电子表单170的多个单元格的特征来更新映射关系420。
根据本公开的一个示例性实现,可以进一步获取知识模型中包括的模板信息,该模板信息描述电子表单170中的单元格是否位于表格内。图7示意性示出了根据本公开的一个实现的用于基于电子表单710中的各个单元格是否位于表格内的概率来确定在候选区域720中是否存在错误的框图700。如图7所示,针对给定电子表单710中的每个单元格,可以指示每个单元格是位于表格内还是表格外的概率。根据本公开的一个示例性实现,模板信息可以采用M×N的矩阵来表示,其中M表示电子表单710的宽度,N表示电子表单710的高度,并且该矩阵中的每个元素可以采用0至1之间的数值来表示。例如,可以以0来表示单元格位于表格外,并且以1来表示单元格位于表格内。
在此实现方式中,可以基于模板信息确定给定区域中的单元格位于表格内的概率。如果概率低于预定阈值概率,则确定给定候选区域中存在潜在错误。如图7所示,对于候选区域720而言,可以将该候选区域720内的每个单元格的概率值求平均值,以确定在该候选区域720中是否存在潜在错误。此时,对于候选区域720而言,平均值=(0.85+0.85+……+0.95)/12=0.941,并且该平均值小于预定的阈值概率0.95。此时可以认为在该候选区域720存在错误。以此方式,可以更加准确的方式来判断在候选区域720中是否存在潜在错误。
根据本公开的一个示例性实现,如果给定候选区域与一个或多个候选区域中的另一候选区域之间存在重叠,确定给定候选区域中存在潜在错误。将会理解,常规的经验表示,在电子表单中的两个表格之间不会存在重叠。如果在电子表单中划分所得的两个候选区域之间存在重叠,则有理由认为用于处理电子表单所基于的映射关系420中可能存在错误。
利用上述示例性实现,通过在导致平均值小于预定阈值概率的电子表单710中人工标注真实表格,并利用标注的真实表格和该电子表单710中的多个单元格的特征来更新映射关系420,可以有效地校正该映射关系420中导致出现平均值小于预定阈值概率的错误。
图8示意性示出了根据本公开的一个实现的用于基于一个候选区域是否与其他候选区域重叠来确定在候选区域中是否存在错误的框图800。如图8所示,可以按照上文描述的方法来处理电子表单810,并且可以获得候选区域820和830。如图8所示,两个候选区域820和830之间存在重叠区域,因而此时可以认为处理电子表单810所基于的映射关系420中存在错误并且需要被校正。
利用上述示例性实现,通过在导致重叠候选区域的电子表单810中人工标注真实表格,并利用标注的真实表格和该电子表单810中的多个单元格的特征来更新映射关系420,可以有效地校正该映射关系420中导致出现重叠的候选区域的错误。
根据本公开的一个示例性实现,如果给定候选区域的边界(edge)部分包括空白行和空白列中的至少任一项,确定给定候选区域中存在潜在错误。将会理解,常规的经验表示,表格的边界部分通常不会出现空白行或空白列。如果在划分所得的候选区域的边界部分中存在空白行/空白列,则有理由认为用于处理电子表单所基于的映射关系420中可能存在错误。
图9示意性示出了根据本公开的一个实现的用于基于一个候选区域920的边界部分是否包括空列/空行来确定在候选区域920中是否存在错误的框图900。如图9所示,可以按照上文描述的方法来处理电子表单910,并且可以获得候选区域920。如图9所示,候选区域920的右侧存在空白列,因而此时可以认为处理电子表单810所基于的映射关系420中存在错误,并且需要被校正。
利用上述示例性实现,通过在与空白行/列相关联的电子表单910中人工标注真实表格,并利用标注的真实表格和该电子表单910中的多个单元格的特征来更新映射关系420,可以有效地校正该映射关系420中导致在候选区域的边界部分出现空白行/列的错误。
根据本公开的一个示例性实现,还可以基于多个单元格中的非空/空白单元格与给定候选区域之间的位置关系,确定一个或多个候选区域中的给定候选区域中是否存在潜在错误。在此实现中,可以分别基于候选区域内的非空单元格和候选区域外的非空单元格两种情况来进行讨论。
根据本公开的一个示例性实现,在给定候选区域内的非空单元格的比例低于预定阈值,则可以确定存在潜在错误。换言之,如果给定候选区域内的空白单元格的数量与给定候选区域内的单元格的数量的比例高于预定阈值比例,则确定给定候选区域中存在潜在错误。
图10A示意性示出了根据本公开的一个实现的用于基于一个候选区域1020A中所包括的空白单元格来确定在候选区域1020A中是否存在错误的框图1000A。如图10A所示,其中空白图例表示空白单元格,而阴影图例表示非空单元格。可以按照上文描述的方法来处理电子表单1010A,并且可以获得候选区域1020A。如图10所示,候选区域1020中包括大量空白单元格。通常而言,表格中可能仅包括少量的空白单元格,例如,小于单元格总数的预定百分比(如20%,或者其他数值)。如果候选区域1020A中的空白单元格的数量与单元格的总量的比例高于预定阈值,则此时可以认为处理电子表单1010A所基于的映射关系420中存在错误,并且需要被校正。
利用上述示例性实现,通过在电子表单1010A中人工标注真实表格,并利用标注的真实表格和该电子表单中的多个单元格的特征来更新映射关系420,可以有效地校正该映射关系420中导致在候选区域中出现大量空白单元格的错误。
根据本公开的一个示例性实现,如果位于一个或多个候选区域以外的非空单元格的数量达到预定阈值,则确定给定候选区域中存在潜在错误。
图10B示意性示出了根据本公开的一个实现的用于基于一个候选区域外的非空白单元格来确定在候选区域中是否存在错误的框图1000B。如图10B所示,其中空白图例表示空白单元格,而阴影图例表示非空单元格。可以按照上文描述的方法来处理电子表单1010B,并且可以获得候选区域1020B。如图10所示,在候选区域1020B以外还存在一个或多个非空单元格1030B。通常而言,电子表单中的非空单元格应当属于某个表格。可见,如图10B所示的情况可能涉及在处理电子表单1010B时遗漏了某些非空单元格,因而则此时可以认为处理电子表单810所基于的映射关系420中存在错误,并且需要被校正。
利用上述示例性实现,通过在电子表单1010B中人工标注真实表格,并利用标注的真实表格和该电子表单中的多个单元格的特征来更新映射关系420,可以有效地校正该映射关系420中导致在候选区域外出现非空单元格的错误。
示例实现方式
以下列出了本公开的一些示例实现方式。
在一方面,本公开提供了一种计算机实现的方法。该方法包括:提取电子表单中包括的多个单元格各自的多个属性;基于提取的多个属性,确定多个单元格各自的特征;基于特征,将多个单元格划分为至少一个候选区域;以及基于至少一个候选区域来确定电子表单中的至少一个候选表格。
根据本公开的一个示例性实现,提取电子表单中包括的多个单元格各自的多个属性包括:针对多个单元格中的给定单元格,基于以下中的至少任一项来提取给定单元格的多个属性:给定单元格中的数据的字符、给定单元格中的数据的格式、以及给定单元格的样式。
根据本公开的一个示例性实现,将多个单元格划分为至少一个候选区域包括:获取电子表单中的表格与表格中包括的多个单元格的特征之间的映射关系,映射关系是基于一组样本电子表单中包括的多个单元格的特征以及一组样本电子表单中包括的多个表格而训练获得的;以及基于映射关系和多个单元格中的相应单元格的相应特征,确定至少一个候选区域。
根据本公开的一个示例性实现,确定至少一个候选区域进一步包括:针对至少一个候选区域中的给定候选区域,基于给定候选区域与映射关系的匹配程度,调整给定候选区域的边界以更新给定候选区域。
根据本公开的一个示例性实现,进一步包括:确定至少一个候选区域中的给定候选区域中是否存在潜在错误;响应于确定给定候选区域中存在潜在错误,获取电子表单中的至少一个真实表格;以及基于至少一个真实表格以及电子表单中的多个单元格的特征,更新映射关系。
根据本公开的一个示例性实现,进一步包括:获取描述按照映射关系获得的至少一个候选区域中的候选区域中包括表格的概率的信息,并且其中确定至少一个候选区域中的给定候选区域中是否存在潜在错误包括:基于信息确定给定候选区域中包括表格的概率;以及响应于概率低于预定阈值概率,确定给定候选区域中存在潜在错误。
根据本公开的一个示例性实现,进一步包括:获取描述电子表单中的单元格位于表格内的概率的信息,以及确定至少一个候选区域中的给定候选区域中是否存在潜在错误包括:基于信息确定给定区域中的单元格位于表格内的概率;以及响应于概率低于预定阈值概率,确定给定候选区域中存在潜在错误。
根据本公开的一个示例性实现,确定至少一个候选区域中的给定候选区域中是否存在潜在错误包括:响应于给定候选区域与至少一个候选区域中的另一候选区域之间存在重叠,确定给定候选区域中存在潜在错误。
根据本公开的一个示例性实现,确定至少一个候选区域中的给定候选区域中是否存在潜在错误包括:响应于给定候选区域的边缘包括空白行和空白列中的至少任一项,确定给定候选区域中存在潜在错误。
根据本公开的一个示例性实现,确定至少一个候选区域中的给定候选区域中是否存在潜在错误包括:基于多个单元格中的非空单元格与给定候选区域之间的位置关系,确定至少一个候选区域中的给定候选区域中是否存在潜在错误。
在又一方面,本公开提供了一种计算机实现的设备。该设备包括:处理单元;以及存储器,耦合至处理单元并且包含存储于其上的指令,指令在由处理单元执行时使设备执行以下动作。该动作包括:提取电子表单中包括的多个单元格各自的多个属性;基于提取的多个属性,确定多个单元格各自的特征;基于特征,将多个单元格划分为至少一个候选区域;以及基于至少一个候选区域来确定电子表单中的至少一个候选表格。
根据本公开的一个示例性实现,提取电子表单中包括的多个单元格各自的多个属性包括:针对多个单元格中的给定单元格,基于以下中的至少任一项来提取给定单元格的多个属性:给定单元格中的数据的字符、给定单元格中的数据的格式、以及给定单元格的样式。
根据本公开的一个示例性实现,将多个单元格划分为至少一个候选区域包括:获取电子表单中的表格与表格中包括的多个单元格的特征之间的映射关系,映射关系是基于一组样本电子表单中包括的多个单元格的特征以及一组样本电子表单中包括的多个表格而训练获得的;以及基于映射关系和多个单元格中的相应单元格的相应特征,确定至少一个候选区域。
根据本公开的一个示例性实现,确定至少一个候选区域进一步包括:针对至少一个候选区域中的给定候选区域,基于给定候选区域与映射关系的匹配程度,调整给定候选区域的边界以更新给定候选区域。
根据本公开的一个示例性实现,进一步包括:确定至少一个候选区域中的给定候选区域中是否存在潜在错误;响应于确定给定候选区域中存在潜在错误,获取电子表单中的至少一个真实表格;以及基于至少一个真实表格以及电子表单中的多个单元格的特征,更新映射关系。
根据本公开的一个示例性实现,进一步包括:获取描述按照映射关系获得的至少一个候选区域中的候选区域中包括表格的概率的信息,并且其中确定至少一个候选区域中的给定候选区域中是否存在潜在错误包括:基于信息确定给定候选区域中包括表格的概率;以及响应于概率低于预定阈值概率,确定给定候选区域中存在潜在错误。
根据本公开的一个示例性实现,进一步包括:获取描述电子表单中的单元格位于表格内的概率的信息,以及确定至少一个候选区域中的给定候选区域中是否存在潜在错误包括:基于信息确定给定区域中的单元格位于表格内的概率;以及响应于概率低于预定阈值概率,确定给定候选区域中存在潜在错误。
根据本公开的一个示例性实现,确定至少一个候选区域中的给定候选区域中是否存在潜在错误包括:响应于给定候选区域与至少一个候选区域中的另一候选区域之间存在重叠,确定给定候选区域中存在潜在错误。
根据本公开的一个示例性实现,确定至少一个候选区域中的给定候选区域中是否存在潜在错误包括:响应于给定候选区域的边缘包括空白行和空白列中的至少任一项,确定给定候选区域中存在潜在错误。
根据本公开的一个示例性实现,确定至少一个候选区域中的给定候选区域中是否存在潜在错误包括:基于多个单元格中的非空单元格与给定候选区域之间的位置关系,确定至少一个候选区域中的给定候选区域中是否存在潜在错误。
在又一方面,本公开提供了非瞬态计算机存储介质,其中包括机器可执行指令,机器可执行指令在由设备执行时使设备执行上述任一方面的方法。
在又一方面,本公开提供了一种计算机程序产品,计算机程序产品被有形地存储在非瞬态计算机存储介质中并且包括机器可执行指令,机器可执行指令在由设备执行时使设备执行上述任一方面的方法。
本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)等等。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
此外,虽然采用特定次序描绘了各操作,但是这应当理解为要求这样操作以所示出的特定次序或以顺序次序执行,或者要求所有图示的操作应被执行以取得期望的结果。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本公开的范围的限制。在单独的实现的上下文中描述的某些特征还可以组合地实现在单个实现中。相反地,在单个实现的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实现中。
尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。
Claims (21)
1.一种计算机实现的方法,包括:
提取电子表单中包括的多个单元格各自的多个属性;
基于提取的所述多个属性,确定所述多个单元格各自的特征;
基于所述各自的特征和所述电子表单中的表格与所述表格中包括的多个单元格的特征之间的映射关系,将所述多个单元格划分为至少一个候选区域,所述映射关系基于一组样本电子表单中包括的多个单元格的特征以及所述一组样本电子表单中包括的多个表格而被训练,以确定表格存在的概率;
基于所述至少一个候选区域来确定所述电子表单中的至少一个候选表格;以及
确定所述至少一个候选区域中存在潜在错误。
2.根据权利要求1所述的方法,其中提取电子表单中包括的多个单元格各自的多个属性包括:针对所述多个单元格中的给定单元格,基于以下中的至少任一项来提取所述给定单元格的多个属性:
所述给定单元格中的数据的字符、所述给定单元格中的所述数据的格式、以及所述给定单元格的样式。
3.根据权利要求1所述的方法,其中确定所述多个单元格各自的特征包括将特征聚类成特征矢量。
4.根据权利要求1所述的方法,其中确定所述至少一个候选区域进一步包括:
针对所述至少一个候选区域中的给定候选区域,
基于所述给定候选区域与所述映射关系的匹配程度,调整所述给定候选区域的边界以更新所述给定候选区域。
5.根据权利要求1所述的方法,进一步包括:
响应于确定所述至少一个候选区域中的给定候选区域中存在潜在错误,获取所述电子表单中的至少一个真实表格;以及
基于所述至少一个真实表格以及所述电子表单中的所述多个单元格的特征,更新所述映射关系。
6.根据权利要求1所述的方法,进一步包括:获取描述按照所述映射关系获得的至少一个候选区域中的候选区域中包括表格的概率的信息,并且其中确定所述至少一个候选区域中存在潜在错误包括:
基于所述信息确定所述至少一个候选区域中的给定候选区域中包括表格的概率;以及
响应于所述概率低于预定阈值概率,确定所述给定候选区域中存在潜在错误。
7.根据权利要求1所述的方法,进一步包括:获取描述电子表单中的单元格位于表格内的概率的信息,以及确定所述至少一个候选区域中存在潜在错误包括:
基于所述信息确定所述至少一个候选区域中的给定区域中的单元格位于表格内的概率;以及
响应于所述概率低于预定阈值概率,确定所述给定候选区域中存在潜在错误。
8.根据权利要求1所述的方法,其中确定所述至少一个候选区域中存在潜在错误包括:
响应于所述至少一个候选区域中的给定候选区域与所述至少一个候选区域中的另一候选区域之间存在重叠,确定所述给定候选区域中存在潜在错误。
9.根据权利要求1所述的方法,其中确定所述至少一个候选区域存在潜在错误包括:
响应于所述至少一个候选区域中的给定候选区域的边缘包括空白行和空白列中的至少任一项,确定所述给定候选区域中存在潜在错误。
10.根据权利要求1所述的方法,其中所述至少一个候选区域中的给定候选区域中存在潜在错误是基于所述多个单元格中的非空单元格与所述给定候选区域之间的位置关系而被确定的。
11.一种设备,包括:
处理单元;以及
存储器,耦合至所述处理单元并且包含存储于其上的指令,所述指令在由所述处理单元执行时使所述设备执行以下动作:
提取电子表单中包括的多个单元格各自的多个属性;
基于提取的所述多个属性,确定所述多个单元格各自的特征;
基于所述各自的特征和所述电子表单中的表格与所述表格中包括的多个单元格的特征之间的映射关系,将所述多个单元格划分为至少一个候选区域,所述映射关系基于一组样本电子表单中包括的多个单元格的特征以及所述一组样本电子表单中包括的多个表格而被训练,以确定表格存在的概率;
基于所述至少一个候选区域来确定所述电子表单中的至少一个候选表格;以及
确定所述至少一个候选区域中存在潜在错误。
12.根据权利要求11所述的设备,其中确定所述多个单元格各自的特征包括将特征聚类成特征矢量。
13.根据权利要求11所述的设备,其中所述特征矢量是通过根据以下中的一项聚类多个单元格而获得的:背景颜色、字体颜色。
14.根据权利要求11所述的设备,其中确定所述至少一个候选区域进一步包括:
针对所述至少一个候选区域中的给定候选区域,
基于所述给定候选区域与所述映射关系的匹配程度,调整所述给定候选区域的边界以更新所述给定候选区域。
15.根据权利要求11所述的设备,其中所述动作进一步包括:
响应于确定所述至少一个候选区域中的给定候选区域中存在潜在错误,获取所述电子表单中的至少一个真实表格;以及
基于所述至少一个真实表格以及所述电子表单中的所述多个单元格的特征,更新所述映射关系。
16.根据权利要求11所述的设备,其中确定所述潜在错误存在是基于描述所述至少一个候选区域中存在所述表格的所述概率的概率信息。
17.根据权利要求11所述的设备,其中所述动作进一步包括:基于所述一组样本电子表单中包括的多个单元格的特征训练机器学习模型,以确定表格存在的所述概率。
18.根据权利要求17所述的设备,其中所述动作还包括:通过使用至少一个样本电子表单来将关于候选区域内的表格的概率信息与关联于所述电子表单中的每个单元格的值相关联,以确定单元格是否在所述表格内。
19.根据权利要求11所述的设备,其中确定所述至少一个候选区域存在潜在错误包括:
响应于所述至少一个候选区域中的给定候选区域的边缘包括空白行和空白列中的至少任一项,确定所述给定候选区域中存在潜在错误。
20.根据权利要求15所述的设备,其中所述至少一个候选区域存在潜在错误是基于所述多个单元格中的非空单元格与所述至少一个候选区域中的给定候选区域之间的位置关系而被确定的。
21.一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现根据权利要求1-10中任一项所述的方法。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810698750.9A CN110659527B (zh) | 2018-06-29 | 2018-06-29 | 电子表单中的表格检测 |
US17/057,097 US11341322B2 (en) | 2018-06-29 | 2019-06-17 | Table detection in spreadsheet |
EP19734647.1A EP3794494A1 (en) | 2018-06-29 | 2019-06-17 | Table detection in spreadsheet |
PCT/US2019/037414 WO2020005605A1 (en) | 2018-06-29 | 2019-06-17 | Table detection in spreadsheet |
US17/744,433 US11556703B2 (en) | 2018-06-29 | 2022-05-13 | Table detection in spreadsheet |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810698750.9A CN110659527B (zh) | 2018-06-29 | 2018-06-29 | 电子表单中的表格检测 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110659527A CN110659527A (zh) | 2020-01-07 |
CN110659527B true CN110659527B (zh) | 2023-03-28 |
Family
ID=67108226
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810698750.9A Active CN110659527B (zh) | 2018-06-29 | 2018-06-29 | 电子表单中的表格检测 |
Country Status (4)
Country | Link |
---|---|
US (2) | US11341322B2 (zh) |
EP (1) | EP3794494A1 (zh) |
CN (1) | CN110659527B (zh) |
WO (1) | WO2020005605A1 (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110659527B (zh) * | 2018-06-29 | 2023-03-28 | 微软技术许可有限责任公司 | 电子表单中的表格检测 |
GB201916803D0 (en) | 2019-11-19 | 2020-01-01 | Ibm | Identifying content and structure of olap dimensions from a spreadsheet |
GB201916804D0 (en) | 2019-11-19 | 2020-01-01 | Ibm | Generating an OLAP model from a spreadsheet |
GB201916801D0 (en) * | 2019-11-19 | 2020-01-01 | Ibm | Identifying data relationships from a spreadsheet |
JP2021114211A (ja) * | 2020-01-21 | 2021-08-05 | 富士フイルムビジネスイノベーション株式会社 | 情報処理装置及びプログラム |
CN113496119B (zh) * | 2020-03-20 | 2024-06-21 | 北京庖丁科技有限公司 | 抽取表格中的元组数据的方法、电子设备和计算机可读介质 |
CN113761853A (zh) * | 2020-11-11 | 2021-12-07 | 北京沃东天骏信息技术有限公司 | 数据筛查方法和装置 |
CN113553326A (zh) * | 2021-06-21 | 2021-10-26 | 深圳市金蝶天燕云计算股份有限公司 | 电子表格数据处理方法、装置、计算机设备和存储介质 |
CN113901214B (zh) | 2021-10-08 | 2023-11-17 | 北京百度网讯科技有限公司 | 表格信息的提取方法、装置、电子设备及存储介质 |
CN114419647B (zh) * | 2021-12-31 | 2024-07-26 | 北京译图智讯科技有限公司 | 一种表格信息提取方法及系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101127081A (zh) * | 2006-08-14 | 2008-02-20 | 富士通株式会社 | 表格数据处理方法和装置 |
WO2012017056A1 (de) * | 2010-08-06 | 2012-02-09 | Solyp Informatik Gmbh | Verfahren und vorrichtung zur automatischen verarbeitung von daten in einem zellen-format |
CN107656911A (zh) * | 2017-09-11 | 2018-02-02 | 北京京东尚科信息技术有限公司 | 表格处理方法及其系统 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5613131A (en) | 1993-01-29 | 1997-03-18 | Microsoft Corporation | Auto-formatting of tables in a spreadsheet program |
US7299406B2 (en) * | 2004-06-02 | 2007-11-20 | Research In Motion Limited | Representing spreadsheet document content |
US20060167911A1 (en) * | 2005-01-24 | 2006-07-27 | Stephane Le Cam | Automatic data pattern recognition and extraction |
GB2476754A (en) * | 2008-09-15 | 2011-07-06 | Erik Thomsen | Extracting semantics from data |
US8707156B2 (en) * | 2009-04-02 | 2014-04-22 | Business Objects, S.A. | Render engine for spreadsheet |
US8335981B2 (en) * | 2009-08-03 | 2012-12-18 | Business Objects Software Ltd. | Metadata creation |
US8433714B2 (en) * | 2010-05-27 | 2013-04-30 | Business Objects Software Ltd. | Data cell cluster identification and table transformation |
US11093702B2 (en) * | 2012-06-22 | 2021-08-17 | Microsoft Technology Licensing, Llc | Checking and/or completion for data grids |
US20140358828A1 (en) * | 2013-05-29 | 2014-12-04 | Purepredictive, Inc. | Machine learning generated action plan |
US10019432B2 (en) * | 2013-06-15 | 2018-07-10 | Microsoft Technology Licensing, Llc | Conversion of data ranges to table objects |
US10366156B1 (en) * | 2013-11-06 | 2019-07-30 | Apttex Corporation | Dynamically transferring data from a spreadsheet to a remote applcation |
CN110659527B (zh) * | 2018-06-29 | 2023-03-28 | 微软技术许可有限责任公司 | 电子表单中的表格检测 |
US11023671B2 (en) * | 2019-08-08 | 2021-06-01 | Rubrik, Inc. | Data classification using spatial data |
-
2018
- 2018-06-29 CN CN201810698750.9A patent/CN110659527B/zh active Active
-
2019
- 2019-06-17 US US17/057,097 patent/US11341322B2/en active Active
- 2019-06-17 EP EP19734647.1A patent/EP3794494A1/en active Pending
- 2019-06-17 WO PCT/US2019/037414 patent/WO2020005605A1/en unknown
-
2022
- 2022-05-13 US US17/744,433 patent/US11556703B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101127081A (zh) * | 2006-08-14 | 2008-02-20 | 富士通株式会社 | 表格数据处理方法和装置 |
WO2012017056A1 (de) * | 2010-08-06 | 2012-02-09 | Solyp Informatik Gmbh | Verfahren und vorrichtung zur automatischen verarbeitung von daten in einem zellen-format |
CN107656911A (zh) * | 2017-09-11 | 2018-02-02 | 北京京东尚科信息技术有限公司 | 表格处理方法及其系统 |
Also Published As
Publication number | Publication date |
---|---|
WO2020005605A1 (en) | 2020-01-02 |
US11341322B2 (en) | 2022-05-24 |
US11556703B2 (en) | 2023-01-17 |
EP3794494A1 (en) | 2021-03-24 |
US20220343062A1 (en) | 2022-10-27 |
US20210209297A1 (en) | 2021-07-08 |
CN110659527A (zh) | 2020-01-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110659527B (zh) | 电子表单中的表格检测 | |
US20200117961A1 (en) | Two-dimensional document processing | |
US10915788B2 (en) | Optical character recognition using end-to-end deep learning | |
CN111428457B (zh) | 数据表的自动格式化 | |
US9824304B2 (en) | Determination of font similarity | |
CN111459977B (zh) | 自然语言查询的转换 | |
CN110232111A (zh) | 一种文本显示方法、装置及终端设备 | |
US11836445B2 (en) | Spreadsheet table transformation | |
CN111651969B (zh) | 样式迁移 | |
US9613263B2 (en) | Ink stroke grouping based on stroke attributes | |
CN116225956A (zh) | 自动化测试方法、装置、计算机设备和存储介质 | |
JP6252296B2 (ja) | データ識別方法、データ識別プログラム及びデータ識別装置 | |
US20240265206A1 (en) | Reading order detection in a document | |
US20230316604A1 (en) | Reuse of infographics | |
US20230099764A1 (en) | Information processing apparatus, information processing method, and non-transitory computer readable medium | |
US20240233223A1 (en) | Image table generation | |
CN117151034A (zh) | 版式文件编辑方法、设备和存储介质 | |
CN116933762A (zh) | 一种数据抽取方法及装置 | |
CN118678143A (zh) | 可视化大屏生成方法、装置、设备、介质和程序产品 | |
CN115116060A (zh) | 键值文件处理方法、装置、设备、介质和计算机程序产品 | |
WO2024107279A1 (en) | Method and system of generating an editable document from a non-editable document | |
JP2024000690A (ja) | 文書情報構造化装置、文書情報構造化方法およびプログラム | |
CN115965002A (zh) | 数据处理方法、装置、电子设备、存储介质及程序产品 | |
CN117312574A (zh) | 一种信息提取方法、装置、设备及存储介质 | |
CN117953522A (zh) | 流水表格提取方法、装置、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |