CN113254581A - 一种基于神经语义解析的金融文本公式抽取方法及装置 - Google Patents

一种基于神经语义解析的金融文本公式抽取方法及装置 Download PDF

Info

Publication number
CN113254581A
CN113254581A CN202110571085.9A CN202110571085A CN113254581A CN 113254581 A CN113254581 A CN 113254581A CN 202110571085 A CN202110571085 A CN 202110571085A CN 113254581 A CN113254581 A CN 113254581A
Authority
CN
China
Prior art keywords
financial
formula
text
category
word
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.)
Granted
Application number
CN202110571085.9A
Other languages
English (en)
Other versions
CN113254581B (zh
Inventor
李东方
金能征
黄佳洋
陈清财
丘宇彬
陈枫
宋自文
张亚军
朱易文
徐维黛
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Turing Robot Co ltd
Original Assignee
Shenzhen Turing Robot Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shenzhen Turing Robot Co ltd filed Critical Shenzhen Turing Robot Co ltd
Priority to CN202110571085.9A priority Critical patent/CN113254581B/zh
Publication of CN113254581A publication Critical patent/CN113254581A/zh
Application granted granted Critical
Publication of CN113254581B publication Critical patent/CN113254581B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/334Query execution
    • G06F16/3344Query execution using natural language analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/35Clustering; Classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/289Phrasal analysis, e.g. finite state techniques or chunking
    • G06F40/295Named entity recognition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Biomedical Technology (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Evolutionary Computation (AREA)
  • Biophysics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Databases & Information Systems (AREA)
  • Machine Translation (AREA)

Abstract

本发明公开了一种基于神经语义解析的金融文本公式抽取方法及装置,其中,上述基于神经语义解析的金融文本公式抽取方法包括:定义抽象语法,输入蕴含金融公式的自然语言描述文本,即待抽取文本;对上述待抽取文本进行金融实体识别,并基于融合类别向量的编码器进行特征提取,基于语法树的解码器进行解码,获取各个时间步解码器输出的构造动作;基于构造动作列表构造上述金融公式对应的抽象语法树,并对上述抽象语法树进行深度优先搜索,获得形式化金融公式。与现有技术中的方案相比,本发明方案可以从自然语言描述文本中抽取金融公式,提高公式抽取效率,并使得金融领域中公式抽取和计算过程实现自动化,节省人力成本,提高办公效率。

Description

一种基于神经语义解析的金融文本公式抽取方法及装置
技术领域
本发明涉及自然语言处理技术领域,尤其涉及的是一种基于神经语义解析的金融文本公式抽取方法及装置。
背景技术
随着科学技术的迅速发展,人工智能等领域的创新和发展也越来越受到关注。人工智能是研究、开发用于模拟、延伸和扩展人智能的理论、方法、技术及应用系统的一门新技术科学。目前,人工智能技术已经在医疗、金融、教育等领域得以运用。语义解析作为人工智能的一个领域,其作用也越来越重要。语义解析是将自然语言句子映射为其语义表示。
现有技术中,在语义解析领域,大部分的工作集中在将自然语言转换为SQL、Lambda Calculus、编程语言这些语义表示。现有技术的问题在于,没有考虑到将自然语言转换为公式的需求,缺乏将自然语言描述文本转换为公式的方案,不利于进行自动化公式抽取,影响公式抽取的效率。
因此,现有技术还有待改进和发展。
发明内容
本发明的主要目的在于提供一种基于神经语义解析的金融文本公式抽取方法及装置,旨在解决现有技术中没有考虑到将自然语言转换为公式的需求,缺乏将自然语言描述文本转换为公式的方案,不利于进行公式抽取的问题,影响公式抽取的效率。
为了实现上述目的,本发明第一方面提供一种基于神经语义解析的金融文本公式抽取方法,其中,上述方法包括如下步骤:
定义抽象语法:定义金融公式的抽象语法描述,用于描述上述金融公式所对应的抽象语法;
输入待抽取文本:上述待抽取文本为蕴含上述金融公式的自然语言描述文本;
金融实体识别:对上述待抽取文本进行命名实体识别,识别出上述待抽取文本中包含的所有用于组成上述金融公式的金融实体,并标注上述金融实体在上述金融公式中的成分类别;
融合类别向量的编码器特征提取:对上述待抽取文本中的上述金融实体和其它词语构建语义表示向量,对上述金融实体分别构建表示其成分类别的类别表示向量,对所有其它词语按照同一个类别构建类别表示向量,将上述待抽取文本的词序列中每个上述金融实体及其它词语的上述语义表示向量与上述类别表示向量进行拼接后,按顺序输入到融合类别向量的编码器中,获取上述编码器输出的与上述待抽取文本对应的隐藏状态序列;
基于语法树的解码器进行解码:定义上述解码器的输出为上述金融公式对应的抽象语法树的一组构造动作,上述构造动作用于重建上述抽象语法树,在解码过程中的每一个时间步,以上述编码器的所有隐藏状态序列作为键值对,计算上述解码器当前时间步的隐藏状态对应的注意力向量,基于上述注意力向量计算所有可能的抽象语法树的构造动作的概率,将所有可能的构造动作中符合语法限制规则且对应的概率最大者作为上述当前时间步的解码器的输出;
金融公式语法树的构造:基于构造动作列表构造上述金融公式对应的抽象语法树,其中,上述构造动作列表包括上述解码器输出的所有构造动作;
形式化金融公式的生成:对上述金融公式的抽象语法树进行深度优先搜索,将每个节点和边进行拼接,获得上述形式化金融公式。
可选的,上述定义抽象语法包括如下步骤:
分析业务需求:根据实际业务场景,获取目标公式的类型;
定义变量类型:根据上述目标公式的类型定义对应的变量类型,上述变量类型是上述金融实体的类型;
定义产生式:定义抽象语法的产生式,以定义构造动作的数量和类型。
可选的,上述金融实体识别包括如下步骤:
微调获取命名实体识别模型:对包含金融公式的自然语言描述文本中的命名实体进行标注,获取由多条文本组成的初始数据集并将上述初始数据集划分为训练集、验证集和测试集,获取预训练模型,在上述训练集上结合上述验证集和上述测试集对上述预训练模型进行微调,将微调后的上述预训练模型作为命名实体识别模型;
金融实体信息识别:使用上述命名实体识别模型对上述待抽取文本进行命名实体识别,得到上述金融实体的位置和类别。
可选的,上述融合类别向量的编码器特征提取包括如下步骤:
语义表示向量的生成:将上述命名实体识别模型所识别出的每一个金融实体分别作为一个词,除上述金融实体外的其它所有字符,每个字符均当作一个词,按词在上述待抽取文本中的顺序对词进行排列得到一组词序列,将上述词序列进行向量化,得到语义表示向量;
类别表示向量的生成:将上述命名识别模型识别出的每一个金融实体的类别分别作为对应的词的类别,除上述金融实体外的其它词的类别均标记为None,按上述词序列的顺序排列上述类别,得到一组类别序列,将上述类别序列进行向量化,得到类别表示向量;
语义表示向量与类别表示向量的拼接:将各上述金融实体及其它字符的语义表示向量和类别表示向量进行拼接,得到目标输入向量;
编码器隐藏状态的计算:将上述目标输入向量输入到编码器中,得到与上述词序列相对应的隐藏状态序列。
可选的,上述基于语法树的解码器进行解码包括如下步骤:
解码器隐藏状态的计算:将上述编码器最后的隐藏状态作为解码器的初始隐藏状态,计算解码器的隐藏状态;
注意力向量的计算:以上述编码器的所有隐藏状态作为键值对,根据注意力机制计算获得注意力向量;
抽象语法树构造动作的概率计算与比较:上述抽象语法树的构造动作包括应用产生式规则和生成词语,在解码过程中,分别根据上述注意力向量计算两种上述构造动作的概率并比较概率大小,将上述语法限制规则下的概率最大的合法构造动作作为当前的构造动作。
可选的,上述金融公式语法树的构造包括如下步骤:
初始化金融公式语法树根节点:根据上述构造动作列表中的第一个构造动作,初始化上述金融公式的抽象语法树的根节点;
扩展金融公式语法树:根据后续的两种构造动作,为上述抽象语法树的前沿节点添加相应类型的子节点,直至生成完整的语法树,其中,上述两种构造动作包括应用产生式规则和生成词语。
可选的,上述形式化金融公式的生成包括如下步骤:
初始化一个形式化公式字符串:将初始的形式化公式字符串设置为空字符串;
判断当前公式语法树节点的类型:判断上述抽象语法树的当前节点对应运算符还是金融实体;
运算符对应语法树节点的处理:如果上述抽象语法树的当前节点对应一个运算符,则在上述初始的形式化公式字符串后附加一个左括号,作为当前形式化公式字符串,然后将上述当前节点的子节点以递归的方式进行处理,递归完成后将上述子节点对应的形式化公式子字符串附加到上述当前形式化公式字符串后,最后附加一个右括号,并作为返回结果;
金融实体对应语法树节点的处理:如果上述抽象语法树的当前节点对应一个金融实体,则将上述金融实体的名称作为返回结果;
输出形式化金融公式:基于上述返回结果输出形式化金融公式。
可选的,上述语义表示向量的生成包括如下步骤:
初始化词语列表:将词语列表初始化为空;
遍历金融实体列表并填充词语列表:上述金融实体列表包括上述命名实体识别模型识别出的所有金融实体,对上述金融实体列表中的每一个金融实体进行遍历,对于遍历过程中的每一个当前金融实体,获取上述当前金融实体在上述待抽取文本中的位置,将上述当前金融实体之前的其它文本内容进行单字分割,将分割后得到的词序列附加到上述词语列表中,将上述当前金融实体也作为一个词语附加到上述词语列表中,直到得到完整的词语列表,将上述完整的词语列表作为词序列;
词序列的向量化:将上述词序列中的每一个词语进行向量化,得到语义表示向量。
可选的,上述类别表示向量的生成包括如下步骤:
初始化类别列表:将类别列表初始化为空;
遍历金融实体列表并填充类别列表:上述金融实体列表包括上述命名实体识别模型识别出的所有金融实体,对上述金融实体列表中的每一个金融实体进行遍历,对于遍历过程中的每一个当前金融实体,获取上述当前金融实体的类别,将上述当前金融实体之前的其它文本内容进行单字分割,并将分割获得的每一个词的类别标记为None,将分割后得到的词序列的类别附加到上述类别列表中,将上述当前金融实体的类别也附加到上述类别列表中,直到得到完整的类别列表,将上述完整的类别列表作为类别序列;
类别序列的向量化:将上述词序列中的每一个类别进行向量化,得到类别表示向量。
本发明第二方面提供一种基于神经语义解析的金融文本公式抽取装置,其中,上述装置包括:
抽象语法获取模块,用于获取金融公式的抽象语法描述,上述抽象语法描述用于描述上述金融公式所对应的抽象语法;
待抽取文本输入模块,用于输入待抽取文本,上述待抽取文本为蕴含金融公式的自然语言描述文本;
金融实体识别模块,用于对上述待抽取文本进行命名实体识别,识别出上述待抽取文本中包含的所有用于组成上述金融公式的金融实体,并标注上述金融实体在上述金融公式中的成分类别;
融合类别向量的编码器模块,用于对上述待抽取文本中的上述金融实体和其它词语构建语义表示向量,对上述金融实体分别构建表示其成分类别的类别表示向量,对所有其它词语按照同一个类别构建类别表示向量,将上述待抽取文本的词序列中每个上述金融实体及其它词语的上述语义表示向量与上述类别表示向量进行拼接后,按顺序输入到融合类别向量的编码器中进行特征提取,获取上述编码器输出的上述待抽取文本对应的隐藏状态序列;
基于语法树的解码模块,用于定义上述解码器的输出为上述金融公式对应的抽象语法树的一组构造动作,上述构造动作用于重建上述抽象语法树,在解码过程中的每一个时间步,以上述编码器的所有隐藏状态序列作为键值对,计算上述解码器当前时间步的隐藏状态对应的注意力向量,基于上述注意力向量计算所有可能的抽象语法树的构造动作的概率,将所有可能的构造动作中符合语法限制规则且对应的概率最大者作为上述当前时间步的解码器的输出;
语法树构造模块,用于基于构造动作列表构造上述金融公式对应的抽象语法树,其中,上述构造动作列表包括上述解码器输出的所有构造动作;
形式化金融公式生成模块,用于对上述金融公式的抽象语法树进行深度优先搜索,将每个节点和边进行拼接,获得上述形式化金融公式。
由上可见,本发明方案中,定义抽象语法,输入蕴含金融公式的自然语言描述文本,即待抽取文本;对上述待抽取文本进行金融实体识别,并基于融合类别向量的编码器进行特征提取,基于语法树的解码器进行解码,获取各个时间步解码器输出的构造动作;基于构造动作列表构造上述金融公式对应的抽象语法树,并对上述抽象语法树进行深度优先搜索,获得形式化金融公式。与现有技术中将自然语言转换为SQL、Lambda Calculus、编程语言这些语义表示的方案相比,本发明方案可以从自然语言描述文本中抽取金融公式,提高公式抽取效率,并使得金融领域中公式抽取和计算过程实现自动化,节省人力成本,提高办公效率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。
图1是本发明实施例提供的一种基于神经语义解析的金融文本公式抽取方法的流程示意图;
图2是本发明实施例图1中步骤S100的具体流程示意图;
图3是本发明实施例提供的一种定义抽象语法的产生式的格式示意图;
图4是本发明实施例图1中步骤S300的具体流程示意图;
图5是本发明实施例提供的一种获取命名实体识别模型并进行金融识别的具体流程示意图;
图6是本发明实施例图1中步骤S400的具体流程示意图;
图7是本发明实施例图6中步骤S401的具体流程示意图;
图8是本发明实施例图6中步骤S402的具体流程示意图;
图9是本发明实施例图1中步骤S500的具体流程示意图;
图10是本发明实施例图9中步骤S502的具体流程示意图;
图11是本发明实施例图9中步骤S503的具体流程示意图;
图12是本发明实施例图1中步骤S600的具体流程示意图;
图13是本发明实施例图1中步骤S700的具体流程示意图;
图14是本发明实施例提供的一种基于神经语义解析的金融文本公式抽取装置的结构示意图;
图15是本发明实施例提供的一种基于神经语义解析的金融文本公式抽取系统的结构示意图;
图16是本发明实施例提供的一种基于神经语义解析的金融文本公式抽取系统的优选结构示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本发明实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本发明。在其它情况下,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本发明的描述。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当…时”或“一旦”或“响应于确定”或“响应于检测到”。类似的,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述的条件或事件]”或“响应于检测到[所描述条件或事件]”。
下面结合本发明实施例的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是本发明还可以采用其它不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似推广,因此本发明不受下面公开的具体实施例的限制。
随着科学技术的迅速发展,人工智能等领域的创新和发展也越来越受到关注。人工智能是研究、开发用于模拟、延伸和扩展人智能的理论、方法、技术及应用系统的一门新技术科学。目前,人工智能技术已经在医疗、金融、教育等领域得以运用。随着互联网的发展,产生的数据量越来越多,涉及的传统行业也越来越广,对人工智能技术的需求也会越来越大。语义解析作为人工智能的一个领域,其作用也越来越重要。语义解析是将自然语言句子映射为其语义表示,比如一阶逻辑、Python语言、SQL、公式等都属于语义表示,这些语义表示都能被计算机所理解或直接执行。因此语义解析技术能够将将自然语言转换成计算机可理解的语言,使得很多问题都能通过自动化来解决。
最早的语义解析方法主要是基于规则的,即使用人工构造的规则将自然语言映射为语义表示,这种方法的缺点在于难以构建一个覆盖面足够大的规则集合,不利于处理复杂多样的数据。随着技术的发展,出现了基于统计的语义即系方法,该方法通过学习训练语料中的统计信息来完成语义解析任务,该方法需要复杂的注释,难以扩展,只能应用在狭窄的领域。目前,使用神经语义进行解析的方法也收到关注,这种方法通常使用基于循环神经网络的编码器-解码器框架。
现有技术中,在语义解析领域,大部分的工作集中在将自然语言转换为SQL、Lambda Calculus、编程语言这些语义表示。现有技术的问题在于,没有考虑到将自然语言转换为公式的需求,缺乏将自然语言描述文本转换为公式的方案,不利于进行自动化公式抽取,影响公式抽取的效率。传统的基于规则的方式适用性不佳,应用领域狭窄,而最新的神经语义解析方法没有在金融文本公式抽取问题上加以探索和应用。因此,如何利用神经语义解析方法将金融领域中蕴含公式的自然语言描述文本转换为公式,是本发明要解决的技术问题。
为了解决现有技术的问题,本发明提供一种基于神经语义解析的金融文本公式抽取方法,在本发明实施例中,定义抽象语法,输入蕴含金融公式的自然语言描述文本,即待抽取文本;对上述待抽取文本进行金融实体识别,并基于融合类别向量的编码器进行特征提取,基于语法树的解码器进行解码,获取各个时间步解码器输出的构造动作;基于构造动作列表构造上述金融公式对应的抽象语法树,并对上述抽象语法树进行深度优先搜索,获得形式化金融公式。与现有技术中将自然语言转换为SQL、Lambda Calculus、编程语言这些语义表示的方案相比,本发明方案可以从自然语言描述文本中抽取金融公式,提高公式抽取效率,并使得金融领域中公式抽取和计算过程实现自动化,节省人力成本,提高办公效率。
示例性方法
如图1所示,本发明实施例提供一种基于神经语义解析的金融文本公式抽取方法,具体的,上述方法包括如下步骤:
步骤S100,定义抽象语法:定义金融公式的抽象语法描述,用于描述上述金融公式所对应的抽象语法。
其中,上述金融公式是金融领域的公式,上述抽象语法描述是一种语法描述,可以用于描述金融公式的产生式。
具体的,本实施例中,如图2所示,上述步骤S100包括:
步骤S101,分析业务需求:根据实际业务场景,获取目标公式的类型。
其中,上述目标公式的类型包括加、减、乘、除、取最小值、取最大值、取和、取中值、取平均等,还可以根据其它类型,在此不做具体限定。本实施例中,使用类型列表保存上述目标公式的类型,上述类型列表可以根据实际需求进行动态扩展。
步骤S102,定义变量类型:根据上述目标公式的类型定义对应的变量类型,上述变量类型是上述金融实体的类型。
其中,上述变量类型是组成目标公式的最小单元的类型。
步骤S103,定义产生式:定义抽象语法的产生式,以定义构造动作的数量和类型。
其中,构造动作包括应用产生式规则和生成词语两种,每一条产生式对应一个构造动作。上述抽象语法的产生式可以与上述目标公式的类型一一对应。图3是本发明实施例提供的一种定义抽象语法的产生式的格式示意图,本实施例中,在金融公式对应的抽象语法中,至少需要定义加、减、乘、除四种产生式。进一步的,可以根据实际需求动态调整上述产生式,例如,可以动态添加取最小值、取最大值、取和、取中值、取平均等多种产生式。
步骤S200,输入待抽取文本:上述待抽取文本为蕴含上述金融公式的自然语言描述文本。
其中,上述待抽取文本为需要进行公式抽取的自然语言描述文本。
步骤S300,金融实体识别:对上述待抽取文本进行命名实体识别,识别出上述待抽取文本中包含的所有用于组成上述金融公式的金融实体,并标注上述金融实体在上述金融公式中的成分类别。
其中,上述成分类别是上述金融实体在上述金融公式中的成分对应的类别。
具体的,基于命名实体识别模型对上述待抽取文本进行命名实体识别。本实施例中,如图4所示,上述步骤S300包括:
步骤S301,微调获取命名实体识别模型:对包含金融公式的自然语言描述文本中的命名实体进行标注,获取由多条文本组成的初始数据集并将上述初始数据集划分为训练集、验证集和测试集,获取预训练模型,在上述训练集上结合上述验证集和上述测试集对上述预训练模型进行微调,将微调后的上述预训练模型作为命名实体识别模型。
其中,上述包含金融公式的自然语言描述文本是预先获取的用于进行训练、验证和测试的文本,对其进行手动命名实体标注后,可获得用于进行训练、验证和测试的初始数据集。在一种应用场景中,也可以预先获取已标注的初始数据集。基于预设的划分比例将上述初始数据集随机划分成训练集、验证集和测试集,本实施例中,上述划分比例为0.8:0.1:0.1。
步骤S302,金融实体信息识别:使用上述命名实体识别模型对上述待抽取文本进行命名实体识别,得到上述金融实体的位置和类别。
图5是本发明实施例提供的一种获取命名实体识别模型并进行金融识别的具体流程示意图,如图5所示,本实施例中,获取预训练模型,判断预训练模型是否已微调,如果预训练模型未微调,则在训练集上对其参数进行微调,并使用验证集和测试集对微调过程进行验证和测试,提高参数微调后的识别准确性,将微调后的预训练模型作为本实施例中的命名实体识别模型。如果预训练模型已微调,则将已微调的预训练模型作为本实施例中的命名实体识别模型。使用命名实体识别模型识别出待抽取文本中的金融实体,并得到金融实体的在待抽取文本中的位置和类别信息。其中,上述预训练模型为预先训练的一种命名实体识别模型,例如,可以为Albert,Bert模型等,还可以为其它模型,在此不做具体限定。
步骤S400,融合类别向量的编码器特征提取:对上述待抽取文本中的上述金融实体和其它词语构建语义表示向量,对上述金融实体分别构建表示其成分类别的类别表示向量,对所有其它词语按照同一个类别构建类别表示向量,将上述待抽取文本的词序列中每个上述金融实体及其它词语的上述语义表示向量与上述类别表示向量进行拼接后,按顺序输入到融合类别向量的编码器中,获取上述编码器输出的与上述待抽取文本对应的隐藏状态序列。
具体的,通过计算隐藏状态来实现特征提取。本实施例中,上述隐藏状态序列是所有隐藏状态组成的序列,隐藏状态为
Figure BDA0003082614530000101
其中,T为待抽取文本的词序列的长度,hi为第i个词对应的隐藏状态,每一个词经过编码器编码得到一个隐藏状态。隐藏状态是循环神经网络的一个输出向量,多个隐藏状态组成隐藏状态序列。本实施例中,每一个词语对应一个隐藏状态,因此隐藏状态序列长度等于词序列长度。其中,上述其它词语为上述待抽取文本中,除识别出的金融实体以外的所有词语。本实施例中,对所有其它词语,按照预先设置的同一个类别,分别构建各其它词语对应的类别表示向量。具体的,本实施例中,如图6所示,上述步骤S400包括:
步骤S401,语义表示向量的生成:将上述命名实体识别模型所识别出的每一个金融实体分别作为一个词,除上述金融实体外的其它所有字符,每个字符均当作一个词,按词在上述待抽取文本中的顺序对词进行排列得到一组词序列,将上述词序列进行向量化,得到语义表示向量。
具体的,本实施例中,如图7所示,上述步骤S401包括:
步骤S4011,初始化词语列表:将词语列表初始化为空。
其中,上述词语列表是预先设置的用于保存待抽取文本中的词语的列表。
步骤S4012,遍历金融实体列表并填充词语列表:上述金融实体列表包括上述命名实体识别模型识别出的所有金融实体,对上述金融实体列表中的每一个金融实体进行遍历,对于遍历过程中的每一个当前金融实体,获取上述当前金融实体在上述待抽取文本中的位置,将上述当前金融实体之前的其它文本内容进行单字分割,将分割后得到的词序列附加到上述词语列表中,将上述当前金融实体也作为一个词语附加到上述词语列表中,直到得到完整的词语列表,将上述完整的词语列表作为词序列。
其中,上述完整的词语列表包括上述待抽取文本中的所有词语。遍历并将上述待抽取文本中的所有金融实体以及所有其它文本内容对应的词都添加到词语列表中获得完整的词语列表。
步骤S4013,词序列的向量化:将上述词序列中的每一个词语进行向量化,得到语义表示向量。
本实施例中,可以通过动态随机表征方法对每一个词语进行向量化,实际使用过程中,还可以有其它方法,在此不做具体限定。
步骤S402,类别表示向量的生成:将上述命名识别模型识别出的每一个金融实体的类别分别作为对应的词的类别,除上述金融实体外的其它词的类别均标记为None,按上述词序列的顺序排列上述类别,得到一组类别序列,将上述类别序列进行向量化,得到类别表示向量。
具体的,本实施例中,如图8所示,上述步骤S402包括:
步骤S4021,初始化类别列表:将类别列表初始化为空。
其中,上述类别列表是预先设置的用于保存待抽取文本中的词语对应的类别的列表。
步骤S4022,遍历金融实体列表并填充类别列表:上述金融实体列表包括上述命名实体识别模型识别出的所有金融实体,对上述金融实体列表中的每一个金融实体进行遍历,对于遍历过程中的每一个当前金融实体,获取上述当前金融实体的类别,将上述当前金融实体之前的其它文本内容进行单字分割,并将分割获得的每一个词的类别标记为None,将分割后得到的词序列的类别附加到上述类别列表中,将上述当前金融实体的类别也附加到上述类别列表中,直到得到完整的类别列表,将上述完整的类别列表作为类别序列。
其中,上述完整的类别列表包括上述待抽取文本中的所有词语对应的类别。遍历并将上述待抽取文本中的所有金融实体以及所有其它文本内容对应的词的类别都添加到类别列表中获得完整的类别列表。
步骤S4023,类别序列的向量化:将上述词序列中的每一个类别进行向量化,得到类别表示向量。
本实施例中,可以通过动态随机表征方法对每一个类别标记进行向量化,实际使用过程中,还可以有其它方法,在此不做具体限定。
步骤S403,语义表示向量与类别表示向量的拼接:将各上述金融实体及其它字符的语义表示向量和类别表示向量进行拼接,得到目标输入向量。
其中,上述目标输入向量是用于输入编码器中的向量。具体的,每个金融实体(视为一个词)和每个其它词语都有语义表示向量与类别表示向量,将每个词的语义表示向量与类别表示向量首尾拼接(直接拼接),得到一个向量input_embedding,多个词对应的input_embedding即为上述目标输入向量input_embeddings。
步骤S404,编码器隐藏状态的计算:将上述目标输入向量输入到编码器中,得到与上述词序列相对应的隐藏状态序列。
具体的,将上述目标输入向量input_embeddings输入到编码器中,得到与词序列相对应的隐藏状态
Figure BDA0003082614530000121
其中,T为待抽取文本的词序列的长度,hi为第i个词对应的隐藏状态。上述编码器可以为长短期记忆网络或门控循环单元,还可以是其它编码器,在此不做具体限定。上述隐藏状态序列包括所有词序列对应的隐藏状态。
步骤S500,基于语法树的解码器进行解码:定义上述解码器的输出为上述金融公式对应的抽象语法树的一组构造动作,上述构造动作用于重建上述抽象语法树,在解码过程中的每一个时间步,以上述编码器的所有隐藏状态序列作为键值对,计算上述解码器当前时间步的隐藏状态对应的注意力向量,基于上述注意力向量计算所有可能的抽象语法树的构造动作的概率,将所有可能的构造动作中符合语法限制规则且对应的概率最大者作为上述当前时间步的解码器的输出。
其中,上述抽象语法树是上述金融公式在抽象语法下的语法树,构造动作是用来构建语法树的一组动作。如“应用产生式规则expr->Add(expr left,expr right)”是一个动作,“生成词语‘沪深300指数’”也是一个动作。
具体的,本实施例中,如图9所示,上述步骤S500包括:
步骤S501,解码器隐藏状态的计算:将上述编码器最后的隐藏状态作为解码器的初始隐藏状态,计算解码器的隐藏状态。
其中,上述解码器的形式与上述编码器相对应,例如,可以使用长短期记忆网络或门控循环单元作为解码器,还可以使用其它形式的解码器,在此不做具体限定。
具体的,将编码器的最后隐藏状态hT作为解码器的初始隐藏状态,对于时间步t,利用构造动作at-1(即对上一时间步所输出的抽象语法树构造动作的嵌入),注意力向量
Figure BDA0003082614530000131
和父节点的信息pt(pt由父节点对应时间步的隐藏状态
Figure BDA0003082614530000132
和语法树的当前节点类型的嵌入
Figure BDA0003082614530000133
拼接而成),来计算当前时间步的隐藏状态st,如下公式(1)所示:
Figure BDA0003082614530000134
步骤S502,注意力向量的计算:以上述编码器的所有隐藏状态作为键值对,根据注意力机制计算获得注意力向量。
具体的,以编码器的所有隐藏状态为键值对,使用点积方法获取注意力权重并计算上下文向量ct,然后将上下文向量ct与解码器的隐藏状态st作拼接,进而计算注意力向量
Figure BDA0003082614530000135
具体的,本实施例中,如图10所示,上述步骤S502包括:
步骤S5021,注意力权重的计算:以编码器所有时间步t的隐藏状态作为键值对,计算解码器当前时间步t的注意力权重α(st-1,ht),权重的计算方法不限于点积方法。
步骤S5022,上下文向量的计算:使用注意力权重和编码器的所有隐藏状态计算上下文向量ct,如下公式(2)所示:
Figure BDA0003082614530000136
其中T为编码器输入词序列的总长度。
步骤S5023,注意力向量的计算:将上下文向量ct与解码器的隐藏状态st作拼接,根据如下公式(3)计算注意力向量
Figure BDA0003082614530000137
Figure BDA0003082614530000138
其中,Wc为可训练的权重矩阵,tanh为双曲正切。
步骤S503,抽象语法树构造动作的概率计算与比较:上述抽象语法树的构造动作包括应用产生式规则和生成词语,在解码过程中,分别根据上述注意力向量计算两种上述构造动作的概率并比较概率大小,将上述语法限制规则下的概率最大的合法构造动作作为当前的构造动作。
其中,上述合法构造动作是所有构造动作的子集,由语法限制规则和前一动作决定,例如,根据条件判断语句获得。语法限制规则由抽象语法得到,具体代码实现上是一组if else的条件判断语句,合法构造动作即由if else判断是否合法得到,每一个时间步解码器输出一个隐藏状态,然后通过计算输出一个构造动作。抽象语法树的构造动作主要有两种:应用产生式规则和生成词语;应用的产生式规则从之前定义的抽象语法中选择,生成词语则有从词典中选择词语以及从输入词序列中复制词语两种途径,故需分别计算这些构造动作的概率。具体的,本实施例中,如图11所示,上述步骤S503包括:
步骤S5031,计算产生式的应用概率:为抽象语法中定义的每一条产生式进行嵌入,并根据嵌入向量计算对应产生式的应用概率。
首先为抽象语法中定义的每一条产生式进行嵌入(不限于动态随机表征方法),记产生式c的嵌入为ac,随机初始化一个矩阵W,结合注意力向量
Figure BDA0003082614530000141
可根据如下公式(4)计算产生式c的应用概率:
Figure BDA0003082614530000142
其中,at代表当前时间步t的构造动作(下同),at=APPLYCONSTR[c]代表当前构造动作为应用产生式规则c,a<t是时间步t之前所有时间步的构造动作(下同),x是步骤S403中得到的拼接后的目标输入向量(下同)。
步骤S5032,计算词典词语的生成概率:对词典中所有词进行嵌入,然后根据嵌入向量计算对应词语的生成概率。
对于词典中某个词v,定义它的嵌入为av,同样随机初始化一个矩阵W(与上述矩阵非同一矩阵),则它的生成概率如以下公式(5)所示:
Figure BDA0003082614530000143
其中,gen代表词v的生成方式为从词典中生成,上述词典即所有词语的集合。
步骤S5033,计算输入的词序列中词语的生成概率:对于输入的词序列中的词语,使用一个指针网络,计算它们的生成概率。
对于输入的词序列中的词语v,使用一个指针网络,计算它的生成概率p(v|copy,at,x),其中copy代表词v的生成方式为从输入的词序列中复制。
步骤S5034,计算两种生成词语的方式的概率大小:使用softmax公式计算两种生成词语的方式的概率大小,用来判断当前时间步应该从词典中生成词语还是从输入词序列中复制词语,并将这个概率使用相乘的方式作用到词典和输入词序列中每一个词语的生成概率,最后得到一个词语真正的生成概率。
具体的,将词典生成方式的概率乘以步骤S5032中词典中每一个词语的生成概率,复制方式的概率乘以上述步骤S5033中输入词序列中每一个词语的生成概率,最后得到(词典中的和输入词序列中的)每一个词语的真正生成概率。
具体的,从词典中生成的概率p(gen|·)和从输入词序列中复制的概率p(copy|·)由式子
Figure BDA0003082614530000144
计算得出,最终从生成一个词语v的概率由以下公式(6)给出:
p(at=GENTOKEN[v]|a<t,x)
=p(gen|at,x)p(v|gen,at,x)+p(copy|at,x)p(v|copy,at,x) (6)
其中,Softmax公式的输出是包含两个概率值的向量,因此直接将softmax公式的计算结果分别赋值给p(gen|·)与p(copy|·)即可,此处的点号代表省略的先验条件,具体先验条件可以参照公式(6)。
步骤S5035,比较所有构造动作的概率大小:比较每一个词语的生成概率和每一条产生式的应用概率,去其中概率最大的合法构造动作作为当前语法树的构造动作。
根据前面定义的抽象语法和前一时间步的构造动作,使用规则的方式限定当前时间步的合法动作,比如如果前一时间步的构造动作为“应用产生式规则expr->Entity(ententity)”,那么当前时间步的合法动作只能是“生成词语v”,当然v可以有很多选择。
步骤S600,金融公式语法树的构造:基于构造动作列表构造上述金融公式对应的抽象语法树,其中,上述构造动作列表包括上述解码器输出的所有构造动作。
具体的,本实施例中,如图12所示,上述步骤S600包括:
步骤S601,初始化金融公式语法树根节点:根据上述构造动作列表中的第一个构造动作,初始化上述金融公式的抽象语法树的根节点。
步骤S602,扩展金融公式语法树:根据后续的两种构造动作,为上述抽象语法树的前沿节点添加相应类型的子节点,直至生成完整的语法树,其中,上述两种构造动作包括应用产生式规则和生成词语。
其中,上述构造动作列表中的第一个构造动作是根据解码器的初始隐藏状态通过概率计算得出的。添加子节点的过程中,使用条件判断语句为语法树添加子节点。
步骤S700,形式化金融公式的生成:对上述金融公式的抽象语法树进行深度优先搜索,将每个节点和边进行拼接,获得上述形式化金融公式。
其中,上述形式化金融公式是从上述待抽取文本中抽取获得的金融公式。具体的,本实施例中,如图13所示,上述步骤S700包括:
步骤S701,初始化一个形式化公式字符串:将初始的形式化公式字符串设置为空字符串。
步骤S702,判断当前公式语法树节点的类型:判断上述抽象语法树的当前节点对应运算符还是金融实体。
步骤S703,运算符对应语法树节点的处理:如果上述抽象语法树的当前节点对应一个运算符,则在上述初始的形式化公式字符串后附加一个左括号,作为当前形式化公式字符串,然后将上述当前节点的子节点以递归的方式进行处理,递归完成后将上述子节点对应的形式化公式子字符串附加到上述当前形式化公式字符串后,最后附加一个右括号,并作为返回结果。
步骤S704,金融实体对应语法树节点的处理:如果上述抽象语法树的当前节点对应一个金融实体,则将上述金融实体的名称作为返回结果。
步骤S705,输出形式化金融公式:基于上述返回结果输出形式化金融公式。
其中,上述运算符可以包括加、减、乘、除、取最大值、取最小值等运算符。本实施例中,以递归的方式对语法树的各个节点进行处理,最终获得完整的形式化金融公式并输出。
由上可见,本发明实施例提供的基于神经语义解析的金融文本公式抽取方法定义抽象语法,输入蕴含金融公式的自然语言描述文本,即待抽取文本;对上述待抽取文本进行金融实体识别,并基于融合类别向量的编码器进行特征提取,基于语法树的解码器进行解码,获取各个时间步解码器输出的构造动作;基于构造动作列表构造上述金融公式对应的抽象语法树,并对上述抽象语法树进行深度优先搜索,获得形式化金融公式。与现有技术中将自然语言转换为SQL、Lambda Calculus、编程语言这些语义表示的方案相比,本发明方案可以从自然语言描述文本中抽取金融公式,提高公式抽取效率,用户可以输入待抽取文本,即可得到能被计算机直接执行的金融公式,使得金融领域中公式抽取和计算过程实现自动化,节省人力成本,提高办公效率。
本发明实施例提供的基于神经语义解析的金融文本公式抽取方法中,输入是蕴含金融公式的自然语言描述文本,输出是金融公式的逻辑形式。为了保证输出公式的合法性,该方法的中间输出是构建公式语法树的一组构造动作。为了定义这些构造动作,该方法首先定义目标公式的抽象语法。然后对输入文本进行命名实体识别,得到组成公式的候选金融实体。接着对候选金融实体和文本中其它词语进行词嵌入和类别嵌入,再利用基于循环神经网络的编码器-解码器将输入词序列转换为一组抽象语法树构造动作,最后根据构造动作重建抽象语法树并对抽象语法树进行深度优先搜索,即可得到形式化的候选公式(即形式化金融公式)。本发明方案中,使用命名实体识别和带有语法约束的神经语义解析方法可以很好地解决金融文本公式抽取问题。首先使用一个命名实体识别模型识别命名实体及其类别,这避免了单纯使用序列到序列(Seq2Seq)方法输出实体不准确的问题。另外,本发明方案中使用的是预训练的命名实体识别模型,以解决小型数据集不能很好地提供通用知识的问题。其次,将语义表示向量和类别表示向量进行拼接,再输入到基于神经语义解析的关系抽取模型中,保证了命名实体识别模型和关系抽取模型间信息的完整传递。为了更好地建模公式的层次结构,在关系抽取模型的解码阶段考虑了公式的树形结构,并在每一个时间步加入了能提供父节点信息的父馈送连接(parent feeding connections)。同时还使用了一种基于注意力的复制机制,使得模型不仅能输出词典中的词语,还能直接从输入语句中复制需要的金融实体。最后,利用公式的语法限制规则显式地为解码器提供约束,使得输出的公式是合法的,也同时缓解了模型从较小训练数据中发现公式底层语法的需要。
示例性设备
如图14所示,对应于上述基于神经语义解析的金融文本公式抽取方法,本发明实施例还提供一种基于神经语义解析的金融文本公式抽取装置,上述基于神经语义解析的金融文本公式抽取装置包括:
抽象语法获取模块810,用于获取金融公式的抽象语法描述,上述抽象语法描述用于描述上述金融公式所对应的抽象语法。
其中,上述金融公式是金融领域的公式,上述抽象语法描述是一种语法描述,可以用于描述金融公式的产生式。
待抽取文本输入模块820,用于输入待抽取文本,上述待抽取文本为蕴含金融公式的自然语言描述文本。
其中,上述待抽取文本为需要进行公式抽取的自然语言描述文本。
金融实体识别模块830,用于对上述待抽取文本进行命名实体识别,识别出上述待抽取文本中包含的所有用于组成上述金融公式的金融实体,并标注上述金融实体在上述金融公式中的成分类别。
其中,上述成分类别是上述金融实体在上述金融公式中的成分对应的类别。
具体的,基于命名实体识别模型对上述待抽取文本进行命名实体识别。
融合类别向量的编码器模块840,用于对上述待抽取文本中的上述金融实体和其它词语构建语义表示向量,对上述金融实体分别构建表示其成分类别的类别表示向量,对所有其它词语按照同一个类别构建类别表示向量,将上述待抽取文本的词序列中每个上述金融实体及其它词语的上述语义表示向量与上述类别表示向量进行拼接后,按顺序输入到融合类别向量的编码器中进行特征提取,获取上述编码器输出的上述待抽取文本对应的隐藏状态序列。
具体的,通过计算隐藏状态来实现特征提取。本实施例中,上述隐藏状态序列是所有隐藏状态组成的序列,隐藏状态为
Figure BDA0003082614530000171
其中,T为待抽取文本的词序列的长度,hi为第i个词对应的隐藏状态,每一个词经过编码器编码得到一个隐藏状态。隐藏状态是循环神经网络的一个输出向量,多个隐藏状态组成隐藏状态序列。本实施例中,每一个词语对应一个隐藏状态,因此隐藏状态序列长度等于词序列长度。其中,上述其它词语为上述待抽取文本中,除识别出的金融实体以外的所有词语。本实施例中,对所有其它词语,按照预先设置的同一个类别,分别构建各其它词语对应的类别表示向量。
基于语法树的解码模块850,用于定义上述解码器的输出为上述金融公式对应的抽象语法树的一组构造动作,上述构造动作用于重建上述抽象语法树,在解码过程中的每一个时间步,以上述编码器的所有隐藏状态序列作为键值对,计算上述解码器当前时间步的隐藏状态对应的注意力向量,基于上述注意力向量计算所有可能的抽象语法树的构造动作的概率,将所有可能的构造动作中符合语法限制规则且对应的概率最大者作为上述当前时间步的解码器的输出。
其中,上述抽象语法树是上述金融公式在抽象语法下的语法树,构造动作是用来构建语法树的一组动作。如“应用产生式规则expr->Add(expr left,expr right)”是一个动作,“生成词语‘沪深300指数’”也是一个动作。
语法树构造模块860,用于基于构造动作列表构造上述金融公式对应的抽象语法树,其中,上述构造动作列表包括上述解码器输出的所有构造动作。
形式化金融公式生成模块870,用于对上述金融公式的抽象语法树进行深度优先搜索,将每个节点和边进行拼接,获得上述形式化金融公式。
其中,上述形式化金融公式是从上述待抽取文本中抽取获得的金融公式。
具体的,上述基于神经语义解析的金融文本公式抽取装置对应的各模块的具体功能及其具体实现方式可以参照上述方法实施例,在此不再赘述。
由上可见,本发明实施例提供的基于神经语义解析的金融文本公式抽取装置通过各模块定义抽象语法,输入蕴含金融公式的自然语言描述文本,即待抽取文本;对上述待抽取文本进行金融实体识别,并基于融合类别向量的编码器进行特征提取,基于语法树的解码器进行解码,获取各个时间步解码器输出的构造动作;基于构造动作列表构造上述金融公式对应的抽象语法树,并对上述抽象语法树进行深度优先搜索,获得形式化金融公式。与现有技术中将自然语言转换为SQL、Lambda Calculus、编程语言这些语义表示的方案相比,本发明方案可以从自然语言描述文本中抽取金融公式,提高公式抽取效率,用户可以输入待抽取文本,即可得到能被计算机直接执行的金融公式,使得金融领域中公式抽取和计算过程实现自动化,节省人力成本,提高办公效率。
本发明实施例还结合一种具体应用场景对一种基于神经语义解析的金融文本公式抽取系统进行具体描述。图15是本发明实施例提供的一种基于神经语义解析的金融文本公式抽取系统的结构示意图,如图15所示,上述基于神经语义解析的金融文本公式抽取系统包括用户交互模块1和公式抽取模块2。其中,上述用户交互模块1包括输入单元11和输出单元12。上述公式抽取模块包括命名实体识别单元21、关系抽取单元22和排序与后处理单元23。上述输入单元11用于输入待抽取文本,上述输出单元12用于输出排序与后处理单元23的处理结果。图16是本发明实施例提供的一种基于神经语义解析的金融文本公式抽取系统的优选结构示意图,如图16所示,本发明的优选实施方式中,上述基于神经语义解析的金融文本公式抽取系统包括用户交互模块3和公式抽取模块4,上述用户交互模块3包括输入单元31和输出单元32,上述公式抽取模块4包括初始自然语言文本获取单元41,金融实体识别单元42,融合类别向量的编码器单元43,基于语法树的解码单元44,金融公式语法树的构造单元45,形式化金融公式的生成单元46和排序与后处理单元47。具体工作过程如下:上述初始自然语言文本获取单元41接受来自输入单元31的自然语言文本并进行预处理,上述金融实体识别单元42对上述初始自然语言文本获取单元41处理过的文本进行命名实体识别,上述融合类别向量的编码器单元43根据命名实体识别所得到的命名实体的位置及类别信息得到词序列与类别序列,并对这两个序列使用动态随机表征的方法进行词嵌入与类别嵌入得到语义表示向量和类别表示向量,然后对两个向量进行拼接并将拼接后的向量并输入到基于循环神经网络的编码器中提取特征。上述基于语法树的解码器单元44以编码器的最后一个隐藏状态作为初始隐藏状态,以编码器的所有时间步的隐藏状态作为键值对计算注意力向量,进而计算各种构造动作的概率并最终输出一组构造动作,其中基于语法树的解码器单元44将会使用集束搜索计算得到多组可能的构造动作。上述金融公式语法树的构造单元45根据上述基于语法树的解码器单元44得到的多组构造动作列表构造出多棵候选抽象语法树。上述形式化金融公式的生成单元46对抽象语法树进行深度优先搜索,生成候选公式。上述排序与后处理单元47根据置信度对候选公式进行排序,输出一组有序的候选公式(即形式化金融公式),上述输出单元32接收来自上述述排序与后处理单元47的结果并进行可视化输出。
由上可见,上述基于神经语义解析的金融文本公式抽取系统使用金融实体识别单元42和/或关系抽取单元22两个主要的单元,将蕴含公式的自然语言描述文本转化为公式的逻辑形式,使得金融指标的计算和比较过程能够实现自动化,从而节省了大量的人力成本,提高相关领域从业人员的办公效率。
基于上述实施例,本发明还提供了一种智能终端,上述智能终端包括通过系统总线连接的处理器、存储器、网络接口以及显示屏。其中,该智能终端的处理器用于提供计算和控制能力。该智能终端的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和基于神经语义解析的金融文本公式抽取程序。该内存储器为非易失性存储介质中的操作系统和基于神经语义解析的金融文本公式抽取程序的运行提供环境。该智能终端的网络接口用于与外部的终端通过网络连接通信。该基于神经语义解析的金融文本公式抽取程序被处理器执行时实现上述任意一种基于神经语义解析的金融文本公式抽取方法的步骤。该智能终端的显示屏可以是液晶显示屏或者电子墨水显示屏。
本发明实施例还提供一种计算机可读存储介质,上述计算机可读存储介质上存储有基于神经语义解析的金融文本公式抽取程序,上述基于神经语义解析的金融文本公式抽取程序被处理器执行时实现本发明实施例提供的任意一种基于神经语义解析的金融文本公式抽取方法的步骤。
应理解,上述实施例中各步骤的序号大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将上述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各实例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟是以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同的方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本发明所提供的实施例中,应该理解到,所揭露的装置/终端设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/终端设备实施例仅仅是示意性的,例如,上述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以由另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。
上述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,上述计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,上述计算机程序包括计算机程序代码,上述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。上述计算机可读介质可以包括:能够携带上述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,上述计算机可读存储介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解;其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不是相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。

Claims (10)

1.一种基于神经语义解析的金融文本公式抽取方法,其特征在于,所述方法包括如下步骤:
定义抽象语法:定义金融公式的抽象语法描述,用于描述所述金融公式所对应的抽象语法;
输入待抽取文本:所述待抽取文本为蕴含所述金融公式的自然语言描述文本;
金融实体识别:对所述待抽取文本进行命名实体识别,识别出所述待抽取文本中包含的所有用于组成所述金融公式的金融实体,并标注所述金融实体在所述金融公式中的成分类别;
融合类别向量的编码器特征提取:对所述待抽取文本中的所述金融实体和其它词语构建语义表示向量,对所述金融实体分别构建表示其成分类别的类别表示向量,对所有其它词语按照同一个类别构建类别表示向量,将所述待抽取文本的词序列中每个所述金融实体及其它词语的所述语义表示向量与所述类别表示向量进行拼接后,按顺序输入到融合类别向量的编码器中,获取所述编码器输出的与所述待抽取文本对应的隐藏状态序列;
基于语法树的解码器进行解码:定义所述解码器的输出为所述金融公式对应的抽象语法树的一组构造动作,所述构造动作用于重建所述抽象语法树,在解码过程中的每一个时间步,以所述编码器的所有隐藏状态序列作为键值对,计算所述解码器当前时间步的隐藏状态对应的注意力向量,基于所述注意力向量计算所有可能的抽象语法树的构造动作的概率,将所有可能的构造动作中符合语法限制规则且对应的概率最大者作为所述当前时间步的解码器的输出;
金融公式语法树的构造:基于构造动作列表构造所述金融公式对应的抽象语法树,其中,所述构造动作列表包括所述解码器输出的所有构造动作;
形式化金融公式的生成:对所述金融公式的抽象语法树进行深度优先搜索,将每个节点和边进行拼接,获得所述形式化金融公式。
2.根据权利要求1所述的基于神经语义解析的金融文本公式抽取方法,其特征在于,所述定义抽象语法包括如下步骤:
分析业务需求:根据实际业务场景,获取目标公式的类型;
定义变量类型:根据所述目标公式的类型定义对应的变量类型,所述变量类型是所述金融实体的类型;
定义产生式:定义抽象语法的产生式,以定义构造动作的数量和类型。
3.根据权利要求1所述的基于神经语义解析的金融文本公式抽取方法,其特征在于,所述金融实体识别包括如下步骤:
微调获取命名实体识别模型:对包含金融公式的自然语言描述文本中的命名实体进行标注,获取由多条文本组成的初始数据集并将所述初始数据集划分为训练集、验证集和测试集,获取预训练模型,在所述训练集上结合所述验证集和所述测试集对所述预训练模型进行微调,将微调后的所述预训练模型作为命名实体识别模型;
金融实体信息识别:使用所述命名实体识别模型对所述待抽取文本进行命名实体识别,得到所述金融实体的位置和类别。
4.根据权利要求3所述的基于神经语义解析的金融文本公式抽取方法,其特征在于,所述融合类别向量的编码器特征提取包括如下步骤:
语义表示向量的生成:将所述命名实体识别模型所识别出的每一个金融实体分别作为一个词,除所述金融实体外的其它所有字符,每个字符均当作一个词,按词在所述待抽取文本中的顺序对词进行排列得到一组词序列,将所述词序列进行向量化,得到语义表示向量;
类别表示向量的生成:将所述命名识别模型识别出的每一个金融实体的类别分别作为对应的词的类别,除所述金融实体外的其它词的类别均标记为None,按所述词序列的顺序排列所述类别,得到一组类别序列,将所述类别序列进行向量化,得到类别表示向量;
语义表示向量与类别表示向量的拼接:将各所述金融实体及其它字符的语义表示向量和类别表示向量进行拼接,得到目标输入向量;
编码器隐藏状态的计算:将所述目标输入向量输入到编码器中,得到与所述词序列相对应的隐藏状态序列。
5.根据权利要求1所述的基于神经语义解析的金融文本公式抽取方法,其特征在于,所述基于语法树的解码器进行解码包括如下步骤:
解码器隐藏状态的计算:将所述编码器最后的隐藏状态作为解码器的初始隐藏状态,计算解码器的隐藏状态;
注意力向量的计算:以所述编码器的所有隐藏状态作为键值对,根据注意力机制计算获得注意力向量;
抽象语法树构造动作的概率计算与比较:所述抽象语法树的构造动作包括应用产生式规则和生成词语,在解码过程中,分别根据所述注意力向量计算两种所述构造动作的概率并比较概率大小,将所述语法限制规则下的概率最大的合法构造动作作为当前的构造动作。
6.根据权利要求1所述的基于神经语义解析的金融文本公式抽取方法,其特征在于,所述金融公式语法树的构造包括如下步骤:
初始化金融公式语法树根节点:根据所述构造动作列表中的第一个构造动作,初始化所述金融公式的抽象语法树的根节点;
扩展金融公式语法树:根据后续的两种构造动作,为所述抽象语法树的前沿节点添加相应类型的子节点,直至生成完整的语法树,其中,所述两种构造动作包括应用产生式规则和生成词语。
7.根据权利要求1所述的基于神经语义解析的金融文本公式抽取方法,其特征在于,所述形式化金融公式的生成包括如下步骤:
初始化一个形式化公式字符串:将初始的形式化公式字符串设置为空字符串;
判断当前公式语法树节点的类型:判断所述抽象语法树的当前节点对应运算符还是金融实体;
运算符对应语法树节点的处理:如果所述抽象语法树的当前节点对应一个运算符,则在所述初始的形式化公式字符串后附加一个左括号,作为当前形式化公式字符串,然后将所述当前节点的子节点以递归的方式进行处理,递归完成后将所述子节点对应的形式化公式子字符串附加到所述当前形式化公式字符串后,最后附加一个右括号,并作为返回结果;
金融实体对应语法树节点的处理:如果所述抽象语法树的当前节点对应一个金融实体,则将所述金融实体的名称作为返回结果;
输出形式化金融公式:基于所述返回结果输出形式化金融公式。
8.根据权利要求4所述的基于神经语义解析的金融文本公式抽取方法,其特征在于,所述语义表示向量的生成包括如下步骤:
初始化词语列表:将词语列表初始化为空;
遍历金融实体列表并填充词语列表:所述金融实体列表包括所述命名实体识别模型识别出的所有金融实体,对所述金融实体列表中的每一个金融实体进行遍历,对于遍历过程中的每一个当前金融实体,获取所述当前金融实体在所述待抽取文本中的位置,将所述当前金融实体之前的其它文本内容进行单字分割,将分割后得到的词序列附加到所述词语列表中,将所述当前金融实体也作为一个词语附加到所述词语列表中,直到得到完整的词语列表,将所述完整的词语列表作为词序列;
词序列的向量化:将所述词序列中的每一个词语进行向量化,得到语义表示向量。
9.根据权利要求4所述的基于神经语义解析的金融文本公式抽取方法,其特征在于,所述类别表示向量的生成包括如下步骤:
初始化类别列表:将类别列表初始化为空;
遍历金融实体列表并填充类别列表:所述金融实体列表包括所述命名实体识别模型识别出的所有金融实体,对所述金融实体列表中的每一个金融实体进行遍历,对于遍历过程中的每一个当前金融实体,获取所述当前金融实体的类别,将所述当前金融实体之前的其它文本内容进行单字分割,并将分割获得的每一个词的类别标记为None,将分割后得到的词序列的类别附加到所述类别列表中,将所述当前金融实体的类别也附加到所述类别列表中,直到得到完整的类别列表,将所述完整的类别列表作为类别序列;
类别序列的向量化:将所述词序列中的每一个类别进行向量化,得到类别表示向量。
10.一种基于神经语义解析的金融文本公式抽取装置,其特征在于,所述装置包括:
抽象语法获取模块,用于获取金融公式的抽象语法描述,所述抽象语法描述用于描述所述金融公式所对应的抽象语法;
待抽取文本输入模块,用于输入待抽取文本,所述待抽取文本为蕴含金融公式的自然语言描述文本;
金融实体识别模块,用于对所述待抽取文本进行命名实体识别,识别出所述待抽取文本中包含的所有用于组成所述金融公式的金融实体,并标注所述金融实体在所述金融公式中的成分类别;
融合类别向量的编码器模块,用于对所述待抽取文本中的所述金融实体和其它词语构建语义表示向量,对所述金融实体分别构建表示其成分类别的类别表示向量,对所有其它词语按照同一个类别构建类别表示向量,将所述待抽取文本的词序列中每个所述金融实体及其它词语的所述语义表示向量与所述类别表示向量进行拼接后,按顺序输入到融合类别向量的编码器中进行特征提取,获取所述编码器输出的所述待抽取文本对应的隐藏状态序列;
基于语法树的解码模块,用于定义所述解码器的输出为所述金融公式对应的抽象语法树的一组构造动作,所述构造动作用于重建所述抽象语法树,在解码过程中的每一个时间步,以所述编码器的所有隐藏状态序列作为键值对,计算所述解码器当前时间步的隐藏状态对应的注意力向量,基于所述注意力向量计算所有可能的抽象语法树的构造动作的概率,将所有可能的构造动作中符合语法限制规则且对应的概率最大者作为所述当前时间步的解码器的输出;
语法树构造模块,用于基于构造动作列表构造所述金融公式对应的抽象语法树,其中,所述构造动作列表包括所述解码器输出的所有构造动作;
形式化金融公式生成模块,用于对所述金融公式的抽象语法树进行深度优先搜索,将每个节点和边进行拼接,获得所述形式化金融公式。
CN202110571085.9A 2021-05-25 2021-05-25 一种基于神经语义解析的金融文本公式抽取方法及装置 Active CN113254581B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110571085.9A CN113254581B (zh) 2021-05-25 2021-05-25 一种基于神经语义解析的金融文本公式抽取方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110571085.9A CN113254581B (zh) 2021-05-25 2021-05-25 一种基于神经语义解析的金融文本公式抽取方法及装置

Publications (2)

Publication Number Publication Date
CN113254581A true CN113254581A (zh) 2021-08-13
CN113254581B CN113254581B (zh) 2022-08-19

Family

ID=77184245

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110571085.9A Active CN113254581B (zh) 2021-05-25 2021-05-25 一种基于神经语义解析的金融文本公式抽取方法及装置

Country Status (1)

Country Link
CN (1) CN113254581B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114003231A (zh) * 2021-09-28 2022-02-01 厦门国际银行股份有限公司 一种sql语法解析树优化方法及系统
CN117609519A (zh) * 2024-01-22 2024-02-27 云南大学 一种电力碳排放计算公式中的实体关系抽取方法
CN117875290A (zh) * 2024-03-13 2024-04-12 中国电子科技集团公司第十五研究所 面向成本价格超长公式计算链的组合配置器

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107301163A (zh) * 2016-04-14 2017-10-27 科大讯飞股份有限公司 包含公式的文本语义解析方法及装置
US20180157642A1 (en) * 2016-12-07 2018-06-07 Abbyy Infopoisk Llc Information extraction using alternative variants of syntactico-semantic parsing
CN109117479A (zh) * 2018-08-13 2019-01-01 数据地平线(广州)科技有限公司 一种金融文档智能核查方法、装置及存储介质
US20190122145A1 (en) * 2017-10-23 2019-04-25 Baidu Online Network Technology (Beijing) Co., Ltd. Method, apparatus and device for extracting information
CN109800411A (zh) * 2018-12-03 2019-05-24 哈尔滨工业大学(深圳) 临床医疗实体及其属性抽取方法
CN110083682A (zh) * 2019-04-19 2019-08-02 西安交通大学 一种基于多轮注意力机制的机器阅读理解答案获取方法
CN110597959A (zh) * 2019-09-17 2019-12-20 北京百度网讯科技有限公司 文本信息抽取方法、装置以及电子设备
CN110609849A (zh) * 2019-08-27 2019-12-24 广东工业大学 一种基于sql语法树节点类型的自然语言生成方法
US20200394365A1 (en) * 2019-05-08 2020-12-17 Tata Consultancy Services Limited Automated extraction of message sequence chart from textual description
WO2021042516A1 (zh) * 2019-09-02 2021-03-11 平安科技(深圳)有限公司 命名实体识别方法、装置及计算机可读存储介质
CN112612871A (zh) * 2020-12-17 2021-04-06 浙江大学 一种基于序列生成模型的多事件检测方法

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107301163A (zh) * 2016-04-14 2017-10-27 科大讯飞股份有限公司 包含公式的文本语义解析方法及装置
US20180157642A1 (en) * 2016-12-07 2018-06-07 Abbyy Infopoisk Llc Information extraction using alternative variants of syntactico-semantic parsing
US20190122145A1 (en) * 2017-10-23 2019-04-25 Baidu Online Network Technology (Beijing) Co., Ltd. Method, apparatus and device for extracting information
CN109117479A (zh) * 2018-08-13 2019-01-01 数据地平线(广州)科技有限公司 一种金融文档智能核查方法、装置及存储介质
CN109800411A (zh) * 2018-12-03 2019-05-24 哈尔滨工业大学(深圳) 临床医疗实体及其属性抽取方法
CN110083682A (zh) * 2019-04-19 2019-08-02 西安交通大学 一种基于多轮注意力机制的机器阅读理解答案获取方法
US20200394365A1 (en) * 2019-05-08 2020-12-17 Tata Consultancy Services Limited Automated extraction of message sequence chart from textual description
CN110609849A (zh) * 2019-08-27 2019-12-24 广东工业大学 一种基于sql语法树节点类型的自然语言生成方法
WO2021042516A1 (zh) * 2019-09-02 2021-03-11 平安科技(深圳)有限公司 命名实体识别方法、装置及计算机可读存储介质
CN110597959A (zh) * 2019-09-17 2019-12-20 北京百度网讯科技有限公司 文本信息抽取方法、装置以及电子设备
CN112612871A (zh) * 2020-12-17 2021-04-06 浙江大学 一种基于序列生成模型的多事件检测方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
陈平等: "基于BERT-wwm-ext多特征文本表示的经济事件主体抽取方法研究", 《武汉电力职业技术学院学报》 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114003231A (zh) * 2021-09-28 2022-02-01 厦门国际银行股份有限公司 一种sql语法解析树优化方法及系统
CN114003231B (zh) * 2021-09-28 2022-07-26 厦门国际银行股份有限公司 一种sql语法解析树优化方法及系统
CN117609519A (zh) * 2024-01-22 2024-02-27 云南大学 一种电力碳排放计算公式中的实体关系抽取方法
CN117609519B (zh) * 2024-01-22 2024-04-19 云南大学 一种电力碳排放计算公式中的实体关系抽取方法
CN117875290A (zh) * 2024-03-13 2024-04-12 中国电子科技集团公司第十五研究所 面向成本价格超长公式计算链的组合配置器
CN117875290B (zh) * 2024-03-13 2024-05-24 中国电子科技集团公司第十五研究所 面向成本价格超长公式计算链的组合配置器

Also Published As

Publication number Publication date
CN113254581B (zh) 2022-08-19

Similar Documents

Publication Publication Date Title
CN113254581B (zh) 一种基于神经语义解析的金融文本公式抽取方法及装置
CN111783474B (zh) 一种评论文本观点信息处理方法、装置及存储介质
WO2022218186A1 (zh) 个性化知识图谱的生成方法、装置及计算机设备
CN113010693A (zh) 融合指针生成网络的知识图谱智能问答方法
CN111651974B (zh) 一种隐式篇章关系分析方法和系统
CN109902159A (zh) 一种基于自然语言处理的智能运维语句相似度匹配方法
CN108062388A (zh) 人机对话的回复生成方法和装置
CN109214006B (zh) 图像增强的层次化语义表示的自然语言推理方法
CN110196906A (zh) 面向金融行业的基于深度学习文本相似性检测方法
CN111611810A (zh) 一种多音字读音消歧装置及方法
CN112052684A (zh) 电力计量的命名实体识别方法、装置、设备和存储介质
CN115357719B (zh) 基于改进bert模型的电力审计文本分类方法及装置
CN111259632A (zh) 一种基于语义对齐的树结构数学应用题求解方法及系统
CN113672731B (zh) 基于领域信息的情感分析方法、装置、设备及存储介质
CN111368082A (zh) 一种基于层次网络的领域自适应词嵌入的情感分析方法
CN113591482A (zh) 文本生成方法、装置、设备及计算机可读存储介质
CN113743083A (zh) 一种基于深度语义表征的试题难度预测方法及系统
CN113412492A (zh) 用于量子玻尔兹曼机的监督训练的量子算法
US20240296339A1 (en) Method, device, and apparatus for verifying veracity of statement, and medium
CN114004231A (zh) 一种中文专词抽取方法、系统、电子设备及存储介质
CN114692605A (zh) 一种融合句法结构信息的关键词生成方法及装置
CN116561275A (zh) 对象理解方法、装置、设备及存储介质
CN117891939A (zh) 粒子群算法结合cnn卷积神经网络的文本分类方法
CN113312498B (zh) 用无向图嵌入知识图谱的文本信息抽取方法
CN118278543A (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
GR01 Patent grant
GR01 Patent grant