CN116341564A - 基于语义理解的问题推理方法和装置 - Google Patents

基于语义理解的问题推理方法和装置 Download PDF

Info

Publication number
CN116341564A
CN116341564A CN202310321052.8A CN202310321052A CN116341564A CN 116341564 A CN116341564 A CN 116341564A CN 202310321052 A CN202310321052 A CN 202310321052A CN 116341564 A CN116341564 A CN 116341564A
Authority
CN
China
Prior art keywords
text
decoding
sequence
vector
processed
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
Application number
CN202310321052.8A
Other languages
English (en)
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.)
China International Financial Ltd By Share Ltd
Original Assignee
China International Financial Ltd By Share 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 China International Financial Ltd By Share Ltd filed Critical China International Financial Ltd By Share Ltd
Priority to CN202310321052.8A priority Critical patent/CN116341564A/zh
Publication of CN116341564A publication Critical patent/CN116341564A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/151Transformation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/284Lexical analysis, e.g. tokenisation or collocates
    • 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
    • G06N3/045Combinations of networks
    • G06N3/0455Auto-encoder networks; Encoder-decoder networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models

Landscapes

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

Abstract

公开了一种基于语义理解的问题推理方法和装置。该问题推理方法包括:基于深度神经网络构建问题推理模型;获取待处理文本,待处理文本包括指示待处理问题的第一文本和与待处理问题相关的第二文本;将待处理文本输入到所述问题推理模型的编码器,以编码输出待处理文本对应的语义向量序列;将语义向量序列输入到问题推理模型的解码器,以按时间顺序解码输出解码文本序列;根据解码文本序列,确定指示待处理问题的推理过程的目标文本。根据本申请一些实施例的基于语义理解的问题推理方法可以预测问题的推理过程和推理逻辑,提升了问题答案的可解释性和准确性。

Description

基于语义理解的问题推理方法和装置
技术领域
本申请涉及自然语言处理领域,特别涉及基于语义理解的问题推理方法和装置、计算设备、计算机可读存储介质及计算机程序产品。
背景技术
自然语言处理是计算机科学与人工智能领域中的一个重要方向。机器阅读理解是自然语言处理领域中的一项重要任务,通过给定问题和相关文本,利用机器模型来理解文本内容,最终得到问题对应的答案。机器阅读理解按照获取答案的方式可分为抽取式和生成式,抽取式直接从给定文本中抽取片段,作为答案;生成式则利用生成模型直接生成答案。
在诸如金融研报数据分析之类的许多领域中,针对待解决问题(尤其是涉及逻辑分析或数值分析的问题),可能不仅仅需要通过机器阅读理解得到一个答案,而是更需要知道答案背后的(用于将问题、条件和答案串联起来的)逻辑推理或数值推理过程。然而,在相关技术中,无论是抽取式还是生成式机器阅读理解模型,都是基于问题及相关文本或条件直接预测问题的答案,而无法解释如何基于问题和条件得出答案。换言之,相关技术的阅读理解模型或算法只能得到给定问题的结果,而无法提供从问题和条件到结果的推理过程,缺乏解释性。
发明内容
鉴于此,本申请提供了一种基于语义理解的问题推理方法和装置、计算设备、计算机可读存储介质及计算机程序产品,期望缓解或克服上面提到的部分或全部缺陷以及其他可能的缺陷。
根据本申请的第一方面,提供了一种基于语义理解的问题推理方法,包括:基于深度神经网络构建问题推理模型,所述问题推理模型包括用于语义编码的编码器以及用于向量解码的解码器;获取待处理文本,所述待处理文本包括指示待处理问题的第一文本和与所述待处理问题相关的第二文本;将所述待处理文本输入到所述问题推理模型的编码器,以编码输出所述待处理文本对应的语义向量序列;将所述语义向量序列输入到所述问题推理模型的解码器,以按时间顺序解码输出解码文本序列,所述解码文本序列中每一个解码文本属于预设的推理过程相关文本集合,所述预设的推理过程相关文本集合是与第二文本相关的;根据所述解码文本序列,确定指示所述待处理问题的推理过程的目标文本。
在根据本申请一些实施例的问题推理方法中,预设的推理过程相关文本集合中各个文本分别指示各种预设推理树父子关系构造过程,其中每一种预设推理树父子关系构造过程包括从作为父节点的非叶节点文本到作为子节点的叶节点文本序列或非叶节点文本序列的生成过程;并且其中,所述根据所述解码文本序列,确定指示所述待处理问题的推理过程的目标文本,包括:按照解码文本序列各个解码文本对应的解码时刻顺序,依次执行各个解码文本所指示的预设推理树父子关系构造过程,以构建待处理问题对应的推理树;按照深度优先遍历顺序,将所述推理树的所有叶节点文本拼接在一起以形成指示待处理问题的推理过程的目标文本。
在根据本申请一些实施例的问题推理方法中,按照解码文本序列各个解码文本对应的解码时刻顺序,依次执行各个解码文本所指示的预设推理树父子关系构造过程,以构建待处理问题对应的推理树,包括:将初始解码时刻的解码文本所指示的预设推理树父子关系构造过程中作为父节点的非叶节点文本确定为推理树的根节点;按照所述解码文本序列各个解码文本对应的解码时刻顺序,针对每一个解码文本,依次执行下述步骤:按照深度优先遍历顺序,从推理树的已确定为非叶节点文本的节点中选择尚未确定子节点的当前非叶节点,将当前解码文本所指示的预设推理树父子关系构造过程中作为子节点的节点文本序列中的各节点文本按照从左到右的顺序确定为当前非叶节点的子节点;以及,响应于推理树中所有确定为非叶节点文本的节点都确定了子节点,结束推理树构建过程。
在根据本申请一些实施例的问题推理方法中,待处理问题包括数值推理问题,所述目标文本包括与所述数值推理问题对应的数值运算逻辑式,其中所述数值运算包括针对实数域的加、减、乘、除、乘方、开方中至少一个。
在根据本申请一些实施例的问题推理方法中,问题推理模型通过下述步骤训练得到:获取文本数据集,所述文本数据集中每一个文本数据包括问题文本和与所述问题相关的条件文本;获取所述文本数据集中每一个文本数据对应的参考推理过程文本;针对每一个文本数据,根据预设的推理树语法规则和对应的参考推理过程文本,构建该文本数据对应的参考推理树;针对每一个文本数据,通过深度优先遍历将该文本数据对应的参考推理树变换成指示节点间父子关系的参考文本序列,作为该文本数据对应的样本标签;将所述文本数据集中每一个文本数据输入到所述问题推理模型,以基于所述问题推理模型的输出结果以及每一个文本数据对应的样本标签,计算所述问题推理模型的推理损失;基于所述推理损失,对问题推理模型的参数进行迭代更新直至所述推理损失满足预设条件。
在根据本申请一些实施例的问题推理方法中,将所述待处理文本输入到所述问题推理模型的编码器,以编码输出所述待处理文本对应的语义向量序列,包括:对所述待处理文本进行分词处理,以得到所待处理文本对应的词序列;对所述词序列中各个词进行语义理解,以获得所述待处理文本对应的语义向量序列,其中所述语义向量序列中各个语义向量与所述词序列中各个词一一对应。
在根据本申请一些实施例的问题推理方法中,解码器包括循环神经网络结构的第一解码器和分类器结构的第二解码器,并且其中,将所述语义向量序列输入到所述问题推理模型的解码器,以按时间顺序解码输出解码文本序列,包括:将所述语义向量序列变换成所述待处理文本对应的语义特征向量序列,使得所述语义特征向量序列中的各语义特征向量与所述解码器的各个解码时刻一一对应;将所述语义特征向量序列输入到第一解码器,以按循环解码方式生成所述待处理文本对应的解码向量序列;将所述解码向量序列中各解码向量输入到第二解码器,以按分类预测方式生成所述待处理文本对应的解码文本序列。
在根据本申请一些实施例的问题推理方法中,将所述语义向量序列变换成所述待处理文本对应的语义特征向量序列,使得所述语义特征向量序列中的各语义特征向量与所述解码器的各个解码时刻一一对应,包括:针对所述解码器的每一个解码时刻,按时间顺序分别执行下述步骤:响应于当前解码时刻为初始解码时刻,随机生成当前解码时刻对应的注意力权重序列,且响应于当前解码时刻不是初始解码时刻,根据所述语义向量序列和前一解码时刻的解码向量,计算当前解码时刻对应的注意力权重序列,其中所述当前时刻对应的注意力权重序列中的各注意力权重与语义向量序列中的各语义向量一一对应,基于当前时刻对应的注意力权重序列及其与所述语义向量序列的对应关系,对所述语义向量序列进行加权求和处理,以得到当前解码时刻对应的语义特征向量;按照解码器的各个解码时刻的顺序,将各个解码时刻对应的语义特征向量组合在一起以形成语义特征向量序列。
在根据本申请一些实施例的问题推理方法中,将所述语义特征向量序列输入到第一解码器,以按循环解码方式生成所述待处理文本对应的解码向量序列,包括:根据初始解码时刻对应的语义特征向量,计算初始解码时刻对应的解码向量;针对所述解码器的初始解码时刻之后的每一个解码时刻,根据当前解码时刻对应的语义特征向量以及前一解码时刻的解码向量,计算当前解码时刻的解码向量;按照所述解码器的各个解码时刻的顺序,将各个解码时刻的解码向量组合在一起以得到所述待处理文本对应的解码向量序列。
在根据本申请一些实施例的问题推理方法中,将所述解码向量序列中各解码向量输入到第二解码器,以按分类预测方式生成所述待处理文本对应的解码文本序列,包括:利用所述第二解码器预测所述解码向量序列中各解码向量所属的类别,所述类别来自预设类别集合,所述预设类别集合与所述预设的推理过程相关文本集合一一对应;针对所述解码向量序列中每一个解码向量,根据所述预设类别集合与所述预设的推理过程相关文本集合的对应关系,确定所述解码向量所属类别对应的推理过程相关文本,作为所述解码向量对应的解码文本;按照所述解码向量序列中各解码向量对应的解码时刻的顺序,将各个解码向量对应的解码文本组合在一起以形成解码文本序列。
在根据本申请一些实施例的问题推理方法中,根据所述解码文本序列,确定指示所述待处理问题的推理过程的目标文本,包括:将所述解码文本序列中各个解码文本按顺序拼接在一起以形成指示所述待处理问题的推理过程的目标文本。
在根据本申请一些实施例的问题推理方法中,解码器包括循环神经网络结构的第一解码器和分类器结构的第二解码器,并且其中,所述将所述语义向量序列输入到所述问题推理模型的解码器,以按时间顺序解码输出解码文本序列,包括:针对所述解码器的每一个解码时刻,按照各个解码时刻的顺序依次执行下述步骤:响应于当前解码时刻为初始解码时刻,随机生成当前解码时刻对应的注意力权重序列,且响应于所述当前解码时刻不是初始解码时刻,根据所述语义向量序列和前一解码时刻的解码向量,计算当前解码时刻对应的注意力权重序列,其中所述当前时刻对应的注意力权重序列中的各注意力权重与所述语义向量序列中的各向量一一对应;利用当前解码时刻对应注意力权重序列与所述语义向量序列的对应关系,对所述语义向量序列进行加权求和,得到当前解码时刻对应的语义特征向量;利用第一解码器,根据前一解码时刻的解码文本、前一解码时刻的解码向量、以及当前解码时刻对应的语义特征向量,计算当前解码时刻的解码向量;利用第二解码器预测当前解码时刻的解码向量所属的类别,所述类别来自预设类别集合,所述预设类别集合与所述预设的推理过程相关文本集合一一对应;根据所述预设类别集合与所述预设的推理过程相关文本集合的对应关系,确定当前解码时刻的解码向量所属类别对应的推理过程相关文本,作为当前解码时刻的解码文本;按照所述解码器的各个解码时刻的顺序,将各个解码时刻对应的解码文本组合在一起以形成解码文本序列。
在根据本申请一些实施例的问题推理方法中,利用第一解码器,根据前一解码时刻的解码文本、前一解码时刻的解码向量、以及当前解码时刻对应的语义特征向量,计算当前解码时刻的解码向量,包括:对前一解码时刻的解码文本进行向量化处理以得到所述前一解码时刻对应的解码文本词向量;将所述前一解码时刻对应的解码文本词向量、所述前一解码时刻的解码向量拼接成第一输入向量,并且将当前时刻对应的语义特征向量作为第二输入向量;将第一输入向量和第二输入向量输入到第一解码器,以计算当前解码时刻的解码向量。
在根据本申请一些实施例的问题推理方法中,获取待处理文本包括:获取指示待处理问题的第一文本和与所述待处理问题对应的原始表格数据;将所述原始表格数据转换为文本数据;从所述文本数据中检索与所述待处理问题相关的第二文本;将所述第一文本和第二文本进行拼接,以得到待处理文本。
根据本申请的第二方面,提供一种基于语义理解的问题推理装置,包括:构建模块,其配置成基于深度神经网络构建问题推理模型,所述问题推理模型包括用于语义编码的编码器以及用于向量解码的解码器;获取模块,其配置成获取待处理文本,所述待处理文本包括指示待处理问题的第一文本和与所述待处理问题相关的第二文本;编码模块,其配置成将所述待处理文本输入到所述问题推理模型的编码器,以编码输出所述待处理文本对应的语义向量序列;解码模块,其配置成将所述语义向量序列输入到所述问题推理模型的解码器,以按时间顺序解码输出解码文本序列,所述解码文本序列中每一个解码文本属于预设的推理过程相关文本集合,所述预设的推理过程相关文本集合是与第二文本相关的;确定模块,其配置成根据所述解码文本序列,确定指示所述待处理问题的推理过程的目标文本。
根据本申请的第三方面,提供了一种计算设备,包括存储器和处理器,其中所述存储器中存储有计算机程序,所述计算机程序在被所述处理器执行时促使所述处理器执行根据本申请一些实施例的问题推理方法的步骤。
根据本申请的第四方面,提供了一种计算机可读存储介质,其上存储计算机可读指令,所述计算机可读指令在被执行时实现根据本申请一些实施例的问题推理方法。
根据本申请的第五方面,提供了一种计算机程序产品,包括计算机指令,计算机指令在被处理器执行时实现根据本申请一些实施例的问题推理方法。
在根据本申请一些实施例的基于语义理解的问题推理方法和装置中,通过利用文本语义理解模型的编码器和用于向量序列到文本的解码器构建问题推理模型,并通过问题推理模型对待处理文本(包含待处理问题和相关条件)进行语义编码、循环解码等操作来实现原始文本(即待处理文本,包含问题和条件)到解码文本序列的转换,进而基于解码文本序列得到待处理问题对应的目标文本(即推理过程)。这样不但可以得到从问题和条件到结果的逻辑推理过程,而且可以基于推理过程直接得到问题答案。与相关技术的问答系统或模型只输出推理结果相比,本申请创新性地提出了通过基于机器阅读理解的语义编码过程和基于不同解码时刻的解码过程来预测问题的推理过程和推理逻辑(例如针对数据分析等数值相关问题的数值运算逻辑式),进而水到渠成地得到推理结果,显著提升了问题答案的可解释性和推理准确性。
根据下文描述的实施例,本申请的这些和其它优点将变得清楚,并且参考下文描述的实施例来阐明本申请的这些和其它优点。
附图说明
现在将更详细并且参考附图来描述本申请的实施例,其中:
图1示出了根据本申请的一些实施例的基于语义理解的问题推理方法的示例性应用场景;
图2示意性示出根据本申请一些实施例的基于语义理解的问题推理方法的原理框图;
图3示出根据本申请的一些实施例的基于语义理解的问题推理方法的流程图;
图4示出根据本申请一些实施例的基于语义理解的问题推理方法中文本编码和向量解码的原理图;
图5示出根据本申请一些实施例的基于语义理解的问题推理方法中文本确定步骤的示例流程图;
图6示出根据本申请一些实施例的推理树示例性结构及其构造过程;
图7示出根据本申请一些实施例的问题推理模型的训练流程图;
图8示出根据本申请一些实施例的基于语义理解的问题推理方法中向量解码步骤的示例流程图;
图9示出了根据本申请一些实施例的基于语义理解的问题推理方法中向量解码步骤的解码原理图;
图10示出根据本申请一些实施例的基于语义理解的问题推理方法中向量解码步骤的示例流程图;
图11示出根据本申请的一些实施例的基于语义理解的问题推理装置的示例性结构框图;
图12示意性示出了根据本申请一些实施例的计算设备的示例框图。
具体实施方式
现在将参考附图更全面地描述示例实施例。然而,示例实施例能够以多种形式实施,且不应被理解为限于在此阐述的实施例;相反,提供这些实施例使得本申请将全面和完整,并将示例实施例的构思全面地传达给本领域的技术人员。在图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。
此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本申请的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本申请的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组件、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本申请的各方面。
附图中所示的方框图仅仅是功能实体,不必然与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
应理解,虽然本文中可能使用术语第一、第二、第三等来描述各种组件,但这些组件不应受这些术语限制。因此,下文论述的第一组件可称为第二组件而不偏离本申请概念的教示。如本文中所使用,术语“和/或”及类似术语包括相关联的列出项目中的任一个、多个和全部的所有组合。
本领域技术人员可以理解,附图只是示例实施例的示意图,附图中的模块或流程并不一定是实施本申请所必须的,因此不能用于限制本申请的保护范围。
在详细介绍本申请的实施例之前,为了清楚起见,首先对一些相关的概念进行解释。
1、推理树:也可以称为语法解析树,与编译原理中的语法解析树(是指预设的语法规则对分词处理之后的程序代码文本的树形描述,用于直观地解析识别程序代码中的各类短语)类似,是指用于根据预设的推理树语法规则解析(解码器输出的解码)文本序列的树形结构。在本申请一些实施例中,引入推理树的目的是通过解码文本序列的树形结构描述,更直观地、准确地从解码文本序列中解析出待处理问题的推理过程。
2、待处理问题:是指根据本申请一些实施例的基于语义理解的问题推理方法所要解决的问题,其可以包括各种问题,尤其是数值推理问题或逻辑推理问题。在数值推理问题中,推理过程可以包括数值运算逻辑式。
3、语义理解:在本文中可以指机器阅读理解,即通过算法或模型使计算机理解自然语言的文章的语义并回答相关问题的技术。
图1示出了根据本申请的一些实施例的基于语义理解的问题推理方法的示例性应用场景100。如图1所示,应用场景100可以包括服务器110,并且可选地可以包括外部数据库120、网络130以及终端设备140,其中终端设备140可以由用户150控制。
根据本申请一些实施例的问题推理方案可以部署于服务器110并通过服务器110实现。服务器110可以配置成:首先,基于深度神经网络构建问题推理模型,问题推理模型包括用于语义编码的编码器以及用于向量解码的解码器;其次,获取待处理文本,待处理文本包括指示待处理问题的第一文本和与待处理问题相关的第二文本;再次,将待处理文本输入到问题推理模型的编码器,以编码输出待处理文本对应的语义向量序列;此后,将语义向量序列输入到问题推理模型的解码器,以按时间顺序解码输出解码文本序列,解码文本序列中每一个解码文本属于预设的推理过程相关文本集合,预设的推理过程相关文本集合是与第二文本相关的;最后,根据解码文本序列,确定指示待处理问题的推理过程的目标文本。
示例性地,服务器110可以存储和运行可以执行本文所描述的各种方法的指令。服务器110可以是单个服务器或服务器集群,或者可以是能够提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器或云服务器集群。应理解,本文所提及的服务器典型地可以为具有大量存储器和处理器资源的服务器计算机,但是其他实施例也是可能的。此外,服务器110仅作为示例被示出,实际上,也可以替代地或附加地使用其他具有计算能力及存储能力的设备或设备的组合来提供相应的服务。
如图1所示,可选地,应用场景100可以进一步包括外部数据库120和网络130。服务器110可以通过网络130与外部数据库120连接,以便例如从数据库120获取待处理文本(包括指示待处理问题的第一文本和与待处理问题相关的第二文本),以及例如将所生成的推理过程存放至数据库120等。示例性地,数据库120可以是独立的数据存储设备或设备群,或者也可以是与其他在线服务(诸如提供智能客服、语音助手等功能的在线服务)相关的后端数据存储设备或设备群。
如图1所示,可选地,应用场景100可以进一步包括终端设备140,其可以通过网络130与服务器110连接。如图1所示,终端设备140的用户150可以通过终端设备140经由网络130访问服务器110,以便获取服务器110所提供的服务。例如,用户150可以通过终端设备140提供的用户接口来输入指令,例如通过实体输入设备(例如键盘和/或鼠标等)或虚拟按键(例如触摸屏)、通过语音或手势指令等,以便启动部署于服务器110上的问题推理方案、发送待处理问题(和/或相关文本)、接收所生成的推理过程等。
示例性地,网络130的示例包括局域网(LAN)、广域网(WAN)、个域网(PAN)、和/或诸如因特网之类的通信网络的组合。服务器110、数据库120以及终端设备140中的每一个可以包括能够通过网络130进行通信的至少一个通信接口(未示出)。这样的通信接口可以是下列各项中的一个或多个:任何类型的网络接口(例如,网络接口卡(NIC))、有线或无线(诸如IEEE802.11无线LAN(WLAN))无线接口、全球微波接入互操作(Wi-MAX)接口、以太网接口、通用串行总线(USB)接口、蜂窝网络接口、BluetoothTM接口、近场通信(NFC)接口等。
如图1所示,终端设备140可以是任何类型的移动计算设备,包括移动计算机(例如、个人数字助理(PDA)、膝上型计算机、笔记本计算机、平板计算机、上网本等)、移动电话(例如,蜂窝电话、智能手机等)、可穿戴式计算设备(例如智能手表、头戴式设备,包括智能眼镜等)或其他类型的移动设备。在一些实施例中,终端设备140也可以是固定式计算设备,例如台式计算机、游戏机、智能电视等。此外,当应用场景100包括多个终端设备140的情况下,该多个终端设备140可以是相同或不同类型的计算设备。
示例性地,终端设备140可以包括显示屏以及可以经由显示屏与终端用户交互的终端应用。终端应用可以为本地应用程序、网页(Web)应用程序或者作为轻量化应用的小程序(LiteAPP,例如手机小程序、微信小程序)。在终端应用为需要安装的本地应用程序的情况下,可以将终端应用安装在用户终端中。在终端应用为Web应用程序的情况下,可以通过浏览器访问终端应用。在终端应用为小程序的情况下,可以通过搜索终端应用的相关信息(如终端应用的名称等)、扫描终端应用的图形码(如条形码、二维码等)等方式来在终端设备140上直接打开终端应用,而无需安装终端应用。
应理解,虽然在本文中,服务器110、数据库120与终端设备140被示出和描述为分离的结构,但它们也可以是同一计算设备的不同组成部分。其中,例如服务器110可以提供后台计算功能,数据库120提供数据交换、存储、获取功能,而终端设备140可以提供与用户进行交互的前台功能,例如通过终端应用接收用户输入及向用户提供输出。可选地,根据本申请一些实施例的基于语义理解的问题推理方法不仅限于在图1所示的服务器侧实现,而是也可以在终端设备侧实现,或者也可以在终端设备侧和服务器侧共同实现。
图2示意性示出根据本申请一些实施例的基于语义理解的问题推理方法的原理框图。如图2所示,根据本申请的问题推理方法可以使用基于深度神经网络创建的基于编码器-解码器结构的问题推理模型来实现,其中,问题推理模型220可以包括用于对输入文本进行语义编码的编码器221和用于将编码器221输出的语义编码进行解码的解码器222。
如图2所示,在根据本申请一些实施例的基于语义理解的问题推理方法中,首先,将待处理文本210输入到问题推理模型220,其中待处理文本210包括问题文本211(即指示待处理问题的第一文本)以及与待处理问题相关的条件文本212(即用于从中获取待处理问题211的答案的第二文本),待处理文本210可以通过待处理问题文本211和条件文本212二者拼接得到。其次,问题推理模型220接收到待处理文本210之后,将其输入问题推理模型220的编码器221以实现语义编码。具体地,编码器221可以包括预处理模型和语义理解模型,具体地,待处理文本210在输入到问题推理模型220的编码器221之后,首先利用编码器221所包括的预处理模型对其进行序列化(例如分词处理)和向量化处理,随后输入编码器221的语义理解模型,以得到待处理文本210对应的语义编码(例如与待处理文本对应的序列化文本中各个分词一一对应的语义向量序列)。再次,编码器221将其所输出的语义编码(对应于待处理文本210)输入到解码器222。接着,解码器222对所输入的语义编码按照时间顺序解码输出解码文本序列230(例如推理过程相关文本序列)。最后,基于解码文本序列230(例如通过序列中文本的顺序拼接)直接输出推理过程对应的目标文本240;可选地,解码文本序列230也可以通过间接方式得到目标文本240,例如如图2中虚线箭头所示,解码文本序列230可以先变换成推理树250,随后由推理树250直接输出对应的目标文本240。
图3是根据本申请的一些实施例的基于语义理解的问题推理方法的流程图。图3所示的基于语义理解的问题推理方法在图1所示的应用场景中实施,其执行主体可以是图1所示的服务器110。
如图3所示,根据本申请一些实施例的基于语义理解的问题推理方法可以包括以下步骤:S310,模型构建步骤;S320,文本获取步骤;S330,语义编码步骤;S340,向量解码步骤;S350,文本确定步骤。
下面结合图2详细描述上述各个步骤S310-S350的执行过程。
在步骤S310(模型构建步骤)中,基于深度神经网络构建问题推理模型。其中,问题推理模型可以包括用于语义编码的编码器以及用于向量解码的解码器。
在一些实施例中,如图2的原理框图所示,根据本申请的构思,要想获得诸如数值推理之类的待处理问题的推理过程及其结果,需要首先构造问题推理模型。如图2所示,问题推理模型220采用编码器-解码器结构,以待处理文本210作为输入,以解码文本序列230作为输出。因此,问题推理模型220(除了编码器221中预处理模型之外)可以采用基于深度神经网络的文本-文本序列的框架结构,在该框架中,编码器221将待处理文本210转换成对应的语义向量序列,解码器222则将语义向量序列转换成解码文本序列230。在一些实施例中,本文中的基于深度神经网络构建的问题推理模型220可以采用卷积神经网络(CNN)、循环神经网络(RNN)等结构,其中的编码器221和解码器222可以采用相同或不同的一个或多个神经网络结构,只要能够实现相应输入输出功能即可。
在一些实施例中,问题推理模型220中的编码器221可以包括文本预处理器和语义编码器。文本预处理器可以是用于将待处理文本进行处理以适应语义编码器的输入格式的预处理工具,该预处理过程可以包括针对文本的序列化或分词处理和/或针对序列化文本或词的向量化处理。语义编码器可以是各种预训练的语义理解模型,例如BERT神经网络、Roberta神经网络、Albert神经网络等,用于将输入的文本序列(例如待处理文本210对应的分词序列)和/或词向量序列转换成语义向量序列。解码器222可以包括各种用于将语义向量序列按时间顺序(例如按不同解码时刻的先后顺序)解码(即转换)成解码文本序列的神经网络模型,例如RNN、LSTM、GRU等。更具体地,问题推理模型220中的解码器222可以包括两个子模型,例如循环神经网络结构的第一解码器和分类器结构的第二解码器,其中第一解码器可以配置用于通过循环解码方式将编码器221输出的语义向量序列转换成解码向量序列;第二解码器可以配置用于通过向量分类预测方式将第一解码器输出的解码向量序列转换成解码文本序列230。一般地,问题推理模型220可以采用已经通过样本数据和样本标签训练好的神经网络模型,即其中的参数已经得到充分优化,以保证推理过程预测的准确性。
在步骤S320(文本获取步骤)中,获取待处理文本,待处理文本包括指示待处理问题的第一文本和与待处理问题相关的第二文本。
在本文中,问题推理模型所要解决的问题,即待处理问题,可以包括各种问题,尤其是数值推理问题或逻辑推理问题。在数值推理问题中,推理过程可以包括数值运算逻辑式,其中数值运算可以包括针对实数域的加、减、乘、除、乘方、开方中至少一个。例如,数值推理问题可以包括例如与数值相关的各类问题。例如,一群小朋友在沙滩捡贝壳,小明捡了3个贝壳,小张捡了6个贝壳,小王捡了9个贝壳,请问小明、小张一共捡了多少贝壳?在上述应用题中,指示待处理问题的第一文本是应用题中的问句“小明、小张一共捡了多少贝壳”,而与问题相关的第二文本是应用题中的条件“一群小朋友在沙滩捡贝壳,小明捡了3个贝壳,小张捡了6个贝壳,小王捡了9个贝壳”。因此,在下文中,第一文本也可以称为问题文本,第二文本也可以称为条件文本。
一般地,待处理文本不仅需要包括待解决或待处理的问题文本(即指示待处理问题的第一文本),还需要包括从中获取该问题对应的答案或推理过程的条件文本(即指示与待处理问题相关的第二文本)。其中,待处理问题对应的条件文本可以从相关的原始数据或源数据中通过例如检索获取。在许多领域(例如经济或金融领域)中,包含问题相关条件的原始数据多以表格的形式存储,而问题推理模型的输入格式通常是文本格式,因此,在获取待处理文本过程中,首先要将表格数据转换为文本形式。可选地,除了表格数据之外,原始数据可以是其他类型的非文本数据,例如视频数据、音频数据等。这时,可以通过数据格式转换工具对各种非文本数据进行处理以将其转换成问题推理模型可读取的文本格式数据,随后输入模型以预测问题推理过程。
在一些实施例中,S320(文本获取步骤)可以包括:获取指示待处理问题的第一文本和与待处理问题对应的原始表格数据;将原始表格数据转换为文本数据;从文本数据中检索与待处理问题相关的第二文本;将第一文本和第二文本进行拼接,以得到待处理文本。下面以具体示例说明待处理文本的获取过程。
首先,获取指示待处理问题的第一文本,例如假设待处理问题是“某公司2021年营业收入的增长率是多少”;并获取该问题对应的原始表格数据。表1示出了与上述问题对应的示例性原始表格数据。如表1所示,该原始表格数据中涉及某公司的2019-2020三年的财务报表。
表1-示例性原始表格数据
Figure BDA0004151792070000141
Figure BDA0004151792070000151
其次,将表1所示的原始表格数据转换成文本格式数据,具体转换方式可以是:将表1中的财务报表数据按照对应的列标题、行标题、单元数据转换成三元组的形式,然而针对表1中行标题下方的每一行,拼接相应的三元组数据,构成一个句子,这样就可以将表1数据转换成多个句子构成的文本数据。例如,表1中第二行“营业收入”相关的三元组数据包括:(2019,营业收入,20971),(2020,营业收入,22975),(2021,营业收入,25067);第三行“营业成本”相关的三元组数据包括:(2019,营业成本,:12308),(2020,营业成本,13287),(2021,营业成本,14387),……以此类推。随后将上述各行对应的三元组转换成句子形式如下:
句子1:2019营业收入20971,2020营业收入22975,2021营业收入25067。
句子2:2019营业成本12308,2020营业成本13287,2021营业成本14387。
……
句子6:2019利润总额4614,2020利润总额5102,2021利润总额5582。
再次,利用检索技术,从上述文本数据(即句子1-6)中搜索出与问题(“某公司2021年营业收入的增长率是多少?”)相关的句子(即第二文本)。显然,上述句子1-6中只有句子1涉及营业收入,这与问题相关,因此句子1可以被选为第二文本。
最后,将第一文本(“某公司2021年营业收入的增长率是多少”)与第二文本(即“2019营业收入20971,2020营业收入22975,2021营业收入25067″)进行拼接,以得到待处理文本。例如,第一文本在前,第二文本在后,二者中间可以添加分隔符。随后,可以将待处理文本输入问题推理模型220进行处理以获得相应地推理过程。
在步骤S330(语义编码步骤)中,将待处理文本输入到问题推理模型的编码器,以编码输出待处理文本对应的语义向量序列。
图4示出了根据本申请一些实施例的待处理文本的语义编码和向量解码的原理图。如图4所示,问题推理模型220中的编码器221可以包括文本预处理器221a和语义编码器221b。文本预处理器221a可以是用于将待处理文本210进行处理以适应语义编码器的输入格式的预处理工具;语义编码器221n可以是各种预训练的语义理解模型或机器阅读理解模型。
在一些实施例中,步骤S330(语义编码步骤)可以包括:对待处理文本进行分词处理,以得到待处理文本对应的词序列;对词序列进行语义理解,以获得待处理文本对应的语义向量序列,其中语义向量序列中各个语义向量与词序列中各个词一一对应。
如图4所示,在待处理文本210编码阶段(即在被输入到问题推理模型220中的编码器221时),首先利用其中的文本预处理器221a对其进行序列化处理(例如分词处理),以得到待处理文本对应的词序列或文本序列(T1,T2,T3,...,Tn),其中,Ti(i=1,2,...,n)表示文本序列中第i个文本,n表示文本序列中文本的总数;其次,将预处理后得到的词序列或文本序列(T1,T2,T3,...,Tn)输入到语义编码器221b(假设语义编码器221b的输入格式为文本序列),以对其进行语义理解,得到与文本序列(T1,T2,T3,...,Tn)一一对应的语义向量序列(H1,H2,H3,...,Hn)其中,Hi(i=1,2,...,n)表示语义向量中序列中第i个语义向量,n表示语义向量序列中语义向量总数。示例性地,文本预处理器221a可以包括分词工具,以对待处理文本分割成一个或多个词语,词序列或文本序列。分词工具可以是例如结巴(Jieba)分词、HanLP、LTP、THULAC、NLPIR等。除了利用分词工具之外,可选地,待处理文本的序列化处理过程或分词过程也可以通过人工手动标注、随机分割、完全分割为多个单字符等其他方式来实现。
可选地,若语义编码器221b的输入格式为向量序列,则文本预处理器221a在对待处理文本进行分词处理得到文本序列或词序列之后,需要对所得的文本序列中各个文本或词进行向量化处理,得到词向量序列;随后将其输入语义编码器221b进行语义编码。在一些实施例中,步骤S330(语义编码步骤)也可以包括:对待处理文本进行分词处理,以得到待处理文本对应的词序列;对词序列中各个词进行向量化处理,以获得待处理文本对应的词向量序列;对词向量序列进行语义理解,以获得待处理文本对应的语义向量序列,其中语义向量序列中各个语义向量与词向量序列中各个词向量一一对应。示例性地,文本预处理器221a可以进一步包括用于文本到词向量的转换的词向量工具,以实现针对分词后的文本序列的向量化处理。词向量工具可以包括例如one-hot、word2vec、Glove等。
在步骤S340(向量解码步骤)中,将语义向量序列输入到问题推理模型的解码器,以按时间顺序解码输出解码文本序列。其中,解码文本序列中每一个解码文本属于预设的推理过程相关文本集合,预设的推理过程相关文本集合是与第二文本相关的。
根据本申请的构思,在待处理文本编码完成之后,需要对相应的语义向量序列进行解码操作以生成解码文本序列,进而得出待处理问题的推理过程。为了得到推理过程,解码文本序列中解码文本应当与待处理问题的推理过程相关,因此,可以(例如通过循环神经网络和分类器)利用循环解码加分类预测的方式得到与待处理问题推理过程相关的解码文本序列。
具体地,在解码操作之前,需要预先设定解码文本序列中各个解码文本所属的预设的推理过程相关文本集合,该集合可以是预先根据具体应用场景(例如数值计算、逻辑推理等)和待处理文本中的条件文本(即第二文本)确定。例如针对数值计算问题,在一些实施例中,可以将推理过程相关文本集合中的元素限定为具体的数值运算逻辑式相关的运算符,例如“+”、“-”、“*”、“/”、“^”、“√”等,以及第二文本中出现的各种数字。这样来自该推理过程相关文本集合中的各个解码文本形成的解码文本序列就可以通过例如文本拼接形成由数字和运算符。在另一些实施例中,也可以将推理过程相关文本集合中元素限定为推理过程相关的推理树构造步骤或推理构造规则(例如推理树非叶节点文本的父子关系构造过程),这样,属于推理过程相关文本集合的解码文本构成的解码文本序列可以指示推理树构造过程,由此可以得到推理树,最后利用推理树直接获取推理过程。
在解码操作过程中,首先需要将输入的语义向量序列(例如通过注意力机制,或其他线性或非线性变换方式)变换成适合于按时间顺序解码的解码器(例如循环神经网络结构的解码器)输入格式的语义特征向量序列,即语义特征向量序列中各语义特征向量与解码器的各个解码时刻一一对应;随后,将语义特征向量序列通过循环解码方式变换成解码向量序列;最后将解码向量序列通过分类预测方式变换成解码文本序列。
如图4所示,在待处理文本210经过文本预处理器221a和语义编码器221b得到语义向量序列(H1,H2,H3,...,Hn)之后,问题推理方法进入向量解码阶段。
在向量解码阶段,首先,将语义向量序列(H1,H2,H3,...,Hn)(例如利用注意力机制)变换成适合解码器222中第一解码器222a的输入格式的语义特征向量序列(K1,K2,K3,...,Km),其中,Ki(i=1,2,...,m)表示语义特征向量序列中第i个语义特征向量,m表示语义特征向量序列中语义特征向量总数,且m与第一解码器222a的解码时刻的个数相同,从而使得语义特征向量序列(K1,K2,K3,...,Km)与各个解码时刻一一对应。这里m和n可以相同,也可以不同。
其次,如图4所示,语义特征向量序列(K1,K2,K3,...,Km)中各个语义特征向量在相应解码时刻依次输入第一解码器222a进行解码,从而得到解码向量序列(S1,S2,S3,...,Sm)。其中Si(i=1,2,...,m)表示解码向量序列中第i个解码向量,其对应于第一解码器222a的第i个解码时刻,因此在本文中,Sj也可以称为第i个解码时刻的解码向量。
再次,如图4所示,解码向量序列(S1,S2,S3,...,Sm)中各个语义特征向量分别(例如按照各自对应的第一解码器的解码时刻的顺序)被输入到诸如分类器模型之类的第二解码器222b,从而通过分类预测得到与解码向量序列(S1,S2,S3,...,Sm)一一对应的解码文本序列(A1,A2,A3,...,Am)。
示例性地,第一解码器222a可以包括基于循环神经网络结构的模型,例如RNN、LSTM、GRU等;第二解码器222b可以包括各种分类器模型,例如,随机森林分类器模型、XGBoost(eXtreme Gradient Boosting)模型、LightGBM(Light Gradient BoostingMachine)模型等。
在步骤S350(文本确定步骤)中,根据解码文本序列,确定指示待处理问题的推理过程的目标文本。
在一些实施例中,当待处理问题为数值计算或数值推理问题时,指示推理过程的目标文本可以是数值运算逻辑式,其中的数值运算可以包括但不限于:针对实数域的加、减、乘、除、乘方、开方中至少一个。例如,在上文针对上述的处理问题“某公司2021年营业收入的增长率是多少”以及相应的条件“2019营业收入20971,2020营业收入22975,2021营业收入25067″,指示推理过程的数值运算逻辑式为:“(25067-22975)/22975”。此外,针对非数值问题,其目标文本可以是用文字表示的一个或多个逻辑推理语句,以表示从条件到最后问题答案的逻辑推理过程。
在一些实施例中,步骤S350(文本确定步骤)可以包括:将解码文本序列中各个解码文本按顺序拼接在一起,以形成指示待处理问题的推理过程的目标文本。如上文所述,预设的推理过程相关文本集合可以预先根据具体应用场景(例如数值计算、逻辑推理等)和待处理文本中的条件文本(即第二文本)确定。例如针对数值计算问题,解码文本所属推理过程相关文本集合中的元素可以包括例如“+”、“-”、“*”、“/”、“^”、“√”、“(”、“)”等之类的运算符以及第二文本中出现的各种数字。因此,解码文本序列中对应于不同解码时刻的各个解码文本按照顺序拼接就可以形成由数字和运算符构成的数值运算逻辑式,即目标文本。这其中可能出现不合理的情况,例如解码文本序列中存在连续两个运算符“+“、”-”,这时可以通过设置预设规则来规避上述情况,例如自动删除第二个运算符“-”,这里不再赘述。
为了消除解码文本序列直接拼接可能造成的不合理或非正常目标文本,可以考虑将解码文本序列转换成推理树(类似于语法解析树)结构,随后利用推理树得出最终的目标文本。如上文所述,通过序列到推理树的转换推到目标文本,需要解码文本所属的推理过程相关文本集合中元素限定为推理树构造步骤或推理构造规则,例如根节点文本、叶节点文本、各节点文本之间的父子关系等。这样,属于推理过程相关文本集合的每一个解码文本都可以表示推理树的一个构造步骤,因此各个解码文本按照顺序拼接在一起可以指示整个推理树的构造过程,由此可以从解码文本得到推理树。最后利用推理树直接获取推理过程,例如其中的各个叶节点按照深度优先遍历顺序拼接得到最终的目标文本。关于利用推理树构造实现解码文本序列到目标文本的过程可以参见图5和图6及其相关描述。
在根据本申请一些实施例的基于语义理解的问题推理方法中,通过利用包含语义理解模型的编码器和用于向量序列到文本的解码器构建问题推理模型,并通过问题推理模型对待处理文本(包含待处理问题和相关条件)进行语义编码、循环解码等操作来实现原始文本(即待处理文本,包含问题和条件)到解码文本序列的转换,进而基于解码文本序列得到待处理问题对应的目标文本(即推理过程),这样不但可以得到从问题和条件到结果的逻辑推理过程,而且可以基于推理过程直接得到问题答案。与相关技术的问答系统或模型只输出推理结果相比,本申请创新性地提出了通过基于机器阅读理解的语义编码过程和基于不同解码时刻的解码过程来预测问题的推理过程和推理逻辑(例如针对数据分析等数值相关问题的数值运算逻辑式),进而水到渠成地得到推理结果,具有很强的可解释性,提升了推理准确性。
图5示出根据本申请一些实施例的文本确定步骤的示例流程图。
在一些实施例中,为了通过解码文本序列构造推理树结构并通过推理树直接得到目标文本,预设推理过程相关文本集合中各个文本可以分别指示各种预设推理树父子关系构造过程,其中每一种预设推理树父子关系构造过程包括从作为父节点的非叶节点文本到作为子节点的叶节点文本序列或非叶节点文本序列的生成过程。而预设推理树父子关系构造过程可以根据预设的推理语法规则和第二文本确定。
表2示出了例如针对数值计算或数值分析问题的预设推理树语法规则示例。如表2所示,推理树的预设的节点文本包括Exp1、Exp2、Exp3、optl、opt2、+、-、*、/、Num,其中Expl表示第一类表达式(乘除法),Exp2表示第二类表达式(加减法),Exp3表示第三类表达式(数字),optl表示第一类运算符(即加号“+”或减号“-”),opt2表示第二类运算符(乘号“*”或除号“/”),Num表示数字(其根据具体待处理文本中的条件具体确定的,因此Num通常包括两个以上具体数字)。表2中“|”表示或者,“→”表示生成。表2中的各条规则就代表了推理树的预设节点文本之间的父子关系和节点文本构造顺序。例如第一条规则表示节点文本Exp1可以生成三个并列的节点文本Exp1、opt2、Exp2,或者也可以生成一个节点文本Exp2,换言之,Exp1是非叶节点文本(因为其(作为父节点)可以生成其他节点文本(子节点)),且其作为父节点文本所生成的子节点包含两种情况:一是三个子节点文本,二是一个子节点文本。根据表2所示的各条规则,可以得出在该推理树中,叶节点文本包括+、-、*、/、Num,因为这些节点文本都无法生成其他节点文本;相应地非叶节点文本包括Exp1、Exp2、Exp3、opt1、opt2。应当注意,推理树中的叶节点对应的叶节点文本可以用于生成指示待处理问题推理过程的目标文本。
表2-推理树构造规则示例
序号 语法规则
1 Exp1→Exp1 opt2 Exp2|Exp2
2 Opt1→+|-
3 Exp2→Exp2 opt1 Exp3|Exp3
4 Opt2→*|/
5 Exp3→Exp1|Num
表3示出了表2所示的推理树语法规则示例对应的预设推理过程相关文本集合示例。如表3所示,预设的推理过程相关文本集合是根据预设推理树语法规则预先确定的。如表3所示,推理过程相关文本集合中1号和2号元素是基于表2中的1号语法规则确定的,3号和4号元素对应于2号语法规则,以此类推。由于存在“|”(或者),表2所示的5条语法规则可以确定表3所示推理过程相关文本集合的10个元素。这样,表3所示的推理过程相关文本集合包括了所有非叶节点文本到其子节点文本的所有可能的生成过程,每个元素指示某个非叶节点到其子节点的一种构造过程。需要注意,表3中1-9号元素的文本都是具体的且固定的文本,而10号元素表示抽象文本,其具体文本是根据Num表示的具体数字确定的,因此,10号元素实际上可能对应着多个文本。例如,上文所述的第二文本示例“2019营业收入20971,2020营业收入22975,2021营业收入25067″中,相关数字包括三个20971、22975、25067,因而Num对应于这三个数字,因而10号元素对应的具体文本包括“节点Exp3生成叶节点20971”、“节点Exp3生成叶节点22975”、“节点Exp3生成叶节点25067”。
表3-预设推理过程相关文本集合示例
Figure BDA0004151792070000221
在预设推理过程相关文本集合包括各种预设推理树父子关系构造过程的情况下,每一个解码文本作为预设推理过程相关文本集合中的元素可以指示相应的父子关系构造过程。因此,基于解码文本序列中各个解码文本各自所指示的父子关系构造过程就可以构建推理树。
如图5所示,步骤S350(文本确定步骤)可以包括:
S350a,按照解码文本序列各个解码文本对应的解码时刻顺序,依次执行各个解码文本所指示的预设推理树父子关系构造过程,以构建待处理问题对应的推理树;
S350b,按照深度优先遍历顺序,将推理树的所有叶节点文本拼接在一起以形成指示待处理问题的推理过程的目标文本。
图2所示指示预设推理树父子关系的推理过程相关文本集合包含的文本既指示了节点父子关系,又指出了父子节点各自的节点类型,即父节点对应的都是非叶节点文本,而子节点序列对应的可能是非叶节点文本,也可能是叶节点文本(例如+、-、*、/或Num)。因此,如S350a所述,可以根据各个解码文本所指示的相应的预设推理树父子关系构造过程来从根节点开始通过深度遍历来构建待处理问题对应的推理树。可选地,也可以根据解码文本所指示的预设推理树父子关系构造过程,通过广度优先遍历来构建推理树。在推理树构造完成之后,如上文所述,推理树中的各个叶节点对应叶节点文本可以用于构成目标文本,因此,如S3 50b所述,可以按照深度优先遍历顺序直接拼接推理树的所有叶节点文本,形成指示整个推理过程的目标文本。
在利用解码文本序列到推理树的转换来确定目标文本的方案中,在利用问题推理模型对待处理文本进行编解码之后,根据模型输出的解码文本序列所指示的预设推理树父子关系构造过程(即预设的推理过程相关文本集合中各元素的内容,其可以基于预设的推理树语法规则和第二文本确定)将解码文本序列直接转换成推理树结构,进而利用该推理树结构确定指示推理过程的目标文本(即叶节点按深度优先遍历拼接而成),从而能够利用预设的推理过程相关文本和树形结构的属性有效约束模型预测的输出空间(例如)和输出结果的合理性,提升利用问题推理模型预测推理过程的准确性。根据本申请的问题推理方案可以应用在金融研报分析和金融数字推理技术中,能够提供可解释性强、准确率高数值推理过程或数值运算逻辑式。
在一些实施例中,S350a(按照解码文本序列各个解码文本对应的解码时刻顺序,依次执行各个解码文本所指示的预设推理树父子关系构造过程,以构建待处理问题对应的推理树)可以包括:
将初始解码时刻的解码文本所指示的预设推理树父子关系构造过程中作为父节点的非叶节点文本确定为推理树的根节点;
按照所述解码文本序列各个解码文本对应的解码时刻顺序,针对每一个解码文本,依次执行下述步骤:按照深度优先遍历顺序,从推理树的已确定为非叶节点文本的节点中选择尚未确定子节点的当前非叶节点;将当前解码文本所指示的预设推理树父子关系构造过程中作为子节点的节点文本序列中的各节点文本按照从左到右的顺序确定为当前非叶节点的子节点;
响应于推理树中所有确定为非叶节点文本的节点都确定了子节点,结束推理树构建过程。
图6示出了根据本申请一些实施例的推理树示例性结构和构造过程。针对上文所述的处理问题“某公司2021年营业收入的增长率是多少”以及相应的条件“2019营业收入20971,2020营业收入22975,2021营业收入25067″,表4示出了向量序列解码过程输出的解码文本序列为(A1,A2,A3,...,Am)中前10个(对应于前10个解码时刻)解码文本。
表4-解码文本序列示例
解码文本标识 解码文本内容(指示父子关系构造过程)
A1 节点Exp1生成非叶节点Exp1、opt2、Exp2
A2 节点Exp1生成非叶节点Exp2;
A3 节点Exp2生成非叶节点Exp2、opt1、Exp3;
A4 节点Exp2生成非叶节点Exp3;
A5 节点Exp3生成叶节点25067;
A6 节点Opt1生成叶节点-;
A7 节点Exp3生成叶节点22975;
A8 节点Opt2生成叶节点/;
A9 节点Exp2生成非叶节点Exp3;
A10 节点Exp3生成叶节点22975。
如图6所示,基于表4所指示的关于(A1,A2,A3,...,A10)对应的预设推理树父子关系构造过程构建推理树的过程如下:
首先,如图6中虚线箭头所示,将初始解码时刻的解码文本A1所指示的父子关系构造过程中作为父节点的Exp1确定为推理树的根节点。
其次,按照图6中所示的各个解码文本的序号(即解码时刻)及其对应的箭头,依次生成推理树的除根节点之外的各个节点,具体地:
第一步(对应于解码文本A1),按照深度优先遍历顺序选取当前非叶节点,即从推理树的已确定为非叶节点文本的节点(即根节点Exp1)中选择尚未确定子节点的当前非叶节点,即根节点Exp1,然后,将针对当前非叶节点Exp1执行当前解码文本A1所指示的预设推理树父子关系构造过程,即将作为子节点的非叶节点文本序列(Exp1,opt2,Exp2)中的各节点文本按照从左到右的顺序确定为当前非叶节点Expl的非叶节点文本的三个子节点Exp1、opt2、Exp2;
第二步(对应于解码文本A2),按照深度优先遍历顺序选取当前非叶节点,即从推理树的已确定为非叶节点文本的节点(即根节点Exp1及其子节点Exp1、opt2、Exp2)中选择尚未确定子节点的当前非叶节点,即根节点最左边的子节点Exp1,然后,将针对当前非叶节点Exp1执行当前解码文本A2所指示的预设推理树父子关系构造过程,即将作为子节点的非叶节点文本Exp2确定为当前非叶节点Exp1的一个非叶节点文本的子节点Exp2;
第三步(对应于解码文本A3),当前非叶节点被选取为根节点的子最左边子节点Exp1的子节点Exp2,然后执行A3所指示的父子关系构造过程,得到当前非叶节点Exp2的从左到右的三个子节点Exp2、opt1、Exp3;
依次类推,第四到第十步(分别对应于解码文本A4-A10)分别基于A4-A10构造相应的节点,如图6的解码文本标记和箭头所示。如图6所示,解码文本序列中各解码文本的顺序或其对应的解码时刻的顺序与推理树的节点构造顺序是一致的,即总体上按照深度优先遍历顺序确定当前非叶节点,随后根据当前解码文本对应的父子关系构造过程从当前非叶节点生成其子节点。
再次,在第十步之后,除了子节点之外,推理树中被确定为所非叶节点文本的节点都已经确定了子节点(即当前推理树中的所有叶节点对应的文本都是叶节点文本),说明推理树已经构造完成,可以结束推理构造过程。这时如果解码文本序列(A1,A2,A3,...,Am)中m大于10,则第11个之后的解码文本(如果存在的话)可以忽略。
最后,如图6所示,构造完成的推理树中各叶节点按照深度优先遍历顺序被拼接起来可以得到指示推理过程的目标文本,即相应的数值运算逻辑式为:“(25067-22975)/22975”。其中的括号保证同一子树下的叶节点构成的子算式优先运算,以避免逻辑错误。需要注意,当同一子树下的叶节点构成的子算式的运算不受影响时可以省略括号,例如上述示例中“-”改为“*”之后可以省略相应的括号,即表示为“25067*22975/22975”。
图7示出根据本申请一些实施例的问题推理模型的训练过程流程图。如图7所示,根据本申请一些实施例的问题推理模型可以通过下述步骤训练得到:
S710,获取文本数据集,所述文本数据集中每一个文本数据包括问题文本和与所述问题相关的条件文本;
S720,获取所述文本数据集中每一个文本数据对应的参考推理过程文本;
S730,针对每一个文本数据,根据预设的推理树语法规则和对应的参考推理过程文本,构建该文本数据对应的参考推理树,
S740,针对每一个文本数据,通过深度优先遍历将该文本数据对应的参考推理树变换成指示节点间父子关系的参考文本序列,作为该文本数据对应的样本标签;
S750,将所述文本数据集中每一个文本数据输入到所述问题推理模型,以基于所述问题推理模型的输出结果以及每一个文本数据对应的样本标签,计算所述问题推理模型的推理损失;
S760,基于所述推理损失,对问题推理模型的参数进行迭代更新直至所述目标损失满足预设条件。
例如,如果将待处理问题“某公司2021年营业收入的增长率是多少”以及相应的条件“2019营业收入20971,2020营业收入22975,2021营业收入25067″构成的待处理文本作为一个用于训练的文本数据,则可以通过下述过程构造其对应的样本标签:
首先,需要获取其对应的参考推理过程文本,即数值运算逻辑式“(25067-22975)/22975”。
其次,根据表1所示的预设的推理树语法规则和上述参考推理过程文本“(25067-22975)/22975”,构建待处理问题对应的如图6所示参考推理树。即首先,将表达式“(25067-22975)/22975”划分为分词序列“25067”,“-”“22975”、“/”、“22975”;随后,从整体上看,该运算式是除法运算,因而推理树根节点可以选择Exp1(因为其对应乘除法表达式),其次,依据预设推理树语法规则生成Exp1的子节点,随后,按照相同方式依据预设的推理树语法规则构建各子节点的子节点,直到生成叶节点时,使得推理树的各个叶节点一一对应于该运算式的各个分词。
再次,通过深度优先遍历将参考推理树变换成指示节点间父子关系的参考文本序列,作为该文本数据对应的样本标签,例如表4所示的解码文本序列。
在构造样本标签之后,可以利用有监督训练方式,基于输入的文本数据对应的模型输出结果与样本标签之间的差异计算推理损失,最后基于推理损失调节优化模型参数,直至达到预设条件为止。
图8示出根据本申请一些实施例的向量解码步骤的示例流程。如图8所示,步骤S340(向量解码步骤)可以包括下述步骤:S340a-S340c。
图9示意性示出了关于根据本申请一些实施例的向量解码步骤的循环解码过程的原理图。在图9中,与图4相比,用循环神经网络RNN代替了第一解码器222a,用分类器代替了第二解码器222b,且图9主要示出了第t个解码时刻的循环解码过程,因为整个解码过程是按照不同解码时刻顺序循环进行的。例如,如图9所示,首先,从语义向量(H1,H2,H3,...,Hn)需要通过注意力机制(即加权求和)得到第t个时刻的语义特征向量Kt;随后,将Kt、第t-1个解码时刻的解码向量St-1(以及,如图9虚线箭头所示可选的第t个解码时刻的解码文本At对应的解码文本向量at-1)输入RNN以输出第t个解码时刻的解码向量St;最后将St输入分类器以得到第t个解码时刻的解码文本At
下面参照图4和图9详细描述图8的上述步骤S340a-S340c。
在步骤S340a中,将语义向量序列变换成待处理文本对应的语义特征向量序列,使得语义特征向量序列中的各语义特征向量与第一解码器的各个解码时刻一一对应。
如图4所示,在进行向量解码之前,可以通过利用注意力机制将语义编码器221b输出的将语义向量序列(H1,H2,H3,...,Hn)变换成适合解码器222中第一解码器222a的输入格式的语义特征向量序列(K1,K2,K3,...,Km)。在神经网络模型的输入信息中,利用注意力机制,可以选取一些关键信息进行处理,来提高神经网络的效率和准确性。例如,在问题推理模型的解码阶段,输入的语义向量序列中各个向量分别对应于待处理文本中的各个分词,但这些分词与待处理问题的关联程度是不同的,因此通过权重来体现不同语义向量在解决待处理问题中的重要程度,从而提升模型预测推理过程的效率和准确性。需要注意,本申请并不限于上述基于注意力机制的序列变换方式,而是也可以通过其他方式进行序列变换。
在一些实施例中,步骤S340a可以包括:
针对所述解码器的每一个解码时刻,按时间顺序分别执行下述步骤:响应于当前解码时刻为初始解码时刻,随机生成当前解码时刻对应的注意力权重序列,响应于当前解码时刻不是初始解码时刻,根据语义向量序列和前一解码时刻对应的解码向量,计算当前解码时刻对应的注意力权重序列,其中,注意力权重序列中的各注意力权重与语义向量序列中的各语义向量一一对应;基于注意力权重序列及其与语义向量序列的对应关系,对语义向量序列进行加权求和,以得到当前解码时刻对应的语义特征向量;
按照解码器的各个解码时刻的先后顺序,将各个解码时刻对应的语义特征向量组合在一起以形成语义特征向量序列。
如图9所示,在第t个解码时刻(非初始解码时刻),可以根据编码器221输出的语义向量序列(H1,H2,H3,...,Hn)和当前解码时刻对应的注意力权重序列(bt1,bt2,bt3,...,btn)通过下述加权和公式(1)计算当前解码时刻对应的语义特征向量Kt:
Figure BDA0004151792070000281
在公式(1)中,
Figure BDA0004151792070000282
而eti=a(St-1,Hi),其中St-1为第t-1个解码时刻的解码向量,a()表示注意力机制对齐函数。
在步骤S340b中,将所述语义特征向量序列输入到第一解码器,以按循环解码方式生成所述待处理文本对应的解码向量序列。
在一些实施例中,S340b包括:针对所述解码器的初始解码时刻,根据初始解码时刻对应的语义特征向量,计算初始解码时刻对应的解码向量;针对所述解码器的初始解码时刻之后的每一个解码时刻,根据当前解码时刻对应的语义特征向量以及前一解码时刻对应的解码向量,计算当前解码时刻对应的解码向量;按照解码器的各个时刻的顺序,将各个解码时刻的解码向量组合在一起,以得到所述待处理文本对应的解码向量序列。
如图4所示,语义特征向量序列(K1,K2,K3,...,Km)中各个语义特征向量在相应解码时刻依次输入第一解码器222a进行解码时,首先基于初始解码时刻(即K1对应的解码时刻)的对应的语义向量K1计算初始解码时刻对应的解码向量S1;随后针对每一个非初始解码时刻,例如第t个解码时刻,根据当前解码时刻对应的语义特征向量Kt以及前一解码时刻(即第t-1个解码时刻)对应的解码向量St-1计算当前解码时刻(即第t个解码时刻)对应的解码向量St;最后,将各个解码时刻对应解码向量组合在一起形成解码向量序列(S1,S2,S3,...,Sm)。
上述解码向量计算方法可以通过下面的公式(2)表示:
St=fRNN(Kt,St-1) (2)
在公式(2)中fRNN表示第一解码器(例如循环神经网络RNN),St表示第t个解码时刻的解码向量,St-1表示第t-1个解码时刻的解码向量,Kt表示第t个解码时刻对应的语义特征向量。
在步骤S340c中,将解码向量序列中各解码向量输入到第二解码器,以按分类预测方式生成待处理文本对应的解码文本序列。
在一些实施例中,步骤S340c可以包括:利用所述第二解码器预测所述解码向量序列中各解码向量所属的类别,所述类别来自预设类别集合,所述预设的类别集合与预设的推理过程相关文本集合一一对应;针对所述解码向量序列中每一个解码向量,根据所述预设的类别集合与预设的推理过程相关文本集合的对应关系,确定所述解码向量所属类别对应的推理过程相关文本,作为所述解码向量对应的解码文本;按照所述解码向量序列中各解码向量的解码时刻顺序,将各个解码向量对应的解码文本组合在一起以形成解码文本序列。
如图4所示,解码向量序列(S1,S2,S3,...,Sm)中各个解码向量分别依次被输入到诸如分类器模型之类的第二解码器222b,从而通过分类预测得到与解码向量序列(S1,S2,S3,...,Sm)一一对应的解码文本序列(A1,A2,A3,...,Am)。在一些实施例中,第二解码器222b可以采用分类器,因而可以将解码向量序列(S1,S2,S3,...,Sm)中每一个解码向量进行分类,而预设类别集合与(例如表3所示的)推理过程相关文本集合一一对应,因此可以将每一个解码向量的类别对应的推理过程相关文本作为该解码向量对应的解码文本,从而使之可以用于预测待处理问题的推理过程;最后各个解码文本按照各自对应的解码时刻的顺序拼接在一起就得到了解码文本序列(A1,A2,A3,...,Am)。
例如,如上文所述,针对待处理问题“某公司2021年营业收入的增长率是多少”以及相应的条件“2019营业收入20971,2020营业收入22975,2021营业收入25067″,表4示出了问题推理模型输出的相应的解码文本序列(A1,A2,A3,...,Am)中前10个(对应于前10个解码时刻)解码文本示例。
图10示出与图9对应的根据本申请一些实施例的向量解码步骤的示例流程图。如图10所示,步骤S340可以包括:
S1001,将解码器的初始解码时刻作为当前解码时刻;
S1002,判断当前时刻是否是初始解码时刻,若是,转到S1003,否则转到S1004;
S1003,响应于当前解码时刻为初始解码时刻,随机生成当前解码时刻的注意力权重序列,当前解码时刻对应的注意力权重序列中的各注意力权重与语义向量序列中的各向量一一对应;
S1004,响应于当前解码时刻不是初始解码时刻,根据所述语义向量序列和前一解码时刻的解码向量,生成当前解码时刻对应的注意力权重序列,当前解码时刻对应的注意力权重序列中的各注意力权重与语义向量序列中的各向量一一对应;
S1005,利用当前解码时刻对应注意力权重序列与所述语义向量序列的对应关系,对所述语义向量序列进行加权求和,得到当前解码时刻对应的语义特征向量;
S1006,响应于当前解码时刻不是初始解码时刻,利用第一解码器,根据前一解码时刻的解码文本、前一解码时刻的解码向量、以及当前解码时刻对应的语义特征向量,计算当前解码时刻的解码向量;
S1007,将当前解码时刻的解码向量输入第二解码器,以预测当前解码时刻的解码向量所属的类别,该类别来自与预设的推理过程相关文本集合一一对应的预设类别集合;
S1008,根据预设的类别集合与预设的推理过程相关文本集合的对应关系,确定当前解码时刻的解码向量所属类别对应的推理过程相关文本,作为当前解码时刻的解码文本;
S1009,判断当前时刻是否是最后解码时刻,若是,转到1011,否则转到S1010;
S1010,将当前解码时刻更新为解码器的下一个解码时刻,转到S1002。
S1011,将各个解码时刻对应的解码文本按照解码时刻顺序组合在一起以形成解码文本序列。
如图9所示,在图10所示的示例流程中,S1003-S1005是通过注意力机制基于语义特征向量序列(H1,H2,H3,...,Hn)中各个向量的加权和计算各个解码时刻的输入向量,即语义特征向量的过程。如S1003所示,针对初始解码时刻,可以随机生成注意力权重序列;而针对其他非初始解码时刻的当前解码时刻,如S1004所示,可以基于上一解码时刻的解码向量和语义特征向量序列确定当前时刻的语义特征向量。
步骤S1006涉及非初始解码时刻第一解码器(例如循环神经网络RNN)的解码过程。具体地,在一些实施例中,步骤S1006可以包括:对前一解码时刻的解码文本进行向量化处理以得到所述前一解码时刻对应的解码文本词向量;将所述前一解码时刻对应的解码文本词向量、所述前一解码时刻的解码向量拼接成第一输入向量,并且将当前时刻对应的语义特征向量作为第二输入向量;将第一输入向量和第二输入向量输入到所述循环神经网络,以计算当前解码时刻的解码向量。
如图9所示,在第t个解码时刻,将前一解码时刻的解码文本At-1对应的向量化表示(即解码文本词向量)at-1、前一解码时刻的解码向量St-1、以及当前解码时刻对应的语义特征向量Kt输入RNN(即第一解码器),计算当前解码时刻的解码向量St。这里,由于输入格式的要求,在输入RNN或第一解码器之前,解码文本At-1相应通过向量化处理转换成解码文本词向量at-1,随后通过例如下述公式(3)得到当前时刻(即第t个解码时刻)的解码向量:
St=fRNN([at-1,Kt],St-1) (3)
在公式(3)中,St第t个解码时刻的解码向量,at-1表示第t-1个解码时刻的解码文本At-1对应的解码文本词向量,Kt表示第t个解码时刻对应的语义特征向量,fRNN表示第一解码器或RNN模型,[]表示向量拼接合并操作。
与公式(2)所示的解码向量计算方法相比,基于公式(3)的解码向量计算法方法在第一解码器输入中增加了解码文本词向量at-1,这样可以在当前时刻的解码向量输出时,不仅考虑到第一解码器的前一解码时刻输出的解码向量St-1,还考虑到前一解码时刻第二解码器输出的解码文本At-1,从而使得模型输入融合了更多不同种类的相关特征(例如上下文特征),有利于第一解码器的输出结果,即当前解码时刻的解码向量St,更准确反映待处理文本整体语义特征,尤其是待处理问题(即第一文本)和条件(即第二文本)之间的关系特征以及解码文本之间的关联特征。这样使得最终输出的解码文本序列和/或目标文本更精确地体现待处理问题的推理过程。
图10所示的步骤S1007-S1008涉及当前时刻的解码向量到解码文本的转换过程。如图9所示,针对第t个解码时刻,当前解码时刻RNN(即第一解码器)输出的解码向量St被输入分类器(即第二解码器)以通过分类预测方式确定St的类别,并基于该类别所属预设类别集合与预设的推理过程相关文本集合(如表)一一对应关系,确定解码文本At,因此At可以反映待处理问题对应的推理过程相关特征。
图11是根据本申请的一些实施例的基于语义理解的问题推理装置1100的示例性结构框图。如图11所示,基于语义理解的问题推理装置1100可以包括构建创模块1110、获取模块1120、编码模块1130、解码模块1140以及确定模块1150。
构建模块1110可以配置成基于深度神经网络构建问题推理模型,问题推理模型包括用于语义编码的编码器以及用于向量解码的解码器。获取模块1120可以配置成获取待处理文本,待处理文本包括指示待处理问题的第一文本和与待处理问题相关的第二文本。编码模块1130可以配置成将所述待处理文本输入到问题推理模型的编码器,以编码输出待处理文本对应的语义向量序列。解码模块1140可以配置成将语义向量序列输入到问题推理模型的解码器,以按时间顺序解码输出解码文本序列,解码文本序列中每一个解码文本属于预设的推理过程相关文本集合,预设的推理过程相关文本集合是与第二文本相关的。确定模块1150可以配置成根据解码文本序列,确定指示待处理问题的推理过程的目标文本。
应注意,上述各种模块可以以软件或硬件或两者的组合来实现。多个不同模块可以在同一软件或硬件结构中实现,或者一个模块可以由多个不同的软件或硬件结构实现。
在根据本申请一些实施例的基于语义理解的问题推理装置中,通过利用文本语义理解模型的编码器和用于向量序列到文本的解码器构建问题推理模型,并通过问题推理模型对待处理文本(包含待处理问题和相关条件)进行语义编码、循环解码等操作来实现原始文本(即待处理文本,包含问题和条件)到解码文本序列的转换,进而基于解码文本序列得到待处理问题对应的目标文本(即推理过程)。这样不但可以得到从问题和条件到结果的逻辑推理过程,而且可以基于推理过程直接得到问题答案。与相关技术的问答系统或模型只输出推理结果相比,本申请创新性地提出了通过基于机器阅读理解的语义编码过程和基于不同解码时刻的解码过程来预测问题的推理过程和推理逻辑(例如针对数据分析等数值相关问题的数值运算逻辑式),进而水到渠成地得到推理结果,显著提升了问题答案的可解释性和推理准确性。
图12示意性示出了根据本申请一些实施例的计算设备1200的示例框图。计算设备1200可以代表用以实现本文描述的各种装置或模块和/或执行本文描述的各种方法的设备。计算设备1200可以是例如服务器、台式计算机、膝上型计算机、平板、智能电话、智能手表、可穿戴设备或任何其它合适的计算设备或计算系统,其可以包括从具有大量存储和处理资源的全资源设备到具有有限存储和/或处理资源的低资源设备的各种级别的设备。在一些实施例中,上面关于图11描述的基于语义理解的问题推理装置1100可以分别在一个或多个计算设备1200中实现。
如图12所示,示例计算设备1200包括彼此通信耦合的处理系统1201、一个或多个计算机可读介质1202以及一个或多个I/O接口1203。尽管未示出,但是计算设备1200还可以包括将各种组件彼此耦合的系统总线或其他数据和命令传送系统。系统总线可以包括不同总线结构的任何一个或组合,所述总线结构可以是诸如存储器总线或存储器控制器、外围总线、通用串行总线、和/或利用各种总线架构中的任何一种的处理器或局部总线。或者,还可以包括诸如控制和数据线。
处理系统1201代表使用硬件执行一个或多个操作的功能。因此,处理系统1201被图示为包括可被配置为处理器、功能块等的硬件元件1204。这可以包括在硬件中实现作为专用集成电路或使用一个或多个半导体形成的其它逻辑器件。硬件元件1204不受其形成的材料或其中采用的处理机构的限制。例如,处理器可以由(多个)半导体和/或晶体管(例如,电子集成电路(IC))组成。在这样的上下文中,处理器可执行指令可以是电子可执行指令。
计算机可读介质1202被图示为包括存储器/存储装置1205。存储器/存储装置1205表示与一个或多个计算机可读介质相关联的存储器/存储装置。存储器/存储装置1205可以包括易失性介质(诸如随机存取存储器(RAM))和/或非易失性介质(诸如只读存储器(ROM)、闪存、光盘、磁盘等)。存储器/存储装置1205可以包括固定介质(例如,RAM、ROM、固定硬盘驱动器等)以及可移动介质(例如,闪存、可移动硬盘驱动器、光盘等)。示例性地,存储器/存储装置1205可以用于存储上文实施例中提及的待处理文本、第一文本、第二文本、原始表格数据、目标文本等数据。计算机可读介质1202可以以下面进一步描述的各种其他方式进行配置。
一个或多个I/O(输入/输出)接口1203代表允许用户向计算设备1200键入命令和信息并且还允许使用各种输入/输出设备将信息显示给用户和/或发送给其他组件或设备的功能。输入设备的示例包括键盘、光标控制设备(例如,鼠标)、麦克风(例如,用于语音输入)、扫描仪、触摸功能(例如,被配置为检测物理触摸的容性或其他传感器)、相机(例如,可以采用可见或不可见的波长(诸如红外频率)将不涉及触摸的运动检测为手势)、网卡、接收机等等。输出设备的示例包括显示设备、扬声器、打印机、触觉响应设备、网卡、发射机等。
计算设备1200还包括问题推理策略1206。问题推理策略1206可以作为计算程序指令存储在存储器/存储装置1205中,也可以是硬件或固件。问题推理策略1206可以连同处理系统1201等一起实现关于图11描述的基于语义理解的问题推理装置1100的各个模块的全部功能。
本文可以在软件、硬件、元件或程序模块的一般上下文中描述各种技术。一般地,这些模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、元素、组件、数据结构等。本文所使用的术语“模块”、“功能”等一般表示软件、固件、硬件或其组合。本文描述的技术的特征是与平台无关的,意味着这些技术可以在具有各种处理器的各种计算平台上实现。
所描述的模块和技术的实现可以存储在某种形式的计算机可读介质上或者跨某种形式的计算机可读介质传输。计算机可读介质可以包括可由计算设备1200访问的各种介质。作为示例而非限制,计算机可读介质可以包括“计算机可读存储介质”和“计算机可读信号介质”。
与单纯的信号传输、载波或信号本身相反,“计算机可读存储介质”是指能够持久存储信息的介质和/或设备,和/或有形的存储装置。因此,计算机可读存储介质是指非信号承载介质。计算机可读存储介质包括诸如易失性和非易失性、可移动和不可移动介质和/或以适用于存储信息(诸如计算机可读指令、数据结构、程序模块、逻辑元件/电路或其他数据)的方法或技术实现的存储设备之类的硬件。计算机可读存储介质的示例可以包括但不限于RAM、ROM、EEPROM、闪存或其它存储器技术、CD-ROM、数字通用盘(DVD)或其他光学存储装置、硬盘、盒式磁带、磁带,磁盘存储装置或其他磁存储设备,或其他存储设备、有形介质或适于存储期望信息并可以由计算机访问的制品。
“计算机可读信号介质”是指被配置为诸如经由网络将指令发送到计算设备1200的硬件的信号承载介质。信号介质典型地可以将计算机可读指令、数据结构、程序模块或其他数据体现在诸如载波、数据信号或其它传输机制的调制数据信号中。信号介质还包括任何信息传递介质。作为示例而非限制,信号介质包括诸如有线网络或直接连线的有线介质以及诸如声、RF、红外和其它无线介质的无线介质。
如前所述,硬件元件1204和计算机可读介质1202代表以硬件形式实现的指令、模块、可编程器件逻辑和/或固定器件逻辑,其在一些实施例中可以用于实现本文描述的技术的至少一些方面。硬件元件可以包括集成电路或片上系统、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、复杂可编程逻辑器件(CPLD)以及硅中的其它实现或其他硬件设备的组件。在这种上下文中,硬件元件可以作为执行由硬件元件所体现的指令、模块和/或逻辑所定义的程序任务的处理设备,以及用于存储用于执行的指令的硬件设备,例如,先前描述的计算机可读存储介质。
前述的组合也可以用于实现本文所述的各种技术和模块。因此,可以将软件、硬件或程序模块和其它程序模块实现为在某种形式的计算机可读存储介质上和/或由一个或多个硬件元件1204体现的一个或多个指令和/或逻辑。计算设备1200可以被配置为实现与软件和/或硬件模块相对应的特定指令和/或功能。因此,例如通过使用处理系统的计算机可读存储介质和/或硬件元件1204,可以至少部分地以硬件来实现将模块实现为可由计算设备1200作为软件执行的模块。指令和/或功能可以由例如一个或多个计算设备1200和/或处理系统1201执行/可操作以实现本文所述的技术、模块和示例。
本文描述的技术可以由计算设备1200的这些各种配置来支持,并且不限于本文所描述的技术的具体示例。
特别地,根据本申请的实施例,上文参考流程图描述的过程可以被实现为计算机程序。例如,本申请的实施例提供一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行本申请的方法实施例中的至少一个步骤的程序代码。
在本申请的一些实施例中,提供了一种或多种计算机可读存储介质,其上存储有计算机可读指令,该计算机可读指令在被执行时实现根据本申请一些实施例的基于语义理解的问题推理方法。根据本申请一些实施例所述的基于语义理解的问题推理方法的各个步骤可以通过程序设计被转化为计算机可读指令,从而存储在计算机可读存储介质中。当这样的计算机可读存储介质被计算设备或计算机读取或访问时,其中的计算机可读指令被计算设备或计算机上的处理器执行以实现根据本申请一些实施例所述的方法。
在本说明书的描述中,术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点被包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或多个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序(包括根据所涉及的功能按基本同时的方式或按相反的顺序)来执行功能,这应被本申请的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。
应当理解,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,则可用本领域公知的下列技术中的任一项或它们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路、具有合适的组合逻辑门电路的专用集成电路、可编程门阵列(Programmable Gate Array)、现场可编程门阵列(Field ProgrammableGateArray)等。
本技术领域的普通技术人员可以理解上述实施例方法的全部或部分步骤可以通过程序指令相关的硬件完成,所述程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括执行方法实施例的步骤之一或其组合。
此外,在本申请各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。

Claims (18)

1.一种基于语义理解的问题推理方法,包括:
基于深度神经网络构建问题推理模型,所述问题推理模型包括用于语义编码的编码器以及用于向量解码的解码器;
获取待处理文本,所述待处理文本包括指示待处理问题的第一文本和与所述待处理问题相关的第二文本;
将所述待处理文本输入到所述问题推理模型的编码器,以编码输出所述待处理文本对应的语义向量序列;
将所述语义向量序列输入到所述问题推理模型的解码器,以按时间顺序解码输出解码文本序列,所述解码文本序列中每一个解码文本属于预设的推理过程相关文本集合,所述预设的推理过程相关文本集合是与第二文本相关的;
根据所述解码文本序列,确定指示所述待处理问题的推理过程的目标文本。
2.根据权利要求1所述的方法,其中,所述预设的推理过程相关文本集合中各个文本分别指示各种预设推理树父子关系构造过程,每一种预设推理树父子关系构造过程包括从作为父节点的非叶节点文本到作为子节点的叶节点文本序列或非叶节点文本序列的生成过程;并且
其中,所述根据所述解码文本序列,确定指示所述待处理问题的推理过程的目标文本,包括:
按照解码文本序列各个解码文本对应的解码时刻顺序,依次执行各个解码文本所指示的预设推理树父子关系构造过程,以构建待处理问题对应的推理树;
按照深度优先遍历顺序,将所述推理树的所有叶节点文本拼接在一起以形成指示待处理问题的推理过程的目标文本。
3.根据权利要求2所述的方法,其中,所述按照解码文本序列各个解码文本对应的解码时刻顺序,依次执行各个解码文本所指示的预设推理树父子关系构造过程,以构建待处理问题对应的推理树,包括:
将初始解码时刻的解码文本所指示的预设推理树父子关系构造过程中作为父节点的非叶节点文本确定为推理树的根节点;
按照所述解码文本序列各个解码文本对应的解码时刻顺序,针对每一个解码文本,依次执行下述步骤:
按照深度优先遍历顺序,从推理树的已确定为非叶节点文本的节点中选择尚未确定子节点的当前非叶节点;
将当前解码文本所指示的预设推理树父子关系构造过程中作为子节点的节点文本序列中的各节点文本按照从左到右的顺序确定为当前非叶节点的子节点;
响应于推理树中所有确定为非叶节点文本的节点都确定了子节点,结束推理树构建过程。
4.根据权利要求1-3中任一项所述的方法,其中,所述待处理问题包括数值推理问题,所述目标文本包括与所述数值推理问题对应的数值运算逻辑式,其中所述数值运算包括针对实数域的加、减、乘、除、乘方、开方中至少一个。
5.根据权利要求2所述的方法,其中,所述问题推理模型通过下述步骤训练得到:
获取文本数据集,所述文本数据集中每一个文本数据包括问题文本和与所述问题相关的条件文本;
获取所述文本数据集中每一个文本数据对应的参考推理过程文本;
针对每一个文本数据,根据预设的推理树语法规则和对应的参考推理过程文本,构建该文本数据对应的参考推理树;
针对每一个文本数据,通过深度优先遍历将该文本数据对应的参考推理树变换成指示节点间父子关系的参考文本序列,作为该文本数据对应的样本标签;
将所述文本数据集中每一个文本数据输入到所述问题推理模型,以基于所述问题推理模型的输出结果以及每一个文本数据对应的样本标签,计算所述问题推理模型的推理损失;
基于所述推理损失,对问题推理模型的参数进行迭代更新直至所述推理损失满足预设条件。
6.根据权利要求1所述的方法,其中,所述将所述待处理文本输入到所述问题推理模型的编码器,以编码输出所述待处理文本对应的语义向量序列,包括:
对所述待处理文本进行分词处理,以得到所待处理文本对应的词序列;
对所述词序列中各个词进行语义理解,以获得所述待处理文本对应的语义向量序列,其中所述语义向量序列中各个语义向量与所述词序列中各个词一一对应。
7.根据权利要求1或2所述的方法,其中,所述解码器包括循环神经网络结构的第一解码器和分类器结构的第二解码器,并且
其中,所述将所述语义向量序列输入到所述问题推理模型的解码器,以按时间顺序解码输出解码文本序列,包括:
将所述语义向量序列变换成所述待处理文本对应的语义特征向量序列,使得所述语义特征向量序列中的各语义特征向量与所述解码器的各个解码时刻一一对应;
将所述语义特征向量序列输入到第一解码器,以按循环解码方式生成所述待处理文本对应的解码向量序列;
将所述解码向量序列中各解码向量输入到第二解码器,以按分类预测方式生成所述待处理文本对应的解码文本序列。
8.根据权利要求7所述的方法,其中,所述将所述语义向量序列变换成所述待处理文本对应的语义特征向量序列,使得所述语义特征向量序列中的各语义特征向量与所述解码器的各个解码时刻一一对应,包括:
针对所述解码器的每一个解码时刻,按时间顺序分别执行下述步骤:
响应于当前解码时刻为初始解码时刻,随机生成当前解码时刻对应的注意力权重序列,且响应于当前解码时刻不是初始解码时刻,根据所述语义向量序列和前一解码时刻的解码向量,计算当前解码时刻对应的注意力权重序列,其中所述当前时刻对应的注意力权重序列中的各注意力权重与语义向量序列中的各语义向量一一对应;
基于当前时刻对应的注意力权重序列及其与所述语义向量序列的对应关系,对所述语义向量序列进行加权求和处理,以得到当前解码时刻对应的语义特征向量;
按照解码器的各个解码时刻的顺序,将各个解码时刻对应的语义特征向量组合在一起以形成语义特征向量序列。
9.根据权利要求7所述的方法,其中,所述将所述语义特征向量序列输入到第一解码器,以按循环解码方式生成所述待处理文本对应的解码向量序列,包括:
根据初始解码时刻对应的语义特征向量,计算初始解码时刻对应的解码向量;
针对所述解码器的初始解码时刻之后的每一个解码时刻,根据当前解码时刻对应的语义特征向量以及前一解码时刻的解码向量,计算当前解码时刻的解码向量;
按照所述解码器的各个解码时刻的顺序,将各个解码时刻的解码向量组合在一起以得到所述待处理文本对应的解码向量序列。
10.根据权利要求7所述的方法,其中,所述将所述解码向量序列中各解码向量输入到第二解码器,以按分类预测方式生成所述待处理文本对应的解码文本序列,包括:
利用所述第二解码器预测所述解码向量序列中各解码向量所属的类别,所述类别来自预设类别集合,所述预设类别集合与所述预设的推理过程相关文本集合一一对应;
针对所述解码向量序列中每一个解码向量,根据所述预设类别集合与所述预设的推理过程相关文本集合的对应关系,确定所述解码向量所属类别对应的推理过程相关文本,作为所述解码向量对应的解码文本;
按照所述解码向量序列中各解码向量对应的解码时刻的顺序,将各个解码向量对应的解码文本组合在一起以形成解码文本序列。
11.根据权利要1所述的方法,其中,所述根据所述解码文本序列,确定指示所述待处理问题的推理过程的目标文本,包括:
将所述解码文本序列中各个解码文本按顺序拼接在一起以形成指示所述待处理问题的推理过程的目标文本。
12.根据权利要求1所述的方法,其中,所述解码器包括循环神经网络结构的第一解码器和分类器结构的第二解码器,并且
其中,所述将所述语义向量序列输入到所述问题推理模型的解码器,以按时间顺序解码输出解码文本序列,包括:
针对所述解码器的每一个解码时刻,按照各个解码时刻的顺序依次执行下述步骤:
响应于当前解码时刻为初始解码时刻,随机生成当前解码时刻对应的注意力权重序列,且响应于所述当前解码时刻不是初始解码时刻,根据所述语义向量序列和前一解码时刻的解码向量,计算当前解码时刻对应的注意力权重序列,其中所述当前时刻对应的注意力权重序列中的各注意力权重与所述语义向量序列中的各向量一一对应;
利用当前解码时刻对应注意力权重序列与所述语义向量序列的对应关系,对所述语义向量序列进行加权求和,得到当前解码时刻对应的语义特征向量;
利用第一解码器,根据前一解码时刻的解码文本、前一解码时刻的解码向量、以及当前解码时刻对应的语义特征向量,计算当前解码时刻的解码向量;
利用第二解码器预测当前解码时刻的解码向量所属的类别,所述类别来自预设类别集合,所述预设类别集合与所述预设的推理过程相关文本集合一一对应;
根据所述预设类别集合与所述预设的推理过程相关文本集合的对应关系,确定当前解码时刻的解码向量所属类别对应的推理过程相关文本,作为当前解码时刻的解码文本;
按照所述解码器的各个解码时刻的顺序,将各个解码时刻对应的解码文本组合在一起以形成解码文本序列。
13.根据权利要求12所述的方法,其中,所述利用第一解码器,根据前一解码时刻的解码文本、前一解码时刻的解码向量、以及当前解码时刻对应的语义特征向量,计算当前解码时刻的解码向量,包括:
对前一解码时刻的解码文本进行向量化处理以得到所述前一解码时刻对应的解码文本词向量;
将所述前一解码时刻对应的解码文本词向量、所述前一解码时刻的解码向量拼接成第一输入向量,并且将当前时刻对应的语义特征向量作为第二输入向量;
将第一输入向量和第二输入向量输入到第一解码器,以计算当前解码时刻的解码向量。
14.根据权利要求1所述的方法,其中,所述获取待处理文本包括:
获取指示待处理问题的第一文本和与所述待处理问题对应的原始表格数据;
将所述原始表格数据转换为文本数据;
从所述文本数据中检索与所述待处理问题相关的第二文本;
将所述第一文本和第二文本进行拼接,以得到待处理文本。
15.一种基于语义理解的问题推理装置,包括:
构建模块,其配置成基于深度神经网络构建问题推理模型,所述问题推理模型包括用于语义编码的编码器以及用于向量解码的解码器;
获取模块,其配置成获取待处理文本,所述待处理文本包括指示待处理问题的第一文本和与所述待处理问题相关的第二文本;
编码模块,其配置成将所述待处理文本输入到所述问题推理模型的编码器,以编码输出所述待处理文本对应的语义向量序列;
解码模块,其配置成将所述语义向量序列输入到所述问题推理模型的解码器,以按时间顺序解码输出解码文本序列,所述解码文本序列中每一个解码文本属于预设的推理过程相关文本集合,所述预设的推理过程相关文本集合是与第二文本相关的;
确定模块,其配置成根据所述解码文本序列,确定指示所述待处理问题的推理过程的目标文本。
16.一种计算设备,包括:
存储器和处理器,
其中所述存储器中存储有计算机程序,所述计算机程序在被所述处理器执行时促使所述处理器执行权利要求1-14中任一项所述的方法。
17.一种计算机可读存储介质,其上存储计算机可读指令,所述计算机可读指令在被执行时实现权利要求1-14中任一项所述的方法。
18.一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现根据权利要求1-14中任一项所述的方法的步骤。
CN202310321052.8A 2023-03-29 2023-03-29 基于语义理解的问题推理方法和装置 Pending CN116341564A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310321052.8A CN116341564A (zh) 2023-03-29 2023-03-29 基于语义理解的问题推理方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310321052.8A CN116341564A (zh) 2023-03-29 2023-03-29 基于语义理解的问题推理方法和装置

Publications (1)

Publication Number Publication Date
CN116341564A true CN116341564A (zh) 2023-06-27

Family

ID=86883659

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310321052.8A Pending CN116341564A (zh) 2023-03-29 2023-03-29 基于语义理解的问题推理方法和装置

Country Status (1)

Country Link
CN (1) CN116341564A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117973544A (zh) * 2024-03-26 2024-05-03 杭州朗目达信息科技有限公司 基于语义距离的文本单位推理方法装置、存储介质和终端
CN118447991A (zh) * 2024-07-08 2024-08-06 吉林大学 血液透析护理质量指标数据上报管理系统及终端设备

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117973544A (zh) * 2024-03-26 2024-05-03 杭州朗目达信息科技有限公司 基于语义距离的文本单位推理方法装置、存储介质和终端
CN118447991A (zh) * 2024-07-08 2024-08-06 吉林大学 血液透析护理质量指标数据上报管理系统及终端设备

Similar Documents

Publication Publication Date Title
Torfi et al. Natural language processing advancements by deep learning: A survey
US11797822B2 (en) Neural network having input and hidden layers of equal units
CN113268609B (zh) 基于知识图谱的对话内容推荐方法、装置、设备及介质
CN108229582A (zh) 一种面向医学领域的多任务命名实体识别对抗训练方法
AU2016256753A1 (en) Image captioning using weak supervision and semantic natural language vector space
Mehmood et al. A precisely xtreme-multi channel hybrid approach for roman urdu sentiment analysis
CN116341564A (zh) 基于语义理解的问题推理方法和装置
Qin Dual learning
CN116308754B (zh) 一种银行信贷风险预警系统及其方法
CN115034201A (zh) 使用弱监督多奖励强化学习扩充用于句子分类的文本数据
Vinayakumar et al. Deep encrypted text categorization
Aziguli et al. A robust text classifier based on denoising deep neural network in the analysis of big data
CN115795038A (zh) 基于国产化深度学习框架的意图识别方法和装置
CN111597816A (zh) 一种自注意力命名实体识别方法、装置、设备及存储介质
Yuan et al. Deep learning from a statistical perspective
CN113392929B (zh) 一种基于词嵌入与自编码器融合的生物序列特征提取方法
Pichiyan et al. Web scraping using natural language processing: exploiting unstructured text for data extraction and analysis
CN116680575B (zh) 模型处理方法、装置、设备及存储介质
Xia An overview of deep learning
CN111723186A (zh) 用于对话系统的基于人工智能的知识图谱生成方法、电子设备
CN114691836B (zh) 文本的情感倾向性分析方法、装置、设备及介质
Wakchaure et al. A scheme of answer selection in community question answering using machine learning techniques
Denli et al. Geoscience language processing for exploration
CN115964497A (zh) 一种融合注意力机制与卷积神经网络的事件抽取方法
Rathee et al. A machine learning approach to predict the next word in a statement

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