APP下载

基于神经网络和多样化特征的表格单元格分类方法*

2022-10-16彭滢齐伟钢

通信技术 2022年9期
关键词:特征向量单元格表格

彭滢,吴 杰,齐伟钢

(卫士通信息产业股份有限公司,四川 成都 610041)

0 引言

表格是一种常用的数据呈现和管理结构。如今,以电子文档、网页、数据库等数字媒介为载体,电子表格在数字化数据处理中无处不在。面对规模庞大的电子表格数据,如何自动化地理解表格内容、挖掘数据价值,成为工业界和学术界共同关注的问题。出于不同的应用目的,表格在设计上具有很强的灵活性,其结构和样式多变、语义内容复杂,这为表格的自动化理解带来了诸多挑战。针对这项难题,近年来表格单元格分类[1-4]、表格结构分类[5-7]、表格问答[8]等领域逐步发展,出现了一批极具启发意义的工作。

表格单元格分类是计算机理解表格的关键一步[3],按照不同的分类粒度,主要有两种分类体系:一种是粗粒度的分类,将单元格分为标题单元格和内容单元格[3];另一种是细粒度的分类,将单元格分为大标题单元格、表头单元格、数据单元格、注释单元格、统计信息单元格等[2,4]。本文研究粗粒度的分类,目的是判断表格中的每个单元格是标题还是内容。其中,标题单元格是指那些用于指明它所属行列的意义的单元格,例如图1 中有色区域标识的“员工登记表”“姓名”“性别”等单元格,内容单元格则是呈现具体数据的单元格。为达到分类目的,本文在表格的结构、样式、语义等多种维度上选取了多样化的特征,并基于U-Net[9]结构的卷积神经网络进行分类。

图1 电子表格单元格分类

1 研究现状

目前,电子表格自动化处理领域的相关工作主要面向以PDF 扫描件为代表的图片形式表格[3,7]、以网页为代表的半结构化表格[5,6,10-12],以及以Excel工作表为代表的电子数据表格[1,2]这3 种数据来源。在进行表格单元格分类之前,对于图片形式表格,往往需要依靠机器视觉方法定位表格、识别表格的布局结构;对于网页形式的表格,通常也需要根据超文本标记语言(Hyper Text Markup Language,HTML)的标识符号或视觉特征进行表格定位。通过这些预处理工作,不同数据源的表格能够被重新组织成相对一致的形式,进而采用相似的数据特征和算法进行表格单元格分类。

从人类认知的角度来看,有多种因素影响人们判断一个单元格是否为标题。以图1 中的表格为例,单元格文本的语义、单元格是否被合并、其字体是否加粗等都会帮助人们决定一个单元格的分类。已有的表格单元格分类方法倾向采用复合的特征进行建模,例如Koci 等人[4]共列出了219 种能够从表格中抽取到的特征,并根据计算信息增益等方法,选择了43 种特征;Ghasemi Gol 等人[2]提取了46种特征,并且对每个单元格还根据其上、下、左、右单元格的特征进行了特征扩充;鲁建明等人[3]仅采用了单元格文本特征和空间位置特征,依靠良好的特征向量化方法和网络结构设计,也达到了较好的分类效果。本文使用6 种特征进行分类,在第3节的内容中,将通过实验展示这些特征的有效性。

在单元格分类算法上,桂海霞[10]、张元鸣等人[13]提出了基于规则的分类方法,Koci 等人[4]实验了随机森林、支持向量机等传统机器学习分类器,认为随机森林分类器表现最佳。近年来更多的研究采用了基于深度学习的方法,比如鲁建明等人[3]基于TextCNN[14]模型将文本特征转为向量,并基于自注意力神经网络构建特征向量的编码器;Ghasemi Gol等人[2]提出一种包含两个独立的长短期记忆人工神经网络(Long Short-Term Memory,LSTM)[15]的分类模型,它们分别以表格的行和列为输入,它们的输出共同决定单元格的类别;Du 等人[1]使用双向门控循环单元(Gated Recurrent Unit,GRU)[16]学习表格的空间特征,并使用图卷积网络(Graph Convolutional Network,GCN)[17]学习单元格之间的关系特征,最后基于两种特征对单元格进行细粒度的分类。

在上述工作中,鲁建明等人[3]、桂海霞[10]、张元鸣等人[13]在中文数据集上验证了所提方法的有效性。桂海霞[10]、张元鸣等人[13]提出的方法需要根据人工经验设置规则,但由于人工经验有限,所以规则往往难以全面覆盖表格灵活多变的特征,因而这类方法具有局限性。鲁建明等人[3]基于深度学习进行分类,数据来源于PDF 扫描件,在采用外部工具进行表格布局结构识别的预处理过程中,表格的样式信息保留不完整,因而该研究并未探究更多样化的特征对单元格分类的影响。总的来说,国内外关于表格单元格分类的研究还比较少,在特征选择和分类网络设计上都还有较大的探究空间。

2 模型设计

如图2 所示,本文提出了一种基于神经网络和多样化特征的表格单元格分类方法。该方法采用与结构、样式、语义相关的6 种特征,基于TextCNN结构的神经网络和全连接层将特征编码为向量形式,然后使用特征拼接和卷积操作来融合多样化的特征向量,最后通过一个U-Net 结构的神经网络学习特征与单元格类别间的关系。

图2 基于神经网络和多样化特征的表格单元格分类方法

2.1 表格特征的说明与表示

本文使用的特征包括:合并单元格、文本长度2 种结构特征;单元格内文本的加粗、居中、高度3 种样式特征;单元格内文本内容的语义特征。对于每个单元格,特征的解释和表示如下文所述。

2.1.1 位置符号约定

本文使用行号row和列号col来确定一个单元格所在的位置loc,则有:

式中:row∈[0,rmax),rmax为表格的最大行数;cow∈[0,cmax),cmax为表格的最大列数。

2.1.2 合并单元格特征

在loc位置上,合并单元格特征mloc通过描述一个单元格与其相邻的单元格是否连通,来说明该单元格是否在一个合并单元格内以及与哪些单元格连通。mloc的表达式为:

式中:mloc为合并单元格特征的四元组表示;cont,conb,conl,conr分别代表当前单元格与它上方、下方、左侧、右侧的邻居单元格是否连通,连通则取值为1,否则为0,两个单元格互相连通意味着它们同属于一个合并单元格。以图3 所示的表格为例,虚线区域是4 个单元格合并得到的,对于loc=(0,1)的单元格,它与上方、左侧的单元格不连通,与下方、右侧的单元格连通,则有m(0,1)=(0,1,0,1)。

图3 合并单元格

本文将四元组编码转化成一个数字,其表达式为:

2.1.3 文本长度特征

在loc位置上,文本长度特征lloc代表单元格中字的个数,其中,认为1 个中文字、1 个英文字母、1 个标点符号、1 个数字等都是1 个字。以表示单元格文本的原始长度。lmax是一个超参数,表示预设的最大长度,lavg=lmax/2 为高度的均值。将lloc归一化到区间[-1,1],得到:

2.1.4 加粗特征

在loc位置上,加粗特征bloc表示一个单元格内的文本是否全部加粗,其表达式为:

2.1.5 居中特征

在loc位置上,居中特征cloc表明单元格内文本是否水平居中,其表达式为:

2.1.6 高度特征

在loc位置上,高度特征hloc指明单元格内文本的最小高度,在Excel 电子表格中,字号的单位是“磅”,字的高度是字号的20 倍,即11 号字的高度为220 磅。取字的高度为特征,以表示单元格文本的原始高度。hmax是一个超参数,表示预设的最大高度,取havg=hmax/2 为高度的均值,将归一化到区间[-1,1],得到:

2.1.7 文本内容特征

在loc位置上,文本内容特征tloc是单元格中的文本内容,设wi代表1 个字,则有:

2.1.8 表格特征

上述的特征都是对于一个位置上的单元格来说的,而对于整张表格,对于每个位置,将其他6 种特征分别组织为二维矩阵的形式,例如图4 所示的加粗特征矩阵,也就是说,每种特征都隐含了编码的位置信息。

图4 加粗特征矩阵

表格的特征矩阵I∈表示为:

式中:M={mloc}为合并单元格特征矩阵;L={lloc}为文本长度特征矩阵;B={bloc}为加粗特征矩阵;C={cloc}为居中特征矩阵;H={hloc}为高度特征矩阵;T={tloc}为文本内容特征矩阵。

2.2 特征向量化

对于文本内容特征矩阵,本文采用TextCNN 结构的神经网络将其编码为特征向量;对于其他特征矩阵,本文基于全连接层将它们编码为特征向量,然后基于拼接和卷积操作对特征向量进行融合。

2.2.1 文本内容特征向量化

TextCNN 将一段文本转为向量,一般依靠词向量层、卷积层和池化层来完成这种转换。词向量层将文本中的词语转为词向量,卷积层采用一维卷积,使用不同大小的卷积核学习词向量间的关系,然后池化层对卷积层输出的特征进行全局最大池化。

相比于句子分类等传统自然语言处理任务,本文处理的表格数据有两个特点:一是单元格里的文本大多比较短,例如图1 中的“群众”“时间”等单元格,它们通常不构成完整的句子,且上下文少;二是表格中还存在大量证件号码、数据统计信息等数值类的文本,它们的语义比较模糊。鲁建明等人[3]使用词向量与字向量相结合的方法来解决特征词过少的问题。然而,本文认为对于极短的文本和语义模糊的文本,词向量的作用有限,因此直接以字为单位,采用字向量作为TextCNN 卷积层的输入。为更好地适应本文的任务,对TextCNN 网络的宽度、卷积核的个数和大小做了调整。从文本内容矩阵T得到文本内容向量矩阵的形式化表示如下:

式中:tid表示根据预设的字典将T中的字转为它在字典中的序号;emb表示将字的序号转为字向量;Ew为字向量矩阵,Ew∈,dw和nw是两个超参数,dw为字向量的维度,nw表示取每个单元格中的nw个字来计算文本内容特征向量,对长度超过nw的文本进行截断,对于不足nw的,用字典序号0 补齐;V1∈和V2∈为两个特征向量矩阵,dinner为一个超参数,代表中间层的维度;⊕为拼接操作;ET∈为文本特征向量;conv1和conv2为两个一维卷积层,卷积核大小分别为1 和5;max 表示在nw维度进行全局最大池化操作。

值得说明的是,nw与文本长度特征中的lmax含义不同,例如对于某个字长为35 的单元格tloc=[w1,w2,…,w35],若取lmax=50,nw=20,那么根据2.1.3节,有=35,lavg=25,文本长度特征同时,取前20 个字[w1,w2,…,w20]来计算内容特征向量。也就是说,nw在计算文本内容特征向量时起作用,而lmax是为方便文本长度特征归一化而设置的超参数。

2.2.2 其他特征向量化

根据2.1 节可知,除文本内容特征外,其他特征都由[-1,1]区间内的数值表示,本文使用全连接层分别对它们进行向量化。全连接层对输入向量x进行线性变换得到向量y,一般表示为:

式中:W为可学习的权重;b为偏置。在本文的背景下,x可看作某一种特征矩阵,x∈{M,L,B,C,H,T};y是特征向量矩阵,y∈,其中是一个超参数,表示特征向量的输出维度。基于此,使用5 个不同的全连接层,得到:

式中:lineari为全连接层;EM是合并单元格特征向量;EL是文本长度特征向量;EB是加粗特征向量;EC是居中特征向量;EH是高度特征向量。

2.2.3 特征融合

基于拼接和卷积操作对所有的特征向量进行融合,公式化为:

2.3 分类网络结构

在构建分类网络时,本文借鉴了机器视觉中语义分割任务的思想。语义分割任务需要对图片每个像素点进行分类,比如在城市街景图片中将行人、建筑、路面等按像素标识出来。如果将一张表格类比于一张图片,表格中的每个单元格类比于图片的一个像素点,那么表格单元格分类任务与语义分割任务就有了相似性。在语义分割任务中,U-Net 是一种最常用的编码器-解码器结构。编码器部分由多个下采样模块构成,主要包括卷积层和池化层。解码器部分由多个上采样模块构成,主要包括上采样层、卷积层和池化层。编码器和解码器之间的特征拼接,使整个网络呈U 形。

本文构建的网络较原始的U-Net 宽度更小、层数更少,称为U-Net-Mini,其网络结构如图5 所示。

图5 U-Net-Mini 网络结构

图5 中,长方形块代表特征,为展示特征在不同网络层维度的变化。设输入特征的rmax和cmax为40,为32,convs由两个卷积核大小为3 的卷积层构成,conv代表一个卷积核大小为1 的卷积层,pool代表一个步长为2 的全局最大池化层,bilinear代表使用双线性插值的上采样层,copy代表复制。

3 实验与分析

3.1 实验数据与评价指标

由于目前暂没有公开的中文表格单元格分类数据集,本文从互联网收集并构建了一个包含500 张表格的数据集,数据主要来自WPS 中的Excel 模板数据和百度文库中的公开Excel 文档数据。取其中的450 张表格作为训练集,其余作为测试集。

采用正确率(Accuracy)和F1 分数(F1-score)在测试集上评价模型,指标越高模型效果越好。

3.2 实验设置

本文在NVIDA TITAN Xp 上进行实验,设置超参数lmax=50,hmax=720,dw=250,nw=20,=dinner=256,=32,使用Adam[18]优化器,设置初始学习率5e-4,批度大小为4,共训练90 轮,每20 轮学习率下降一次,下降比例为0.8。

3.3 实验结果与分析

表1 和表2 中的实验结果均为5 次运行的平均值。表1 展示了使用不同特征得到的实验结果,第一行是本文提出的模型,它使用6 种向量化的特征,同时隐含地编码了每个单元格的位置信息,其余6个模型分别舍弃一种向量化特征,位置信息不变。总的来说,不论从F1 值还是正确率上看,本模型都得到了更好的得分。进一步分析F1 分数,发现对比模型6 得分最低,说明文本内容特征是所有特征中最重要的一项,也就是说,语义信息对于判断一个单元格是不是标题具有显著作用。同时,未使用加粗特征的对比模型4、未使用文本高度信息的对比模型5 与本文模型差距最小,说明单元格分类对这两种特征相对不敏感。从各个模型的对比上看,本文所用的6 种向量化特征对判断单元格类别的重要性排序为:文本内容特征>居中特征>文本长度特征>合并单元格特征>文本高度特征>文本加粗特征。

表1 特征有效性实验结果

表2 模型设计合理性实验结果

表2 展示了使用不同的特征融合方式和分类网络在单元格分类任务上的精度指标以及参数量指标。第一行是本文的模型,对比模型7不使用卷积层,只采用特征拼接的方式进行特征融合,对比模型8将6 种特征向量相加进行融合,在分类网络上都使用与本文一致的U-Net 结构。这3 个模型大小相似,从F1 分数和正确率得分来看,本文采用的特征融合方式效果最好。在分类网络的结构上,对比模型9 采用一个单层单向的GRU 结构,与本文模型对比,其精度没有优势。对比模型10 采用原始U-Net论文提出的结构,与本文使用的U-Net-Mini 结构相比,在编码器上多两个下采样模块,解码器上多两个上采样模块。在不考虑特征的复制和拼接时,U-Net 特征的通道数最大为1 024,U-Net-Mini 为32,也就是说,在网络深度和宽度上U-Net 都明显高于U-Net-Mini,反映在模型大小上,本文模型参数量约0.7 兆,对比模型9 约是它的26 倍。然而,从模型的表现来看,对比模型9 在F1 值上仅有微弱的优势,在正确率上没有更好的表现。因此,对比这两个模型,可知本文方法在更小的模型上取得了与较大模型相似的分类能力,这在实际应用中意味着占用资源更少、运行速度更快,具备更高的应用价值。

4 结语

本文提出了一种电子表格单元格分类方法,采用线性层对表格样式、结构、语义相关的多种特征进行编码,然后将特征向量拼接,通过卷积操作进行特征融合,最后基于U-Net 结构的神经网络模型学习单元格分类。通过对不同特征在单元格分类中的重要性进行的实验验证,发现语义信息影响最显著。此外,本文对比了不同特征融合方式和分类网络结构下模型的大小和分类效果,证明了本文方法的优越性。

猜你喜欢

特征向量单元格表格
二年制职教本科线性代数课程的几何化教学设计——以特征值和特征向量为例
克罗内克积的特征向量
《现代临床医学》来稿表格要求
合并单元格 公式巧录入
流水账分类统计巧实现
组成语
玩转方格
玩转方格
三个高阶微分方程的解法研究
履历表格这样填