一种金融文档智能核查方法、装置及存储介质与流程

文档序号:16468752发布日期:2019-01-02 22:56阅读:279来源:国知局
本发明涉及信息抽取
技术领域
:,尤其涉及一种金融文档智能核查方法、装置及存储介质。
背景技术
::金融文档是一种包含大量非结构化财务数据的文本,主要由文本段落和表格数据组成。大多数金融文档核查工作者都在纯手工地做重复且低技术含量的文档核查工作,工作任务非常繁重。其核查内容包含财务数据的正确性以及数据/指标上下文的一致性。自动化实现金融文档的智能核查将会降低金融机构的业务成本并工作效率,因此如何实现金融文档的智能核查已经成为行业内备受关注和研究的问题。金融文档核查要求将文本中所有存在潜在问题的描述或数据标注出来,这便要求智能核查系统能够精准地理解文本和表格中的数字和财务指标信息,并将非结构化数据转化为结构化数据。金融文档智能核查任务的主要技术突破点在于段落文本和表格的语义理解,是一种伴随着人工智能、自然语言处理等新型技术而兴起起的并在金融文档核查方面初步得到应用的技术方法。作为行业内首创性的技术,包括如下技术问题:(1)如何保证段落、表格数据的信息抽取准确率、召回率双高。对文本数据处理的第一步是信息抽取,即从文本到元组。一条财务数据时包括时间、公司名称、指标词、数字和单位的五元组。一般对文本的信息抽取方法是通过关键词匹配和正则表达式进行元素的抽取,一方面这种依赖人工定义的关键词和正则表达式方法不能涵盖所有的元素类型,另一方面,当一句话中有多个指标词、多个时间等元素时,很难准确地得到元素的组合关系,从而导致准确率、召回率的双底。(2)如何理解段落文本的语义。理解文本的语义是一件困难的事情,尤其对于一些表述复杂的长文本,通过怎样的语义分析、如何利用分析结果来提升段落文本的语义理解能力并转换为结构化金融元组仍是一个难点。(3)如何对表格数据准确解析。首先,金融文档中的表格结构复杂,如单元格多行合并、单元格多列合并、表格分页以及表格续页等情况,这种复杂表格很难处理,也很容易将表格元素错误地对应起来,很难准确找到数字所对应的指标词;其次,表格标题是表格内容的重要组成部分,它可以是表格主要对象的描述,也可以是表格描述对象的限定词,如果忽略表格标题中的信息,将会造成对表格语义理解不全面。(4)如何实现对财务指标词的消歧能力。在金融文本中,一个财务指标词通常可以有多个别名,如“实收资本”的别名为“股本”,将不同的别名映射到相同的指标词上即为“消歧”。现有工作中,既没有完备的财务指标词,又缺失对财务指标词的消歧映射,使得在财务数据比对时缺乏足够的数据支撑,导致财务数据比对效果很不理想。技术实现要素:针对上述金融文档核查方法中所存在的多种问题,本发明提供一种金融文档智能核查方法、装置及存储介质,将段落、表格数据转换为结构化金融元组,旨在实现一种全面、准确地从金融文档中提取财务指标和财务数据并对其进行核查校验的方法。为了实现上述目的,本发明提出一种金融文档智能核查方法,包括如下步骤:对金融领域文本的语义知识进行自然语言处理,构建金融领域语义知识图谱;从段落文本中抽取财务数据元组;具体为:获取整个段落文本,切分为多个长句,对每个长句进行分词、命名实体识别、依存句法分析、语义角色分析以及句子成分分析,段落内的几个长句之间做指代消解处理;定义模板;融合信息抽取,匹配模板获取元组中的各元素,完成段落文本的结构化;从表格文本中抽取财务数据元组;具体为:将文档中的表格转换为计算机可处理的数据结构;将跨页表格合并为一个表格;根据表头内容对表格进行语义切分;在每个语义分区中进行元素抽取,完成表格数据的结构化;对段落文本和表格文本中的财务数据进行核查。优选地,所述的对金融领域文本的语义知识进行自然语言处理,构建金融领域语义知识图谱步骤,具体为:解析金融文本所需的语义知识,包括:财务指标词、指标单位、文档中提到的公司全称及简称、特殊指代词;收集结构化、半结构化的金融数据或文档,抽取其中知识及关系,构建金融领域语义知识图谱。优选地,所述的财务数据元组,其结构为:时间,公司名,财务指标词,数字,单位。优选地,所述的对段落文本和表格文本中的财务数据进行核查,具体为:将结构化元组中的元素对齐;段落、表格和财务报表数据进行数据/指标与财务报表核对;段落、表格间的数据进行数据/指标上下文核对。优选地,所述的命名实体识别,其之后还包括:对句子中不同类别的命名实体用不同符号进行替换。优选地,所述的在每个语义分区中进行元素抽取,具体为:遍历语义分区中的每个数值单元格,依次定位到表格总标题、列标题、行标题,判断标题所属语义类型,即时间、公司名、财务指标词以及单位四种类型,再根据各种类型的元素抽取方法抽取当前数值单元格所对应的财务数据元组。优选地,所述的对段落文本和表格文本中的财务数据进行核查步骤,之前还包括:将各个元素进行规范化表示,至少包括:词语全称使用、数值单位换算、时间表示格式统一。优选地,所述的对段落文本和表格文本中的财务数据进行核查步骤,之后还包括:将核查结果按照需要的格式进行存储;具体为:针对每个结构化财务数据元组,以“公司名-时间-财务指标词”作为相同数据描述判断的条件;在对数据/指标核查结果数据存储时,将财务报表数据与不一致的段落数据或表格数据一起存储;在对数据/指标上下文核查结果存储时,将上下文数据一致的段落及表格数据存储在一起,将上下文不一致的段落及表格数据存储在一起。本发明还提出一种金融文档智能核查装置,包括:处理器;存储器,耦合至所述的处理器并存储有指令,所述的指令在由所述处理器执行实现所述的金融文档智能核查方法的步骤。本发明还提出一种计算机可读取存储介质,所述计算机可读取存储介质存储有金融文档智能核查方法的应用程序,所述应用程序实现如所述的金融文档智能核查方法的步骤。本发明提出一种金融文档智能核查方法、装置及存储介质,将自然语言处理与信息抽取技术相结合,针对段落文本方面,经过有效的分词、词性分析、命名实体识别、依存句法分析和语义角色分析等过程,极大地提升了文本信息抽取的效果和段落文本语义理解的效果,将非结构化文本数据转换为结构化金融元组;针对表格方面,使用文本表格最佳的解析工具python-docx将表格转换为计算机可处理的数据结构,再对表格按表头信息进行区域分割、表格语义理解,准确地实现表格元素定位与元素抽取,将半结构化表格数据转换为结构化金融元组;最后解析后的金融结构化元组,既可以与财务报表数据进行核对,也可以进行上下文一致性检验。附图说明为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图示出的结构获得其他的附图。图1为本发明一种实施例中金融文档智能核查方法流程图;图2为本发明一种实施例中步骤s10流程图;图3为本发明一种实施例中步骤s20流程图;图4为本发明一种实施例中段落文本结构化元组结构示意图;图5为本发明一种实施例中步骤s30流程图;图6为本发明一种实施例中表格文本结构化元组结构示意图;图7为本发明一种实施例中步骤s40流程图;图8为本发明一种实施例中步骤s50流程图;图9为本发明一种实施例中金融文档智能核查装置结构示意图;图10为本发明一种实施例中计算机可读取存储介质结构示意图;本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。具体实施方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。需要说明,若本发明实施例中有涉及方向性指示(诸如上、下、左、右、前、后……),则该方向性指示仅用于解释在某一特定姿态(如附图所示)下各部件之间的相对位置关系、运动情况等,如果该特定姿态发生改变时,则该方向性指示也相应地随之改变。另外,若本发明实施例中有涉及“第一”、“第二”等的描述,则该“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。本发明提出一种金融文档智能核查方法;本发明一种优选实施例中,如图1所示,包括如下步骤:s10、对金融领域文本的语义知识进行自然语言处理,构建金融领域语义知识图谱;如图2所示,具体为:s101、解析金融文本所需的语义知识,包括:财务指标词、指标单位、文档中提到的公司全称及简称、特殊指代词;本发明实施例中,财务指标词是金融文本中描述财务数据的专用名词,如“营业收入”、“应收账款余额”、“净利润”等,可以从多种财务报表中直接获取,其对应别名及数值单位需要金融领域专家进行添加与标注,构成财务指标词字典;在金融文档的“释义”章节,包含了对文中涉及的公司全称和简称、特殊指代词的说明,本发明实施例中,从当前解析的金融文档的“释义”章节提取知识构建语义知识图谱具体实现方法如下:金融文档的“释义”章节,包含了对文中涉及的各种名词的说明,如公司简称及对应的全称、特殊指代词或名词的详细说明,单位的说明,通过获取、分析、处理这些内容,可以得到“公司全称-公司简称”的映射,以及“指代词-指代内容”的映射,如“浙江长城电工科技有限公司”的简称为“控股股东”、“长城有限”,“报告期”指“2014年、2015年、2016年”;从这些数据中可以获得新的实体词、实体别名词、以及实体之间的关系,最后再将这些知识所代表的实体、实体别名、实体关系存入金融知识图谱中;s102、收集结构化、半结构化的金融数据或文档,抽取其中知识及关系,构建金融领域语义知识图谱;本发明实施例中,构建金融领域知识图谱,收集结构化、半结构化的金融数据或文档,如财务报表、公司年报等,进行财务指标相关知识和关系抽取,如“资产负债率”是一个知识数据,其包含关系为“单位”,该关系的值为“%”;s20、从段落文本中抽取财务数据元组,所述的财务数据元组,其结构为:时间,公司名,财务指标词,数字,单位;本发明实施例中,通过构建text2tuple模块的方式执行从段落文本中抽取财务数据元组,如图3所示,具体为:s201、获取整个段落文本,切分为多个长句,对每个长句进行分词、命名实体识别、依存句法分析、语义角色分析以及句子成分分析,段落内的几个长句之间做指代消解处理;本发明实施例中,为了增强对段落文本的语义理解能力,本方法以段落为基本单位首先进行分词、词性标注、命名实体识别,然后将句子中的实体名词替换为特定符号,简化句子的成分,最后再进行依存句法分析、句子成分分析和语义角色分析,同时实现段落内的指代消解。通过对文本句子结构的分析,可以辅助发现财务元组中各个元素的对应关系(如指标词所修饰的公司、指标词对应的时间),更好地理解句子内元素关系;本发明实施例中,分词采用jieba分词工具,其他句子结构分析采用哈工大的1tp工具,命名实体识别前需要加入用户自定义词典,包含公司名称、姓名、职位、城市名等,再对原句进行实体识别,并将不同的实体词替换为不同的符号(例如:原句“2014年-2016年,公司扣除非经常性损益后的加权平均净资产收益率分别为10.81%、14.76%、19.95%。”进行符号替换后为“tm1、tm2、tm3,公司idx1分别为num1、num2、num3。”),其次对符号替换后的句子再进行词性修改、依存句法、语义角色分析,需要特别说明的是,词性修改是将替换后的符号所对应的词性修改为替换前的原始实体词性,这样既可以保留原始语法结构又可以简化依存关系和语义角色关系;s202、定义模板;本发明实施例中,为金融文本定制的专家模板,专家模板的形式为正则表达式;主要提取元素为时间(tim)、指标词(idx)、数值(num)和公司(cmp)及其之间的关系,使用如下模板:(1)“其中”句式:tim1tim2tim3,其中:idx1(从|由)num1(增长|增加|减少|降低|上升|增高|下降)[到至]num2;(2)通用句式:tim1tim2tim3,idx1num1num2num3,tim4tim5,idx2num4num5;(3)“均为”句式:tim1tim2tim3idx1idx2均为nmu1;(4)“分别为”句式:tim1tim2tim3idx1分别为nmu1nmu2nmu3;tim1idx1idx2idx3分别为nmu1nmu2nmu3;s203、融合信息抽取,匹配模板获取元组中的各元素,完成段落文本的结构化。本发明实施例中,图4为段落文本结构化元组结构示意图,融合信息抽取,通过匹配模板,可以得到元组中的各个元素。同时引入上述构建的知识库中的语义知识,辅助元素抽取及元素关系的判断,根据步骤s201中的实体-符号替换规则,再将符号替换为原文本中的实体;得到的结构化的财务数据元组可存储到任意合适的数据库中,本发明将数据存储到常用的mongo数据库中。s30、从表格文本中抽取财务数据元组,所述的财务数据元组,其结构为:时间,公司名,财务指标词,数字,单位;本发明实施例中,通过设置table2tuple模块的方式执行从表格文本中抽取财务数据元组,如图5所示,具体为:s301、将文档中的表格转换为计算机可处理的数据结构;本发明实施例中,利用python-docx工具包分析docx文档的xml源码,将表格数据转换为计算机可存储表示的二维数组结构,这里也可以使用其他类似python-docx的工具包;s302、将跨页表格合并为一个表格;本发明实施例中,若相邻表格具有相同的列标题,且表格中间没有其他段落内容,则可进行表格合并,并删除冗余的列标题;s303、根据表头内容对表格进行语义切分;本发明实施例中,根据行首、列首的标题所映射区域,将表格进行区域分割,每个区域表示一种数据类型,该数据类型即为列首、行首标题所述语义;s304、定义各类元素抽取方法;本发明实施例中,所述元素类型分别为时间、公司名、财务指标词以及单位四种类型;对时间类型数据,首先使用预定义正则模板转换为形如“yyyy-mm-ddhh:mm:ss”的北京时间,再根据“北京时间-unix时间戳”转换规则,将该时间转换为unix时间戳;对公司名类型数据,首先使用预加入用户字典的命名实体识别技术抽取公司名的描述词,再根据前文得到的“公司全称-公司简称”映射关系中得到公司名的全称描述;对财务指标词类型数据,使用aho-corasick自动机算法快速匹配到财务指标词的描述,并根据前文得到的财务指标词典得到指标描述词的全称描述;对单位类型数据,使用预定于正则模板抽取出单位描述词;s305、在每个语义分区中进行元素抽取,完成表格数据的结构化,具体为:遍历语义分区中的每个数值单元格,依次定位到表格总标题、列标题、行标题,判断标题所属语义类型,即时间、公司名、财务指标词以及单位四种类型,再根据各种类型的元素抽取方法抽取当前数值单元格所对应的财务数据元组。本发明实施例中,逐行逐列分析每个语义区域内的每个单元格,以数字单元格所在行列中的非数字单元格中的内容作为候选元素集合,借助金融语义知识库筛选出元组元素,其他元素作为限定条件,限定条件作为财务指标词的限定描述;得到的结构化财务数据元组存储到mongo数据库中;本发明实施例中,图6为表格文本结构化元组结构示意图,表格语义分割,即根据表格行标题和列标题,判断其所对应的行和列的内容的语义,如标题中的“金额”和“占比”表示不同的语义,本发明根据其所对应的行或列对表格进行划分,不同的分区表示语义不同,针对所要解析的目标对象和表格区域的语义,本发明能够实现缩小待解析的表格范围,有助于提高抽取准确率。s40、对段落文本和表格文本中的财务数据进行核查;如图7所示,具体为:s401、将结构化元组中的元素对齐;本发明实施例中,结构化财务报表数据,外部财务报表数据形式多样,可能是已经结构化的数据,也可能是半结构化表格数据,本方法处理的是半结构化的表格数据,从表格的标题中可以获得公司名称,表格的行列标题可以获得指标词(含单位)和时间,指标词和时间所对应的表格元素为指标的数值,之后可整理成结构化金融数据;本发明实施例中,结构化元组对比中,需要首先将各个结构化元组的同类型元素统一到相同的维度,公司名全部统一为公司名的全称,时间根据语义知识图谱中的类型统一到年、月或天上,再将字符时间转换为unix时间,财务指标词需要根据语义知识图谱统一映射为财务指词全称,数值需要进行单位类型的核验,再将待比对的几个结构化元组的数值转换为其中最大的单位,并进行四舍五入,四舍五入所保留的有效数字以单位最大的数值为准;s402、段落、表格所有结构化元组和财务报表结构化元组进行数据/指标与财务报表核对;本发明实施例中,数据/指标与财务报表核对,将金融文档中段落、表格的所有结构化元组与财务报表数据进行“公司-时间-指标-单位”维度的统一,再对比其数值的一致性;s403、段落、表格的所有结构化金融元组之间进行数据/指标上下文核对。本发明实施例中,数据/指标上下文核对,将金融围挡中段落、表格的所有结构化元组进行“公司-时间-指标-单位”维度的统一,再对比上下文对同一数据描述的一致性;s50、将核查结果按照需要的格式进行存储,如图8所示,具体为:s501、在对数据/指标核查结果数据存储时,将财务报表数据与不一致的段落数据或表格数据一起存储,以达到对比凸显数据错误;s502、在对数据/指标上下文核查结果存储时,将上下文数据一致的段落及表格数据存储在一起,将上下文不一致的段落及表格数据存储在一起,以达到对比凸显数据错误。本发明还提出一种金融文档智能核查装置,如图9所示,包括:处理器;存储器,耦合至所述的处理器并存储有指令,所述的指令在由所述处理器执行实现所述的金融文档智能核查方法的步骤,例如:s10、对金融领域文本的语义知识进行自然语言处理,构建金融领域语义知识图谱;s20、从段落文本中抽取财务数据元组;具体为:获取整个段落文本,切分为多个长句,对每个长句进行分词、命名实体识别、依存句法分析、语义角色分析以及句子成分分析,段落内的几个长句之间做指代消解处理;定义模板;融合信息抽取,匹配模板获取元组中的各元素,完成段落文本的结构化;s30、从表格文本中抽取财务数据元组;具体为:将文档中的表格转换为计算机可处理的数据结构;将跨页表格合并为一个表格;根据表头内容对表格进行语义切分;在每个语义分区中进行元素抽取,完成表格数据的结构化;s40、对段落文本和表格文本中的财务数据进行核查。各步骤中具体的细节上文已经阐述,此处不再复述;本发明实施例中,所述的金融文档智能核查装置内置处理器,可以由集成电路组成,例如可以由单个封装的集成电路所组成,也可以是由多个相同功能或不同功能封装的集成电路所组成,包括一个或者多个中央处理器(centralprocessingunit,cpu)、微处理器、数字处理芯片、图形处理器及各种控制芯片的组合等。处理器利用各种接口和线路连接取各个部件,通过运行或执行存储在存储器内的程序或者单元,以及调用存储在存储器内的数据,以执行金融文档智能核查的各种功能和处理数据;存储器用于存储程序代码和各种数据,安装在金融文档智能核查装置中,并在运行过程中实现高速、自动地完成程序或数据的存取。所述存储器包括只读存储器(read-onlymemory,rom)、随机存储器(randomaccessmemory,ram)、可编程只读存储器(programmableread-onlymemory,prom)、可擦除可编程只读存储器(erasableprogrammableread-onlymemory,eprom)、一次可编程只读存储器(one-timeprogrammableread-onlymemory,otprom)、电子擦除式可复写只读存储器(electrically-erasableprogrammableread-onlymemory,eeprom)、只读光盘(compactdiscread-onlymemory,cd-rom)或其他光盘存储器、磁盘存储器、磁带存储器、或者能够用于携带或存储数据的计算机可读的任何其他介质。本发明还提出一种计算机可读取存储介质,如图10所示,所述计算机可读取存储介质存储有金融文档智能核查方法的应用程序,所述应用程序实现如所述的金融文档智能核查方法的步骤,例如:s10、对金融领域文本的语义知识进行自然语言处理,构建金融领域语义知识图谱;s20、从段落文本中抽取财务数据元组;具体为:获取整个段落文本,切分为多个长句,对每个长句进行分词、命名实体识别、依存句法分析、语义角色分析以及句子成分分析,段落内的几个长句之间做指代消解处理;定义模板;融合信息抽取,匹配模板获取元组中的各元素,完成段落文本的结构化;s30、从表格文本中抽取财务数据元组;具体为:将文档中的表格转换为计算机可处理的数据结构;将跨页表格合并为一个表格;根据表头内容对表格进行语义切分;在每个语义分区中进行元素抽取,完成表格数据的结构化;s40、对段落文本和表格文本中的财务数据进行核查。各步骤中具体的细节上文已经阐述,此处不再复述;在本发明的实施方式的描述中,需要说明的是,流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属
技术领域
:的技术人员所理解。在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理模块的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读取介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(ram),只读存储器(rom),可擦除可编辑只读存储器(eprom或闪速存储器),光纤装置,以及便携式光盘只读存储器(cdrom)。另外,计算机可读取介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。以上所述仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是在本发明的发明构思下,利用本发明说明书及附图内容所作的等效结构变换,或直接/间接运用在其他相关的
技术领域
:均包括在本发明的专利保护范围内。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1