本发明公开了一种文本摘要生成方法及系统,涉及自然语言处理领域,具体涉及文本摘要自动生成领域,特别是互联网文本的内容摘要领域。
背景技术:
目前基于自然语言的文本自动摘要的生成方式主要分为抽取式和生成式两大类。其中、抽取式文本摘要自动生成方法的核心思想是假设一篇文档的中心思想可以用文档中的某几句话来概括,从而将摘要任务变成了句子重要性排序的问题;其最具代表性的算法有tf-idf算法和textrank算法。tf-idf算法以词频和逆文档频率来衡量词的重要性,进而认为包含关键词数量较多的句子其重要性也越高。而textrank算法则基于图模型将句子作为图中的节点,将句子之间的关系作为图中的边,通常使用字面相似度来度量句子间的关系,利用投票机制对句子的重要性进行排序。textrank算法因其无需像神经网络那样事先学习训练具体的模型,并且简洁有效得到广泛应用。生成式摘要产生方法则直接根据文本的意义表达生成摘要句子,类似人写摘要的过程。其代表性算法为基于深度学习技术的seq2seq+attetion模型。该模型训练需要大量的标注文本作为训练样本,对系统算力要求较高,生成的摘要也存在语法错误、可读性差等问题。因此、该类技术仍不够成熟,应用范围有限。
目前应用最多、最主流的文本摘要生成方法仍是生成式摘要。其最具代表性的tf-idf算法和textrank算法,分别是基于词频统计和字面相似度来度量句子的重要性;两者均缺乏语义层面的度量,导致在摘要长度有限的限制下,生成的摘要缺乏语义的多样性,并且抽取出来的孤立句子组成的摘要也缺乏语义完整性和连贯性,可读性较差。
技术实现要素:
为了解决现有的抽取式文本摘要生成方法的以上不足之处,本发明提供一种文本摘要生成方法,该方法包括以下步骤:
a.对提取摘要的原文本进行预处理;
b.基于标准textrank算法提取出原文本中的关键句以及对应的关键度;
c.采用分词工具对所提取的关键句进行分词后、过滤掉预设的停用词,基于word2vec模型对过滤后的分词进行词嵌入处理,根据词嵌入处理结果计算两两关键句中分词之间语义相关性,进而得到所述两两关键句之间的语义相似度;
d.根据所述两两关键句之间的语义相似度,过滤掉语意高度相似且关键度较低的关键句;
e.根据过滤后的关键句提取完整的语意单元作为新的关键句排序后生成文本摘要。
进一步地、步骤a中对原文本预处理包括去掉空格符、换行符等非文本内容,对剩余的文本内容进行文本编码。步骤d中对关键句过滤具体为:预设相似度阈值,对于语义相似度超过该相似度阈值的两关键句,去掉其中关键度较低的关键句,仅保留关键度较高的另一个关键句。
进一步地,为了解决现有的抽取式摘要生成方法产生的摘要缺乏语义完整性和连贯性,可读性较差的问题,需要对过滤后的关键句生成摘要做进一步的优化。为此、本发明提供了文本摘要生成方法的步骤e,具体实现为:根据中文结束符标识将原文本划分为多个语义单元,提取出包含过滤后关键句的语义单元,并去重后作为新的关键句;根据新的关键句在原文中出现的顺序对新的关键句排序组成最终摘要。
与上述方法对应,本发明还提供一种文本摘要生成系统,该系统包括:
文本预处理模块,用于对提取摘要的原文本进行预处理;
关键句抽取模块,采用标准textrank算法提取出原文本中的关键句以及对应的关键度;
关键句语义相似度计算模块,其采用分词工具对所提取的关键句进行分词后、过滤掉预设的停用词,然后基于word2vec模型对过滤后的分词进行词嵌入处理,根据词嵌入处理结果计算两两关键句中分词之间的语义相关性,进而得到所述两两关键句之间的语义相似度;
关键句过滤模块,用于根据所述两两关键句之间的语义相似度及对应的关键度,过滤掉语义高度相似且关键度较低的关键句;
文本摘要完成模块,用于将过滤后的关键句所在语意单元作为新的关键句,并按照新关键句在文本中出现的先后顺序顺次链接生成最终文本摘要。
进一步地、文本预先处理模块对原文本预处理包括去掉空格符、换行符等非文本内容,对剩余的文本内容进行文本编码。文本编码采用的编码方法可以包括:utf-8、gb2312、gbk、ascii等中、英文编码。关键句过滤模块过滤流程具体为:预设相似度阈值,对于语义相似度达到该相似度阈值的关键句对、去掉其中关键度较低的关键句,仅保留关键度较高的另一个关键句。此外,本发明提供了文本摘要完成模块,具体实现为:根据中文结束符标识将原文本划分为多个语义单元,所述中文结束标识符至少包括:“。”、“?”、“!”、“?”。提取出包含过滤后关键句的语义单元并去重后作为新的关键句,并按照新关键句在文本中出现的先后顺序顺次链接生成最终文本摘要。
附图说明
图1为一种本发明提供文本摘要生成方法的流程图。
具体实施方式
为了使本发明所解决的技术问题、技术方案以及有益效果更加清楚明白,以下结合附图对本发明进行进一步详细说明。应该理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
如说明书附图1所示,本发明提供一种文本摘要生成方法,该方法包括以下步骤:
a.对文本进行预处理:包括去掉原文本中的空格符、换行符等非文本内容后,对剩余的文本内容进行utf-8编码;
b.基于标准textrank算法提取出原文本中的关键句以及对应的关键度;
c.计算关键句之间的相似度:采用jieba分词工具对所提取的关键句进行分词后,过滤掉预设的停用词,基于word2vec模型对过滤后的分词进行词嵌入处理,根据词嵌入处理结果计算两两关键句中分词之间的语义相关性,进而得到所述两两关键句之间的语义相似度;
d.对关键句进行过滤:根据所述两两关键句之间的语义相似度及对应的关键度,过滤掉语意相近两关键句中关键度较低的关键句;
e.提取过滤后关键句所在完整的语意单元作为新的关键句排序后生成文本摘要。
其中、步骤b中涉及的textrank算法是抽取式文本摘要自动生成方法的代表性算法,是被广泛采用的成熟关键句提取算法。textrank算法是一种用于文本的基于图的排序算法。其基本思想来源于谷歌的pagerank算法,通过把文本分割成若干组成单元(单词、句子)并建立图模型,利用投票机制对文本中的重要成分进行排序,仅利用单篇文档本身的信息即可实现关键词提取及抽取式文摘。textrank算法的一般模型可以表示为一个有向有权图g=(v,e),由点集合v和边集合e组成,e是v×v的子集。图中任两点vi,vj之间边的权重为wji,对于一个给定的点vi,in(vi)为指向该点的点集合,out(vi)为点vi指向的其他点的集合。点vi的得分定义如下:
其中,d为阻尼系数,取值范围为0到1,代表从图中某一特定点指向其他任意点的概率,一般取值为0.85。使用textrank算法计算图中各点的得分时,需要给图中的点指定任意的初值,并递归计算直到收敛,即图中任意一点的误差率小于给定的极限值时就可以达到收敛,一般该极限值取0.0001。
基于textrank算法提取关键句以及关键度时,其主要步骤如下:
1.预处理:将输入的文本或文本集t按照句子s进行分割,即t=[s1,s2,s3…sm];对每个句子si进行分词、去除停止词,得到:
2.对句子进行相似度计算:构建图g中的边集e,基于句子间的内容覆盖率,给定两个句子相似度,采用如下公式进行计算:
其中si、sj分别表示两个句子,wk表示句子中的词,那么分子部分的意思是同时出现在两个句子中的同一个词的个数,分母是对句子中词的个数求对数之和。分母这样设计可以遏制较长的句子在相似度计算上的优势。若两个句子之间的相似度大于给定的阈值,就认为这两个句子语义相关并将它们连接起来,即边的权值wji=similarity(si,sj);
3,计算句子权重:根据公式1,迭代传播权重计算各句子的得分;
4,抽取文摘句:按照上一个步骤得到的句子得分(即关键度)进行倒序排序,抽取关键度最高的t个句子作为关键句。
步骤c中的word2vec模型是google在2013年推出的一个nlp工具,它的特点是将所有的分词向量化(即词嵌入),定量描述词与词之间的关系,并且两个分词之间的语义相关性可以通过两个词向量的矩阵运算结果来度量。这样句子与句子之间的相似度可以通过句子之间每个词的语义相关度进行加权运算定量描述。关于word2vec模型具体实现原理这里不再赘述。
进一步地,步骤d中对关键句过滤具体为:预设相似度阈值、根据步骤c所计算得到的关键句之间的相关度,去掉语义相似度超过该相似度阈值的两关键句中关键度较低的关键句,仅保留关键度较高的另一个关键句。此外,步骤e具体实现为:根据中文结束符标识将原文本划分为多个语义单元,提取出包含过滤后的关键句的语义单元并去重后作为新的关键句;根据新的关键句在原文中出现的顺序对新的关键句排序组成最终摘要。这样产生的摘要在一定程度上兼顾了摘要的语义完整性和连贯性,改善了摘要的可读性。
与上述方法对应,本发明还提供一种文本摘要生成系统,该系统包括:文本预处理模块、关键句抽取模块、关键句语义相似度计算模块、关键句过滤模块以及文本摘要完成模块;其中文本预处理模块,用于对提取摘要的原文本进行预处理;关键句抽取模块,采用标准textrank算法提取出原文本中的关键句以及对应的关键度;关键句语义相似度计算模块,其采用分词工具对所提取的关键句进行分词后、过滤掉预设的停用词,然后基于word2vec模型对过滤后的分词进行词嵌入处理,根据词嵌入处理结果计算两两关键句中分词之间的语义相关性,进而得到所述两两关键句之间的语义相似度;关键句过滤模块,用于根据所述两两关键句之间的语义相似度及对应的关键度过滤关键句;文本摘要完成模块,用于提取过滤后关键句所在完整的语意单元作为新的关键句,排序后生成文本摘要。
进一步地、文本预先处理模块对原文本预处理包括去掉空格符、换行符等非文本内容,对剩余的文本内容进行文本编码。关键句过滤模块对关键句过滤具体为:预设相似度阈值,对于语义相似度达到该相似度阈值的两关键句、去掉其中关键度较低的关键句,仅保留关键度较高的另一个关键句。此外、本发明提供的文本摘要生成系统的文本摘要完成模块,具体实现为:根据中文结束符标识将原文本划分为多个语义单元,提取出包含过滤后的关键句的语义单元并去重后作为新的关键句;根据新的关键句在原文中出现的顺序对新的关键句排序组成最终摘要。
与现有技术相比,本发明提供的文本摘要生成方法及系统具有如下优点:
1、仅对提取出的关键句计算语义相似性,计算量小;
2、基于语义相似性度量的关键句过滤,在同等摘要长度下保证了生成摘要的语义多样性;
3、将每个关键句均扩展到原文本中完整的语义单元,提高了所产生摘要的整体可读性,并且按关键句在原文中出现的先后顺序对关键句重新排序,提高了摘要的语义连贯性。