CN114064885B - 一种无监督中文多文档抽取式摘要方法 - Google Patents
一种无监督中文多文档抽取式摘要方法 Download PDFInfo
- Publication number
- CN114064885B CN114064885B CN202111411241.1A CN202111411241A CN114064885B CN 114064885 B CN114064885 B CN 114064885B CN 202111411241 A CN202111411241 A CN 202111411241A CN 114064885 B CN114064885 B CN 114064885B
- Authority
- CN
- China
- Prior art keywords
- sentence
- sentences
- abstract
- document
- value
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 151
- 238000000605 extraction Methods 0.000 title claims abstract description 51
- 239000013598 vector Substances 0.000 claims abstract description 45
- 238000013135 deep learning Methods 0.000 claims abstract description 28
- 238000012545 processing Methods 0.000 claims abstract description 21
- 238000007781 pre-processing Methods 0.000 claims abstract description 7
- 230000006870 function Effects 0.000 claims description 41
- 238000012163 sequencing technique Methods 0.000 claims description 28
- 230000008569 process Effects 0.000 claims description 26
- 238000012549 training Methods 0.000 claims description 17
- 238000013528 artificial neural network Methods 0.000 claims description 12
- 238000013461 design Methods 0.000 claims description 12
- 230000011218 segmentation Effects 0.000 claims description 12
- 238000004364 calculation method Methods 0.000 claims description 11
- KDYFGRWQOYBRFD-UHFFFAOYSA-N succinic acid Chemical compound OC(=O)CCC(O)=O KDYFGRWQOYBRFD-UHFFFAOYSA-N 0.000 claims description 10
- 238000012216 screening Methods 0.000 claims description 7
- 238000010187 selection method Methods 0.000 claims description 5
- 230000006835 compression Effects 0.000 claims description 4
- 238000007906 compression Methods 0.000 claims description 4
- 239000000284 extract Substances 0.000 claims description 4
- JEIPFZHSYJVQDO-UHFFFAOYSA-N iron(III) oxide Inorganic materials O=[Fe]O[Fe]=O JEIPFZHSYJVQDO-UHFFFAOYSA-N 0.000 claims description 4
- 238000009825 accumulation Methods 0.000 claims description 3
- 238000013507 mapping Methods 0.000 claims description 3
- 230000002194 synthesizing effect Effects 0.000 claims description 3
- 238000012512 characterization method Methods 0.000 abstract 1
- 230000004927 fusion Effects 0.000 abstract 1
- 238000013459 approach Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- 238000011160 research Methods 0.000 description 7
- 230000000694 effects Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 238000011161 development Methods 0.000 description 4
- 230000018109 developmental process Effects 0.000 description 4
- 238000011176 pooling Methods 0.000 description 4
- 230000003595 spectral effect Effects 0.000 description 4
- 238000007796 conventional method Methods 0.000 description 3
- 230000001788 irregular Effects 0.000 description 3
- 238000003058 natural language processing Methods 0.000 description 3
- 230000000007 visual effect Effects 0.000 description 3
- 238000002372 labelling Methods 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000001364 causal effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000012141 concentrate Substances 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013136 deep learning model Methods 0.000 description 1
- 230000006698 induction Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000005065 mining Methods 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/34—Browsing; Visualisation therefor
- G06F16/345—Summarisation for human users
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/35—Clustering; Classification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/258—Heading extraction; Automatic titling; Numbering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/048—Activation functions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/088—Non-supervised learning, e.g. competitive learning
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Evolutionary Computation (AREA)
- Biophysics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Databases & Information Systems (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明通过网络安全领域的方法,实现了一种无监督中文多文档抽取式摘要方法。方法由三个模块组成:句子向量获取模块,摘要句子选取模块以及摘要句子排序模块;句子向量获取模块由文本预处理、长文本处理、Embbeding层、SPT任务、SRT任务以及多任务学习六个部分组成,得到更适用于抽取式摘要任务的句子向量表征;摘要句子选取模块生成最终的摘要集合;摘要句子排序模块输出最终的摘要序列。本发明提供的方法实现了基于中文多个文档的融合深度学习与规则统计方法的自动完成摘要抽取生成。
Description
技术领域
本发明涉及自然语言处理技术领域,尤其涉及一种无监督中文多文档抽取式摘要方法。
背景技术
当下互联网技术的发展变化日新月异,互联网应用已经遍及工业和社会生活的方方面面。根据第45次中国网络发展报告指出,截止2020年3月,我国网民规模达到9.04亿,互联网的普及率达到了64.5%,其中网络新闻用户规模达到7.31亿,占网民总体的80.9%。由此可见,在信息技术的不断发展更新的同时,传统的纯手工式文本正逐步地被电子文本所取代,互联网成为同人们的生活紧密相连的一部分,更是获取信息的重要渠道。然而,互联网的发展在给人们带来便利的同时,信息数量的急剧增加也成为了不可避免的问题,如何从互联网中快速准确地获取所需要的信息,以及如何有效地浏览迅速更迭的时讯,成为了亟待解决的任务。因此,人们急切需要一种能够帮助人们提升获取信息效率的工具,一种能够从大量数据中快速提取有用信息的工具。
自动文摘(Automatic Summarization)***是一种能够从大量文档集中快速提取有效信息的工具,这是一种利用计算机自动实现文本分析、内容归纳和摘要自动生成的技术,能够自动地将文档中的主要内容浓缩为少量句子或段落组成的摘要,是自然语言处理技术的一个应用分支。在面对海量信息的情况下,借助自动文摘技术,人们能够快速地获取文档中的重要信息,并判断文档内容是否需要深度阅读,这极大的缩短了人们获取所需信息的时间,提升了人们工作和学习的效率。自动文摘根据文档的数量划分为单文档摘要和多文档摘要,根据摘要的生成方式,可以分为抽取式摘要和生成式摘要。抽取式摘要是直接在原文档中选取给定数量的能够代表全文主旨的句子然后排序生成摘要,而生成式摘要是按照原文档所表述的内容,由***根据原文的语义来自动生成一段摘要。从摘要的本质上来看,生成式对摘要更符合人工书写摘要的过程,更接近摘要的本质;但由于目前生成式摘要的***在语言的通顺性、连贯性上远不如抽取式摘要的效果好,所以抽取式摘要在实际***中的应用要广泛的多。
传统的抽取式摘要的方法包括基于统计和语义特征的方法,基于图的方法以及基于机器学习的方法。其中,基于统计和语言特征的方法难以挖掘出文档内容深层次的语义特征关系;而基于图的方法存在摘要结果冗余性高的问题;基于机器学习的方法又可分为预测、分类以及聚类三种类型的方法,每一种类型的方法都有自身的优点。但文档信息往往存在多模态、数据异构等复杂特征,这些需要复杂的特征工程作为支撑,因此,该方法的研究仍然面临着严峻的挑战。
近年来,深度学习在自然语言处理领域取得了突破性进展,成为了人工智能的一个热潮,为抽取式摘要的研究带来了新的机遇。利用深度学习模型,可以更好地训练出单词、句子等文本单元所具有的上下文信息以及语义关系的特征。但该类方法依赖大量人工标注的数据,而在实际应用中,往往缺乏这样的标记数据。
目前,针对中文多文档抽取式摘要的研究工作相对较少。Fabbri等人于2019年首次提出了针对新闻领域的大规模英文多文档摘要数据集。而对于中文领域,目前还没有公开的大规模的数据集。
通过上述技术背景可知,多文档的抽取式摘要目前仍是一个热门的研究领域。然而,现有的研究方法主要集中在英文文档上,对于中文文档尤其是中文多文档的研究仍然较少。因此,本发明的研究目标是针对中文新闻领域,设计并实现一种基于无监督的多文档抽取式摘要的方法,从而能够生成全面、简洁且通顺的摘要序列。
然而,目前中文多文档抽取式摘要领域仍然面临着以下三个问题:
(1)句子向量的表达问题
这里,传统的方法虽然简单高效,但由于其往往依赖Word2Vec等静态词向量的计算,因此存在着无法判断多义词以及忽略了单词间顺序的问题,难以充分的表达句子文本信息;而基于深度学习的方法往往能够挖掘出句子中更深层次的语义信息,但目前由于缺少大规模中文多文档的标注数据集,所以难以直接使用此类方法。这是本发明所面临的第一个挑战。
(2)摘要句子的选取问题
目前,在进行摘要句子选取时往往基于句子的重要性和多样性这两个维度考虑的。而传统的方法往往只基于全局视角考虑其中的一个维度。如基于图的方法主要基于全局视角考虑了句子的重要性特征,基于聚类的方法主要基于全局视角考虑了句子的多样性特征;而基于统计的MMR算法虽然综合了句子的重要性特征和句子的多样性特征,但它采取的是基于局部视角的贪心思想。此外,同样的,由于缺少大规模标注数据集,因此基于深度学习的方法仍然不适用。这是本发明所面临的第二个挑战。
(3)摘要句子的排序问题
目前,句子排序任务的方法主要分为传统的基于规则统计的方法以及最新流行的基于深度学习的方法。其中,传统的基于统计规则的方法能够通过人工设置,获取一些特定场景下的判断句子先后关系的规则,但无法挖掘出句子间深层次逻辑关系的规律。而基于深度学习的方法能够通过训练学习到句子间深层次的逻辑关系规律,但在特定场景尤其是句子间逻辑关系比较模糊的时候,其效果往往不佳。因此,如何在挖掘到句子间深层次逻辑关系的同时,将中文新闻多文档这个特定领域下的规则统计信息考虑进去,是本发明所面临的第三个挑战。
发明内容
为此,本发明首先提出一种无监督中文多文档抽取式摘要方法,输入新闻文档集合M,输出从中抽取的K条句子所组成的摘要序列;
具体地,方法由三个模块组成:句子向量获取模块,摘要句子选取模块以及摘要句子排序模块;
在所述句子向量获取模块由文本预处理、长文本处理、Embbeding层、SPT任务、SRT任务以及多任务学习六个部分组成,首先将所述新闻文档集合输入,经过文本预处理、长文本处理后,在Em bedding层对输入文档中每个句子处理得到句子向量的表征,并且将句子Embedding输出到SPT任务和SRT任务分别进行再训练,最后,通过所述多任务学习将两个子任务联系起来,从而训练学习得到一个适用于中文抽取式摘要的基于BERT的通用语言模型,得到更适用于抽取式摘要任务的句子向量表征;
所述摘要句子选取模块输入句子向量的表征,经过基于图的摘要选取得到句子的重要性集合A和基于聚类的摘要选取过程得到句子的重要性集合B,首先取两个集合的交集句子作为选取句子集合①,将其直接放入到最终摘要集合中,之后,对剩下的句子作为候选摘要集合进行进一步的摘要句子选取,通过一个基于局部贪心思想的MMR算法,通过多文档标题、关键词以及选取句子集合①统计信息来综合句子重要性和多样性,来得到选取句子集合②,并将其与选取句子集合①一起作为最终的摘要集合;
最后,将最终摘要集合输入所述摘要句子排序模块,使用所述SRT任务的输出,结合如时间、局部主题、原文优先以及原文后继规则统计的因素,通过一个基于图的贪心算法实现了最终摘要集合的排序,从而输出最终的摘要序列。
所述文本预处理在利用贪心算法每次贪心的选取原文中的一个句子加入到抽取的输入文档的标题集合中,使得当前标题集合与生成式参考摘要间的Rouge得分最高,直到选取的标题个数满足要求或者新加入的句子无法提高Rouge得分为止。
所述长文本处理根据下游SPT子任务设计BERT长文本处理的两个步骤:步骤一,对每个句子里的Token数进行截断处理,设置句子最大长度和最小长度的阈值。如果句子长度大于最大长度阈值,则超过最大长度阈值的句子部门将被舍弃;而如果句子长度小于最小长度阈值,则该句子将被舍弃;步骤二,对原文档进行压缩法处理,首先选取在参考摘要Label集合中的句子;然后,为了对下游任务SPT提供服务,本发明再针对原文档中剩下的句子进行随机抽取,直到选取的句子的累加长度达到BERT模型输入长度的最大限制为止。
所述Embbeding层将Token Embedding的输入格式转化为在每一个句子的前面都加上[CLS]标签,并且在每一个句子的后面都加上[SEP]标签,取所有[CLS]输出得到Embedding就可以得到每一个句子的Embedding结果,BERT预训练模型输入的SentencePair的Segment Embedding,使用用0,1向量将第奇数个句子的Token全部标记为0,第偶数个句子的Token全部标记为1。
所述SPT任务判断每一个句子是否在参考摘要集合中,即si∈{0,1},采用一个Linear层以及Sigmoid函数来对每个句子的得分进行预测,其公式如下:
其中,表示第i条句子预测得分的结果;σ表示Sigmoid函数,将预测的得分映射到(0,1)之间;embi则代表第i条句子的Embedding;而W1和b1是前馈神经网络的参数;
最后,用交叉熵损失函数作为SPT任务的目标函数,其公式如下:
其中,Loss1指的是所有句子损失得分结果的平均值,N表示输入训练的句子总数,yi表示第i条句子真实的Label,如果该句子在参考摘要中为1,否则为0;而表示第i条句子神经网络预测得分的结果。
所述SRT任务具体为:对于参考摘要集合中有n条句子,其分类个数就是n!,采用一个Linear层以及SoftMax函数来对摘要句子序列的结果进行打分,其公式如下:
其中,表示第j种组合预测得分的结果,SoftMax函数将预测的得分映射到(0,1)之间;embi则代表第i条句子的Embedding;而W2和b2是前馈神经网络的参数;
采用交叉熵损失函数作为SRT任务的目标函数,其公式如下:
其中,Loss2指的是所有句子排列组合损失得分的结果,K表示句子排列的所有组合的可能,假设有n条句子,其值等于n!;而zk表示第k种句子排列组合真实的Label,如果该排列组合与句子在原文档中的前后关系相符,则为1,否则为0;表示第k种句子排列组合由神经网络预测得分的结果。
所述多任务学习通过累加的方式将其相结合,在参数更新的时候两个任务将一起更新,其公式如下:
Loss=Loss1+Loss2
其中,Loss指的是最终将两个子任务结合起来的损失函数,而Loss1代表SPT任务的损失函数,Loss2代表SRT任务的损失函数。
所述基于图的摘要选取方法为:以第一个句子向量获取模块为基础,通过使用基于BERT的抽取式摘要通用语言模型,将文档中的句子Embedding化,然后使用余弦相似度进行句子间相似度的计算,从而解决了句子中单词的顺序以及多义词问题。其公式如下:
其中,表示第i篇文档中第a条句子与第j篇文档中第b条句子间的相似度;/>表示第i篇文档中第a条句子的Embedding,而/>表示第j篇文档中第b条句子的Embedding;
构建有向的句子图模型。其句子顶点得分计算公式如下:
0<λ3<λ2<λ1<1
其中,表示第i篇文档中第a条句子顶点的得分,而/>表示在同一篇文档i中,排在句子a之前的句子对其得分的贡献值,/>表示在同一篇文档i中,排在句子a之后的句子对其得分的贡献值,/>表示在不同文档j中的句子对句子a得分的贡献值;这里,λ1、λ2与λ3是三个调和参数,它们的大小依次递减;
之后,沿用PageRank算法来对进行计算,等到收敛后就可以计算出所有句子顶点的得分,得分越高则说明该句子越重要;为了防止选取的重要性集合中句子的冗余性过大,设置一个相似度阈值θ,来判断被选中的句子与重要性集合中句子的相似度是否大于这个阈值,并将句子按照得分从高到低排序,依次判断一个句子是否能够被加入到重要性集合中,直到加入重要性集合中的句子个数达到要求为止,从而组成了最终基于图的重要性集合,其公式如下:
A={a1,a2,a3}
其中,A代表句子的重要性集合,而ai表示被选中的文档中的句子。
所述基于聚类的摘要选取方法为:首先使用AP聚类算法将所有文档中的句子划分为不同的簇;然后,选取每个簇中质心所代表的句子组成了句子的多样性集合,设置每个簇中的最少句子个数阈值k,如果一个簇中的句子个数小于这个阈值,则不会从该簇中选取质心句加入到多样性集合中;否则就将该簇中的质心句加入到多样性集合中;从而组成了最终基于聚类的多样性集合,其公式如下:
B={b1,b2,b3}
其中,B代表句子的重要性集合,而bi表示被选中的文档中的句子;
最终,将其结合起来得到经过粗筛选过后的候选摘要集合,其公式如下:
C={A,B}
其中,C表示候选摘要集合,而A代表句子的重要性集合,B代表句子的多样性集合。
所述基于局部贪心思想的MMR算法具体为:综合考虑句子的重要性特征和句子的多样性特征。其公式如下:
其中,C表示候选摘要句子集合,即A∪B;S表示已选取的摘要句子集合,其初始值为Set1;而C-S指的是两者的差集,即候选摘要集合中仍然没有被选取的句子集合;此外,Q表示的是多文档的主题词集合,它由两部分组成:一个是对多文档的标题进行分词,在去除停用词后的标题词集合;分词的方法用的是开源的中文分词工具jieba分词;另一个部分则是通过TF-IDF关键词提取算法选取出的多文档集合里的关键词集合,Sim(si,Q)指的是一个未被选中的候选句子si与多文档主题词集合Q的余弦相似度值;即Sim(si,Q)越大,表示句子si与多文档主题越相关,即句子si越重要,直接将句子si与多文档主题词集合Q的余弦相似度值作为句子si的重要性得分,Sim(si,sj)指的是一个未被选中的候选句子si与一个已选取的摘要句子sj的余弦相似度值;用来表示候选句子si的多样性特征值,即Sim(si,sj)越大,表示句子si与已选取摘要句子间的冗余性越大,表示句子si多样性越小,将已选取摘要句子集合中,与句子si的余弦相似度值最大句子si抽取出来,并将这个最大的余弦相似度值的负数作为句子si的多样性得分,最终,通过一个调和系数α来综合句子的重要性得分与句子的多样性得分,从而在综合了句子重要性特征和句子多样性特征的情况下,得到了每个句子最终的得分;
最后,Score(smax)指的是句子计算得到的最高得分;这里,smax表示得分最高的句子;重复上述计算过程直到已选取摘要集合中的句子达到要求为止,从而组成了最终选取的摘要句子集合。
所述摘要句子排序模块将句子节点间的边用一个偏好函数来表示,其公式如下:
PREFe(u,v,Q)∈[0,1]
其中,u和v表示待排序的两个句子,Q代表已经完成排序的句子序列,而e则代表有个影响句子间顺序的因素;PREFe(u,v,Q)的值大于0.5时,表示句子u偏向排在句子v之前;当PREFe(u,v,Q)的值小于0.5时,则表示句子u偏向排在句子v之后;而当PREFe(u,v,Q)的值等于0.5时,则表示当前条件下,无法判断两个句子的前后关系;
之后,计算得到所有影响因素在当前已完成排序的句子序列下的偏好程度值后,得到当前子u排在句子v之前总的偏好程度值。其公式如下:
其中,E表示影响因素的集合,we指的是某个影响因素e的权重,PREFtotal(u,v,Q)是通过对所有影响因素下的偏好程度值进行加权求和得到的。
所述影响因素的组成主要分为基于深度学习的方法和基于规则统计的方法,
所述基于深度学习的方法由三部分组成:已完成排序的摘要序列Q,以及待排序的两个句子u和v,输入形式在每个部分前后都加上[CLS]以及[SEP],之后通过BERT模型后获得每个部分的句子向量表征;将这些句子向量表征代入到一个Linear层之后,得到所有排列组合的预测得分,取两种排列组合的预测得分作为模型的输出,分别是deep(u,v|Q)和deep(v,u|Q),其中,deep(u,v|Q)指的是模型预测按照{Q,u,v}顺序排列时的得分,而deep(v,u|Q)指的是模型预测按照{Q,v,u}顺序排列时的得分,得到基于深度学习方法判断句子前后关系的公式,其定义如下:
其中,PREFdeep(u,v,Q)表示在基于深度学习的方法下,句子u排在句子v之前的偏好程度,如果已完成排序的摘要序列为空,或者两个句子的模型预测得分值相等时,则无法判断两个句子排序的先后,此时基于深度学习方法下的偏好程度值为0.5,而当已完成排序的摘要序列不为空时,若句子u的模型预测得分值大于句子v的模型预测得分值,则偏好程度值为1;否则,偏好程度值为0;
所述基于规则统计的方法选取时间因素、局部主题因素、原文优先因素以及原文后继因素来进行句子间逻辑关系的判断;
所述时间因素对于两个句子来自于不同的文档,按照文档发布时间的早晚来决定句子的前后顺序;两个句子来自于同一篇文档,则直接按照句子在原文档中位置的前后顺序来进行排序,公式如下:
其中,PREFtime(u,v,Q)表示在时间因素影响下,句子u排在句子v之前的偏好程度,D(u)表示句子u所属文档的发布时间,而N(u)则代表句子u在所属文档中位置的索引,如果句子u所属文档的发布时间在句子v所属文档的发布时间之前,则时间因素下的偏好程度值为1;否则,偏好程度值为0,如果两个句子属于同一篇文档,则按照句子在原文档中位置的前后顺序进行判断;若句子u在文档中的位置在句子v之前,则时间因素下的偏好程度值为1,否则,偏好程度值为0;
所述局部主题相关因素指的是如果一个句子与之前已完成排序的摘要序列中的句子相关性越大,则该句子的排序就越靠前,公式如下:
其中,topic(s)指句子s的局部主题相关性值,q表示已完成排序的摘要序列中的一个句子;而sim(s,q)用句子s与句子q的余弦相似度表示,按照局部主题因素判断句子前后关系的公式:
其中,PREFtopic(u,v,Q)表示在局部主题因素影响下,句子u排在句子v之前的偏好程度;而Q指的是已完成排序的摘要序列;此外,topic(u)指句子u的局部主题相关性值,如果已完成排序的摘要序列为空,或者两个句子的局部主题相关性值相等时,则无法判断两个句子排序的先后,此时局部主题因素下的偏好程度值为0.5,而当已完成排序的摘要序列不为空时,若句子u的局部主题相关性值大于句子v的局部主题相关性值,则偏好程度值为1;否则,偏好程度值为0。
所述原文优先因素指的是如果一个句子与另一个句子所属文档之前出现的句子的相关性越大,则该句子的排序就越靠前,要判断句子u与句子v的先后关系,如果句子u所属的文档中,在句子u之前的内容里存在一个句子w与句子v十分的相似;那么句子v应该排在句子u之前,公式如下:
其中,pre((s)指句子s的原文优先性值,q表示已完成排序的摘要序列中的一个句子;而Pq指的是在原文档中,出现在句子q前面的句子集合。sim(s,q)用句子s与句子q的余弦相似度表示,按照原文优先因素判断句子前后关系的公式:
其中,PREFpre(u,v,Q)表示在原文优先因素影响下,句子u排在句子v之前的偏好程度;而Q指的是已完成排序的摘要序列;此外,pre(u)指句子u的原文优先性值,如果已完成排序的摘要序列为空,或者两个句子的原文优先性值相等时,则无法判断两个句子排序的先后,此时原文优先因素下的偏好程度值为0.5,而当已完成排序的摘要序列不为空时,若句子u的原文优先性值大于句子v的原文优先性值,则偏好程度值为1;否则,偏好程度值为0。
所述原文后继因素指的是如果一个句子与另一个句子所属文档之后出现的句子的相关性越大,则该句子的排序就越靠后,要判断句子u与句子v的先后关系,如果句子u所属的文档中,在句子u之后的内容里存在一个句子w与句子v十分的相似;句子v应该排在句子u之后,公式如下:
其中,succ((s)指句子s的原文后继性值,q表示已完成排序的摘要序列中的一个句子;而Sq指的是在原文档中,出现在句子q后面的句子集合。sim(s,q)用句子s与句子q的余弦相似度表示,按照原文后继因素判断句子前后关系的公式:
其中,PREFsucc(u,v,Q)表示在原文后继因素影响下,句子u排在句子v之前的偏好程度;而Q指的是已完成排序的摘要序列;此外,succ(u)指句子u的原文后继性值,如果已完成排序的摘要序列为空,或者两个句子的原文后继性值相等时,则无法判断两个句子排序的先后,此时原文后继因素下的偏好程度值为0.5,而当已完成排序的摘要序列不为空时,若句子u的原文后继性值小于句子v的原文后继性值,则偏好程度值为1;否则,偏好程度值为0。
所述基于图的贪心算法具体为:算法的输入是待排序的句子集合V,以及句子u排在句子v之前的总的偏好程度值PREFtotal(u,v,Q),表示一个以句子为顶点,句子间边的权重值为PREFtotal(u,v,Q)的有向图模型,算法的输出是排序好的句子序列Q,其初始状态为空,算法计算当前图结构下每个句子顶点u的得分的过程为,通过句子顶点u所有出度边的权重值减去顶点u所有入度边的权重值计算得到,进而通过argmax函数得到得分最高的句子顶点t,更新原来的有向图结构,首先在待排序的句子顶点集合V中删除顶点t,并将其加入到已排序的句子序列Q中;这样,就可以得到新一轮的句子得分,最后,重复上述过程直至所有句子都被排序,从而就可以得到最终排序完成的摘要句子序列Q。
本发明所要实现的技术效果在于:
(1)基于BERT的自监督模型获取句子的向量表达
受启发于BERT预训练模型通过两个子任务MLM(Masked Language Model)和NSP(Next Sentence Prediction)获取通用语言模型的过程,本发明在BERT的基础上进行改进,通过新增SPT(Summarization Prediction Task)和SRT(Summarization RestructionTask)两个更贴近抽取式摘要的无监督子任务,实现一个再训练的过程。该方法不但能够避免静态词向量带来的多义词问题,还充分的考虑了句子中单词间的位置关系。本发明希望通过这种方式,设计并实现了一个适用于中文抽取式摘要的通用语言模型,从而获取到更为准确的句子向量表达。
(2)基于全局视角综合重要性和多样性的框架实现摘要的句子抽取
本发明设计并实现了一套从全局视角到局部视角进行摘要句选取的算法框架。其主要流程是:首先从全局视角综合句子重要性和多样性进行粗筛选,得到候选摘要集合。这里,句子的重要性集合通过基于图的方法来获得,而句子的多样性集合通过基于聚类的方法来获得。然后,针对候选摘要集合,再采用基于局部视角的方法如MMR算法,综合考虑了句子的重要性和多样性来进行最终摘要句的选取。
(3)融合深度学习与规则统计方法的算法完成摘要的句子排序
受启发于命名实体识别NER中经典的LSTM+CRF模型的设计思路。其主要思想是首先通过LSTM来学习输入句子中每个字和符号之间对应的实体标签的规律;然后,再用CRF来学习相邻实体标签之间的转移规则。本发明所设计的算法框架与上述思路类似:首先通过基于BERT的深度学习的方法来学习到句子间的逻辑先后规律;然后,针对中文新闻多文档领域的特点,提取出有价值的统计信息以及设置相应的人工规则;最后,采用一个基于图的贪心排序算法将上述两种方法得到的结果结合起来,进行摘要句子的排序,从而得到最终的摘要句子序列。
附图说明
图1无监督中文多文档抽取式摘要方法架构;
图2句子向量获取模块结构图;
图3摘要句子选取模块结构图;
图4摘要句子排序模块结构图;
图5基于深度学习排序的模型结构图;
图6贪心排序算法流程
具体实施方式
以下是本发明的优选实施例并结合附图,对本发明的技术方案作进一步的描述,但本发明并不限于此实施例。
本发明提出了一种无监督中文多文档抽取式摘要方法。实现从句子向量的表达,到文档摘要句子的选取,到最后摘要句子的排序。方法的整体框架如图1所示。
模型的输入为新闻文档集合M,输出为从中抽取的K条句子所组成的摘要序列。模型主要由三个模块组成:句子向量获取模块,摘要句子选取模块以及摘要句子排序模块。具体地,首先将多文档输入到句子向量获取模块。在Embedding层,对输入文档中每个句子的前后都加上[CLS]和[SEP]标识符,并对其进行Embedding化,带入到一个再训练后BERT模型,最终取所有[CLS]标识符的Embedding表示作为句子向量的表征。这里,BERT模型的再训练过程如图中句子向量获取模块的上半部所示。同样的,先通过BERT模型将一篇文档所有[CLS]标识符表示的句子Embedding作为输出,再将其带入到两个更贴近抽取式摘要的无监督子任务SPT(Summarization Prediction Task)和SRT(Summarization RestructionTask)中进行再训练。最后,通过一个多任务学习方法将两个子任务联系起来,从而训练学习得到一个适用于中文抽取式摘要的基于BERT的通用语言模型。这样,固定这个模型的参数,以后每输入一个Embedding层处理后的句子,我们就可以得到一个更适用于抽取式摘要任务的句子向量表征。然后,将这些句子向量表征带入到摘要句子选取模块,在基于全局视角——即整个多文档集合,经过基于图的摘要选取和基于聚类的摘要选取过程后,分别得到句子的重要性集合A和句子的重要性集合B。这里,首先取两个集合的交集句子作为选取句子集合①,这部分句子相当于同时拥有了句子的重要性特征和多样性特征,因此我们将其直接放入到最终摘要集合中。之后,对剩下的句子,即两个集合的对称差集,我们将其作为候选摘要集合进行进一步的摘要句子选取。这里,本发明通过一个基于局部贪心思想,并通过多文档标题、关键词以及选取句子集合①等统计信息来综合句子重要性和多样性的MMR(Maximal Marginal Relevance)算法,来得到选取句子集合②。并将其与选取句子集合①一起作为最终的摘要集合。最后,将最终摘要集合带入到摘要句子排序模块。这里,本发明使用了在句子向量模块已经训练学习完毕的SRT任务的输出,结合如时间、局部主题、原文优先以及原文后继等规则统计的因素,通过一个基于图的贪心算法实现了最终摘要集合的排序,从而输出最终的摘要序列。
一、句子向量选取模块
类似于BERT预训练模型通过两个子任务MLM(Masked Language Model)和NSP(Next Sentence Prediction)获取一个通用语言模型的过程,本发明在BERT的基础上进行改进,通过新增SPT(Summarization Prediction Task)和SRT(SummarizationRestruction Task)两个更贴近抽取式摘要的无监督子任务,实现一个再训练的过程。本发明希望通过这种方式,设计并实现了一个适用于中文抽取式摘要的通用语言模型,从而获取到更为准确的句子向量表达。下面,本节将对再训练机制以及两个子任务进行具体地介绍,主要分为六个模块:文本预处理、长文本处理、Embbeding层输入、SPT任务、SRT任务以及多任务学习。其结构图如图2所示:
(1)文本预处理
在传统BERT模型的子任务中,MLM(Masked Language Model)是通过随机Mask掉一个Token,然后根据上下文的Token来预测这个被Mask掉的Token。而NSP(Next SentencePrediction)则是判断Sentence Pair中第二个句子是否为第一个句子的下一句。这两个任务都是无监督的。受此启发,本发明针对中文抽取式摘要领域设计了一个无监督的训练过程,其中两个子任务分别是SPT(Summarization Prediction Task)和SRT(SummarizationRestruction Task)。这里,SPT指的是用文档去预测标题,而SRT则表示预测摘要句子的顺序。在此,本发明做了一个假设:在中文新闻文档中,新闻的标题可以看作是新闻文档的一个粗略的总结概括。它描述的内容可能不会十分全面,但一定是文档中最重要的内容。因此,本发明以标题作为Label,来实现SPT与SRT两个子任务的无监督训练过程。
抽取式摘要指从原文中选取句子组成摘要,而标题很可能并不属于原文档中的句子。因此,如果我们直接用文档去预测标题,这会是一个生成式摘要的过程,与我们抽取式摘要的任务并不相符。因此,本发明通过一个Greedy Selection的方法用原文档中的3个句子来替换标题作为新的Label,组成一个参考摘要集合。该方法出自于Nallapati等人在2017年提出的SummaRuNNer模型。该方法主要为了解决当时主流数据集的人工摘要是生成式而不是抽取式的问题,并成为了一个新的转化生成式参考摘要到抽取式参考摘要的思路。具体地,该方法每次贪心的选取原文中的一个句子加入到抽取式参考摘要集合中,使得当前抽取式参考摘要集合与生成式参考摘要间的Rouge得分最高,直到选取的句子个数满足要求或者新加入的句子无法提高Rouge得分为止。通过这种方式,该方法将生成式参考摘要转化为了抽取式参考摘要。对应到本发明的方法中,我们将生成式参考摘要替换成文档的标题,此时该方法就变成了通过贪心的方式将标题转换为抽取式参考摘要。因此,我们通过这种方式,组成了新的参考摘要Label集合。
(2)长文本处理
传统的BERT模型中,输入文档的最大长度为512个字符,而一篇新闻文档的长度可能远远不止512个字符。因此,我们需要用一种方法来进行BERT模型中的长文本处理。传统的处理方式主要包含了截断法和分段Pooling法。截断法通过对文档头部或者尾部的一部分内容进行暴力的截断来限制保留下来的Token数,以符合BERT模型的输入要求。但这种方法过于粗糙。很可能会丢失文档中重要的信息,造成较大的误差。而分段Pooling法主要通过滑动窗口的方式将原文档分为多个Segment,每个Segment的长度满足BERT输入长度限制的要求;之后,再经过BERT模型得到每个Segment的Embedding后,再使用Max-Pooling或者Mean-Pooling的方法将所有Segment结合起来,从而获取到最终的Embedding特征。这种方法的缺陷在于难以捕捉到长距离Token之间的联系,且由于需要Encoding多个Segment,文档处理的速度也会很慢。目前,最流行的处理长文本的方法是压缩法,如Jiang等人于2020年提出的CogLTX模型,该方法旨在用原文档中一些重要的句子组成短文档句子集合来满足BERT模型的输入需要,使之包含了原文档中重要的信息,并将该短文档句子集合代替原文档作为BERT模型的输入,进行下游任务的训练。受此启发,本发明发现CogLTX模型中寻找的短文档句子集合就是原文档的摘要句子集合。因此,本发明根据下游SPT(SummarizationPrediction Task)子任务设计了BERT长文本处理的两个步骤:(1)对每个句子里的Token数进行截断处理,设置句子最大长度和最小长度的阈值。如果句子长度大于最大长度阈值,则超过最大长度阈值的句子部门将被舍弃;而如果句子长度小于最小长度阈值,则该句子将被舍弃。(2)对原文档进行压缩法处理,首先选取在参考摘要Label集合中的句子;然后,为了对下游任务SPT提供服务,本发明再针对原文档中剩下的句子进行随机抽取,直到选取的句子的累加长度达到BERT模型输入长度的最大限制为止。
(3)Embedding层输入
本发明以BERT模型为基础,因此,我们需要将输入形式转化为符合BERT输入的形式。传统的BERT模型的输入分为三个向量,分别是:Token Embedding、Position Embedding和Segment Embedding。其中,Token Embedding需要在输入文档的最前面加上[CLS]标识符,并且在每个句子后面加上[SEP]进行分割标记。这样,最终只需要取[CLS]输出得到的Embedding就可以作为输入文档的Embdding。而在本发明中,由于我们希望得到所有句子的Embedding。因此,本发明将Token Embedding的输入格式转化为在每一个句子的前面都加上[CLS]标签,并且在每一个句子的后面都加上[SEP]标签,这样,我们最终可以取所有[CLS]输出得到Embedding就可以得到每一个句子的Embedding结果。此外,由于BERT预训练模型输入的是Sentence Pair,其Segment Embedding可以简单用0,1向量将第一个句子的Token全部标记为0,第二个句子的Token全部标记为1来表示。而本发明输入的是多个句子(大于5),因此,为了满足BERT的输入要求,需要将Segment Embedding用0,1,0,1…的序列来表示,将第一个句子的Token全部标记为0,第二个句子的Token全部标记为1,第三个句子全部标记0,第四个句子全部标记为1,以此类推。而Position Embedding本发明的模型与BERT原始模型的输入是一致的,不做任何改变。最后,将新的输入向量输入到BERT模型中,就可以得到所有Token的Embedding,本发明取所有[CLS]的Embedding作为每一个句子的Embedding表示,带入到下游的子任务进行训练。
(4)SPT(Summarization Prediction Task)
在得到新的参考摘要Label集合以及所有句子的Embedding后,SPT任务就被转化成了多个二分类问题——判断每一个句子是否在参考摘要集合中,即si∈{0,1}。该任务相当于一个单文档的抽取式摘要选取的过程,本发明希望通过训练这个和抽取式摘要息息相关的子任务,能够使BERT模型学习到更能适用于抽取式摘要领域的参数,成为一个抽取式摘要领域的通用语言模型。这里,本发明采用一个Linear层以及Sigmoid函数来对每个句子的得分进行预测,其公式如下所示:
/>
其中,表示第i条句子预测得分的结果;σ表示Sigmoid函数,将预测的得分映射到(0,1)之间;embi则代表第i条句子的Embedding;而W1和b1是前馈神经网络的参数。
最后,本发明用交叉熵损失函数(Binary Cross-Entropy Loss Function)作为SPT任务的目标函数,其公式如下所示:
其中,Loss1指的是所有句子损失得分结果的平均值,N表示输入训练的句子总数,yi表示第i条句子真实的Label,如果该句子在参考摘要中为1,否则为0;而表示第i条句子神经网络预测得分的结果。
(5)SRT(Summarization Restruction Task)
SRT任务是对参考摘要Label集合中句子进行排序。在单文档抽取式摘要中,句子的前后顺序一般直接按照这些句子在原文档中的前后关系进行排序。因此,SRT任务的标注Label我们也可以直接根据参考摘要集合中的句子在原文档的前后顺序获得。在多文档抽取式摘要中,由于选取的摘要句子可能来自于不同的文档,因此句子之间的顺序关系往往也是一大难点。本发明希望通过训练学习句子排序这个子任务,为之后的摘要句子排序模块提供服务,同时进一步的提升抽取式摘要领域的通用语言模型的泛化能力。这里,假设参考摘要集合中有n条句子,那么,句子排列组合就会有n!种可能。因此,该问题同样可以转化为一个分类问题,其分类个数就是n!。具体地,本发明仍然采用一个Linear层以及SoftMax函数来对摘要句子序列的结果进行打分,其公式如下所示:
其中,表示第j种组合预测得分的结果,SoftMax函数将预测的得分映射到(0,1)之间;embi则代表第i条句子的Embedding;而W2和b2是前馈神经网络的参数。
同样地,本发明采用交叉熵损失函数(Binary Cross-Entropy Loss Function)作为SRT任务的目标函数,其公式如下所示:
其中,Loss2指的是所有句子排列组合损失得分的结果,K表示句子排列的所有组合的可能,假设有n条句子,其值等于n!;而zk表示第k种句子排列组合真实的Label,如果该排列组合与句子在原文档中的前后关系相符,则为1,否则为0;表示第k种句子排列组合由神经网络预测得分的结果。
(6)多任务学习
本发明仍然沿用传统BERT的思路进行两个子任务SPT与SRT的结合。即在得到两个子任务的损失函数后,本发明通过累加的方式将其相结合,在参数更新的时候两个任务将一起更新,其公式如下所示:
Loss=Loss1+Loss2
其中,Loss指的是最终将两个子任务结合起来的损失函数,而Loss1代表SPT任务的损失函数,Loss2代表SRT任务的损失函数。
经过上述模块步骤后,将训练学习整个网络参数。之后,使用训练好的模型网络,将所有文档中的句子一个个输入,就可以得到每个句子的Embedding,并带入到下游任务就行计算。
二、摘要句子选取模块
在摘要句子选取过程中,往往需要考虑句子的两大特征:重要性特征和多样性特征。即选取的句子集合既要包含文档中重要的内容,又希望句子之间的冗余信息较少。传统的方法往往只能基于全局视角考虑一种句子特征。如基于图的方法主要基于全局视角考虑了句子的重要性特征,而基于聚类的方法主要基于全局视角考虑了句子的多样性特征;此外,基于统计的MMR算法虽然综合了句子的重要性特征和句子的多样性特征,但它采取的是基于局部视角的贪心思想。因此,如何从全局视角综合考虑句子的重要性特征和句子的多样性特征是该问题的一大难点。对此,本发明设计并实现了一套从全局视角到局部视角进行摘要句选取的算法框架。首先从全局视角综合句子重要性特征和句子多样性特征进行粗筛选,得到候选摘要集合;然后针对候选摘要集合,再采用基于局部视角的方法,同时也综合考虑句子的重要性和多样性来进行最终摘要句的选取。其结构图如图3所示。下面,本发明将具体介绍这个过程。
(1)全局视角选取候选摘要集合
如上文所述,传统的方法中基于图的方法主要考虑的是句子重要性特征,而基于聚类的方法主要考虑的是句子的多样性特征。对此,本发明从全局视角,即针对所有文档中的所有句子,分别用基于图的方法和基于聚类的方法来进行候选摘要句的选取。本发明用此方法的一个出发点是:希望候选摘要集合中的句子至少包含了重要性特征和多样性特征中的一个。这样,能够避免在基于局部视角进行摘要句选取时,可能出现的所选取的摘要句子既不具有重要性,也不具有多样性的情况。具体地,下面本发明将具体介绍这个过程。
基于图的重要性摘要句选取
基于图的方法主要以句子为顶点,句子间的关系为边,来构建一个无向图模型;然后,通过某种计算顶点排名的算法如PageRank算法来对图中每个顶点进行打分,选取得分最高的几个句子顶点作为最终的摘要集合。经典的方法有TextRank算法和LexRank算法等。在两种算法中,句子间的关系都是用句子间的相似度来表示的,其区别主要体现在句子间相似度的计算方式上。其中,TextRank算法用两句话内共现单词的数量占两句话所有单词数量的比重来表示句子间的相似度,而LexRank算法则以句子中的单词的TF-IDF值为基准,用余弦相似度进行句子间的相似度计算。这类方法往往忽略了句子中单词的顺序以及无法解决多义词问题,因此存在着较大的误差。本发明以第一个句子向量获取模块为基础,通过使用基于BERT的抽取式摘要通用语言模型,将文档中的句子Embedding化,然后使用余弦相似度进行句子间相似度的计算,从而解决了句子中单词的顺序以及多义词问题。其公式如下所示:
其中,表示第i篇文档中第a条句子与第j篇文档中第b条句子间的相似度;/>表示第i篇文档中第a条句子的Embedding,而/>表示第j篇文档中第b条句子的Embedding。
此外,Lapata等人在2019年提出:在一篇文档中,位置靠前的句子与位置靠后的句子间相互的影响是不一样的,位置靠前句子对位置靠后句子的影响往往要大于位置靠后句子对位置靠前句子的影响。本发明认为同一篇新闻文档符合这样的假设条件。此外,由于本发明研究的目标是多文档,所以本发明新提出了一个观点:对于一个句子,另一个句子与该句子在同一篇文档中的影响要大于另一个句子与该句子在不同文档中的影响。因此,本发明所构建的句子图模型是有向的。其句子顶点得分计算公式如下所示:
0<λ3<λ2<λ1<1
其中,表示第i篇文档中第a条句子顶点的得分,而/>表示在同一篇文档i中,排在句子a之前的句子对其得分的贡献值,/>表示在同一篇文档i中,排在句子a之后的句子对其得分的贡献值,/>表示在不同文档j中的句子对句子a得分的贡献值;这里,λ1、λ2与λ3是三个调和参数,它们的大小依次递减。
之后,本发明仍然沿用PageRank算法来对进行计算,等到收敛后就可以计算出所有句子顶点的得分,得分越高则说明该句子越重要。这里,为了防止选取的重要性集合中句子的冗余性过大,本发明设置了一个相似度阈值θ,来判断被选中的句子与重要性集合中句子的相似度是否大于这个阈值。如果大于这个阈值,则说明冗余性较大,该句子被抛弃,继续判断下一个被选中的句子是否符合要求;否则就将该句子加入到重要性集合中。这里,本发明并将句子按照得分从高到低排序,依次判断一个句子是否能够被加入到重要性集合中,直到加入重要性集合中的句子个数达到要求为止。从而组成了最终基于图的重要性集合,其公式如下所示:
A={a1,a2,a3}
其中,A代表句子的重要性集合,而ai表示被选中的文档中的句子。
基于聚类的多样性摘要句选取
基于聚类的方法的思路是首先将文档中的句子分成不同的簇,然后从每个簇中选取具有代表性的句子组成最终的摘要集合。常见的方法有想Kmeans算法、SpectralClustering谱聚类算法以及DBSCAN算法等。其中,Kmeans算法与Spectral Clustering谱聚类算法需要人工设置聚类的个数,而在文本聚类中我们往往难以提前知晓需要聚类的数目。此外,DBSCAN算法在文本聚类中十分的常见,但在聚类后,其在每个簇中选取具有代表性句子的过程往往又比较棘手。因此,如何将聚类算法和簇中代表性句子的选择过程结合起来,是该问题的一大难点。对此,本发明采用了基于图的AP(Affinity Propagation)聚类算法来实现多样性集合的句子选取。因为该方法拥有两大优势:首先,AP算法不需要预先确定聚类的数目,这十分符合文本聚类的场景;其次,AP算法聚类后得到的簇,其质心是由已经存在的数据组成的。因此,我们可以直接选取每个簇中的质心句来代表这个簇,从而省去了再在每个簇中用其他方法选取代表句子的过程。
因此,该部分的流程是首先使用AP聚类算法将所有文档中的句子划分为不同的簇;然后,选取每个簇中质心所代表的句子组成了句子的多样性集合。这里,为了防止文档中噪声句的出现,本发明设置了每个簇中的最少句子个数阈值k。如果一个簇中的句子个数小于这个阈值,则不会从该簇中选取质心句加入到多样性集合中;否则就将该簇中的质心句加入到多样性集合中。从而组成了最终基于聚类的多样性集合,其公式如下所示:
B={b1,b2,b3}
其中,B代表句子的重要性集合,而bi表示被选中的文档中的句子。
最终,在得到句子的重要性集合A和句子的多样性集合B后,我们将其结合起来,就可以得到经过粗筛选过后的候选摘要集合,其公式如下所示。
C={A,B}
其中,C表示候选摘要集合,而A代表句子的重要性集合,B代表句子的多样性集合。
(2)局视角选取摘要集合
在经过粗筛选,得到由句子重要性集合和句子多样性集合组成的候选摘要集合后。此时,候选摘要集合中的句子要么具有重要性特征,要么具有多样性特征,甚至可能同时拥有这两种特征。因此,我们只需要针对这里面的句子进行精筛选,就可以从中选取出摘要句子组成最终的摘要句子集合。里面的摘要句能够至少拥有句子重要性特征以及句子多样性特征中的一个。
具体地,精筛选的步骤主要分为两步:第一步,取句子重要性集合A和句子多样性集合B的交集句子直接加入到最终摘要集合中,其公式如下所示:
Set1=A∩V
其中,Set1指的是第一步要加入到最终摘要集合中的句子集合。这样,Set1中的句子就同时拥有了重要性特征以及多样性特征,本发明认为同时拥有这两个特征的句子可以直接加入到最终摘要集合中。
之后,在第二步中,本发明针对候选摘要剩余的句子,采用了基于贪心思想的MMR(Maximal Marginal Relevance)算法来进行摘要句的选取。该算法的优势是能够综合考虑句子的重要性特征和句子的多样性特征。其公式如下所示:
其中,C表示候选摘要句子集合,即A∪B;S表示已选取的摘要句子集合,其初始值为Set1;而C-S指的是两者的差集,即候选摘要集合中仍然没有被选取的句子集合;此外,Q表示的是多文档的主题词集合,它由两部分组成:一个是对多文档的标题进行分词,在去除停用词后的标题词集合;这里,分词的方法用的是开源的中文分词工具jieba分词。而另一个部分则是通过TF-IDF关键词提取算法选取出的多文档集合里的关键词集合。也就是说,Sim(si,Q)指的是一个未被选中的候选句子si与多文档主题词集合Q的余弦相似度值;它被用来表示候选句子si的重要性特征值,即Sim(si,Q)越大,表示句子si与多文档主题越相关,即句子si越重要。这里,本发明直接将句子si与多文档主题词集合Q的余弦相似度值作为句子si的重要性得分。同样的,Sim(si,sj)指的是一个未被选中的候选句子si与一个已选取的摘要句子sj的余弦相似度值;它用来表示候选句子si的多样性特征值,即Sim(si,sj)越大,表示句子si与已选取摘要句子间的冗余性越大,表示句子si多样性越小。这里,我们将已选取摘要句子集合中,与句子si的余弦相似度值最大句子si抽取出来,并将这个最大的余弦相似度值的负数作为句子si的多样性得分。最终,本发明通过一个调和系数α来综合句子的重要性得分与句子的多样性得分,从而在综合了句子重要性特征和句子多样性特征的情况下,得到了每个句子最终的得分。
最后,Score(smax)指的是句子计算得到的最高得分;这里,smax表示得分最高的句子。也就是说,我们每次选取在候选摘要集合中得分最高的句子加入到已选取摘要集合中;重复上述计算过程直到已选取摘要集合中的句子达到要求为止。从而组成了最终选取的摘要句子集合。
三、摘要句子排序模块
目前,句子排序任务的方法主要分为传统的基于规则统计的方法以及最新流行的基于深度学习的方法。其中,传统的基于统计规则的方法能够通过人工设置,获取一些特定场景下的判断句子先后关系的规则,但无法挖掘出句子间深层次逻辑关系的规律。而基于深度学习的方法能够通过训练学习到句子间深层次的逻辑关系规律,但在特定场景尤其是句子间逻辑关系比较模糊的时候,其效果往往不如规则统计的判断方式有效。对此,本发明设计并实现了一种结合两种方法优点的算法框架。本发明受启发于命名实体识别NER中经典的LSTM+CRF模型的设计思路。其主要思想是首先通过LSTM来学习输入句子中每个字和符号之间对应的实体标签的规律;然后,再用CRF来学习相邻实体标签之间的转移规则。因此,本发明设计的算法框架与上述思路类似,并通过构造一个句子图模型将两类方法结合起来。算法框架的大体流程是:首先通过基于BERT的深度学习的方法来学习到句子间的逻辑先后规律;然后,针对中文新闻多文档领域的特点,提取出有价值的统计信息以及设置相应的人工规则;最后,采用一个基于图的贪心排序算法将上述两种方法得到的结果结合起来,进行摘要句子的排序,从而得到最终的摘要句子序列。其结构图如下图4所示。下面,本发明将具体介绍这部分内容。
(1)句子图模型的构造
在多文档抽取式摘要任务里,我们最终抽取出的摘要集合里句子往往来自于不同的文档之中。这时,集合中句子间的前后关系往往存在十分的模糊的情况。比如有些句子间存在着因果等逻辑关系,可以直接按照句子语义本身来判断它们的前后顺序;而有些句子间本身并没有什么逻辑关系,这时需要通过其他因素如文档发布时间的先后来判断句子顺序的先后。因此,这些句子间的关系时不规则的。而图结构往往能够较好的挖掘这些不规则数据间的关系,其主要思想是以数据为节点,数据间的关系为边来构造出一个图模型。它可以通过对节点之间的边增添各种特征信息来将不规则的关***一起来。在句子排序任务中也有较多的应用。
因此,本发明受此启发,通过以摘要序列中的句子为节点,句子间的关系为边,构建一个有向图模型。其中,句子节点间的边受许多不同因素的影响。这里,本发明受Bollegala等人提出的方法的启发,将句子节点间的边用一个偏好函数来表示,其公式如下所示:
PREFe(u,v,Q)∈[0,1]
其中,u和v表示待排序的两个句子,Q代表已经完成排序的句子序列,而e则代表有个影响句子间顺序的因素;因此,PREFe(u,v,Q)的含义是:在某个影响因素e以及已完成排序的句子序列Q的情况下,句子u排在句子v之前的偏好程度值,其范围为[0,1]。此时,本发明定义的公式中,当PREFe(u,v,Q)的值大于0.5时,表示句子u偏向排在句子v之前;当PREFe(u,v,Q)的值小于0.5时,则表示句子u偏向排在句子v之后;而当PREFe(u,v,Q)的值等于0.5时,则表示当前条件下,无法判断两个句子的前后关系。
之后,计算得到所有影响因素在当前已完成排序的句子序列下的偏好程度值后,我们就可以得到当前子u排在句子v之前总的偏好程度值。其公式如下所示:
PREFtotal(u,v,Q)=∑e∈EwePREFe(u,v,Q)
其中,E表示影响因素的集合,we指的是某个影响因素e的权重,。因此,这里的PREFtotal(u,v,Q)是通过对所有影响因素下的偏好程度值进行加权求和得到的。
这里,影响因素的组成主要分为基于深度学习的方法和基于规则统计的方法。下面,本发明将对这些影响因素做具体的介绍。
(2)基于深度学习的方法
在传统的基于深度学习的句子排序方法中,最常见的是基于RNN序列的Seq2Seq框架。而随着近年来Transformer框架的提出,越来越多的研究者开始挖掘以Transformer框架为基础的句子排序的方法。因此,受此启发,本发明以目前最流行且被证明有效的BERT模型为框架,设计并实现了一个基于BERT的句子排序方法。
在前文所述的句子向量获取模块中,本发明发现再训练过程中的一个子任务摘要重构排序SRT(Summarization Restruction Task)与本次任务的方向十分的契合。因此,根据奥卡姆剃刀原理(Occam's Razor),本发明决定直接使用之前已经训练好的网络直接进行预测,而不是重新训练一个网络进行学习。这里,模型的框架如图5所示:
在框架图中,模型的输入由三部分组成:已完成排序的摘要序列Q,以及待排序的两个句子u和v。为了符合句子向量获取模块中模型的输入,这里的输入形式仍然是在每个部分前后都加上[CLS]以及[SEP]。之后,通过BERT模型后获得每个部分的句子向量表征;将这些句子向量表征代入到一个Linear层之后,我们将得到所有排列组合的预测得分。这里,本发明取两种排列组合的预测得分作为模型的输出,分别是deep(u,v|Q)和deep(v,u|Q)。其中,deep(u,v|Q)指的是模型预测按照{Q,u,v}顺序排列时的得分,而deep(v,u|Q)指的是模型预测按照{Q,v,u}顺序排列时的得分。因此,我们可以通过deep(u,v|Q)与deep(v,u|Q)值的大小来判断句子u和句子v哪一个更应该放到当前已完成排序的摘要序列Q的后面。
至此,我们可以得到基于深度学习方法判断句子前后关系的公式,其定义如下所示:
其中,PREFdeep(u,v,Q)表示在基于深度学习的方法下,句子u排在句子v之前的偏好程度。也就是说,如果已完成排序的摘要序列为空,或者两个句子的模型预测得分值相等时,则无法判断两个句子排序的先后,此时基于深度学习方法下的偏好程度值为0.5。而当已完成排序的摘要序列不为空时,若句子u的模型预测得分值大于句子v的模型预测得分值,则偏好程度值为1;否则,偏好程度值为0。
(3)基于统计规则的方法
在基于统计规则的方法中,往往需要针对具体场景进行统计信息的挖掘以及规则的设定。因此,本发明针对中文新闻的多文档领域,选取了时间因素、局部主题因素、原文优先因素以及原文后继因素来进行句子间逻辑关系的判断。下面,本发明将具体介绍这四个因素。
时间因素
按时间因素排序指的是如果两个句子来自于不同的文档,则按照文档发布时间的早晚来决定句子的前后顺序;而如果两个句子来自于同一篇文档,则直接按照句子在原文档中位置的前后顺序来进行排序。在传统的报纸行业中,每次针对一个主题进行出版介绍时,其往往会发布自上次出版以来新发生的事件。因此,按时间因素对摘要句进行排序在中文多文档新闻领域中往往十分有效。对此,本发明定义按照时间因素判断句子前后关系的公式如下所示:
其中,PREFtime(u,v,Q)表示在时间因素影响下,句子u排在句子v之前的偏好程度,D(u)表示句子u所属文档的发布时间,而N(u)则代表句子u在所属文档中位置的索引。也就是说,也就是说,我们首先判断的是文档发布时间的先后,如果句子u所属文档的发布时间在句子v所属文档的发布时间之前,则时间因素下的偏好程度值为1,;否则,偏好程度值为0。然后,如果两个句子属于同一篇文档,则按照句子在原文档中位置的前后顺序进行判断;若句子u在文档中的位置在句子v之前,则时间因素下的偏好程度值为1,否则,偏好程度值为0。
局部主题相关因素
按局部主题相关因素排序指的是如果一个句子与之前已完成排序的摘要序列中的句子相关性越大,则该句子的排序就越靠前。本发明认为这与人工排序的思路十分类似。在人工排序的时候,我们在判断两个句子谁应该放在前面时,往往需要根据已经排序好的摘要序列来判断。因此,本发明定义局部主题相关因素的公式如下所示:
其中,topic(s)指句子s的局部主题相关性值,q表示已完成排序的摘要序列中的一个句子;而sim(s,q)用句子s与句子q的余弦相似度表示。也就是说,句子s的局部主题相关性值是从已完成排序的摘要序列中取一个句子,使之与句子s所计算的余弦相似度值最大得来的。
至此,我们可以得到按照局部主题因素判断句子前后关系的公式,其定义如下所示:
其中,PREFtopic,v,Q)表示在局部主题因素影响下,句子u排在句子v之前的偏好程度;而Q指的是已完成排序的摘要序列;此外,topic(u)指句子u的局部主题相关性值。也就是说,如果已完成排序的摘要序列为空,或者两个句子的局部主题相关性值相等时,则无法判断两个句子排序的先后,此时局部主题因素下的偏好程度值为0.5。而当已完成排序的摘要序列不为空时,若句子u的局部主题相关性值大于句子v的局部主题相关性值,则偏好程度值为1;否则,偏好程度值为0。
原文优先因素
按原文优先因素排序指的是如果一个句子与另一个句子所属文档之前出现的句子的相关性越大,则该句子的排序就越靠前。该规则基于句子原文档的信息来进行句子顺序的判断。假设现在要判断句子u与句子v的先后关系,如果句子u所属的文档中,在句子u之前的内容里存在一个句子w与句子v十分的相似;那么我们认为句子v应该排在句子u之前。因此,本发明定义原文优先因素的公式如下所示:
其中,pre((s)指句子s的原文优先性值,q表示已完成排序的摘要序列中的一个句子;而Pq指的是在原文档中,出现在句子q前面的句子集合。sim(s,q)用句子s与句子q的余弦相似度表示。也就是说,一个句子s对于另一个句子q的原文优先性值,指的是找到句子q所在原始文档中排在句子q之前的一个句子,使之与句子s的余弦相似度值最大,并将这个值作为句子s对句子q的原文优先性值。因此,这里句子s的原文优先性值指的是针对句子s对摘要序列Q中所有句子的原文优先性值累加后取平均的值。
至此,我们可以得到按照原文优先因素判断句子前后关系的公式,其定义如下所示
其中,PREFpre(u,v,Q)表示在原文优先因素影响下,句子u排在句子v之前的偏好程度;而Q指的是已完成排序的摘要序列;此外,pre(u)指句子u的原文优先性值。也就是说,如果已完成排序的摘要序列为空,或者两个句子的原文优先性值相等时,则无法判断两个句子排序的先后,此时原文优先因素下的偏好程度值为0.5。而当已完成排序的摘要序列不为空时,若句子u的原文优先性值大于句子v的原文优先性值,则偏好程度值为1;否则,偏好程度值为0。
原文后继因素
按原文后继因素排序指的是如果一个句子与另一个句子所属文档之后出现的句子的相关性越大,则该句子的排序就越靠后。同样的,假设现在要判断句子u与句子v的先后关系,如果句子u所属的文档中,在句子u之后的内容里存在一个句子w与句子v十分的相似;那么我们认为句子v应该排在句子u之后。因此,本发明定义原文优先因素的公式如下所示:
其中,succ((s)指句子s的原文后继性值,q表示已完成排序的摘要序列中的一个句子;而Sq指的是在原文档中,出现在句子q后面的句子集合。sim(s,q)用句子s与句子q的余弦相似度表示。也就是说,一个句子s对于另一个句子q的原文后继性值,指的是找到句子q所在原始文档中排在句子q之后的一个句子,使之与句子s的余弦相似度值最大,并将这个值作为句子s对句子q的原文后继性值。因此,这里句子s的原文后继性值指的是针对句子s对摘要序列Q中所有句子的原文后继性值累加后取平均的值。
至此,我们可以得到按照原文后继因素判断句子前后关系的公式,其定义如下所示
其中,PREFsucc(u,v,Q)表示在原文后继因素影响下,句子u排在句子v之前的偏好程度;而Q指的是已完成排序的摘要序列;此外,succ(u)指句子u的原文后继性值。也就是说,如果已完成排序的摘要序列为空,或者两个句子的原文后继性值相等时,则无法判断两个句子排序的先后,此时原文后继因素下的偏好程度值为0.5。而当已完成排序的摘要序列不为空时,若句子u的原文后继性值小于句子v的原文后继性值,则偏好程度值为1;否则,偏好程度值为0。
至此,根据上文介绍的所有影响因素下偏好程度的计算方法,我们可以得到所有句子相对于另一个句子总的偏好程度值,即PREFtotal(u,v,Q)。此时,我们也就完成了句子节点之间边关系的建设。下面,本发明将介绍针对句子图模型得到最终摘要序列的排序方法。
(4)贪心排序算法
在上文所述的有向图模型中,直接实现最优排序是一个NP完全问题。因此,需要一个近似算法来解决这个问题。这里,本发明受Cohen等人的启发,使用一个贪心的方法来逼近最优排序。具体的实现过程如图6所示:
算法的输入是待排序的句子集合V,以及句子u排在句子v之前的总的偏好程度值PREFtotal(u,v,Q)。这里,我们可以理解为一个以句子为顶点,句子间边的权重值为PREFtotal(u,v,Q)的有向图模型。算法的输出是排序好的句子序列Q,如表第1行所示,其初始状态为空。这里,算法计算当前图结构下每个句子顶点u的得分的过程如表3-5行所示,得分的计算方式是句子顶点u所有出度边的权重值减去顶点u所有入度边的权重得到的。这样,就可以得到得分最高的句子顶点t,如表中第6行所示。接下来,更新原来的有向图结构,如表中7-8行所示,首先在待排序的句子顶点集合V中删除顶点t,并将其加入到已排序的句子序列Q中;这样,就可以得到新一轮的句子得分。最后,重复上述过程直至所有句子都被排序。从而就可以得到最终排序完成的摘要句子序列Q。
Claims (7)
1.一种无监督中文多文档抽取式摘要方法,其特征在于:输入新闻文档集合M,输出从中抽取的K条句子所组成的摘要序列;
具体地,方法由三个模块组成:句子向量获取模块,摘要句子选取模块以及摘要句子排序模块;
所述句子向量获取模块由文本预处理、长文本处理、Embbeding层、SPT任务、SRT任务以及多任务学习六个部分组成,首先将所述新闻文档集合输入,经过文本预处理、长文本处理后,在Embedding层对输入文档中每个句子处理得到句子向量的表征,并且将句子Embedding输出到SPT任务和SRT任务分别进行再训练,最后,通过所述多任务学习将两个子任务联系起来,从而训练学习得到一个适用于中文抽取式摘要的基于BERT的通用语言模型,得到更适用于抽取式摘要任务的句子向量表征;
所述摘要句子选取模块输入句子向量的表征,经过基于图的摘要选取得到句子的重要性集合A和基于聚类的摘要选取过程得到句子的重要性集合B,首先取两个集合的交集句子作为选取句子集合①,将其直接放入到最终摘要集合中,之后,对剩下的句子作为候选摘要集合进行进一步的摘要句子选取,通过一个基于局部贪心思想的MMR算法,通过多文档标题、关键词以及选取句子集合①统计信息来综合句子重要性和多样性,来得到选取句子集合②,并将其与选取句子集合①一起作为最终的摘要集合;
最后,将最终摘要集合输入所述摘要句子排序模块,使用所述SRT任务的输出,结合时间、局部主题、原文优先以及原文后继规则统计的因素,通过一个基于图的贪心算法实现了最终摘要集合的排序,从而输出最终的摘要序列;
所述文本预处理在利用贪心算法每次贪心的选取原文中的一个句子加入到抽取的输入文档的标题集合中,使得当前标题集合与生成式参考摘要间的Rouge得分最高,直到选取的标题个数满足要求或者新加入的句子无法提高Rouge得分为止;
所述长文本处理根据下游SPT子任务设计BERT长文本处理的两个步骤:步骤一,对每个句子里的Token数进行截断处理,设置句子最大长度和最小长度的阈值,如果句子长度大于最大长度阈值,则超过最大长度阈值的句子部门将被舍弃;而如果句子长度小于最小长度阈值,则该句子将被舍弃;步骤二,对原文档进行压缩法处理,首先选取在参考摘要Label集合中的句子;然后,为了对下游任务SPT提供服务,再针对原文档中剩下的句子进行随机抽取,直到选取的句子的累加长度达到BERT模型输入长度的最大限制为止;
所述Embbeding层将Token Embedding的输入格式转化为在每一个句子的前面都加上[CLS]标签,并且在每一个句子的后面都加上[SEP]标签,取所有[CLS]输出得到Embedding就可以得到每一个句子的Embedding结果,BERT预训练模型输入的Sentence Pair的Segment Embedding,使用0,1向量将第奇数个句子的Token全部标记为0,第偶数个句子的Token全部标记为1;
所述SPT任务判断每一个句子是否在参考摘要集合中,即si∈{0,1},采用一个Linear层以及Sigmoid函数来对每个句子的得分进行预测,其公式如下:
其中,表示第i条句子预测得分的结果;σ表示Sigmoid函数,将预测的得分映射到(0,1)之间;embi则代表第i条句子的Embedding;而W1和b1是前馈神经网络的参数;
最后,用交叉熵损失函数作为SPT任务的目标函数,其公式如下:
其中,Loss1指的是所有句子损失得分结果的平均值,N表示输入训练的句子总数,yi表示第i条句子真实的Label,如果该句子在参考摘要中为1,否则为0;而表示第i条句子神经网络预测得分的结果;
所述SRT任务具体为:对于参考摘要集合中有n条句子,其分类个数就是n!,采用一个Linear层以及SoftMax函数来对摘要句子序列的结果进行打分,其公式如下:
其中,表示第j种组合预测得分的结果,SoftMax函数将预测的得分映射到(0,1)之间;embi则代表第i条句子的Embedding;而W2和b2是前馈神经网络的参数;
采用交叉熵损失函数作为SRT任务的目标函数,其公式如下:
其中,Loss2指的是所有句子排列组合损失得分的结果,K表示句子排列的所有组合的可能,假设有n条句子,其值等于n!;而zk表示第k种句子排列组合真实的Label,如果该排列组合与句子在原文档中的前后关系相符,则为1,否则为0;表示第k种句子排列组合由神经网络预测得分的结果;
所述多任务学习通过累加的方式将其相结合,在参数更新的时候两个任务将一起更新,其公式如下:
Loss=Loss1+Loss2
其中,Loss指的是最终将两个子任务结合起来的损失函数,而Loss1代表SPT任务的损失函数,Loss2代表SRT任务的损失函数。
2.如权利要求1所述的一种无监督中文多文档抽取式摘要方法,其特征在于:所述基于图的摘要选取方法为:以第一个句子向量获取模块为基础,通过使用基于BERT的抽取式摘要通用语言模型,将文档中的句子Embedding化,然后使用余弦相似度进行句子间相似度的计算,从而解决了句子中单词的顺序以及多义词问题,其公式如下:
其中,表示第i篇文档中第a条句子与第j篇文档中第b条句子间的相似度;表示第i篇文档中第a条句子的Embedding,而/>表示第j篇文档中第b条句子的Embedding;
构建有向的句子图模型,其句子顶点得分计算公式如下:
0<λ3<λ2<λ1<1
其中,表示第i篇文档中第a条句子顶点的得分,而/>表示在同一篇文档i中,排在句子a之前的句子对其得分的贡献值,/>表示在同一篇文档i中,排在句子a之后的句子对其得分的贡献值,/>表示在不同文档j中的句子对句子a得分的贡献值;这里,λ1、λ2与λ3是三个调和参数,它们的大小依次递减;
之后,沿用PageRank算法来对进行计算,等到收敛后就可以计算出所有句子顶点的得分,得分越高则说明该句子越重要;为了防止选取的重要性集合中句子的冗余性过大,设置一个相似度阈值θ,来判断被选中的句子与重要性集合中句子的相似度是否大于这个阈值,并将句子按照得分从高到低排序,依次判断一个句子是否能够被加入到重要性集合中,直到加入重要性集合中的句子个数达到要求为止,从而组成了最终基于图的重要性集合,其公式如下:
A={a1,a2,a3}
其中,A代表句子的重要性集合,而ai表示被选中的文档中的句子。
3.如权利要求2所述的一种无监督中文多文档抽取式摘要方法,其特征在于:所述基于聚类的摘要选取方法为:首先使用AP聚类算法将所有文档中的句子划分为不同的簇;然后,选取每个簇中质心所代表的句子组成了句子的多样性集合,设置每个簇中的最少句子个数阈值k,如果一个簇中的句子个数小于这个阈值,则不会从该簇中选取质心句加入到多样性集合中;否则就将该簇中的质心句加入到多样性集合中;从而组成了最终基于聚类的多样性集合,其公式如下:
B={b1,b2,b3}
其中,B代表句子的重要性集合,而bi表示被选中的文档中的句子;
最终,将其结合起来得到经过粗筛选过后的候选摘要集合,其公式如下:
C={A,B}
其中,C表示候选摘要集合,而A代表句子的重要性集合,B代表句子的多样性集合。
4.如权利要求3所述的一种无监督中文多文档抽取式摘要方法,其特征在于:所述基于局部贪心思想的MMR算法具体为:综合考虑句子的重要性特征和句子的多样性特征,其公式如下:
其中,C表示候选摘要句子集合,即A∪ B;S表示已选取的摘要句子集合,其初始值为Set1;而C-S指的是两者的差集,即候选摘要集合中仍然没有被选取的句子集合;此外,Q表示的是多文档的主题词集合,它由两部分组成:一个是对多文档的标题进行分词,在去除停用词后的标题词集合;分词的方法用的是开源的中文分词工具jieba分词;另一个部分则是通过TF-IDF关键词提取算法选取出的多文档集合里的关键词集合,Sim(si,Q)指的是一个未被选中的候选句子si与多文档主题词集合Q的余弦相似度值;即Sim(si,Q)越大,表示句子si与多文档主题越相关,即句子si越重要,直接将句子si与多文档主题词集合Q的余弦相似度值作为句子si的重要性得分,Sim(si,sj)指的是一个未被选中的候选句子si与一个已选取的摘要句子sj的余弦相似度值;用来表示候选句子si的多样性特征值,即Sim(si,sj)越大,表示句子si与已选取摘要句子间的冗余性越大,表示句子si多样性越小,将已选取摘要句子集合中,与句子si的余弦相似度值最大句子si抽取出来,并将这个最大的余弦相似度值的负数作为句子si的多样性得分,最终,通过一个调和系数α来综合句子的重要性得分与句子的多样性得分,从而在综合了句子重要性特征和句子多样性特征的情况下,得到了每个句子最终的得分;
最后,Score(smax)指的是句子计算得到的最高得分;这里,smax表示得分最高的句子;重复上述计算过程直到已选取摘要集合中的句子达到要求为止,从而组成了最终选取的摘要句子集合。
5.如权利要求4所述的一种无监督中文多文档抽取式摘要方法,其特征在于:所述摘要句子排序模块将句子节点间的边用一个偏好函数来表示,其公式如下:
PREFe(u,v,Q)∈[0,1]
其中,u和v表示待排序的两个句子,Q代表已经完成排序的句子序列,而e则代表某个影响句子间顺序的因素;PREFe(u,v,Q)的值大于0.5时,表示句子u偏向排在句子v之前;当PREFe(u,v,Q)的值小于0.5时,则表示句子u偏向排在句子v之后;而当PREFe(u,v,Q)的值等于0.5时,则表示当前条件下,无法判断两个句子的前后关系;
之后,计算得到所有影响因素在当前已完成排序的句子序列下的偏好程度值后,得到当前句子u排在句子v之前总的偏好程度值,其公式如下:
其中,E表示影响因素的集合,we指的是某个影响因素e的权重,PREFtotal(u,v,Q)是通过对所有影响因素下的偏好程度值进行加权求和得到的。
6.如权利要求5所述的一种无监督中文多文档抽取式摘要方法,其特征在于:所述影响因素的决定方法分为基于深度学习的方法和基于规则统计的方法,
所述基于深度学习的方法由三部分组成:已完成排序的摘要序列Q,以及待排序的两个句子u和v,输入形式在每个部分前后都加上[CLS]以及[SEP],之后通过BERT模型后获得每个部分的句子向量表征;将这些句子向量表征代入到一个Linear层之后,得到所有排列组合的预测得分,取两种排列组合的预测得分作为模型的输出,分别是deep(u,v|Q)和deep(v,u|Q),其中,deep(u,v|Q)指的是模型预测按照{Q,u,v}顺序排列时的得分,而deep(v,u|Q)指的是模型预测按照{Q,v,u}顺序排列时的得分,得到基于深度学习方法判断句子前后关系的公式,其定义如下:
其中,PREFdeep(u,v,Q)表示在基于深度学习的方法下,句子u排在句子v之前的偏好程度,如果已完成排序的摘要序列为空,或者两个句子的模型预测得分值相等时,则无法判断两个句子排序的先后,此时基于深度学习方法下的偏好程度值为0.5,而当已完成排序的摘要序列不为空时,若句子u的模型预测得分值大于句子v的模型预测得分值,则偏好程度值为1;否则,偏好程度值为0;
所述基于规则统计的方法选取时间因素、局部主题因素、原文优先因素以及原文后继因素来进行句子间逻辑关系的判断;
所述时间因素对于两个句子来自于不同的文档,按照文档发布时间的早晚来决定句子的前后顺序;两个句子来自于同一篇文档,则直接按照句子在原文档中位置的前后顺序来进行排序,公式如下:
其中,PREFtime(u,v,Q)表示在时间因素影响下,句子u排在句子v之前的偏好程度,D(u)表示句子u所属文档的发布时间,而N(u)则代表句子u在所属文档中位置的索引,如果句子u所属文档的发布时间在句子v所属文档的发布时间之前,则时间因素下的偏好程度值为1;否则,偏好程度值为0,如果两个句子属于同一篇文档,则按照句子在原文档中位置的前后顺序进行判断;若句子u在文档中的位置在句子v之前,则时间因素下的偏好程度值为1,否则,偏好程度值为0;
所述局部主题相关因素指的是如果一个句子与之前已完成排序的摘要序列中的句子相关性越大,则该句子的排序就越靠前,公式如下:
其中,topic(s)指句子s的局部主题相关性值,q表示已完成排序的摘要序列中的一个句子;而sim(s,q)用句子s与句子q的余弦相似度表示,按照局部主题因素判断句子前后关系的公式:
其中,PREFtopic(u,v,Q)表示在局部主题因素影响下,句子u排在句子v之前的偏好程度;而Q指的是已完成排序的摘要序列;此外,topic(u)指句子u的局部主题相关性值,如果已完成排序的摘要序列为空,或者两个句子的局部主题相关性值相等时,则无法判断两个句子排序的先后,此时局部主题因素下的偏好程度值为0.5,而当已完成排序的摘要序列不为空时,若句子u的局部主题相关性值大于句子v的局部主题相关性值,则偏好程度值为1;否则,偏好程度值为0;
所述原文优先因素指的是如果一个句子与另一个句子所属文档之前出现的句子的相关性越大,则该句子的排序就越靠前,要判断句子u与句子v的先后关系,如果句子u所属的文档中,在句子u之前的内容里存在一个句子w与句子v十分的相似;那么句子v应该排在句子u之前,公式如下:
其中,pre((s)指句子s的原文优先性值,q表示已完成排序的摘要序列中的一个句子;而Pq指的是在原文档中,出现在句子q前面的句子集合,sim(s,q)用句子s与句子q的余弦相似度表示,按照原文优先因素判断句子前后关系的公式:
其中,PREFpre(u,v,Q)表示在原文优先因素影响下,句子u排在句子v之前的偏好程度;而Q指的是已完成排序的摘要序列;此外,pre(u)指句子u的原文优先性值,如果已完成排序的摘要序列为空,或者两个句子的原文优先性值相等时,则无法判断两个句子排序的先后,此时原文优先因素下的偏好程度值为0.5,而当已完成排序的摘要序列不为空时,若句子u的原文优先性值大于句子v的原文优先性值,则偏好程度值为1;否则,偏好程度值为0;
所述原文后继因素指的是如果一个句子与另一个句子所属文档之后出现的句子的相关性越大,则该句子的排序就越靠后,要判断句子u与句子v的先后关系,如果句子u所属的文档中,在句子u之后的内容里存在一个句子w与句子v十分的相似;句子v应该排在句子u之后,公式如下:
其中,succ((s)指句子s的原文后继性值,q表示已完成排序的摘要序列中的一个句子;而Sq指的是在原文档中,出现在句子q后面的句子集合,sim(s,q)用句子s与句子q的余弦相似度表示,按照原文后继因素判断句子前后关系的公式:
其中,PREFsucc(u,v,Q)表示在原文后继因素影响下,句子u排在句子v之前的偏好程度;而Q指的是已完成排序的摘要序列;此外,succ(u)指句子u的原文后继性值,如果已完成排序的摘要序列为空,或者两个句子的原文后继性值相等时,则无法判断两个句子排序的先后,此时原文后继因素下的偏好程度值为0.5,而当已完成排序的摘要序列不为空时,若句子u的原文后继性值小于句子v的原文后继性值,则偏好程度值为1;否则,偏好程度值为0。
7.如权利要求6所述的一种无监督中文多文档抽取式摘要方法,其特征在于:所述基于图的贪心算法具体为:算法的输入是待排序的句子集合V,以及句子u排在句子v之前的总的偏好程度值PREFtotal(u,v,Q),表示一个以句子为顶点,句子间边的权重值为PREFtotal(u,v,Q)的有向图模型,算法的输出是排序好的句子序列Q,其初始状态为空,算法计算当前图结构下每个句子顶点u的得分的过程为,通过句子顶点u所有出度边的权重值减去顶点u所有入度边的权重值计算得到,进而通过argmax函数得到得分最高的句子顶点t,更新原来的有向图结构,首先在待排序的句子顶点集合V中删除顶点t,并将其加入到已排序的句子序列Q中;这样,就可以得到新一轮的句子得分,最后,重复上述过程直至所有句子都被排序,从而就可以得到最终排序完成的摘要句子序列Q。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111411241.1A CN114064885B (zh) | 2021-11-25 | 2021-11-25 | 一种无监督中文多文档抽取式摘要方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111411241.1A CN114064885B (zh) | 2021-11-25 | 2021-11-25 | 一种无监督中文多文档抽取式摘要方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114064885A CN114064885A (zh) | 2022-02-18 |
CN114064885B true CN114064885B (zh) | 2024-05-31 |
Family
ID=80276153
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111411241.1A Active CN114064885B (zh) | 2021-11-25 | 2021-11-25 | 一种无监督中文多文档抽取式摘要方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114064885B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116501861B (zh) * | 2023-06-25 | 2023-09-22 | 知呱呱(天津)大数据技术有限公司 | 基于层级bert模型与标签迁移的长文本摘要生成方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105243152A (zh) * | 2015-10-26 | 2016-01-13 | 同济大学 | 一种基于图模型的自动文摘方法 |
CN110728144A (zh) * | 2019-10-06 | 2020-01-24 | 湖北工业大学 | 一种基于上下文语义感知的抽取式文档自动摘要方法 |
CN111737453A (zh) * | 2020-05-29 | 2020-10-02 | 南京硅基智能科技有限公司 | 一种基于无监督的多模型融合抽取式文本摘要方法 |
CN111858912A (zh) * | 2020-07-03 | 2020-10-30 | 黑龙江阳光惠远知识产权运营有限公司 | 一种基于单篇长文本的摘要生成方法 |
CN112784036A (zh) * | 2020-12-31 | 2021-05-11 | 山西三友和智慧信息技术股份有限公司 | 基于无监督集成学习的抽取式文本摘要方法 |
WO2021099870A1 (en) * | 2019-11-21 | 2021-05-27 | International Business Machines Corporation | Unsupervised attention based scientific document summarization |
KR20210125275A (ko) * | 2020-04-08 | 2021-10-18 | 에스케이 주식회사 | 딥러닝 기반 문서 요약 생성 방법 및 시스템 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9317498B2 (en) * | 2014-05-23 | 2016-04-19 | Codeq Llc | Systems and methods for generating summaries of documents |
-
2021
- 2021-11-25 CN CN202111411241.1A patent/CN114064885B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105243152A (zh) * | 2015-10-26 | 2016-01-13 | 同济大学 | 一种基于图模型的自动文摘方法 |
CN110728144A (zh) * | 2019-10-06 | 2020-01-24 | 湖北工业大学 | 一种基于上下文语义感知的抽取式文档自动摘要方法 |
WO2021099870A1 (en) * | 2019-11-21 | 2021-05-27 | International Business Machines Corporation | Unsupervised attention based scientific document summarization |
KR20210125275A (ko) * | 2020-04-08 | 2021-10-18 | 에스케이 주식회사 | 딥러닝 기반 문서 요약 생성 방법 및 시스템 |
CN111737453A (zh) * | 2020-05-29 | 2020-10-02 | 南京硅基智能科技有限公司 | 一种基于无监督的多模型融合抽取式文本摘要方法 |
CN111858912A (zh) * | 2020-07-03 | 2020-10-30 | 黑龙江阳光惠远知识产权运营有限公司 | 一种基于单篇长文本的摘要生成方法 |
CN112784036A (zh) * | 2020-12-31 | 2021-05-11 | 山西三友和智慧信息技术股份有限公司 | 基于无监督集成学习的抽取式文本摘要方法 |
Also Published As
Publication number | Publication date |
---|---|
CN114064885A (zh) | 2022-02-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Rao et al. | LSTM with sentence representations for document-level sentiment classification | |
Perez-Martin et al. | Improving video captioning with temporal composition of a visual-syntactic embedding | |
CN108763213A (zh) | 主题特征文本关键词提取方法 | |
CN111104510B (zh) | 一种基于词嵌入的文本分类训练样本扩充方法 | |
CN109325231A (zh) | 一种多任务模型生成词向量的方法 | |
CN108427740B (zh) | 一种基于深度度量学习的图像情感分类与检索算法 | |
CN113806547B (zh) | 一种基于图模型的深度学习多标签文本分类方法 | |
CN111581385A (zh) | 一种不平衡数据采样的中文文本类别识别***及方法 | |
CN111506728B (zh) | 基于hd-mscnn的层次结构文本自动分类方法 | |
CN110008365B (zh) | 一种图像处理方法、装置、设备及可读存储介质 | |
CN108920586A (zh) | 一种基于深度神经映射支持向量机的短文本分类方法 | |
CN109885675A (zh) | 基于改进lda的文本子话题发现方法 | |
CN110765285A (zh) | 基于视觉特征的多媒体信息内容管控方法及*** | |
Yan et al. | Law article prediction based on deep learning | |
CN114064885B (zh) | 一种无监督中文多文档抽取式摘要方法 | |
Tan et al. | An efficient multi-view multimodal data processing framework for social media popularity prediction | |
CN109344911B (zh) | 一种基于多层lstm模型的并行处理分类方法 | |
CN112231476B (zh) | 一种改进的图神经网络科技文献大数据分类方法 | |
Shirzad et al. | Deep Learning approach for text, image, and GIF multimodal sentiment analysis | |
CN113486143A (zh) | 一种基于多层级文本表示及模型融合的用户画像生成方法 | |
CN115600602B (zh) | 一种长文本的关键要素抽取方法、***及终端设备 | |
CN115688737A (zh) | 一种基于特征提取与融合的论文冷启动消歧方法 | |
CN113434668B (zh) | 一种基于模型融合的深度学习文本分类方法及*** | |
Selvi et al. | Topic categorization of Tamil news articles | |
Kim | Research on Text Classification Based on Deep Neural Network |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |