一种数据提取方法、装置、终端设备及存储介质与流程

文档序号:20164699发布日期:2020-03-24 21:22阅读:114来源:国知局
本申请属于数据处理
技术领域
:,特别是涉及一种数据提取方法、装置、终端设备及存储介质。
背景技术
::目前,投资者获取上市公司的相关信息主要来源于该公司发布的三会公告,即董事会公告、监事会公告和股东大会公告。如果想要使用公告中的详细数据,只能通过人工的方式实现,由工作人员逐份阅读公告文本,然后提取出有用的数据来支持相应的研究。当涉及到大量的公告需要处理时,通过人工的方式提取公告中的数据效率极其低下。如果提取的数据是表格中的数据,在由工作人员录入这些表格数据时,也十分容易出现录入错误,降低数据提取的准确率。技术实现要素:有鉴于此,本申请实施例提供了一种数据提取方法、装置、终端设备及存储介质,以解决现有技术中只能通过人工的方式提取公告中的数据,提取效率及准确率都较低的问题。本申请实施例的第一方面提供了一种数据提取方法,包括:获取待处理文档,对所述待处理文档进行预处理,生成目标数据集;采用预先生成的文档匹配信息对所述目标数据集进行正则匹配,提取所述目标数据集中的文本数据;截取所述待处理文档中的表格;采用所述文档匹配信息对所述表格中的文本内容进行正则匹配,提取所述待处理文档中的表格数据;存储所述文本数据和所述表格数据。本申请实施例的第二方面提供了一种数据提取装置,包括:目标数据集生成模块,用于获取待处理文档,对所述待处理文档进行预处理,生成目标数据集;文本数据提取模块,用于采用预先生成的文档匹配信息对所述目标数据集进行正则匹配,提取所述目标数据集中的文本数据;表格截取模块,用于截取所述待处理文档中的表格;表格数据提取模块,用于采用所述文档匹配信息对所述表格中的文本内容进行正则匹配,提取所述待处理文档中的表格数据;数据存储模块,用于存储所述文本数据和所述表格数据。本申请实施例的第三方面提供了一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述第一方面所述数据提取方法的步骤。本申请实施例的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面所述数据提取方法的步骤。与现有技术相比,本申请实施例包括以下优点:本申请实施例,在获取到待处理文档后,通过对待处理文档进行预处理生成目标数据集,从而可以采用预先生成的文档匹配信息对目标数据集进行正则匹配,提取出相应的文本数据;而对于待处理文档中的表格,则可以预先从原文档中将各个表格截取出来,再采用文档匹配信息对表格中的文本内容进行正则匹配,提取出相应的表格数据。本实施例针对文本数据和表格数据分别进行处理,解决了按照相同方式对文本数据和表格数据进行提取时容易出现提取错误的问题,提高了数据提取的准确率。附图说明为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍。显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是本申请一个实施例的一种数据提取方法的步骤流程示意图;图2是本申请一个实施例的另一种数据提取方法的步骤流程示意图;图3是本申请一个实施例的又一种数据提取方法的步骤流程示意图;图4是本申请一个实施例的一种数据提取装置的示意图;图5是本申请一个实施例的一种终端设备的示意图。具体实施方式以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域技术人员应当清楚,在没有这些具体细节的其他实施例中也可以实现本申请。在其他情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。下面通过具体实施例来说明本申请的技术方案。参照图1,示出了本申请一个实施例的一种数据提取方法的步骤流程示意图,具体可以包括如下步骤:s101、获取待处理文档,对所述待处理文档进行预处理,生成目标数据集;需要说明的是,本方法可以适用于终端设备中,如手机、平板电脑、台式电脑等等,本实施例对终端设备的具体类型不作限定。本实施例中的待处理文档可以是任意的需要进行数据提取的文档,如上市公司定期披露的各种公告、政府部门发布的各种经济运行数据、规划等等,本实施例对待处理文档的具体类型亦不作限定。在本实施例中,针对终端设备获取到的任意一份待处理文档,可以首先对其进行预处理,生成目标数据集作为后续数据提取的数据源。预处理的过程可以包括对待处理文档的格式、文本或数据符号等进行识别和转换等,从而便于后续能够针对统一格式的源数据进行识别和提取。s102、采用预先生成的文档匹配信息对所述目标数据集进行正则匹配,提取所述目标数据集中的文本数据;在本实施例中,对于经过预处理的目标数据集,可以采用预先生成的文档匹配信息对其进行正则匹配,从而提取出其中的文本数据。上述预先生成的文档匹配信息可以看作是一种数据提取时所应当遵循的规则或规范,可以通过采集大量的样本数据,结合人工信息标注和机器学习等多种方式获得。以待处理的文档为上市公司披露的年度报告为例。可以预先采集多个公司已经发布的季度报告、半年度报告和年度报告等文档,通过人工标注各份报告中的主要信息,然后采用机器学习的方法定义出可以对公告文档中的内容进行匹配和识别的规则。当然,对于不同类型的待处理文档,需要采集、标注和机器学习的文档可以是不同的,从而加快人工标注和机器学习的进度,提高后续匹配识别时的准确度。例如,若需要对政府部门发布的各类规划文本进行正则匹配,可以采集的大量样本数据可以是政府、企业或其他组织发布的规划文档。在进行正则匹配时,可以将目标数据集中的数据与文档匹配信息中的规则或规范进行比对,当命中某一规则或规范时,可以提取出相应的数据作为与该规则或规范的文本数据。s103、截取所述待处理文档中的表格;通常,一份文档除了包含大量的文本数据外,还可能包括多个表格。因此,在本实施例中,除了对文本数据进行提取外,还能够实现对表格数据的提取。需要说明的是,由于经过预处理得到的目标数据集是已经去格式化后的数据,不适于进行表格数据的提取。因此,针对表格数据的提取可以在原有的文档中来完成。在本实施例中,对于包括有多个表格的待处理文档,可以通过文本识别技术识别出各个表格并将其截取出来。s104、采用所述文档匹配信息对所述表格中的文本内容进行正则匹配,提取所述待处理文档中的表格数据;与提取文本数据类似,对于截取出的表格,可以继续采用文档匹配信息对表格中的文本内容进行正则匹配,从而提取出相应的表格数据。s105、存储所述文本数据和所述表格数据。在本申请实施例中,在获取到待处理文档后,通过对待处理文档进行预处理生成目标数据集,从而可以采用预先生成的文档匹配信息对目标数据集进行正则匹配,提取出相应的文本数据;而对于待处理文档中的表格,则可以预先从原文档中将各个表格截取出来,再采用文档匹配信息对表格中的文本内容进行正则匹配,提取出相应的表格数据。本实施例针对文本数据和表格数据分别进行处理,解决了按照相同方式对文本数据和表格数据进行提取时容易出现提取错误的问题,提高了数据提取的准确率。参照图2,示出了本申请一个实施例的另一种数据提取方法的步骤流程示意图,具体可以包括如下步骤:s201、采集多份样本文档,识别各份样本文档中的多种样本信息;需要说明的是,多份样本文档的类型应当是与后续需要提取数据的待处理文档的类型相同。例如,若本方法适用于提取上市公司各类公告中的数据,则样本文档应当是多个公司已经发布的季度报告、半年度报告和年度报告等文档,此类文档在语言格式、文本内容组织形式等方面具有较大的相似性。若本方法适用于提取政府部门发布的经济运行数据,则样本文档应当是过往已经发布的经济运行数据报告等等。在采集到样本文档后,可以通过文本识别的方式识别出各份样本文档中的样本信息。适用于不同场景的样本数据所需要识别的样本信息内容一般是不同的。以样本数据为上市公司公告为例。样本信息可以是公告中出现的主要内容,如会议名称、会议届数或次数、主持人、会议议案等内容。s202、确定任一样本信息在所述样本文档中的位置信息,以及确定所述样本信息与其他样本信息之间的关联关系;根据所述多种样本信息、所述位置信息和所述关联关系,生成文档匹配信息;在识别出样本文档中的样本信息后,可以逐个确定每个样本信息在样本文档中的位置,以及每个样本信息与其他样本信息之间是否存在关联关系等。在本实施例中,样本信息在文档中的位置可以包括当前的样本信息在整份文档中的位置,以及对样本信息进行分词等处理后,各个样本词语在当前句子中所处的位置等等,本实施例对此不作限定。而样本信息之间的关联关系则可以包括各个句子与句子之间的语义关联度及依存关系等,也可以包括句子中各个词语之间的关联。例如,上市公司公告中具体的议案内容与对应的“会议议案”这一标题之间的关系;“第13届临时会议”这一会议名称中各个词语之间的关系。在确定出样本信息的位置以及相互之间的关联关系后,可以生成文档匹配信息。例如,针对大量的上市公司的公告文档,通过识别样本信息出现的位置以及相互之间的关联关系,可以定义出多种适用于正则匹配的规则,包括会议名称、会议届数次数、主持人等正则表达式,后续在进行数据提取时,数据解析的准确性就可以依赖这些规则来处理。如下所示,是针对大量的上市公司的公告文档定义出的正则表达式的几种示例。a.公告名称:([\u4e00-\u9fa5]|○|〇|\d|\(.{2,6}\)|\(.{2,6}\)){1,60}决议(公告|)b.会议届数次数全名:(?!\)|\))(第|).{1,3}届.{1,15}次(临时|)([\u4e00-\u9fa5]{1,4}|)会议c.会议多议案判断:(决议|公告|表决结果|(表决|通过|审议)情况(?!单独|统计)|审议议案|议案具体|具体内容|议题|事项)如下|(以下|下列|如下|下面|下|下述)(各项|)(决(议|)|议(题|案|)|事(项|)|提案|方案|议题)|会议审议并表决通过了|(审(议|核)|表决)情况(?!单独|统计)|进行了(审议|)表决|议案表决结果s203、获取待处理文档,将所述待处理文档转换为纯文本格式的目标文档,所述目标文档包括多个不同类型的换行符;在本实施例中,待处理文档可以是需要进行数据提取的任意类型的文档。为了保证后续数据解析和数据提取过程的准确性,在获取到待处理文档后,可以首先将其转换为纯文本格式的目标文档。通常,转换为纯文本格式的目标文档后,文档中将会出现多种不同的换行符,如“\n”换行符、“\r\n”换行符等。其中,“\n”换行符表示“<换行>”,而“\r\n”换行符则表示“<回车><换行>”。s204、将所述多个不同类型的换行符替换为统一的目标换行符,删除在所述目标文档的各个句子中重复出现的所述目标换行符;根据剩余的所述目标换行符对所述目标文档进行切割,得到目标数据集;在对转换为纯文本格式的目标文档进行处理时,可以首先将多种不同类型的换行符转换为相同类型的目标换行符。例如,可以将文档中全部的换行符转换为“\r\n”换行符。然后,将每个句子中重复出现的换行符进行删除,仅保留一个换行符。再根据保留的换行符对目标文档中的各个文本内容进行切割,得到最终用于进行文本数据提取的目标数据集。s205、采用预先生成的文档匹配信息对所述目标数据集进行正则匹配,提取所述目标数据集中的文本数据;s206、截取所述待处理文档中的表格,采用所述文档匹配信息对所述表格中的文本内容进行正则匹配,提取所述待处理文档中的表格数据;s207、存储所述文本数据和所述表格数据。由于本实施例中s205-s207与前述实施例中步骤s102-s105类似,可以相互参阅,本实施例对此不再赘述。在本实施例中,可以针对数据提取所适用的具体场景,采集大量的该场景下的样本文档,通过对样本文档进行识别、标注和机器学习等处理生成用于后续正则匹配的文档匹配信息,从而可以在进行数据提取时直接采用文档匹配信息中的正则表达式进行匹配,加快了数据提取的速度。参照图3,示出了本申请一个实施例的又一种数据提取方法的步骤流程示意图,具体可以包括如下步骤:s301、获取待处理文档,对所述待处理文档进行预处理,生成目标数据集;需要说明的是,对待处理文档进行预处理可以包括对该文档进行格式转换、语句符号统一等过程,详细处理过程可以参见前述实施例步骤s203-s204的介绍,本实施例对此不再赘述。s302、采用预先生成的文档匹配信息对所述目标数据集进行正则匹配,提取所述目标数据集中的文本数据;在本实施例中,针对目标数据集进行正则匹配的过程可以按将目标数据集中出现的大量的文本数据与文档匹配信息中的各个正则表达式进行比对,当某一文本数据命中某个正则表达时时,便可以将该数据提取出来,作为与该表达式对应的文本数据。以上市公司的公告文档为例,公告中较常出现的内容可能是董事会、监事会、股东大会的会议基本信息等,通过正则表达式的匹配,可以直接将这些信息作为文本数据提取出来。当然,对于某些可能存在多项的目标文本数据,则可以在对多项目标文本数据进行分隔的基础上,逐项进行正则匹配,从而提取出多项目标文本数据。因此,在本实施例中,可以首先检测目标数据集中是否包括多项目标文本数据;若目标数据集中仅包括一项目标文本数据,则可以直接采用预先生成的文档匹配信息对目标数据集进行正则匹配,确定目标文本数据中的多个数据项以及各个数据项分别对应的数据值;若目标数据集中包括多项目标文本数据,则可以首先采用预先生成的文档匹配信息对目标数据集进行正则匹配,分割出多项目标文本数据,然后再依次采用文档匹配信息对各项目标文本数据进行正则匹配,确定各项目标文本数据中的多个数据项以及各个数据项分别对应的数据值。以上市公司的公告文档中的议案内容这一目标文本数据为例。可以首先根据文档匹配信息中用于识别是否包括多项会议议案的正则表达式判断公告文档中是否包括多项议案内容。例如,可以采用“c.会议多议案判断:(决议|公告|表决结果|(表决|通过|审议)情况(?!单独|统计)|审议议案|议案具体|具体内容|议题|事项)如下|(以下|下列|如下|下面|下|下述)(各项|)(决(议|)|议(题|案|)|事(项|)|提案|方案|议题)|会议审议并表决通过了|(审(议|核)|表决)情况(?!单独|统计)|进行了(审议|)表决|议案表决结果”这一表达式进行正则匹配,确认当前的公告文档中是否包括多项会议议案。如果仅仅包括一项会议议案,则可以直接进行正则匹配提取出该议案内容。如果包括多项会议议案,则可以根据上述表达式正则匹配到的数据作为分割线,分隔出多项会议议案,迭代已经生成的目标数据集,获取每行数据作为会议议案。当然,为了避免目标数据集中一句话未结束就出现换行显示的情况,则获取每行数据时可以向下追加1-2行数据进行拼接。然后再依次采用文档匹配信息中的正则表达式去匹配出具体的会议议案,并将匹配出的结果作为每个数据项及其数据值提取出来。作为本实施例的一种示例,对上市公司公告进行文本数据提取后,所提取出的数据项可以包括会议名称、类型、会议性质、年度、届数、次数、召集人、主持人、通知时间、召开时间、召开地点、出席人数、出席/缺席人员、议案名称、表决票数、表决结果、议案摘要等等。s303、截取所述待处理文档中的表格,识别所截取的各个表格在所述待处理文档中的页码;以所述页码为键,各个页码对应页面中包含的表格为值,生成键值对集合;在本实施例中,对于待处理文档中表格数据的提取,可以直接在原文档中截取出各个表格,并识别出各个表格所在页面的页码,然后以页码为键,页码对应页面中的表格为值,生成键值对集合。以待处理文档为pdf格式的文档为例,可以通过pdfdocument(一种针对pdf文档的编辑工具)的load方法加载pdf文档,然后依赖于pdfdocument创建objectextractor对象抓取器,通过extract方法获取文件页迭代器pageinterator,再根据页面迭代器pageinterator,调用next()方法获取每页页码page,并将page存入页码集合pagelist,再根据tabula组件中spreadsheetextractionalgorithm对象的extract方法,传入page可获取每个页面中的表格,以页码做键,表格做值存入tablemap键值对集合。当然,以上仅仅是针对pdf文档处理过程的简单介绍,对于非pdf格式的其他文档,可以采用适于对应类型的其他方式来生成键值对集合,本实施例对此不作限定。s304、根据所述键值对集合,对所述待处理文档中的分页表格进行拼接,并更新所述键值对集合;通常,某些表格由于内容较多可能出现同一个表格被记录在两个或多个页面中的情况。因此,对于这类分页表格,本实施例可以对其在不同页面中的表格部分进行拼接,从而作为一个表格来提取其中的数据。在本实施例中,可以根据键值对集合,确定出每一页面中的第一个表格,然后检测任一页面的第一个表格上方的预设像素区域内是否包含数据。若第一个表格上方的预设像素区域内未包含数据,则可以根据键值对集合,获取在当前页面的上一页面中的最后一个表格,判断上述最后一个表格的底部与最后一个表格所在页面的底部之间是否小于预设距离,如果小于预设距离,则可以认为此时出现了分页表格,可以对当前页面的第一个表格和上一页面的最后一个表格进行拼接。以前述示例中获得的pagelist集合和tablemap键值对集合为例,可以从后向前迭代pagelist,进行分页表格的拼接。在具体实现中,可以获取当前page中第一个表格,并获取表格上方60像素(该像素区域可以根据实际情况进行调整)区域,判断区域内是否为空;然后获取上一页的最后一个表格,判断表格距离页面底部的距离是否小于100像素(估算值),如果小于100像素则可以认为是页面最底部。如果同时满足上述两个条件,即当前页面第一个表格上方60像素区域为空且上一页最后一个表格距离页面底部小于100像素,则可以认为当前页面第一个表格与上一页最后一个表格为分页表格,可以对这两个表格进行拼接。在拼接时,可以根据上一页的页码获取tablemap键值对集合中上一页的最后一个表格,并向其追加当前页中第一个表格的所有行。如果上述两个条件有一个不满足,则可以认为两个表格不属于分页表格,无需对其进行处理。s305、针对所述键值对集合中的任一目标表格,确定所述目标表格的第一区域,所述第一区域为所述目标表格的顶部预设像素内的区域;在完成对分页表格的拼接处理后,便可以逐个地对各个表格进行数据提取。通常,每个表格的第一行为字段行,用于记录每一列中所存储的数据的类型。因此,在本实施例中,可以针对任一表格,首先确定出第一行的文本内容。在具体实现中,可以获取表格上方80像素区域的内容用于识别具体的数据字段,作为数据提取的判断标识。s306、采用所述文档匹配信息对所述第一区域中的文本内容进行正则匹配,确定所述目标表格中的多个数据项;在本实施例中,针对每个表格的上方一定像素区域内的文本,同样可以采用预先生成的文档匹配信息进行正则匹配,确定该表格中记录的数据项有哪些。例如,以表格形式记录的“出席类型”、“出席人数”、“出席占比”等数据项。s307、针对任一目标数据项,确定所述目标数据项在所述目标表格中所处的目标列,读取同时存在于第二区域和所述目标列中的数据作为所述目标数据项对应的目标数据值,所述第二区域和所述第一区域组成所述表格的全部区域;对于识别出的某个数据项,其所在列便是记录该数据项对应数据值的位置。因此,在本实施例中,针对任一数据项,可以确定该数据项所在的列,然后将所有记录于该列中的数据作为数据项对应的数据值。需要说明的是,一列表格中的第一行通常为数据字段的名称(数据项)。因此,在实际操作中,可以将表格划分为两个区域,第一区域用于识别具体的数据项,也就是每个表格第一行的内容,而第二区域则用于识别与各个数据项对应的数据值。因此,在确定出某个数据项和该数据项所在列后,可以读取同时存在与第二区域和目标列中的多个数据值作为与该列第一行所记录的数据项对应的数据值。以前述上市公司公告为例。可以根据通过文本识别获取表格上方区域的文本内容,判断是否包含“议案信息”等相似文本。如果包含“议案信息”这一相似文本,则可以迭代该表格中的所有行,根据第一行的列值获取数据的顺序(议案编号、议案名称、表决票数等),明确后续行中列值对应子集中对象的属性,作为与“议案信息”这一数据项对应的数据值。s308、存储所述文本数据和所述表格数据。在本实施例中,通过在原文档中截取表格,并在对分页表格进行拼接等处理后,逐个提取表格第一行中的数据项名称,然后根据各个数据项,逐列获取与该数据项对应的各个数据值。本实施例通过在原文档中直接截取表格,可以根据表格区域提取其中的文本数据,解决了将表格转换为纯文本格式后再提取数据容易出现提取错误的问题,提高了表格数据提取的准确性。需要说明的是,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。参照图4,示出了本申请一个实施例的一种数据提取装置的示意图,具体可以包括如下模块:目标数据集生成模块401,用于获取待处理文档,对所述待处理文档进行预处理,生成目标数据集;文本数据提取模块402,用于采用预先生成的文档匹配信息对所述目标数据集进行正则匹配,提取所述目标数据集中的文本数据;表格截取模块403,用于截取所述待处理文档中的表格;表格数据提取模块404,用于采用所述文档匹配信息对所述表格中的文本内容进行正则匹配,提取所述待处理文档中的表格数据;数据存储模块405,用于存储所述文本数据和所述表格数据。在本申请实施例中,所述装置还可以包括如下模块:样本文档采集模块,用于采集多份样本文档,识别各份样本文档中的多种样本信息;位置信息确定模块,用于确定任一样本信息在所述样本文档中的位置信息;关联关系确定模块,用于确定所述样本信息与其他样本信息之间的关联关系;文档匹配信息生成模块,用于根据所述多种样本信息、所述位置信息和所述关联关系,生成文档匹配信息。在本申请实施例中,所述目标数据集生成模块401具体可以包括如下子模块:待处理文档转换子模块,用于获取待处理文档,将所述待处理文档转换为纯文本格式的目标文档,所述目标文档包括多个不同类型的换行符;换行符处理子模块,用于将所述多个不同类型的换行符替换为统一的目标换行符,删除在所述目标文档的各个句子中重复出现的所述目标换行符;目标文档切割子模块,用于根据剩余的所述目标换行符对所述目标文档进行切割,得到目标数据集。在本申请实施例中,所述文本数据提取模块402具体可以包括如下子模块:目标文本数据检测子模块,用于检测所述目标数据集中是否包括多项目标文本数据;文本数据提取子模块,用于若所述目标数据集中仅包括一项目标文本数据,则采用预先生成的文档匹配信息对所述目标数据集进行正则匹配,确定所述目标文本数据中的多个数据项以及各个数据项分别对应的数据值;目标文本数据分割子模块,用于若所述目标数据集中包括多项目标文本数据,则采用预先生成的文档匹配信息对所述目标数据集进行正则匹配,分割出所述多项目标文本数据;所述文本数据提取子模块,还用于依次采用所述文档匹配信息对各项目标文本数据进行正则匹配,确定所述各项目标文本数据中的多个数据项以及各个数据项分别对应的数据值。在本申请实施例中,所述装置还可以包括如下模块页码识别模块,用于识别所截取的各个表格在所述待处理文档中的页码;键值对集合生成模块,用于以所述页码为键,各个页码对应页面中包含的表格为值,生成键值对集合;分页表格拼接模块,用于根据所述键值对集合,对所述待处理文档中的分页表格进行拼接,并更新所述键值对集合。在本申请实施例中,所述分页表格拼接模块具体可以包括如下子模块:数据检测子模块,用于检测任一页面的第一个表格上方的预设像素区域内是否包含数据;距离判断子模块,用于若所述第一个表格上方的预设像素区域内未包含数据,则根据所述键值对集合,获取在当前页面的上一页面中的最后一个表格,判断所述最后一个表格的底部与所述最后一个表格所在页面的底部之间是否小于预设距离;表格拼接子模块,用于若所述最后一个表格的底部与所述最后一个表格所在页面的底部之间小于预设距离,则对所述当前页面的第一个表格和上一页面的最后一个表格进行拼接。在本申请实施例中,所述表格数据提取模块404具体可以包括如下子模块:第一区域确定子模块,用于针对所述键值对集合中的任一目标表格,确定所述目标表格的第一区域,所述第一区域为所述目标表格的顶部预设像素内的区域;数据项确定子模块,用于采用所述文档匹配信息对所述第一区域中的文本内容进行正则匹配,确定所述目标表格中的多个数据项;数据值读取子模块,用于针对任一目标数据项,确定所述目标数据项在所述目标表格中所处的目标列,读取同时存在于第二区域和所述目标列中的数据作为所述目标数据项对应的目标数据值,所述第二区域和所述第一区域组成所述表格的全部区域。对于装置实施例而言,由于其与方法实施例基本相似,所以描述得比较简单,相关之处参见方法实施例部分的说明即可。参照图5,示出了本申请一个实施例的一种终端设备的示意图。如图5所示,本实施例的终端设备500包括:处理器510、存储器520以及存储在所述存储器520中并可在所述处理器510上运行的计算机程序521。所述处理器510执行所述计算机程序521时实现上述数据提取方法各个实施例中的步骤,例如图1所示的步骤s101至s105。或者,所述处理器510执行所述计算机程序521时实现上述各装置实施例中各模块/单元的功能,例如图4所示模块401至405的功能。示例性的,所述计算机程序521可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器520中,并由所述处理器510执行,以完成本申请。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段可以用于描述所述计算机程序521在所述终端设备500中的执行过程。例如,所述计算机程序521可以被分割成目标数据集生成模块、文本数据提取模块、表格截取模块、表格数据提取模块和数据存储模块,各模块具体功能如下:目标数据集生成模块,用于获取待处理文档,对所述待处理文档进行预处理,生成目标数据集;文本数据提取模块,用于采用预先生成的文档匹配信息对所述目标数据集进行正则匹配,提取所述目标数据集中的文本数据;表格截取模块,用于截取所述待处理文档中的表格;表格数据提取模块,用于采用所述文档匹配信息对所述表格中的文本内容进行正则匹配,提取所述待处理文档中的表格数据;数据存储模块,用于存储所述文本数据和所述表格数据。所述终端设备500可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述终端设备500可包括,但不仅限于,处理器510、存储器520。本领域技术人员可以理解,图5仅仅是终端设备500的一种示例,并不构成对终端设备500的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述终端设备500还可以包括输入输出设备、网络接入设备、总线等。所述处理器510可以是中央处理单元(centralprocessingunit,cpu),还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现成可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。所述存储器520可以是所述终端设备500的内部存储单元,例如终端设备500的硬盘或内存。所述存储器520也可以是所述终端设备500的外部存储设备,例如所述终端设备500上配备的插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)等等。进一步地,所述存储器520还可以既包括所述终端设备500的内部存储单元也包括外部存储设备。所述存储器520用于存储所述计算机程序521以及所述终端设备500所需的其他程序和数据。所述存储器520还可以用于暂时地存储已经输出或者将要输出的数据。以上所述实施例仅用以说明本申请的技术方案,而非对其限制。尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。当前第1页1 2 3 当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1