一种自然语言推理方法及系统

文档序号:1242922 发布日期:2020-08-18 浏览:4次 >En<

阅读说明:本技术 一种自然语言推理方法及系统 (Natural language reasoning method and system ) 是由 许光銮 孙显 苏武运 于泓峰 李沛光 姚方龙 刘那与 王铁平 田雨 于 2020-04-24 设计创作,主要内容包括:本发明提供一种自然语言推理方法及系统,包括:获取需要进行语言推理的自然语言句子对,并进行处理;采用预先训练好的算法模型,对所述处理过的句子对进行关系预测;其中,所述算法模型在自然语言推理模型中引入了句内注意力模块及句间注意力模块;句子对的关系包括:矛盾、蕴含、无关;本发明在增强自然语言推理模型性能的同时,提高了结果的可解释性;其中,算法模型在自然语言推理模型中引入了句内注意力模块来提升句子的表达能力,并采用了句间注意力模块促进句子间的交互,同时增强了自然语言推理模型性能,提高了结果的可解释性。(The invention provides a natural language reasoning method and a system, comprising the following steps: acquiring and processing natural language sentence pairs needing language reasoning; adopting a pre-trained algorithm model to predict the relationship of the processed sentence pairs; the algorithm model introduces an intra-sentence attention module and an inter-sentence attention module into the natural language reasoning model; the sentence pair relationship includes: contradiction, implication, irrelevance; the invention enhances the natural language reasoning model performance and improves the interpretability of the result; the algorithm model introduces an intra-sentence attention module in the natural language reasoning model to improve the expression capability of sentences, adopts an inter-sentence attention module to promote the interaction among the sentences, enhances the performance of the natural language reasoning model and improves the interpretability of results.)

一种自然语言推理方法及系统

技术领域

本发明涉及人工智能领域,尤其涉及采用人工智能处理自然语言的方法,具体涉及一种自然语言推理方法及系统。

背景技术

自然语言处理旨在探究并实现人与计算机之间使用自然语言进行有效通信的各种理论和方法,是人工智能的核心方向。自然语言处理有着丰富的应用场景,其中自然语言推理是重要的研究内容之一,目的是判断两个“前提”和“假设”两个句子之间的关系,被广泛应用于问答,情感分析,对话系统等。

目前,在自然语言推理任务中,注意力机制是模型的重要组成部分。注意力机制可以分为句内注意力和句间注意力,句内注意力用于捕获句内词语间的相关性,而句间注意力是在两个句子间捕获对齐信息。虽然注意力机制被广泛应用与自然语言推理模型中,但是现有的模型所采用的注意力方法是无参数或者无监督的,注意力模块在模型中不受约束,没有目标可以指导注意力模块的训练,导致模型的可解释性差。

发明内容

为了解决现有技术中存在的问题,本发明提供一种自然语言推理方法,包括:

获取需要进行语言推理的自然语言句子对,并进行处理;

采用预先训练好的算法模型,对所述处理过的句子对进行关系预测;

其中,所述算法模型在自然语言推理模型中引入了句内注意力模块及句间注意力模块;句子对的关系包括:矛盾、蕴含、无关。

优选的,对算法模型的训练,包括:

对已标注的自然语言句子对进行数据处理得到样本集;

将所述样本集分为训练集和测试集;

使用迁移学习将预先采用监督机制训练完成的句间注意力模块迁移到自然语言推理模型中,捕捉训练集中句子间的对齐信息;

基于包含对齐信息的训练集,采用成分句法分析法进行分析,并利用解析算法对分析结果进行提取得到句内注意力模块的监督信号;

使用多任务学习方法对句内注意力模块和自然语言推理模型进行联合训练,并在训练过程中对上所述句间注意力模型进行优化调整;

所述解析算法的选择由成分分析结果确定。

优选的,所述对算法模型的训练,还包括:

采用训练集对所述对算法模型进行优化。

优选的,所述数据处理包括:

采用Stanford分词工具对句子进行分词,分词后利用双向LSTM网络进行词嵌入处理;

统计语料中所有词的出现频率,保留句子中词出现频率大于一定阈值的词作为高频词;

基于预训练词向量的词表,取出所述高频词对应的预训练词向量;

所述阈值大于等于80%。

优选的,所述采用监督机制进行训练得到句间注意力模块包括,包括:

对训练集中的句子采用Stanford分词工具对句子进行分词,分词后利用双向LSTM网络进行词嵌入处理;

基于经过处理的训练集中每个句子对,依次从句子对选择一个词,按照训练集的标注,从句子对中表示假设句子中提取出与所述词所对齐的单词集合,作为所述词在句间注意力模块中的监督信号,直到完成所有监督信号的提取;

其中,所述训练集中的对齐数据集中标注了两句话间的对齐信息;所述训练集的标注包括:每个句子对的关系和各词的对齐关系。

优选的,所述基于包含对齐信息的训练集,采用成分句法分析法进行分析,并利用解析算法对分析结果进行提取得到句内注意力模块的监督信号,包括:采用成分句法分析法将训练集中自然语言句子生成以单词为节点的成分句法分析树;

基于解析算法对所述成分句法分析树进行解析,从中获取以体现句子对关系的词为根节点的子树所含叶子结点,并提取所述词的多尺度监督信号。

优选的,所述在训练过程中对上所述句间注意力模型进行优化调整,包括:

将原始训练集或测试集中进行分词和词嵌入处理,作为原始数据;

将经过一层的双向LSTM网络处理后,将处理后的原始数据输入到句间注意力模块得到预测的各句子中词之间的对齐关系;

基于所述预测的各句子中词之间的对齐关系以及所述监督信号计算均方误差损失;

基于所述均方误差损失以监督训练的形式对句间注意力模块进行优化调整;

优选的,所述句间注意力模块的损失函数计算式如下:

其中,n为句子中具有n个词,j为对当前的第j个词,sinter,j为当前句子中当前词j对句子对中另一句话中所有词的预设期望对齐权重分布,βj为句间注意力模块所学习到的当前词j对另一句话中所有词的学习后得到的对齐权重分布。

优选的,所述句内注意力模块的损失函数的计算式如下:

其中,n为句子中具有n个词,sintra,i为当前词i对当前句子中所有词的预设期望对齐权重分布,αi为句内注意力模块所学习到的当前词对当前句子中所有词的学习后得到的对齐权重分布;

优选的,所述自然语言推理模型的目标函数的计算式如下:

其中,L为目标函数表示,c为所有标签的类别数,对当前的第j个样本,tj为样本集标注的结果,而yj为模型对当前句子对的预测结果;

优选的,所述使用多任务学习方法对句内注意力模块和自然语言推理模型进行联合训练的损失函数为:

J(θ)=λ1L+λ2MSEintra

λ1和λ2为超参数,用于控制两个损失函数的比重。

基于同一种发明构思,本发明还提供一种自然语言推理系统,包括:

获取模块,用于获取需要进行语言推理的自然语言句子对,并进行处理;

确定模块,采用预先训练好的算法模型,对所述处理过的句子对进行关系预测;

其中,所述算法模型在自然语言推理模型中引入了句内注意力模块及句间注意力模块;句子对的关系包括:矛盾、蕴含、无关。

本发明的有益效果为:

本发明提供一种自然语言推理方法及系统,包括:获取需要进行语言推理的自然语言句子对,并进行处理;采用预先训练好的算法模型,对所述处理过的句子对进行关系预测;其中,所述算法模型在自然语言推理模型中引入了句内注意力模块及句间注意力模块;句子对的关系包括:矛盾、蕴含、无关;本发明在增强自然语言推理模型性能的同时,提高了结果的可解释性;其中,算法模型在自然语言推理模型中引入了句内注意力模块来提升句子的表达能力,并采用了句间注意力模块促进句子间的交互,同时增强了自然语言推理模型性能,提高了结果的可解释性。

附图说明

图1为本发明提供的自然语言推理方法流程图;

图2为本发明提供的自然语言推理方法的结构示意图;

图3为实施例1中成分句法解析结果;

图4为实施例1中的句子对齐格式;

图5为本发明自然语言推理系统的结构图。

具体实施方式

本发明提供了一个全新的自然语言推理框架。在此框架中,使用成分句法分析结果对句内注意力模块进行监督训练,并使用句间的对齐信息对句间注意力模块进行监督训练。采用多任务学习与迁移学习方法将句内注意力和句间注意力模块的监督训练分别融合在自然语言推理模型的训练中,从而提升自然语言推理模型的性能,同时解决现有模型解释性差的问题。

为了更好地理解本发明,下面结合说明书附图和实例对本发明的内容做进一步的说明。

实施例1:

本发明提供一种自然语言推理方法,如图1所示,包括:

S1获取需要进行语言推理的自然语言句子对,并进行处理;

s2采用预先训练好的算法模型,对所述处理过的句子对进行关系预测;

其中,所述算法模型在自然语言推理模型中引入了句内注意力模块及句间注意力模块;本发明提到的句子对包括“前提”句子和“假设”句子;句子对的关系包括:矛盾、蕴含、无关;

针对步骤S2中的算法模型的训练,按照以下步骤进行,具体如图2所示:

步骤1、选择已有的自然语言句子对,对这些数据进行预处理;

具体的,从自然语言推理数据集中选择自然语言句子对,对这些数据进行预处理。预处理包括文本的分词,然后使用词向量Glove对两个句子分别进行词向量嵌入,目的是初步的去除噪声干扰并丰富文本的特征。其中,采用Stanford分词工具对句子进行分词,分词后利用双向LSTM网络进行词嵌入处理

步骤2、使用句法分析工具对每个句子进行成分句法分析,并将分析结果提取为句内注意力的监督信号;

具体的,使用句法分析工具对每个句子进行成分句法分析,得到以树结构组织的分析结果,如图3所示。然后我们进一步设计了成分句法树的解析算法:以具体某个词为子树根节点,将成分句法树中该子树根节点内的所有叶子节点提取出来,作为该词所应关注的对象,即句内注意力模块中,该词注意力权重分布的监督信号;以示例图1为例,对于“喜欢”这个词,句内注意力模块的权重分布理论上应该是在“吃”和“鱼”两个词上,即我们提取出[0,0,0.5,0.5]这样长度与分词后的句子长度一致的归一化权重向量,0.5权重所在的索引对应着“吃”和“鱼”两个词在句子中的索引。

步骤3、使用句子对齐数据集对句间注意力进行监督预训练,得到能够捕捉句间对齐信息的预训练句间注意力模型;

具体包括:对句间对齐数据集Alignment进行预处理:类似步骤1中所述,首先是分词、词嵌入。然后我们进一步设计了句间对齐信息解析算法:以“前提”句子中的具体某个词为例,按照数据集的标注,从“假设”句子中提取出与该词所对齐的单词集合,作为该词在句间注意力模块中的监督信号。以示例图4为例,句子对齐数据集中标注了两句话间的对齐信息,如“大买卖”和“交易”,“利润”和“营收”。通过设计解析算法,我们将这种对齐信号提取为句间注意力模块的监督信号。待所有的监督信号提取完成后,以词嵌入为原始输入,经过一层的双向LSTM网络处理后,信息输入到句间注意力模块,句间注意力模块输出“前提”(“假设”)句子中每个词与“假设”(“前提”)句子中词之间的对齐关系,并与事先提取的监督信号计算均方误差损失,以监督训练的形式对句间注意力模块进行预训练,用以学习捕捉句间的对齐信息;

步骤4、在自然语言推理模型中引入句内注意力以及句间注意力,使用迁移学习方法将预训练的句间注意力模型迁移到自然语言推理模型中。

设计自然语言推理模型:基于已有的自然语言推理模型,如ESIM,我们引入句内注意力模块以及句间注意力模块。其中句内注意力模块是以自注意机制的形式来捕捉句子内部词与词之间的依赖关系,然后以迁移学习的策略将步骤3中预训练得到的句间注意力模块迁移到自然语言推理模型中。本发明通过引入句内注意力模块,增强了句子的表达能力。

步骤5、使用多任务学习方法将句内注意力模块的监督训练与自然语言推理模型的训练进行融合,并在训练过程中对迁移来的句间注意力模型进行微调。

以步骤1的词嵌入结果为原始输入,使用双向LSTM对词嵌入做处理,然后使用步骤4中所引入的句内注意力模块,捕捉一句话内词与词的依赖关系,即得到某个词在其他词上的权重分布,并对其他词的表示进行加权求和,来增强该词的表示,进而增强了整句话的表示。对于句内注意力模块所得到的权重分布,与步骤2中解析出的句内注意力计算均方误差损失函数,实现了以监督训练的形式对句内注意力模块进行监督训练。

步骤6、对于步骤5中得到的增强的句子表示,将其输入到步骤4中迁移的句间注意力模块中,捕捉句间的对齐关系,得到一句话内的某个词在另一句话所有词上的权重分布,然后根据该权重分布对句子加权求和,并拼接到该词的表示上,做进一步的加强。两句话的所有词处理完成之后,实现了句子间的交互,同时进一步增强了句子的表示。本发明通过对句间注意力模块的监督预训练促进了模型对句间对齐的捕捉能力。

步骤7、基于步骤6的输出,我们使用mean-pooling和max-pooling对两句话的表示进行聚合,得到了每句话的定长表示。将两句话的定长表示拼接,并送入两层全连接分类器中做分类,并将分类结果输入到softmax函数中归一化各类别的概率。计算得到的类别概率和真实类别分布(这个真实分布是样本数据中标注的类别分布)的交叉熵损失函数,对整个模型进行监督训练。本发明通过对注意力模块的监督训练,提高了预测结果的可解释性。

步骤8、以步骤7的模型的整体训练为主任务、步骤5的句内注意力模块的训练为辅任务,使用多任务学习的方式进行联合训练,同时微调步骤4中所迁移的句间注意力模块。

步骤9、分割训练集和测试集,使用优化算法进行训练,并保存最优的算法模型。

步骤10、将训练得到的模型应用到新的自然语言句子对中,得到对两个句子的预测关系结果,对结果进行评测以及解释性分析。

进一步的,步骤1所述的数据预处理。其中包括:

分词:使用Stanford分词工具对句子进行分词。

构建词表:统计语料中所有词的出现频率,将所有词按频率降序排序,并保存前80%的高频词。

获取词向量:对所获得的高频词,查预训练词向量的词表,并取出其对应的预训练词向量,作为模型的输入。

进一步的,步骤2所述的句内注意力监督信号的提取,设计解析算法对成分句法分析树进行解析,从中获取以某个词为根节点的子树所含叶子结点,并提取为该词的多尺度监督信号。

进一步的,步骤3所述的句间注意力模型的监督预训练过程,从句子对齐数据集中提取句间对齐的监督信号,并使用监督方法训练句间注意力模块对对齐信息的捕捉能力。

进一步的,步骤5所述的句内注意力、句间注意力与自然语言推理模型的融合。

进一步的,步骤5所述使用迁移学习将预训练的句间注意力加载到自然语言推理模型中,并跟随自然语言推理模型的训练进行微调。

进一步的,步骤5所述的对句内注意力模块和自然语言推理模型的融合,以及迁移并微调预训练的句间注意力模块。采用多任务学习方法来融合句内注意力模块和自然语言推理模型,能够在根据端任务的性能来对整个自然语言推理模型优化的同时,更好的训练句内注意力模块来捕捉句内句法信息。句间注意力模块的微调步骤,首先是将预训练的句间注意力模块的参数载入并作为自然语言推理模型的一部分,随着整个自然语言推理模型的训练进行二次优化以适应新的数据分布。

进一步的,步骤8所述的模型训练过程,共分为两个步骤:

步骤81:句间注意力模块的预训练。此处模型优化的目标在于使句间注意力模块能够捕捉到句子对之间词级别的对齐信息,损失函数具体如下:

其中,n为句子中具有n个词,j为对当前的第j个词,sinter,j为当前句子中当前词j对句子对中另一句话中所有词的预设期望对齐权重分布,βj为句间注意力模块所学习到的当前词j对另一句话中所有词的学习后得到的对齐权重分布。

步骤82:句内注意力模块和整个模型的联合训练,以及句内注意力模块的微调。联合训练的目的在于更好的根据端任务的性能来优化句内注意力模块,句内注意力模块的损失函数为:

其中,n为句子中具有n个词,sintra,i为当前词i对当前句子中所有词的预设期望对齐权重分布,αi为句内注意力模块所学习到的当前词对当前句子中所有词的学习后得到的对齐权重分布。

整个自然语言模型的目标是一个分类任务的形式,因此采用了交叉熵损失函数:

其中,L为目标函数表示,c为所有标签的类别数,对当前的第j个样本,tj为样本集标注的结果,而yj为模型对当前句子对的预测结果。

联合训练的损失函数为:

J(θ)=λ1L+λ2MSEintra

λ1和λ2为超参数,用于控制两个损失函数的比重。

联合训练过程中,预训练好的句间注意力模块被迁移到模型中,并跟随模型的训练做微调。

进一步的,步骤10所述的解释性分析,根据句内注意力结果构建句法成分树,以及根据句间注意力结果构建对齐信息图,并对二者分别进行分析。

本发明使用监督训练的方法来约束句内注意力模块和句间注意力模块,一方面提升了文本的表达能力,另一方面促进了“前提”句子和“假设”句子间的交互。在纯文本场景下的自然语言推理任务中,通过使用本发明能够提升模型的分类性能,同时提高结果的可解释性。

实施例2

为了实现上述方法,本发明还提供一种自然语言推理系统,如图5所示,包括:

选择候选句子对模块,用于获取需要进行语言推理的自然语言句子对,并进行处理;

加载推理模块,采用预先训练好的算法模型,对所述处理过的句子对进行关系预测;

其中,所述算法模型在自然语言推理模型中引入了句内注意力模块及句间注意力模块;句子对的关系包括:矛盾、蕴含、无关。

加载推理模块包括:模型计算模块和模型构建与训练模块;

其中,模型计算模块,用于基于需要进行语言推理的自然语言句子对,利用模型构建与训练模块中训练好的模型进行计算,得到关系预测;

模型构建与训练模块包括如下子模块

选择样本集子模块,用于对已标注的自然语言句子对进行数据处理得到样本集;并将所述样本集分为训练集和测试集;

对齐子模块,用于使用迁移学习将预先采用监督机制训练完成的句间注意力模块迁移到自然语言推理模型中,捕捉训练集中句子间的对齐信息;

句内注意力训练子模块,用于基于包含对齐信息的训练集,采用成分句法分析法进行分析,并利用解析算法对分析结果进行提取得到句内注意力模块的监督信号;

联合训练子模块,用于使用多任务学习方法对句内注意力模块和自然语言推理模型进行联合训练,并在训练过程中对上所述句间注意力模型进行优化调整;

所述解析算法的选择由成分分析结果确定。

其中每个模块和子模块还包括具体实现实施例1方法的功能。

显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。

本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

以上仅为本发明的实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均包含在申请待批的本发明的权利要求范围之内。

13页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:文本纠错方法、相关设备及可读存储介质

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!