模型训练、表格识别方法、装置、电子设备及存储介质与流程

文档序号:27489986发布日期:2021-11-22 14:09阅读:68来源:国知局
1.本公开涉及计算机
技术领域
:,特别是涉及一种模型训练、表格识别方法、装置、电子设备及存储介质。
背景技术
::2.自然语言处理(naturallanguageprocessing,nlp)是研究人与计算机交互的语言问题的一门学科,它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。一方面它是语言信息处理的一个分支,另一方面它是人工智能(artificialintelligence,ai)的核心课题之一。3.在nlp业务中,通常是通过预训练语言模型对文本数据进行分析,得到文本的特征表示。预训练语言模型在文本分类、相似度计算、序列标注等nlp业务上得到广泛应用。4.在实际应用场景中,表格等半结构化数据亦是重要的信息来源。对于表格数据的分析,是基于表格的问答和事实校验等相关应用的基础技术。但是,现有的预训练语言模型是在大量的文本数据上训练得到,因此对于文本数据有较好的分析效果,而表格数据与文本数据存在结构上的不同,因此,现有的预训练语言模型对表格数据进行分析的效果较差。技术实现要素:5.鉴于上述问题,本公开实施例提出了克服上述问题或者至少部分地解决上述问题的一种模型训练、表格识别方法、装置、电子设备及存储介质。6.根据本公开的实施例的第一方面,提供了一种模型训练方法,包括:7.获取样本表格数据和预设的语言模型;8.在利用所述样本表格数据对所述语言模型进行训练的过程中,针对所述样本表格数据中包含的样本单元格数据,基于与当前样本单元格数据存在对齐关系的样本单元格数据,对当前样本单元格数据执行注意力计算;9.响应于确定训练完成,得到表格语言模型。10.可选地,基于与当前样本单元格数据存在对齐关系的样本单元格数据,对当前样本单元格数据执行注意力计算,包括:确定当前样本单元格数据对应的掩码矩阵;所述掩码矩阵中与当前样本单元格数据存在对齐关系的样本单元格数据对应位置的值为0,与当前样本单元格数据不存在对齐关系的样本单元格数据对应位置的值为负无穷大;基于所述掩码矩阵对当前样本单元格数据执行注意力计算。11.可选地,基于与当前样本单元格数据存在对齐关系的样本单元格数据,对当前样本单元格数据执行注意力计算,包括:提取当前样本单元格数据以及与当前样本单元格数据存在对齐关系的样本单元格数据,将提取的样本单元格数据排列为目标序列;基于所述目标序列对当前样本单元格数据执行注意力计算。12.可选地,基于与当前样本单元格数据存在对齐关系的样本单元格数据,对当前样本单元格数据执行注意力计算,包括:在所述语言模型中的前至少一自注意力层中,基于与当前样本单元格数据存在对齐关系的部分样本单元格数据,对当前样本单元格数据执行注意力计算;所述部分样本单元格数据包括:与当前样本单元格数据描述同一条数据记录的样本单元格数据,以及描述当前样本单元格数据属性名的样本单元格数据;在所述语言模型中的剩余自注意力层中,基于与当前样本单元格数据存在对齐关系的全部样本单元格数据,对当前样本单元格数据执行注意力计算。13.可选地,所述与当前样本单元格数据存在对齐关系的样本单元格数据包括:与当前样本单元格数据位于同行的样本单元格数据和与当前样本单元格数据位于同列的样本单元格数据;所述与当前样本单元格数据描述同一条数据记录的样本单元格数据包括:与当前样本单元格数据位于同行的样本单元格数据,所述描述当前样本单元格数据属性名的样本单元格数据包括:与当前样本单元格数据位于同列第一行的样本单元格数据;或者,所述与当前样本单元格数据描述同一条数据记录的样本单元格数据包括:与当前样本单元格数据位于同列的样本单元格数据,所述描述当前样本单元格数据属性名的样本单元格数据包括:与当前样本单元格数据位于同行第一列的样本单元格数据。14.根据本公开的实施例的第二方面,提供了一种表格识别方法,包括:15.获取待处理表格数据和预先训练的表格语言模型;所述表格语言模型通过如上任一项所述的模型训练方法训练得到;16.将所述待处理表格数据进行预处理后输入所述表格语言模型,得到所述表格语言模型的输出,所述输出为所述待处理表格数据对应的识别结果。17.根据本公开的实施例的第三方面,提供了一种模型训练装置,包括:18.第一获取模块,用于获取样本表格数据和预设的语言模型;19.训练模块,用于在利用所述样本表格数据对所述语言模型进行训练的过程中,针对所述样本表格数据中包含的样本单元格数据,基于与当前样本单元格数据存在对齐关系的样本单元格数据,对当前样本单元格数据执行注意力计算;20.确定模块,用于响应于确定训练完成,得到表格语言模型。21.可选地,所述训练模块包括:矩阵确定单元,用于确定当前样本单元格数据对应的掩码矩阵;所述掩码矩阵中与当前样本单元格数据存在对齐关系的样本单元格数据对应位置的值为0,与当前样本单元格数据不存在对齐关系的样本单元格数据对应位置的值为负无穷大;第一计算单元,用于基于所述掩码矩阵对当前样本单元格数据执行注意力计算。22.可选地,所述训练模块包括:数据提取单元,用于提取当前样本单元格数据以及与当前样本单元格数据存在对齐关系的样本单元格数据,将提取的样本单元格数据排列为目标序列;第二计算单元,用于基于所述目标序列对当前样本单元格数据执行注意力计算。23.可选地,所述训练模块包括:第三计算单元,用于在所述语言模型中的前至少一自注意力层中,基于与当前样本单元格数据存在对齐关系的部分样本单元格数据,对当前样本单元格数据执行注意力计算;所述部分样本单元格数据包括:与当前样本单元格数据描述同一条数据记录的样本单元格数据,以及描述当前样本单元格数据属性名的样本单元格数据;第四计算单元,用于在所述语言模型中的剩余自注意力层中,基于与当前样本单元格数据存在对齐关系的全部样本单元格数据,对当前样本单元格数据执行注意力计算。24.可选地,所述与当前样本单元格数据存在对齐关系的样本单元格数据包括:与当前样本单元格数据位于同行的样本单元格数据和与当前样本单元格数据位于同列的样本单元格数据;所述与当前样本单元格数据描述同一条数据记录的样本单元格数据包括:与当前样本单元格数据位于同行的样本单元格数据,所述描述当前样本单元格数据属性名的样本单元格数据包括:与当前样本单元格数据位于同列第一行的样本单元格数据;或者,所述与当前样本单元格数据描述同一条数据记录的样本单元格数据包括:与当前样本单元格数据位于同列的样本单元格数据,所述描述当前样本单元格数据属性名的样本单元格数据包括:与当前样本单元格数据位于同行第一列的样本单元格数据。25.根据本公开的实施例的第四方面,提供了一种表格识别装置,包括:26.第二获取模块,用于获取待处理表格数据和预先训练的表格语言模型;所述表格语言模型通过如上任一项所述的模型训练方法训练得到;27.识别模块,用于将所述待处理表格数据进行预处理后输入所述表格语言模型,得到所述表格语言模型的输出,所述输出为所述待处理表格数据对应的识别结果。28.根据本公开的实施例的第五方面,提供了一种电子设备,包括:一个或多个处理器;和其上存储有指令的一个或多个计算机可读存储介质;当所述指令由所述一个或多个处理器执行时,使得所述处理器执行如上任一项所述的模型训练方法,或者,执行如上任一项所述的表格识别方法。29.根据本公开的实施例的第六方面,提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序被处理器执行时,使得所述处理器执行如上任一项所述的模型训练方法,或者,执行如上任一项所述的表格识别方法。30.本公开实施例提供了一种模型训练、表格识别方法、装置、电子设备及存储介质。在模型训练过程中,获取样本表格数据和预设的语言模型;在利用所述样本表格数据对所述语言模型进行训练的过程中,针对所述样本表格数据中包含的样本单元格数据,基于与当前样本单元格数据存在对齐关系的样本单元格数据,对当前样本单元格数据执行注意力计算;响应于确定训练完成,得到表格语言模型。由此可知,本公开实施例中,一方面,使用已经训练完成的语言模型,对语言模型内部的注意力计算过程进行改进,因此可以复用已有语言模型的参数,相比于利用大规模表格数据重新训练语言模型来说,利用相对少量的表格数据即可训练得到表格语言模型,计算量大大降低;另一方面,在注意力计算过程中,将表格的结构化信息嵌入到自注意力层,保留了单元格之间的对齐关系,避免了不相关单元格数据对注意力计算的影响,得到的结果更加准确。附图说明31.为了更清楚地说明本公开的实施例的技术方案,下面将对本公开的实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的实施例的一些附图,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。32.图1是本公开实施例的一种模型训练方法的步骤流程图。33.图2是本公开实施例的一种单元格对齐关系的示意图。34.图3是本公开实施例的一种注意力计算过程的示意图。35.图4是本公开实施例的另一种注意力计算过程的示意图。36.图5是本公开实施例的一种表格识别方法的步骤流程图。37.图6是本公开实施例的一种模型训练装置的结构框图。38.图7是本公开实施例的一种表格识别装置的结构框图。具体实施方式39.下面将结合本公开的实施例中的附图,对本公开的实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例只是本公开的一部分实施例,而不是本公开的全部实施例。基于本公开中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。40.通常情况下,可以采用如下两种方式对表格数据进行分析:41.1、将表格数据展开成文本序列,然后利用预训练语言模型对表格数据进行分析。但是,该种方式中,将表格数据展开成文本序列,将丢失表格数据中各个单元格数据之间的对齐信息。42.2、在大规模表格数据上重新进行语言模型的预训练,得到用于分析表格数据的表格语言模型。但是,该种方式的计算量极大,在新的语言和领域上需要重新进行模型训练、成本极高。43.针对上述问题,本公开实施例中提出将已有的语言模型应用于表格数据等半结构化数据的分析。一方面,保留表格数据的结构化信息,另一方面复用已有语言模型参数、避免在表格数据上重新进行语言模型的预训练。44.本公开实施例中对表格数据的处理可以应用于各种nlp业务场景中。可选地,nlp业务场景包括但不限于:命名实体识别、机器翻译、信息校验、自动问答、机器对话,等等。45.参照图1,示出了本公开实施例的一种模型训练方法的步骤流程图。46.如图1所示,模型训练方法可以包括以下步骤:47.步骤101,获取样本表格数据和预设的语言模型。48.在实现中,可以从互联网上获取大量数据,从这些数据中选取样本表格数据。可选地,样本表格数据可以包括但不限于:样本表格描述数据和多个样本单元格数据,等等。其中,样本表格描述数据可以包括但不限于:表格的名称,表格的标识,表格的行数,表格的列数,等等。49.针对不同的nlp业务场景,样本表格数据可以为任意适用形式的表格数据,并且还可以获取样本表格数据对应的其他信息,比如样本标签等。50.可选地,对于命名实体识别、机器翻译等nlp业务场景,在获取样本表格数据后,还可以根据实际的业务场景对样本表格数据进行标注,得到样本表格数据对应的样本标签。比如,对于命名实体识别,可以对样本表格数据进行bio(begin开头,inside中间,outside无效)标注,(begin开头,inside中间,outside无效,end结尾,single单个字符),等等。对于机器翻译,可以对样本表格数据标注实际翻译信息,等等。51.可选地,对于信息校验、自动问答、机器对话等nlp业务场景,在获取样本表格数据后,还可以获取样本表格数据对应的样本查询信息和样本答案信息,并基于样本答案信息对样本表格数据进行标注。其中,样本查询信息可以包括但不限于用户输入的问题,用户输入的待校验描述,等等。相应地,样本答案信息可以包括但不限于:用户输入的问题在样本表格数据中对应的答案,用户输入的待校验描述针对样本表格数据的校验结果,等等。基于样本答案信息对样本表格数据进行标注可以包括但不限于:标注样本答案信息在样本表格数据中的实际位置,标注样本答案信息对应样本表格数据的校验结果,等等。52.比如,样本表格数据可以为景区门票政策表格,如表一所示:[0053][0054]表一[0055]对于基于该样本表格数据自动问答的场景,样本表格数据对应的样本查询信息可以为“淡季门票多少钱”,对应的样本答案信息为“20”;样本表格数据对应的样本查询信息可以为“联票多少钱”、对应的样本答案信息为“淡季50,旺季60”,等等。[0056]预设的语言模型可以指已完成训练的语言模型。可选地,本公开实施例中的语言模型可以为预训练语言模型,预训练语言模型可以包括但不限于:bert(bidirectionalencoderrepresentationsfromtransformer,基于转化器的双向编码器表征)模型,elmo(embeddingsfromlanguagemodels,语言模型嵌入)模型、gpt(generativepre‑trainedtransformer,生成式预训练转化器)模型,等等。[0057]步骤102,在利用所述样本表格数据对所述语言模型进行训练的过程中,针对所述样本表格数据中包含的样本单元格数据,基于与当前样本单元格数据存在对齐关系的样本单元格数据,对当前样本单元格数据执行注意力计算。[0058]本公开实施例中,对上述获取的语言模型内部的注意力计算过程进行改进,利用少量的样本表格数据即可完成对改进后的语言模型的训练。[0059]在训练过程中,由于语言模型通常是针对文本数据进行处理,因此可以先将样本表格数据展开为样本文本序列。可选地,可以对样本表格数据按行扫描(也即水平扫描)或者按列扫描(也即垂直扫描),从而将二维的样本表格数据展开为样本文本序列。[0060]需要说明的是,在样本文本序列中可以包括样本表格描述数据和样本单元格数据,样本表格描述数据可以位于样本单元格数据的前面。如果还获取了样本表格数据对应的样本查询信息,则样本文本序列中还可以包括样本查询信息,样本查询信息可以位于样本表格描述数据的前面,并且在样本查询信息和样本表格描述数据之间添加预设字符(比如[sep]),用于分隔样本查询信息和样本表格描述数据。[0061]在得到样本文本序列后,将该样本文本序列输入上述语言模型。[0062]可选地,语言模型可以包括但不限于:分词层、嵌入层、语义识别层、全连接层、概率计算层、归一化层,等等。[0063]分词层用于对样本文本序列进行标记切分处理,得到样本文本序列中包含的各分词(也可称为token)。可选地,分词层可以选用分词模型等进行分词处理。分词模型可以包括但不限于:hmm(hiddenmarkovmodel,隐马尔可夫)模型,crf(conditionalrandomfield,条件随机场)模型,jieba模型,等等。对于分词的具体过程,本公开实施例在此不再详细论述。[0064]嵌入层用于生成样本文本序列中包含的各分词对应的嵌入向量。可选地,针对任意一个分词,生成该分词对应的嵌入向量的过程可以包括:获取该分词对应的词嵌入向量(tokenembedding)、分割嵌入向量(segmentembedding)和位置嵌入向量(positionembedding);将所述词嵌入向量、分割嵌入向量和位置嵌入向量相加,得到该分词对应的嵌入向量。其中,词嵌入向量表示分词对应的词向量。分割嵌入向量用于区分两个句子。位置嵌入向量表示分词的位置信息。对于获取词嵌入向量、分割嵌入向量和位置嵌入向量的具体过程,本公开实施例在此不再详细论述。[0065]语义识别层用于基于样本文本序列中包含的各分词对应的嵌入向量,生成样本文本序列中包含的各分词对应的语义表示向量。在语义识别层中可以采用transformer(转化器)结构等,比如可以采用transformer‑encoder(转化器‑编码器),transformer‑decoder(转化器‑解码器),等等。在语义识别层中可以包括但不限于:自注意力层,前馈网络,等等。其中,自注意力层可以包括多头注意力(multi‑headself‑attention)等,前馈网络可以包括位置全链接前馈网络(position‑wisefeed‑forwardnetworks)等。本公开实施例中的注意力计算可以在自注意力层执行。[0066]全连接层用于基于样本文本序列中包含的各分词对应的语义表示向量进行卷积计算。[0067]概率计算层用于计算样本文本序列对应的预测概率。可选地,在概率计算层可以采用余弦相似度、点积相似度等方式计算预测概率。[0068]归一化层用于对计算结果进行归一化操作。可选地,在归一化层可以利用softmax函数等进行归一化操作。[0069]通常情况下,表格数据中的每行描述一条数据记录或者每列描述一条数据记录,表头描述了该条数据记录的某条属性名,表头对应的单元格描述了该条数据记录的上述属性名对应的属性值。此外,如果表格数据中的每行描述一条数据记录,则通常会对表格数据中的同列单元格数据进行比较、计数、求和等表格分析操作;如果表格数据中的每列描述一条数据记录,则通常会对表格数据中的同行单元格数据进行比较、计数、求和等表格分析操作。因此,与当前单元格数据位于同行的单元格数据和与当前单元格数据位于同列的单元格数据,对理解和分析当前单元格数据中的内容较为重要。但是,将表格数据展开为文本序列的过程将破坏单元格数据之间的对齐关系,文本序列中存在对齐关系的单元格数据之间的位置可能相距较远,因此单元格数据之间的对齐关系会受到其他不重要内容的干扰。[0070]因此,在训练过程中,在语言模型的自注意力层中,针对样本表格数据中包含的样本单元格数据,基于与当前样本单元格数据存在对齐关系的样本单元格数据,对当前样本单元格数据执行注意力计算。[0071]可选地,与当前样本单元格数据存在对齐关系的样本单元格数据可以包括但不限于:与当前样本单元格数据位于同行的样本单元格数据,以及与当前样本单元格数据位于同列的样本单元格数据。通过掩盖掉在其它样本单元格数据上的权重,每个样本单元格数据在分析时考虑它所在的行和列(可视为两个共享部分文本片段的句子)。也就是说,在编码表述过程中,样本表格数据被隐式地分解为一系列可读的句子,在保留表格结构化信息的同时能够发挥大规模语言模型在文本序列建模上的威力。[0072]在一种可选实施方式中,基于与当前样本单元格数据存在对齐关系的样本单元格数据,对当前样本单元格数据执行注意力计算的过程,可以包括:确定当前样本单元格数据对应的掩码矩阵;所述掩码矩阵中与当前样本单元格数据存在对齐关系的样本单元格数据对应位置的值为0,与当前样本单元格数据不存在对齐关系的样本单元格数据对应位置的值为负无穷大;基于所述掩码矩阵对当前样本单元格数据执行注意力计算。[0073]本公开实施例中提出在自注意力层掩盖掉来自不存在对齐关系的单元格数据的信号,从而恢复表格数据的对齐信息。[0074]以transformer的自注意力层为例,自注意力层的掩码矩阵m∈rl×l定义如下:[0075][0076]其中,l表示文本序列的长度,wi~wj表示在wi编码过程中考虑wj,表示在wi编码过程中不考虑wj。[0077]自注意力层的掩码矩阵如下应用于transformer的自注意力层:[0078]ql,kl,vl=hlwq,hlwk,hlwv[0079][0080]hl+1=alvl[0081]其中,表示权重矩阵,是可训练的参数。hl表示本层自注意力层的输入向量,hl+1表示本层自注意力层的输出向量,dk表示向量的维度。[0082]由此可见,如果那么ai,j将会被重置为0,此时不会影响wi的表示。[0083]在另一种可选实施方式中,基于与当前样本单元格数据存在对齐关系的样本单元格数据,对当前样本单元格数据执行注意力计算的过程,可以包括:提取当前样本单元格数据以及与当前样本单元格数据存在对齐关系的样本单元格数据,将提取的样本单元格数据排列为目标序列;基于所述目标序列对当前样本单元格数据执行注意力计算。[0084]该种方式下,transformer的自注意力层如下计算:[0085]ql,kl,vl=hlwq,hlwk,hlwv[0086][0087]hl+1=alvl[0088]其中,表示权重矩阵,是可训练的参数。hl表示本层自注意力层的输入向量,hl+1表示本层自注意力层的输出向量,dk表示向量的维度。[0089]在预训练语言模型中,transformer的计算复杂度为o(l2)。在表格数据编码中,l=m×n,其中m和n分别为表格的行数和列数,则表格数据编码的计算复杂度为o((m×n)2)。在编码内容较多的表格数据时较为困难。本公开实施例中,在保持相同的计算逻辑时,通过构造目标序列,能够将计算复杂度降低到o((m+n)2),该方案也有助于大规模的表格编码预训练。[0090]可选地,基于与当前样本单元格数据存在对齐关系的样本单元格数据,对当前样本单元格数据执行注意力计算的过程,可以包括:在所述语言模型中的前至少一自注意力层中,基于与当前样本单元格数据存在对齐关系的部分样本单元格数据,对当前样本单元格数据执行注意力计算;在所述语言模型中的剩余自注意力层中,基于与当前样本单元格数据存在对齐关系的全部样本单元格数据,对当前样本单元格数据执行注意力计算。[0091]其中,部分样本单元格数据包括:与当前样本单元格数据描述同一条数据记录的样本单元格数据,以及描述当前样本单元格数据属性名的样本单元格数据。[0092]可选地,所述与当前样本单元格数据描述同一条数据记录的样本单元格数据包括:与当前样本单元格数据位于同行的样本单元格数据,所述描述当前样本单元格数据属性名的样本单元格数据包括:与当前样本单元格数据位于同列第一行的样本单元格数据;或者,所述与当前样本单元格数据描述同一条数据记录的样本单元格数据包括:与当前样本单元格数据位于同列的样本单元格数据,所述描述当前样本单元格数据属性名的样本单元格数据包括:与当前样本单元格数据位于同行第一列的样本单元格数据。[0093]上述实施例中主要介绍的是除样本查询信息和样本表格描述数据之外的样本单元格数据,可以理解的是,在实际对当前样本单元格数据进行计算的过程中,也是要考虑样本查询信息和样本表格描述数据的,因此,样本查询信息和样本表格描述数据也作为与当前样本单元格数据存在对齐关系的单元格数据。[0094]以下举例说明。形式化介绍本公开实施例中sat(structureawaretransformer,结构感知转换器),将表格的结构化信息嵌入到自注意力层的掩码中。[0095]表格数据t包括表格描述数据t以及m×n个单元格ci,j,其中m和n分别为表格数据的行数和列数。为了将表格数据输入到预训练语言模型中,将表格按行或按列进行扫描,展开为文本序列t_f。在表格问答或能够事实校验等任务中,输入问题或待校验的描述记为s,则在进行文本序列表示时用分隔符[sep]分割输入文本s和展开的表格t_f。表格数据的解读同时需要横向和纵向的视图。如果,按水平扫描进行表格展开,将会丢失纵向的对齐信息,反之亦然。例如,c0,2对理解c1,2的内容至关重要,但是在展开的序列中c0,2和c1,2之间的距离较远、会破坏掉这种对齐关系。[0096]图2是本公开实施例的一种单元格对齐关系的示意图。如图2所示,如果表格数据中的每行描述一条数据记录,各单元格数据(如c1,2)及其表头(如c0,2)分别描述了该条数据记录的某条属性值和属性名。此外,通常会对表格数据中同列单元格数据进行比较、计数或求和等表格分析操作。因此,图2中,对于单元格数据c1,2来说,表格数据中的单元格数据c1,0、c1,1、c1,2、c1,3、c0,2、c2,2对理解和分析单元格c1,2中的内容较为重要。因此,单元格数据c1,2的表示可以依赖于图2中的单元格数据c1,0、c1,1、c1,2、c1,3、c0,2、c2,2,将其他单元格数据的注意力权重归零。[0097]图3是本公开实施例的一种注意力计算过程的示意图。图3对应上述利用掩码矩阵进行注意力计算的方式。如图3所示,在对单元格数据c1,2执行注意力计算的过程中,在底层(lowerlayer)自注意力层,单元格数据中每个字的表示考虑以下四个方面的信息:a)来自表格数据同一行的单元格数据,因为他们描述的同一条数据记录;b)描述其属性名的列名c0,2;c)表格描述数据tablecaption;d)输入的查询信息statement。在高层(upperlayer)自注意力层,进一步考虑同一列、不同行之间的单元格数据c2,2。这样,底层专注于捕捉底层词语级信息,高层网络开始支持跨行的简单推理信息。可以理解的是,查询信息和表格描述数据中的字在注意力计算时考虑所有单元格数据的信息。[0098]图4是本公开实施例的另一种注意力计算过程的示意图。图4对应上述提取目标序列进行注意力计算的方式。如图4所示,在对单元格数据c1,2执行注意力计算的过程中,提取c1,0、c1,1、c1,2、c1,3、c0,2、c2,2作为目标序列。在底层自注意力层,单元格数据中每个字的表示考虑以下四个方面的信息:a)来自表格数据同一行的单元格数据,因为他们描述的同一条数据记录;b)描述其属性名的列名c0,2;c)表格描述数据tablecaption;d)输入的查询信息statement(表格描述数据和查询信息在图4中未示出)。在高层自注意力层,进一步考虑同一列、不同行之间的单元格数据c2,2。利用sat中self‑attention计算的稀疏性,尽可能的解耦行之间的计算。在计算c1,2单元格中内容的表示时,考虑本行和相同列的单元格,不再计算与c2,3等非相关单元格的attention值。则对c1,2单元格数据,计算范围变为l=n+m‑1。通过解耦各行之间的计算,可显著提高线上推断的效率。[0099]步骤103,响应于确定训练完成,得到表格语言模型。[0100]在进行注意力计算后,继续进行语言模型后续部分的处理,得到语言模型的输出结果。[0101]在一种可选实施方式中,可以基于样本表格数据对应的输出结果,以及样本表格数据的样本标签,计算训练的损失函数。损失函数是用来估量模型的预测值与真实值的不一致程度。若损失函数很小,表明机器学习模型与数据真实分布很接近,则模型性能良好;若损失函数很大,表明机器学习模型与数据真实分布差别较大,则模型性能不佳。训练模型的主要任务就是使用优化方法来寻找损失函数最小化对应的模型参数。因此,在损失函数达到优化目标(比如损失函数小于一定阈值)的情况下,可以确定训练完成;在损失函数未达到优化目标的情况下,可以确定训练未完成。其中,损失函数可以包括但不限于:交叉熵损失函数(crossentropyloss)、指数损失函数(exponentialloss)、合页损失函数(hingeloss),等等。[0102]响应于确定未训练完成,可以更新语言模型的参数,继续进行训练,直到训练完成。响应于确定训练完成,得到训练完成的表格语言模型。[0103]本公开实施例中,一方面,使用已经训练完成的语言模型,对语言模型内部的注意力计算过程进行改进,因此可以复用已有语言模型的参数,相比于利用大规模表格数据重新训练语言模型来说,利用相对少量的表格数据即可训练得到表格语言模型,计算量大大降低;另一方面,在注意力计算过程中,将表格的结构化信息嵌入到自注意力层,保留了单元格之间的对齐关系,避免了不相关单元格数据对注意力计算的影响,得到的结果更加准确。[0104]参照图5,示出了本公开实施例的一种表格识别方法的步骤流程图。[0105]如图5所示,表格识别方法可以包括以下步骤:[0106]步骤501,获取待处理表格数据和预先训练的表格语言模型。[0107]其中,表格语言模型通过如上任一实施例所述的模型训练方法训练得到。[0108]步骤502,将所述待处理表格数据进行预处理后输入所述表格语言模型,得到所述表格语言模型的输出,所述输出为所述待处理表格数据对应的识别结果。[0109]与上述模型训练过程类似,将待处理表格数据按行扫描或者按列扫描,从而将二维的待处理表格数据展开为待处理文本序列。[0110]需要说明的是,在待处理文本序列中可以包括待处理表格描述数据和待处理单元格数据,待处理表格描述数据可以位于待处理单元格数据的前面。如果还获取了待处理表格数据对应的待处理查询信息,则待处理文本序列中还可以包括待处理查询信息,待处理查询信息可以位于待处理表格描述数据的前面,并且在待处理查询信息和待处理表格描述数据之间添加预设字符(比如[sep]),用于分隔待处理查询信息和待处理表格描述数据。[0111]在表格语言模型内部的注意力计算过程中,针对所述待处理表格数据中包含的待处理单元格数据,基于与当前待处理单元格数据存在对齐关系的待处理单元格数据,对当前待处理单元格数据执行注意力计算。对于在表格语言模型内部对待处理表格数据进行分析计算的具体过程,参照上述中的相关说明即可,本公开实施例在此不再详细论述。[0112]对于命名实体识别、机器翻译等nlp业务场景,待处理表格数据对应的识别结果可以为识别出的命名实体,翻译出的信息等。对于信息校验、自动问答、机器对话等nlp业务场景,待处理表格数据对应的识别结果可以为校验结果,查询信息对应的答案信息等。[0113]利用上述表格语言模型对表格数据进行识别,能够提高表格数据的识别准确性。[0114]参照图6,示出了本公开实施例的一种表格识别装置的结构框图。[0115]如图6所示,模型训练装置可以包括以下模块:[0116]第一获取模块601,用于获取样本表格数据和预设的语言模型;[0117]训练模块602,用于在利用所述样本表格数据对所述语言模型进行训练的过程中,针对所述样本表格数据中包含的样本单元格数据,基于与当前样本单元格数据存在对齐关系的样本单元格数据,对当前样本单元格数据执行注意力计算;[0118]确定模块603,用于响应于确定训练完成,得到表格语言模型。[0119]可选地,所述训练模块602包括:矩阵确定单元,用于确定当前样本单元格数据对应的掩码矩阵;所述掩码矩阵中与当前样本单元格数据存在对齐关系的样本单元格数据对应位置的值为0,与当前样本单元格数据不存在对齐关系的样本单元格数据对应位置的值为负无穷大;第一计算单元,用于基于所述掩码矩阵对当前样本单元格数据执行注意力计算。[0120]可选地,所述训练模块602包括:数据提取单元,用于提取当前样本单元格数据以及与当前样本单元格数据存在对齐关系的样本单元格数据,将提取的样本单元格数据排列为目标序列;第二计算单元,用于基于所述目标序列对当前样本单元格数据执行注意力计算。[0121]可选地,所述训练模块602包括:第三计算单元,用于在所述语言模型中的前至少一自注意力层中,基于与当前样本单元格数据存在对齐关系的部分样本单元格数据,对当前样本单元格数据执行注意力计算;所述部分样本单元格数据包括:与当前样本单元格数据描述同一条数据记录的样本单元格数据,以及描述当前样本单元格数据属性名的样本单元格数据;第四计算单元,用于在所述语言模型中的剩余自注意力层中,基于与当前样本单元格数据存在对齐关系的全部样本单元格数据,对当前样本单元格数据执行注意力计算。[0122]可选地,所述与当前样本单元格数据存在对齐关系的样本单元格数据包括:与当前样本单元格数据位于同行的样本单元格数据和与当前样本单元格数据位于同列的样本单元格数据;所述与当前样本单元格数据描述同一条数据记录的样本单元格数据包括:与当前样本单元格数据位于同行的样本单元格数据,所述描述当前样本单元格数据属性名的样本单元格数据包括:与当前样本单元格数据位于同列第一行的样本单元格数据;或者,所述与当前样本单元格数据描述同一条数据记录的样本单元格数据包括:与当前样本单元格数据位于同列的样本单元格数据,所述描述当前样本单元格数据属性名的样本单元格数据包括:与当前样本单元格数据位于同行第一列的样本单元格数据。[0123]参照图7,示出了本公开实施例的一种表格识别装置的结构框图。[0124]如图7所示,表格识别装置可以包括以下模块:[0125]第二获取模块701,用于获取待处理表格数据和预先训练的表格语言模型;所述表格语言模型通过如上任一实施例所述的模型训练方法训练得到;[0126]识别模块702,用于将所述待处理表格数据进行预处理后输入所述表格语言模型,得到所述表格语言模型的输出,所述输出为所述待处理表格数据对应的识别结果。[0127]本公开实施例中,一方面,使用已经训练完成的语言模型,对语言模型内部的注意力计算过程进行改进,因此可以复用已有语言模型的参数,相比于利用大规模表格数据重新训练语言模型来说,利用相对少量的表格数据即可训练得到表格语言模型,计算量大大降低;另一方面,在注意力计算过程中,将表格的结构化信息嵌入到自注意力层,保留了单元格之间的对齐关系,避免了不相关单元格数据对注意力计算的影响,得到的结果更加准确。[0128]对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。[0129]在本公开的实施例中,还提供了一种电子设备。该电子设备可以包括一个或多个处理器,以及其上存储有指令的一个或多个计算机可读存储介质,指令例如应用程序。当所述指令由所述一个或多个处理器执行时,使得所述处理器执行如上任一实施例的模型训练方法,或者,执行如上任一实施例的表格识别方法。[0130]在本公开的实施例中,还提供了一种非临时性计算机可读存储介质,其上存储有计算机程序,该计算机程序可由电子设备的处理器执行,当所述计算机程序被处理器执行时,使得所述处理器执行如上任一实施例所述的模型训练方法,或者,执行如上任一实施例所述的表格识别方法。[0131]上述提到的处理器可以是通用处理器,可以包括但不限于:中央处理器(centralprocessingunit,简称cpu)、网络处理器(networkprocessor,简称np)、数字信号处理器(digitalsignalprocessing,简称dsp)、专用集成电路(applicationspecificintegratedcircuit,简称asic)、现场可编程门阵列(field-programmablegatearray,简称fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,等等。[0132]上述提到的计算机可读存储介质可以包括但不限于:只读存储器(readonlymemory,简称rom)、随机存取存储器(randomaccessmemory,简称ram)、光盘只读储存器(compactdiscreadonlymemory,简称cd‑rom)、电可擦可编程只读存储器(electronicerasableprogrammablereadonlymemory,简称eeprom)、硬盘、软盘、闪存,等等。[0133]在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本公开的实施例也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本公开的实施例的内容,并且上面对特定语言所做的描述是为了披露本公开的实施例的最佳实施方式。[0134]在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本公开的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。[0135]类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本公开的示例性实施例的描述中,本公开的实施例的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本公开的实施例要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本公开的实施例的单独实施例。[0136]本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的替代特征来代替。[0137]本公开的实施例的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(dsp)来实现根据本公开的实施例的动态图片的生成设备中的一些或者全部部件的一些或者全部功能。本公开的实施例还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序。这样的实现本公开的实施例的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。[0138]应该注意的是上述实施例对本公开的实施例进行说明而不是对本公开的实施例进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本公开的实施例可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。[0139]所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。[0140]以上所述,仅为本公开的实施例的具体实施方式,但本公开的实施例的保护范围并不局限于此,任何熟悉本
技术领域
:的技术人员在本公开的实施例揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本公开的实施例的保护范围之内。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1