CN113536874A - 表格识别方法、模型训练方法、装置及设备 - Google Patents
表格识别方法、模型训练方法、装置及设备 Download PDFInfo
- Publication number
- CN113536874A CN113536874A CN202011509141.8A CN202011509141A CN113536874A CN 113536874 A CN113536874 A CN 113536874A CN 202011509141 A CN202011509141 A CN 202011509141A CN 113536874 A CN113536874 A CN 113536874A
- Authority
- CN
- China
- Prior art keywords
- text information
- page
- cell
- text
- determining
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/289—Phrasal analysis, e.g. finite state techniques or chunking
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Machine Translation (AREA)
Abstract
本申请公开了一种表格识别方法、模型训练方法、装置及设备。该表格识别方法在对表格进行跨页断行识别时,通过从第一页面中的第一单元格内获取第一文本信息,并在第二页面中确定与第一单元格对应的第二单元格,继而从第二单元格获取第二文本信息,然后对第一文本信息和第二文本信息进行自然语言分析,当分析结果为两者属于上下文语句时,确定表格在第一页面和第二页面间存在跨页断行。该表格识别方法通过判断表格在两个页面的单元格内的文本信息是否属于上下文语句,从而识别表格有无在两个页面间发生截断,基于被截断的单元格原本文本信息所具有的逻辑连贯性,可有效提高表格跨页断行的识别精度。本申请可广泛应用于人工智能技术领域。
Description
技术领域
本申请涉及人工智能技术领域,尤其是一种表格识别方法、模型训练方法、装置及设备。
背景技术
进入信息时代以来,处理信息的手段也愈发多样化。其中,表格是一种可视性强、排版规则的信息处理方式,具有逻辑清晰、便于阅读等优点,且表格化的文本信息容易提取、重点突出,比较适用于大规模的分析和处理。因而表格在各行各业中得到了非常广泛的应用。
但是,由于表格在页面上的排版限制,经常会出现一个完整的表格被截断、分别布局在多个页面上的情况。其中,部分表格中的文本信息会出现跨页断行,即原本属于同一个单元格的文本内容会分散在不同页面的两个单元格中,阅览时很容易遗漏内容,比较影响用户的体验。相关技术中,对于表格的识别,往往只是区分不同页面上布局的是否为同一个表格,采用手段一般是比对对应页面的单元格的布局特征(例如单元格的数量和长宽等),但这种方式并不能有效识别表格出现跨页断行的情形。综上,相关技术中存在的技术问题亟需得到解决。
发明内容
本申请的目的在于至少一定程度上解决相关技术中存在的技术问题之一。
为此,本申请实施例的一个目的在于提供一种表格识别方法,该识别方法通过表格中不同页面的单元格内的文本信息来识别跨页断行的情况,识别的精度较高;
本申请实施例的另一个目的在于提供一种表格识别模型的训练方法,通过该训练方法得到的表格识别模型,可以有效识别出表格在不同页面间是否存在跨页断行的情况。
为了达到上述技术目的,本申请实施例所采取的技术方案包括:
一方面,本申请实施例提供一种表格识别方法,该方法包括以下步骤:
从表格在第一页面中的第一单元格内获取第一文本信息;
根据所述第一单元格的布局特征,从第二页面中的所述表格内确定与所述第一单元格对应的第二单元格;
从所述第二单元格内获取第二文本信息;
对所述第一文本信息和所述第二文本信息进行自然语言分析;
当所述自然语言分析的结果为所述第一文本信息和所述第二文本信息属于上下文语句,确定所述表格在所述第一页面和所述第二页面间存在跨页断行。
另一方面,本申请实施例提供一种表格识别模型的训练方法,该方法包括以下步骤:
获取批量的表格识别训练样本和所述表格识别训练样本对应的第二标签;所述表格识别训练样本中包括第五文本信息和第六文本信息,所述第五文本信息从表格在第三页面中的第三单元格内获取,所述第六文本信息从所述表格在第四页面中与所述第三单元格对应的第四单元格内获取;所述第二标签用于表征所述表格在所述第三页面和所述第四页面间是否存在跨页断行;
将所述表格识别训练样本输入到所述表格识别模型,得到第三预测结果;
根据所述第三预测结果和所述第二标签确定训练的第二损失值;
根据所述第二损失值对所述表格识别模型的权重参数进行更新,得到训练好的所述表格识别模型。
另一方面,本申请实施例提供一种表格显示方法,该方法包括以下步骤:
获取文档数据;所述文档数据中含有表格;
通过前面所述的表格识别方法对所述表格进行识别,确定所述表格存在跨页断行的页面;
在所述页面中显示跨页断行提示信息;或者,合并跨页断行处的单元格,在所述页面中显示合并单元格后的所述表格。
另一方面,本申请实施例提供一种文本抽取方法,该方法包括以下步骤:
获取文档数据;所述文档数据中含有表格;
通过前面所述的表格识别方法对所述表格进行识别,合并跨页断行处的单元格;
抽取合并单元格后的所述表格的文本信息。
另一方面,本申请实施例提供一种表格识别装置,包括:
第一获取模块,用于从表格在第一页面中的第一单元格内获取第一文本信息;
第一处理模块,用于根据所述第一单元格在所述表格中的布局特征,从第二页面中的所述表格内确定与所述第一单元格对应的第二单元格;
第二获取模块,用于从所述第二单元格内获取第二文本信息;
第二处理模块,用于对所述第一文本信息和所述第二文本信息进行自然语言分析;
识别模块,用于当所述自然语言分析的结果为所述第一文本信息和所述第二文本信息属于上下文语句,确定所述表格在所述第一页面和所述第二页面间存在跨页断行。
另一方面,本申请实施例提供了一种计算机设备,包括:
至少一个处理器;
至少一个存储器,用于存储至少一个程序;
当所述至少一个程序被所述至少一个处理器执行时,使得所述至少一个处理器实现前面所述的表格识别方法、表格识别模型的训练方法、表格显示方法或者文本抽取方法。
另一方面,本申请实施例提供了一种计算机可读存储介质,其中存储有处理器可执行的程序,前面所述处理器可执行的程序在由处理器执行时用于实现前面所述的表格识别方法、表格识别模型的训练方法、表格显示方法或者文本抽取方法。
另一方面,本申请实施例还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在前面所述的计算机可读存储介质中;前面所述的计算机设备的处理器可以从前面所述的计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行前面所述的表格识别方法、表格识别模型的训练方法、表格显示方法或者文本抽取方法。
本申请的优点和有益效果将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本申请的实践了解到:
本申请实施例中提供的表格识别方法,在对表格进行跨页断行识别时,通过从第一页面中的第一单元格内获取第一文本信息,并在第二页面中确定与第一单元格对应的第二单元格,继而从第二单元格获取第二文本信息,然后对第一文本信息和第二文本信息进行自然语言分析,当分析结果为两者属于上下文语句时,确定表格在第一页面和第二页面间存在跨页断行;该方法通过判断表格在两个页面的单元格内的文本信息是否属于上下文语句,从而识别表格有无在两个页面间发生截断,基于被截断的单元格原本文本信息所具有的逻辑连贯性,可有效提高表格跨页断行的识别精度。
附图说明
为了更清楚地说明本申请实施例或者现有技术中的技术方案,下面对本申请实施例或者现有技术中的相关技术方案附图作以下介绍,应当理解的是,下面介绍中的附图仅仅为了方便清晰表述本申请的技术方案中的部分实施例,对于本领域的技术人员来说,在无需付出创造性劳动的前提下,还可以根据这些附图获取到其他附图。
图1为相关技术中一种表格在页面中的布局示意图;
图2为相关技术中一种表格在页面中跨页不断行的布局示意图;
图3为相关技术中一种表格在页面中跨页断行的布局示意图;
图4为本申请实施例中提供的一种表格识别方法的流程示意图;
图5为本申请实施例中提供的一种获取第一预测结果的流程示意图;
图6为本申请实施例中提供的另一种获取第一预测结果的流程示意图;
图7为本申请实施例中提供的另一种获取第一预测结果的流程示意图;
图8为本申请实施例中提供的一种表格识别模型训练方法的流程示意图;
图9为本申请实施例中提供的一种表格显示方法的流程示意图;
图10为本申请实施例中提供的一种表格显示方法中跨页断行提示信息的显示示意图;
图11为本申请实施例中提供的一种文本抽取方法的流程示意图;
图12为本申请实施例中提供的一种表格识别装置的结构示意图;
图13为本申请实施例中提供的一种计算机设备的结构示意图。
具体实施方式
下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本申请,而不能理解为对本申请的限制。对于以下实施例中的步骤编号,其仅为了便于阐述说明而设置,对步骤之间的顺序不做任何限定,实施例中的各步骤的执行顺序均可根据本领域技术人员的理解来进行适应性调整。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
对本申请实施例进行说明之前,对本申请实施例中涉及的技术名词和术语进行说明,本申请实施例中涉及的技术名词和术语适用于如下的解释。
光学字符识别技术(Optical Character Recognition,OCR):该技术是指电子设备(例如扫描仪或数码相机)检查图像的字符,通过检测暗、亮的模式确定其形状,然后用字符识别方法将形状翻译成文字的技术。
本申请实施例中提供的表格识别方法、表格显示方法、文本抽取方法主要涉及人工智能技术。人工智能(Artificial Intelligence,AI)技术是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。其中,人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术;人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
具体地,本申请实施例中提供的表格识别方法和表格显示方法可以采用人工智能领域内的计算机视觉技术、机器学习/深度学习技术以及自然语言处理技术对表格和其中的文本信息进行分析处理,以识别表格是否在两个页面间出现了跨页断行;本申请实施例中提供的文本抽取方法也可以采用前述的这些技术对表格和其中的文本信息进行处理,以较为准确地提取出表格中的文本信息。可以理解的是,针对不同的任务,本申请实施例中提供的方法均可以在对应的人工智能系统的应用场景中被执行;并且,这些方法执行的具体时机可以处于人工智能系统运行流程中的任意环节。
在前述的人工智能技术中,和本申请实施例最为相关的技术主要是自然语言处理技术(Natural Language Processing,NLP),该技术是现代计算机科学和人工智能领域的一个重要分支,是一门融合了语言学、数学、计算机科学的科学。这一领域的研究将涉及自然语言,即人们日常使用的语言。但自然语言处理并不是一般地研究自然语言,而在于研制能有效地实现自然语言通信的计算机系统,主要应用包括语法分析、词向量表示、词义相似度确定、短文本相似度确定和情感倾向分析等。本申请实施例中,主要应用了自然语言处理技术中的语法分析、词义相似度确定和文本分类等手段对表格中的文本信息进行处理。
在进一步详细阐述本申请实施例之前,首先对本申请实施例中涉及“表格”的一些相关技术进行解释说明。
信息化是当今时代发展的大趋势,信息产业已经深刻、全面地改变了人们的工作和生活方式,对于信息处理的手段也自然愈发多样化。在这其中,表格式的信息处理手段在文档整理、通讯交流、科学研究以及数据分析等活动中被广泛应用。具体来说,表格指的是一种由边框限定出格子(每个格子为一个单元格),并在格子中填写内容的可视化交流模式。同时表格也是一种组织、整理数据的手段,通过表格整理得到的信息,具备简洁明了、逻辑清晰的特点。表格化的文本信息,不仅方便用户浏览,在进行分析、提取等后续处理时,也有利于提高效率以及处理的准确度。
然而,需要指出的是,由于表格所处的页面大小以及表格在页面中的起始位置等因素的限制,往往存在一个页面无法容纳下完整表格,需要将表格布局或者显示在多个页面上的情况。参照图1,图1中示出的是表格210完整地布局在一个页面110上的情况,其中表格210中的一个单元格2101里面有“今天是个好日子”的文本信息。如果表格210的单元格布局调整(例如增大了某行单元格的高度)、页面110的大小缩减、或者表格210在页面110上的起始位置变动(例如起始位置下移),可能会出现页面110无法完全容纳表格210的情况。此时,表格210将被隔断成多个部分,分别布局在不同的页面中。例如,参照图2和图3,表格210被隔断成了两部分,分别布局在页面110和页面120上,这种情况一般称为表格210在页面110和页面120间存在跨页。综合上述,可以理解的是,在一些情况下,表格可以布局在单独一个页面上;另一些情况下,表格需要布局在两个或者两个以上的页面上。对于存在跨页情况的表格来说,实际跨页的页数并不固定,可以是任意大于或者等于2的整数。
仍以前述的表格210为例,当其需要跨页时,隔断的地方有可能出现在表格210中某两行单元格的分界线处,而单元格本身并没有出现隔断。例如图1中,表格210中的单元格2101所在的一行单元格和单元格2102所在的一行单元格以分界线2103为界,当表格210跨页需要隔断时,单元格2101和单元格2102恰好从分界线2103处隔断,使得跨页后的表格210出现如图2所示的布局:单元格2101所处的一行单元格布局在页面110上,单元格2102所处的一行单元格布局在页面120上,此时,单元格2101中的文本信息仍完全布局在于页面110上,这种情况一般称为表格210在页面110和页面120间存在跨页但不断行。
与之相对地,表格210跨页时需要隔断的地方也有可能出现在表格210中某行单元格处,即对单元格本身作出隔断。例如图1中,当表格210跨页时,恰好从单元格2101所在的一行的单元格进行隔断,使得跨页后的表格210出现如图3所示的布局:单元格2101所在的一行的单元格被隔断,形成了两行新的单元格。其中单元格2101被隔断为单元格2104和单元格2105,其中单元格2104所处的一行新的单元格布局在页面110上,单元格2105所处的一行新的单元格布局在页面120上。此时,单元格2101中的文本信息“今天是个好日子”也可能被隔断,部分划分到单元格2104中,布局于页面110上;另一部分划分到单元格2105中,布局在页面120上。如图3所示出的,单元格2104里面有“今天是个”的文本信息,单元格2105里面有“好日子”的文本信息,这种情况一般称为表格210在页面110和页面120间存在跨页断行。
需要补充说明的是,前述图1、图2和图3只是为方便说明表格跨页、断行等情形而给出的简单示例,并不意味着对表格的实际排版、跨页和断行的情况进行限定,本申请实施例的具体实施环境适用各类排版的表格。
通过前述介绍可以得知,当表格需要跨页布局时,存在有跨页不断行以及跨页断行两种不同的情况,但是单纯从布局上看,跨页断行的表格和跨页不断行的表格前后衔接都是整齐流畅的,并不容易知道到底有没有出现跨页断行。分布在两个页面中不同单元格中的文本信息,可能是独立的,即跨页不断行;也可能是被分开的,即跨页断行。用户在阅览表格时,很容易遗漏跨页断行处的文本信息,产生理解上的歧义;并且,在提取表格中的文本信息时,整理得到文本信息经常会出现信息不全、错乱的问题,给信息的处理分析也带来了不少麻烦。综上,相关技术中存在的技术问题亟需得到解决。
有鉴于此,本申请实施例中提供一种表格识别方法,通过从第一页面中的第一单元格内获取第一文本信息,并在第二页面中确定与第一单元格对应的第二单元格,继而从第二单元格获取第二文本信息,然后对第一文本信息和第二文本信息进行自然语言分析,当分析结果为两者属于上下文语句时,确定表格在第一页面和第二页面间存在跨页断行;该方法基于被截断的单元格原本文本信息所具有的逻辑连贯性来识别表格的跨页断行,可有效提高识别精度,有利于提高后续提取、分析文本信息时的准确性。
参照图4,本申请实施例中提供一种表格识别方法,该表格识别方法可应用于终端中,也可应用于服务器中,还可以应用于终端或服务器中的软件,用于实现一部分的软件功能。在一些实施例中,上述的终端可以是智能手机、平板电脑、笔记本电脑或者台式计算机等;服务器可以配置成独立的物理服务器,也可以配置成多个物理服务器构成的服务器集群或者分布式系统,还可以配置成提供云服务、云数据库、云计算、云函数、云存储、网络服务以及大数据和人工智能平台等服务的云服务器;软件可以是处理、编辑文档的应用程序等,但并不局限于以上形式。图4中示出的是本申请实施例中提供的表格识别方法一个可选的流程示意图,该方法主要包括步骤410至步骤450:
步骤410、从表格在第一页面中的第一单元格内获取第一文本信息;
本申请实施例中,如前述的,表格指的是由边框限定出格子,用以填写内容的一种文本信息处理手段及展示方式。表格中含有多个格子,其中每个格子被记为单元格,各个单元格的形状、大小以及排列关系可以根据需要灵活设定,一般情况下,单元格以行、列的方式进行布局,表格包括表头和表身,表头用于注明对应行或者列的共有属性,表身用于填写文本信息。
表格可以被配置在页面中,在一些实施例中,该页面可以是指现实物品的页面,例如书籍、报刊、纸质文档等材料其中一个纸页的一面;在一些实施例中,该页面也可以是指虚拟的页面,例如浏览器中呈现的一个网页页面,终端应用程序的显示页面,或者显示于终端设备上的数字文档的一个纸页的一面。本申请实施例中,针对布局在多个页面上的表格进行跨页断行的识别,即识别表格在其中任意的两个页面间是否存在跨页断行。需要说明的是,此处两个页面的含义应当示页面自身的实际情况而定,在一些实施例中,两个页面指的可以是现实的或者虚拟的文档材料中两个纸页的页面;在一些实施例中,两个页面指的也可以是终端设备在显示界面中显示的两帧画面。一般来说,由于表格布局的延续性,上述的两个页面在多数情况下是连续的,例如两个页面的纸页页码连续,或者两个页面的画面刷新连续。
本申请实施例中,图4所示出的表格识别方法所针对的表格为存在跨页情况的表格,可选地,在实施本申请实施例中的表格识别方法之前,可以先对表格本身进行一个界定与划分。例如在多个页面中,可能连续布局有多个不同的表格,因此可以先对各个表格实际的跨页页面进行区分,以提高识别的效率。具体地,区分表格的方式可以通过表格的尺寸、表格中各个单元格的尺寸、表格中一行(或者一列)单元格的数量等布局特征来确定,此处的尺寸,一般指的是宽度,对于按列进行延续的表格(即横向延展的表格),则尺寸指长度。
如前述的,对于一个需要进行识别的跨页表格,该表格实际跨页的页面数量可以是任意大于等于2的整数,在这些页面中,可以随机挑选或者按照页面的排列顺序确定出一个页面开始执行本申请实施例中的表格识别方法,将该页面记为第一页面。在一些实施例中,可以以表头所在的页面作为第一页面,识别该页面与下一个页面是否存在跨页断行;在一些实施例中,也可以以表格结束处的页面作为第一页面,识别该页面与上一个页面是否存在跨页断行;在一些实施例中,对于跨页的页面数量超过2个的表格,也可以挑选中间的某个页面(不为表头所在的页面或者表格结束处的页面)作为第一页面,识别该页面与上一个或者下一个页面是否存在跨页断行。
具体地,以跨页的页面数量超过2个的表格,选取中间的某个页面作为第一页面为例:在确定好第一页面以后,可以挑选表格布局时与第一页面相邻的上一个或者下一个页面,记为第二页面,识别第一页面和第二页面间是否存在跨页断行。举例来说,假设一个表格布局在10个连续页面上,各个页面记有页码,页码依次分别为1至10,可以选取其中页码为5的页面作为第一页面,将页码5记为第一页码,确定页码与第一页码相邻的页面为第二页面,例如可以选择页码为4或者页码为6的页面作为第二页面,执行本申请实施例中的表格识别方法。可以理解的是,在执行一次本申请实施例的表格识别方法过程中,能够确定两个页面间是否存在跨页断行。通过针对不同的页面组合,多次执行本申请实施例的表格识别方法,可以确定一个表格在其布局的所有页面中存在跨页断行的位置。
为了方便描述起见,下面结合图3所示出的情形对本申请实施例进行进一步解释说明。
图3所示出的表格210布局在两个页面中,分别为页面110和页面120,可以选取页面110作为第一页面,也可以选取页面120作为第一页面。下面以页面110为第一页面为例,在确定到第一页面为页面110后,可以获取页面110的页码信息,即前述的第一页码。图3所示出的页面110页码是“第15页”,即第一页码为15,而该表格在第15页和第16页有布局,因此可以将与第一页码相邻的页码,即页码为16的页面,也就是页面120确定为第二页面。
在确定好第一页面和第二页面后,从第一页面中的第一单元格获取文本信息,该文本信息记为第一文本信息,本申请实施例中,单元格内的文本信息,应当至少包括文字、字母、数字、符号等含有自然语义的信息的任意组合。具体地,由于本申请实施例中的目标是识别出被跨页断行隔断的单元格,从而确定出发生跨页断行的页面,而被隔断后分成的两个新的单元格,必然布局在页面的边缘处。例如图3中,隔断时形成的单元格2104位于页面110的最下层,即最后一行的单元格中;单元格2105位于页面120的最上层,即最前一行的单元格中。因此,本申请实施例中,为了有效识别发生隔断的单元格,可以选取页面中边缘位置的单元格提取文本信息。例如,以图3为例,可以选取单元格2104所在的一行单元格中任意含有文本信息的单元格作为第一单元格。本申请实施例中,以单元格2104作为第一单元格为例,此时可以从单元格2104获取第一文本信息。具体地,本申请实施例中,获取第一文本信息的方式可以是多种多样的,在一些实施例中,对于已经是按文本格式进行存储的文本信息,可以直接提取得到;在一些实施例中,对于以图像格式进行存储的文本信息,可以采用文字识别技术,例如ORC(Optical Character Recognition,光学字符识别)技术对图像中的文本信息进行识别,得到第一文本信息。
应当理解的是,本申请实施例中,获取第一文本信息时既可以将第一单元格中全部的文本信息作为第一文本信息,也可以获取第一单元格中部分的文本信息作为第一文本信息,例如只选取第一单元格中最前面的一段文本或者最后面的一段文本作为第一文本信息,以减轻识别过程中的需要处理的文本数据量。具体地,当第一页面位于第二页面之前时,可以选取第一单元格中最后面的一段文本作为第一文本信息;当第一页面位于第二页面之后时,可以选取第一单元格中最前面的一段文本作为第一文本信息。应当理解的是,实际运用中,获取得到的第一文本信息的数据格式、信息长短均可以根据需要灵活调整。图3中所示出的实施例中,可以获取第一单元格中全部的文本信息“今天是个”为第一文本信息。
步骤420、根据第一单元格的布局特征,从第二页面中的表格内确定与第一单元格对应的第二单元格;
本申请实施例中,在确定第一单元格后,根据第一单元格的布局特征,从表格在第二页面中的单元格里面确定与第一单元格对应的第二单元格。具体地,此处的“对应”可以理解为:在第一页面和第二页面按照逻辑关系合并的情况下,第二单元格与第一单元格恰好相邻,对于按顺序连续显示的页面来说,第二单元格是第二页面中与第一单元格位置最接近的单元格。第二单元格可能是与第一单元格在逻辑上原本属于同一个单元格,因为跨页断行的关系被分开在与第一单元格不同的页面布局的单元格,例如图3中的单元格2105;第二单元格也可能与第一单元格只是相邻的关系,不属于同一个单元格,因为跨页不断行的关系被分开在与第一单元格不同的页面布局的单元格,例如图2中的单元格2102。本申请实施例中,根据第一单元格的布局特征从第二页面里面确定与之对应的第二单元格,该布局特征可以包括第一单元格在表格中的位置特征,例如第一单元格在表格中的哪一列(或者哪一行),则第二单元格也位于该列(或者该行)。该布局特征也可以包括第一单元格的尺寸特征,该尺寸特征主要指的是宽度,例如第一单元格的宽度为2厘米,则和它对应的第二单元格宽度也应当是2厘米,在一行单元格的宽度均不同的情况下,通过尺寸特征可以确定第一单元格所在的列数,基于列数可以即确定出具体的第二单元格。例如,第一单元格位于第一页面最上面一行的,则第二单元格在第二页面中对应列数的最下面一行;第一单元格位于第一页面最下面一行的,则第二单元格在第二页面中对应列数的最上面一行。图3中,第一单元格位于第一页面的最下面一行,则对应的第二单元格应当位于第二页面的最上面一行,第一单元格为从左数第四列,则可以确定出单元格2105为第一单元格对应的第二单元格。
步骤430、从第二单元格内获取第二文本信息;
本申请实施例中,确定到与第一单元格对应的第二单元格后,从第二单元格获取文本信息,该文本信息记为第二文本信息。具体地,第二文本信息的获取方式与第一文本信息类似,在此不再赘述。而对于第二单元格,同样地,获取第二文本信息时既可以将第二单元格中全部的文本信息作为第二文本信息,也可以获取第二单元格中部分的文本信息作为第二文本信息,例如只选取第二单元格中最前面的一段文本或者最后面的一段文本作为第二文本信息。此处应当具体根据第一页面和第二页面的顺序情况而定,当第一页面位于第二页面之前时,可以选取第二单元格中最前面的一段文本作为第二文本信息;当第一页面位于第二页面之后时,可以选取第二单元格中最后面的一段文本作为第二文本信息。本申请实施例中,对于图3中的单元格2105,可以获取其中全部的文本信息,即“好日子”作为第二文本信息。
步骤440、对第一文本信息和第二文本信息进行自然语言分析;自然语言分析用于判断第一文本信息和第二文本信息是否属于上下文语句;
本申请实施例中,在获取到第一文本信息和第二文本信息后,通过自然语言处理技术对第一文本信息和第二文本信息进行自然语言分析,得到二者是否属于上下文语句的预测结果,记为第一预测结果,根据第一预测结果对表格的跨页断行情况进行识别。由于表格跨页的情况分为跨页断行和跨页不断行两类,当出现跨页断行时,原本属于同一个单元格中的信息被拆分为两段,分布在两个页面的不同单元格中。而被拆分的两段文本信息,在文本的语言逻辑上是相关的,即属于上下文语句,因此可以通过自然语言处理技术对其进行预测。
具体地,通过自然语言处理技术来分析第一文本信息和第二文本信息是否属于上下文语句,可以实现的方式有很多种,下面对其中部分的实现手段进行详细介绍。
参照图5,在一些实施例中,可以选择将第一文本信息和第二文本信息输入到语言模型中,得到语言模型输出的第一文本信息和第二文本信息属于上下文语句的预测概率,将此处的语言模型记为第一语言模型。第一语言模型指的是可以预测出一个文本序列属于自然语言的预测概率的模型,对于本申请实施例来说,第一语言模型可以判断输入的第一文本信息和第二文本信息组成的文本序列属于自然语言的预测概率。此处,自然语言指的是符合人们日常使用规则的语言。
举例来说,对于一个文本序列:“自然,语言,非常,有趣”,语义逻辑上明显属于人们可能会用到的一个语句,一个训练好的第一语言模型会给出对该文本序列属于自然语言较高的预测概率;对于另一个文本序列:“表格,吃,狮子,睡觉”,在语义逻辑上就不太可能属于人们会用到的语句,此时同一个第一语言模型会给出对该文本序列属于自然语言较低的预测概率。本申请实施例中,对于使用的第一语言模型的实际选择不作限定,可以根据实际的需要灵活选取使用,例如统计语言模型或者基于深度学习的语言模型均为可选的实施方式。可以理解的是,本申请实施例中,在通过第一语言模型进行预测时,也可以选择多种第一语言模型对同一组第一文本信息和第二文本信息进行预测,然后通过计算所有第一语言模型输出的预测概率的平均值来作为实际得到的预测概率,通过这种方式确定第一预测结果可以提高识别的准确性。
对于第一语言模型来说,其输出的是第一文本信息和第二文本信息属于上下文语句的预测概率,因此可以根据该预测概率的大小来确定第一预测结果。例如,可以通过设置阈值,将得到的预测概率与阈值作比较的方式来确定第一预测结果,将此处的阈值记为第一阈值,当预测概率高于第一阈值的时候,确定第一预测结果为第一文本信息和第二文本信息属于上下文语句;反之,当预测概率低于第一阈值的时候,确定第一预测结果为第一文本信息和第二文本信息不属于上下文语句。具体地,第一阈值的设置大小可以根据需要灵活调整,例如可以设置为80%,当第一语言模型预测第一文本信息和第二文本信息属于上下文语句的预测概率高于80%时,认为第一预测结果是第一文本信息和第二文本信息属于上下文语句。本申请实施例中,第一文本信息为“今天是个”,第二文本信息为“好日子”,经过文本分词的预处理后得到一个文本序列可以为“今天,是,个,好,日子”,将其输入到第一语言模型中,得到输出的预测概率,假设得到的预测概率为90%,第一语言模型判断“今天是个好日子”属于自然语言的预测概率高达90%,高于设置的第一阈值80%,则可以认为“今天是个”和“好日子”属于上下文语句,即第一预测结果为第一文本信息和第二文本信息属于上下文语句。
下面结合具体的实施例,对通过第一语言模型得到预测概率的原理进行说明。本申请实施例中,选用的第一语言模型可以是统计语言模型,在统计语言模型的概念下,一个自然语言的语句包括一连串按照特定顺序排列的词:例如S为自然语言下的某个语句,S={ω1,ω2,ω3,...,ωn}。{ω1,ω2,ω3,...,ωn}表示一个词序列,其中ω1、ω2、ω3……ωn各表示一个词,n为正整数。以前述的语句“今天是个好日子”为例,其可以拆分为词序列“今天,是,个,好,日子”,这个词序列中共有5个词,因此对于这个语句来说,可以表示为S={ω1,ω2,ω3,ω4,ω5}。对于该语句,通过统计语言模型可以确定其在所有的自然语言语句中出现的可能性,即确定语句S出现的概率。将该概率记为P(S),则概率P(S)可以表示为P(S)=P(ω1,ω2,ω3,ω4,ω5)。根据条件概率的关系,可以知道:
P(S)=P(ω1)*P(ω2|ω1)*P(ω3|ω1,ω2)*P(ω4|ω1,ω2,ω3)*P(ω5|ω1,ω2,ω3,ω4)
式中,P(ω1)表示词ω1出现的概率;P(ω2|ω1)表示在词ω1出现的情况下,ω1后面的一个词是ω2的概率;P(ω3|ω1,ω2)表示在词ω1、词ω2连续出现的情况下,ω2后面的一个词是ω3的概率;类似地,P(ω4|ω1,ω2,ω3)表示在词ω1、词ω2、词ω3连续出现的情况下,ω3后面的一个词是ω4的概率;P(ω5|ω1,ω2,ω3,ω4)表示在词ω1、词ω2、词ω3、词ω4连续出现的情况下,ω4后面的一个词是ω5的概率。
一般来说,随着词序列中词的数量的增加,越靠后的词出现的条件概率越难以计算,而当一个词序列中词的数量较多时,可能该词序列中不是连续关系的两个词之间的相关性比较弱。由此,可以利用马尔可夫假设,假设任一个词出现的概率只同它前面的一个词有关,从而对于前述的语句S,这种情况下可以确定其出现的概率为:
P(S)=P(ω1)*P(ω2|ω1)*P(ω3|ω2)*P(ω4|ω3)*P(ω5|ω4)
式中,P(ω3|ω2)表示在词ω2出现的情况下,ω2后面的一个词是ω3的概率;P(ω4|ω3)表示在词ω3出现的情况下,ω3后面的一个词是ω4的概率;P(ω5|ω4)表示在词ω4出现的情况下,ω4后面的一个词是ω5的概率。
在前述的马尔可夫假设中,假设了任一个词出现的概率只同它前面的一个词有关,这种情况下得到的计算语句S出现概率的统计语言模型被称为二元模型。在实际的应用中,可以假设任一个词出现的概率只同它前面的M个词有关(M为正整数),根据该假定得到的计算语句S出现概率的统计语言模型被称为M+1元模型。可以理解的是,这些假设下得到的统计语言模型,均可以用于计算语句S出现的概率。本申请实施例中,为方便解释,以采用二元模型为例来进行说明。
当通过二元模型来计算语句S出现的概率P(S)时,应当分别确定出P(ω1)、P(ω2|ω1)、P(ω3|ω2)、P(ω4|ω3)、P(ω5|ω4)的结果。根据大数定理,只要统计的数据量足够,则相对频度可以认为等于出现的频率。因此P(S)可以通过以下过程确定:选取语料库,确定词ω1出现的次数,除以语料库的词数大小,得到P(ω1);对于P(ω2|ω1),则确定出词ω1后面紧接出现词ω2的次数,然后除以词ω1出现的次数,得到P(ω2|ω1),同理,可以得到P(ω3|ω2)、P(ω4|ω3)、P(ω5|ω4)的结果,然后将P(ω1)、P(ω2|ω1)、P(ω3|ω2)、P(ω4|ω3)、P(ω5|ω4)相乘即可得到语句S出现的概率P(S)。此处,需要补充说明的是,一个语句出现的概率并不直接等同于一个语句属于自然语句的概率。但可以理解的是,一个语句在语料库中出现的概率越高,则它属于自然语句的可能性就越高,而非自然语句在语料库中出现的概率几乎为0。换句话说,一个语句属于自然语言的预测概率和统计语言模型输出的该语句出现的概率呈正相关。所以,本申请实施例中,可以通过相关的函数将统计语言模型输出的概率P(S)放大、转换为预测概率,此处具体所采用函数可以根据需要灵活设定。
参照图6和图7,在一些实施例中,还可以选择将第一文本信息或者第二文本信息中的其中一者输入到语言模型中,得到该语言模型输出的预测文本信息,将此处的语言模型记为第二语言模型。第二语言模型指的是可以预测出一个文本序列的上下文文本的模型。对于本申请实施例来说,输入第一文本信息或者第二文本信息,其将会给出最有可能的第一文本信息的上下文文本或者第二文本信息的上下文文本。举例来说,对于一个文本序列:“他,学习,非常,刻苦,成绩,很”,当需要预测下文的文本信息时,一个训练好的第二语言模型会给出对该文本序列较大可能出现的下文,例如第二语言模型可能会输出“优秀”作为预测的下文文本信息;对于另一个文本序列:“是,抓,老鼠,的,行家”,当需要预测上文的文本信息时,此时同一个第二语言模型会给出对该文本序列较大可能出现的上文,例如第二语言模型可能会输出“猫”作为预测的上文文本信息。当然,可以理解的是,在其他的一些情形中,第二语言模型也可以同时对一个文本序列的上下文文本信息均给出预测。本申请实施例中对于使用的第二语言模型的实际选择也不作限定,可以任选相关技术中的具有预测上下文文本功能的模型实现。具体地,将第二语言模型应用到本申请实施例中时,可以选择对第一文本信息进行预测,也可以选择对第二文本信息进行预测。当第一文本信息为第二文本信息的上文时,可以通过第二语言模型预测第一文本信息的下文,将预测文本信息与第二文本信息进行匹配,确定第二文本信息和预测文本信息的相似度;也可以通过第二语言模型预测第二文本信息的上文,将预测文本信息与第一文本信息进行匹配,确定第一文本信息和预测文本信息的相似度。当第一文本信息为第二文本信息的下文时,实施的原理与上述类似,在此不再赘述。
当实际上第一文本信息和第二文本信息因跨页断行被隔断,两者属于上下文语句时,例如第二文本信息是第一文本信息的下文,则根据第一文本信息预测下文文本得到的预测文本信息,有较大的可能和第二文本信息存在相似性。因为此时第二文本信息和第一文本信息在自然语言的逻辑上是存在连续性的,而预测文本信息正是第二语言模型根据大量的自然语言逻辑训练后给出的预测结果。所以,本申请实施例中,可以通过确定语言模型给出的预测文本信息和单元格中实际的文本信息之间的相似度,来辅助判断第一文本信息和第二文本信息是否是上下文语句。
具体地,当确定文本信息之间的相似度时,采用的手段可以有多种,以确定第一文本信息和预测文本信息之间的相似度为例:在一些实施例中,可以直接根据第一文本信息和预测文本信息中相同的字符所占的比例来确定相似度,例如第一文本信息和预测文本信息中均有10个字符,其中第一文本信息中有8个字符和预测文本信息相同,则相似度可以确定为80%。当第一文本信息和预测文本信息的字符数不同时,以二者相同的字符占二者中较短的文本信息的比例来确定。在一些实施例中,可以通过分别提取第一文本信息和预测文本信息对应的语义向量,然后通过计算二者提取到的语义向量的欧氏距离来确定相似度,当欧氏距离越大时,相似度越小,反之,当欧氏距离越小时,相似度越大。在一些实施例中,也可以直接采用文本匹配模型对第一文本信息和预测文本信息进行相似匹配,例如可以采用BERT(Bidirectional Encoder Representations from Transformers)模型对二者进行相似度分析。
当确定到预测文本信息与第一文本信息或者第二文本信息之间的相似度后,类似地,也可以通过设置阈值,将得到的相似度与阈值作比较的方式来确定第一预测结果,将此处的阈值记为第二阈值,当相似度高于第二阈值的时候,确定第一预测结果为第一文本信息和第二文本信息属于上下文语句;反之,当相似度低于第二阈值的时候,确定第一预测结果为第一文本信息和第二文本信息不属于上下文语句。具体地,第二阈值的设置大小同样可以根据需要灵活调整,例如可以设置为70%,当第二语言模型输出的预测文本信息与第一文本信息或者第二文本信息之间的相似度高于70%时,认为第一预测结果是第一文本信息和第二文本信息属于上下文语句。本申请实施例中,第一文本信息为“今天是个”,可以将其经过文本分词处理后得到“今天,是,个”的文本序列输入到第二语言模型中,假设第二语言模型输出的预测文本信息为“好日子”,则预测文本信息和第二文本信息的相似度为100%,高于设置的第二阈值70%,可以认为“今天是个”和“好日子”属于上下文语句,即第一预测结果为第一文本信息和第二文本信息属于上下文语句。
下面结合具体的实施例,对通过第二语言模型得到预测文本信息的原理进行说明。在一些实施例中,选用的第二语言模型可以是基于神经网络构建的语言模型,这类模型一般被称为神经网络语言模型。
神经网络语言模型中提出了词向量的概念,即采用连续变量(例如具有一定维度的实数向量)来进行词的分布表示。因此,对于神经网络语言模型来说,输入和输出的数据可以是代表各个词的词向量。一般来说,一个神经网络语言模型包括输入层、隐藏层和输出层,其中,输入层用于将原始输入的词映射为词向量,然后将词向量拼接起来输入到隐藏层进行计算,隐藏层中的权重参数在神经网络语言模型的训练过程中被更新。隐藏层计算后得到的结果在输出层输出,具体输出的可以是一个词典大小的向量。此处,词典包括语料库中所有的词,该向量和词典大小的对应关系为:例如词典中含有100个词语,则该向量中就有100个数值,每个数值对应一个词,该数值表示其对应的词预测为输入文本信息的后文的概率,输出向量中所有的数值之和为1。
仍以前述语句“今天是个好日子”为例,其可以拆分为词序列“今天,是,个,好日子”,假设当前已知该词序列中的前三个词“今天,是,个”,需要预测后文的文本信息,则可以将“今天,是,个”输入到神经网络语言模型中,模型预测输出第四个词在字典上的分布概率,假设字典中包括100个词,其中第15个词是糟糕,第25个词是美好,第36个词是阳光明媚,第49个词是好日子,模型输出的向量中第15个数值为0.1,第25个数值为0.15,第36个数值为0.2,第49个数值为0.55,其余的数值为0。则说明神经网络语言模型预测“今天是个”的后文文本信息时,给出的预测结果是“糟糕”、“美好”、“阳光明媚”或者“好日子”,对应的概率分别为0.1、0.15、0.2和0.55,也可以得知该神经网络语言模型预测的最有可能出现的后文文本信息为“好日子”,即可以认为神经网络语言模型输出的预测文本信息为“好日子”。当然,在一些实施例中,也可以将概率高于一定阈值的词均作为独立的预测文本信息输出。上述神经网络语言模型的在训练过程中,可以根据实际的语料库构建词序列,并根据该词序列后文出现的词的实际分布情况,确定该词序列的输出向量的真实标签,通过反向传播算法完成对该神经网络语言模型的训练。
在一些实施例中,为了得到第一预测结果,还可以将该问题作为分类问题处理。例如,将第一预测结果为第一文本信息和第二文本信息属于上下文语句看作一个类别,将第一预测结果为第一文本信息和第二文本信息不属于上下文语句看作另一个类别,则该问题属于典型的二分类问题。对此,可以训练出一个专门用于预测第一预测结果的分类模型,具体地,本申请实施例中提供的分类模型的训练方法,主要包括步骤710至步骤740:
步骤710、获取批量的文本分类样本和文本分类样本对应的第一标签;文本分类样本中包括第三文本信息和第四文本信息,第一标签用于表征第三文本信息和第四文本信息是否属于上下文语句;
步骤720、将文本分类样本输入到分类模型,得到第二预测结果;
步骤730、根据第二预测结果和第一标签确定训练的第一损失值;
步骤740、根据第一损失值对分类模型的权重参数进行更新,得到训练好的分类模型。
本申请实施例中,在训练用于得到第一预测结果的分类模型时,可以获取批量的文本分类样本,该文本分类样本中包括第三文本信息和第四文本信息,并且获取各个文本分类样本对应的标签,该第一标签用于表征第三文本信息和第四文本信息是否属于上下文语句。具体地,将第一标签表征第三文本信息和第四文本信息属于上下文语句的文本分类样本记为正样本,将第一标签表征第三文本信息和第四文本信息不属于上下文语句的文本分类样本记为负样本。正样本可以通过对现有表格中单元格内的文本信息进行拆分后得到,举例来说,例如一个表格中的多个单元格里面本来各自存有完整、独立的一段自然语言,将该自然语言记为第五文本信息。将每个第五文本信息进行随机隔断,即可拆分得到一组属于上下文语句的第三文本信息和第四文本信息,此时第三文本信息和第四文本信息组成一个正样本。负样本可以通过对现有表格中单元格内的文本信息进行随机组合后得到,仍以前述的第五文本信息为例,随机抽取每两个第五文本信息作为一组,以其中一个第五文本信息作为第三文本信息,另一个第五文本信息作为第四文本信息,此时第三文本信息和第四文本信息组成一个负样本。
将文本分类样本输入到分类模型中,得到各个文本分类样本对应的预测结果,该预测结果具体为:“第三文本信息和第四文本信息属于上下文语句”或者“第三文本信息和第四文本信息不属于上下文语句”。将该预测结果记为第二预测结果,通过各个文本分类样本对应的第二预测结果以及第一标签,确定分类模型训练的损失值,记为第一损失值。第一损失值可以通过任一种常用的损失函数确定,例如较简单的0-1损失函数,当分类模型预测正确时,第一损失值记为0;当分类模型预测错误时,第一损失值记为1。通过约束分类模型预测多个文本分类样本的第一损失值之和最小化,可以对分类模型进行反向传播训练。通过迭代训练更新分类模型的权重参数,直到分类模型的预测精度达到预定的要求或者训练的迭代次数达到指定次数,可以认为分类模型的训练完成。当分类模型训练完成后,可以将第一文本信息和第二文本信息输入到其中,便可以直接得到分类模型输出的预测结果,即第一预测结果。
步骤450、当自然语言分析的结果为第一文本信息和第二文本信息属于上下文语句,确定表格在第一页面和第二页面间存在跨页断行。
本申请实施例中,如前述的,得到第一预测结果后,可以根据第一预测结果对表格的跨页断行情况进行识别。由于表格出现跨页断行时,原本属于同一个单元格中的信息被拆分为两段,分布在两个页面的不同单元格中。而被拆分的两段文本信息,在文本信息自然语言的逻辑上是相关的,换句话说,即属于上下文语句。所以,当确定到第一文本信息和第二文本信息属于上下文语句时,可以认为第一单元格和第二单元格在跨页时被隔断,进而可以确定第一单元格和第二单元格所在的页面之间存在跨页断行,也即表格在第一页面和第二页面间存在跨页断行。
需要补充说明的是,本申请实施例中,在执行前述的表格识别方法时,识别结果既可以根据表格中的一对单元格中的文本信息得到,也可以通过判断表格中多对单元格中的文本信息是否属于上下文语句来确定。举例来说,如图3所示,在识别表格210是否发生跨页断行时,除了前述实施例中采用单元格2104和单元格2105来识别外,也可以分别基于单元格2104所在行的每个单元格,与单元格2105所在行对应的每个单元格组成本申请实施例中前述的第一单元格和第二单元格来执行识别,得到多个识别结果,综合这些识别结果来判定表格210在页面110和页面120间是否存在跨页断行,以提高识别准确性。并且,应当理解的是,在一些情况中,可能即使单元格发生了隔断,原本单元格内的信息仍可以完整地显示在隔断后的新的单元格中。本申请实施例中,可以针对性地挑选出含有文本信息的第一单元格和第二单元格实施上述的表格识别方法。
参照图8,本申请实施例中,还提供一种表格识别模型的训练方法,类似地,该表格识别模型的训练方法可应用于终端中,也可应用于服务器中,还可以应用于终端或服务器中的软件,用于实现一部分的软件功能。图8中示出的是本申请实施例中提供的表格识别模型的训练方法一个可选的流程示意图,该方法主要包括步骤810至步骤840:
步骤810、获取批量的表格识别训练样本和表格识别训练样本对应的第二标签;表格识别训练样本中包括第五文本信息和第六文本信息,第五文本信息从表格在第三页面中的第三单元格内获取,第六文本信息从表格在第四页面中与第三单元格对应的第四单元格内获取;第二标签用于表征表格在第三页面和第四页面间是否存在跨页断行;
步骤820、将表格识别训练样本输入到表格识别模型,得到第三预测结果;
步骤830、根据第三预测结果和第二标签确定训练的第二损失值;
步骤840、根据第二损失值对表格识别模型的权重参数进行更新,得到训练好的表格识别模型。
本申请实施例中,可以将表格识别作为一个整体的机器学习任务,训练出对应的表格识别模型,部署到需要的设备或者服务器上以执行表格识别任务。此处的表格识别任务指的是通过训练好的表格识别模型识别出表格在两个页面间是否存在跨页断行的情况。
具体地,在训练用于识别出表格在两个页面间是否存在跨页断行的模型时,可以获取批量的表格识别训练样本,该表格识别训练样本中包括第五文本信息和第六文本信息,其中,第五文本信息从表格在第三页面中的第三单元格内获取,第六文本信息从表格在第四页面中与第三单元格对应的第四单元格内获取。此处,对于每一个表格识别训练样本,其均有各自对应的表格、第五文本信息、第六文本信息、第三页面和第四页面。第三页面和第四页面中“页面”的含义与前述第一页面、第二页面相同,第三单元格和第四单元格“对应”的含义与前述第一单元格和第二单元格对应的含义相同,在此不再赘述。本申请实施例中的表格识别训练样本,既可以从单个表格中提取得到,也可以从多个表格提取,只需保证各个表格识别训练样本中的第五文本信息和第六文本信息来自同一个表格即可。
本申请实施例中,还获取各个表格识别训练样本对应的标签,记为第二标签,该第二标签用于表征表格识别训练样本对应的表格在第三页面和第四页面间是否存在跨页断行。具体地,可以将第二标签表征表格在第三页面和第四页面间存在跨页断行的表征表格识别训练样本记为正样本,将第二标签表征表格在第三页面和第四页面间不存在跨页断行的表征表格识别训练样本记为负样本。正负样本中的第五文本信息和第六文本信息的获取方法可以参照第三文本信息和第四文本信息的获取方法。
将表格识别训练样本输入到表格识别模型中,得到各个表格识别训练样本对应的预测结果,记为第三预测结果,该第三预测结果具体为:“表格在第三页面和第四页面间存在跨页断行”或者“表格在第三页面和第四页面间不存在跨页断行”。通过各个表格识别训练样本对应的第三预测结果以及第二标签,确定表格识别模型训练的损失值,记为第二损失值。第二损失值同样可以采用0-1损失函数,当表格识别模型预测正确时,第二损失值记为0;当表格识别模型预测错误时,第二损失值记为1。通过约束表格识别模型预测多个表格识别训练样本的第二损失值之和最小化,可以对表格识别训练样本进行反向传播训练,从而得到训练好的表格识别模型。
参照图9,本申请实施例中,还提供一种表格显示方法,类似地,该表格显示方法可应用于终端中,也可应用于服务器中,还可以应用于终端或服务器中的软件,用于实现一部分的软件功能。图9中示出的是本申请实施例中提供的表格显示方法一个可选的流程示意图,该方法主要包括步骤910至步骤920:
步骤910、通过前述的表格识别方法对表格进行识别,确定表格存在跨页断行的页面;
步骤920、在页面中显示跨页断行提示信息;或者,合并跨页断行处的单元格,在页面中显示合并单元格后的表格。
本申请实施例中,可以采用如图4所示出的表格识别方法对表格进行识别,当确定到表格在两个页面间存在跨页断行的情况时,可以选择在页面中显示出跨页断行提示信息。例如,参照图10,图10中显示出了一种显示跨页断行提示信息的实施方式:当确定到表格210在页面110和页面120之间存在跨页断行时,可以在页面110的下方以及页面120的上方显示出“此处跨页断行”的跨页断行提示信息310,以便于用户浏览时注意表格中文本的逻辑连续性,减少出现遗漏内容的情况,提高用户体验。在一些实施例中,也可以选择将表格中出现跨页断行的单元格合并起来显示在一个页面中,例如图3中的表格210,当确定到表格210在页面110和页面120之间存在跨页断行时,可以将单元格2104和单元格2105所在的两行单元格合并为一行单元格,自动调整表格的布局排版,然后将合并后的单元格显示在页面110或者页面120上。并且,可以理解的是,图4所示的表格识别方法实施例中的内容均适用于本表格显示方法实施例中,本表格显示方法实施例在识别表格跨页断行的过程中所具体实现的功能与图4所示的表格识别方法实施例相同,并且达到的有益效果与图4所示的表格识别方法实施例所达到的有益效果也相同。
参照图11,本申请实施例中,还提供一种文本抽取方法,类似地,该文本抽取方法可应用于终端中,也可应用于服务器中,还可以应用于终端或服务器中的软件,用于实现一部分的软件功能。图11中示出的是本申请实施例中提供的文本抽取方法一个可选的流程示意图,该方法主要包括步骤1110至步骤1130:
步骤1110、获取文档数据;文档数据中含有表格;
步骤1120、通过前述的表格识别方法对表格进行识别,合并跨页断行处的单元格;
步骤1130、抽取合并单元格后的表格的文本信息。
本申请实施例中,文本抽取指的是对表格中的文本信息进行提取,该过程一般通过对表格进行单元格的划分识别,然后分别提取各个单元格内的文本信息来实现。其中,对于表格的单元格划分识别,可以基于计算机视觉实现,通过对表格中点、线的识别,确定出线段组成的各个最小的封闭格子为一个单元格。单元格中记录的文本信息可以方便地转换为结构化信息,对于图谱建设、数据库建设、信息分析等具有很好的应用场景。
本申请实施例中,需要进行文本抽取的文档数据可以来自于各类行业,例如在一些实施例中,该文档数据中的表格内可以包括与人事管理、绩效考核相关的信息;在一些实施例中,该文档数据的表格内可以是包括金融、财经报表、账目清单相关的信息;在一些实施例中,该文档数据的表格内可以是包括会议记录、事项统计相关的信息。本申请实施例中,在对这些信息进行抽取时,为了尽可能地提高信息的完整性,可以先采用前述的表格识别方法对表格出现跨页断行的情况进行识别,合并出现跨页断行处的单元格,然后再抽取合并单元格后的表格中的文本信息,从而提高文本抽取的精度,减少文本抽取过程中产生的信息缺失以及错乱。并且,可以理解的是,图4所示的表格识别方法实施例中的内容均适用于本文本抽取方法实施例中,本文本抽取方法实施例在识别表格跨页断行的过程中所具体实现的功能与图4所示的表格识别方法实施例相同,并且达到的有益效果与图4所示的表格识别方法实施例所达到的有益效果也相同。
参照图12,本申请实施例还公开了一种表格识别装置,包括:
第一获取模块1210,用于从表格在第一页面中的第一单元格内获取第一文本信息;
第一处理模块1220,用于根据第一单元格在表格中的布局特征,从第二页面中的表格内确定与第一单元格对应的第二单元格;
第二获取模块1230,用于从第二单元格内获取第二文本信息;
第二处理模块1240,用于将第一文本信息和第二文本信息输入自然语言预测模型,得到第一预测结果;第一预测结果用于表征第一文本信息和第二文本信息是否属于上下文语句;
识别模块1250,用于当第一文本信息和第二文本信息属于上下文语句,确定表格在第一页面和第二页面间存在跨页断行。
可以理解的是,图4所示的表格识别方法实施例中的内容均适用于本表格识别装置实施例中,本表格识别装置实施例所具体实现的功能与图4所示的表格识别方法实施例相同,并且达到的有益效果与图4所示的表格识别方法实施例所达到的有益效果也相同。
参照图13,本申请实施例还公开了一种计算机设备,包括:
至少一个处理器1310;
至少一个存储器1320,用于存储至少一个程序;
当至少一个程序被至少一个处理器1310执行,使得至少一个处理器1310实现如图4所示的表格识别方法实施例、图8所示的表格识别模型的训练方法实施例、图9所示的表格显示方法实施例或者图11所示的文本抽取方法实施例。
可以理解的是,如图4所示的表格识别方法实施例、图8所示的表格识别模型的训练方法实施例、图9所示的表格显示方法实施例或者图11所示的文本抽取方法实施例中的内容均适用于本计算机设备实施例中,本计算机设备实施例所具体实现的功能与如图4所示的表格识别方法实施例、图8所示的表格识别模型的训练方法实施例、图9所示的表格显示方法实施例或者图11所示的文本抽取方法实施例相同,并且达到的有益效果与如图4所示的表格识别方法实施例、图8所示的表格识别模型的训练方法实施例、图9所示的表格显示方法实施例或者图11所示的文本抽取方法实施例所达到的有益效果也相同。
本申请实施例还公开了一种计算机可读存储介质,其中存储有处理器可执行的程序,处理器可执行的程序在由处理器执行时用于实现如图4所示的表格识别方法实施例、图8所示的表格识别模型的训练方法实施例、图9所示的表格显示方法实施例或者图11所示的文本抽取方法实施例。
可以理解的是,图4所示的表格识别方法实施例、图8所示的表格识别模型的训练方法实施例、图9所示的表格显示方法实施例或者图11所示的文本抽取方法实施例中的内容均适用于本计算机可读存储介质实施例中,本计算机可读存储介质实施例所具体实现的功能与图4所示的表格识别方法实施例、图8所示的表格识别模型的训练方法实施例、图9所示的表格显示方法实施例或者图11所示的文本抽取方法实施例相同,并且达到的有益效果与图4所示的表格识别方法实施例、图9所示的表格显示方法实施例或者图11所示的文本抽取方法实施例所达到的有益效果也相同。
本申请实施例还公开了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在上述的计算机可读存储介质中;图13所示的计算机设备的处理器可以从上述的计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行图4所示的表格识别方法实施例、图8所示的表格识别模型的训练方法实施例、图9所示的表格显示方法实施例或者图11所示的文本抽取方法实施例。
可以理解的是,图4所示的表格识别方法实施例、图9所示的表格显示方法实施例或者图11所示的文本抽取方法实施例中的内容均适用于本计算机程序产品或计算机程序实施例中,本计算机程序产品或计算机程序实施例所具体实现的功能与图4所示的表格识别方法实施例、图8所示的表格识别模型的训练方法实施例、图9所示的表格显示方法实施例或者图11所示的文本抽取方法实施例相同,并且达到的有益效果与图4所示的表格识别方法实施例、图8所示的表格识别模型的训练方法实施例、图9所示的表格显示方法实施例或者图11所示的文本抽取方法实施例所达到的有益效果也相同。
在一些可选择的实施例中,在方框图中提到的功能/操作可以不按照操作示图提到的顺序发生。例如,取决于所涉及的功能/操作,连续示出的两个方框实际上可以被大体上同时地执行或方框有时能以相反顺序被执行。此外,在本申请的流程图中所呈现和描述的实施例以示例的方式被提供,目的在于提供对技术更全面的理解。所公开的方法不限于本文所呈现的操作和逻辑流程。可选择的实施例是可预期的,其中各种操作的顺序被改变以及其中被描述为较大操作的一部分的子操作被独立地执行。
此外,虽然在功能性模块的背景下描述了本申请,但应当理解的是,除非另有相反说明,功能和/或特征中的一个或多个可以被集成在单个物理装置和/或软件模块中,或者一个或多个功能和/或特征可以在单独的物理装置或软件模块中被实现。还可以理解的是,有关每个模块的实际实现的详细讨论对于理解本申请是不必要的。更确切地说,考虑到在本文中公开的装置中各种功能模块的属性、功能和内部关系的情况下,在工程师的常规技术内将会了解该模块的实际实现。因此,本领域技术人员运用普通技术就能够在无需过度试验的情况下实现在权利要求书中所阐明的本申请。还可以理解的是,所公开的特定概念仅仅是说明性的,并不意在限制本申请的范围,本申请的范围由所附权利要求书及其等同方案的全部范围来决定。
功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。
计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得程序,然后将其存储在计算机存储器中。
应当理解,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
在本说明书的上述描述中,参考术语“一个实施方式/实施例”、“另一实施方式/实施例”或“某些实施方式/实施例”等的描述意指结合实施方式或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施方式或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施方式或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施方式或示例中以合适的方式结合。
尽管已经示出和描述了本申请的实施方式,本领域的普通技术人员可以理解:在不脱离本申请的原理和宗旨的情况下可以对这些实施方式进行多种变化、修改、替换和变型,本申请的范围由权利要求及其等同物限定。
以上是对本申请的较佳实施进行了具体说明,但本申请并不限于实施例,熟悉本领域的技术人员在不违背本申请精神的前提下可做作出种种的等同变形或替换,这些等同的变形或替换均包含在本申请权利要求所限定的范围内。
Claims (12)
1.一种表格识别方法,其特征在于,包括以下步骤:
从表格在第一页面中的第一单元格内获取第一文本信息;
根据所述第一单元格的布局特征,从第二页面中的所述表格内确定与所述第一单元格对应的第二单元格;
从所述第二单元格内获取第二文本信息;
对所述第一文本信息和所述第二文本信息进行自然语言分析;
当所述自然语言分析的结果为所述第一文本信息和所述第二文本信息属于上下文语句,确定所述表格在所述第一页面和所述第二页面间存在跨页断行。
2.根据权利要求1所述的方法,其特征在于,所述从表格在第一页面中的第一单元格内获取第一文本信息,包括:
从所述表格在所述第一页面内最上层的单元格或者最下层的单元格中确定所述第一单元格;
从确定到的所述第一单元格内获取所述第一文本信息。
3.根据权利要求2所述的方法,其特征在于,所述根据所述第一单元格的布局特征,从第二页面中的所述表格内确定与所述第一单元格对应的第二单元格,包括:
确定所述第一单元格处于所述第一页面内最上层,从所述表格在所述第二页面内最下层的单元格中确定所述第二单元格;
或者,
确定所述第一单元格处于所述第一页面内最下层,从所述表格在所述第二页面内最上层的单元格中确定所述第二单元格。
4.根据权利要求1所述的方法,其特征在于,所述第二页面通过以下步骤确定:
获取所述第一页面的第一页码;
确定页码与所述第一页码相邻的页面为所述第二页面。
5.根据权利要求1或者4中任一项所述的方法,其特征在于,所述根据所述第一单元格的布局特征,从第二页面中的所述表格内确定与所述第一单元格对应的第二单元格,包括:
根据所述第一单元格的位置特征,或者根据所述第一单元格的尺寸特征,从所述第二页面中的所述表格内确定与所述第一单元格对应的所述第二单元格。
6.根据权利要求1所述的方法,其特征在于,所述对所述第一文本信息和所述第二文本信息进行自然语言分析,包括:
将所述第一文本信息和所述第二文本信息输入到第一语言模型中,得到所述第一文本信息和所述第二文本信息属于上下文语句的预测概率;
根据所述预测概率的大小,得到第一预测结果;所述第一预测结果用于表征所述第一文本信息和所述第二文本信息是否属于上下文语句。
7.根据权利要求1所述的方法,其特征在于,所述对所述第一文本信息和所述第二文本信息进行自然语言分析,包括:
将所述第一文本信息输入到第二语言模型中,得到所述第二语言模型输出的预测文本信息,并确定所述预测文本信息和所述第二文本信息的相似度;或者,将所述第二文本信息输入到第二语言模型中,得到所述第二语言模型输出的预测文本信息,并确定所述预测文本信息和所述第一文本信息的相似度;
根据所述相似度的大小,得到第一预测结果;所述第一预测结果用于表征所述第一文本信息和所述第二文本信息是否属于上下文语句。
8.根据权利要求1所述的方法,其特征在于,所述对所述第一文本信息和所述第二文本信息进行自然语言分析,包括:
将所述第一文本信息和所述第二文本信息输入到分类模型中,得到第一预测结果;所述第一预测结果用于表征所述第一文本信息和所述第二文本信息是否属于上下文语句;
其中,所述分类模型通过以下步骤训练得到:
获取批量的文本分类样本和所述文本分类样本对应的第一标签;所述文本分类样本中包括第三文本信息和第四文本信息,所述第一标签用于表征所述第三文本信息和所述第四文本信息是否属于上下文语句;
将所述文本分类样本输入到所述分类模型,得到第二预测结果;
根据所述第二预测结果和所述第一标签确定训练的第一损失值;
根据所述第一损失值对所述分类模型的权重参数进行更新,得到训练好的所述分类模型。
9.一种表格识别模型的训练方法,其特征在于,包括以下步骤:
获取批量的表格识别训练样本和所述表格识别训练样本对应的第二标签;所述表格识别训练样本中包括第五文本信息和第六文本信息,所述第五文本信息从表格在第三页面中的第三单元格内获取,所述第六文本信息从所述表格在第四页面中与所述第三单元格对应的第四单元格内获取;所述第二标签用于表征所述表格在所述第三页面和所述第四页面间是否存在跨页断行;
将所述表格识别训练样本输入到所述表格识别模型,得到第三预测结果;
根据所述第三预测结果和所述第二标签确定训练的第二损失值;
根据所述第二损失值对所述表格识别模型的权重参数进行更新,得到训练好的所述表格识别模型。
10.一种表格识别装置,其特征在于,包括:
第一获取模块,用于从表格在第一页面中的第一单元格内获取第一文本信息;
第一处理模块,用于根据所述第一单元格在所述表格中的布局特征,从第二页面中的所述表格内确定与所述第一单元格对应的第二单元格;
第二获取模块,用于从所述第二单元格内获取第二文本信息;
第二处理模块,用于对所述第一文本信息和所述第二文本信息进行自然语言分析;
识别模块,用于当所述自然语言分析的结果为所述第一文本信息和所述第二文本信息属于上下文语句,确定所述表格在所述第一页面和所述第二页面间存在跨页断行。
11.一种计算机设备,其特征在于,包括:
至少一个处理器;
至少一个存储器,用于存储至少一个程序;
当所述至少一个程序被所述至少一个处理器执行,使得所述至少一个处理器实现如权利要求1-9任一项所述的方法。
12.一种计算机可读存储介质,其中存储有处理器可执行的程序,其特征在于:所述处理器可执行的程序在由所述处理器执行时用于实现如权利要求1-9中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011509141.8A CN113536874A (zh) | 2020-12-18 | 2020-12-18 | 表格识别方法、模型训练方法、装置及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011509141.8A CN113536874A (zh) | 2020-12-18 | 2020-12-18 | 表格识别方法、模型训练方法、装置及设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113536874A true CN113536874A (zh) | 2021-10-22 |
Family
ID=78124224
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011509141.8A Pending CN113536874A (zh) | 2020-12-18 | 2020-12-18 | 表格识别方法、模型训练方法、装置及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113536874A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113989822A (zh) * | 2021-12-24 | 2022-01-28 | 中奥智能工业研究院(南京)有限公司 | 基于计算机视觉和自然语言处理的图片表格内容提取方法 |
CN115116437A (zh) * | 2022-04-07 | 2022-09-27 | 腾讯科技(深圳)有限公司 | 语音识别方法、装置、计算机设备、存储介质及产品 |
-
2020
- 2020-12-18 CN CN202011509141.8A patent/CN113536874A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113989822A (zh) * | 2021-12-24 | 2022-01-28 | 中奥智能工业研究院(南京)有限公司 | 基于计算机视觉和自然语言处理的图片表格内容提取方法 |
CN113989822B (zh) * | 2021-12-24 | 2022-03-08 | 中奥智能工业研究院(南京)有限公司 | 基于计算机视觉和自然语言处理的图片表格内容提取方法 |
CN115116437A (zh) * | 2022-04-07 | 2022-09-27 | 腾讯科技(深圳)有限公司 | 语音识别方法、装置、计算机设备、存储介质及产品 |
CN115116437B (zh) * | 2022-04-07 | 2024-02-09 | 腾讯科技(深圳)有限公司 | 语音识别方法、装置、计算机设备、存储介质及产品 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11403680B2 (en) | Method, apparatus for evaluating review, device and storage medium | |
US20220164635A1 (en) | Deep neural network-based decision network | |
CN112131350B (zh) | 文本标签确定方法、装置、终端及可读存储介质 | |
US20190332666A1 (en) | Machine Learning to Identify Opinions in Documents | |
CN110427614B (zh) | 段落层级的构建方法、装置、电子设备及存储介质 | |
US10831993B2 (en) | Method and apparatus for constructing binary feature dictionary | |
CN110083832B (zh) | 文章转载关系的识别方法、装置、设备及可读存储介质 | |
CN112052356B (zh) | 多媒体分类方法、装置和计算机可读存储介质 | |
CN115062148B (zh) | 一种基于数据库的风险控制方法 | |
CN111339260A (zh) | 一种基于bert和qa思想的细粒度情感分析方法 | |
JP7281905B2 (ja) | 文書評価装置、文書評価方法及びプログラム | |
CN113536874A (zh) | 表格识别方法、模型训练方法、装置及设备 | |
CN112507124B (zh) | 一种基于图模型的篇章级别事件因果关系抽取方法 | |
EP3994589A1 (en) | System, apparatus and method of managing knowledge generated from technical data | |
CN114037007A (zh) | 数据集的构建方法、装置、计算机设备及存储介质 | |
CN114091448A (zh) | 文本对抗样本生成方法、系统、计算机设备和存储介质 | |
Urabe et al. | Find right countenance for your input—Improving automatic emoticon recommendation system with distributed representations | |
Oyama et al. | Visual clarity analysis and improvement support for presentation slides | |
CN112232067A (zh) | 文案生成方法、文案评估模型的训练方法、装置及设备 | |
CN116822634A (zh) | 一种基于布局感知提示的文档视觉语言推理方法 | |
CN115082916A (zh) | 一种场景文本感知的指代表达理解方法、装置及存储介质 | |
CN111611394B (zh) | 一种文本分类方法、装置、电子设备及可读存储介质 | |
CN115130453A (zh) | 互动信息生成方法和装置 | |
CN113268571A (zh) | 一种确定段落中正确答案位置的方法、装置、设备及介质 | |
CN112182235A (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 |