一种生成多文档摘要的方法及装置与流程

文档序号:15797454发布日期:2018-11-02 21:10阅读:125来源:国知局
一种生成多文档摘要的方法及装置与流程

本申请实施例涉及数据处理领域,尤其涉及一种生成多文档摘要的方法及装置。

背景技术

在信息爆炸时代中,人们面对海量信息,越来越迫切需要迅速、有效的信息处理手段。作为资讯的获取渠道之一,新闻阅读占据了人们生活中相当部分时间。而新闻的海量性、冗余性给人们的阅读带来很大不便。多文档摘要(multi-documentsummarization,mds)技术是指对于一个主题的多篇文档,自动生成有字数限制的简短的摘要,能够最大限度描述主题的主要内容,供用户阅读。从而提高信息阅读、资讯获取的效率。

从摘要产生方法来说可以分为以下三种。生成式摘要是一种能够模拟人类书写摘要的过程,系统自动生成摘要中的句子,由于该方法依赖自然语言理解和自然语言生成等技术,在理解和生成技术都不太理想的情况下,该方法的难度也较大。抽取式摘要是直接从原文中选择最重要的句子来组成摘要,并且有一定的机制保证抽取出来的句子在语义层面没有重复,确保重要性和覆盖度,然而,噪声较多。压缩式摘要,即在抽取式摘要的基础上,在句子完整性等约束下,将句子中的噪声或冗余信息删除,只保留重要的信息,组成摘要,然而,可能会导致句子不通顺。因此,现有的自动多文档摘要技术均不能很好地满足用户的需求,生成的摘要的性能较差。



技术实现要素:

本申请实施例提供一种生成多文档摘要的方法及装置,解决了现有的自动多文档摘要技术生成摘要的性能较差的问题。

为达到上述目的,本申请实施例采用如下技术方案:

本申请实施例的第一方面,提供一种生成多文档摘要的方法,包括:

首先,将多篇文档划分为n个句子,对每个句子生成句子的输入词袋向量,n个句子的输入词袋向量组成输入词袋向量空间,然后,基于变分自编码(variationalauto-encoder,vae)模型对每个用输入词袋向量表示的句子进行无监督训练,得到每个句子的编码隐层向量和每个句子的潜在语义向量,n个句子的编码隐层向量组成编码隐层向量空间,n个句子的潜在语义向量组成潜在语义向量空间,再从潜在语义向量空间中采集m个潜在语义向量,根据m个潜在语义向量,得到m个解码隐层向量和m个输出词袋向量,根据对齐机制更新m个解码隐层向量和m个输出词袋向量,根据输入词袋向量空间、编码隐层向量空间、潜在语义向量空间、m个潜在语义向量、更新后的m个解码隐层向量和更新后的m个输出词袋向量估计每个句子的重要度,最后,获取每个句子的动词短语和每个句子的名词短语,根据名词短语所在的句子的重要度获取该名词短语的重要度,根据动词短语所在的句子的重要度获取该动词短语的重要度,获取每个动词短语的冗余度和每个名词短语的冗余度,基于整数线性规划模型根据所有名词短语的重要度和冗余度,以及所有动词短语的重要度和冗余度,生成多篇文档的摘要,其中,n为大于等于1的整数,m为大于等于1,且小于n的整数。

本申请实施例提供的生成多文档摘要的方法,基于变分自编码模型对每个用输入词袋向量表示的句子进行无监督训练,生成句子的潜在语义向量,来提升句子的度量效果,同时,根据潜在语义向量得到解码隐层向量和输出词袋向量,再根据潜在语义向量、解码隐层向量和输出词袋向量分别重建各自的潜在语义向量空间、编码隐层向量空间和输入词袋向量空间来估计句子的重要度,即联合考虑多语义空间估计句子的重要度生成多篇文档的摘要。从而,通过变分自编码模型和联合多语义空间的句子重要性估计模型生成多篇文档的摘要,极大地提升了摘要的性能。

结合第一方面,在第一种可实现方式中,基于变分自编码模型对每个用输入词袋向量表示的句子进行无监督训练,得到每个句子的编码隐层向量和每个句子的潜在语义向量包括:步骤1、将用输入词袋向量表示的句子x映射到第一编码隐层,得到句子x的编码隐层向量,句子x为n个句子中的任意一个句子;步骤2、将句子x的编码隐层向量映射到第二编码隐层,得到均值向量和方差向量,均值向量和方差向量用来表示句子x的待确定潜在语义向量;步骤3、根据均值向量和方差向量,得到句子x的待确定潜在语义向量;步骤4、将句子x的待确定潜在语义向量映射到解码隐层,得到句子x的解码隐层向量;步骤5、将句子x的解码隐层向量映射到输出层,得到句子x的输出词袋向量,即重新生成句子x,得到句子x′;重复步骤1至步骤5,根据输入词袋向量、输出词袋向量、均值向量和方差向量获取第一优化问题的目标函数的取值;当第一优化问题的目标函数的取值为极值时,将待确定潜在语义向量确定为句子x的潜在语义向量,即当第一优化问题的目标函数的取值为极值时,重新生成的句子x′与句子x最相似。

本申请实施例提供的生成多文档摘要的方法,基于变分自编码模型对每个用输入词袋向量表示的句子进行无监督训练,具体的通过获取第一优化问题的目标函数的极值,来确定句子的潜在语义向量,从而来提升句子的度量效果。

为了联合考虑多语义空间估计句子的重要度生成多篇文档的摘要,提升摘要的性能,结合第一种可实现方式,在第二种可实现方式中,根据m个潜在语义向量,得到m个解码隐层向量和m个输出词袋向量包括:将m个潜在语义向量映射到所述解码隐层,得到m个解码隐层向量;将m个解码隐层向量映射到所述输出层,得到m个输出词袋向量。

为了联合考虑多语义空间估计句子的重要度生成多篇文档的摘要,提升摘要的性能,结合第一方面,在第三种可实现方式中,根据m个潜在语义向量,得到m个解码隐层向量和m个输出词袋向量包括:将m个潜在语义向量映射到解码隐层,得到m个解码隐层向量;将m个解码隐层向量映射到输出层,得到m个输出词袋向量。

结合第一方面或第一种可实现方式至第三种可实现方式中任一种可实现方式,在第四种可实现方式中,根据对齐机制更新m个解码隐层向量包括:获取m个解码隐层向量中的每个解码隐层向量和n个句子的编码隐层向量的关系,得到第一对齐值;将第一对齐值与n个句子的编码隐层向量加权求和,得到第一上下文向量;根据第一上下文向量更新m个解码隐层向量。在生成m个解码隐层向量时,可能会丢失一些低频细节信息,为了将这些信息补回,通过对齐机制对m个解码隐层向量进行更新。

结合第一方面或第一种可实现方式至第四种可实现方式中任一种可实现方式,在第五种可实现方式中,根据对齐机制更新m个输出词袋向量包括:获取m个输出词袋向量中的每个输出词袋向量和n个句子的输入词袋向量的关系,得到第二对齐值;将第二对齐值与n个句子的输入词袋向量加权求和,得到第二上下文向量;根据第二上下文向量更新m个输出词袋向量。生成m个输出词袋向量时,可能会丢失一些低频细节信息,为了将这些信息补回,通过对齐机制对m个输出词袋向量进行更新。

结合第一方面或第一种可实现方式至第五种可实现方式中任一种可实现方式,在第六种可实现方式中,根据输入词袋向量空间、编码隐层向量空间、潜在语义向量空间、m个潜在语义向量、更新后的m个解码隐层向量和更新后的m个输出词袋向量估计每个句子的重要度包括:根据m个潜在语义向量重建潜在语义向量空间、根据更新后的m个解码隐层向量重建编码隐层向量空间和根据更新后的m个输出词袋向量重建输入词袋向量空间,获取第二优化问题的目标函数的取值;当第二优化问题的目标函数的取值为极值时,得到重建系数矩阵;对重建系数矩阵中每个句子所对应的向量取模,将句子所对应的向量的模确定为句子的重要度。从而联合考虑多语义空间估计句子的重要度来生成摘要,能够极大地提升了摘要的性能。

为了生成多篇文档的摘要,提升摘要的性能,结合第一方面或第一种可实现方式至第六种可实现方式中任一种可实现方式,在第七种可实现方式中,获取每个句子的动词短语和每个句子的名词短语包括:将每个句子解析为语法树;从每个句子的语法树中获取每个句子的名词短语和每个句子的动词短语。

本申请实施例的第二方面,提供一种生成多文档摘要的装置,包括:

划分单元,用于将多篇文档划分为n个句子,n为大于等于1的整数;第一生成单元,用于对每个句子生成句子的输入词袋向量,n个句子的输入词袋向量组成输入词袋向量空间;训练单元,用于基于变分自编码模型对每个用输入词袋向量表示的句子进行无监督训练,得到每个句子的编码隐层向量和每个句子的潜在语义向量,n个句子的编码隐层向量组成编码隐层向量空间,n个句子的潜在语义向量组成潜在语义向量空间;采集单元,用于从潜在语义向量空间中采集m个潜在语义向量,m为大于等于1,且小于n的整数;映射单元,用于根据m个潜在语义向量,得到m个解码隐层向量和m个输出词袋向量;更新单元,用于根据对齐机制更新m个解码隐层向量和m个输出词袋向量;估计单元,用于根据输入词袋向量空间、编码隐层向量空间、潜在语义向量空间、m个潜在语义向量、更新后的m个解码隐层向量和更新后的m个输出词袋向量估计每个句子的重要度;第一获取单元,用于获取每个句子的动词短语和每个句子的名词短语;第二获取单元,用于根据名词短语所在的句子的重要度获取该名词短语的重要度,根据动词短语所在的句子的重要度获取该动词短语的重要度;第三获取单元,用于获取每个动词短语的冗余度和每个名词短语的冗余度;第二生成单元,用于基于整数线性规划模型根据所有名词短语的重要度和冗余度,以及所有动词短语的重要度和冗余度,生成多篇文档的摘要。

本申请实施例的第三方面,提供一种生成多文档摘要的装置,该生成多文档摘要的装置可以包括:至少一个处理器,存储器、通信接口、通信总线;

至少一个处理器与存储器、通信接口通过通信总线连接,存储器用于存储计算机执行指令,当生成多文档摘要的装置运行时,处理器执行存储器存储的计算机执行指令,以使生成多文档摘要的装置执行第一方面或第一方面的可能的实现方式中任一所述的生成多文档摘要的方法。

本申请实施例的第四方面,提供一种计算机存储介质,用于存储上述生成多文档摘要的装置所用的计算机软件指令,该计算机软件指令包含用于执行上述生成多文档摘要的方法所设计的程序。

第五方面,本申请实施例提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机可以执行上述任意方面的方法。

另外,第二方面至第五方面中任一种设计方式所带来的技术效果可参见第一方面中不同设计方式所带来的技术效果,此处不再赘述。

本申请实施例中,生成多文档摘要的装置的名字对设备本身不构成限定,在实际实现中,这些设备可以以其他名称出现。只要各个设备的功能和本申请实施例类似,属于本申请权利要求及其等同技术的范围之内。

本申请实施例的这些方面或其他方面在以下实施例的描述中会更加简明易懂。

附图说明

图1为本申请实施例提供的一种计算机设备结构示意图;

图2为本申请实施例提供的一种生成多文档摘要的方法的流程图;

图3为本申请实施例提供的一种生成多文档摘要模型示意图;

图4为本申请实施例提供的一种生成多文档摘要的装置的结构示意图。

具体实施方式

本申请实施例提供一种生成多文档摘要的方法,其基本原理是:首先,将多篇文档划分为n个句子,且将每个句子用输入词袋向量表示,n个句子的输入词袋向量组成输入词袋向量空间,然后,将用输入词袋向量表示的每个句子输入到变分自编码模型对每个句子进行无监督训练,得到每个句子的编码隐层向量和每个句子的潜在语义向量,n个句子的编码隐层向量组成编码隐层向量空间,n个句子的潜在语义向量组成潜在语义向量空间,再从潜在语义向量空间中采集m个潜在语义向量,根据m个潜在语义向量,得到m个解码隐层向量和m个输出词袋向量,根据对齐机制更新m个解码隐层向量和m个输出词袋向量,根据输入词袋向量空间、编码隐层向量空间、潜在语义向量空间、m个潜在语义向量、更新后的m个解码隐层向量和更新后的m个输出词袋向量估计每个句子的重要度,最后,获取每个句子的动词短语和每个句子的名词短语,根据名词短语所在的句子的重要度获取该名词短语的重要度,根据动词短语所在的句子的重要度获取该动词短语的重要度,获取每个动词短语的冗余度和每个名词短语的冗余度;基于整数线性规划模型根据所有名词短语的重要度和冗余度,以及所有动词短语的重要度和冗余度,生成多篇文档的摘要。从而本申请实施例提供的生成多文档摘要的方法,基于变分自编码模型对每个用输入词袋向量表示的句子进行无监督训练,生成句子的潜在语义向量,来提升句子的度量效果,同时,根据潜在语义向量得到解码隐层向量和输出词袋向量,再根据潜在语义向量、解码隐层向量和输出词袋向量分别重建各自的潜在语义向量空间、编码隐层向量空间和输入词袋向量空间来估计句子的重要度,即联合考虑多语义空间估计句子的重要度生成多篇文档的摘要。从而,通过变分自编码模型和联合多语义空间的句子重要性估计模型生成多篇文档的摘要,极大地提升了摘要的性能。

下面将结合附图对本申请实施例的实施方式进行详细描述。

图1为本申请实施例提供的一种计算机设备的结构示意图,如图1所示,计算机设备可以包括至少一个处理器11,存储器12、通信接口13、通信总线14。

下面结合图1对计算机设备的各个构成部件进行具体的介绍:

处理器11是计算机设备的控制中心,可以是一个处理器,也可以是多个处理元件的统称。例如,处理器11是一个中央处理器(centralprocessingunit,cpu),也可以是特定集成电路(applicationspecificintegratedcircuit,asic),或者是被配置成实施本申请实施例的一个或多个集成电路,例如:一个或多个微处理器(digitalsignalprocessor,dsp),或,一个或者多个现场可编程门阵列(fieldprogrammablegatearray,fpga)。

其中,处理器11可以通过运行或执行存储在存储器12内的软件程序,以及调用存储在存储器12内的数据,执行服务器的各种功能。

在具体的实现中,作为一种实施例,处理器11可以包括一个或多个cpu,例如图1中所示的cpu0和cpu1。

在具体实现中,作为一种实施例,服务器可以包括多个处理器,例如图1中所示的处理器11和处理器15。这些处理器中的每一个可以是一个单核处理器(single-cpu),也可以是一个多核处理器(multi-cpu)。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。

存储器12可以是只读存储器(read-onlymemory,rom)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(randomaccessmemory,ram)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(electricallyerasableprogrammableread-onlymemory,eeprom)、只读光盘(compactdiscread-onlymemory,cd-rom)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器12可以是独立存在,通过通信总线14与处理器11相连接。存储器12也可以和处理器11集成在一起。

其中,存储器12用于存储执行本申请方案的软件程序,并由处理器11来控制执行。

通信接口13,使用任何收发器一类的装置,用于与其他设备或通信网络通信,如以太网,无线接入网(radioaccessnetwork,ran),无线局域网(wirelesslocalareanetworks,wlan)等。通信接口13可以包括接收单元实现接收功能,以及发送单元实现发送功能。

通信总线14,可以是工业标准体系结构(industrystandardarchitecture,isa)总线、外部设备互连(peripheralcomponent,pci)总线或扩展工业标准体系结构(extendedindustrystandardarchitecture,eisa)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图1中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

图1中示出的设备结构并不构成对计算机设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

在具体实现中,作为一种实施例,图1所示的计算机设备可以是生成多文档摘要的装置。

处理器11,用于将多篇文档划分为n个句子,n为大于等于1的整数;

处理器11,还用于对每个句子生成句子的输入词袋向量,n个句子的输入词袋向量组成输入词袋向量空间;

处理器11,还用于基于变分自编码模型对每个用输入词袋向量表示的句子进行无监督训练,得到每个句子的编码隐层向量和每个句子的潜在语义向量,n个句子的编码隐层向量组成编码隐层向量空间,n个句子的潜在语义向量组成潜在语义向量空间;

处理器11,还用于从潜在语义向量空间中采集m个潜在语义向量,m为大于等于1,且小于n的整数;

处理器11,还用于根据m个潜在语义向量,得到m个解码隐层向量和m个输出词袋向量;

处理器11,还用于根据对齐机制更新m个解码隐层向量和m个输出词袋向量;

处理器11,还用于根据输入词袋向量空间、编码隐层向量空间、潜在语义向量空间、m个潜在语义向量、更新后的m个解码隐层向量和更新后的m个输出词袋向量估计每个句子的重要度;

处理器11,还用于获取每个句子的动词短语和每个句子的名词短语;

处理器11,还用于根据名词短语所在的句子的重要度获取该名词短语的重要度,根据动词短语所在的句子的重要度获取该动词短语的重要度;

处理器11,还用于获取每个动词短语的冗余度和每个名词短语的冗余度;

处理器11,还用于基于整数线性规划模型根据所有名词短语的重要度和冗余度,以及所有动词短语的重要度和冗余度,生成多篇文档的摘要。

存储器12,用于存储输入词袋向量空间、编码隐层向量空间和潜在语义向量空间等。

图2为本申请实施例提供的一种生成多文档摘要的方法的流程图,如图2所示,该方法可以包括:

201、将多篇文档划分为n个句子。

文档由句子组成的,通常可以按照文档中的标点符号将文档划分为句子,例如,按照句号来划分文档。n为大于等于1的整数。

202、对每个句子生成句子的输入词袋向量。

将每个句子划分为词,例如,将中国专利,可以划分为“中国”和“专利”,而后生成大小为v的词典,每个句子都可以表示为v维向量,即输入词袋向量。所有句子的输入词袋向量组成输入词袋向量空间。

词袋向量为自然语言处理和信息检索领域的专有名词。即将文本看作是一系列词的集合,由于词很多,所以就用袋子把它们装起来,简称词袋。忽略掉文本的语法和语序等要素,文档中每个单词的出现都是独立的。假设词典中有n个词,那么可以用长度为n的向量表示句子或文档,向量中的每一维可以代表相应的词的权重,例如词频。

203、基于变分自编码模型对每个用输入词袋向量表示的句子进行无监督训练,得到每个句子的编码隐层向量和每个句子的潜在语义向量。

n个句子的编码隐层向量组成编码隐层向量空间,n个句子的潜在语义向量组成潜在语义向量空间。

变分自编码模型:是一种生成模型,将神经网络模型和传统概率生成模型中的变分推断进行结合,将输入变量映射成更低维度的隐变量。通过在连续的随机隐变量分布中的采样,可以生成新的样本。本申请基于变分自编码模型对每个用输入词袋向量表示的句子进行无监督训练就是对每个句子逐个进行无监督训练,且每个句子是用输入词袋向量表示的。

具体的,步骤1、根据神经网络模型将用输入词袋向量表示的句子x映射到第一编码隐层,得到句子x的编码隐层向量,句子x为n个句子中的任意一个句子,映射过程如公式1所示:

henc=relu(wxhx+bxh)(1)

其中,henc表示编码隐层向量,relu为神经网络模型中的激活函数,w和b表示变量。

假设潜在语义向量的先验和后验都服从高斯分布,均值和方差都可以由henc线性变化而来。

步骤2、根据概率生成模型将句子x的编码隐层向量映射到第二编码隐层,得到均值向量和方差向量,均值向量和方差向量用来表示句子x的待确定潜在语义向量,映射过程如公式2所示:

μ=whμhenc+bhμ,log(σ2)=whσhenc+bhσ(2)

步骤3、根据将句子x的编码隐层向量映射到第二编码隐层,得到的均值向量和方差向量进行组合,得到句子x的待确定潜在语义向量z,如公式3所示:

其中,ε为噪声。公式1、公式2和公式3是对句子的编码过程。

步骤4、将句子x的待确定潜在语义向量映射到解码隐层,得到句子x的解码隐层向量,映射过程如公式4所示:

hdec=relu(wzhz+bzh)(4)

其中,hdec表示解码隐层向量,relu为概率生成模型中的激活函数,w和b表示变量。

步骤5、将句子x的解码隐层向量映射到输出层,得到句子x的输出词袋向量,即重新生成句子x,得到句子x′,映射过程如公式5所示:

x,=sigmoid(whxhdec+bhx)(5)

其中,sigmoid为概率生成模型中的激活函数,w和b表示变量。

公式4和公式5是对句子的解码过程。

重复步骤1至步骤5,根据输入词袋向量、输出词袋向量、均值向量和方差向量获取第一优化问题的目标函数的取值,即概率生成模型中的变分下界;当第一优化问题的目标函数的取值为极值时,确定此时得到的待确定潜在语义向量为句子x的潜在语义向量,当第一优化问题的目标函数的取值为极值时,重新生成的句子x′与句子x最相似。第一优化问题的目标函数如公式6所示:

其中,公式6的第一项表示输入词袋向量与输出词袋向量最相似,公式6的第二项表示均值向量和方差向量的相似度。

通过公式(2)和(3)可以得出第一优化问题的目标函数中两项的解析表示形式:

对n个句子中的每个句子按照公式1至公式7进行无监督训练得到每个句子的潜在语义向量。

204、从潜在语义向量空间中采集m个潜在语义向量。

m为大于等于1,且小于n的整数。该m个潜在语义向量为最能够描述潜在语义向量空间的m个点。

205、根据m个潜在语义向量,得到m个解码隐层向量和m个输出词袋向量。

假设为从潜在语义向量空间中采集m个潜在语义向量,然后,根据变分自编码模型的解码过程,将m个潜在语义向量映射到解码隐层,得到m个解码隐层向量;将m个解码隐层向量映射到输出层,得到m个输出词袋向量。映射过程如公式8所示:

其中,sh表示解码隐层向量,sx表示输出词袋向量。

需要说明的是,尽管变分自编码模型可以将句子映射到更加理想的低维潜在语义向量空间,但是在重新生成句子的过程会丢失一些低频细节信息,为了将这些信息补回,对变分自编码模型中的重新生成句子过程进行了改进。执行步骤206。

206、根据对齐机制更新m个解码隐层向量和m个输出词袋向量。

对于m个解码隐层向量中的每个解码隐层向量计算其与n个句子的编码隐层向量的关系,得到第一对齐值如公式9所示:

将第一对齐值与n个句子的编码隐层向量加权求和,得到第一上下文向量,如公式10所示:

根据第一上下文向量更新m个解码隐层向量中的每个解码隐层向量如公式11所示:

同理,获取m个输出词袋向量中的每个输出词袋向量和n个句子的输入词袋向量的关系,得到第二对齐值;

将第二对齐值与n个句子的输入词袋向量加权求和,得到第二上下文向量;

根据第二上下文向量更新m个输出词袋向量。

207、根据输入词袋向量空间、编码隐层向量空间、潜在语义向量空间、m个潜在语义向量、更新后的m个解码隐层向量和更新后的m个输出词袋向量估计每个句子的重要度。

句子的重要度估计是生成多篇文档的摘要的重要参考变量。

m个潜在语义向量、更新后的m个解码隐层向量和更新后的m个输出词袋向量都是能够重建各自原始向量空间的最重要的点。根据m个潜在语义向量重建潜在语义向量空间,根据更新后的m个解码隐层向量重建编码隐层向量空间,根据更新后的m个输出词袋向量重建输入词袋向量空间,那么可以联合考虑所有向量空间的重建过程进行无监督训练,获取第二优化问题的目标函数的取值,当第二优化问题的目标函数的取值为极值时,得到重建系数矩阵,对重建系数矩阵中每个句子所对应的向量取模,将句子所对应的向量的模确定为句子的重要度。第二优化问题的目标函数,如公式13所示:

其中,λz,λh,λz的值均可以取1,z表示潜在语义向量空间,h表示编码隐层向量空间,x表示输入词袋向量空间,sz表示潜在语义向量。sh表示更新后的解码隐层向量。sx表示更新后的输出词袋向量。最终得到的重建系数矩阵a中向量的模可以用来计算句子的重要度。

需要说明的是,可以将变分自编码模型的训练和句子重要性估计的训练整合,如公式14所示:

其中,为变分自编码模型,λla为联合多语义空间的句子重要性估计模型。

图3为本申请实施例提供的一种生成多文档摘要模型示意图,如图3所示,左边为变分自编码模型,右边为联合多语义空间的句子重要性估计模型。联合多语义空间为数据重建综合考虑潜在语义向量空间、编码隐层向量空间和输入词袋向量空间。词袋向量两个组件可以同时以多任务学习的方式进行无监督训练。xi为句子x的输入词袋向量,句子x为n个句子中的任意一个句子。x′i为句子x的输出词袋向量。sz表示潜在语义向量。sh表示更新后的解码隐层向量。sx表示更新后的输出词袋向量。

208、获取每个句子的动词短语和每个句子的名词短语。

先根据语义分析工具将每个句子解析为语法树,从每个句子的语法树中获取名词短语和动词短语。

209、根据名词短语所在的句子的重要度获取该名词短语的重要度,根据动词短语所在的句子的重要度获取该动词短语的重要度。

重要度用于衡量短语所代表的概念或信息在表述文献语义中体现的重要程度。根据名词短语所在的句子的重要度获取该名词短语的重要度,根据动词短语所在的句子的重要度获取该动词短语的重要度,如公式15所示:

表示名词短语和动词短语中所有词的词频之和。表示所描述的多文档的所有文档中的词频总和。ai表示名词短语所在句子的重要度。

需要说明的是,可能存在两个以上的句子包括同一个名词短语,那么,根据名词短语所在的句子的重要度可以获取两个以上该名词短语的重要度,此时,将两个以上该名词短语的重要度输入到整数线性规划模型,由整数线性规划模型根据两个以上该名词短语的重要度来确定该名词短语的重要度,通常整数线性规划模型从两个以上该名词短语的重要度中选取数值最大的重要度作为该名词短语的重要度。同理,可能存在两个以上的句子包括同一个动词短语,那么,根据动词短语所在的句子的重要度可以获取两个以上该动词短语的重要度,此时,将两个以上该动词短语的重要度输入到整数线性规划模型,由整数线性规划模型根据两个以上该动词短语的重要度来确定该动词短语的重要度,通常整数线性规划模型从两个以上该动词短语的重要度中选取数值最大的重要度作为该动词短语的重要度。

210、获取每个动词短语的冗余度和每个名词短语的冗余度。

可以采样现有技术杰卡德指数(jaccardindex)来获取短语间的相似度,短语间的相似度可以作为短语间的冗余度。相似度用于衡量短语之间语义相似的程度。示例的,若获取到y个名词短语和y个动词短语,针对每个名词短语获取该名词短语与其他y-1个名词短语间的冗余度;同理,针对每个动词短语获取该动词短语与其他y-1个动词短语间的冗余度。

211、基于整数线性规划模型根据所有名词短语的重要度和冗余度,以及所有动词短语的重要度和冗余度,生成多篇文档的摘要。

可以理解的是,短语的重要度与信息量相关,短语的相似度与冗余度相关。将所有短语、短语的重要度和短语的冗余度输入到整数线性规划模型,获取第三优化问题的目标函数的取值。第三优化问题的目标函数的意思是在保证得分最大的情况下,尽量避免选择相似的短语进入摘要中,通过求解优化问题,通过拼接名词短语和动词短语生成多篇文档的摘要。当第三优化问题的目标函数的取值为极值时,信息量最大而冗余度最小,需要在第三优化问题的目标函数中,对重要度相关参数进行奖励,对相似度相关参数进行惩罚。需要说明的是,整数线性规划模型会从同一个名词短语的多个重要度中选取数值最大的重要度作为该名词短语的重要度,同理,整数线性规划模型会从同一个动词短语的多个重要度中选取数值最大的重要度作为该动词短语的重要度,来生成多篇文档的摘要。第三优化问题的目标函数如公式16所示:

其中,将名词短语和动词短语分别编号,其中,s为短语的重要度参数,与重要度相关。下标i为选取的短语的序号为i,下标j表示选取的短语的序号为j,上标n表示选取的是名词短语,上标v表示选取的是动词短语,则sin表示序号为i的名词短语的重要度参数,siv表示序号为i的动词短语的重要度参数,sjn表示序号为j的名词短语的重要度参数,sjv表示序号为j的动词短语的重要度参数。r表示短语的冗余度参数,与相似度相关,可以通过现有技术获取短语的冗余度。由于相似度是短语之间的关系,则r的下标是两个名词短语或两个动词短语的序号,表示这选取的这两个短语之前的冗余度,rijn表示序号为i和序号为j的名词短语之间的冗余度,rijv表示序号为i和序号为j的动词短语之间的冗余度。第三优化问题的目标函数的第一项和第三项对短语的重要度参数进行奖励,将各个短语的重要度权重之和相加得到目标函数的重要度之和部分,第三优化问题的目标函数的第二项和第四项对短语的冗余度参数进行惩罚,减去各个短语的冗余度参数权重之和。αi表示序号为i的名词短语的候选权重,βi表示序号为i的动词短语的候选权重,αij表示序号为i和j的名词短语之间的联系权重,βij表示序号为i和j的动词短语之间的联系权重。可以理解的是,上述第三优化问题的目标函数只是目标函数一个实例,还可以有其他各种形式的目标函数,可以得到各短语的候选权重或联系权重,只要在目标函数中对重要度进行奖励,对冗余度进行惩罚,目标函数的具体形式此处不作限定。

本申请实施例提供的生成多文档摘要的方法,基于变分自编码模型对每个用输入词袋向量表示的句子进行无监督训练,生成句子的潜在语义向量,来提升句子的度量效果,同时,根据潜在语义向量得到解码隐层向量和输出词袋向量,再根据潜在语义向量、解码隐层向量和输出词袋向量分别重建各自的潜在语义向量空间、编码隐层向量空间和输入词袋向量空间来估计句子的重要度,即联合考虑多语义空间估计句子的重要度生成多篇文档的摘要。从而,通过变分自编码模型和联合多语义空间的句子重要性估计模型生成多篇文档的摘要,极大地提升了摘要的性能。

示例的,多文档摘要有标准的英文验证数据集。将本申请所述的生成多文档摘要的方法首先在duc2006,duc2007和tac2011上进行了效果验证试验。其中duc2006和duc2007分别有50个和45个主题,每个主题20篇新闻,4个人工标注摘要,摘要字数限制为250字。tac2011有44个主题,每个主题有10篇新闻,4个人工标注,摘要字数限制100字。评测指标为rouge的f-measure。

表1duc2006的摘要结果

表2duc2007的摘要结果

表3tac2011的摘要结果

表1、表2和表3展示了本申请所述的生成多文档摘要的方法生成的摘要的摘要结果,并且与其他最好的无监督多文档摘要模型进行比较,结果表明本申请所述的生成多文档摘要的方法在各项指标都取得了最好的结果,提升了多文档摘要的效果。所取得的结果是目前为止所有无监督模型中最好的。

本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

本申请实施例可以根据上述方法示例对生成多文档摘要的装置进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。

在采用对应各个功能划分各个功能模块的情况下,图4示出了上述和实施例中涉及的生成多文档摘要的装置的一种可能的组成示意图,如图4所示,该生成多文档摘要的装置30可以包括以下详细单元:

划分单元301,用于将多篇文档划分为n个句子,n为大于等于1的整数;

第一生成单元302,用于对每个句子生成句子的输入词袋向量,n个句子的输入词袋向量组成输入词袋向量空间;

训练单元303,用于基于变分自编码模型对每个用输入词袋向量表示的句子进行无监督训练,得到每个句子的编码隐层向量和每个句子的潜在语义向量,n个句子的编码隐层向量组成编码隐层向量空间,n个句子的潜在语义向量组成潜在语义向量空间;

采集单元304,用于从潜在语义向量空间中采集m个潜在语义向量,m为大于等于1,且小于n的整数;

映射单元305,用于根据m个潜在语义向量,得到m个解码隐层向量和m个输出词袋向量;

更新单元306,用于根据对齐机制更新m个解码隐层向量和m个输出词袋向量;

估计单元307,用于根据输入词袋向量空间、编码隐层向量空间、潜在语义向量空间、m个潜在语义向量、更新后的m个解码隐层向量和更新后的m个输出词袋向量估计每个句子的重要度;

第一获取单元308,用于获取每个句子的动词短语和每个句子的名词短语;

第二获取单元309,用于根据名词短语所在的句子的重要度获取该名词短语的重要度,根据动词短语所在的句子的重要度获取该动词短语的重要度;

第三获取单元310,用于获取每个动词短语的冗余度和每个名词短语的冗余度;

第二生成单元311,用于基于整数线性规划模型根据所有名词短语的重要度和冗余度,以及所有动词短语的重要度和冗余度,生成多篇文档的摘要。

需要说明的是,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。

本申请实施例提供的生成多文档摘要的装置,用于执行上述生成多文档摘要的方法,因此可以达到与上述生成多文档摘要的方法相同的效果。

通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。

在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何在本申请揭露的技术范围内的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

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