一种基于多任务框架进行简单释义生成的方法与系统转让专利

申请号 : CN202210113483.0

文献号 : CN114139532B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 杨麟儿孔存良刘鑫杨尔弘张恒源

申请人 : 北京语言大学

摘要 :

本发明公开了一种基于多任务框架进行简单释义生成的方法与系统,所述方法包括:构建训练数据集,所述训练数据集中包含待释义词、待释义词所在上下文的知识信息、待释义词对应的释义以及简单句的知识信息;构建释义生成模型,用于为待释义词生成释义;使用所述训练数据集对所述释义生成模型进行训练;利用训练好的释义生成模型对未包含在所述训练数据集中的待释义词进行释义生成,同时生成复杂释义和简单释义。本发明具有逻辑清晰、效率高、准确率高的优点,妥善解决了现有技术在生成释义时没有考虑释义复杂度,不能生成对二语学习者友好的简单释义的问题。

权利要求 :

1.一种基于多任务框架进行简单释义生成的方法,其特征在于,包括以下步骤:步骤S1:构建训练数据集,所述训练数据集中包含待释义词、待释义词所在上下文的知识信息、待释义词对应的释义以及简单句的知识信息;

步骤S2:构建释义生成模型,用于为待释义词生成释义;

步骤S2中,所述释义生成模型由多任务框架构成,所述多任务框架包括三个学习不同能力的子任务,分别为:释义生成任务,用于学习生成复杂释义的能力;文本重构任务,用于学习从被破坏的语料中建模简单句的概率;语言建模任务,用于进行语言建模,增强文本重构任务的解码表达能力并使其更加关注简单句;

所述释义生成模型配置为基于自注意力网络的编码器‑解码器模型,所述释义生成模型以所述训练数据集中的待释义词和相关知识信息作为输入,并通过迭代生成释义中的每个词;

所述多任务框架中的三个子任务进行部分参数共享以协同优化所述释义生成模型;

步骤S3:使用所述训练数据集对所述释义生成模型进行训练;

步骤S4:利用训练好的释义生成模型对未包含在所述训练数据集中的待释义词进行释义生成,同时生成复杂释义和简单释义。

2.根据权利要求1所述的基于多任务框架进行简单释义生成的方法,其特征在于,步骤S1中,所述训练数据集包含两种语言的训练子集,每种语言的数据子集都包含一个释义生成数据集和一个简单句数据集;

其中,英文语言的释义生成数据集使用牛津词典数据集,简单句数据集使用从牛津高阶学习者词典中抽取的语料;

中文语言的释义生成数据集使用中国词网数据集,简单句数据集使用从初级汉语二语教材中抽取的语料。

3.根据权利要求1所述的基于多任务框架进行简单释义生成的方法,其特征在于,步骤S2中,所述释义生成模型的工作流程包括:步骤S21:接收给定的待释义词 ,并获取待释义词所在上下文 ,同时接收被破坏了词序的简单句序列  ;

步骤S22:使用词嵌入层,获得待释义词的分布式向量表示 ,待释义词所在上下文的分布式向量表示 ,以及被破坏了词序的简单句序列的分布式向量表示;

步骤S23:使用编码器,对待释义词和待释义词所在上下文以及简单句进行编码,待释义词和上下文编码结果为隐状态序列 ,简单句编码结果为隐状态序列 ;

步骤S24:使用解码器构建语言模型,利用上述的隐状态序列,迭代生成简单释义和复杂释义中的每个词。

4.根据权利要求3所述的基于多任务框架进行简单释义生成的方法,其特征在于,步骤S23中,所述编码器配置为多头自注意力网络。

5.根据权利要求3所述的基于多任务框架进行简单释义生成的方法,其特征在于,步骤S24中,所述解码器分为两部分,复杂释义解码器和简单释义解码器;所述语言模型通过释义中的前 个词,预测第 个词。

6.根据权利要求3所述的基于多任务框架进行简单释义生成的方法,其特征在于,步骤S24中所述解码器在迭代生成每个词时,还包括以下步骤:步骤S241:接收上一时刻输出的词 ,将其分布式向量表示 作为当前时刻的输入;

步骤S242:获得当前语言模型的输出向量 ,作为语言模型向量;

步骤S243:使用自适应自注意力机制对所述隐状态序列进行筛选,并将筛选后所获得的向量 作为知识信息向量;

步骤S244:使用自适应自注意力机制对所述知识信息向量和所述语言模型向量进行整合,获得上下文向量;

步骤S245:依据 ,上一时刻的隐状态输出 和上下文向量 ,获得当前时刻的隐状态 ;

步骤S246:利用隐状态 ,计算当前所预测词在词表范围内的概率分布,并取概率最大的词作为当前时刻的输出。

7.一种基于多任务框架进行简单释义生成的系统,其特征在于,包括:数据集构建模块,用于构建训练数据集,所述训练数据集中包含待释义词、待释义词所在上下文的知识信息、待释义词对应的释义以及简单句的知识信息;

模型构建模块,用于构建释义生成模型,为待释义词生成释义;

其中,所述释义生成模型由多任务框架构成,所述多任务框架包括三个学习不同能力的子任务,分别为:释义生成任务,用于学习生成复杂释义的能力;文本重构任务,用于学习从被破坏的语料中建模简单句的概率;语言建模任务,用于进行语言建模,增强文本重构任务的解码表达能力并使其更加关注简单句;

所述释义生成模型配置为基于自注意力网络的编码器‑解码器模型,所述释义生成模型以所述训练数据集中的待释义词和相关知识信息作为输入,并通过迭代生成释义中的每个词;

所述多任务框架中的三个子任务进行部分参数共享以协同优化所述释义生成模型;

训练模块,用于使用所述训练数据集对所述释义生成模型进行训练;

释义生成模块,用于利用训练好的释义生成模型对未包含在所述训练数据集中的待释义词进行释义生成,同时生成复杂释义和简单释义。

说明书 :

一种基于多任务框架进行简单释义生成的方法与系统

技术领域

[0001] 本发明涉及自然语言处理技术领域,特别涉及一种基于多任务框架进行简单释义生成的方法与系统。

背景技术

[0002] 释义生成任务可以为给定的词语生成其自然语言释义,在词典编纂、对外汉语教学等方面具有重大的理论价值和实践意义。
[0003] 现有的释义生成技术一般基于深度学习,使用词语的分布式向量表示作为输入,并使用循环神经网络(RNN)或卷积神经网络(CNN)或Transformer神经网络对生成过程进行
建模。
[0004] 现有的工作主要聚焦于如何生成释义,没有考虑生成的释义本身的复杂度。以学习中文的二语学习者举例,由于没有考虑释义本身的难度,现有的词典并不能完全满足中
文二语学习者的学习需求。
[0005] 因此,如何在考虑释义的复杂度的情况下,为二语学习者生成更简单的释义,是本领域亟待解决的技术问题。
[0006] 简单释义生成任务的一个可能可行的办法是先按现有技术方案生成复杂释义,然后对生成的释义进行简化,进一步生成简单释义,即生成‑简化流水线方法。
[0007] 然而,生成‑简化流水线方法具有以下缺陷:首先,简化任务需要复杂释义‑简单释义的数据对,这样的数据资源在英语之外的语种上是极其稀缺的;另外,流水线方法由于计
算错误的积累,最终表现较差。

发明内容

[0008] 针对上述问题,本发明的目的在于提供一种基于多任务框架进行简单释义生成的方法与系统,多任务框架同时执行三个子任务: 释义生成任务、文本重构任务和语言建模
任务,该多任务框架能够学习到如何生成简单释义,同时创造性地使用参数共享机制,将释
义的复杂度看作可转变的风格因子,从而提升模型生成简单释义的效果。
[0009] 为解决上述技术问题,本发明的实施例提供如下方案:
[0010] 一方面,提供了一种基于多任务框架进行简单释义生成的方法,包括以下步骤:
[0011] 步骤S1:构建训练数据集,所述训练数据集中包含待释义词、待释义词所在上下文的知识信息、待释义词对应的释义以及简单句的知识信息;
[0012] 步骤S2:构建释义生成模型,用于为待释义词生成释义;
[0013] 步骤S3:使用所述训练数据集对所述释义生成模型进行训练;
[0014] 步骤S4:利用训练好的释义生成模型对未包含在所述训练数据集中的待释义词进行释义生成,同时生成复杂释义和简单释义。
[0015] 优选地,步骤S1中,所述训练数据集包含两种语言的训练子集,每种语言的数据子集都包含一个释义生成数据集和一个简单句数据集;
[0016] 其中,英文语言的释义生成数据集使用牛津词典数据集,简单句数据集使用从牛津高阶学习者词典中抽取的语料;
[0017] 中文语言的释义生成数据集使用中国词网数据集,简单句数据集使用从初级汉语二语教材中抽取的语料。
[0018] 优选地,步骤S2中,所述释义生成模型由多任务框架构成,所述多任务框架包括三个学习不同能力的子任务,分别为:释义生成任务,用于学习生成复杂释义的能力;文本重
构任务,用于学习从被破坏的语料中建模简单句的概率;语言建模任务,用于进行语言建
模,增强文本重构任务的解码表达能力并使其更加关注简单句。
[0019] 优选地,所述释义生成模型配置为基于自注意力网络的编码器‑解码器模型,所述释义生成模型以所述训练数据集中的待释义词和相关知识信息作为输入,并通过迭代生成
释义中的每个词。
[0020] 优选地,所述多任务框架中的三个子任务进行部分参数共享以协同优化所述释义生成模型。
[0021] 优选地,步骤S2中,所述释义生成模型的工作流程包括:
[0022] 步骤S21:接收给定的待释义词 ,并获取待释义词所在上下文,同时接收被破坏了词序的简单句序列 ;
[0023] 步骤S22:使用词嵌入层,获得待释义词的分布式向量表示 ,待释义词所在上下文的分布式向量表示 ,以及被破坏了词序的简单句序列的分布
式向量表示 ;
[0024] 步骤S23:使用编码器,对待释义词和待释义词所在上下文以及简单句进行编码,待释义词和上下文编码结果为隐状态序列 ,简单句编码结果为隐状态序列 ;
[0025] 步骤S24:使用解码器构建语言模型,利用上述的隐状态序列,迭代生成简单释义和复杂释义中的每个词。
[0026] 优选地,步骤S23中,所述编码器配置为多头自注意力网络。
[0027] 优选地,步骤S24中,所述解码器分为两部分,复杂释义解码器和简单释义解码器;所述语言模型通过释义中的前 个词,预测第 个词。
[0028] 优选地,步骤S24中所述解码器在迭代生成每个词时,还包括以下步骤:
[0029] 步骤S241:接收上一时刻输出的词 ,将其分布式向量表示 作为当前时刻的输入;
[0030] 步骤S242:获得当前语言模型的输出向量 ,作为语言模型向量;
[0031] 步骤S243:使用自适应自注意力机制对所述隐状态序列进行筛选,并将筛选后所获得的向量 作为知识信息向量;
[0032] 步骤S244:使用自适应自注意力机制对所述知识信息向量和所述语言模型向量进行整合,获得上下文向量 ;
[0033] 步骤S245:依据 ,上一时刻的隐状态输出 和上下文向量 ,获得当前时刻的隐状态 ;
[0034] 步骤S246:利用隐状态 ,计算当前所预测词在词表范围内的概率分布,并取概率最大的词作为当前时刻的输出。
[0035] 一方面,提供了一种基于多任务框架进行简单释义生成的系统,包括:
[0036] 数据集构建模块,用于构建训练数据集,所述训练数据集中包含待释义词、待释义词所在上下文的知识信息、待释义词对应的释义以及简单句的知识信息;
[0037] 模型构建模块,用于构建释义生成模型,为待释义词生成释义;
[0038] 训练模块,用于使用所述训练数据集对所述释义生成模型进行训练;
[0039] 释义生成模块,用于利用训练好的释义生成模型对未包含在所述训练数据集中的待释义词进行释义生成,同时生成复杂释义和简单释义。
[0040] 本发明实施例提供的技术方案带来的有益效果至少包括:
[0041] 本发明实施例中,通过构建训练数据集和释义生成模型,并使用训练数据集对释义生成模型进行训练,之后利用训练好的释义生成模型对未包含在训练数据集中的待释义
词进行释义生成,能够同时生成复杂释义和简单释义。所述释义生成模型为基于自注意力
网络的编码器‑解码器模型,以训练数据集中的待释义词和待释义词所在上下文知识信息
作为输入,迭代地生成释义中的每个词。所述自适应注意力机制可以自适应地对知识信息
进行选择,并自适应地判断是否将所述知识信息应用于当前词的生成。本发明具有逻辑清
晰、效率高、准确率高的优点,妥善解决了现有技术在生成释义时没有考虑释义复杂度,不
能生成对二语学习者友好的简单释义的问题。

附图说明

[0042] 为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于
本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他
的附图。
[0043] 图1是本发明实施例提供的基于多任务框架进行简单释义生成的方法的流程图;
[0044] 图2是本发明实施例所述方法的具体流程示意图;
[0045] 图3是本发明实施例中构建的基于多任务框架的释义生成模型的示意图。

具体实施方式

[0046] 为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
[0047] 本发明的实施例首先提供了一种基于多任务框架进行简单释义生成的方法,如图1所示,所述方法包括以下步骤:
[0048] 步骤S1:构建训练数据集,所述训练数据集中包含待释义词、待释义词所在上下文的知识信息、待释义词对应的释义以及简单句的知识信息;
[0049] 步骤S2:构建释义生成模型(SimpDefiner),用于为待释义词生成释义;
[0050] 步骤S3:使用所述训练数据集对所述释义生成模型进行训练;
[0051] 步骤S4:利用训练好的释义生成模型对未包含在所述训练数据集中的待释义词进行释义生成,同时生成复杂释义和简单释义。
[0052] 进一步地,步骤S1中,所述训练数据集包含两种语言的训练子集,每种语言的数据子集都包含一个释义生成数据集和一个简单句数据集;
[0053] 其中,英文语言的释义生成数据集使用牛津词典(Oxford Dictionary)数据集,简单句数据集使用从牛津高阶学习者词典(Oxford Advanced Learner’s Dictionary)中抽
取的语料;中文语言的释义生成数据集使用中国词网(Chinese WordNet)数据集,简单句数
据集使用从初级汉语二语教材中抽取的语料。
[0054] 具体地牛津高阶学习者词典是为英语二语学习者编撰的词典,释义比牛津词典更简单,中国词网是一个中文词义区分与词汇语意关系知识库,以上三者用于提取复杂释义
与简单释义数据集,初级汉语二语学习者教材用于产生带噪简单文本,即图2所示具体流程
中的噪声文本。
[0055] 进一步地,步骤S2中,所述释义生成模型由多任务框架构成,所述多任务框架包括三个学习不同能力的子任务,分别为:释义生成任务,用于学习生成复杂释义的能力;文本
重构任务,用于学习从被破坏的语料中建模简单句的概率;语言建模任务,用于进行语言建
模,增强文本重构任务的解码表达能力并使其更加关注简单句。
[0056] 作为本发明的一种具体实施方式,所述多任务框架中的三个子任务进行部分参数共享以协同优化所述释义生成模型。本发明实施例中创造性地使用参数共享机制,将释义
的复杂度看作可转变的风格因子,从而提升模型生成简单释义的效果。
[0057] 如图3所示,所述释义生成模型配置为基于自注意力(Self‑Attention)网络的编码器‑解码器模型,所述释义生成模型以所述训练数据集中的待释义词和相关知识信息作
为输入,并通过迭代生成释义中的每个词。
[0058] 在生成释义中的每个词时,所述自适应注意力机制可以自适应地对相关知识信息进行选择,并自适应地判断是否将相关知识信息应用于当前词的生成。
[0059] 所述释义生成模型的工作流程包括:
[0060] 步骤S21:接收给定的待释义词 ,并获取待释义词所在上下文,同时接收被破坏了词序的简单句序列 ;
[0061] 步骤S22:使用词嵌入层,获得待释义词的分布式向量表示 ,待释义词所在上下文的分布式向量表示 ,以及被破坏了词序的简单句序列的分布
式向量表示 ;
[0062] 步骤S23:使用编码器,对待释义词和待释义词所在上下文以及简单句进行编码,待释义词和上下文编码结果为隐状态序列 ,简单句编码结果为隐状态序列 ;
[0063] 步骤S24:使用解码器构建语言模型,利用上述的隐状态序列,迭代生成简单释义和复杂释义中的每个词。
[0064] 其中,步骤S23所述编码器配置为多头自注意力(Multi‑Head Self‑Attention)网络。编码器接收的输入向量 可以通过以下方式获得:
[0065]
[0066] 其中,所述 是待释义词的向量表示,所述 是待释义词所在上下文的向量表示,所述 为位置向量,在训练中随机初始化,可以在训练阶段学习获得。
[0067] 在获取到所述输入向量后,编码器使用多头自注意力机制进行编码,编码过程可用如下公式表示:
[0068]
[0069] 其中, ,所述参数矩阵 , ,, ; 为 的维数, 为 的维数, 为
模型所使用的词向量维数,所述 为多头自注意力机制的头数,且 。
[0070] 这样,编码器就将原始的输入序列,编码成了长度为 的隐状态序列 。
[0071] 步骤S24所述解码器分为两部分,复杂释义解码器和简单释义解码器;所述语言模型通过释义中的前 个词,预测第 个词。
[0072] 步骤S24中所述解码器在迭代生成每个词时,还包括以下步骤:
[0073] 步骤S241:接收上一时刻输出的词 ,将其分布式向量表示 作为当前时刻的输入;
[0074] 步骤S242:获得当前语言模型的输出向量 作为语言模型向量;
[0075] 步骤S243:使用自适应自注意力机制对所述隐状态序列进行筛选,并将筛选后所获得的向量 作为知识信息向量;
[0076] 步骤S244:使用自适应自注意力机制对所述知识信息向量和所述语言模型向量进行整合,获得上下文向量 ;
[0077] 步骤S245:依据 ,上一时刻的隐状态输出 和上下文向量 ,获得当前时刻的隐状态 ;
[0078] 步骤S246:利用隐状态 ,计算当前所预测词在词表范围内的概率分布,并取概率最大的词作为当前时刻的输出。
[0079] 在本发明实施例中,解码器配置为自适应自注意力模型,接下来对解码器分步骤进行详细说明。
[0080] 在时刻 ,步骤S242所述“获得当前语言模型的输出向量 ,作为语言模型向量”,指的是通过以下公式进行运算:
[0081]
[0082] 其中, 为第 层的语言模型向量, 为所述解码器中第 层、第 个时间步的隐状态; 为所述解码器中第 、前 个时间步的隐状态;
为多头自注意力函数。
[0083] 步骤S243所述“使用自适应自注意力机制对所述隐状态序列进行筛选,并将筛选后所获得的向量 作为知识信息向量”,指的是使用以下公式进行计算:
[0084]
[0085] 其中, 为第 层的知识信息向量。
[0086] 步骤S244所述“使用自适应自注意力机制对所述知识信息向量和所述语言模型向量进行整合,获得上下文向量 ”,指的是通过以下公式进行运算:
[0087]
[0088] 其中, 是第 层,第 个时刻的权重,可以通过如下公式获得:
[0089]
[0090] 步骤245所述“依据 ,上一时刻的隐状态输出 和上下文向量 ,获得当前时刻的隐状态 ”,指的是通过以下公式进行运算:
[0091]
[0092] 其中, 为最后一层的上下文向量, 为最后一层的隐状态,为长短期记忆循环函数。
[0093] 步骤246所述“利用所述隐状态 ,计算当前所预测词在词表范围内的概率分布”,指的是通过以下公式进行计算:
[0094]
[0095] 其中,所得的概率即为 在词表中的概率分布。
[0096] 进一步地,步骤S3中,在训练阶段,所述模型数据流向如下:
[0097] 待释义词及待释义词所在上下文经过编码器,被编码为分布式隐状态向量 ,噪声文本经过编码器,被编码为分布式隐状态 ;
[0098] 分布式隐状态向量 输入复杂释义编码器,所述复杂释义编码器学习如何生成复杂释义;
[0099] 分布式隐状态向量 和 输入简单释义解码器,所述简单释义编码器学习建模简单文本语言模型,进行文本重构任务,同时也学习如何生成简单释义。
[0100] 进一步地,步骤S4中,测试阶段,训练好的模型接收待释义词及待释义词所在上下文,经过编码器编码为分布式隐状态向量 ,所述隐状态向量 同时输入复杂释义解码
器和简单释义解码器,经解码器进行解码,分别迭代生成复杂释义和简单释义。
[0101] 相应地,本发明的实施例还提供了一种基于多任务框架进行简单释义生成的系统,所述系统包括:
[0102] 数据集构建模块,用于构建训练数据集,所述训练数据集中包含待释义词、待释义词所在上下文的知识信息、待释义词对应的释义以及简单句的知识信息;
[0103] 模型构建模块,用于构建释义生成模型,为待释义词生成释义;
[0104] 训练模块,用于使用所述训练数据集对所述释义生成模型进行训练;
[0105] 释义生成模块,用于利用训练好的释义生成模型对未包含在所述训练数据集中的待释义词进行释义生成,同时生成复杂释义和简单释义。
[0106] 本实施例的系统,可以用于执行图1所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
[0107] 综上所述,本发明通过构建训练数据集和释义生成模型,并使用训练数据集对释义生成模型进行训练,之后利用训练好的释义生成模型对未包含在训练数据集中的待释义
词进行释义生成,能够同时生成复杂释义和简单释义。所述释义生成模型为基于自注意力
网络的编码器‑解码器模型,以训练数据集中的待释义词和待释义词所在上下文知识信息
作为输入,迭代地生成释义中的每个词。所述自适应注意力机制可以自适应地对知识信息
进行选择,并自适应地判断是否将所述知识信息应用于当前词的生成。本发明具有逻辑清
晰、效率高、准确率高的优点,妥善解决了现有技术在生成释义时没有考虑释义复杂度,不
能生成对二语学习者友好的简单释义的问题。
[0108] 本领域技术人员应该能够意识到,结合本文中所公开的实施例描述的各示例的方法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明电子硬件和
软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些
功能究竟以电子硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。
本领域技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实
现不应认为超出本发明的范围。
[0109] 至此,已经结合附图所示的优选实施方式描述了本发明的技术方案,但是,本领域技术人员容易理解的是,本发明的保护范围显然不局限于这些具体实施方式。在不偏离本
发明的原理的前提下,本领域技术人员可以对相关技术特征作出等同的更改或替换,这些
更改或替换之后的技术方案都将落入本发明的保护范围之内。