CN110413768A - 一种文章题目自动生成方法 - Google Patents
一种文章题目自动生成方法 Download PDFInfo
- Publication number
- CN110413768A CN110413768A CN201910719567.7A CN201910719567A CN110413768A CN 110413768 A CN110413768 A CN 110413768A CN 201910719567 A CN201910719567 A CN 201910719567A CN 110413768 A CN110413768 A CN 110413768A
- Authority
- CN
- China
- Prior art keywords
- article
- gram
- data
- model
- topic
- 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.)
- Granted
Links
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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Machine Translation (AREA)
Abstract
本发明属于自然语言处理技术领域,公开了一种文章题目自动生成方法,解决现有混合式题目生成方法存在着生成的题目可读性较差以及题目不够连贯的问题。本发明包括(1)输入文章;(2)对文章进行预处理;(3)对文章进行数据增强处理;(4)基于抽取式模型生成候选摘要;(5)根据步骤(4)中得到的候选摘要分别基于生成式模型生成候选题目;(5)基于3‑gram语言模型对生成的候选题目进行可读性评估获得连贯性最强的候选题目则为文章生成的题目。
Description
技术领域
本发明属于自然语言处理技术领域,具体涉及一种文章题目自动生成方法。
背景技术
目前题目生成研究内容可以分为三大块:其一是基于抽取式方案的题目生成,即从文章中抽取最重要的一个句子作为文章的题目;其二是基于生成式方案的题目生成,即模型直接读入全文,用序列到序列架构的模型直接生成文章题目;其三是混合式方案的题目生成,先用抽取式方案从文章中抽取摘要,再使用生成式方案从摘要中生成文章题目。
一、基于抽取式方案的题目生成
对抽取式摘要技术的研究经历了从传统技术到基于深度强化学习技术两个主要阶段:
(一)传统技术阶段
传统的抽取式摘要方法分为无监督学习方法和有监督学习方法。
传统的抽取式无监督学习方法主要有基于特征排序的方法,基于聚类的方法,基于图模型的方法等。基于特征的方法将文章中的段落特定句(如首末句等)与词频统计特征进行提取,并基于这些特征给句子打分,将句子得分进行逆序排序(Luhn等人提出可以将文章中的词频进行统计,因为频繁出现的词会与文章主题有所联系,所以他们根据词频给文章中的句子进行打分,将分数最高的几个句子作为文章的摘要,在大多数情景上用此方法取得了不错的效果)。2001年Tadashi Nomoto等人提出基于聚类的方法,即从每个主题中选取具有最小冗余率及最大覆盖率的句子,将这些句子组合起来构成摘要。基于图模型的方法中最出名的是1998年谷歌提出的PageRank方法,即把文章分解为几个段落或句子等块,每个块对应图的顶点,块间的关系作为边,最后通过给图排序的方法算出各顶点的得分,并将得分高的句子抽取出来,生成文章的摘要。除基于特征排序的方法,基于聚类的方法,基于图模型排序的方法之外,还有Carbonell,J等人提出的基于贪心的抽取方法、McDonald,R.等人提出的基于约束优化的抽取方法等。
传统的抽取式有监督学习方法中主要包含基于朴素贝叶斯的方法、基于决策树的方法、基于对数线性模型(最大熵模型)的方法等。1995年,Julian Kupiec等人提出使用贝叶斯公式计算文章中的每个句子应该被抽取为摘要的概率,具体做法为先从文章中抽取一些特征,假设这些特征相互独立,再用贝叶斯公式计算给出特征的情况下一个特定的句子被抽取为摘要的概率,最后选取得分最高的几个句子组合成为摘要。1997年Chin-Yew Lin提出用于抽取摘要的各个特征之间是互相关联的假设,并使用决策树模型对句子进行打分排序,将得分高的组合为摘要。2002年Miles Osborne提出基于对数线性模型(最大熵模型)进行抽取式摘要,他发现了各个文本特征之间的关联,因此用最大熵模型来最大程度的保留这种关联信息,将句子打分并排序,组合为摘要。他最后证明自己的模型与朴素贝叶斯相比获得了更好的性能。
(二)深度强化学习阶段
用神经网络做抽取式摘要的例子中,典型的有Jianpeng Cheng等人用带注意力的encoder-decoder架构来生成CNN/Daily Mail数据集上的单文档摘要,ROUGE-L达到12.0,取得了2016年的state-of-the-art。2017年Ramesh Nallapati等人提出SummaRuNNer,这是一个深层双向GRU网络,在CNN/Daily Mail上ROUGE-L得分为35.3,取得了2017年的state-of-the-art。其后的Wu等人提出RNES,用强化学习结合深度学习来做抽取,致力于提高生成摘要中上下句的连贯性,在CNN/Daily Mail数据集上ROUGE-L分数为37.75,达到2018年的state-of-the-art,这也是截至2018年末,抽取式摘要模型于CNN/Daily Mail这个公开数据集的匿名版本(Anonymized version)上取得的最好结果。
2019年的最新进展,是爱丁堡大学的Yang Liu提出的BERTSUM,用Bert预训练模型结合Transformer做抽取式摘要,在CNN/Daily Mail数据集上ROUGE-L达到39.63,ROUGE-1,ROUGE-2,ROUGE-L三个主流评估指标上全面超越过去算法,有潜力成为未来的主流架构。
抽取式题目生成方法分为句子级抽取与片段级抽取。
句子级抽取即从文章中抽取少量的句子,这样的优点是会得到连贯的句子,有更小的概率存在可读性上的问题。不过就本文研究的任务而言,此种方法存在明显的缺点:新闻题目是从新闻文章中的最关键信息高度概括,组织语言而成的短句,具有高度抽象性与高度概括性的特点,如果只抽取一个句子,这种办法会丢掉大量的有效信息。而且在实验过程中,我发现抽取式方法会倾向于抽取冗长的句子,这样题目会特别冗长。如果是抽取多个句子,那么句子之间的连贯性又会得不到保证。
片段式抽取方法从文章中抽取一些重要的片段、关键词等,再将它们连起来生成题目。优点是能同时兼顾文中多个不同之处的重要性息,而且不会倾向于总是抽取冗长的片段。缺点是通过片段组合生成题目的方法可能会导致句子的连贯性问题,而且没有合适的语句片段到题目的训练数据。
二、基于生成式方案的题目生成
随着大数据,云计算的时代到来,深度学习开始展现其强大的学习能力,读完整篇文章后从词表中生成句子的生成式方案变得可行,且性能在逐年提高。
从2014年开始M运用循环自编码器在意见数据集Opinosis dataset上生成摘要取得当时最优性能之后,不断有研究者尝试基于深度学习技术做的生成式方案。
2016年,Ramesh Nallapati使用带注意力的encoder-decoder架构(编译码器)在Gigaword公开数据集上,取得32.88的ROUGE-L得分,达到2016年的state-of-the-art。接下来2017年斯坦福大学的Abigail See提出了一个影响深远的模型:Pointer-Generator(指针生成网络),此模型在CNN/Daily Mail的非匿名版本上取得了36.38的ROUGE-L得分,达到了2017年的state-of-the-art。不仅如此,Pointer-Generator的多个改进版本,如加上强化学习算法或多任务学习的改进版,在2018年刷新了CNN/Daily Mail及Gigaword数据集上的state-of-the-art。然后2018年Asil Celikyilmaz等人提出DCA,在公开数据集CNN/Daily Mail的非匿名版本(Non-anonymized version)上取得37.92的ROUGE-L分数,这个模型依然是采用encoder-decoder架构,不同的是他们的encoder(编码器)使用3个代理(agent),每个代理都是一个3层双向BiLSTM网络,将文章分为3段来读,decoder把encoder的输出通过两层注意力机制生成最终的摘要。
还有研究者提出对于生成式摘要,不光要在ROUGE得分上有所提升,还要在可读性上有提升。中科大的Linqing Liu提出使用GAN(生成对抗网络)来进行摘要的生成,经人工评估方法,验证了此方案提升了生成摘要的可读性。他们使用Pointer-Generator作为生成模型,使用二分类卷积神经网络作为判别模型,生成模型的主要任务是生成摘要,判别模型的主要任务为判别摘要是人类生成的还是机器生成的,研究者让这二个模型不断对抗以获得生成模型性能的提升。此模型在CNN/Daily Mail数据集上取得39.92的ROUGE-1分数,17.65的ROUGE-2分数,在2018年一段时间内就ROUGE-1,ROUGE-2这两个指标而言达到了CNN/Daily Mail数据集上的state-ot-the-art。
三、混合式方案的题目生成
基于抽取式和生成式方案的优缺点,2017年Jiwei Tan等人提出一种“从粗到细”的题目生成方法,即首先利用自动文摘技术识别文档中的关键句组成摘要,再用生成式方法从摘要中生成题目。因为作者认为抽取式方法无法做到把重要信息全部浓缩到最后的题目中,所以使用生成式方法是必要的。作者将自己的模型拿到New York Times数据集上进行实验,ROUGE-1得分为29.6,ROUGE-2得分为8.17,ROUGE-L得分为26.05,效果好于单纯用摘要方法生成的题目,并用双尾t检验证明结论显著性在99.9%以上。
目前混合式方案在摘要到题目的步骤中使用的是经典的基于LSTM的Seq2Seq+Attention架构,但是Seq2Seq+Attention的缺点是:倾向于重复生成一些片段,导致可读性变差。
发明内容
本发明为了解决现有混合式题目生成方法存在着生成的题目可读性较差以及题目不够连贯的问题,而提供一种文章题目自动生成方法。
为解决技术问题,本发明所采用的技术方案是:
一种文章题目自动生成方法,其特征在于,包括如下步骤:
(1)输入文章;
(2)对文章进行预处理;
(3)对文章进行数据增强处理;
(4)基于抽取式模型生成摘要,利用SummaRuNNer模型、CNN_RNN模型和基于注意力机制的RNN模型(为了描述方便,将基于注意力机制的RNN模型称为AttnRNN模型)分别生成候选句作为候选摘要;
(5)根据步骤(4)中得到的候选摘要分别基于生成式模型生成候选题目;
(6)基于3-gram语言模型对生成的候选题目进行可读性评估获得连贯性最强的候选题目则为生成的题目。
进一步的,所述对获取的数据进行预处理包括粗粒度数据清洗和细粒度数据清洗;所述粗粒度的数据清洗为清除文章中的非法片段(包括非法字符、网页代码、空行、空引号、空括号等);所述细粒度的数据清洗为清洗文章中和文本内容没有关联的信息(比如文章正文首部和题目尾部出现的媒体名、杂志名)。
进一步的,所述粗粒度数据清洗包括如下步骤:
(1.1)、对文章中的大小写进行格式统一;
(1.2)、按照换行符切分文章中的每个句子,去除掉每个句子中的空白字符;
(1.3)、去除掉文中的无害标签,同时如果句子中含有网页标签,则去除词条文本;
(1.4)、根据人工建立的替换字典替换掉非ASCII字符;
(1.5)、去除掉文章中的空白字符、引号、空格、空行。
进一步的,所述细粒度数据清洗为基于n-gram的自动清洗策略进行细粒度,所述基于n-gram的自动清洗策略进行细粒度包括如下步骤:
(2.1)、将文章正文前5个单词与题目后5个单词两个片段提取出来;
(2.2)、将每个片段先组合为2-gram,再把所有的2-gram进行频数统计,然后再进行逆序排序;
(2.3)、把频数大于2的2-gram组合为3-gram,然后又进行频数统计以及逆序排列;然后再将频数2的3-gram组合为4-gram,依次类推直到做完5-gram或者无法组成新的gram为止;
(2.4)、人工先从5-gram的频数统计数据中发现垃圾短语,再从2-gram、3-gram、4-gram中删掉对应的子gram频数;继续从4-gram中发现垃圾短语,再从2-gram、3-gram中删除掉对应的子gram频数,依次类推直到处理完毕2-gram为止。
进一步的,步骤(3)中所述对文章进行数据增强处理为基于语句相似度计算的贪心策略从而从文章中生成摘要。
进一步的,所述步骤(5)中的根据步骤(4)中得到的候选摘要分别基于生成式模型生成候选题目包括将步骤(4)中获取的候选摘要输入到Pointer-Generator模型中生成候选题目。
进一步的,所述采用Teacher Forcing训练机制训练得到。
进一步的,所述SummaRuNNer模型、CNN_RNN模型、AttnRNN模型和Pointer-Generator模型的训练方法包括如下步骤:
(3.1)获取包含至少一篇文章的数据集;
(3.2)对数据集中的数据进行预处理;
(3.3)基于贪心策略的数据增强从而获得增强数据;
(3.4)将步骤(3.3)获得的增强数据输入模型训练。
进一步的,所述基于贪心策略的数据增强从而获得增强数据为基于语句相似度计算(SimRouge)的贪心策略从文章中生成摘要。
进一步的,所述SimRouge计算如下:
(4.1)计算SimRouge-n:先计算句子的n-gram,对每个n-gram用它的n-gram中的词嵌入之和在维度上的均值得到一个新的词嵌入new-gram,用来代指这个n-gram的语义;用这个new-gram与题目句的各个new-gram’做向量余弦,保留最大的向量余弦max_score,以此量化这个new-gram与题目中最接近的new-gram’有多接近;最后把所有max_score求平均;
(4.2)计算SimRouge-L:即计算句子与题目的SimRouge-n,取SimRouge-n最大时n的值。
与现有技术相比,本发明具有以下有益效果:
本发明的文章题目生成方法,相比于现有的混合式方案题目生成方法,不仅题目生成质量有一定的提高,同时能够提高题目的连贯性和可读性。
附图说明
图1为本发明一实施例的流程框图;
图2为本发明的SummaRuNNer模型一实施例的结构图;
图3为本发明的Pointer-Generator模型一实施例的结构图;
图4为英文题目生成过程中模型损失下降曲线;
图5为中文题目生成过程中模型损失下降曲线,其中保持Pointer-Generator模型参数未调节;
图6为中文题目生成过程中模型损失下降曲线,其中调节了Pointer-Generator模型参数。
具体实施方式
下面结合实施例对本发明作进一步的描述,所描述的实施例仅仅是本发明一部分实施例,并不是全部的实施例。基于本发明中的实施例,本领域的普通技术人员在没有做出创造性劳动前提下所获得的其他所用实施例,都属于本发明的保护范围。
结合附图,本发明提供的一种文章题目自动生成方法,包括如下步骤:
(1)输入文章;
(2)对文章进行预处理;
(3)对文章进行数据增强处理;
(4)基于抽取式模型生成摘要,利用SummaRuNNer模型、CNN_RNN模型和基于注意力机制的RNN模型(AttnRNN模型)分别生成候选句作为候选摘要;
(5)根据步骤(4)中得到的候选摘要分别基于生成式模型生成候选题目;
(6)基于3-gram语言模型对生成的候选题目进行可读性评估获得连贯性最强的候选题目则为生成的题目。由于中文气象数据集有着数据量小的特点,模型生成的题目可读性不好,所以本文采用生成多个候选句,再用3-gram语言模型筛选连贯性最强的候选句的方式来提高生成题目的可读性。同时本采用本发明的混合式方案的题目生成,针对英文题目提取的长文具有关键信息的句子(候选摘要),从而这些句子(候选摘要)中进行题目生成,这样缩短了生成式题目的长度,进而降低了模型生成的难度。
同时,传统的摘要抽取式算法如Lead、Luhn、LSA(潜在语义分析)、LexRank、TextRank、SumBasic、KL-sum依赖于马克尔夫假设,会成为整个题目生成流程的瓶颈,而本申请允许语言模型不依赖于马尔可夫假设,并将完整的句子历史作为下一词的条件,提高了生成题目准确性和可读性。
如图2所示,SummaRuNNer模型是一个2层的双向GRU网络,输出为01向量,0代表对应的句子不被抽取为摘要,1代表对应的句子将被抽取为摘要。中间的网络层处于词级(word-level)信息,即xt是句子中第t个词的embedding向量。每个句子的所有词级隐藏状态会在句子级(sentence-level)那一层进行拼接,得到新的句子层的GRU单元的隐藏状态。同时可以看到可以从句子层的隐藏状态得到文档的表示。
如下面公式所述:
d为表示文档的向量,Nd代表句子数,hj f代表第j句反馈层的隐藏状态向量,中括号代表向量间的连接(concatenate)操作,相当于用一个关于句子层的隐藏状态变量的非线性变换来表示整篇文档。
SummaRuNNer的决策过程具有非常好的可解释性,因此这个模型可以用来扩展。就算模型结构变化,只要最后一层句子层把决策过程按照这个公式进行二分类的决策,也会得到一个具有抽取式摘要能力的网络。
SummaRuNNer的决策过程如下所示:
关于sj的解释:
sj代表句子的动态表示,是之前的句子的隐藏状态加权和;Wchj代表第j句话的信息,hj TWsd代表第j句话在整篇文章中的显著度,hj TWrtanh(sj)代表第j句话的冗余度取了个负号,就变成了这句话的新颖度。代表第j句话在文章中的绝对位置(即第几句话),代表第j句话在文档中的相对位置,即如果把文章分为固定数量的段,第j句话所在的段的编号。代表第j句话的绝对位置的重要程度,代表第j句话的相对位置的重要程度。
通过这些信息,SummaRuNNer可以一次性决定哪些句子应该被抽取为摘要。
因为其决策过程非常合理,具有比较好的可解释性,而且抽取式摘要可以抽取出一个句子连贯的摘要,此模型复杂性又不是特别大,所以在文档词数量控制在合理的范围内,词向量的维度控制在100维,是可以在能承受的时间完成算法流程的第一步:将长文档中的句子抽取几个组成摘要的。
同时,SummaRuNNer模型的决策过程可以进行保留,更改其网络结构,可以得到多个具有生成抽取摘要的模型。
进一步的,所述对获取的数据进行预处理包括粗粒度数据清洗和细粒度数据清洗;所述粗粒度的数据清洗为清除文章中的非法片段(包括非法字符、网页代码、空行、空引号、空括号等);所述细粒度的数据清洗为清洗文章中和文本内容没有关联的信息(比如文章正文首部和题目尾部出现的媒体名、杂志名)。
进一步的,所述粗粒度数据清洗包括如下步骤:
(1.1)、对文章中的大小写进行格式统一;
(1.2)、按照换行符切分文章中的每个句子,去除掉每个句子中的空白字符;
(1.3)、去除掉文中的无害标签,同时如果句子中含有网页标签,则去除词条文本;
(1.4)、根据人工建立的替换字典替换掉非ASCII字符;
(1.5)、去除掉文章中的空白字符、引号、空格、空行等。
进一步的,所述细粒度数据清洗为基于n-gram的自动清洗策略进行细粒度,所述基于n-gram的自动清洗策略进行细粒度包括如下步骤:
(2.1)、将文章正文前5个单词与题目后5个单词两个片段提取出来;
(2.2)、将每个片段先组合为2-gram,再把所有的2-gram进行频数统计,然后再进行逆序排序;
(2.3)、把频数大于2的2-gram组合为3-gram,然后又进行频数统计以及逆序排列;然后再将频数2的3-gram组合为4-gram,依次类推直到做完5-gram或者无法组成新的gram为止;
(2.4)、人工先从5-gram的频数统计数据中发现垃圾短语,再从2-gram、3-gram、4-gram中删掉对应的子gram频数;继续从4-gram中发现垃圾短语,再从2-gram、3-gram中删除掉对应的子gram频数,依次类推直到处理完毕2-gram为止。
进一步的,所述步骤(4)中的根据步骤(3)中得到的候选摘要分别基于生成式模型生成候选题目包括将步骤(4)中获取的候选摘要输入到Pointer-Generator模型(指针生成网络模型)中生成题目。
现有技术用生成式模型生成题目的过程中,encoder-decoder是常见的模型结构,但是面临四个主要问题:一是无法很好的解决长依赖的问题,即如果文章过长,生成题目的能力会大受影响,二是Seq2Seq难以准确复述原文中的细节,三是它无法处理原文中的未登录词(Out Of Vocabulary,OOV),四是在生成的语句上通常存在一些重复的片段。
对于第一个问题,得益于本申请的混合式生成策略,从比文章短的摘要中生成题目,Seq2Seq不会面临输入数据过长的问题;对于第二个问题,Pointer-Generater在基本的Seq2Seq架构上增加了注意力机制,对重点内容的关注增强,有助于Seq2Seq复述原文。对于第三个问题,Pointer-Genater使用了Teacher Forcing训练生成机制:Teacher forcing是通过使用第t时刻的来自于训练集的期望输出y(t)作为下一时刻的输入x(t+1),而不是直接使用网络的实际输出。那么这里是不是需要先对数据进行处理,已获得期望输出y(t)。具体如下:
at=softmax(et),at为注意力分布;
在时刻t,其中hi为encoder(编码器)序列的隐藏状态,为上下文向量,decoder(解码器)状态向量st,decoder输入xt,共同计算生成概率Pgen,其中bptr为偏置参数。σ是sigmoid函数(使计算结果落在[0,1]之间)。
这个pgen的计算相当关键,它被作为一个两种决策之间的软链接,可以让模型决策是通过Pvocab从词表中生成词,还是从输入序列的注意力分布at中进行采样得到一个词。
同时,对于每一篇文档,Pointer-Generator会用扩展后的词表(extendedvocabulary)来表示整个词表和这篇文档中的词语的并集,这样就能处理未登录词了。在扩展词表上建立的概率分布:
Pvocab为词表分布;Pointer-Generator生成机制如图3所示;这里用pgen一个变量来操控记忆、遗忘两种机制。
能处理未登录词,这是Pointer-Generator的一个重要优势。经过自己的后期实验,证实了此模型可以生成文章中出现的一些专有人名、地名、机构名等词汇,这样的好处是不需要做命名实体识别就能够获得生成专有名词的能力,生成质量更高的题目。
那么面对Seq2Seq的第四个主要问题,即倾向于生成重复片段,Pointer-Generator提出了一种基于注意力的覆盖率机制(coverage mechanism)。作者首先提出了一个覆盖率向量(coverage vector):ct,它是之前的所有解码器上的注意力分布之和:
ct是一种(非标准化覆盖原文本词汇分布);这个公式可得出ct是原文档中词汇的非标准化(unnormalized)分布,表示到目前为止这些单词从注意力机制积累的覆盖程度。把覆盖率向量作为解码时注意力机制的额外输入,则确保了注意力机制做当前决策时会考量其先前的决定。这种方案可以让注意力机制避免重复关注一块地方,因此能避免生成具有重复片段的摘要的问题。
作者为了惩罚生成重复片段的行为还定义了一个覆盖率损失(coverage loss):
这个损失是有边界的:
最终的复合损失如下:
其中为t时刻的生成的目标词,λ是一个超参数,权衡两种代价的损失。
进一步的,所述SummaRuNNer模型、CNN_RNN模型、AttnRNN模型和Pointer-Generator模型的训练方法包括如下步骤:
(3.1)获取包含至少一篇文章的数据集;其中对于英文数据集,主要通过论文链接与比赛数据集链接的渠道进行获取;对于中文数据集,主要以在中国气象局网上爬取页面的方式进行获取;
(3.2)对数据集中的数据进行预处理;
(3.3)基于贪心策略的数据增强从而获得增强数据;
(3.4)将步骤(3.3)获得的增强数据输入模型训练。
其中对数据集进行预处理包括粗粒度数据清洗和细粒度数据清洗。粗粒度数据清洗主要针对英文(因为中文数据集一般比较规范)清除数据集中长度不符合规范的文章以及处理文章中的的非法片段(包括非法字符、网页代码、空行、空引号、空括号等);细粒度的清洗主要清洗文章中和文本内容没有关联的信息,如文章正文首部和题目尾部出现的媒体名、杂志名等。其中对于数据集的预处理与对文章的预处理比较类似。
在一些实施例中,因为英文数据集原有100多万条,且其中数据不规范现象较为明显,相比之下,中文气象数据集只有2000多条,而且数据相比较英文的来说要规范的多(都是中国气象局的新闻或政府报告),所以基于规则的粗粒度的数据清洗主要应用于英文数据集。粗粒度数据清洗粗粒度的数据清洗清除数据集中长度不符合规范的文章以及处理文章中的的非法片段(包括非法字符、网页代码、空行、空引号、空括号等),以下是详细步骤:
第一步hash去重会去除掉重复数据(英文数据集原有100多万条,去除掉40多万条重复数据)。
第二步很必要,因为在预训练的词嵌入文件中,词语是不区分大小写的,所以需要把文本中的大小写格式进行统一。
第三步,对每个句子进行清洗的原因是如果只对一个文本进行清洗,文本中间可能会现许多连续空白字符,导致一些片段无法组成完整的句子。对每个句子进行清洗就可以避免出现上述问题。
第四步,去除无害标签。文本里可能含各式HTML代码,有些HTML标签可以直接去除,如<a>,<s>,<p>等,但一些大段的js或css代码会对训练数据引入特别大的噪声。鉴于网页标签、代码形式的多样性,用规则逐一清洗会特别麻烦,本申请采取了一种略微激进的方式,先去掉无害标签,然后若文本中同时出现’<’与’>’,就去除此条文本。
第五步,针对非ASCII字符,本申请采取基于替换字典的手段进行处理。据观察发现,如果文本中有非ASCII字符,很大一部分原因是全角字符,标点符号,而这些是可以用其对应的半角字符替换的。因此首先对非ASCII字符进行词频统计,按照词频逆序排序,再人工认定哪些字符应该被替换,哪些字符出现即意味着非法,这样建立了一个非ASCII字符的替换词典。经实验验证,通过替换字典对非ASCII字符进行替换的方式,让非ASCII字符出现的频率有了很大降低。做完前一步清洗后,若剩下的文本中出现ASCII字符,则清洗难度过大,经权衡不值得投入太多精力所以放弃这一小部分文本。
第六步,经过前五个步骤的清洗,一大部分文本中出现了一些连续的空白字符,因此这一步的工作是去掉无用的引号,星号间的空格等,还对空行做了处理。
第七步,根据对文章中的词数进行统计,画出概率分布图,截去20%过长或过短的数据,留下约80%的数据,留下的数据集词语长度都在100-800之间。至此,粗粒度数据清洗步骤完成。即第七步为去除掉数据集中不符合规范的文章。
在一些实施例中,经过粗粒度数据清洗,原本去重后的60多万条数据剩余12万多条。
不过经历一次模型训练后,生成的题目中有很多类似于“-LA Times”的片段,最后发现数据清洗出现了问题。原因是英文数据集最初来源为各个新闻网站,每条数据中,文章首部与题目尾部通常会存在一些媒体、杂志名,对文本内容没有帮助,而且会误导模型生成这些垃圾短语。这些垃圾短语清洗异常困难,原因在于:
(1)没有固定格式,比如这里展现的例子是‘-xxx’,然而还有很多是’xxx(AP)’或’xxx(FAP)xxx’等的格式,种类繁多。
(2)有很多垃圾短语需要常识,有些短语就连人都难以判断是不是杂志名,必须要通过搜索引擎搜索才能获知。
(3)不是每条训练数据都会出现垃圾短语,即出现的频数也是未知的。
通过分析,我找到这种垃圾短语的规律:
(1)长度极少超过5个词。
(2)一般在正文开头或题目结尾出现,但正文出现,题目不一定出现;题目出现,正文不一定出现。
通过观察这些规律,我找到了一种基于n-gram的自动清洗策略(gram代表词组,n-gram就是n个词组成的词组):
既然是杂志或媒体名,一般都不会只在数据集中出现一次。因此我将每条训练数据的正文前5个单词与题目后5个单词(若题目少于5个单词,取题目全部)这2个片段提取出来。
所述细粒度数据清洗为基于n-gram的自动清洗策略进行细粒度,所述基于n-gram的自动清洗策略进行细粒度包括如下步骤:
步骤一:先组合为2-gram,再把所有的2-gram进行频数统计,再进行逆序排序,把频数大于2的进行组合为3-gram,然后又进行逆序排序......直到做完5-gram或者无法组成新的gram为止。
步骤二:这时人工先从5-gram的频数统计数据中发现垃圾短语(一般都在最前面几十个),再从2-gram,3-gram,4-gram中删掉对应的子gram频数。继续从4-gram中发现垃圾短语,循环上述步骤直到处理完毕2-gram为止。
通过这种方式,找到了很多垃圾短语,通过抽样调查,剩余的媒体杂志类垃圾短语数量小于原来的5%。
进一步的,所述基于贪心策略的数据增强从而获得增强数据为基于语句相似度计算(SimRouge)的贪心策略从文章中生成摘要。其中本申请的步骤(3)中所述对文章进行数据增强处理与此处的数据增强原理和方法相同,即基于语句相似度计算的贪心策略从文章中生成摘要,在此一并进行解释说明。
进一步的,所述SimRouge计算如下:
(4.1)计算SimRouge-n:先计算句子的n-gram,对每个n-gram用它的n-gram中的词嵌入之和在维度上的均值得到一个新的词嵌入new-gram,用来代指这个n-gram的语义;这种语义计算方法参考Word2Vec,本领域的技术人员都能明白和理解,在此不再赘述。用这个new-gram与题目句的各个new-gram’做向量余弦,保留最大的向量余弦max_score,以此量化这个new-gram与题目中最接近的new-gram’有多接近;最后把所有max_score求平均;
(4.2)计算SimRouge-L:即计算句子与题目的SimRouge-n,取SimRouge-n最大时n的值。
现有技术中采用基于ROUGE的贪心策略的数据增强有个缺点,即如果遇到题目和摘要没有或者很少出现重复词的情况,这种策略会无法生成文章到摘要的数据,实验中,发现如果应用上述策略去清洗,2000多条中文气象数据集仅剩500多条。针对上述情况,本申请提出了一种新的对题目生成质量的度量标准:基于语句相似度计算的SimRouge。贪心策略不变,但是贪心的对象从摘要集合与题目的ROUGE得分变为摘要集合与题目的SimRouge得分。经过此种计算方法,在中文气象数据集上成功生成了2000多条摘要,基本没有做到缺失多少数据。
同时由于中文数据集题目抽象性过高,一部分数据中文章与题目没有相同的词,无法用之前的基于ROUGE的贪心策略生成,于是本申请采用一种基于语句相似度计算的ROUGE度量,称为SimRouge,然后使用基于SimRouge的贪心策略成功生成文章到摘要数据。经过对生成后的数据抽样,再进行人工评估的方式,得出生成的摘要与对应题目相关性比较明显的结论。
以下是对本申请的方法进行实验数据结果:
下面是三种模型架构(即SummaRuNNe、CNN_RNN、AttnRNN)生成的摘要质量评估表,其中SummaRuNNer模型使用经典模型RNN_RNN模型。
英文摘要评估:
(1)RNN_RNN生成摘要质量评估:
表1 RNN_RNN生成英文摘要质量
(2)CNN_RNN生成摘要质量评估:
表2 CNN_RNN生成英文摘要质量
(3)AttnRNN生成摘要质量评估:
表3AttnRNN生成英文摘要质量
如果只根据ROUGE的平均值来对比三个模型:
表4三种模型生成的英文摘要质量评估
CNN_RNN模型全面占优,原因可能是CNN对英文文章提取的特征特别好。
中文摘要模型评估:
RNN_RNN生成中文摘要质量评估:
表5 RNN_RNN生成中文摘要质量
CNN_RNN生成中文摘要质量:
表6 CNN_RNN生成中文摘要质量
AttnRNN生成中文摘要质量:
表7 AttnRNN生成中文摘要质量
根据平均值来对比三个模型的生成中文摘要的质量:
表8三种模型生成的中文摘要质量评估
可以观察到两个现象:
一是在特定领域的数据集上进行训练,哪怕训练集数量很少,一样能取得更好的ROUGE得分。
二是在中文数据集上SummaRuNNer经典架构即RNN_RNN生成质量占优。
摘要抽取式模型收敛性评估:
表9 RNN_RNN交叉验证损失
如表9所示,为了对比模型训练的收敛性,本文在中文气象小数据集上,对RNN_RNN模型进行了十折交叉验证。
CNN_RNN在十折交叉验证中的损失:
表10 CNN_RNN交叉验证损失
AttnRNN在十折交叉验证中的损失:
表11 AttnRNN交叉验证损失
从上表能看到AttnRNN在数据集上的训练中,过拟合情况已经相当明显。因为测试集平均损失与训练集的平均损失之间的间隔为0.778293,大于CNN_RNN与RNN_RNN的测试集平均损失与训练集平均损失之差。
三种模型的交叉验证结果平均值对比:
表12三种模型的交叉验证平均损失
综上,可得出结论如下:
AttnRNN训练阶段效果好,但容易过拟合;CNN_RNN泛化能力最强。是因为AttnRNN模型复杂,CNN_RNN模型简单,因为CNN没有循环结构。
题目生成式模型收敛性评估:
(1)英文题目生成模型训练阶段的下降曲线如图4所示:
在前1000轮的迭代过程中,蓝色曲线与绿色曲线都有着明显的下降,而代表着题目生成质量的红色曲线也上升得特别快。在接近第2000次迭代时,绿色曲线开始震荡,代表模型在验证集上的性能开始不稳定,此时模型处于过拟合阶段。但是代表题目生成质量的ROUGE度量红色曲线还是在稳步上升,说明模型的生成能力仍然在提升。因此,我认定ROUGE是比验证集损失更重要的指标。
图4中还可以看到,ROUGE的上升曲线和训练时的下降曲线有很强的关联,只要训练损失在下降,ROUGE曲线就在上升。纵观整个迭代过程,ROUGE分数从12上升到21,有了显著的提高。
(2)中文题目生成模型训练阶段的下降曲线:保持Pointer-Generator参数未调节的模型下降曲线如图5所示:调节参数之后的下降曲线如图6所示:可以看到,调节参数之后ROUGE上升了约3个百分点。
生成题目质量分析:
模型在英文测试集上的题目生成结果评估:
表13英文测试集上的题目生成结果
模型在中文测试集上的题目生成结果评估:
表14中文测试集上的题目生成结果
可以看到,模型在不同数据集上的性能相差不大,ROUGE-L都在26点以上,相比于现有技术的混合式方案的题目生成ROUGE-L得分更高(详见背景技术ROUGE-L得分为26.05)。因此,通过实验可以看出,本申请的方法相比现有技术题目生成质量更高。
Claims (9)
1.一种文章题目自动生成方法,一种文章题目自动生成方法,其特征在于,包括如下步骤:
(1)输入文章;
(2)对文章进行预处理;
(3)对文章进行数据增强处理;
(4)基于抽取式模型生成摘要,利用SummaRuNNer模型、CNN_RNN模型和基于注意力机制的RNN模型分别生成候选句作为候选摘要;
(5)根据步骤(4)中得到的候选摘要分别基于生成式模型生成候选题目;
(6)基于3-gram语言模型对生成的候选题目进行可读性评估获得连贯性最强的候选题目则为文章生成的题目。
2.根据权利要求1所述的文章题目生成方法,其特征在于,所述对获取的文章进行预处理包括粗粒度数据清洗和细粒度数据清洗;所述粗粒度数据清洗为清除文章中的非法片段;所述细粒度数据清洗为清洗文章中和文本内容没有关联的信息。
3.根据权利要求2所述的文章题目生成方法,其特征在于,所述粗粒度数据清洗包括如下步骤:
(1.1)对文章中的大小写进行格式统一;
(1.2)按照换行符切分文章中的每个句子,去除掉每个句子中的空白字符;
(1.3)去除掉文中的无害标签,同时如果句子中含有网页标签,则去除词条文本;
(1.4)根据人工建立的替换字典替换掉非ASCII字符;
(1.5)去除掉文章中的空白字符、引号、空格、空行。
4.根据权利要求2所述的文章题目生成方法,其特征在于,所述细粒度数据清洗为基于n-gram的自动清洗策略进行细粒度数据清洗,所述基于n-gram的自动清洗策略进行细粒度数据清洗包括如下步骤:
(2.1)将文章正文前5个单词与题目后5个单词两个片段提取出来;
(2.2)将每个片段先组合为2-gram,再把所有的2-gram进行频数统计,然后再进行逆序排序;
(2.3)把频数大于2的2-gram组合为3-gram,然后又进行频数统计以及逆序排列;然后再将频数2的3-gram组合为4-gram,依次类推直到做完5-gram或者无法组成新的gram为止;
(2.4)人工先从5-gram的频数统计数据中发现垃圾短语,再从2-gram、3-gram、4-gram中删掉对应的子gram频数;继续从4-gram中发现垃圾短语,再从2-gram、3-gram中删除掉对应的子gram频数,依次类推直到处理完毕2-gram为止。
5.根据权利要求1所述的文章题目生成方法,其特征在于,所述步骤(3)中所述对文章进行数据增强处理为基于语句相似度计算的贪心策略从而从文章中生成摘要。
6.根据权利要求1所述的文章题目生成方法,其特征在于,所述步骤(5)中的根据步骤(4)中得到的候选摘要分别基于生成式模型生成候选题目包括将步骤(4)中获取的候选摘要输入到Pointer-Generator模型中生成候选题目。
7.根据权利要求6所述的文章题目生成方法,其特征在于,所述Pointer-Generator模型采用Teacher Forcing训练机制训练得到。
8.根据权利要求7的文章题目生成方法,其特征在于,所述SummaRuNNer模型、CNN_RNN模型、基于注意力机制的RNN模型和Pointer-Generator模型的训练方法包括如下步骤:
(3.1)获取包含至少一篇文章的数据集;
(3.2)对数据集中的数据进行预处理;
(3.3)基于贪心策略的数据增强从而获得增强数据;
(3.4)将步骤(3.3)获得的增强数据输入模型训练。
9.根据权利要求8所述的文章题目生成方法,其特征在于,所述基于贪心策略的数据增强从而获得增强数据为基于语句相似度计算的贪心策略从文章中生成摘要。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910719567.7A CN110413768B (zh) | 2019-08-06 | 2019-08-06 | 一种文章题目自动生成方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910719567.7A CN110413768B (zh) | 2019-08-06 | 2019-08-06 | 一种文章题目自动生成方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110413768A true CN110413768A (zh) | 2019-11-05 |
CN110413768B CN110413768B (zh) | 2022-05-03 |
Family
ID=68365911
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910719567.7A Active CN110413768B (zh) | 2019-08-06 | 2019-08-06 | 一种文章题目自动生成方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110413768B (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110874313A (zh) * | 2019-11-18 | 2020-03-10 | 北京百度网讯科技有限公司 | 写作工具测试方法及装置 |
CN111178041A (zh) * | 2019-12-31 | 2020-05-19 | 北京妙笔智能科技有限公司 | 一种智能的文本复述系统和方法 |
CN111222331A (zh) * | 2019-12-31 | 2020-06-02 | 北京捷通华声科技股份有限公司 | 辅助解码方法、装置、电子设备及可读存储介质 |
CN111753523A (zh) * | 2020-06-29 | 2020-10-09 | 西交利物浦大学 | 基于注意力分布已知的抽象式神经网络生成摘要的方法 |
CN112464664A (zh) * | 2020-12-11 | 2021-03-09 | 杭州师范大学 | 一种多模型融合中文词汇复述抽取方法 |
CN112560458A (zh) * | 2020-12-09 | 2021-03-26 | 杭州艾耕科技有限公司 | 基于端到端深度学习模型的文章标题生成方法 |
CN113407711A (zh) * | 2021-06-17 | 2021-09-17 | 成都崇瑚信息技术有限公司 | 一种利用预训练模型的吉布斯受限文本摘要生成方法 |
CN113688230A (zh) * | 2021-07-21 | 2021-11-23 | 武汉众智数字技术有限公司 | 一种文本摘要生成的方法及系统 |
CN113779977A (zh) * | 2020-09-03 | 2021-12-10 | 北京沃东天骏信息技术有限公司 | 对象的关键词提取方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7756807B1 (en) * | 2004-06-18 | 2010-07-13 | Glennbrook Networks | System and method for facts extraction and domain knowledge repository creation from unstructured and semi-structured documents |
CN104142918A (zh) * | 2014-07-31 | 2014-11-12 | 天津大学 | 基于tf-idf特征的短文本聚类以及热点主题提取方法 |
US20170060826A1 (en) * | 2015-08-26 | 2017-03-02 | Subrata Das | Automatic Sentence And Clause Level Topic Extraction And Text Summarization |
CN107784099A (zh) * | 2017-10-24 | 2018-03-09 | 济南浪潮高新科技投资发展有限公司 | 一种自动生成中文新闻摘要的方法 |
CN107967257A (zh) * | 2017-11-20 | 2018-04-27 | 哈尔滨工业大学 | 一种级联式作文生成方法 |
-
2019
- 2019-08-06 CN CN201910719567.7A patent/CN110413768B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7756807B1 (en) * | 2004-06-18 | 2010-07-13 | Glennbrook Networks | System and method for facts extraction and domain knowledge repository creation from unstructured and semi-structured documents |
CN104142918A (zh) * | 2014-07-31 | 2014-11-12 | 天津大学 | 基于tf-idf特征的短文本聚类以及热点主题提取方法 |
US20170060826A1 (en) * | 2015-08-26 | 2017-03-02 | Subrata Das | Automatic Sentence And Clause Level Topic Extraction And Text Summarization |
CN107784099A (zh) * | 2017-10-24 | 2018-03-09 | 济南浪潮高新科技投资发展有限公司 | 一种自动生成中文新闻摘要的方法 |
CN107967257A (zh) * | 2017-11-20 | 2018-04-27 | 哈尔滨工业大学 | 一种级联式作文生成方法 |
Non-Patent Citations (3)
Title |
---|
JAYSON365: "https://blog.csdn.net/qq_25222361/article/details/78667850",《论文笔记1:SummaRuNNer:A RNN based Sequence Model for Extractive Summarization of Documents", 《CSDN》 * |
优达学城: "自然语言处理时通常的文本清理流程是什么", 《知乎》 * |
马平全: "基于N-Gram算法的数据清洗技术", 《沈阳工业大学学报》 * |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110874313A (zh) * | 2019-11-18 | 2020-03-10 | 北京百度网讯科技有限公司 | 写作工具测试方法及装置 |
CN111222331B (zh) * | 2019-12-31 | 2021-03-26 | 北京捷通华声科技股份有限公司 | 辅助解码方法、装置、电子设备及可读存储介质 |
CN111178041A (zh) * | 2019-12-31 | 2020-05-19 | 北京妙笔智能科技有限公司 | 一种智能的文本复述系统和方法 |
CN111222331A (zh) * | 2019-12-31 | 2020-06-02 | 北京捷通华声科技股份有限公司 | 辅助解码方法、装置、电子设备及可读存储介质 |
CN111178041B (zh) * | 2019-12-31 | 2023-04-07 | 北京妙笔智能科技有限公司 | 一种智能的文本复述系统和方法 |
CN111753523A (zh) * | 2020-06-29 | 2020-10-09 | 西交利物浦大学 | 基于注意力分布已知的抽象式神经网络生成摘要的方法 |
CN111753523B (zh) * | 2020-06-29 | 2023-11-03 | 西交利物浦大学 | 基于注意力分布已知的抽象式神经网络生成摘要的方法 |
CN113779977A (zh) * | 2020-09-03 | 2021-12-10 | 北京沃东天骏信息技术有限公司 | 对象的关键词提取方法及装置 |
CN112560458A (zh) * | 2020-12-09 | 2021-03-26 | 杭州艾耕科技有限公司 | 基于端到端深度学习模型的文章标题生成方法 |
CN112464664A (zh) * | 2020-12-11 | 2021-03-09 | 杭州师范大学 | 一种多模型融合中文词汇复述抽取方法 |
CN112464664B (zh) * | 2020-12-11 | 2024-04-30 | 杭州师范大学 | 一种多模型融合中文词汇复述抽取方法 |
CN113407711A (zh) * | 2021-06-17 | 2021-09-17 | 成都崇瑚信息技术有限公司 | 一种利用预训练模型的吉布斯受限文本摘要生成方法 |
CN113688230A (zh) * | 2021-07-21 | 2021-11-23 | 武汉众智数字技术有限公司 | 一种文本摘要生成的方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN110413768B (zh) | 2022-05-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110413768A (zh) | 一种文章题目自动生成方法 | |
CN110413986B (zh) | 一种改进词向量模型的文本聚类多文档自动摘要方法及系统 | |
Zheng et al. | Characterization inference based on joint-optimization of multi-layer semantics and deep fusion matching network | |
CN110298037B (zh) | 基于增强注意力机制的卷积神经网络匹配的文本识别方法 | |
CN108363743B (zh) | 一种智能问题生成方法、装置和计算机可读存储介质 | |
CN113642330A (zh) | 基于目录主题分类的轨道交通规范实体识别方法 | |
CN109271506A (zh) | 一种基于深度学习的电力通信领域知识图谱问答系统的构建方法 | |
CN113806563B (zh) | 面向多源异构建筑人文史料的建筑师知识图谱构建方法 | |
CN112926345B (zh) | 基于数据增强训练的多特征融合神经机器翻译检错方法 | |
CN110807324A (zh) | 一种基于IDCNN-crf与知识图谱的影视实体识别方法 | |
CN113168499A (zh) | 检索专利文档的方法 | |
CN113196277A (zh) | 用于检索自然语言文档的系统 | |
CN113191148A (zh) | 一种基于半监督学习和聚类的轨道交通实体识别方法 | |
CN111967267B (zh) | 一种基于XLNet的新闻文本地域提取的方法及系统 | |
CN117236338B (zh) | 一种稠密实体文本的命名实体识别模型及其训练方法 | |
CN114969304A (zh) | 基于要素图注意力的案件舆情多文档生成式摘要方法 | |
CN114818717A (zh) | 融合词汇和句法信息的中文命名实体识别方法及系统 | |
CN115659947A (zh) | 基于机器阅读理解及文本摘要的多项选择答题方法及系统 | |
CN117574858A (zh) | 一种基于大语言模型的类案检索报告自动生成方法 | |
CN112765353B (zh) | 一种基于科研文本的生物医学学科分类方法及装置 | |
CN116522165B (zh) | 一种基于孪生结构的舆情文本匹配系统及方法 | |
CN115600602A (zh) | 一种长文本的关键要素抽取方法、系统及终端设备 | |
CN115292456A (zh) | 一种基于知识驱动的非合作式人格预测方法及系统 | |
Cherrat et al. | Sentiment Analysis from Texts Written in Standard Arabic and Moroccan Dialect based on Deep Learning Approaches. | |
CN111859910B (zh) | 一种用于语义角色识别的融合位置信息的词特征表示方法 |
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 |