掌桥专利:专业的专利平台
掌桥专利
首页

一种金融文件解析方法、系统、装置及介质

文献发布时间:2023-06-19 19:14:59


一种金融文件解析方法、系统、装置及介质

技术领域

本说明书涉及信息提取技术领域,特别涉及一种金融文件解析方法、系统、装置及介质。

背景技术

随着互联网技术的迅速发展,各种平台、系统等会涉及对大量的、各种类型的文件(如简历文件、证券交易文件、智能投顾文件等)进行分析和处理,抽取所需的结构化的信息。例如,用户可通过某个平台、系统等投递各种格式的简历文件、证券交易文件、智能投顾文件等,如word格式的文件、PDF格式的文件、PPT格式的文件等。平台或系统等需要对文件进行分析和处理,抽取文件中的各种所需的结构化信息。

因此,希望提供一种金融文件解析方法、系统、装置及介质,能够对各种类型的文件进行分析和处理,进而抽取所需的结构化的信息,以及提高信息抽取的准确率。

发明内容

本说明书实施例之一提供一种金融文件解析方法,该方法包括:通过多种解析流程对待解析文件进行处理,获取多种解析结果;其中,所述多种解析结果中的每种解析结果包括:从所述待解析文件中抽取的至少一个目标字段的字段结果;对所述多种解析结果进行融合,确定目标解析结果。

本说明书实施例之一提供一种金融文件解析系统,所述系统包括:文件处理模块,用于通过多种解析流程对待解析文件进行处理,获取多种解析结果;其中,所述多种解析结果中的每种解析结果包括:从所述待解析文件中抽取的至少一个目标字段的字段结果;结果确定模块,用于对所述多种解析结果进行融合,确定目标解析结果。

本说明书实施例之一提供一种金融文件解析装置,所述装置包括至少一个处理器以及至少一个存储器;所述至少一个存储器用于存储计算机指令;所述至少一个处理器用于执行所述计算机指令中的至少部分指令,以实现文件解析方法。

附图说明

本说明书将以示例性实施例的方式进一步说明,这些示例性实施例将通过附图进行详细描述。这些实施例并非限制性的,在这些实施例中,相同的编号表示相同的结构,其中:

图1是根据本说明书一些实施例所示的金融文件解析系统的应用场景示意图;

图2是根据本说明书一些实施例所示的金融文件解析系统的模块示意图;

图3是根据本说明书一些实施例所示的金融文件解析方法的示例性流程图;

图4是根据本说明书一些实施例所示的解析流程的示例性示意图;

图5是根据本说明书一些实施例所示的确定目标字段结果的示例性流程图。

具体实施方式

为了更清楚地说明本说明书实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单的介绍。显而易见地,下面描述中的附图仅仅是本说明书的一些示例或实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图将本说明书应用于其它类似情景。除非从语言环境中显而易见或另做说明,图中相同标号代表相同结构或操作。

应当理解,本文使用的“系统”、“装置”、“单元”和/或“模块”是用于区分不同级别的不同组件、元件、部件、部分或装配的一种方法。然而,如果其他词语可实现相同的目的,则可通过其他表达来替换所述词语。

如本说明书和权利要求书中所示,除非上下文明确提示例外情形,“一”、“一个”、“一种”和/或“该”等词并非特指单数,也可包括复数。一般说来,术语“包括”与“包含”仅提示包括已明确标识的步骤和元素,而这些步骤和元素不构成一个排它性的罗列,方法或者设备也可能包含其它的步骤或元素。

本说明书中使用了流程图用来说明根据本说明书的实施例的系统所执行的操作。应当理解的是,前面或后面操作不一定按照顺序来精确地执行。相反,可以按照倒序或同时处理各个步骤。同时,也可以将其他操作添加到这些过程中,或从这些过程移除某一步或数步操作。

图1是根据本说明书一些实施例所示的金融文件解析系统的应用场景示意图。

在一些实施例中,在金融文件解析系统的应用场景100中可以通过实施本说明书中披露的方法和/或过程以得到待解析文件的解析结果。

如图1所示,本说明书实施例所涉及金融文件解析系统的应用场景100可以包括处理器110、用户终端120、存储设备130和网络140。

在一些实施例中,处理器110可以处理与金融文件解析系统的应用场景100有关的信息和/或数据,以执行本申请中描述的一个或以上功能。例如,处理器110可以通过多种解析流程对待解析文件进行处理,获取多种解析结果。又例如,处理器110可以对多种解析结果进行融合,确定目标解析结果。在一些实施例中,处理器110可以包括一个或以上处理引擎(例如,单芯片处理引擎或多芯片处理引擎)。仅作为示例,处理器110可以包括中央处理单元(CPU)、专用集成电路(ASIC)、专用指令处理器(ASIP)、图形处理器(GPU)、物理处理器(PPU)、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、可编辑逻辑电路(PLD)、控制器、微控制器单元、精简指令集电脑(RISC)、微处理器等或以上任意组合。

用户终端120可以提供与用户相关的信息和数据。在一些实施例中,用户终端120可以是移动设备、平板计算机、膝上型计算机、台式计算机等其他具有输入和/或输出功能的设备中的一种或其任意组合。在一些实施例中,用户可以通过用户终端120输入待解析文件或者输入解析的指令(例如,导出解析结果等)。在一些实施例中,用户终端120可以通过网络140和金融文件解析系统的应用场景100中的其他组件(例如,处理器110、存储设备130)传输相关的信息和数据。

存储设备130可以用于存储与金融文件解析系统的应用场景100相关的数据和/或指令。在一些实施例中,存储设备130可以存储从处理器110、用户终端120等获得的数据和/或信息。例如,存储设备130可以存储解析步骤得到的文本解析结果、文本段落分类结果等。在一些实施例中,存储设备130可以包括一个或多个存储组件,每个存储组件可以是一个独立的设备,也可以是其他设备的一部分。在一些实施例中,存储设备130可以设置在处理器110中。在一些实施例中,存储设备130可包括随机存取存储器(RAM)、只读存储器(ROM)、大容量存储器、可移动存储器、易失性读写存储器等或其任意组合。示例性的,大容量储存器可以包括磁盘、光盘、固态磁盘等。在一些实施例中,存储设备130可在云平台上实现。

网络140可以包括能够促进金融文件解析系统的应用场景100中的组件的信息和/或数据交换的任何合适的网络。在一些实施例中,金融文件解析系统的应用场景100中的一个或多个组件(例如,处理器110、存储设备130等)之间可以通过网络140交换信息和/或数据。例如,处理器110通过网络140获取存储设备130中的数据。在一些实施例中,网络140可以是有线网络或无线网络中的任意一种或多种。例如,网络140可以包括电缆网络、光纤网络、电信网络、互联网、局域网络(LAN)、广域网络(WAN)、无线局域网络(WLAN)、城域网(MAN)、公共交换电话网络(PSTN)、蓝牙网络、紫蜂网络(ZigBee)、近场通信(NFC)、设备内总线、设备内线路、线缆连接等或其任意组合。各部分之间的网络连接可以是采用上述一种方式,也可以是采取多种方式。在一些实施例中,网络可以是点对点的、共享的、中心式的等各种拓扑结构或者多种拓扑结构的组合。

应当注意金融文件解析系统的应用场景100仅仅是为了说明的目的而提供的,并不意图限制本申请的范围。对于本领域的普通技术人员来说,可以根据本说明书的描述,做出多种修改或变化。例如,金融文件解析系统的应用场景100可以在其它设备上实现类似或不同的功能。然而,这些变化和修改不会背离本申请的范围。

图2是根据本说明书一些实施例所示的金融文件解析系统的模块示意图。

如图2所示,金融文件解析系统200可以包括文件处理模块210和结果确定模块220。

在一些实施例中,文件处理模块210可以用于通过多种解析流程对待解析文件进行处理,获取多种解析结果;其中,多种解析结果中的每种解析结果包括:从待解析文件中抽取的至少一个目标字段的字段结果。

在一些实施例中,结果确定模块220可以用于对多种解析结果进行融合,确定目标解析结果。

在一些实施例中,多种解析流程中的每种解析流程可以包括共同的多个解析步骤,对于多种解析流程中的任意两种解析流程:有至少一个解析步骤在两种解析流程中对应不同的处理方法。

在一些实施例中,多个解析步骤可以包括:文本解析步骤,用于获取待解析文件的文本解析结果;文本分类步骤,用于获取文本解析结果对应的文本段落分类结果;结果抽取步骤,用于获取文本段落分类结果对应的解析结果。

在一些实施例中,文本解析步骤对应的处理方法包括以下中的至少一种:通过文本解析法获取待解析文件的文本解析结果;或者通过图像解析法获取待解析文件的文本解析结果;文本分类步骤对应的处理方法包括以下中的至少一种:基于文本解析结果的文本信息,获取文本解析结果对应的文本段落分类结果;或者基于文本解析结果的版面信息,获取文本解析结果对应的文本段落分类结果;结果抽取步骤对应的处理方法包括以下中的至少一种:通过基于规则匹配的字段抽取方法获取文本段落分类结果对应的解析结果;或者通过基于自然语言处理算法的字段抽取方法获取文本段落分类结果对应的解析结果。

在一些实施例中,结果确定模块220还可以进一步用于:对至少一个目标字段中的任一个目标字段,多种解析结果中包括目标字段的多个字段结果,至少对多个字段结果进行以下中的一种或多种处理,从而确定目标字段的目标字段结果:去除多个字段结果中的空值结果,基于剩余的字段结果确定目标字段结果;确定目标字段对应的文本结构规则,去除不满足文本结构规则的字段结果,基于剩余的字段结果确定目标字段结果;或者确定预设词库,选取多个字段结果中的包含在预设词库中的字段结果,基于选取结果确定目标字段结果。

在一些实施例中,结果确定模块220还可以进一步用于:当选取结果为包含在预设词库中的字段结果的数量为多个或零个,进行:获取多种解析流程对应的多种解析准确率;确定多种解析准确率中的最高解析准确率,基于多个字段结果中的与最高解析准确率所对应解析流程对应的字段结果确定目标字段结果。

在一些实施例中,结果确定模块220还可以进一步用于:基于待解析文件的文件类型确定一种或多种处理。

应当理解,图2所示的系统及其模块可以利用各种方式来实现。例如,在一些实施例中系统及其模块可以通过硬件、软件或者软件和硬件的结合来实现。

需要注意的是,以上对于系统及其模块的描述,仅为描述方便,并不能把本说明书限制在所举实施例范围之内。可以理解,对于本领域的技术人员来说,在了解该系统的原理后,可能在不背离这一原理的情况下,对各个模块进行任意组合,或者构成子系统与其他模块连接。在一些实施例中,图2中披露的文件处理模块210和结果确定模块220可以是一个系统中的不同模块,也可以是一个模块实现上述的两个或两个以上模块的功能。例如,各个模块可以共用一个存储模块,各个模块也可以分别具有各自的存储模块。诸如此类的变形,均在本说明书的保护范围之内。

图3是根据本说明书一些实施例所示的金融文件解析方法的示例性流程图。在一些实施例中,流程300可以由处理器110执行。流程300可以包括以下步骤:

步骤310,通过多种解析流程对待解析文件进行处理,获取多种解析结果。在一些实施例中,步骤310可以由文件处理模块210执行。

待解析文件可以指待分析处理的文件。在一些实施例中,待解析文件可以包括多种类型的文件,例如,简历文件、证券交易文件、智能投顾文件、人事档案等。不同类型的待解析文件可以包括用户的不同信息。例如,简历文件可以包括用户的基本信息(姓名、性别、联系方式等)、工作经历、教育经历、自我评价等信息。又例如,证券交易文件可以包括用户信息、交易形式、交易方式、交易金额、交易费用等信息。又例如,智能投顾文件可以包括用户类型、用户风险偏好、用户财务状况、理财规划、资产配置建议等信息。又例如,人事档案可以包括身份证、不同的证书、体检报告、劳动合同等。待解析文件的格式可以包括多种格式,例如,PDF格式、Word格式、TXT格式、PPT格式、图片格式等。

解析流程可以指对文件进行分析处理的过程。在一些实施例中,可以通过多种不同的解析流程来实现本说明书中的对待解析文件进行分析处理的目的。

在一些实施例中,多种解析流程中的每种解析流程可以包括共同的多个解析步骤,对于多种解析流程中的任意两种解析流程中可以有至少一个解析步骤在两种解析流程中对应不同的处理方法。

解析步骤可以包括对文件进行分析处理的解析流程中的一个或多个操作处理。解析流程可以包括多个解析步骤。不同的解析步骤可以进行不同的分析处理。在一些实施例中,一个解析流程中的多个解析步骤可以包括文本解析步骤、文本分类步骤、结果抽取步骤等。在一些实施例中,一个解析流程中的多个解析步骤还可以包括预处理步骤。预处理步骤可以对待解析文件进行预处理。预处理可以包括基于待解析文件的格式,对待解析文件进行分类或者标记等。文本解析步骤,可以用于获取待解析文件的文本解析结果。文本分类步骤,可以用于获取文本解析结果对应的文本段落分类结果。结果抽取步骤,可以用于获取文本段落分类结果对应的解析结果。关于文本解析步骤、文本分类步骤、结果抽取步骤的详细内容可以参见图4的相关描述。

处理方法可以指对文件进行分析处理的方式。在一些实施例中,一个解析步骤可以对应有多种不同的处理方法。例如,文本解析步骤对应的处理方法可以包括文本解析法、图像解析法等。又例如,文本分类步骤对应的处理方法可以包括基于文本信息的分类方法、基于版面信息的分类方法等。结果抽取步骤对应的处理方法可以包括规则匹配的字段抽取方法、基于自然语言处理算法的字段抽取方法等。关于上述处理方法的更多内容可以参见图4的相关描述。

在一些实施例中,多种解析流程中的每种解析流程可以包括共同的多个解析步骤。例如,多种解析流程中的每种解析流程均包括文本解析步骤、文本分类步骤和结果抽取步骤等。对于多种解析流程中的任意两种解析流程中可以有至少一个解析步骤在两种解析流程中对应不同的处理方法。

例如,解析流程A的多个解析步骤对应的多个处理方法包括文本解析法、基于文本信息的分类方法和基于规则匹配的字段抽取方法。解析流程B的多个解析步骤对应的多个处理方法包括文本解析法、基于文本信息的分类方法和基于自然语言处理算法的字段抽取方法。解析流程C的多个解析步骤对应的多个处理方法包括图像解析法、基于文本信息的分类方法和基于规则匹配的字段抽取方法。解析流程D的多个解析步骤对应的多个处理方法包括图像解析法、基于文本信息的分类方法和基于自然语言处理算法的字段抽取方法。解析流程E的多个解析步骤对应的多个处理方法包括图像解析法、基于版面信息的分类方法和基于规则匹配的字段抽取方法。解析流程F的多个解析步骤对应的多个处理方法包括图像解析法、基于版面信息的分类方法和基于自然语言处理算法的字段抽取方法。可以理解:解析流程A与解析流程B中的结果抽取步骤对应不同的处理方法。解析流程B与解析流程C中的文本解析步骤和结果抽取步骤分别对应不同的处理方法。解析流程A与解析流程F中的文本解析步骤、文本分类步骤和结果抽取步骤分别对应不同的处理方法。上述任意两种解析流程中有至少一个解析步骤对应不同的处理方法。

在本说明书一些实施例中,通过多种解析流程中,任意两种解析流程中有至少一个解析步骤对应不同的处理方法,可以确保获取的解析结果的多样性,可以充分利用不同的处理方法的优势,有利于提高后续确定的目标解析结果的准确性。

解析结果可以指从文件中抽取的结果。通过多种解析流程对待解析文件进行处理,可以得到多种解析结果。其中,多种解析流程与多种解析结果可以为一一对应的关系。例如,解析流程A至解析流程F对应的解析结分别为解析结果a至解析结果f等。

在一些实施例中,多种解析结果中的每种解析结果可以包括从待解析文件中抽取的至少一个目标字段的字段结果。

目标字段可以指需抽取的字段。例如,可以从简历文件中抽取与教育经历等主题相关的多个目标字段,以及与教育经历相关的多个目标字段可以包括学校、学历、开始时间、结束时间、专业等。在一些实施例中,目标字段可以进行实际需求确定或通过其他方法自动确定。

字段结果可以指目标字段对应的数据抽取结果。例如,目标字段“学校”对应的字段结果为“苏州大学”、目标字段“学历”对应的字段结果为“学士”、目标字段“开始时间”对应的字段结果为“2001.09”等。不同的解析流程对应的解析结果中的目标字段的字段结果可以相同或者不同。例如,解析结果a和解析结果b中的目标字段“学历”对应的字段结果均为“学士”。又例如,解析结果a和解析结果c中的目标字段“开始时间”对应的字段结果分别为“2001.09”和“200l.09”,其中,解析结果a的目标字段对应的字段结果中“1”为数字1,解析结果c的目标字段对应的字段结果中“l”为大写字母L对应的小写字母。

在一些实施例中,文件处理模块210可以通过多种解析流程对待解析文件分别进行处理,以得到对应的多种解析结果。例如,文件处理模块210可以分别通过上述的解析流程A至解析流程F对待解析文件进行处理,分别获取解析结果a至解析结果f。

通过多种解析流程,可以从待解析文件中抽取一个或多个目标字段的字段结果,从而可以实现对待解析文件进行结构化处理。在一些实施例中,文件处理模块210可以根据实际需求提前预设多种解析流程,并将预设的多种解析流程存储在存储设备130中。当需要对待解析文件进行处理时,文件处理模块210可以调取多种解析流程。

步骤320,对多种解析结果进行融合,确定目标解析结果。在一些实施例中,步骤320可以由结果确定模块220执行。

目标解析结果可以指最终确定的所需的解析结果。目标解析结果可以包括一个或多个目标字段分别对应的目标字段结果。目标字段结果是指最终确定的所需的目标字段的字段结果。

目标字段结果可以指目标字段对应的最终抽取结果。例如,目标字段结果可以为目标解析结果中目标字段对应的字段结果。

在一些实施例中,结果确定模块220可以通过多种方式对多种解析结果进行融合,确定目标解析结果。

例如,对至少一个目标字段中的任一个目标字段,例如“邮箱”,在多种解析结果中对应的多个字段结果分别为ABI@126.com、ABI@126.com、AB1@126.com、ABI@126.com、123126.com以及ABI@126.com等。结果确定模块220可以将出现次数最高的字段结果ABI@126.com作为目标字段“邮箱”的目标字段结果。

在一些实施例中,结果确定模块220可以对至少一个目标字段中的任一个目标字段,至少对多种解析结果中包括的该目标字段的多个字段结果进行以下中的一种或多种处理,从而确定目标字段的目标字段结果:去除多个字段结果中的空值结果,基于剩余的字段结果确定目标字段结果;确定目标字段对应的文本结构规则,去除不满足文本结构规则的字段结果,基于剩余的字段结果确定所述目标字段结果;确定预设词库,选取多个字段结果中的包含在预设词库中的字段结果,基于选取结果确定目标字段结果等。关于确定目标字段的目标字段结果的详细内容可以参见图5的相关描述图。

在本说明书一些实施例中,通过多种解析流程分别获取多种解析结果,通过对多种解析结果融合确定目标解析结果,可以自动、迅速、准确地抽取所需要的信息,提高抽取的信息的准确率。该金融文件解析方法不是通过一种解析流程,而是通过多种解析流程确定目标解析结果,可以提高该方法的整体容错性和鲁棒性。

图4是根据本说明书一些实施例所示的解析流程的示例性示意图。

在一些实施例中,每种解析流程所包括的多个解析步骤可以包括:文本解析步骤,用于获取待解析文件的文本解析结果;文本分类步骤,用于获取文本解析结果对应的文本段落分类结果;结果抽取步骤,用于获取文本段落分类结果对应的解析结果。

文本解析步骤420可以指对待解析文件410进行文本解析的过程。通过文本解析步骤可以获取待解析文件的文本解析结果。

在一些实施例中,文本解析结果可以包括文本信息、版面信息等文本相关信息。

文本信息可以包括文本内容信息、文本格式信息等。文本内容信息包括待解析文件(如简历文件等)所包括的文本内容。文本格式信息包括待解析文件(如简历文件等))所包括的文本内容的格式信息。例如,文本的字体(如加粗等)、字号、分段的位置、分行的位置、布局方式(如左对齐、居中)等。

版面信息可以包括待解析文件(如简历图片等)的文本内容排版、不同区域的内容间的关系等文件版面相关信息。例如,版面信息可以包括某个简历文件中的用户头像的下方包括第一文本区域、用户头像的左边包括第二文本区域、简历图片的最下方包括第三文本区域等信息。可以理解,各种类型的文件可以有其对应的版面特征,例如,简历文件的版面特征可以包括:教育经历内容位于用户头像的下方、用户的基本信息内容位于用户头像的左边、自我评价内容位于简历图片的最下方等。

在一些实施例中,文本解析步骤对应的处理方法可以包括:通过文本解析法获取待解析文件的文本解析结果;或者,通过图像解析法获取待解析文件的文本解析结果;或者其他各种可行的方法。其中,不同的处理方法可以得到不同的文本解析结果。

文本解析法421可以对待解析文件进行文本解析。文本解析法可以包括多种解析方法,例如,PDF解析法、WORD解析法、TXT解析法、PPT解析法等。不同的解析方法可以对不同格式的待解析文件进行解析。通过文本解析法获取的文本解析结果可以包括文本信息等。在一些实施例中,文件处理模块210可以识别待解析文件的格式,通过与格式对应的解析方法对待解析文件进行解析获取文本解析结果。在一些实施例中,文本解析法不可以对图片格式、加密等的待解析文件进行解析。文件处理模块210对图片格式、加密等的待解析文件进行解析获取的文本解析结果可能为空值。

图像解析法422可以指对待解析文件进行图像识别进而实现解析的方法。识别的方法可以包括OCR识别等。在一些实施例中,文件处理模块210可以通过OCR识别获取待解析文件的文本解析结果。通过图像解析法获取的文本解析结果可以包括文本信息、版面信息等。

文本分类步骤430可以指对文本解析结果进行文本分类的过程。文件处理模块210可以通过文本分类步骤,获取文本解析结果对应的文本段落分类结果。

文本段落分类结果可以包括文本解析结果中的文本的各文本段落对应的分类结果,分类结果可以是指文本类别/主题。例如,文本段落分类结果可以包括工作经历、教育经历、基本信息、自我评价、薪资要求等。待解析文件中文本的不同文本段落可以对应不同的分类结果。例如,通过文本分类步骤可以将简历文件的文本解析结果中的文本进行语句切分、分段,以及获取各段落对应的分类结果。

在一些实施例中,文本分类步骤对应的处理方法可以包括多种,以下是一些处理方法的说明(但并不限于以下方法)。其中,不同的处理方法可以得到不同的文本段落分类结果。

在一些实施例中,文件处理模块210可以基于文本解析结果的文本信息,获取文本解析结果对应的文本段落分类结果(也可以称为基于文本信息的分类方法431)。例如,文件处理模块210可以基于文本内容信息、文本格式信息等文本信息对文本解析结果中的文本进行语句切分、分段,以及获取各段落对应的分类结果。

在一些实施例中,文件处理模块210可以基于分类模型获取文本解析结果对应的文本段落分类结果。分类模型可以为机器学习模型。分类模型可以为基于长文本分类的模型、基于句级别分别的模型等。分类模型的类型可以包括神经网络模型、深度神经网络等,模型类型的选择可视具体情况而定。分类模型的输入可以包括文本解析结果等。分类模型的输出可以包括文本段落分类结果。文件处理模块210可以基于多个训练样本及标签训练得到分类模型。训练样本包括样本文本解析结果。标签为样本文本解析结果对应的文本段落分类结果。训练样本可以基于历史数据获取,训练样本的标签可以通过人工标注或自动标注的方式确定。

在一些实施例中,文件处理模块210可以基于文本解析结果的版面信息,获取文本解析结果对应的文本段落分类结果(也可以称为基于版面信息的分类方法432)。例如,文件处理模块210可以基于版面信息对文本解析结果中的文本进行语句切分、分段,以及获取各段落对应的分类结果。文本解析结果的不同的版面信息有明显的区别。例如,教育经历位于用户头像的下方、用户的基本信息位于用户头像的左边、自我评价位于简历图片的最下方等。文件处理模块210可以基于上述的版面信息对文本解析结果进行语句切分和分类,确定文本解析结果对应的文本段落分类结果。

结果抽取步骤440可以指抽取解析结果的过程。文件处理模块210可以通过结果抽取步骤440,获取文本段落分类结果对应的解析结果450。例如,结果抽取步骤440可以包括从前面步骤得到的文本中抽取文本段落分类结果对应的至少一个目标字段的字段结果。例如,文本段落分类结果中某个文本段落的分类结果为教育经历。教育经历对应的目标字段可以包括学校、学历、开始时间、结束时间、专业等。文件处理模块210通过结果抽取步骤可以对教育经历对应的文本段落进行字段内容抽取,得到目标字段“学校”的字段结果为“苏州大学”、目标字段“学历”的字段结果为“学士”、目标字段“开始时间”的字段结果为“2007.09”等。

在一些实施例中,结果抽取步骤对应的处理方法可以包括多种,以下是一些处理方法的说明(但并不限于以下方法)。其中,不同的处理方法可以得到不同的解析结果450。

在一些实施例中,文件处理模块210可以通过基于规则匹配的字段抽取方法441获取文本段落分类结果对应的解析结果。如图4所示,通过基于规则匹配的字段抽取方法441获取文本段落分类结果对应的解析结果包括解析结果1、解析结果3、解析结果5等。

规则匹配可以包括多种方式。例如,预设规则匹配、正则表达式等。预设规则匹配可以为提前预设的规则匹配方式,可以根据实际需求进行设定。

在一些实施例中,文件处理模块210可以通过基于自然语言处理算法的字段抽取方法442获取文本段落分类结果对应的解析结果。如图4所示,通过基于自然语言处理算法的字段抽取方法442获取文本段落分类结果对应的解析结果包括解析结果2、解析结果4、解析结果6等。

自然语言处理算法可以指机器学习模型、或者机器阅读理解(Machine ReadingComprehension,MRC)模型等。文件处理模块210可以通过机器学习模型、或者机器阅读理解模型等抽取文本段落分类结果对应的解析结果。

在一些实施例中,由于多个解析步骤中所选取的处理方法不同,可以得到多个解析流程,并可以得到多个对应的解析结果。如图4所示,至少可以通过6种解析流程对待解析文件410进行解析。其中,解析流程1包括文本解析法421、基于文本信息的分类方法431、基于规则匹配的字段抽取方法441。通过解析流程1对待解析文件410进行解析,得到解析结果1。解析流程2包括文本解析法421、基于文本信息的分类方法431、基于自然语言处理算法的字段抽取方法442。通过解析流程2对待解析文件410进行解析,得到解析结果2。其余解析流程不再一一说明。

上述每个处理方法都具有一定的优劣。例如,文本解析步骤中的文本解析法相对于图像解析法,其优势是不会造成字符的误识别(例如,把字母“l”识别成数字“1”)。当目标字段为字符时,使用文本解析法得到的解析结果准确率较高。再例如,结果抽取步骤中的基于规则匹配的字段抽取方法(例如,正则表达式等),其优势是可以提高对格式化字段解析的准确率。对于手机号、邮箱等具有固定格式的字段而言,通过包括基于规则匹配的字段抽取方法的解析流程1(如图4所示)进行解析,得到的解析结果1准确率较高。但是,另一方面,由于待解析文件可能会加密,或者其中存在大量图片等,基于规则匹配的字段抽取方法可能会导致解析结果中出现遗漏,甚至为空,进而使得解析流程1得到的解析结果1召回率较低。对于手机号、邮箱等具有固定格式的字段而言,通过包括基于自然语言处理算法的字段抽取方法的解析流程2(如图4所示)进行解析,得到的解析结果2相对于解析结果1的准确率较低,但是召回率较高。对于工作经历中的工作岗位、项目名称等结构相对松散多变的字段,相比于基于规则匹配的字段抽取方法,基于自然语言处理算法的字段抽取方法的解析能力较强,解析流程2相对于解析流程1得到的解析结果准确率较高。

在本说明书一些实施例中,不同的解析步骤对应至少一种处理方法,通过多种不同的处理方法,可以进一步确保获取的解析结果的多样性,可以充分利用不同的处理方法的优势,有利于进一步确保后续确定的目标解析结果的准确性,使该目标解析结果的准确性可以高于上述任一解析流程的准确率。

图5是根据本说明书一些实施例所示的确定目标字段结果的示例性流程图。在一些实施例中,流程500可以由结果确定模块220执行。

对于一个目标字段而言,每一条解析流程可以对应于一个解析结果,每一个解析结果包括一个字段结果,则多个解析结果中可以包括多个字段结果。如图5所示,某个目标字段的多个字段结果包括字段结果1、字段结果2、…、字段结果n等。其中,字段结果1、字段结果2、…、字段结果n分别为目标字段在不同解析流程的解析结果中的字段结果。

在一些实施例中,结果确定模块220可以基于多种解析结果中包括的目标字段的多个字段结果,确定目标字段的目标字段结果。从而实现对多种解析结果进行融合,确定目标解析结果。

如图5所示,流程500可以表示对任一个目标字段,基于其对应的多个字段结果得到目标字段结果的流程(可以称为融合流程)。流程500可以包括以下步骤中的任意一个或多个的组合。

步骤510,去除多个字段结果中的空值结果,基于剩余的字段结果确定目标字段结果。

空值结果可以指包含空值的字段结果。当处理器无法识别待解析文件时则可能输出空值结果。

步骤510中,剩余的字段结果可以包括从多个字段结果中去除空值结果后剩余的字段结果。例如,对于同一个目标字段,得到字段结果为Key1、Key2、Key3,去除空值结果Key1后,剩余的字段结果为Key2和Key3。关于不满足文本结构规则的字段结果可以参见步骤520的相关描述。

在一些实施例中,剩余的字段结果可以作为目标字段结果。例如,当剩余的字段结果为1个时,则该字段结果可以作为目标字段结果。在一些实施例中,从多个字段结果中删除空值结果后,可以基于剩余的字段结果再进一步通过其他步骤(如步骤520、步骤530等)确定目标字段结果。

在一些实施例中,如果针对同一个目标字段得到的字段结果都为空值结果,则该目标字段的目标字段结果为空值结果,该目标字段的融合流程结束。

步骤520,确定目标字段对应的文本结构规则,去除不满足文本结构规则的字段结果,基于剩余的字段结果确定目标字段结果。

文本结构规则可以指目标字段对应满足的文本内容结构、文本内容规则。例如,目标字段可以为邮箱,对应的字段结果的文本内容结构可以包括字符+@.+域名。再例如,目标字段为期待薪资,对应的字段结果中应当包括数字,则目标字段期待薪资对应的文本内容规则可以包括字段结果中需要包含数字。再例如,目标字段为公司名称,对应的字段结果中的字符不应该超过50个,则目标字段公司名称对应的文本内容规则可以包括字符不超过50个。

在一些实施例中,可以基于历史数据分析、实际需求或经验设置各目标字段对应的文本结构规则。一个目标字段对应的文本结构规则可以为多个。例如,目标字段为年龄,则文本结构规则可以包括文本包含数字,数字的大小不超过100等。

步骤520中,剩余的字段结果可以包括从多个字段结果中去除不满足文本结构规则后剩余的字段结果。

在一些实施例中,结果确定模块220可以通过规则模型或其他规则匹配算法等方法确定不满足文本结构规则的字段结果。规则模型可以是机器学习模型,例如,规则模型可以是深度神经网络模型。规则模型的输入可以包括多个字段结果,输出可以包括不满足文本结构规则的字段结果。规则模型可以通过历史数据训练得到。

在一些实施例中,结果确定模块220可以直接从结果抽取步骤得到的多个字段结果中去除不满足文本结构规则的字段结果,基于剩余的字段结果确定目标字段结果。例如,结果抽取步骤得到的多个字段结果为Key11、Key12,其中,Key11不满足文本结构规则,则目标字段结果为Key12。

在一些实施例中,结果确定模块220还可以从步骤510得到的去除空值后的剩余的字段结果中去除不满足文本结构规则的字段结果,基于剩余的字段结果确定目标字段结果。例如,如步骤510中的示例所述,结果抽取步骤得到的多个字段结果为Key1、Key2、Key3,去除空值Key1后,Key2、Key3为去除空值后的剩余的字段结果,其中,Key2不满足文本结构规则,则目标字段结果为Key3。

在一些实施例中,从多个字段结果中去除不满足文本结构规则后剩余的字段结果可以直接作为目标字段结果。例如,当剩余的字段结果为1个时,则该字段结果可以作为目标字段结果。

在一些实施例中,结果确定模块220可以去除多个字段结果中不满足文本结构规则的字段结果后,可以基于剩余的字段结果再进一步通过其他步骤(如步骤530等)确定目标字段结果。

在一些实施例中,如果针对同一个目标字段得到的字段结果都不满足文本结构规则,则该目标字段的目标字段结果可以为空,则该目标字段的融合流程结束,或者可以再通过其他步骤(例如步骤530)实现基于多个字段结果确定目标字段结果。

步骤530,确定预设词库,选取多个字段结果中的包含在预设词库中的字段结果,基于选取结果确定目标字段结果。

在一些实施例中,结果确定模块220可以针对每一个目标字段设立相应的预设词库。每一个预设词库中可以包括一定地区范围内所有与目标字段对应的元素。例如,当目标字段为公司时,对应的预设词库中可以包括全国的公司名称。

选取结果可以指从多个字段结果中选取的和预设词库中元素相同或相似的字段结果。在一些实施例中,结果确定模块220可以基于目标字段选取对应的预设词库,并将多个解析结果中的多个字段结果分别与预设词库中的元素比对,如果预设词库中存在与字段结果相同或相似的元素,则可以选取该字段结果作为目标字段结果。

在一些实施例中,结果确定模块220可以确定字段结果和预设词库中的元素的文本相似度,并将文本相似度超过预设阈值的字段结果作为目标字段结果。例如,预设阈值为99.9%。结果确定模块220可以将多个字段结果中与预设词库中元素相同的字段结果作为目标字段结果。例如,当预设词库中包括苹果公司,则包括苹果公司的字段结果可以作为目标字段结果。

在一些实施例中,结果确定模块220可以直接从结果抽取步骤得到的多个字段结果中获取选取结果,并将此选取结果作为目标字段结果。例如,当选取结果为1个时,则该选取结果可以作为目标字段结果。作为示例,结果抽取步骤得到的多个字段结果为Key21、Key22,其中,Key21存在于预设词库中,则目标字段结果为Key22。

在一些实施例中,当包含在预设词库中的字段结果的数量为多个或零个,即选取结果为多个或者零个,需要进一步确定目标字段结果。

在一些实施例中,结果确定模块220还可以从通过步骤510和/或步骤520得到的剩余的字段结果中,确定选取结果,基于选取结果确定目标字段结果。

在一些实施例中,结果确定模块220还可以获取多种解析流程对应的多种解析准确率;确定多种解析准确率中的最高解析准确率,基于多个字段结果中的与最高解析准确率所对应解析流程对应的字段结果确定目标字段结果。例如,结果确定模块220可以直接通过该方法确定目标字段结果,或者还可以在前述融合流程的各步骤(例如步骤510、520、530)之后再进行该方法来确定目标字段结果(例如当前述选取结果为包含在预设词库中的字段结果的数量为多个或零个时,进行该方法来确定目标字段结果)。

解析准确率可以指解析流程针对当前待解析文件和/或当前目标字段进行解析的准确率,每一个解析流程都有其对应的解析准确率。解析准确率可以通过解析流程得到的解析结果的准确率来表示。当通过当前解析流程得到的解析结果准确率越高,则该解析流程的解析准确率越高。

在一些实施例中,针对各类型(例如不同格式、不同业务领域例如证券交易领域/智能投顾领域/求职简历领域等、不同主题例如针对不同职务的简历等)的待解析文件和/或待解析文件的各个目标字段,不同解析流程对应的解析准确率可以不同。在一些实施例中,可以人工地基于经验或基于历史数据(例如根据测试集对多种解析流程进行测试得到的数据)确定每条解析流程的解析准确率。例如,当目标字段为邮箱,根据历史数据可知,通过文本解析法和基于规则匹配的字段抽取方法得到的解析结果准确率较高,则包括文本解析法和基于规则匹配的字段抽取方法的解析流程的解析准确率较高。再例如,当待解析文件为图片形式,图像解析法得到的解析结果准确率较高,则包括图像解析法的解析流程准确率较高。

在一些实施例中,可以基于当前待解析文件的文件特征信息、某种解析流程的流程特征信息,通过预测模型(例如决策树、神经网络模型等各种可行的机器学习模型)得到针对当前待解析文件,该种解析流程的解析准确率。文件特征信息可以包括文件的文件类型特征(如格式类型、业务领域类型、主题类型等多种文件类型相关特征)、文件大小等文件相关特征。流程特征信息可以包括解析流程中各步骤的步骤特征,步骤特征可以包括步骤类型、步骤所采用的处理方法的方法类型、方法的优点和缺点信息等步骤相关特征。

预测模型可以基于历史数据进行训练。例如,可以基于测试集(包括多个样本文件)对多种解析流程进行测试得到历史数据,历史数据可以包括各种解析流程对样本文件的各种解析结果,以及对于样本文件,各种解析流程对应的准确率评分(可以通过人工打分、基于规则匹配的打分等各种可行的方法确定)。进而可以获取样本文件的文件特征信息、解析流程的流程特征信息作为训练样本,以及将对于样本文件,解析流程对应的准确率评分作为训练样本对应的标签,并基于训练样本和其对应的标签训练预测模型(例如将训练样本输入预测模型,预测模型输出准确率预测值,调整预测模型的模型参数以使得准确率预测值和准确率标签值的差异最小化)。

在一些实施例中,解析准确率可以基于每条解析流程中各个解析步骤的准确率确定。各个解析步骤的准确率可以基于历史数据来确定。例如,结果确定模块220可以根据历史数据中通过文本解析法得到的文本解析结果和人工确定的文本解析结果的比较来确定文本解析步骤的准确率。当通过文本解析法得到的文本解析结果与人工确定的文本解析结果的相似度越高,则该解析步骤的准确率越高。结果确定模块220可以预设相似度和准确率的对应关系。在一些实施例中,解析准确率可以基于每条解析流程中各个解析步骤的准确率的乘积确定。例如,每一条解析流程的解析准确率可以通过公式(1)确定。

Accuracy

其中,Accuracy

在一些实施例中,结果确定模块220可以基于公式(1)确定多个解析流程的解析准确率,并通过比较,确定最高解析准确率。在一些实施例中,结果确定模块220可以将解析准确率最高的解析流程对应的字段结果确定为目标字段结果。例如,解析流程1、2、3对应的字段结果分别为key1、key2、key3。解析流程1对应的解析准确率为90%;解析流程2对应的解析准确率为92%;解析流程3对应的解析准确率为93%;结果确定模块220可以将解析流程3对应的字段结果key3作为目标字段结果。

在本说明书一些实施例中,通过每条解析流程中所包含的解析步骤的准确率确定目标字段结果,考虑到实际解析方法与待解析文件格式的适应性,可以进一步提高确定的目标字段结果的准确率。

在本说明书一些实施例中,通过过滤空值等方法对多条解析流程得到的解析结果进行融合,充分利用不同的处理方法在不同的目标字段上的准确率的优势,从而完成目标字段结果的确定过程的自动化,可以提高目标字段结果的准确率和效率。

在一些实施例中,还可以根据待解析文件的文件类型,在前述各种目标字段结果的融合流程中选择与该文件类型对应的最优融合流程(包括前述流程500中一种或多种处理的组合),进而通过最优融合流程来实现:基于目标字段对应的多个字段结果确定该目标字段的目标字段结果。各文件类型对应的最优融合流程可以基于历史数据确定。

需要说明的是,不同实施例可能产生的有益效果不同,在不同的实施例里,可能产生的有益效果可以是以上任意一种或几种的组合,也可以是其他任何可能获得的有益效果。

上文已对基本概念做了描述,显然,对于本领域技术人员来说,上述详细披露仅仅作为示例,而并不构成对本说明书的限定。虽然此处并没有明确说明,本领域技术人员可能会对本说明书进行各种修改、改进和修正。该类修改、改进和修正在本说明书中被建议,所以该类修改、改进、修正仍属于本说明书示范实施例的精神和范围。

同时,本说明书使用了特定词语来描述本说明书的实施例。如“一个实施例”、“一实施例”、和/或“一些实施例”意指与本说明书至少一个实施例相关的某一特征、结构或特点。因此,应强调并注意的是,本说明书中在不同位置两次或多次提及的“一实施例”或“一个实施例”或“一个替代性实施例”并不一定是指同一实施例。此外,本说明书的一个或多个实施例中的某些特征、结构或特点可以进行适当的组合。

此外,除非权利要求中明确说明,本说明书所述处理元素和序列的顺序、数字字母的使用、或其他名称的使用,并非用于限定本说明书流程和方法的顺序。尽管上述披露中通过各种示例讨论了一些目前认为有用的实施例,但应当理解的是,该类细节仅起到说明的目的,附加的权利要求并不仅限于披露的实施例,相反,权利要求旨在覆盖所有符合本说明书实施例实质和范围的修正和等价组合。例如,虽然以上所描述的系统组件可以通过硬件设备实现,但是也可以只通过软件的解决方案得以实现,如在现有的服务器或移动设备上安装所描述的系统。

同理,应当注意的是,为了简化本说明书披露的表述,从而帮助对一个或多个实施例的理解,前文对本说明书实施例的描述中,有时会将多种特征归并至一个实施例、附图或对其的描述中。但是,这种披露方法并不意味着本说明书对象所需要的特征比权利要求中提及的特征多。实际上,实施例的特征要少于上述披露的单个实施例的全部特征。

一些实施例中使用了描述成分、属性数量的数字,应当理解的是,此类用于实施例描述的数字,在一些示例中使用了修饰词“大约”、“近似”或“大体上”来修饰。除非另外说明,“大约”、“近似”或“大体上”表明所述数字允许有±20%的变化。相应地,在一些实施例中,说明书和权利要求中使用的数值参数均为近似值,该近似值根据个别实施例所需特点可以发生改变。在一些实施例中,数值参数应考虑规定的有效数位并采用一般位数保留的方法。尽管本说明书一些实施例中用于确认其范围广度的数值域和参数为近似值,在具体实施例中,此类数值的设定在可行范围内尽可能精确。

针对本说明书引用的每个专利、专利申请、专利申请公开物和其他材料,如文章、书籍、说明书、出版物、文档等,特此将其全部内容并入本说明书作为参考。与本说明书内容不一致或产生冲突的申请历史文件除外,对本说明书权利要求最广范围有限制的文件(当前或之后附加于本说明书中的)也除外。需要说明的是,如果本说明书附属材料中的描述、定义、和/或术语的使用与本说明书所述内容有不一致或冲突的地方,以本说明书的描述、定义和/或术语的使用为准。

最后,应当理解的是,本说明书中所述实施例仅用以说明本说明书实施例的原则。其他的变形也可能属于本说明书的范围。因此,作为示例而非限制,本说明书实施例的替代配置可视为与本说明书的教导一致。相应地,本说明书的实施例不仅限于本说明书明确介绍和描述的实施例。

技术分类

06120115848150