文章自动生成摘要
文章自动生成摘要
用word写 文章 时,手工编写摘要有时太麻烦,这时可以使用自动编写摘要功能,自动摘要能自动概括文档要点,生成文档摘要,那么下面就由我为您提供自动添加摘要的技巧,希望能帮助您。
添加摘要步骤一: 点击word文档左上角的office按钮,在下拉菜单中选择右下角的"word选项"
添加摘要步骤二: 在弹出的"word选项"对话框中,点击左边的"自定义"
添加摘要步骤三 :在"从下列位置选择命令"中选择"所有命令",然后在下面的命令栏中找到"自动摘要工具"
添加摘要步骤四: 点击"添加",将命令添加到右面的工具栏中,然后点击"确定"将其加入快速访问工具栏
添加摘要步骤五: 点击快速访问工具栏中的"自动摘要工具"下拉菜单中的"自动摘要"
添加摘要步骤六: 弹出"自动编写摘要"对话框,可在其中更改"相当于原长的百分比",并选择摘要类型,将摘要设置在文档顶部、突出显示要点、新建文档生成摘要等摘要格式
添加摘要步骤七: 此处选择25%,在文档顶端插入摘要或摘录文字,生成摘要如下
wps里的word如何自动生成一篇文章?
1.打开一个空白word文档。
2.输入英文模式的【=rand()】。
3.按Enter确定,系统随机生成了一段文字。
4.继续在文章末尾,输入【=rand()】。
5.确定后继续生成一段文字。
6.重复多次,最后,一篇随机文章就完成了。
方法二
在word选项中开启自动摘要工具,然后点击“自动摘要”选项设置后即可自动生成摘要,具体操作请参照以下步骤。
1、首先打开word文档后点击左上角的office按钮,在其界面中选择右下角的“word选项”点击。
2、然后在弹出的“word选项”对话框中,点击左边的“自定义”。
3、然后在“从下列位置选择命令”中选择“所有命令”选项,在下面的命令栏中找到“自动摘要工具”。
4、然后点击“添加”按钮将命令添加到右面的工具栏中,点击“确定”将其加入快速访问工具栏。
5、接着点击快速访问工具栏中的“自动摘要工具”下拉菜单中的“自动摘要”选项。
6、弹出“自动编写摘要”对话框,可在其中更改“相当于原长的百分比”,并选择摘要类型,将摘要设置在文档顶部、突出显示要点、新建文档生成摘要等摘要格式。
7、然后在文档顶端插入摘要或摘录文字,即可生成摘要。完成以上设置后,即可在Word文档中自动生成摘要。
入门| 文本摘要自动生成技术的前世今生
当我们点开某个网站或新闻APP时,经常能看到这样的标题:“14亿人都不知道的真相,历史的血泪……”、“删前速看!XXX视频流出”等,但是点进页面时往往会发现,都是标题党!而时间和流量却在悄悄溜走。
如果这时候有方法能够先阅读新闻,再提炼出关键内容,那么将大大节约时间并精准地找到我们需要的内容。而这就是图鸭君此次会介绍的技术—— “文本摘要自动生成”技术!
文本摘要充斥着我们生活的方方面面,从新闻关键词的提炼到Google、百度等搜索引擎的结果优化,真正实现搜索中的所见即所得,“Smarter & Faster”。
主流的文本摘要方式
目前主流的文本摘要自动生成有两种方式,一种是抽取式(extractive),另一种是生成式(abstractive)。
抽取式顾名思义,就是按照一定权重,从原文中寻找跟中心思想最接近的一条或几条句子。而生成式是计算机通读原文,在理解整篇文章意思的基础上,重新生成概要。
抽取式摘要目前已经相对成熟,但抽取质量及内容流畅度均差强人意。伴随着深度学习的研究,生成式摘要对质量和流畅度都有很大的提升,但目前也涉及到原文本长度过长、抽取内容不佳等问题的限制。
文本摘要的发展概况
抽取式摘要是一种比较成熟的方案,其中Text rank排序算法以其简洁、高效的特点被工业界广泛运用。大体思想就是先去除文章中的一些停用词,之后对句子的相似度进行度量,计算每一句相对另一句的相似度得分,迭代传播,直到误差小于0.0001,再对上述方法得到的关键语句进行排序,即可获得摘要。抽取式摘要主要考虑单词词频,并没有过多的语义信息,像“猪八戒”、“孙悟空”这样的词汇都会被独立对待,无法建立文本段落中完整的语义信息。
生成式文本摘要主要依靠深度神经网络结构实现,2014年由Goolge Brain团队提出的Sequence-to-Sequence序列,开启了NLP中端到端网络的火热研究。Sequence-to-Sequence又称为编、解码器(Encoder、Decoder)架构。其中Encoder、Decoder均由数层RNN/LSTM构成,Encoder负责把原文编码为一个向量C;Decode负责从向量C中提取提取信息,获取语义,生成文本摘要。
但是由于“长距离依赖”问题的存在,RNN到最后一个时间步输入单词时,已经丢失了相当一部分信息。此时编码生成的语义向量C同样也丢失了大量信息,就可能导致生成摘要准确性不足。
Bahdanau等人在14年发表的论文《Neural Machine Translation by Jointly Learning to Align and Translate》中,第一次将Attention机制应用于NLP中。Attention机制是一种注意力(资源)分配机制,在某个特定时刻,总是特地关注跟它相关的内容,其他内容则进行选择性忽视。就像下图,在翻译“Knowledge”时,只会关注“知识”,这样的对齐能让文本翻译或者摘要生成更具针对性。
RNN/LSTM单元下每个词是按照顺序输入网络的,会记录文章的序列信息,所以大多数NLP任务,都是采用的RNN架构。但是这种架构限制了网络训练及摘要生成的速度,因为RNN必须一个个输入、一个个生成,无法进行并行计算。2016年Facebook AI Research(FAIR)发表了《A Convolutional Encoder Model for Neural Machine Translation》,对Encoder部分采用似乎不擅长处理序列信息的卷积网络(CNN)来实现,结果在翻译、摘要任务中,也达到了当年的最高水准;
2017年5月,还是FAIR,发布了《Convolutional Sequence to Sequence Learning》,第一次实现Encoder、Decoder均采用CNN单元,使网络在训练阶段能够并行计算,效率进一步提升。同时引入了Multi-step Attention,相比于之前只在最后一层生成翻译时往回看,多跳注意(Multi-step Attentio)的优化点在于Decoder阶段生成每一层的语义向量时都会往回看,进而提升了准确度。同时还有一些其他的trick:像引入单词的位置信息、残差网络、计算Attention时对高层语义信息和低层细节信息兼收并取等。最后在生成翻译和摘要时,速度相比之前最快的网络,提升了近9倍!同时在WMT-14英德、英法两项的单模型训练结果中,BLEU得分达到了25.16、40.46,英法翻译任务也是迄今为止得分最高的模型。
时隔一个月,17年6月,Google团队发布了名为《Attention Is All You Need》的文章,即不用CNN和RNN单元,只用Self-Attention和Encoder-Decoder Attention,就完全实现了端到端的翻译任务,也是在WMT-14英德、英法翻译任务中,BLEU值达到了28.4和41.0的高分,因为同样可以并行计算,模型的训练及生成速度也有所提升。Self-Attention相比于之前的模型更加关注句子的内部结构,也就是word-pairs的信息,附图是是论文中Attention可视化的结果,可以发现仅在源文端,模型便学习到了“making more difficult”的word-pairs信息。
同理对目标端,模型也会单独学习句子的内部结构信息。之后利用Encoder-Decoder Attention建立源文和目标词组、句子的对应关系。相比于FAIR 的卷积模型得到很高层才能看到句子的完整信息,Self-Attention在第一层便巧妙地建立了每个词和整个句子的联系,同时位置编码采用三角函数的相对位置法表示,理论上可以泛化到训练中未见过的更长长度句子的翻译中。目前Self-Attention仅用在了翻译任务中,但这样的思想,在文本摘要自动生成的任务中,也是可以参照的。
总结:
从传统的Text rank抽取式,到深度学习中采用RNN、CNN单元处理,再引入Attention、Self-Attention机器生成摘要的方式,这一步步的转化使得文本摘要生成的方式跟人类思维越来越像,先理解后提取概要。与此同时生成的摘要效果,也常常让我们惊艳。
但文本摘要自动生成依然还有很多难题,如段落太长,那机器对于段落的理解时间就会更长,而过长的时间会导致机器对于段落信息的记忆损失;而深度学习非常依赖有标签的样本,标注工作也会是一笔非常大的开销等等,这些都是需要大家去解决与克服的问题。
简而言之,文本摘要自动生成技术是一项非常具有前景但也是极具挑战性的技术。
自动摘要综述
文本摘要是自然语言处理中比较难的一个任务,别说是用机器来做文摘了,就连人类做文摘的时候都需要具备很强的语言阅读理解能力和归纳总结能力。新闻的摘要要求编辑能够从新闻事件中提取出最关键的信息点,重新组织语言来写摘要;paper的摘要需要作者从全文中提取出最核心的工作,然后用更加精炼的语言写成摘要;综述性的paper需要作者通读N篇相关topic的paper之后,用最概括的语言将每篇文章的贡献、创新点写出来,并且对比每篇文章的方法各有什么优缺点。自动文摘本质上做的一件事情是信息过滤,从某种意义上来说,和推荐系统的功能有一点像,都是为了让大家更快地找到感兴趣的东西,只是用了不同的手段而已。
文本摘要问题按照文档数量可以分为单文档摘要和多文档摘要问题,按照实现方式可以分为提取式(extractive)和摘要式(abstractive)。摘要问题的特点是输出的文本要比输入的文本少很多很多,但却蕴藏着非常多的有效信息在内。有一点点感觉像是主成分分析(PCA),作用也与推荐系统有一点像,都是为了解决信息过载的问题。现在绝大多数应用的系统都是extractive的,这个方法比较简单但存在很多的问题,简单是因为只需要从原文中找出相对来说重要的句子来组成输出即可,系统只需要用模型来选择出信息量大的句子然后按照自然序组合起来就是摘要了。但是摘要的连贯性、一致性很难保证,比如遇到了句子中包含了代词,简单的连起来根本无法获知代词指的是什么,从而导致效果不佳。研究中随着deep learning技术在nlp中的深入,尤其是seq2seq+attention模型的“横行”,大家将abstractive式的摘要研究提高了一个level,并且提出了copy mechanism等机制来解决seq2seq模型中的OOV问题。
本文探讨的是用abstractive的方式来解决sentence-level的文本摘要问题,问题的定义比较简单,输入是一个长度为M的文本序列,输出是一个长度为N的文本序列,这里M>>N,并且输出文本的意思和输入文本的意思基本一致,输入可能是一句话,也可能是多句话,而输出都是一句话,也可能是多句话。
这里的语料分为两种,一种是用来训练深度学习模型的大型语料,一种是用来参加评测的小型语料。
1、 DUC
这个网站提供了文本摘要的比赛,2001-2007年在这个网站,2008年开始换到这个网站 TAC 。很官方的比赛,各大文本摘要系统都会在这里较量一番,一决高下。这里提供的数据集都是小型数据集,用来评测模型的。
2、 Gigaword
该语料非常大,大概有950w篇新闻文章,数据集用headline来做summary,即输出文本,用first sentence来做input,即输入文本,属于单句摘要的数据集。
3、CNN/Daily Mail
该语料就是我们在机器阅读理解中用到的语料,该数据集属于多句摘要。
4、Large Scale Chinese Short Text Summarization Dataset( LCSTS )[6]
这是一个中文短文本摘要数据集,数据采集自新浪微博,给研究中文摘要的童鞋们带来了福利。
本文所说的模型都是abstractive式的seq2seq模型。nlp中最早使用seq2seq+attention模型来解决问题的是machine translation领域,现如今该方法已经横扫了诸多领域的排行榜。
seq2seq的模型一般都是如下的结构[1]:
encoder部分用单层或者多层rnn/lstm/gru将输入进行编码,decoder部分是一个语言模型,用来生成摘要。这种生成式的问题都可以归结为求解一个条件概率问题p(word|context),在context条件下,将词表中每一个词的概率值都算出来,用概率最大的那个词作为生成的词,依次生成摘要中的所有词。这里的关键在于如何表示context,每种模型最大的不同点都在于context的不同,这里的context可能只是encoder的表示,也可能是attention和encoder的表示。decoder部分通常采用beam search算法来做生成。
1、Complex Attention Model[1]
模型中的attention weights是用encoder中每个词最后一层hidden layer的表示与当前decoder最新一个词最后一层hidden layer的表示做点乘,然后归一化来表示的。
2、Simple Attention Model[1]
模型将encoder部分在每个词最后一层hidden layer的表示分为两块,一小块用来计算attention weights的,另一大块用来作为encoder的表示。这个模型将最后一层hidden layer细分了不同的作用。
3、Attention-Based Summarization(ABS)[2]
这个模型用了三种不同的encoder,包括:Bag-of-Words Encoder、Convolutional Encoder和Attention-Based Encoder。Rush是HarvardNLP组的,这个组的特点是非常喜欢用CNN来做nlp的任务。这个模型中,让我们看到了不同的encoder,从非常简单的词袋模型到CNN,再到attention-based模型,而不是千篇一律的rnn、lstm和gru。而decoder部分用了一个非常简单的NNLM,就是Bengio[10]于2003年提出来的前馈神经网络语言模型,这一模型是后续神经网络语言模型研究的基石,也是后续对于word embedding的研究奠定了基础。可以说,这个模型用了最简单的encoder和decoder来做seq2seq,是一次非常不错的尝试。
4、ABS+[2]
Rush提出了一个纯数据驱动的模型ABS之后,又提出了一个abstractive与extractive融合的模型,在ABS模型的基础上增加了feature function,修改了score function,得到了这个效果更佳的ABS+模型。
5、Recurrent Attentive Summarizer(RAS)[3]
这个模型是Rush的学生提出来的,输入中每个词最终的embedding是各词的embedding与各词位置的embedding之和,经过一层卷积处理得到aggregate vector:
根据aggregate vector计算context(encoder的输出):
其中权重由下式计算:
decoder部分用RNNLM来做生成,RNNLM是在Bengio提出的NNLM基础上提出的改进模型,也是一个主流的语言模型。
6、big-words-lvt2k-1sent模型[4]
这个模型引入了large vocabulary trick(LVT)技术到文本摘要问题上。本方法中,每个mini batch中decoder的词汇表受制于encoder的词汇表,decoder词汇表中的词由一定数量的高频词构成。这个模型的思路重点解决的是由于decoder词汇表过大而造成softmax层的计算瓶颈。本模型非常适合解决文本摘要问题,因为摘要中的很多词都是来自于原文之中。
7、words-lvt2k-2sent-hieratt模型[4]
文本摘要中经常遇到这样的问题,一些关键词出现很少但却很重要,由于模型基于word embedding,对低频词的处理并不友好,所以本文提出了一种decoder/pointer机制来解决这个问题。模型中decoder带有一个开关,如果开关状态是打开generator,则生成一个单词;如果是关闭,decoder则生成一个原文单词位置的指针,然后拷贝到摘要中。pointer机制在解决低频词时鲁棒性比较强,因为使用了encoder中低频词的隐藏层表示作为输入,是一个上下文相关的表示,而仅仅是一个词向量。这个pointer机制和后面有一篇中的copy机制思路非常类似。
8、feats-lvt2k-2sent-ptr模型[4]
数据集中的原文一般都会很长,原文中的关键词和关键句子对于形成摘要都很重要,这个模型使用两个双向RNN来捕捉这两个层次的重要性,一个是word-level,一个是sentence-level,并且该模型在两个层次上都使用attention,权重如下:
9、COPYNET[8]
预测:在生成词时存在两种模式,一种是生成模式,一种是拷贝模式,生成模型是一个结合两种模式的概率模型。
状态更新:用t-1时刻的预测出的词来更新t时刻的状态,COPYNET不仅仅词向量,而且使用M矩阵中特定位置的hidden state。
读取M:COPYNET也会选择性地读取M矩阵,来获取混合了内容和位置的信息。
这个模型与第7个模型思想非常的类似,因为很好地处理了OOV的问题,所以结果都非常好。
10、MRT+NHG[7]
这个模型的特别之处在于用了Minimum Risk Training训练数据,而不是传统的MLE(最大似然估计),将评价指标包含在优化目标内,更加直接地对评价指标做优化,得到了不错的结果。
评价指标是否科学可行对于一个研究领域的研究水平有着直接的影响,目前在文本摘要任务中最常用的评价方法是ROUGE(Recall-Oriented Understudy for Gisting Evaluation)。ROUGE受到了机器翻译自动评价方法BLEU的启发,不同之处在于,采用召回率来作为指标。基本思想是将模型生成的摘要与参考摘要的n元组贡献统计量作为评判依据。
在中文数据集LCSTS上进行评测,结果如下:
不管是中文数据集还是英文数据集上,最好的结果都是来自于模型10[7],并且该模型只是采用最普通的seq2seq+attention模型,都没有用到效果更好的copy机制或者pointer机制。
思考
自动文摘是我关注的第一个nlp领域,早期了很多相关的paper,从方方面面都有所了解,也有一些比较浅薄的想法,现在总结一下。
1、为什么MRT那篇文章的结果会比其他各种各样的模型都要好呢?因为他直接将ROUGE指标包含在了待优化的目标中,而不是与其他模型一样,采用传统的MLE来做,传统的目标评价的是你的生成质量如何,但与我们最终评价的指标ROUGE并无直接关系。所以说,换了一种优化目标,直接定位于评价指标上做优化,效果一定会很好。这点不仅仅在自动文摘中出现过,我记得在bot相关的paper中还有机器阅读理解相关的paper中都有出现,只是具体的评价指标不同而已。这一点很有启发性,如果在文章[7]中采用copy机制来解决OOV问题,会不会有更加惊人的效果呢?我们拭目以待。
2、OOV(out of vocabulary)的问题。因为文本摘要说到底,都是一个语言生成的问题,只要是涉及到生成的问题,必然会遇到OOV问题,因为不可能将所有词都放到词表中来计算概率,可行的方法是用选择topn个高频词来组成词表。文章[4]和[8]都采用了相似的思路,从input中拷贝原文到output中,而不仅仅是生成,这里需要设置一个gate来决定这个词是copy来还是generate出来。显然,增加了copy机制的模型会在很大程度上解决了OOV的问题,就会显著地提升评价结果。这种思路不仅仅在文摘问题上适用,在一切生成问题上都适用,比如bot。
3、关于评价指标的问题。一个评价指标是否科学直接影响了这个领域的发展水平,人工评价我们就不提了,只说自动评价。ROUGE指标在2003年就被Lin提出了[9],13年过去了,仍然没有一个更加合适的评价体系来代替它。ROUGE评价太过死板,只能评价出output和target之间的一些表面信息,并不涉及到语义层面上的东西,是否可以提出一种更加高层次的评价体系,从语义这个层面来评价摘要的效果。其实技术上问题不大,因为计算两个文本序列之间的相似度有无数种解决方案,有监督、无监督、半监督等等等等。很期待有一种新的体系来评价摘要效果,相信新的评价体系一定会推动自动文摘领域的发展。
4、关于数据集的问题。LCSTS数据集的构建给中文文本摘要的研究奠定了基础,将会很大程度地推动自动文摘在中文领域的发展。现在的互联网最不缺少的就是数据,大量的非结构化数据。但如何构建一个高质量的语料是一个难题,如何尽量避免用过多的人工手段来保证质量,如何用自动的方法来提升语料的质量都是难题。所以,如果能够提出一种全新的思路来构建自动文摘语料的话,将会非常有意义。
[1] Generating News Headlines with Recurrent Neural Networks
[2] A Neural Attention Model for Abstractive Sentence Summarization
[3] Abstractive Sentence Summarization with Attentive Recurrent Neural Networks
[4] Abstractive Text Summarization using Sequence-to-sequence RNNs and Beyond
[5] AttSum: Joint Learning of Focusing and Summarization with Neural Attention
[6] LCSTS: A Large Scale Chinese Short Text Summarization Dataset
[7] Neural Headline Generation with Minimum Risk Training
[8] Incorporating Copying Mechanism in Sequence-to-Sequence Learning Training
[9] Automatic Evaluation of Summaries Using N-gram Co-Occurrence Statistics
[10] A Neural Probabilistic Language Model
自动生成摘要什么意思
自动编写摘要是WORD系统自动识别文章中的一部分内容为摘要信息,可以自己设置显示的摘要占全文的比例,其实就是自动摘出文章的主要内容。
word 在文本编辑过程中,操作错误不能“回退”这是不对的。操作错误可以使用ctrl+z撤消上一次的操作。
上一篇:求是杂志发表文章
下一篇:心理科学杂志订阅