初学文本摘要——综述报告

文本摘要介绍、现状、分类和技术的综述,包括抽取式、生成式和生成-抽取式方法,以及统计学、图排序、机器学习和深度学习的应用。
摘要由CSDN通过智能技术生成

**
本报告是本人在自学自然语言处理文本摘要方向初期研读综述性论文、博客、网站等后总结的综述报告。
**

主要内容:

1)文本摘要简介(是什么?)
2)文本摘要现状(怎么样?)
3)文本摘要分类(有哪些?)
4)文本摘要主要技术
5)附页

一、 文本摘要简介(是什么?)

文本摘要是指通过各种技术,对文本或者是文本的集合,抽取、总结或是精炼其中的要点信息,用以概括和展示原始文本的主要内容或大意。随着互联网产生的文本数据越来越多,文本信息过载问题日益严重,对各类文本进行一个“降维”处理显得非常必要,文本摘要便是其中一个重要的手段。作为文本生成任务的主要方向之一,从本质上而言,这是一种信息压缩技术。文本摘要的目的就是为了让用户在当今世界海量的互联网数据中找到有效的信息。

二、 文本摘要现状(怎么样?)

1、研究热点

随着互联网上的信息呈爆炸式增长,如何从海量信息中提取有用信息成了一个关键的技术问题。文本摘要技术能够从大数据中压缩提炼出精炼简洁的文档信息,有效降低用户的信息过载问题,成为研究热点。

2、研究难点

因为文本摘要技术,尤其是生成式文本摘要,涉及到很深层次的自然语言处理(自然语言理解、自然语言生成等)的能力,所以一直以来它都是自然语言技术的一个研究难点。

3、国际现状

国际上对文本摘要技术已经进行了多年的研究,相关研究成果主要发表在自然语言处理相关学术会议与期刊上,例如ACL、EMNLP、NAACL、COLING、AAAI、IJCAI、SIGIR、INLG等,有很多关于文本摘要技术的研究成果都发表在上面。我已将上面各个学术会议与期刊的简介与网址放在附页一中。

国际上几个主要的研究单位包括密歇根大学、南加州大学、哥伦比亚大学、北德克萨斯大学、爱丁堡大学等。有很多优秀的算法,理论都产自这几所大学。

4、国内现状

相比机器翻译、自动问答、知识图谱、情感分析等热门领域,文本摘要在国内并没有受到足够的重视,主要也是由于有着很多难以突破的难点(很深层次的自然语言处理、自然语言理解、自然语言生成等的能力),在文本摘要方面从事过研究的国内单位包括北京大学计算机科学技术研究所、北京大学计算语言所、哈工大信息检索实验室、清华大学智能技术与系统国家重点实验室等。

其中,北京大学计算机科学技术研究所在文本摘要方面进行了长期深入的研究,提出了多种基于图排序的自动摘要方法与压缩式摘要方法,并且探索了跨语言摘要、比较式摘要、演化式摘要等多种新颖的摘要任务。在学术文献摘要方面,则分别提出基于有监督学习和整数线性规划模型的演示幻灯片的自动生成方法与学术论文相关工作章节的自动生成方法。

国内早期的基础资源与评测举办过单文档摘要的评测任务,但测试集规模比较小,而且没有提供自动化评价工具。2015年CCF中文信息技术专委会组织了NLPCC评测,其中包括了面向微博的新闻摘要任务,提供了规模相对较大的样例数据和测试数据,并采用自动评价方法,吸引了多支队伍参加评测,目前这些数据可以公开获得。但上述中文摘要评测任务均针对单文档摘要任务,目前还没有业界认可的中文多文档摘要数据,这在事实上阻碍了中文自动摘要技术的发展。

5、现状总结

总的来说,国际上对自然语言处理的文本摘要方向已有多年的研究,研究成果也较为丰厚,但是国内由于中文涉及到很多难以突破的难点(很深层次的自然语言处理、自然语言理解、自然语言生成等的能力)得原因,研究成果相比英语的文本摘要相对较少,而且国内相比机器翻译、自动问答、知识图谱、情感分析等热门领域,文本摘要在国内并没有受到足够的重视。

三、 文本摘要分类(有哪些?)

1、按摘要方法分

文本摘要按照摘要方法可以分为抽取式文本摘要、生成式文本摘要和生成-抽取式文本摘要三种。

(1)抽取式文本摘要

抽取式文本摘要,顾名思义,就是从文档或者文档集中抽取其中的一句或者几句话,构成摘要。通过对文档中句子的得分进行计算,得分代表重要性程度,得分越高代表句子越重要,然后通过依次选取得分高的若干个句子组成摘要,摘要的长度取决于压缩率。这种方案的好处在于简单实用,不会完全脱离于文档本身。换言之,域值比较好判断,不容易产生完全偏离文章主旨的点。

(2)生成式文本摘要

抽取式文本摘要尽管有其优点,但也可能有着生成摘要不连贯、字数不好控制、目标句主旨不明确等缺点,甚至可以说,其摘要好坏决定于原文。而生成式文本摘要就没有这样的问题,生成式摘要方法不是单纯地利用原文档中的单词或短语组成摘要,而是从原文档中获取主要思想后以不同的表达方式将其表达出来。生成式摘要方法为了传达原文档的主要观点,可以重复使用原文档中的短语和语句,但总体上来说,摘要需要用作者自己的话来概括表达。生成式摘要方法需要利用自然语言理解技术对原文档进行语法语义的分析,然后对信息进行融合,通过自然语言生成的技术生成新的文本摘要。这也是前面所说的文本摘要技术现阶段的研究难点,因为生成式文本摘要是一个端到端的过程,这种技术方案,趋同于翻译任务和对话任务,从而可以吸收、借鉴翻译任务和对话任务的成功经验。

(3)生成-抽取式文本摘要

凡事都还还想着两全齐美呢,集合抽取式文本摘要和生成式文本摘要的理想技术。

2、按文档数量分

文本摘要按照文档数量可以分为单文档摘要和多文档摘要两种。

(1)单文档摘要

单文档摘要是指针对单个文档,对其内容进行抽取总结生成摘要。

(2)多文档摘要

多文档摘要是指从包含多份文档的文档集合中生成一份能够概括这些文档中心内容的摘要。

3、按学习方法分

文本摘要按照学习方法可以分为有监督摘要和无监督摘要两种。

(1) 有监督摘要

有监督摘要即需要从文件中选取主要内容作为训练数据,大量的注释和标签数据是学习所需要的。这些文本摘要的系统在句子层面被理解为一个二分类问题,其中,属于摘要的句子称为正样本,不属于摘要的句子称为负样本。机器学习中的支持向量机和神经网络也会用到这样分类的方法。

(2) 无监督摘要

无监督的文本摘要系统不需要任何训练数据,它们仅通过对文档进行检索即可生成摘要。

四、 文本摘要主要技术

1、 基于统计学的文本摘要方法

早期的文本摘要方式主要是抽取式文本摘要,基于统计学的文本摘要方法就主要用于抽取式文本摘要。基于统计学的文本摘要方法是基于统计特征,如词频、句子位置、句子与标题的相似性、句子的相对长度等统计特征来生成摘要的。

(1)基于“词频”的文本摘要方法

基于“词频”的文本摘要是指使用“词频” 这一简单的文本特征对文档的重要句子和词组进行抽取生成摘要。

方法介绍:

在基于“词频”的文本摘要方法中,除去停用词以外,文中出现频率越高的单词,其重要性也就越高。根据单词的词频高低分别设置相应的词权重,词频越高,对应的权重也就越高;句子的权重是组成句子单词的权重之和。然后从文档中抽取权重高的单词和句子组成摘要,这就是简单的基于词频的文本摘要方法。

实例演示:
文本:

《乘风破浪的姐姐》现在已经播出到了第2期节目,在初舞台之后,现在大家都对姐姐们的实力是有所了解的了。在看完初舞台之后,很多观众就都清楚了哪些姐姐的实力是不错的,哪些姐姐是比较弱的了。不过呢只看了初舞台就认定姐姐们的实力是片面的了,因为小编发现在这么多“姐姐”中其实有一些姐姐是黑马选手呀。
像是在最新一期节目中,小编就发现了一位“黑马”姐姐,而这个人是谁呢?就是王智了,在最新播出的这一期节目中,王智可是成功逆袭了,她这回成功让观众们看到了她,让导师认可了自己的实力。《浪姐》出现“黑马”姐姐,初舞台最后一名,这一期却连连被夸!说到王智,在初舞台的时候小编对她的印象是不深的。
而在这一期节目中呢当小组在排练的时候,王智会反复跟老师强调自己是“最后一名”,这下小编采知道她原来在初舞台的时候是最后一名。王智在初舞台得到了最后一名,这打击对她来说还是挺大的,在排练的时候大家也可以看出了她的不自信。然而这回她很幸运地遇到了伊能静,在伊能静的教学下,最后她可是受到了老师的连连夸赞。
《浪姐》出现“黑马”姐姐,初舞台最后一名,这一期却连连被夸!此次节目中姐姐们进行了一段时间的练习,就去进行评测了,而在王智这一组表演完后,最终导师们也给出了评价,在她们三个人这一组中,王智就是被夸得最多的那一个。当在看了王智这次的表演后,最后赵兆老师竟然跟她道歉了。
赵兆老师说昨天很抱歉给她打了最低分,但是今天呢她真的让他觉得“傻”了,因为他将这首歌演唱得太好了,他觉得王智非常适合这首歌呢!一向比较严格的赵兆老师这回对王智很是赞扬,看来是被她的表演给惊喜到了。能够得到了专业的赵兆老师的赞扬,可见王智的实力那是很棒的呀。
而在赵兆说完后,黄晓明也补充说道“真的是,你一张嘴我们都惊了,真的。”这次可以从导师们的话中了解到王智的进步真的是很大了,她这次选择了一首合适自己的歌曲,并且有认真努力地去唱好它,就将它很好地诠释了出来了!这个姐姐其实并不是没有实力,只是实力没有一开始就表现出来。她真的是一匹“黑马”了,当看了这一期节目后,现在观众们都在期待着她后面带来的惊喜了!

思路:

1)将文本分词,统计一段文本的词频(去除停用词之后的词频),得到{词:词频};
2)对文本进行分句;
3)对句子进行打分,统计这个句子中出现的每个词的词频,句子得分=句子中每个词的词频之和;
4)找到得分最高的几个句子作为摘要。

代码:

#读取文件
f=open('乘风破浪的姐姐.txt',encoding='utf-8')
data = f.readlines()  # 直接将文件中按行读到list里,读取后的文件格式为数组
f.close()  # 关

#将文件转换成字符串
text=""
for line in data:
    text += line
print(text)

#清洗数据
import re #导入库
import jieba
text = re.sub(r'[[0-9]*]',' ',text)#去除类似[1],[2]
text = re.sub(r'\s+',' ',text)#用单个空格替换了所有额外的空格
sentences = re.split('(。|!|\!|\.|?|\?)',text)#分句:re.split(’(。|!|!|.|?|?)’,text) 加括号则保留分句符号如。!,不加则不保留分句符号
print(sentences)

#加载停用词
def stopwordslist(filepath):
    stopwords = [line.strip() for line in open(filepath, 'r', encoding='UTF-8').readlines()]
    return stopwords
stopwords = stopwordslist("停用词1.txt")

#统计文本词频
word2count = {
   } #创建一个空字典
for word in jieba.cut(text): #对整个文本分词,对每个单词循环

    if word not in stopwords: #检查单词是否在stopwords停用词中,然后再次检查单词是否在word2count词频key中,不在则把word2count [word]置为1,否则word2count [word] 加1。
        if word not in word2count.keys
  • 11
    点赞
  • 61
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
Python的OpenGL库是一个用于渲染图形和实现3D图形应用的强大工具。如果你是一个初学者,以下是一些学习OpenGL的指南: 1. 学习基本的计算机图形学概念:在深入学习OpenGL之前,了解一些基本的计算机图形学概念是很重要的。你可以学习像坐标系、向量、矩阵变换等基础知识。 2. 学习Python语言基础:作为一个初学者,你需要先掌握Python的基本语法和编程概念。这将帮助你更好地理解和使用OpenGL库。 3. 安装OpenGL库:在开始之前,你需要确保你的计算机上已经安装了OpenGL库。你可以使用pip来安装PyOpenGL库。 4. 学习OpenGL的核心知识:一旦你准备好了,可以开始学习OpenGL的核心知识,如顶点缓冲对象(VBO)、着色器(programs)、着色器语言(GLSL)等。掌握这些基本概念对于理解和使用OpenGL非常重要。 5. 编写简单的OpenGL程序:接下来,你可以开始编写一些简单的OpenGL程序来实践所学的知识。你可以从简单的绘制一些基本图形开始,然后逐渐扩展到更复杂的场景和效果。 6. 学习OpenGL的高级特性:一旦你熟悉了OpenGL的基本知识,你可以探索一些更高级的主题,如光照、纹理映射、深度测试、投影等。这将帮助你创建更逼真和交互式的3D图形应用。 7. 参考文档和教程:除了上述的自学方法外,你还可以参考一些优秀的OpenGL文档和教程。一些推荐的资源包括OpenGL官方文档、PyOpenGL官方文档、学习OpenGL的在线教程等。 记住,学习OpenGL需要时间和实践。通过不断地编写代码和实验,你将逐渐掌握OpenGL的技能并创建出令人惊叹的图形应用。祝你好运!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值