首页 / 专利库 / 数学与统计 / 优化算法 / 梯度下降法 / 一种基于深度学习自注意力机制的句子排序方法

一种基于深度学习自注意机制的句子排序方法

阅读:2发布:2021-04-02

专利汇可以提供一种基于深度学习自注意机制的句子排序方法专利检索,专利查询,专利分析的服务。并且本 发明 公开了一种基于 深度学习 自注意 力 机制的句子排序方法,当一段文本输入之后,首先利用长短期记忆网络将文本中的每一个句子翻译成分布式向量,获取句子的句法信息;其次,采用自注意力机制去学习句子之间的语义关联,并挖掘潜在的逻辑结构,保存重要的信息构成高层次的段落向量;然后,将此段落向量输入至 指针 网络,产生新的句子顺序。本发明方法的特点在于,不会受到输入句子顺序的影响,避免了长短期记忆网络在生成段落向量的过程中融入错误时序信息的问题,能有效地分析所有句子之间的联系。相比于现有的句子排序技术,本发明提出的方法在准确率上有了很大的提升,具有较好的实用价值。,下面是一种基于深度学习自注意机制的句子排序方法专利的具体信息内容。

1.一种基于深度学习自注意机制的句子排序方法,其特征在于,包括如下步骤:
S10:收集文本数据,分别构成训练集、验证集和测试集三个样本集,并随机打乱三个样本集中每一篇文章的句子顺序得到变异文本;
S20:构建句子向量,通过词嵌入式矩阵学习所述变异文本中单词的分布式表示得到单词向量,再采用双向长短期记忆网络建立句子向量;
S30:建立段落向量,对输入的句子向量采用深度学习中的自注意力机制捕捉句子之间的关联信息,挖掘正确的语义内容与逻辑结构,分析出可能的原文顺序,并且表示成一个高层次的段落向量;
S40:将步骤S30得到的段落向量利用指针网络进行解码,输出重新排好顺序的更加连贯的句子序列;
S50:对S20-S40中的深度学习模型进行训练,采用随机梯度下降法对模型参数进行优化调整,直至在验证集上通过验证,保存模型参数;
S60:在测试集上对训练完毕的深度学习模型进行测试,计算出句子排序的准确率,并基于所述准确率对所述深度学习模型进行进一步优化。
2.如权利要求1所述的基于深度学习自注意力机制的句子排序方法,其特征在于,S10还包括定义句子排序任务目标:
定义一篇变异文本为S,由n个句子组成,若当前的句子顺序为O=[o1,o2,…,on],则这篇文本可以表示成为 所述句子排序任务目标是为变异文本找到正
确的句子顺序O*,其中 在此顺序下的句子序列连贯性概率最高:
其中ψ表示n个句子所有可能顺序的集合,O为其中的一种顺序组合,
该概率越高,说明在这个句子顺序下的文本相对来说越连贯。
3.如权利要求2所述的基于深度学习自注意力机制的句子排序方法,其特征在于,S20具体包括:
S201:假设一个句子 包含了nw个单词,则该句子表示为 句
子中的单词wt通过词嵌入式矩阵We转换至相应的分布式词向量xt:xt=Wewt,t∈[1,nw];如果句子中的某个单词没有出现在词嵌入矩阵的单词表中,那么就把这个单词用来代替,其分布式向量在训练的过程中获得;由此,原始句子转化成为词向量序列S202:将所述词向量序列按照顺序依次输入到双向长短期记忆网络中,计算句子的分布式向量;所述双向长短期记忆网络包括前向网络,从句子 的w1至 方向读取句子信息;同时包括后向网络,从相反的方向处理句子内容:
其中ht表示句子第t个位置隐藏层向量,这个向量结合了前向隐藏层向量 与后向隐藏层向量 相当于合并了前向与后向的信息;将双向长短期记忆网络的最后一个隐藏层向量输出,获得句子的向量表示
4.如权利要求3所述的基于深度学习自注意力机制的句子排序方法,其特征在于,S30具体包括:
S301:所有输入句子向量合并后的文本矩阵 记为 将
这个矩阵输入到自注意力机制中的L个自注意力层,每一个自注意力层都通过相同的方式学习一个矩阵表达El+1=U(El),每一层的输入都是前一层的输出矩阵:
U(El)=Φ(FN(D(El)),D(El))
D(El)=Φ(MH(El,El,El),El)
Φ(v,w)=LayerNorm(v+w)
其中Φ(·)是正规化函数,它对残差输出结果执行层规范化操作以保持自回归特性,FN(·)表示全连接前向网络,包括了两个线性变换层且中间是一个ReLU非线性激活函数,皆为可训练的参数,尽管线性变换在所
有层上都是相同的操作,但是不同层的参数是不一样的;
S302:利用平均池化层将步骤S301计算得到的段落矩阵进一步转化为段落向量;S301的最后一个自注意力层的输出矩阵为 计算EL中n个行向量的平均值:
表示矩阵EL的第i行,v即为所要求的段落向量,这个向量凝练了输入文
本的逻辑结构与高层次的语义信息。
5.如权利要求4所述的基于深度学习自注意力机制的句子排序方法,其特征在于,S40具体包括:
S401:选择指针网络作为模型的解码器,所述指针网络是由一系列的长短期记忆网络单元所构成,上一个单元的输出作为下一单元的输入;其中,初始单元的隐藏层为步骤S30计算得到的段落向量h0=vT,初始单元的输入是一个零向量
*
S402:在训练的时候,文本正确的句子顺序O 已知,因此解码单元的输入序列解码器第i个单元的输入为 在测试的
过程中,文本正确的句子顺序O*是未知的,而之前单元预测的顺序是已经得到了的,则解码单元的输入为 第i个长短期记忆网络单元的解码操作为:
hi,ci=LSTM(hi-1,ci-1,xi-1)
P(oi|oi-1,…,o1,S)=softmax(ui)
其中的 为可学习的参数,softmax函数将向量
进行归一化,产生在所有句子上的权重分布,也就是文本中每一个句子排在第i个位置上的可能性;基于之前i-1个位置的序列预测结果,若第i个位置输出句子是soi,则当前预测出的由i个句子构成的序列连贯性概率为P(oi|oi-1,…,o1,S);模型最终预测的序列是具有最高连贯性概率的顺序组合:
6.如权利要求5所述的基于深度学习自注意力机制的句子排序方法,其特征在于,S50具体包括:
S501:假设训练集中有K篇文章,定义 其中yj表示第j篇原始文章的正确句子顺序O*,qj代表文章句子被随机打乱后的顺序,并定义P(yj|qj)=P(O*|S=qj)为当句子被打乱后的顺序是qj的时候,模型将此变异文本恢复出正确句子顺序的可能性;
S502:通过不断地训练神经网络,使得模型恢复出正确句子顺序的可能性最大,即步骤S501中所定义的概率尽可能的高,因此需要减小模型的代价函数:
公式中的θ表示网络中所有可训练的参数,λ表示正则化参数;
S503:模型在训练集上采用随机梯度下降法训练网络、优化参数,使用Adadelta方法作为模型优化器对参数进行更新,直至模型在验证集上的误差连续三个周期没有下降时,停止训练过程并保存模型参数,得到最终的神经网络结构。
7.如权利要求1所述的基于深度学习自注意力机制的句子排序方法,其特征在于,S60具体包括:
S601:在测试集上测试已经训练完成的模型,采用准确率来衡量模型句子排序的效果;
对于一篇变异文本,经过模型重新排序后,预测正确的位置个数除以文本句子的总个数定义为这篇文本句子排序的准确率,计算测试集中所有文本句子排序准确率的平均值,得到模型最终的准确率;
S602:根据S601得到的准确率调整模型参数值,重复S50与S60直到模型句子排序的效果达到预设要求。

说明书全文

一种基于深度学习自注意机制的句子排序方法

技术领域

[0001] 本发明属于自然语言处理技术领域,涉及一种基于深度学习自注意力机制的句子排序方法。

背景技术

[0002] 句子排序任务是将顺序未知或打乱的一些句子,通过分析句子之间的语义关联与逻辑结构,给句子重新排序,使其构成通顺连贯的文本,可以应用在自然语言生成领域,如文本生成、多文档抽取式自动摘要和基于检索的问答系统中。不正确的句子顺序会导致文本内容出现歧义,降低可读性,给读者带去困扰。
[0003] 现有的句子排序研究方法主要分为三大类。第一类主要依靠特征工程,也就是人为地定义一些具有代表性的特征去捕获句子之间的语义和逻辑等关系,将文本中的每个句子编码成特征向量然后为这些句子重新排序,使得新的文本连贯性程度更高。但是,规范地定义这些特征难度极高,需要语言学领域的专业知识,导致适应新的文本领域比较困难,耗费大量人力资源。第二类依赖数据驱动,通过神经网络分析文本中句子的局部一致性从而推测句子之间的相对顺序。但是,这类方法仅关注局部的连贯性,忽略了文本的全局信息,无法全面综合地对所有句子进行有效的分析。第三类方法基于高层次的递归神经网络,首先采用递归神经网络或卷积神经网络捕捉句子中每个单词的分布式组成形式并投影到一个连续化的句子表示中去,获取句子的语义与句法内容。其次,利用长短期记忆网络按照文本中句子的顺序依次读取句子向量,并构成一个段落向量。然后将得到的段落向量通过一个指针网络,产生新的句子顺序。然而,这类方法容易受到输入句子顺序的影响。由于模型输入文本的句子顺序是未知的甚至是打乱的,而在构建段落向量的过程中,长短期记忆网络中递归的神经单元无法识别出正确的句子顺序,只能按照错误的顺序读取句子信息,导致句子之间的逻辑与语义信息混乱,通过这类方法得到的段落向量包含了错误的文本内容是不可靠的,给指针网络鉴别正确的句子顺序造成了困难。

发明内容

[0004] 为解决上述问题,本发明的目的在于提供一种基于深度学习自注意力机制的句子排序方法,利用自注意力机制有效地捕捉输入句子之间的关联信息,挖掘正确的语义内容与逻辑结构,分析出可能的原文顺序,并且表示成一个高层次的段落向量。同时,这个向量不会受到句子输入顺序的影响,即使顺序未知甚至有错,这个向量仍然保持不变,有效地防止了错误的句子输入顺序干扰文本整体信息的获取,有利于指针网络正确地恢复出句子顺序,大大地提高句子排序的准确率。
[0005] 为实现上述目的,本发明的技术方案为:
[0006] 一种基于深度学习自注意力机制的句子排序方法,包括如下步骤:
[0007] S10:收集文本数据,分别构成训练集、验证集和测试集三个样本集,并随机打乱三个样本集中每一篇文章的句子顺序得到变异文本;
[0008] S20:构建句子向量,通过词嵌入式矩阵学习所述变异文本中单词的分布式表示得到单词向量,再采用双向长短期记忆网络建立句子向量;
[0009] S30:建立段落向量,对输入的句子向量采用深度学习中的自注意力机制捕捉句子之间的关联信息,挖掘正确的语义内容与逻辑结构,分析出可能的原文顺序,并且表示成一个高层次的段落向量;
[0010] S40:将步骤S30得到的段落向量利用指针网络进行解码,输出重新排好顺序的更加连贯的句子序列;
[0011] S50:对S20-S40中的深度学习模型进行训练,采用随机梯度下降法对模型参数进行优化调整,直至在验证集上通过验证,保存模型参数;
[0012] S60:在测试集上对训练完毕的深度学习模型进行测试,计算出句子排序的准确率,并基于所述准确率对所述深度学习模型进行进一步优化。
[0013] 进一步的,S10还包括定义句子排序任务目标:
[0014] 定义一篇变异文本为S,由n个句子组成,若当前的句子顺序为O=[o1,o2,…,on],则这篇文本可以表示成为 所述句子排序任务目标是为变异文本找*
到正确的句子顺序O ,其中 在此顺序下的句子序列连贯性概率最
高:
[0015]
[0016] 其中ψ表示n个句子所有可能顺序的集合,O为其中的一种顺序组合,该概率越高,说明在这个句子顺序下的文本相对来说越连贯。
[0017] 进一步的,S20具体包括:
[0018] S201:假设一个句子 包含了nw个单词,则该句子表示为句子中的单词wt通过词嵌入式矩阵We转换至相应的分布式词向量xt:xt=Wewt,t∈[1,nw];
如果句子中的某个单词没有出现在词嵌入矩阵的单词表中,那么就把这个单词用来代替,其分布式向量在训练的过程中获得;由此,原始句子转化成为词向量序列[0019] S202:将所述词向量序列按照顺序依次输入到双向长短期记忆网络中,计算句子的分布式向量;所述双向长短期记忆网络包括前向网络,从句子 的w1至 方向读取句子信息;同时包括后向网络,从相反的方向处理句子内容:
[0020]
[0021]
[0022]
[0023] 其中ht表示句子第t个位置隐藏层向量,这个向量结合了前向隐藏层向量 与后向隐藏层向量 相当于合并了前向与后向的信息;将双向长短期记忆网络的最后一个隐藏层向量输出,获得句子的向量表示
[0024] 进一步的,S30具体包括:
[0025] S301:所有输入句子向量合并后的文本矩阵 记为将这个矩阵输入到自注意力机制中的L个自注意力层,每一个自注意力层都通过相同的方式学习一个矩阵表达El+1=U(El),每一层的输入都是前一层的输出矩阵:
[0026] U(El)=Φ(FN(D(El)),D(El))
[0027] D(El)=Φ(MH(El,El,El),El)
[0028] Φ(v,w)=LayerNorm(v+w)
[0029]
[0030] 其中Φ(·)是正规化函数,它对残差输出结果执行层规范化操作以保持自回归特性,FN(·)表示全连接前向网络,包括了两个线性变换层且中间是一个ReLU非线性激活函数, 皆为可训练的参数,尽管线性变换在所有层上都是相同的操作,但是不同层的参数是不一样的;
[0031] S302:利用平均池化层将步骤S301计算得到的段落矩阵进一步转化为段落向量;S301的最后一个自注意力层的输出矩阵为 计算EL中n个行向量的平均值:
表示矩阵EL的第i行,v即为所要求的段落向量,这个向量凝练了输入文
本的逻辑结构与高层次的语义信息。
[0032] 进一步的,S40具体包括:
[0033] S401:选择指针网络作为模型的解码器,所述指针网络是由一系列的长短期记忆网络单元所构成,上一个单元的输出作为下一单元的输入;其中,初始单元的隐藏层为步骤S30计算得到的段落向量h0=vT,初始单元的输入是一个零向量
[0034] S402:在训练的时候,文本正确的句子顺序O*已知,因此解码单元的输入序列解码器第i个单元的输入为 在测试的*
过程中,文本正确的句子顺序O 是未知的,而之前单元预测的顺序是已经得到了的,则解码单元的输入为 第i个长短期记忆网络单元的解码操作为:
[0035] hi,ci=LSTM(hi-1,ci-1,xi-1)
[0036]
[0037] P(oi|oi-1,…,o1,S)=softmax(ui)
[0038] 其中的 为可学习的参数,softmax函数将向量进行归一化,产生在所有句子上的权重分布,也就是文本中每一个句子排在第i个位置上的可能性;基于之前i-1个位置的序列预测结果,若第i个位置输出句子是 则当前预测出的由i个句子构成的序列连贯性概率为P(oi|oi-1,…,o1,S);模型最终预测的序列是具有最高连贯性概率的顺序组合:
[0039]
[0040] 进一步的,S50具体包括:
[0041] S501:假设训练集中有K篇文章,定义 其中yj表示第j篇原始文章的正* *确句子顺序O ,qj代表文章句子被随机打乱后的顺序,并定义P(yj|qj)=P(O|S=qj)为当句子被打乱后的顺序是qj的时候,模型将此变异文本恢复出正确句子顺序的可能性;
[0042] S502:通过不断地训练神经网络,使得模型恢复出正确句子顺序的可能性最大,即步骤S501中所定义的概率尽可能的高,因此需要减小模型的代价函数:
[0043]
[0044] 公式中的θ表示网络中所有可训练的参数,λ表示正则化参数;
[0045] S503:模型在训练集上采用随机梯度下降法训练网络、优化参数,使用Adadelta方法作为模型优化器对参数进行更新,直至模型在验证集上的误差连续三个周期没有下降时,停止训练过程并保存模型参数,得到最终的神经网络结构。
[0046] 进一步的,S60具体包括:
[0047] S601:在测试集上测试已经训练完成的模型,采用准确率来衡量模型句子排序的效果;对于一篇变异文本,经过模型重新排序后,预测正确的位置个数除以文本句子的总个数定义为这篇文本句子排序的准确率,计算测试集中所有文本句子排序准确率的平均值,得到模型最终的准确率;
[0048] S602:根据S601得到的准确率调整模型参数值,重复S50与S60直到模型句子排序的效果达到预设要求。
[0049] 与现有技术相比,本发明的主要优点在于:
[0050] (1)本发明使用深度学习自注意力机制捕捉输入句子之间的语义关联并分析潜在的逻辑结构,探索潜在可能的句子顺序。并且在这个过程中,模型保证不会受到输入句子顺序的影响,防止错误的句子输入顺序对文本整体信息获取造成的干扰,有利于指针网络正确地恢复出句子顺序,有效地避免了长短期记忆网络在构造段落向量过程中导致的时序信息混乱的问题。
[0051] (2)本发明充分考虑了所有的句子之间的关联信息,挖掘每一个句子和其他所有句子之间的语义内容联系和逻辑关系,相比于数据驱动方法等现有方法,本发明的方法更加整体全面地考察并提炼出文本主旨,而不局限于关注某几个句子之间的局部依赖关系,有助于构建更加可靠的段落向量。
[0052] (3)不同于传统的句子排序方法,本发明不用进行复杂的人工特征提取操作,神经网络能够简单高效地学习句子表示,提取出句子中重要的句法和语义信息,完成特征提取过程。同时,本发明的方法具有很强的适应能力,可以对任何领域的文本句子进行分析并排序,节约人力资源,具有极高的应用价值。附图说明
[0053] 图1为本发明的基于深度学习自注意力机制的句子排序方法实施例的流程示意图。

具体实施方式

[0054] 为了使本发明的目的、技术方案及优点更加清楚明白,以下对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
[0055] 相反,本发明涵盖任何由权利要求定义的在本发明的精髓和范围上做的替代、修改、等效方法以及方案。进一步,为了使公众对本发明有更好的了解,在下文对本发明的细节描述中,详尽描述了一些特定的细节部分。对本领域技术人员来说没有这些细节部分的描述也可以完全理解本发明。
[0056] 参考图1,所示为本发明实施例的一种基于深度学习自注意力机制的句子排序模型的流程图,其包括以下步骤:
[0057] S10:收集文本数据,构成训练、验证与测试样本集,并随机打乱样本集中每一篇文章的句子顺序得到变异文本,具体包括S101至S102:
[0058] S101:采用七个数据集中的文本来进行句子排序的研究,包括两个新闻数据集、四个论文概论部分数据集和一个图片标签数据集。七个数据集又各自包含训练、验证与测试样本集。每一个样本集都包含一定数量的原始文章,为了避免原文正确的句子顺序输入对模型重新排序的效果产生影响,随机地打乱了每篇原始文章的句子顺序得到变异文本;
[0059] S102:定义一篇变异文本为S,由n个句子组成,若当前的句子顺序为O=[o1,o2,…,on],则这篇文本可以表示成为 句子排序任务的目标是为变异文本找到正确的句子顺序O*,其中 在此顺序下的句子序列连贯性概率最
高:
[0060]
[0061] 当中的ψ表示n个句子所有可能顺序的集合,O为其中的一种顺序组合。
[0062] S20:构建句子向量,先通过词嵌入式矩阵学习单词的分布式表示得到单词向量,再采用双向长短期记忆网络建立句子向量,具体包括S201至S202:
[0063] S201:假设一个句子 包含了nw个单词,该句子可以表示成句子中的单词wt可以通过词嵌入式矩阵We转换至相应的分布式词向量xt:xt=Wewt,t∈[1,nw]。如果句子中的某个单词没有出现在词嵌入矩阵的单词表中,那么就把这个单词用来代替,其分布式向量在训练的过程中获得。由此,原始句子转化成为词向量序列[0064] S202:进一步的,将词向量序列按照顺序依此输入到双向长短期记忆网络中,计算句子的分布式向量。长短期记忆网络可以有效地捕捉长距离的依赖关系,同时避免了梯度消失与梯度爆炸的问题。在这里采用双向长短期记忆网络,更加充分地获取句子前向与后向的信息,提高网络的记忆能力。此网络包含了前向网络,从句子 的w1至 方向读取句子信息;同时也包含了后向网络,从相反的方向处理句子内容:
[0065]
[0066]
[0067]
[0068] 其中ht表示句子第t个位置的隐藏层向量,这个向量结合了前向隐藏层向量 与后向隐藏层向量 相当于合并了前向与后向的信息。将双向长短期记忆网络的最后一个隐藏层向量输出就可以获得这个句子的向量表示
[0069] S30:建立段落向量,通过深度学习中的自注意力机制捕捉输入句子之间的关联信息,挖掘正确的语义内容与逻辑结构,分析出可能的原文顺序,并且表示成一个高层次的段落向量,具体包括S301至S303:
[0070] S301:采用自注意力机制来计算所有的句子之间的依赖关系,挖掘每一个句子和其他所有句子之间的语义内容联系和逻辑关系。自注意力的基础是缩放式点积注意力,其工作原理为,给定由n个问题向量组成的矩阵 n个键向量组成的矩阵和n个值向量组成的矩阵 通过注意力函数计算输出矩阵
注意力函数通过点乘的方式先计算所有的问
题向量与键向量之间的关系,再使用softmax函数将关系权重归一化,除以 的目的是为了防止当维度d过大的时候,softmax函数陷入一个梯度极小的区域之中,将权重结果再与值向量相乘就可以计算出所有值向量的加权求和结果。为了获得问题矩阵与键矩阵多个方面不同度的关联信息,在上述注意力机制的基础上采用了多头策略,使用了h个平行的头,每一个头分别独立地进行缩放式点积注意力运算,然后把所有头得到的结果进行合并,相当于将多方面的信息融合起来,更加全面、综合地分析向量之间的联系并重构主旨信息,公式如下:
[0071] Mi=Attention(QWiQ,KWiK,VWiV)
[0072] MH(Q,K,V)=Concat(M1,…,Mh)W
[0073] 其中权重矩阵WiQ,WiK, 并且da=d/h,这些矩阵代表了第i个头的权重系数,权重矩阵 的参数在所有头之间是共享的。
[0074] 在模型中运用的自注意力机制就是一种特殊的多头缩放式点积注意力机制,它使用的问题矩阵、值矩阵与键矩阵其实都来源于同一个矩阵,目的是计算这个矩阵中所有向量之间的潜在关联,并提炼出这些向量所表达的主旨信息;
[0075] S302:模型采用多个自注意力层,多层次地分析并提取文本中不同句子之间的联系。文本中的句子按照步骤S20所述得到句子向量,所有句子向量合并后的文本矩阵可记为 这个矩阵输入到L个自注意力层,每一个层都通过相同的方式学习一个矩阵表达El+1=U(El),每一层的输入都是前一层的输出矩阵:
[0076] U(El)=Φ(FN(D(El)),D(El))
[0077] D(El)=Φ(MH(El,El,El),El)
[0078] Φ(v,w)=LayerNorm(v+w)
[0079]
[0080] 其中Φ(·)是正规化函数,它对残差输出结果执行层规范化操作以保持自回归特性,FN(·)表示全连接前向网络,包括了两个线性变换层且中间是一个ReLU非线性激活函数, 皆为可训练的参数,尽管线性变换在所有层上都是相同的操作,但是不同层的参数是不一样的。
[0081] 在构建段落向量的过程中,模型采用的自注意力机制通过分析每对句子之间的相关性计算出注意力得分,将文本中不同位置的句子直接关联起来,这样可以让任何一个句子和文本中其他所有句子建立链接,使得模型能够充分挖掘句子之间的潜在依赖关系。并且,自注意力机制使用加权和运算来为文本的所有句子建立更高级别的表示,更好地提炼信息。除此之外,在这个过程中,模型没有使用输入文本的句子顺序信息,可以有效地防止模型受到错误的句子顺序的影响;
[0082] S303:利用平均池化层将步骤S302计算得到的段落矩阵进一步转化为段落向量。步骤S302的最后一个自注意力层的输出矩阵为 我们计算EL中n个行向量的平均值: 表示矩阵EL的第i行,v是我们所要求的段落向量,这个向量凝练了输入文本的逻辑结构与高层次的语义信息。
[0083] S40:将步骤S30得到的段落向量利用指针网络进行解码,输出重新排好顺序的更加连贯的句子序列,具体包括S401至S402:
[0084] S401:给定一篇变异文本S,其句子的输入顺序为O,这个文本的连贯性概率可定义为 概率越高,说明在这个句子顺序下的文本相对来说越连贯。为了更好地表示连贯性概率P(O|S),选择指针网络作为模型的解码器。指针网络是由一系列的长短期记忆网络单元所构成,上一个单元的输出作为下一单元的输入。解码器初始单元的隐藏层为步骤S30计算得到的段落向量h0=vT,初始单元的输入是一个零向量
[0085] S402:在训练的时候,文本正确的句子顺序O*已知,因此解码单元的输入序列解码器第i个单元的输入为 在测试的过程中,文本正确的句子顺序O*是未知的,而之前单元预测的顺序是已经得到了的,则单元的输入为 第i个长短期记忆网络单元的解码操作为:
[0086] hi,ci=LSTM(hi-1,ci-1,xi-1)
[0087]
[0088] P(oi|oi-1,…,o1,S)=softmax(ui)
[0089] 当中的 为可学习的参数。softmax函数将向量进行归一化,产生在所有句子上的权重分布,也就是文本中每一个句子排在第i个位置上的可能性。基于之前i-1个位置的序列预测结果,若第i个位置输出句子是 则当前预测出的由i个句子构成的序列连贯性概率为P(oi|oi-1,…,o1,S)。模型最终预测的序列是具有最高连贯性概率的顺序组合:
[0090]
[0091] 在模型中,采用集束搜索策略去寻找局部最优点。
[0092] S50:对此深度学习模型进行训练,采用随机梯度下降法对网络参数进行优化调整,直至在验证集上通过验证,保存网络参数,具体包括S501至S503:
[0093] S501:假设训练样本集中有K篇文章,我们定义 其中yj表示第j篇原始文章的正确句子顺序O*,qj代表文章句子被随机打乱后的顺序。P(yj|qj)=P(O*|S=qj)可以看作当句子被打乱后的顺序是qj的时候,模型将此变异文本恢复出正确句子顺序的可能性;
[0094] S502:本发明的目标是通过不断地训练神经网络,使得模型恢复出正确句子顺序的可能性最大,即步骤S501所述的概率尽可能的高,因此需要减小模型的代价函数:
[0095]
[0096] 公式中的θ表示着网络中所有可训练的参数,λ表示着正则化参数;
[0097] S503:模型在训练集上采用随机梯度下降法训练网络、优化参数,使用Adadelta方法作为模型优化器对参数进行更新,∈=106,ρ=0.95,学习速率为1.0。直至模型在验证集上的误差连续三个周期没有下降时,停止训练过程并保存网络参数,得到最终的神经网络结构。
[0098] S60:在测试集上对训练完毕的深度神经网络模型进行测试,计算出句子排序的准确率,具体包括S601至S602:
[0099] S601:在测试集上测试已经训练完成的模型,采用准确率来衡量模型句子排序的效果。对于一篇变异文本,经过模型重新排序后,预测正确的位置个数除以文本句子的总个数就是这篇文本句子排序的准确率,我们计算测试集中所有文本句子排序准确率的平均值,就可以得到模型最终的准确率;
[0100] S602:可以根据S601得到的准确率调整模型参数值,重复S50与S60直到模型句子排序的效果令人满意为止。
[0101] 以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈