基于无监督学习的文本自动摘要方法、系统、设备及介质与流程

文档序号:18030123发布日期:2019-06-28 22:34阅读:330来源:国知局
基于无监督学习的文本自动摘要方法、系统、设备及介质与流程

本发明涉及一种基于无监督学习的文本自动摘要方法、系统、设备及介质,属于文本摘要领域。



背景技术:

文本自动摘要使用计算机自动对输入文本生成摘要的过程,摘要需要包含原始文档主要信息。文本自动摘要的主要思想是找到包含整个源文本“主要信息”的数据子集,这是机器学习和数据挖掘的应用之一。随着大数据的飞速发展,对于文本自动摘要的需求也愈发增大。

随着深度学习,自然语言处理领域的技术发展,文本摘要的技术也越来越成熟。该技术在当今工业中广泛使用,例如新闻标题生成、科技文献摘要生成、搜索结果片段生成、商品评论摘要等。在信息爆炸的互联网大数据时代,用简短的文本来正确而且完整地表达信息的主要内涵,无疑将有利于缓解信息过载问题。

文本摘要主要可分为两种方法:

1)抽取式摘要:直接抽取原文中的单词,短语或者句子,随后将它们通过合适的方式组成一篇完整的文档来构成摘要。

2)概括式摘要:通过自然语言处理与生成的技术,由计算机试图去理解原文的大意,然后仿照人类的书写方式来生成摘要,摘要可能包含原文中从未出现的单词,短语或者句子。

在文本自动摘要任务中,很多模型都采用了神经网络的结构,它是一种模仿生物神经网络的结构和功能的数学模型或计算模型,用于对各种函数进行估计或近似。在神经网络中,除了基本的全连接层,在自然语言处理中比较常用的结构有:

1)卷积神经网络(convolutionalneuralnetwork,简称cnn)是一种前馈神经网络,它的人工神经元可以响应一部分覆盖范围内的周围单元。卷积神经网络中每层卷积层由若干卷积单元组成,每个卷积单元的参数都是通过反向传播算法最佳化得到的。卷积运算的目的是提取输入的不同特征,第一层卷积层可能只能提取一些基本特征,更多层的网络能从基本特征中迭代提取更复杂的特征。

2)递归神经网络(recurrentneuralnetwork,简称rnn)也是神经网络的一种。递归神经网络可以描述动态时间行为,因为和前馈神经网络接受较特定结构的输入不同,rnn将状态在自身网络中循环传递,因此可以接受更广泛的时间序列结构输入。单纯的rnn因为无法处理随着递归,可能出现权重指数级爆炸或梯度消失的问题,导致rnn难以捕捉长期时间关联。lstm(longshort-termmemory,长短期记忆网络),gru(gatedrecurrentunits,门控循环单元)是两个用于缓解该问题的rnn变体。

现有的大部分文本自动摘要方法都是基于有监督学习训练的过程,而有监督学习需要大量人工标记的数据,这一过程通常会出现数据获取成本太高的问题。



技术实现要素:

有鉴于此,本发明提供了一种基于无监督学习的文本自动摘要方法、系统、计算机设备设备及存储介质,其无需人工标记的原文-摘要配对数据就可以进行训练与学习,大大降低了数据获取的成本。

本发明的第一个目的在于提供一种基于无监督学习的文本自动摘要方法。

本发明的第二个目的在于提供一种基于无监督学习的文本自动摘要系统。

本发明的第三个目的在于提供一种计算机设备。

本发明的第四个目的在于提供一种存储介质。

本发明的第一个目的可以通过采取如下技术方案达到:

一种基于无监督学习的文本自动摘要方法,所述方法包括:

获取训练集,对训练集中的原文与摘要分别进行随机打乱,得到原文集合与摘要集合,并获取文本分类的数据集;

搭建生成网络、分类判别网络以及真实性判别网络;

采用原文集合对生成网络进行预训练;

采用文本分类的数据集对分类判别网络进行预训练;

采用摘要集合和预训练完成的生成网络输出的文本对真实性判别网络进行预训练;

将生成网络与分类判别网络、真实性判别网络进行对抗训练;

将待处理的原文输入对抗训练后的生成网络,输出该原文的摘要。

进一步的,所述采用原文集合对生成网络进行预训练,具体为:

将原文集合中的每篇原文的前三个句子作为生成网络的输出目标进行训练。

进一步的,所述采用摘要集合和预训练完成的生成网络输出的文本对真实性判别网络进行预训练,具体为:

将摘要集合中的摘要作为正样本,将预训练完成的生成网络输出的文本作为负样本,对真实性判别网络进行训练。

进一步的,所述生成网络采用生成-指针网络,该生成-指针网络生成新的词语,具体包括:

用指针指向原文中的每个词语,分别计算原文中每个词语的概率;

计算词汇库中每个词语的概率;

将原文中每个词语的概率和词汇库中每个词语的概率通过一个系数加权,得到最后每个词语的概率;

通过最后每个词语的概率分布进行采样,得到新的词语。

进一步的,所述分类判别网络采用基于胶囊网络的文本分类器,所述胶囊网络的最终输出是若干个向量;当文本分类器对输入的两篇文本分别进行分类,分别得到若干个分布,计算分布的交叉熵损失,并将该损失作为分类判别网络的输出。

进一步的,所述真实性判别网络采用长短期记忆网络模型,对于一个输入的词语序列,在每个时间步都输出一个分数,每个分数用于表示生成对应词语的分数。

进一步的,所述生成网络的梯度计算与参数更新如下式:

其中,θ为生成网络的参数,n为一个mini-batch的训练样本数量,t为某一次生成的句子长度,c(xi,yi)为分类判别网络的输出,为真实性判别网络的输出,1:t为生成长度为t的句子,lr为学习系数;

所述真实性判别网络的损失函数如下式:

其中,表示第i个负样本,表示第i个正样本。

本发明的第二个目的可以通过采取如下技术方案达到:

一种基于无监督学习的文本自动摘要系统,所述系统包括:

第一获取模块,用于获取训练集以及文本分类的数据集;

第二获取模块,用于对训练集中的原文与摘要分别进行随机打乱,得到原文集合与摘要集合;

搭建模块,用于搭建生成网络、分类判别网络以及真实性判别网络;

第一预训练模块,用于采用原文集合对生成网络进行预训练;

第二预训练模块,用于采用文本分类的数据集对分类判别网络进行预训练;

第三预训练模块,用于采用摘要集合和预训练完成的生成网络输出的文本对真实性判别网络进行预训练;

对抗训练模块,用于将生成网络与分类判别网络、真实性判别网络进行对抗训练;

文本摘要模块,用于将待处理的原文输入对抗训练后的生成网络,输出该原文的摘要。

本发明的第三个目的可以通过采取如下技术方案达到:

一种计算机设备,包括处理器以及用于存储处理器可执行程序的存储器,所述处理器执行存储器存储的程序时,实现上述的文本自动摘要方法。

本发明的第四个目的可以通过采取如下技术方案达到:

一种存储介质,存储有程序,所述程序被处理器执行时,实现上述的文本自动摘要方法。

本发明相对于现有技术具有如下的有益效果:

本发明通过搭建生成网络、分类判别网络和真实性判别网络,并对生成网络、分类判别网络和真实性判别网络进行预训练,将生成网络与分类判别网络、真实性判别网络进行对抗训练,使得生成网络逐渐生成可以让真实性判别网络认为是人写的文本,以及让分类判别网络认为生成的文本可以反应原文的大意,无需人工标记的原文-摘要配对数据就可以进行训练与学习,大大降低了数据获取的成本,不仅解决了现有技术中人工标记的原文-摘要配对数据获取成本高的问题,而且也保证了生成的摘要的准确性与可读性。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图示出的结构获得其他的附图。

图1为本发明实施例1的生成网络的结构图。

图2为本发明实施例1的分类判别网络的结构图。

图3为本发明实施例1的真实性判别网络的结构图。

图4为本发明实施例1的生成网络、分类判别网络和真实性判别网络的连接图。

图5为本发明实施例1的基于无监督学习的文本自动摘要方法的流程图。

图6为本发明实施例1的通过生成网络得到每个单词的概率原理图。

图7为本发明实施例1的分类判别网络输出相似性的原理图。

图8为本发明实施例1的真实性判别网络输出分数的原理图。

图9为本发明实施例2的基于无监督学习的文本自动摘要系统的结构框图。

图10为本发明实施例3的计算机设备的结构框图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

实施例1:

本实施例提供了一种基于无监督学习的文本自动摘要方法,该方法利用生成网络、分类判别网络和真实性判别网络实现,生成网络、分类判别网络和真实性判别网络的具体说明如下:

1)生成网络的输入是待处理的原文(长文本),输出是一篇更短的文本。当生成网络被训练得足够强时,其输出的文本即可视为原文的摘要(短文本);在测试时,生成网络是唯一使用的网络,生成网络的结构如图1所示。

2)分类判别网络是第一个判别网络,其输入为原文(长文本),以及生成网络输出的摘要(短文本),将这两篇文本作为分类判别网络的输入,而分类判别网络的输出,则是这两篇文本在文意上是否相似,越相似则分类判别网络输出越小的分数,分类判别网络的结构如图2所示。

3)真实性判别网络是第二个判别网络,其输入为一篇任意文本(可以来自人写,也可来自机器生成),真实性判别网络对于输入文本的真实性进行判断,即如果是人写的真实文本,则输出尽可能高的分数;如果是机器生成的文本,则输出尽可能低的分数,真实性判别网络的结构如图3所示。

生成网络、分类判别网络和真实性判别网络在训练时,是通过基于对抗训练的方式进行的:

1)生成网络通过不断地学习,逐渐生成可以让真实性判别网络认为是人写的文本,以及让分类判别网络认为生成的文本可以反应原文的大意。

2)分类判别网络通过预训练,学习对不同的文本转化到一个隐空间的向量表示,文意越相似的一对文本,它们在隐空间的向量表示越相近。

3)真实性判别网络与生成网络进行对抗训练,在每一个学习迭代中使用采样的正负样本进行对参数的更新。

生成网络、分类判别网络和真实性判别网络的连接图如图4所示。

如图5所示,本实施例的文本自动摘要方法包括以下步骤:

s501、获取训练集,对训练集中的原文与摘要分别进行随机打乱,得到原文集合与摘要集合,并获取文本分类的数据集。

本实施例的训练集包括原文(长文本)和摘要(短文本);对训练集中的原文与摘要分别进行随机打乱,得到原文集合与摘要集合,原文集合与摘要集合之间没有对应关系;同时,获取文本分类的数据集,其用于训练后面搭建的分类判别网络。

s502、搭建生成网络、分类判别网络以及真实性判别网络。

a、搭建生成网络

本实施例的生成网络采用的是生成-指针网络,该生成-指针网络生成新的词语作为下一个词,如图6所示,通过以下步骤实现:

1)用指针指向原文中的每个词语,通过一种注意力机制分别计算原文中每个词语的概率。

2)计算词汇库中每个词语的概率;其中,词汇库为预先规定的词汇库。

3)将原文中每个词语的概率和词汇库中每个词语的概率通过一个系数加权,得到最后每个词语的概率;其中,系数为可以训练得到的系数。

4)通过最后每个词语的概率分布进行采样,得到新的词语。

b、搭建分类判别网络

本实施例的分类判别网络采用基于胶囊网络(capsulenetworks)的文本分类器,胶囊网络的最终输出是若干个向量;当文本分类器对输入的两篇文本分别进行分类,分别得到若干个分布,计算分布的交叉熵损失,并将该损失作为分类判别网络的输出,如图7所示,图中的c表示分类任务的类别数目,当两个分布越相似时,它们的交叉熵也越小。

c、搭建真实性判别网络

本实施例的真实性判别网络采用长短期记忆网络(longshort-termmemory,简称lstm)模型,对于一个输入的词语序列,在每个时间步都输出一个分数,如图8所示,每个分数用于表示生成对应词语的分数。

s503、采用原文集合对生成网络进行预训练。

具体地,将原文集合中的每篇原文(长文本)的前三个句子作为生成网络的输出目标进行训练。

s504、采用文本分类的数据集对分类判别网络进行预训练。

具体地,采用文本分类的数据集对分类判别网络进行预训练,当训练完成时,分类判别网络的参数固定住,不再变化更新。

s505、采用摘要集合和预训练完成的生成网络输出的文本对真实性判别网络进行预训练。

具体地,将摘要集合中的摘要作为正样本,将预训练完成的生成网络输出的文本作为负样本,对真实性判别网络进行训练。

s506、将生成网络与分类判别网络、真实性判别网络进行对抗训练。

在生成对抗网络(generativeadversarialnetworks,简称gan)框架中,生成网络与判别网络进行对抗训练,通过多轮次的参数更新,使得生成网络的生成能力越来越强,生成的数据与真实数据的分布越来越相似;而判别网络的判别能力也越来越强,能够对生成的数据与真实数据进行正确的分类。

进一步地,本实施例采用基于无监督学习的对抗训练,由于生成网络在生成每一个词语作为输出的时候,都经历了一个采样的过程,这个采样过程使得来自判别网络的误差信号无法直接传递给生成网络,所以无法使用常规的生成对抗网络训练方法,因此本实施例采用序列生成对抗网络(sequencegenerativeadversarialnetworks,简称seqgan)的训练方法,将这个问题转化为一个强化学习的过程,即:生成网络的每一次采样实质上是在该环境(输入的原文以及已经生成的历史序列)下采取行动(强化学习中的action),而两个判别网络(分类判别网络和真实性判别网络)对该行动分别进行评分,可以视为外部环境给予生成网络的反馈信号,最后生成网络根据该反馈信号进行更新。

因此,对于生成网络,它的梯度计算与参数更新如下式:

其中,θ为生成网络的参数,n为一个mini-batch的训练样本数量,t为某一次生成的句子长度,c(xi,yi)为分类判别网络的输出,为真实性判别网络的输出,1:t为生成长度为t的句子,lr为学习系数。

而对于真实性判别网络的训练,它和普通分类器的训练基本一样,在每一个训练轮次中,随机采样一定数量的正负样本,其中正样本为摘要集合,负样本为生成网络生成的摘要,真实性判别网络的损失函数如下式:

其中,表示第i个负样本,表示第i个正样本。

这样生成网络与分类判别网络、真实性判别网络进行对抗训练,多轮次地更新参数,直到训练结束。

上述步骤s501~s506为训练阶段,接下来的步骤s507为应用阶段。可以理解,上述步骤s501~s506在一台计算机设备(如服务器、计算机等)完成,可以在该计算机设备上进入步骤s507的应用阶段,也可以将该台计算机设备训练得到的生成网络分享给其他的计算机设备,在其他的计算机设备上进入步骤s507的应用阶段。

s507、将待处理的原文输入对抗训练后的生成网络,输出该原文的摘要。

本领域技术人员可以理解,实现上述实施例的方法中的全部或部分步骤可以通过程序来指令相关的硬件来完成,相应的程序可以存储于计算机可读存储介质中。

应当注意,尽管在附图中以特定顺序描述了上述实施例的方法操作,但是这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。相反,描绘的步骤可以改变执行顺序。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。

实施例2:

如图9所示,本实施例提供了一种基于无监督学习的文本自动摘要系统,该系统包括获取模块901、搭建模块902、第一预训练模块903、第二预训练模块904、第三预训练模块905、对抗训练模块906和文本摘要模块907,各个模块的具体功能如下:

所述获取模块901,用于获取训练集,对训练集中的原文与摘要分别进行随机打乱,得到原文集合与摘要集合,并获取文本分类的数据集;

所述搭建模块902,用于搭建生成网络、分类判别网络以及真实性判别网络。

所述第一预训练模块903,用于采用原文集合对生成网络进行预训练。

所述第二预训练模块904,用于采用文本分类的数据集对分类判别网络进行预训练;

所述第三预训练模块905,用于采用摘要集合和预训练完成的生成网络输出的文本对真实性判别网络进行预训练。

所述对抗训练模块906,用于将生成网络与分类判别网络、真实性判别网络进行对抗训练。

所述文本摘要模块907,用于将待处理的原文输入对抗训练后的生成网络,输出该原文的摘要。

本实施例中各个模块的具体实现可以参见上述实施例1,在此不再一一赘述;需要说明的是,本实施例提供的装置仅以上述各功能模块的划分进行举例说明,在实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。

可以理解,本实施例的系统中所使用的术语“第一”、“第二”等可用于描述各种单元,但这些模块不受这些术语限制。这些术语仅用于将第一个单元与另一个单元区分。举例来说,在不脱离本发明的范围的情况下,可以将第一预训练模块称为第二预训练模块,且类似地,可将第二预训练模块称为第一预训练模块,第一预训练模块和第二预训练模块两者都是预训练模块,但其不是同一预训练模块。

实施例3:

本实施例提供了一种计算机设备,该计算机设备可以是服务器、计算机等,如图10所示,其包括通过系统总线1001连接的处理器1002、存储器、输入装置1003、显示器1004和网络接口1005,该处理器用于提供计算和控制能力,该存储器包括非易失性存储介质1006和内存储器1007,该非易失性存储介质1006存储有操作系统、计算机程序和数据库,该内存储器1007为非易失性存储介质中的操作系统和计算机程序的运行提供环境,处理器1002执行存储器存储的计算机程序时,实现上述实施例1的文本自动摘要方法,如下:

获取训练集,对训练集中的原文与摘要分别进行随机打乱,得到原文集合与摘要集合,并获取文本分类的数据集;

搭建生成网络、分类判别网络以及真实性判别网络;

采用原文集合对生成网络进行预训练;

采用文本分类的数据集对分类判别网络进行预训练;

采用摘要集合和预训练完成的生成网络输出的文本对真实性判别网络进行预训练;

将生成网络与分类判别网络、真实性判别网络进行对抗训练;

将待处理的原文输入对抗训练后的生成网络,输出该原文的摘要。

实施例4:

本实施例提供了一种存储介质,该存储介质为计算机可读存储介质,其存储有计算机程序,所述程序被处理器执行时,处理器执行存储器存储的计算机程序时,实现上述实施例1的文本自动摘要方法,如下:

获取训练集,对训练集中的原文与摘要分别进行随机打乱,得到原文集合与摘要集合,并获取文本分类的数据集;

搭建生成网络、分类判别网络以及真实性判别网络;

采用原文集合对生成网络进行预训练;

采用文本分类的数据集对分类判别网络进行预训练;

采用摘要集合和预训练完成的生成网络输出的文本对真实性判别网络进行预训练;

将生成网络与分类判别网络、真实性判别网络进行对抗训练;

将待处理的原文输入对抗训练后的生成网络,输出该原文的摘要。

本实施例中所述的存储介质可以是磁盘、光盘、计算机存储器、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、u盘、移动硬盘等介质。

综上所述,本发明通过搭建生成网络、分类判别网络和真实性判别网络,并对生成网络、分类判别网络和真实性判别网络进行预训练,将生成网络与分类判别网络、真实性判别网络进行对抗训练,使得生成网络逐渐生成可以让真实性判别网络认为是人写的文本,以及让分类判别网络认为生成的文本可以反应原文的大意,无需人工标记的原文-摘要配对数据就可以进行训练与学习,大大降低了数据获取的成本,不仅解决了现有技术中人工标记的原文-摘要配对数据获取成本高的问题,而且也保证了生成的摘要的准确性与可读性。

以上所述,仅为本发明专利较佳的实施例,但本发明专利的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明专利所公开的范围内,根据本发明专利的技术方案及其发明构思加以等同替换或改变,都属于本发明专利的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1