CN111428457B - 数据表的自动格式化 - Google Patents
数据表的自动格式化 Download PDFInfo
- Publication number
- CN111428457B CN111428457B CN201811575065.3A CN201811575065A CN111428457B CN 111428457 B CN111428457 B CN 111428457B CN 201811575065 A CN201811575065 A CN 201811575065A CN 111428457 B CN111428457 B CN 111428457B
- Authority
- CN
- China
- Prior art keywords
- feature representation
- row
- cells
- column
- format
- 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
- 238000000034 method Methods 0.000 claims abstract description 40
- 238000013507 mapping Methods 0.000 claims abstract description 23
- 238000012545 processing Methods 0.000 claims description 27
- 238000012935 Averaging Methods 0.000 claims description 14
- 238000003860 storage Methods 0.000 claims description 12
- 238000009826 distribution Methods 0.000 claims description 8
- 230000008485 antagonism Effects 0.000 claims description 6
- 210000004027 cell Anatomy 0.000 description 275
- 238000012549 training Methods 0.000 description 41
- 238000011176 pooling Methods 0.000 description 35
- 230000006870 function Effects 0.000 description 18
- 239000000284 extract Substances 0.000 description 15
- 238000000605 extraction Methods 0.000 description 11
- 239000003086 colorant Substances 0.000 description 8
- 238000004891 communication Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 8
- 230000000007 visual effect Effects 0.000 description 6
- 238000013527 convolutional neural network Methods 0.000 description 5
- 238000011161 development Methods 0.000 description 5
- 230000000750 progressive effect Effects 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 4
- 230000002159 abnormal effect Effects 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 238000003062 neural network model Methods 0.000 description 2
- 210000002569 neuron Anatomy 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 238000012512 characterization method Methods 0.000 description 1
- 238000004040 coloring Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 235000019580 granularity Nutrition 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000007493 shaping process Methods 0.000 description 1
- 238000004148 unit process Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/088—Non-supervised learning, e.g. competitive learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/94—Hardware or software architectures specially adapted for image or video understanding
- G06V10/95—Hardware or software architectures specially adapted for image or video understanding structured as a network, e.g. client-server architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/40—Document-oriented image-based pattern recognition
- G06V30/41—Analysis of document content
- G06V30/412—Layout analysis of documents structured with printed lines or input boxes, e.g. business forms or tables
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Biophysics (AREA)
- Mathematical Physics (AREA)
- Biomedical Technology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Multimedia (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Document Processing Apparatus (AREA)
- Information Transfer Between Computers (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
根据本公开的实现,提出了一种用于数据表的自动格式化的方案。一种计算机实现的方法包括获取数据表的多个单元格的至少一个属性的取值,至少一个属性的取值指示多个单元格中填充的数据的语义和数据表的结构中的至少一项,多个单元格以行和列布置在数据表中;利用第一学习网络,提取至少一个属性的取值的特征表示;以及至少利用第一学习网络,基于特征表示确定多个单元格各自的格式。以此方式,利用学习网络实现从单元格的属性设置到单元格格式之间的自动映射,以实现数据表的自动格式化。
Description
背景技术
很多电子文档开发工具能够让用户以各种结构来创建数据表用于组织和呈现数据。例如,电子表单是最受欢迎的一种终端用户开发工具。不同于一般数据库中的表结构,很多电子文档中的可编辑数据表,例如电子表单中的数据表能够以有效的可视化方式用于呈现数据。由于数据表通常在单元格上具有各种结构和布局,这样的表能够直观地反映数据对应性、便于数据查找或者并列比较,从而实现更高阶的知识展示。从视觉角度而言,表的格式,诸如各个单元格的边框、对齐、字体等,非常有助于塑造表布局和界定数据的结构。因此,数据表的格式化是使用电子表单进行终端用户开发的一项重要任务。当前主要由用户手工进行表的格式化,这个过程非常繁琐且耗时。特别是对于诸如金融、科技、政府等领域中的专业且复杂的数据表,手动格式化过程更困难。
发明内容
根据本公开的实现,提出了一种用于数据表的自动格式化的方案。在该方案中,获取数据表的多个单元格的至少一个属性的取值,至少一个属性的取值指示多个单元格中填充的数据的语义和数据表的结构中的至少一项,多个单元格以行和列布置在数据表中;利用第一学习网络,提取至少一个属性的取值的特征表示;以及至少利用第一学习网络,基于特征表示确定多个单元格各自的格式。以此方式,利用学习网络实现从数据表的属性设置到单元格格式之间的自动映射,以实现数据表的自动格式化。
提供发明内容部分是为了简化的形式来介绍对概念的选择,其在下文的具体实施方式中将被进一步描述。发明内容部分无意标识要求保护的主题的关键特征或主要特征,也无意限制要求保护的主题的范围。
附图说明
图1示出了能够实施本公开的多个实现的计算环境的框图;
图2示出了根据本公开的一个实现的数据表格式化模块的框图;
图3示出了根据本公开的一个实现的图2的示例学习网络的框图;
图4示出了根据本公开的一个实现的图3的学习网络的示例网络部分的框图;
图5示出了根据本公开的一个实现的图4的示例池化层的框图;
图6示出了根据本公开的另一个实现的图2的格式确定模块的框图;以及
图7示出了根据本公开的一个实现的过程的流程图。
这些附图中,相同或相似参考符号用于表示相同或相似元素。
具体实施方式
现在将参照若干示例实现来论述本公开。应当理解,论述了这些实现仅是为了使得本领域普通技术人员能够更好地理解且因此实现本公开,而不是暗示对本公开的范围的任何限制。
如本文所使用的,术语“包括”及其变体要被解读为意味着“包括但不限于”的开放式术语。术语“基于”要被解读为“至少部分地基于”。术语“一个实现”和“一种实现”要被解读为“至少一个实现”。术语“另一个实现”要被解读为“至少一个其他实现”。术语“第一”、“第二”等等可以指代不同的或相同的对象。下文还可能包括其他明确的和隐含的定义。
如以上提及的,数据表的格式化能够有助于数据的可视化呈现,实现方便的数据查找或者并列比较等目的。当前主要由用户基于对数据表的理解而手动进行格式选择,这繁琐且耗时。有些数据表的编辑工具、诸如Excel电子表单提供一些格式模板。然而,这样的格式模板只能简单套用到用户选定的数据表区域中,具有固定的格式化结果,与该区域中的数据表的实际数据和结构可能并不匹配。电子表达的编辑工具还可以提供条件格式化的功能,该功能允许用户手动定义一些条件,并在检测到条件满足时进行批量格式化,诸如对单元格着色或视觉放大。然而,这些格式化都无法对数据表进行自动且恰当的格式选择。
基本工作原理和示例环境
本公开的实现提出了一种用于数据表的自动格式化的方案。该方案利用学习网络,从待格式化数据表中的各个单元格的属性取值提取特征表示,并且基于特征表示确定多个单元格各自的格式。以此方式,学习网络实现从单元格的属性设置到单元格格式之间的自动映射,以实现数据表的自动格式化。
以下参考附图来说明本公开的基本原理和若干示例实现。图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)、闪存)或其某种组合。存储设备130可以是可拆卸或不可拆卸的介质,并且可以包括机器可读介质,诸如内存、闪存驱动、磁盘或者任何其他介质,其能够用于存储信息和/或数据并且可以在计算设备100内被访问。
计算设备100可以进一步包括另外的可拆卸/不可拆卸、易失性/非易失性存储介质。尽管未在图1中示出,可以提供用于从可拆卸、非易失性磁盘进行读取或写入的磁盘驱动和用于从可拆卸、非易失性光盘进行读取或写入的光盘驱动。在这些情况中,每个驱动可以由一个或多个数据介质接口被连接至总线(未示出)。
通信单元140实现通过通信介质与另外的计算设备进行通信。附加地,计算设备100的组件的功能可以以单个计算集群或多个计算机器来实现,这些计算机器能够通过通信连接进行通信。因此,计算设备100可以使用与一个或多个其他服务器、个人计算机(PC)或者另一个一般网络节点的逻辑连接来在联网环境中进行操作。
输入设备150可以是一个或多个各种输入设备,例如鼠标、键盘、追踪球、语音输入设备等。输出设备160可以是一个或多个输出设备,例如显示器、扬声器、打印机等。计算设备100还可以根据需要通过通信单元140与一个或多个外部设备(未示出)进行通信,外部设备诸如存储设备、显示设备等,与一个或多个使得用户与计算设备100交互的设备进行通信,或者与使得计算设备100与一个或多个其他计算设备通信的任何设备(例如,网卡、调制解调器等)进行通信。这样的通信可以经由输入/输出(I/O)接口(未示出)来执行。
在一些实现中,除了被集成在单个设备上之外,计算设备100的各个部件中的一些或所有部件还可以以云计算架构的形式被设置。在云计算架构中,这些部件可以被远程布置,并且可以一起工作以实现本公开所描述的功能。在一些实现中,云计算提供计算、软件、数据访问和存储服务,它们不需要终端用户知晓提供这些服务的系统或硬件的物理位置或配置。在各种实现中,云计算使用适当的协议通过广域网(诸如因特网)提供服务。例如,云计算提供商通过广域网提供应用,并且它们可以通过web浏览器或任何其他计算组件被访问。云计算架构的软件或组件以及相应的数据可以被存储在远程位置处的服务器上。云计算环境中的计算资源可以在远程数据中心位置处被合并或者它们可以被分散。云计算基础设施可以通过共享数据中心提供服务,即使它们表现为针对用户的单一访问点。因此,可以使用云计算架构从远程位置处的服务提供商提供本文所描述的组件和功能。备选地,它们可以从常规服务器被提供,或者它们可以直接或以其他方式被安装在客户端设备上。
计算设备100可以用于实施本公开的多个实现中的数据表的自动格式化。存储器120可以包括一个或多个模块,其具有一个或多个程序指令,这些模块可以由处理单元110访问和运行,以实现本文所描述的各种实现的功能。例如,存储器120可以包括数据表格式化模块122,用于数据表的自动格式化。
在执行格式化时,计算设备100能够通过输入设备150接收数据表170。数据表170包括以行和列布置的多个单元格172。每个单元格172可以由相应的行和列限定。作为示例,在图1的数据表170中,由行1至行15以及列A至列D限定的多个单元格172。为便于理解,图1中用虚线框指示一个由行4和列A限定的一个单元格172。
数据表170被提供给数据表格式化模块122,以由数据表格式化模块122确定数据表170中的单元格各自的格式。数据表格式化模块122可以可选地将所确定的格式应用到数据表170,并且将格式化后的数据表180经由输出设备160输出。应当理解,图1中示出的数据表的形式、数据表所包括的数据以及数据表的格式仅是示例。
在本文中,数据表指的是电子文档工具中可编辑的表。数据表由以行和列布置的单元格形成。数据表的至少一个单元格中填充有数据(也称为内容)。提供可编辑数据表的电子文档诸如可以包括电子表单、可插入数据表的文本文档、演示文档等。很多电子文档工具,诸如电子表单应用、文字处理应用、演示文档应用等,可以提供数据表的数据、结构、格式等等方面的编辑。
在本文中,数据表中的单元格的格式包括可施加到单元格的视觉呈现类型,其示例包括但不限于边框、填充颜色、填充图案样式、字体、字体颜色、对齐方式等等。在图1的示例中示出了数据表格式化模块122为输入的数据表170的各个单元格172确定边框和对齐两种类型格式,所确定的格式被呈现在格式化的数据表180中。
以下将参考图2至图6来详细描述数据表格式化模块122如何确定数据表170中的单元格的格式。
基本实现架构
图2示出了根据本公开的一些实现的基于学习网络的数据表格式化模块122。如图所示,数据表格式化模块122包括属性获取模块210和格式确定模块220。数据表格式化模块122还可选地包括格式施加模块230。
属性获取模块122获取数据表170的多个单元格172的一个或多个属性的取值212。数据表170可以被包括在电子文档的一个页面中,例如在电子表单文件的一个分页签中,或者被插入到文本文档的页面中。数据表170可以具有预定的大小,例如,在文档的页面中具有预定的长度(由列数限定)和宽度(由行数限定)。在这种情况下,可以从预定大小的范围获取单元格172的属性的取值212。数据表170还可以具有不固定的大小,此时可以从电子表单的非空单元格所在的区域作为该数据表的大小。在一些实现中,可以利用表检测技术来从电子文档的页面中自动检测或界定数据表170的范围。在另外一些实现中,还可以由用户手动标识数据表170的范围。在诸如电子表单文件之类的基于表的终端用户开发工具中,可选地,也可以将一个电子表认为是一张数据表。
根据本公开的实现,为了实现数据表的格式化,考虑数据表的各个单元格的一个或多个方面的属性,以便基于此来确定在数据表的何处应用何种格式。在数据表170的每个单元格172的属性可以关于该单元格中填充的数据的一个或多个方面,或者关于该单元格的设置本身。由此,数据表总体单元格的属性的取值可以指示各个单元格中填充的数据的语义和/或数据表的结构。在此,属性的取值指的是相应单元格如何设置对某个属性。这样的取值不必然是数值,而是可以任何其他类型的数据/信息来指示属性的具体设置。
在一些实现中,对于给定单元格172,可以考虑以下属性的取值,用于指示其中填充的数据的语义,这样的属性诸如是给定单元格172中填充的数据的长度、数据的类型、和/或给定单元格172中填充的不同类型的数据的比例。数据的长度例如可以由数据中所包含的字符的数目指示。在单元格中填充的类型可以以各种粒度划分,例如可以被划分为文本类型和数值类型。数值类型的数据还可以被进一步细分为数字、日期、时间等等更细的类别。文本类型的数据也可以被进一步细分,诸如按语言细分等。
备选地或附加地,用于指示其中填充的数据的语义的属性还可以包括给定单元格172中填充的数据本身,和/或在编辑公式来产生给定单元格172的数据。利用公式来获得单元格的数据在诸如电子表单应用中很常见。例如,可以在某个单元格172中输入数学运算或统计公式,用于对一个或多个其他单元格中的数字进行计算、统计,和/或对文本进行统计。单元格中所使用的公式有利于理解当前单元格172中所填充的数据。应理解,当前用于生成数据表的各类应用中已经提供了很多这样的公式的使用,并且未来也可能开发更多的公式用于生成单元格的数据,这些公式中的部分或全部均可以被考虑。
在数据表中,多个相邻行和/或列的单元格的一个或多个属性可能被设置,以便于呈现数据表的结构。这种数据组织方式也可以作为一种属性,并且可能影响到格式的确定。用于指示数据表的结构的属性例如可以包括单元格是否被合并以呈现其中的数据。因此,属性获取模块210还可以备选地或附加地获取与给定单元格172的合并状态相关的信息。合并状态指示给定单元格172是否与另一单元格172合并以呈现其中填充的数据,或者与另一单元格的合并方式。例如,一个合并状态可以指示给定单元格172是否合并,其他合并状态可以指示给定单元格172是与哪个方向的单元格合并(例如,左相邻列中的单元格、右相邻列中的单元格、顶部相邻行的单元格和/或底部相邻行的单元格)。除合并状态之外或者作为备选,属性获取模块210还可以确定在数据表170中对单元格172的其他方面的设置,诸如单元格的行高、列宽等等。
单元格的属性的取值212取决于在数据表170的生成过程中各个单元格172的具体设置/配置,这样的设置/配置的主要目的是为了促进数据的组织和呈现。属性的取值212可以从包括数据表170的电子文档的元数据或者其他数据源提取。属性获取模块210所关心的一个或多个属性可以被预先配置,从而针对输入的数据表170获取相应属性的具体取值212。在一些实现中,属性获取模块210可以按数据表170的行和列的二维结构来表示所获取的属性的取值212,该二维结构包括针对每个单元格172提取的各个属性的取值212。当然,针对整个数据表170提取的属性的取值212也可以以其他形式来表示。
属性获取模块210获取的属性的取值212被提供给格式确定模块220。格式确定模块220基于属性的取值212来确定数据表170的多个单元格172各自的格式224。格式确定模块220可以为每个单元格172确定一个或多个类型的格式224。如以上提及的,可以被施加到单元格的格式的示例包括但不限于边框、填充颜色、填充图案样式、字体、字体颜色、数据对齐。这些类型的格式可以以不同方式用于辅助数据表170中的数据的呈现。例如,单元格的边框可以有助于表示表结构,特别是有层级的表头和对各个数据区域,从而便于数据查找。单元格的数据对齐可以提供简洁、清晰的数据表示。
在确定格式时,针对每个单元格172,格式确定模块220可以确定一组预定类型的格式中的一个或多个格式是否被施加到该单元格。对于某些类型的格式,可能存在不同的施加方式,因此还可以确定该格式以何种方式被施加到单元格。为便于理解,以边框格式和对齐格式为例进行说明。对于一个单元格172,可以向该单元格施加水平边框以及垂直边框。格式确定模块220可以确定是否向单元格172施加水平边框和/或垂直边框。针对对齐格式,每个单元格172的对齐格式可以包括水平对齐和垂直对齐。此外,水平对齐可以包括左对齐、居中对齐和右对齐,垂直对齐可以包括顶端对齐、垂直居中和低端对齐。格式确定模块220可以输出相应标签指示,用于指示针对每个单元格是否施加边框和/或对齐格式。例如,可以用布尔值(例如,0值和1值)指示某个类型的格式是否存在,例如0值指示不存在,1值指示存在,或者反之。如果某个格式有多种施加方式,可以用不同取值指示不同的施加方式。例如,对于水平对齐,可以分别用三个不同取值,例如0、1和2,来指示左对齐、居中对齐和右对齐。垂直对齐也可以类似被指示。
作为示例,以下表1列出了一些示例格式以及相应的标签指示。
表1:单元格的格式和标签指示的一些示例
注意,虽然对于单个单元格172,水平边框具体包括上边框和下边框两种选择并且垂直边框具体包括左边框和右边框两种选择,然而通过确定数据表170的每个单元格172的特定水平边框(上或下边框)以及特定垂直边框(左或右边框)是否存在,可以界定相邻边框的另一种水平和垂直边框。对于水平和垂直对齐而言,假设每个单元格总需要被设置某种水平和垂直对齐方式,因此无需用具体标签指示不存在水平或垂直对齐。
应当理解,以上讨论的实现以及表1都仅给出了单元格172的一些示例格式以及可能的标签指示方式。在其他实现中,可以由格式确定模块220确定其他类型的格式,和/或可以用其他标签指示来区分不同格式及其施加方式。例如,对于填充颜色的格式,格式确定模块220可以确定是否对某个单元格172填充颜色(例如,填充默认颜色),并且还可以确定多个颜色中的哪个颜色可以被填充(例如,指示各个颜色中哪个颜色存在而其他颜色不存在)。对于具有多种选择的其他格式类型,也可以相应的标签指示。
基于属性的取值212,格式确定模块220可以针对每个单元格172,确定一组预定类型的格式中的哪些格式要被施加到该单元格以及如何被施加到该单元格。为了后续分析,每个单元格172的一个或多个属性的取值可以被向量化。向量化也称为在预定范围内的数值化或特征化,以用于由数值来表示对应的信息。映射规则可以被预先确定。例如,可以将每个单元格172中的数据的长度映射到一个预定数值范围。如果单元格172中未填充任何数据,则长度可以取值为零。不同类型的数据是否存在可以由相应的布尔值(例如,0值或1值)来指示,其中0值可以指示对应类型的数据不存在,而1值指示对应类型的数据存在,或者反之。不同类型的数据的比例可以被归一化到0至1的数值范围内。对于不同的合并状态,也可以由相应的布尔值来指示对应合并状态是否存在。作为示例,以下表2列出了一些示例属性以及可能的映射值。
表2:单元格的示例属性及其映射值
在另外一些示例中,如果所关心的属性还包括单元格172中填充的数据本身,可以对单元格172中填充的数据提取语义特征表示,以便于数据理解。语义特征表示的提取可以利用多种自然语言处理工具来执行,本文在此方面不受限制。语义特征表示通常也包括多个特征值,这些特征值可以区分不同语义。此外,对于单元格172中所使用的公式,可以被映射到某个数值表示,以便区分公式是否被使用、所使用的公式的类型和/或公式所涉及的其他单元格。应当理解,以上讨论的实现以及表2都仅给出了单元格172的一些示例属性以及可能的映射值。在其他实现中,还可以获取单元格172的其他方面的属性,只要这样的属性可以有助于指示数据的语义和/或数据表的结构。此外,还可以用其他映射值来区分指示属性的取值的差异。
与每个单元格172的至少一个属性的取值可以被组合成例如多维向量,例如基于表2的属性列表可以形成11维的向量。通过对数据表170的多个单元格172的属性的取值进行向量化,可以获得对应的向量化表示。向量化表示包括与每个单元格172的属性的取值相对应的向量化结果。
根据本公开的实现,格式确定模块220基于学习网络222来实现从属性的取值212(具体地,属性的取值212的向量化表示)到多个单元格172的格式224的映射。从属性的取值212或向量化表示到格式224的映射需要通过对学习网络222的训练过程来确定。为便于描述,该学习网络222被称为第一学习网络。
在本文中,学习网络也可以称为“学习模型”、“神经网络”或“神经网络模型”。在下文中,术语“学习网络”、“神经网络”、“神经网络模型”、“模型”和“网络”可替换地使用。学习网络被构造为包括一个或多个网络层,每个网络层包括一个或多个处理单元(也称为神经元)。每个处理单元根据训练获得的参数来处理输入,并产生输出。前一层的输出传递到下一层作为输入,以供进一步处理。学习网络的所有神经元的参数组成学习网络的参数集。当学习网络的参数集通过训练而确定时,学习网络可以利用训练的参数集,将接收到的输入映射到对应的输出。因此,学习网络的训练过程可以被认为是从训练数据中学习从输入到输出之间的映射。学习网络的最后一层被称为输出层。在本文中,输出层之前的各层的输出可以被认为是输入的特征表示,输出层用于从特征表示映射到相应输出。
在本公开的实现中,格式确定模块220所使用的第一学习网络222被训练为能够执行从数据表170的属性的取值212(即输入,该输入具体可以是对应的向量化表示)到数据表中各个单元格的格式224(即输出)之间的映射。在图2,该学习网络222提取输入属性的取值212的特征表示并且基于特征表示来确定多个单元格172各自的格式224。
对于数据表的自动格式化任务而言,一个挑战在于数据表的格式与表结构之间的耦合性。用户通常基于他们对表结构的理解来选择格式。然而,由于数据表的创建具有非常高的灵活性,难以简单定义一种分类规则或用某种语言来系统性地描述丰富的表结构,例如有层级的表头和数据布局方式。此外,可施加到数据表的格式也非常丰富。因此,根据本公开的实现,提出了利用学习网络来学习从数据表整体的属性设置到单元格格式的映射,而无需对表结构明确建模,因为表结构信息可以被认为隐含嵌入在底层格式,并且在学习网络的逐层特征提取时也可能被隐含考虑在内。
需要利用训练数据对第一学习网络222进行训练,以学习从单元格的属性取值到格式之间的映射。用于训练学习网络的样本数据包括一组样本数据表,样本数据表中的单元格被设置相应格式。换言之,可以从大量已被格式化的数据表中学习单元格的属性设置到数据表的格式之间的映射。样本数据表的来源可以是多样的,诸如来自网页、来自数据库等。在一些实现中,可以从可靠数据源获取具有格式化效果较好的数据表作为样本数据表,或者可以手动筛选被较好格式化的样本数据表。在一些实现中,每个样本数据表中的部分或全部单元格均被设置相应格式。由于样本数据表中本身已经携带目标格式,因此避免了对训练数据的人工标注。样本数据表的格式已知,因此可以采用各种有监督的训练技术来确定第一学习网络222的参数集。
在训练第一学习网络222时,可以从各个样本数据表中获取各个单元格的相应属性的具体取值,例如可以涉及以上讨论的一个或多个类型的属性。在样本数据表中所关心的属性与要获取的待格式化的数据表170的属性相同,例如均关心数据的长度、类型、不同数据类型的比例和/或单元格的合并状态。此外,因为已经被格式化,还可以从样本数据表确定各个单元格的格式,所确定的格式也可以是与以上讨论的要为数据表170的单元格确定的格式类型相同。
从一组样本数据表中的每个样本数据表提取的单元格的格式可以被认为是该样本数据表的真实(或正确)格式。对第一学习网络222的训练过程是利用一组样本数据表来不断更新网络的参数集,使得第一学习网络222从各个样本数据表中相应单元格的属性取值中预测出的表格格式更接近或类似于一组样本数据表中呈现的真实格式,也就是说,使得第一学习网络222学习到如何确定类似真实表格的格式。第一学习网络222的具体架构和训练过程将在下文中详细描述。第一学习网络222的训练可以在计算设备100上执行或者由其他设备或设备组执行。
在一些实现中,由格式确定模块220确定的各个单元格172的格式224可以被提供给格式施加模块230。格式施加模块230可以将格式确定模块220所指示的格式224施加到数据表170的各个单元格172,从而获得格式化的数据表180。格式施加可以借助可编辑数据表170所在电子文档的应用/工具来实现。在一些实现中,格式224也可以被输出给计算设备100外部的设备,例如被传输给正在编辑数据表170的设备,以便实现在设备上对数据表170的格式化。在这种实现中,格式施加模块230的功能可以在计算设备100之外的电子设备处实现。
作为一些实际实现的示例,数据格式化模块122整体或其中的格式施加模块230可以被嵌入终端用户开发应用,诸如电子表单应用、文本文档应用中,从而实现对应用中正在编辑的数据表的自动、快速格式化。
在一些实现中,数据表170中的单元格172没有被设置一个或多个预定格式,例如没有边框、没有填充颜色等。在另外一些实现中,数据表170的一个或多个单元格172可以已经具有一个或多个格式。在这种实现中,可以将由格式确定模块220确定的格式224替换对应的格式。例如,数据表170中的一个单元格172原本被设置为具有数据右对齐的格式,而格式确定模块220确定该单元格172的数据对齐方式为居中对齐。在对数据表170执行格式化时,可以将上述单元格172的数据对齐方式修改为居中对齐。在一些示例中,也可以选择不修改数据表170中的原始格式,而是增加格式确定模块220确定的新格式。本公开的范围在此方面不受限制。
示例学习网络结构
如以上提及的,第一学习网络222可以由各种类型的学习网络架构来实现。在一些实现中,第一学习网络222可以基于条件生成式对抗网络(cGAN)来实现。cGAN可以学习从一个观察域到一个目标域之间的映射,在本公开中,要学习从单元格的属性设置到数据表的格式之间的映射。这样的映射学习是有监督和条件的,即网络学习的结果要满足样本数据表给出的格式。
cGAN包括生成器部分(由G表示)和辨别器部分(由D表示)。在本公开的数据表的格式化任务中,生成器部分G被训练为实现将输入的属性的取值(由d表示)映射到数据表的格式(由f表示),因此生成器部分G可以形成第一学习网络222。生成器部分G的训练目标是要使得被对抗训练的辨别器部分D很难或完全无法区分生成器部分G预测的格式与对应的真实格式。辨别器部分D被对抗地训练,其训练目标是努力区分属性的取值和格式对{d,f}是真实的(即从样本数据表获得的各个单元格的属性取值和对应的格式)或是假的(即由输入属性的取值以及生成器部分G预测的格式)。辨别器部分D可以具有与生成器部分G对称的网络结构。因此,在训练时,用于获得第一学习网络222的cGAN的目标函数(由表示)可以基于损失函数,被表示为如下:
由于生成器部分G和辨别器部分D的训练目标是相互对抗的,基于样本数据表的单元格的属性取值和格式,第一学习网络222的训练过程可以经由以下最小最大博弈来达到收敛,从而实现相应的训练目标:
公式(2)表示在训练过程中,对于生成器部分G的训练要使损失函数最小化,而对辨别器部分D的训练要使损失函数/>最大化。要理解,辨别器部分D主要用于生成器部分G的训练。在训练完成后,生成器部分G被用作第一学习网络222。
在一些实现中,在训练时为了更好地从样本数据表进行学习,可以利用不同尺寸的多个辨别器部分来辅助训练,不同辨别器部分可以在不同尺寸上区分真实和假的属性取值和单元格格式对。在一个示例中,可以采样三个辨别器部分,分别被表示为D1、D2和D3,第一学习网络222的训练目标可以被表示为:
公式(3)指示不同尺寸上的每个辨别器部分都尽最大努力区分真实和假的属性取值和单元格格式对。
由于表格的行列特点,表格的各个单元格的属性取值可以被认为是一种二维结构的信息,这类似于二维图像。因此,在一些实现中,可以利用卷积神经网络(CNN)的结构来构造第一学习网络222。例如,第一学习网络222的一个或多个网络层可以包括卷积层,每个卷积层中包括一个或多个卷积核(也称为卷积滤波器),以执行相应的卷积操作。在cGAN的示例中,作为第一学习网络222的生成器部分G可以由卷积神经网络的结构来构造,而辨别器部分D可以被对称设置。
在一些实现中,第一学习网络222的各个网络层可以被构造为具有“u-net”架构,从而实现计算资源的节约和强大的样本学习能力。图3示出了这样的“u-net”架构的第一学习网络222的示例架构。如图3所示,第一学习网络222包括收缩路径,由多个网络部分310-1、310-2、310-3等组成(统称为或单独称为网络部分310)。在收缩路径上,一个网络部分310对输入进行处理和降采样,并且下一网络部分310在降采样后的较小尺寸上继续处理由前一网络部分310提取的特征表示。
第一学习网络222还包括扩展路径,由多个网络部分320-1、320-2、320-3等组成(统称为或单独称为网络部分320)。在扩展路径上,每个网络部分320对输入升采样和执行相应处理,后一网络部分320在更大尺寸上继续处理从网络部分320提取的特征表示。扩展路径上的第一个网络部分与收缩路径上的最后一个网络部分相连,以接收该部分的输出进行处理。在第一学习网络222的使用过程中,第一个网络部分310-1提取数据表170中各个单元格172的属性的取值212,而最后一个网络部分320-1输出数据表170的各个单元格的格式224。
应当理解,虽然图3示出了一定数目的网络部分310和网络部分320,在其他示例中,在收缩路径和扩展路径上可以包括更多或更少的网络部分。
在一些实现中,为了允许先前网络部分提取的低级特征表示更有效地用于生成输出的格式,还可以利用快捷连接将第一学习网络222的收缩路径和扩展路径中对应尺寸上的网络部分310和320相连。仍参考回图3,网络部分310-1连接到网络部分320-1,以经由快捷连接将网络部分310-1的输出直接提供给网络部分320。类似地,网络部分310-2和网络部分320-2相连,网络部分310-3和网络部分320-3相连,等等。因此,除了前一网络部分提供的特征表示之外,扩展路径上的相应网络部分320还处理相连的网络部分310提供的特征表示。当然,对于将收缩路径和扩展路径相邻的两个网络部分已经具有连接。
在基于CNN的一些实现中,每个网络部分310可以至少包括执行卷积操作的卷积层和执行降采样的降采样层。每个网络部分310提取该部分输入的特征表示以作为后一网络部分310的输入。在基于CNN的一些实现中,每个网络部分320可以包括执行升采样的升采样层和执行卷积操作的卷积层。在一些实现中,收缩路径上的网络部分310中的降采样层与扩展路径上的网络部分320中的上采样层相连。通过不同尺寸的多层特征提取,可以探索输入的属性取值的各个部分和各个级别的特征。由每个网络部分310提取的特征表示可以包括一个或多个特征图,每个特征图包括以行和列布置的特征值。
应当理解,虽然图3示出了第一学习网络222的一个示例结构,第一学习网络222还可以被构造为其他结构。本公开的实现在此方面不受限制。无论第一学习网络222的结构如何,都可以基于样本数据表对第一学习网络222进行训练。
逐行和逐列特征提取
由于在数据表中,数据通常是逐行或逐列布置,以便于查找和查询。因此,数据表中的格式也可能展现出这样的行级别或列级别的模式。例如,数据表中某一列上的所有单元格可以具有相同的水平对齐类型,而某一行上的所有单元格可以都具有相同的水平边框。为了更有效地提取这样的行级别或列级别的模式,在一些示例中,在第一学习网络222中还提取行方向特征表示和/或列方向特征表示。行方向特征表示指示数据在数据表的行方向上的分布模式,而列方向特征表示指示数据在数据表的列方向上的分布模式。
在一些实现中,行方向特征表示和/或列方向特征表示的提取可以在第一学习网络222的各个网络部分310中实现。图4示出了网络部分310的一个示例。如图4所示,网络部分310包括卷积层410(由C表示)、池化层412(由P表示)以及降采样层416(由D表示)。卷积层410对网络部分310的输入执行卷积操作,以提取对应的特征表示作为输出。应当理解,图4中示出的网络层仅是一个示例,在其他示例中,网络部分310还可以包括多个卷积层、多个池化层或者执行其他处理的网络层。取决于网络部分310在第一学习网络222中的位置,卷积层410可以提取数据表170的各个单元格172的属性的取值212的特征表示(在位于网络部分310-1时),或者可以提取前一网络部分310输出的特征表示。
网络部分310中的池化层412可以用于实现对行方向特征表示和/或列方向特征表示的提取。在本文中,为区别于针对行/列方向的特征表示,由卷积层410提取的特征表示可以被称为全局特征表示。池化层412从全局特征表示提取行方向特征表示和列方向特征表示中的至少一个。由池化层412提取的行和/或列方向特征表示与卷积层410提取的全局特征表示由级联模块414级联,并且被输入到降采样层416执行降采样。经由降采样后,全局特征表示以及行和/或列方向特征表示的维度将被降低。降采样率可以被预先设置。
池化层412可以包括不同的模块/部分,分别用于行和列方向特征表示的提取。图5示出了池化层412的具体结构以及行和列方向特征表示的提取示例。在这个示例中,考虑行和列两个方向上的特征表示提取。如图5所示,池化层412可以包括逐行池化部分502和逐列部分504。
图5还示出了要由池化层412处理的一个特征图510,特征图510可以表示由卷积层410提取的全局特征表示或者是全局特征表示的一部分。因此,特征图510也可以称为全局特征图。逐行池化部分502从全局特征图510提取行方向特征图520。行方向特征图520可以被认为是行方向特征表示或者行方向特征表示的一部分(如果要处理全局特征表示的多个特征图)。逐列池化部分504从特征图510提取列方向特征图530。列方向特征图530可以被认为是列方向特征表示(如果要处理全局特征表示包括的单个特征图)或者列方向特征表示的一部分(如果要处理全局特征表示包括的多个特征图)。
假设E表示输入到池化层412的全局特征图510,h和w是特征图510的高度和宽度,则逐行池化部分502和逐列部分504可以分别对特征图510逐行和逐列执行均值池化,并将均值池化后的结果分别扩展到整行和整列。因此,行方向特征图520和列方向特征图530与全局特征图510的尺寸相同。例如,行方向特征图520可以被表示为列方向特征图530可以被表示为/>
为了便于解释说明,在图5中示出了全局特征图510中的部分特征值。具体地,在提取行方向特征表示时,逐行池化部分502对于全局特征图510的每一行,将该行中的特征值进行平均,以获得行平均特征值,并且将行平均特征值扩展到行方向特征图520的对应行中。由此,对应列中的所有特征值取值均相同。逐行池化部分502对全局特征图510的逐行平均池化可以被表示为如下:
其中1w×w表示w×w矩阵,该矩阵的所有值均为1。
在图5示出的具体示例中,逐行池化部分502可以对全局特征图510的行512中的所有特征值进行平均,获得行平均特征值0.32,该行平均特征值0.32被扩展到行方向特征图530的对应行522中,使行522具有多个同样的特征值0.32。类似地,可以对全局特征图510的行514执行相同平均池化,从而确定行方向特征图530的对应行524中的特征值0.54。对于全局特征图510的其他行也可以执行类似处理,从而获得行方向特征图520。
在提取列方向特征表示时,逐列池化部分504对于全局特征图510的每一列,将该列中的特征值进列平均,以获得列平均特征值,并且将列平均特征值扩展到列方向特征图530的对应列中。由此,对应列中的所有特征值取值均相同。逐列池化部分504对全局特征图510的逐列平均池化可以被表示为如下:
其中1h×h表示h×h矩阵,该矩阵的所有值均为1。
在图5示出的具体示例中,逐列池化部分504可以对全局特征图510的列511中的所有特征值进列平均,获得列平均特征值0.36,该列平均特征值0.36被扩展到列方向特征图530的对应列521中,使列521具有多个同样的特征值0.36。类似地,可以对全局特征图510的列513执行相同平均池化,从而确定列方向特征图530的对应列523中的特征值0.38。对于全局特征图510的其他列也可以执行类似处理,从而获得列方向特征图530。
应当理解,取决于卷积层410的输出,池化层412可以对全局特征表的多个特征图进行处理,以分别提取相应的行方向特征图和列方向特征图分别用作行方向特征表示和列方向特征表示。还应当理解,图5中示出的特征图510、520和530的尺寸以及其中的特征值仅是一个示例。池化层412可以处理任何其他的特征图。
在一些实现中,第一学习网络222的多个网络部分310均可以包括图4和图5所示的结构,以用于提取特征表示。因此,对于输入的属性的取值212,多个网络部分310迭代地不断执行特征表示的提取。具体地,在第一个网络部分310-1中,卷积层410从属性的取值212提取全局特征表示,池化层412从全局特征表示中提取行方向特征表示和/或列特征表示,然后全局特征表示和行方向特征表示和/或列方向特征表示被级联以获得混合特征表示。例如,在图5的示例中,特征图510、520和530可以被级联,以形成混合特征表示。混合特征表示被进一步处理,例如由降采样层416进行降采样。
在后续的网络部分310-2中,卷积层410从前一网络部分310-2输出的混合特征表示来提取新的全局特征表示,并且池化层412基于这样的新全局特征表示来继续进行均值池化,以获得新的行方向特征表示和/或列方向特征表示,降采样层416也类似地执行降采样操作。因此,可以从不同尺寸级别上对行方向特征表示和/或列方向特征进行提取。通过逐行和逐列的池化,后续的卷积层可以直接集成行方向和列方向的特征,而不受卷积核的尺寸限制。
应当理解,在一些实现中,第一学习网络222的收缩路径上的一个或一些网络部分310可以被部署有池化层412,在另外一些实现中,第一学习网络222的全部网络部分310均部署有池化层412。经过特征提取之后,由收缩路径上最后的网络部分310提取的特征表示被提供给扩展路径上的网络部分320继续处理。如以上提及的,每个网络部分320可以上采样层和卷积层。经过多个网络部分320的逐层处理,可以确定属性的取值212的最终特征表示,从而由最后的输出层基于此来确定数据表170的各个单元格的格式224。
局部细化网络
观看者通常对数据表格式中的局部模式特别敏感,特别是一些重要的表区域,诸如有层级的表头。此外,有时候甚至数据表中单个单元格的格式与相邻单元格不一致都可能显得突兀,例如表头区域中的异常单元格或者一列中具有不同对齐方式的一个单元等等。这种不一致性可能破坏数据表格式化的最终效果。为了避免这样不期望的错误,在一些实现中,格式确定模块220在确定单元格172的格式时,还可以尽可能确保数据表170的一行和/或一列上的多个单元格的格式一致。
具体地,可以基于属性的取值212提取的特征表示来确定多个单元格各自的粗略格式。例如,可以将以上描述的第一学习网络222确定的格式认为是粗略格式,而不是最终格式。然后,格式确定模块220可以从单元格172的属性的取值212和粗略格式提取联合特征表示,并且基于联合特征表示来确定多个单元格172各自的最终格式,使数据表170的同一行和/或同一列上的多个单元格172具有尽可能相同/一致的格式。这可以确保行和列级别上具有一致性,减少或消除异常单元格,从而提高视觉呈现效果。当然,行和列的一致性并非一定意味着同一行或同一列上的所有单元格172的格式均相同。在一些情况下,同一行或同一列上的部分单元格172具有一致格式。对于每个行或列上的各个单元格172,在确定对应的格式时,除了要确保格式一致性的约束之外,还考虑第一学习网络222可以学习到的其他因素。
在一些实现中,对行和/或列的格式一致性约束也可以基于学习网络来实现。图6示出了这样的一个实现。如图6所示,除了第一学习网络222之外,格式确定模块220还包括另一学习网络620(也称为第二学习网络)。第一学习网络222提取输入的属性取值212的特征表示,并且基于特征表示确定数据表170的各个单元格172的粗略格式612。第二学习网络620基于属性的取值212和粗略格式612来确定各个单元格172的最终格式224。第二学习网络620对单元格的格式执行粗略到细化的进一步优化,以便消除区域异常格式化结果。
具体地,第二学习网络620从属性的取值212和粗略格式612提取联合特征表示,并且可以将联合特征表示映射到多个单元格各自的格式224。第二学习网络620可以包括多个网络层622、624、626等。在一些实现中,第二学习网络620的网络层可以包括具有全连的卷积层。在一些实现中,第二学习网络620可以包括用于提取行方向特征表示和/或列方向特征表示的网络层,类似于以上描述的池化层412。在一个示例中,第二学习网络620的第一个网络层,例如网络层622,可以被设计为用于从输入(包括属性的取值212和粗略格式612)提取行方向特征表示和/或列方向特征表示。网络层622确定的行方向特征表示和/或列方向特征表示与网络层622的输入级联在一起被提供给下一网络层624,以供进一步处理。由第二学习网络620中除了最后输出层之外的网络层的输出可以被认为是提取的联合特征表示。
在一些实现中,第二学习网络620要实现的格式一致性的约束可以通过在模型训练时的约束来实现。用于训练第二学习网络620的训练数据可以包括一组样本数据表,样本数据表中的单元格被设置相应格式。在一些实现中,用于训练第二学习网络620的样本数据表与用于训练第一学习网络222的样本数据表相同。在一些实现中,可以对第一学习网络222和第二学习网络620执行端到端的有监督训练。在训练第二学习网络620时,还可以利用数据扩张策略,在从样本数据表取得的格式中随机增加一些不正确的格式模式以用于训练。基于这样的训练数据,可以使第二学习网络620不断学习,从而具有确保数据表的行和/或列上的单元格格式的一致性。
在训练第二学习网络620时,可以基于一致性损失来构建损失函数。不同格式类型可能要求不同方向上的一致性。例如,水平边框可能需要保持行方向上的一致性,垂直边框更要求列方向上的单元格之间的一致性。又例如,垂直对齐(顶端对齐、垂直居中和低端对齐)可能更需要关心行方向上的单元格之间的一致性,而对于水平对齐(包括左对齐、居中对齐和右对齐),列方向上的单元格之间的一致性可能更重要。
取决于不同方向上的一致性要求,可以将格式确定模块220要确定的格式的类型划分为在行方向上具有一致性的第一类别(由Controw表示)和在列方向上具有一致性的第二类别(由Contcol表示)。第一类别可以包括诸如水平边框、垂直对齐之类的要求行方向一致性的一个或多个格式类型,第二类别可以包括诸如垂直边框、水平对齐之类的要求列方向一致性的一个或多个格式类型。
如果要从行方向进行局部细化,第二学习网络620的训练要满足以下目标(称为第一目标):使利用第二学习网络620为一组样本数据表中相应行上的相邻单元格确定的第一组预测格式在行方向上具有一致性,具体地,可以使第一组预测格式之间的差异低于第一阈值。第一组预测格式包括为相邻单元格中的每一个预测的格式,并且是在行方向上具有一致性的第一格式类型。第一目标用于约束行方向上的单元格的格式一致性。第一阈值可以是根据需要或经验设置的任何值,以将差异约束在较小范围。
如果要从列方向进行局部细化,第二学习网络620的训练要满足以下目标(称为第二目标):使利用第二学习网络620样本数据表中相应列上的相邻单元格确定的第二组预测格式在列方向上具有一致性,具体地,可以使第二组预测格式之间的差异低于第二阈值。第二组预测格式包括为相邻单元格中的每一个预测的格式,并且是在列方向上具有一致性的第二格式类型。第一目标用于约束列方向上的单元格的格式一致性。第二阈值可以是根据需要或经验设置的任何值,以将差异约束在较小范围。
考虑以上第一目标和第二目标,第二学习网络620的损失函数可以被确定基于一致性损失,被表示为如下:
其中fc,i,j表示第二学习网络620为某个样本数据表的第i行第j列单元格确定的预测格式,该预测格式属于类别c(可以是第一类别Controw或第二类别Contcol);s表示相应行或列上的相邻关系的步长。
公式(6)中,右边第一项表示行方向上的一致性约束,以使对每一行上的相邻单元格所施加的类别Controw中的差异较小;右边第二项类似表示在列方向上的一致性约束。如果仅考虑行方向或列方向的一致性,公式(6)中对应于另一方向的项可以省略。在一个示例中,步长s可以被取值为1,表示考虑行和列方向上紧挨着的单元格之间格式的一致性。步长s还可以被取值为大于1的整数,诸如2、3、4或5等,表示考虑行和列方向上具有一定间隔的相邻单元格之间格式的一致性。在一些实现中,基于一致性损失的损失函数可以包括由多个不同步长取值构成的行方向和列方向一致性损失之和。
在端到端训练时,第一学习网络222和第二学习网络620的总损失函数可以被表示为:
公式(7)中考虑了用不同尺度的辨别器部分来训练第一学习网络222时的损失函数。可以理解,第一学习网络222的其他损失函数也可以与第二学习网络620的损失函数一起构成用于端到端训练的总损失函数。从公式(7)可以看出,对于基于cGAN的训练架构,期望最大化与辨别器部分相关的损失函数,但是要最小化与生成器部分以及第二学习网络相关的损失函数。在公式(7)中,λ控制第一学习网络222和第二学习网络620对应的损失函数的重要程度,λ可以取0到1范围内的值。
可控的数据表格式化
在一些实现中,还期望由用户手动或者以某种自动的方式控制数据表的自动格式化的一个或多个方面。这可以增加格式化结果的多样性。在这样的实现中,图2的格式确定模块220在确定数据表170的各个单元格的格式时,除了基于从属性的取值212提取的特征表示之外,还获取与预定类型的格式相关的控制指示。控制指示可以由用户指示或经由随机确定。格式确定模块220在确定格式时参考这样的控制指示。在一些实现中,为每个单元格确定的格式满足控制指示的具体定义。
控制指示可以定义以下至少一项:预定类型的格式是否存在和预定类型的格式的至少一个参数值。格式的参数值用于控制该格式的呈现状态,这样的参数值例如可以包括在数据表中该格式的整体所占比例、施加该格式的某个区域、在存在可调范围内的具体取值等等。例如,控制指示可以由一个变量来指示格式的存在与否、或者在存在的情况下的具体参数值。作为一个示例,对于边框格式,可以由控制指示来限定数据表170中的边框密度。边框密度可以由数据表中被施加边框的单元格的数目在整个数据表中所占的比例来确定。在与颜色填充相关的示例中,也可以由控制指示来限定在决定对某个或某些单元格施加填充时所选用的填充颜色。
由于格式确定模块220基于学习网络、例如第一学习网络222以及可能的第二学习网络620来实现,可以将与控制指示对应的变量(由z表示)作为一个输入通过给格式确定模块220中的学习网络,例如第一学习网络222。变量z可以被相应取值,以指示相应的格式的存在与否或对应的某个参数值。控制指示可以通过随机选择或者由用户控制。如果期望控制不用类型的格式,可以增加更多的对应变量作为输入。
在训练格式确定模块220中的学习网络122和620时,可以确定各个样本数据表中预定格式类型的存在与否以及相应属性。为了扩展样本数据,可以对某个目标控制指示来调整样本数据表中的格式。例如,对于指示边框密度的目标控制指示,可以调整样本数据表中的单元格的边框以满足所指示的边框密度。然后,可以基于调整后的样本数据表作为训练数据用于执行学习网络122和620的训练,使得学习网络122和620确定的整个数据表的边框密度满足目标边框密度。
通过由用户指示或者随机选择的不同控制指示(例如不同的变量z的取值),可以在同样条件下(例如,同一个待格式化的数据表170)输出不同的结果,例如,数据表170的不同格式。针对同一数据表170输出的不同格式可以作为推荐被提供给用户,以允许用户从这些推荐中选择期望的格式化结果。备选地或附加地,用户可以通过提供不同的控制指示来控制数据表170的格式化,从而获得期望的结果。
示例过程
图7示出了根据本公开一些实现的过程700的流程图。过程700可以由计算设备100来实现,例如可以被实现在计算设备100的存储器120中的数据表格式化模块122处。
在框710,获取数据表的多个单元格的至少一个属性的取值,至少一个属性的取值指示多个单元格中填充的数据的语义和数据表的结构中的至少一项。多个单元格以行和列布置在数据表中。在框720,利用第一学习网络,提取至少一个属性的取值的特征表示。在框730,至少利用第一学习网络,基于特征表示来确定多个单元格各自的格式。
在一些实现中,提取特征表示包括:将至少一个属性的取值映射成对应的向量化表示;从向量化表示提取全局特征表示;以及基于全局特征表示来确定特征表示。
在一些实现中,确定特征表示包括:从全局特征表示提取行方向特征表示和列方向特征表示中的至少一个,行方向特征表示和列方向特征表示分别指示数据在数据表的行方向和列方向上的分布模式;将全局特征表示和行方向特征表示和列方向特征表示中所提取的至少一个进行级联,以获得混合特征表示;以及基于混合特征表示来确定特征表示。
在一些实现中,全局特征表示和行方向特征表示包括以行和列布置的特征值,提取行方向特征表示包括:对于全局特征表示的每一行,将该行中的特征值进行平均,以获得行平均特征值;以及将行平均特征值扩展到行方向特征表示的对应行中。
在一些实现中,全局特征表示和列方向特征表示包括以行和列布置的特征值,提取列方向特征表示包括:对于全局特征表示的每一列,将该列中的特征值进列平均,以获得列平均特征值;以及将列平均特征值扩展到列方向特征表示的对应列中。
在一些实现中,基于特征表示确定多个单元格各自的格式包括:利用第一学习网络,基于特征表示确定多个单元格各自的粗略格式;从至少一个属性的取值和粗略格式提取联合特征表示;以及基于联合特征表示来确定多个单元格各自的格式,以使在数据表的同一行和列的至少一个上的多个单元格具有相同格式。
在一些实现中,提取联合特征表示包括:利用第二学习网络从至少一个属性的取值和粗略格式提取联合特征表示,第二学习网络基于一组样本数据表来训练获得,一组样本数据表中的单元格被设置相应格式。
在一些实现中,第二学习网络被训练以满足以下至少一个目标:第一目标,第一目标使利用第二学习网络为一组样本数据表中相应行上的相邻单元格确定的第一组预测格式在行方向上具有一致性;以及第二目标,第二目标使利用第二学习网络为一组样本数据表中相应列上的相邻单元格确定的第二组预测格式在列方向上具有一致性。
在一些实现中,第一目标使利用第二学习网络为一组样本数据表中相应行上的相邻单元格确定的第一组预测格式之间的差异低于第一阈值,第一组预测格式是在行方向上具有一致性的第一格式类型。在一些实现中,第二目标使利用第二学习网络为一组样本数据表中相应列上的相邻单元格确定的第二组预测格式之间的差异低于第二阈值,第二组预测格式是在列方向上具有一致性的第二格式类型。
在一些实现中,确定多个单元格各自的格式还包括:获取与预定类型的格式相关的控制指示,控制指示定义以下至少一项:预定类型的格式是否存在和预定类型的格式的至少一个参数值;以及还基于控制指示来确定多个单元格各自的格式。
在一些实现中,针对多个单元格中的给定单元格,至少一个属性包括以下至少一项:给定单元格中填充的数据,给定单元格中填充的数据的长度,给定单元格中填充的数据的类型,给定单元格中填充的不同类型的数据的比例,用于产生给定单元格中填充的数据的公式,以及给定单元格的合并状态,合并状态指示给定单元格是否与另一单元格合并以呈现数据或者与另一单元格的合并方式。
在一些实现中,第一学习网络基于一组样本数据表来训练获得,一组样本数据表中的单元格被设置相应格式。在一些实现中,第一学习网络包括条件生成式对抗网络(cGAN)的生成器部分。
示例实现方式
以下列出了本公开的一些示例实现方式。
在一方面,本公开提供了一种计算机实现的方法。该方法包括:获取数据表的至少一个属性的取值,至少一个属性的取值包括与数据表的多个单元格的至少一个属性的取值,以指示多个单元格中填充的数据的语义和数据表的结构中的至少一项,多个单元格以行和列布置在数据表中;利用第一学习网络,提取至少一个属性的取值的特征表示;以及基于特征表示确定多个单元格各自的格式。
在一些实现中,提取特征表示包括:将至少一个属性的取值映射成对应的向量化表示;从向量化表示提取全局特征表示;以及基于全局特征表示来确定特征表示。
在一些实现中,确定特征表示包括:从全局特征表示提取行方向特征表示和列方向特征表示中的至少一个,行方向特征表示和列方向特征表示分别指示数据在数据表的行方向和列方向上的分布模式;将全局特征表示和行方向特征表示和列方向特征表示中所提取的至少一个进行级联,以获得混合特征表示;以及基于混合特征表示来确定特征表示。
在一些实现中,全局特征表示和行方向特征表示包括以行和列布置的特征值,提取行方向特征表示包括:对于全局特征表示的每一行,将该行中的特征值进行平均,以获得行平均特征值;以及将行平均特征值扩展到行方向特征表示的对应行中。
在一些实现中,全局特征表示和列方向特征表示包括以行和列布置的特征值,提取列方向特征表示包括:对于全局特征表示的每一列,将该列中的特征值进列平均,以获得列平均特征值;以及将列平均特征值扩展到列方向特征表示的对应列中。
在一些实现中,基于特征表示确定多个单元格各自的格式包括:利用第一学习网络,基于特征表示确定多个单元格各自的粗略格式;从至少一个属性的取值和粗略格式提取联合特征表示;以及基于联合特征表示来确定多个单元格各自的格式,以使在数据表的同一行和列的至少一个上的多个单元格具有相同格式。
在一些实现中,提取联合特征表示包括:利用第二学习网络从至少一个属性的取值和粗略格式提取联合特征表示,第二学习网络基于一组样本数据表来训练获得,一组样本数据表中的单元格被设置相应格式。
在一些实现中,第二学习网络被训练以满足以下至少一个目标:第一目标,第一目标使利用第二学习网络为一组样本数据表中相应行上的相邻单元格确定的第一组预测格式在行方向上具有一致性;以及第二目标,第二目标使利用第二学习网络为一组样本数据表中相应列上的相邻单元格确定的第二组预测格式在列方向上具有一致性。
在一些实现中,第一目标使利用第二学习网络为一组样本数据表中相应行上的相邻单元格确定的第一组预测格式之间的差异低于第一阈值,第一组预测格式是在行方向上具有一致性的第一格式类型。在一些实现中,第二目标使利用第二学习网络为一组样本数据表中相应列上的相邻单元格确定的第二组预测格式之间的差异低于第二阈值,第二组预测格式是在列方向上具有一致性的第二格式类型。
在一些实现中,确定多个单元格各自的格式还包括:获取与预定类型的格式相关的控制指示,控制指示定义以下至少一项:预定类型的格式是否存在和预定类型的格式的至少一个参数值;以及还基于控制指示来确定多个单元格各自的格式。
在一些实现中,针对多个单元格中的给定单元格,至少一个属性包括以下至少一项:给定单元格中填充的数据,给定单元格中填充的数据的长度,给定单元格中填充的数据的类型,给定单元格中填充的不同类型的数据的比例,用于产生给定单元格中填充的数据的公式,以及给定单元格的合并状态,合并状态指示给定单元格是否与另一单元格合并以呈现数据或者与另一单元格的合并方式。
在一些实现中,第一学习网络基于一组样本数据表来训练获得,一组样本数据表中的单元格被设置相应格式。在一些实现中,第一学习网络包括条件生成式对抗网络(cGAN)的生成器部分。
在另一方面,本公开提供了一种电子设备。该电子设备包括:处理单元;以及存储器,耦合至处理单元并且包含存储于其上的指令,指令在由处理单元执行时使设备执行以下动作:获取数据表的多个单元格的至少一个属性的取值,至少一个属性的取值指示多个单元格中填充的数据的语义和数据表的结构中的至少一项,多个单元格以行和列布置在数据表中;利用第一学习网络,提取至少一个属性的取值的特征表示;以及基于特征表示确定多个单元格各自的格式。
在一些实现中,提取特征表示包括:将至少一个属性的取值映射成对应的向量化表示;从向量化表示提取全局特征表示;以及基于全局特征表示来确定特征表示。
在一些实现中,确定特征表示包括:从全局特征表示提取行方向特征表示和列方向特征表示中的至少一个,行方向特征表示和列方向特征表示分别指示数据在数据表的行方向和列方向上的分布模式;将全局特征表示和行方向特征表示和列方向特征表示中所提取的至少一个进行级联,以获得混合特征表示;以及基于混合特征表示来确定特征表示。
在一些实现中,全局特征表示和行方向特征表示包括以行和列布置的特征值,提取行方向特征表示包括:对于全局特征表示的每一行,将该行中的特征值进行平均,以获得行平均特征值;以及将行平均特征值扩展到行方向特征表示的对应行中。
在一些实现中,全局特征表示和列方向特征表示包括以行和列布置的特征值,提取列方向特征表示包括:对于全局特征表示的每一列,将该列中的特征值进列平均,以获得列平均特征值;以及将列平均特征值扩展到列方向特征表示的对应列中。
在一些实现中,基于特征表示确定多个单元格各自的格式包括:利用第一学习网络,基于特征表示确定多个单元格各自的粗略格式;从至少一个属性的取值和粗略格式提取联合特征表示;以及基于联合特征表示来确定多个单元格各自的格式,以使在数据表的同一行和列的至少一个上的多个单元格具有相同格式。
在一些实现中,提取联合特征表示包括:利用第二学习网络从至少一个属性的取值和粗略格式提取联合特征表示,第二学习网络基于一组样本数据表来训练获得,一组样本数据表中的单元格被设置相应格式。
在一些实现中,第二学习网络被训练以满足以下至少一个目标:第一目标,第一目标使利用第二学习网络为一组样本数据表中相应行上的相邻单元格确定的第一组预测格式在行方向上具有一致性;以及第二目标,第二目标使利用第二学习网络为一组样本数据表中相应列上的相邻单元格确定的第二组预测格式在列方向上具有一致性。
在一些实现中,第一目标使利用第二学习网络为一组样本数据表中相应行上的相邻单元格确定的第一组预测格式之间的差异低于第一阈值,第一组预测格式是在行方向上具有一致性的第一格式类型。在一些实现中,第二目标使利用第二学习网络为一组样本数据表中相应列上的相邻单元格确定的第二组预测格式之间的差异低于第二阈值,第二组预测格式是在列方向上具有一致性的第二格式类型。
在一些实现中,确定多个单元格各自的格式还包括:获取与预定类型的格式相关的控制指示,控制指示定义以下至少一项:预定类型的格式是否存在和预定类型的格式的至少一个参数值;以及还基于控制指示来确定多个单元格各自的格式。
在一些实现中,针对多个单元格中的给定单元格,至少一个属性包括以下至少一项:给定单元格中填充的数据,给定单元格中填充的数据的长度,给定单元格中填充的数据的类型,给定单元格中填充的不同类型的数据的比例,用于产生给定单元格中填充的数据的公式,以及给定单元格的合并状态,合并状态指示给定单元格是否与另一单元格合并以呈现数据或者与另一单元格的合并方式。
在一些实现中,第一学习网络基于一组样本数据表来训练获得,一组样本数据表中的单元格被设置相应格式。在一些实现中,第一学习网络包括条件生成式对抗网络(cGAN)的生成器部分。
在又一方面,本公开提供了一种计算机程序产品,计算机程序产品被有形地存储在非瞬态计算机存储介质中并且包括机器可执行指令,机器可执行指令在由设备执行时使设备:获取数据表的多个单元格的至少一个属性的取值,至少一个属性的取值指示多个单元格中填充的数据的语义和数据表的结构中的至少一项,多个单元格以行和列布置在数据表中;利用第一学习网络,提取至少一个属性的取值的特征表示;以及基于特征表示确定多个单元格各自的格式。
在一些实现中,机器可执行指令在由设备执行时使设备:将至少一个属性的取值映射成对应的向量化表示;从向量化表示提取全局特征表示;以及基于全局特征表示来确定特征表示。
在一些实现中,机器可执行指令在由设备执行时使设备:从全局特征表示提取行方向特征表示和列方向特征表示中的至少一个,行方向特征表示和列方向特征表示分别指示数据在数据表的行方向和列方向上的分布模式;将全局特征表示和行方向特征表示和列方向特征表示中所提取的至少一个进行级联,以获得混合特征表示;以及基于混合特征表示来确定特征表示。
在一些实现中,全局特征表示和行方向特征表示包括以行和列布置的特征值,机器可执行指令在由设备执行时使设备:对于全局特征表示的每一行,将该行中的特征值进行平均,以获得行平均特征值;以及将行平均特征值扩展到行方向特征表示的对应行中。
在一些实现中,全局特征表示和列方向特征表示包括以行和列布置的特征值,机器可执行指令在由设备执行时使设备:对于全局特征表示的每一列,将该列中的特征值进列平均,以获得列平均特征值;以及将列平均特征值扩展到列方向特征表示的对应列中。
在一些实现中,机器可执行指令在由设备执行时使设备:利用第一学习网络,基于特征表示确定多个单元格各自的粗略格式;从至少一个属性的取值和粗略格式提取联合特征表示;以及基于联合特征表示来确定多个单元格各自的格式,以使在数据表的同一行和列的至少一个上的多个单元格具有相同格式。
在一些实现中,机器可执行指令在由设备执行时使设备:利用第二学习网络从至少一个属性的取值和粗略格式提取联合特征表示,第二学习网络基于一组样本数据表来训练获得,一组样本数据表中的单元格被设置相应格式。
在一些实现中,第二学习网络被训练以满足以下至少一个目标:第一目标,第一目标使利用第二学习网络为一组样本数据表中相应行上的相邻单元格确定的第一组预测格式在行方向上具有一致性;以及第二目标,第二目标使利用第二学习网络为一组样本数据表中相应列上的相邻单元格确定的第二组预测格式在列方向上具有一致性。
在一些实现中,第一目标使利用第二学习网络为一组样本数据表中相应行上的相邻单元格确定的第一组预测格式之间的差异低于第一阈值,第一组预测格式是在行方向上具有一致性的第一格式类型。在一些实现中,第二目标使利用第二学习网络为一组样本数据表中相应列上的相邻单元格确定的第二组预测格式之间的差异低于第二阈值,第二组预测格式是在列方向上具有一致性的第二格式类型。
在一些实现中,机器可执行指令在由设备执行时使设备:获取与预定类型的格式相关的控制指示,控制指示定义以下至少一项:预定类型的格式是否存在和预定类型的格式的至少一个参数值;以及还基于控制指示来确定多个单元格各自的格式。
在一些实现中,针对多个单元格中的给定单元格,至少一个属性包括以下至少一项:给定单元格中填充的数据,给定单元格中填充的数据的长度,给定单元格中填充的数据的类型,给定单元格中填充的不同类型的数据的比例,用于产生给定单元格中填充的数据的公式,以及给定单元格的合并状态,合并状态指示给定单元格是否与另一单元格合并以呈现数据或者与另一单元格的合并方式。
在一些实现中,第一学习网络基于一组样本数据表来训练获得,一组样本数据表中的单元格被设置相应格式。在一些实现中,第一学习网络包括条件生成式对抗网络(cGAN)的生成器部分。
在又一方面,本公开提供了一种计算机可读介质,其上存储有机器可执行指令,机器可执行指令在由设备执行时使设备执行上述方面的方法。
本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)等等。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
此外,虽然采用特定次序描绘了各操作,但是这应当理解为要求这样操作以所示出的特定次序或以顺序次序执行,或者要求所有图示的操作应被执行以取得期望的结果。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本公开的范围的限制。在单独的实现的上下文中描述的某些特征还可以组合地实现在单个实现中。相反地,在单个实现的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实现中。
尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。
Claims (20)
1.一种计算机实现的方法,包括:
获取数据表的多个单元格的至少一个属性的取值,所述至少一个属性的所述取值指示所述多个单元格中填充的数据的语义和所述数据表的结构中的至少一项,所述多个单元格以行和列布置在所述数据表中;
利用第一学习网络,提取所述至少一个属性的所述取值的特征表示;以及
至少利用所述第一学习网络,基于所述特征表示来确定所述多个单元格各自的格式。
2.根据权利要求1所述的方法,其中提取所述特征表示包括:
将所述至少一个属性的所述取值映射成对应的向量化表示;
从所述向量化表示提取全局特征表示;以及
基于所述全局特征表示来确定所述特征表示。
3.根据权利要求2所述的方法,其中确定所述特征表示包括:
从所述全局特征表示提取行方向特征表示和列方向特征表示中的至少一个,所述行方向特征表示和所述列方向特征表示分别指示所述数据在所述数据表的行方向和列方向上的分布模式;
将所述全局特征表示和所述行方向特征表示和所述列方向特征表示中所提取的至少一个进行级联,以获得混合特征表示;以及
基于所述混合特征表示来确定所述特征表示。
4.根据权利要求3所述的方法,其中所述全局特征表示和所述行方向特征表示包括以行和列布置的特征值,提取所述行方向特征表示包括:对于所述全局特征表示的每一行,
将该行中的特征值进行平均,以获得行平均特征值;以及
将所述行平均特征值扩展到所述行方向特征表示的对应行中。
5.根据权利要求3所述的方法,其中所述全局特征表示和所述列方向特征表示包括以行和列布置的特征值,提取所述列方向特征表示包括:对于所述全局特征表示的每一列,
将该列中的特征值进列平均,以获得列平均特征值;以及
将所述列平均特征值扩展到所述列方向特征表示的对应列中。
6.根据权利要求1所述的方法,其中基于所述特征表示确定所述多个单元格各自的格式包括:
利用所述第一学习网络,基于所述特征表示确定所述多个单元格各自的粗略格式;
从所述至少一个属性的所述取值和所述粗略格式提取联合特征表示;以及
基于所述联合特征表示来确定所述多个单元格各自的格式,以使在所述数据表的同一行和列的至少一个上的多个单元格具有相同格式。
7.根据权利要求6所述的方法,其中提取所述联合特征表示包括:
利用第二学习网络从所述至少一个属性的所述取值和所述粗略格式提取联合特征表示,所述第二学习网络基于一组样本数据表来训练获得,所述一组样本数据表中的单元格被设置相应格式。
8.根据权利要求7所述的方法,其中所述第二学习网络被训练以满足以下至少一个目标:
第一目标,所述第一目标使利用所述第二学习网络为所述一组样本数据表中相应行上的相邻单元格确定的第一组预测格式在行方向上具有一致性;以及
第二目标,所述第二目标使利用所述第二学习网络为所述一组样本数据表中相应列上的相邻单元格确定的第二组预测格式在列方向上具有一致性。
9.根据权利要求1所述的方法,其中确定所述多个单元格各自的格式还包括:
获取与预定类型的格式相关的控制指示,所述控制指示定义以下至少一项:所述预定类型的格式是否存在和所述预定类型的格式的至少一个参数值;以及
还基于所述控制指示来确定所述多个单元格各自的所述格式。
10.根据权利要求1所述的方法,其中针对所述多个单元格中的给定单元格,所述至少一个属性包括以下至少一项:
所述给定单元格中填充的数据,
所述给定单元格中填充的数据的长度,
所述给定单元格中填充的数据的类型,
所述给定单元格中填充的不同类型的数据的比例,
用于产生所述给定单元格中填充的数据的公式,以及
所述给定单元格的合并状态,所述合并状态指示所述给定单元格是否与另一单元格合并以呈现所述数据或者与所述另一单元格的合并方式。
11.根据权利要求1所述的方法,其中所述第一学习网络基于一组样本数据表来训练获得,所述一组样本数据表中的单元格被设置相应格式,并且
其中所述第一学习网络包括条件生成式对抗网络(cGAN)的生成器部分。
12.一种电子设备,包括:
处理单元;以及
存储器,耦合至所述处理单元并且包含存储于其上的指令,所述指令在由所述处理单元执行时使所述设备执行以下动作:
获取数据表的多个单元格的至少一个属性的取值,所述至少一个属性的所述取值指示所述多个单元格中填充的数据的语义和所述数据表的结构中的至少一项,所述多个单元格以行和列布置在所述数据表中;
利用第一学习网络提取所述至少一个属性的所述取值的特征表示;以及
至少利用所述第一学习网络,基于所述特征表示来确定所述多个单元格各自的格式。
13.根据权利要求12所述的设备,其中提取所述特征表示包括:
将所述至少一个属性的所述取值映射成对应的向量化表示;
从所述向量化表示提取全局特征表示;以及
基于所述全局特征表示来确定所述特征表示。
14.根据权利要求13所述的设备,其中确定所述特征表示包括:
从所述全局特征表示提取行方向特征表示和列方向特征表示中的至少一个,所述行方向特征表示和所述列方向特征表示分别指示所述数据在所述数据表的行方向和列方向上的分布模式;以及
将所述全局特征表示和所述行方向特征表示和所述列方向特征表示中所提取的至少一个进行级联,以获得混合特征表示;
基于所述混合特征表示来确定所述特征表示。
15.根据权利要求14所述的设备,其中所述全局特征表示和所述行方向特征表示包括以行和列布置的特征值,提取所述行方向特征表示包括:对于所述全局特征表示的每一行,
将该行中的特征值进行平均,以获得行平均特征值;以及
将所述行平均特征值扩展到所述行方向特征表示的对应行中。
16.根据权利要求14所述的设备,其中所述全局特征表示和所述列方向特征表示包括以行和列布置的特征值,提取所述列方向特征表示包括:对于所述全局特征表示的每一列,
将该列中的特征值进列平均,以获得列平均特征值;以及
将所述列平均特征值扩展到所述列方向特征表示的对应列中。
17.根据权利要求12所述的设备,其中基于所述特征表示确定所述多个单元格各自的格式包括:
利用所述第一学习网络,基于所述特征表示确定所述多个单元格各自的粗略格式;
从所述至少一个属性的所述取值和所述粗略格式提取联合特征表示;以及
基于所述联合特征表示来确定所述多个单元格各自的格式,以使在所述数据表的同一行和列的至少一个上的多个单元格具有相同格式。
18.根据权利要求17所述的设备,其中提取所述联合特征表示包括:
利用第二学习网络从所述至少一个属性的所述取值和所述粗略格式提取联合特征表示,所述第二学习网络基于一组样本数据表来训练获得,所述一组样本数据表中的单元格被设置相应格式。
19.根据权利要求18所述的设备,其中所述第二学习网络被训练以满足以下至少一个目标:
第一目标,所述第一目标使利用所述第二学习网络为所述一组样本数据表中相应行上的相邻单元格确定的第一组预测格式在行方向上具有一致性;以及
第二目标,所述第二目标使利用所述第二学习网络为所述一组样本数据表中相应列上的相邻单元格确定的第二组预测格式在列方向上具有一致性。
20.一种非瞬态计算机存储介质,具有被存储于其上的机器可执行指令,所述机器可执行指令在由设备执行时使所述设备执行根据权利要求1至11中任一项所述的方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811575065.3A CN111428457B (zh) | 2018-12-21 | 2018-12-21 | 数据表的自动格式化 |
US17/291,818 US20220027740A1 (en) | 2018-12-21 | 2019-12-06 | Auto-formatting of a data table |
PCT/US2019/064800 WO2020131409A1 (en) | 2018-12-21 | 2019-12-06 | Auto-formatting of a data table |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811575065.3A CN111428457B (zh) | 2018-12-21 | 2018-12-21 | 数据表的自动格式化 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111428457A CN111428457A (zh) | 2020-07-17 |
CN111428457B true CN111428457B (zh) | 2024-03-22 |
Family
ID=69024694
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811575065.3A Active CN111428457B (zh) | 2018-12-21 | 2018-12-21 | 数据表的自动格式化 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20220027740A1 (zh) |
CN (1) | CN111428457B (zh) |
WO (1) | WO2020131409A1 (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11790245B2 (en) * | 2019-01-22 | 2023-10-17 | International Business Machines Corporation | Cognitive machine learning for semantic network |
US11113518B2 (en) | 2019-06-28 | 2021-09-07 | Eygs Llp | Apparatus and methods for extracting data from lineless tables using Delaunay triangulation and excess edge removal |
US11915465B2 (en) * | 2019-08-21 | 2024-02-27 | Eygs Llp | Apparatus and methods for converting lineless tables into lined tables using generative adversarial networks |
US11625934B2 (en) | 2020-02-04 | 2023-04-11 | Eygs Llp | Machine learning based end-to-end extraction of tables from electronic documents |
US11507831B2 (en) | 2020-02-24 | 2022-11-22 | Stmicroelectronics International N.V. | Pooling unit for deep learning acceleration |
JP7216680B2 (ja) * | 2020-03-17 | 2023-02-01 | 株式会社東芝 | 情報処理装置、情報処理方法、およびプログラム |
CN111913993B (zh) * | 2020-08-12 | 2024-02-23 | 望海康信(北京)科技股份公司 | 表格数据生成方法、装置、电子设备及计算机可读存储介质 |
CN113052262A (zh) * | 2021-04-23 | 2021-06-29 | 深圳壹账通智能科技有限公司 | 表单生成方法、装置、计算机设备及存储介质 |
CN116451668A (zh) * | 2023-06-15 | 2023-07-18 | 平安银行股份有限公司 | 用于数字资负业务的报表生成方法、装置、设备及介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1645972A2 (en) * | 2004-09-27 | 2006-04-12 | Microsoft Corporation | One click conditional formatting method and system for software programs |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130091437A1 (en) * | 2010-09-03 | 2013-04-11 | Lester F. Ludwig | Interactive data visulization utilizing hdtp touchpad hdtp touchscreens, advanced multitouch, or advanced mice |
US10466867B2 (en) * | 2016-04-27 | 2019-11-05 | Coda Project, Inc. | Formulas |
US10311144B2 (en) * | 2017-05-16 | 2019-06-04 | Apple Inc. | Emoji word sense disambiguation |
US10699453B2 (en) * | 2017-08-17 | 2020-06-30 | Adobe Inc. | Digital media environment for style-aware patching in a digital image |
-
2018
- 2018-12-21 CN CN201811575065.3A patent/CN111428457B/zh active Active
-
2019
- 2019-12-06 WO PCT/US2019/064800 patent/WO2020131409A1/en active Application Filing
- 2019-12-06 US US17/291,818 patent/US20220027740A1/en active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1645972A2 (en) * | 2004-09-27 | 2006-04-12 | Microsoft Corporation | One click conditional formatting method and system for software programs |
Also Published As
Publication number | Publication date |
---|---|
WO2020131409A1 (en) | 2020-06-25 |
CN111428457A (zh) | 2020-07-17 |
US20220027740A1 (en) | 2022-01-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111428457B (zh) | 数据表的自动格式化 | |
US10984295B2 (en) | Font recognition using text localization | |
US10699166B2 (en) | Font attributes for font recognition and similarity | |
US10783409B2 (en) | Font replacement based on visual similarity | |
US9824304B2 (en) | Determination of font similarity | |
US20200117961A1 (en) | Two-dimensional document processing | |
Wu et al. | Mobilevisfixer: Tailoring web visualizations for mobile phones leveraging an explainable reinforcement learning framework | |
CN110659527B (zh) | 电子表单中的表格检测 | |
US11763583B2 (en) | Identifying matching fonts utilizing deep learning | |
US9002877B2 (en) | Quick font match | |
CN115917613A (zh) | 文档中文本的语义表示 | |
CN116644729A (zh) | 表格文件处理方法、装置、计算机设备和存储介质 | |
CN113780365A (zh) | 样本生成方法和装置 | |
CN111597336A (zh) | 训练文本的处理方法、装置、电子设备及可读存储介质 | |
US10482173B2 (en) | Quality distributions for automated document | |
CN117291162A (zh) | 样式迁移 | |
CN115729503A (zh) | 界面显示方法、装置、计算机设备及存储介质 | |
CN114021541A (zh) | 演示文稿生成方法、装置、设备及存储介质 | |
US20230316604A1 (en) | Reuse of infographics | |
US11600028B1 (en) | Semantic resizing of line charts | |
CN118678143A (zh) | 可视化大屏生成方法、装置、设备、介质和程序产品 | |
CN116610565A (zh) | 图像检测方法、装置、计算机设备和存储介质 | |
CN115098090A (zh) | 表单生成方法及装置 | |
CN116301854A (zh) | 页面原型的生成方法、装置、计算机设备和存储介质 | |
CN117612181A (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 |