项目8:摘要提取:让端侧机器人能想 课件(共27张PPT)-《智能语音应用开发》同步教学(电子工业版)

资源下载
  1. 二一教育资源

项目8:摘要提取:让端侧机器人能想 课件(共27张PPT)-《智能语音应用开发》同步教学(电子工业版)

资源简介

(共27张PPT)
项目8
摘要提取:让端侧机器人能想
项目背景
随着网络的普及,各种媒体的资讯每一秒都在几何式地增长。新闻、社会化短文本和专业领域的文献的简短摘要,一方面可以帮助人们快速浏览和筛选信息,另一方面可以在手机等小尺寸便携设备上观看,对身处信息时代的人们颇具意义。
本项目将使用目前主流AI开放平台,通过对其AI能力的调用,根据文本和用户语音自动生成摘要。
教学目标
(1)了解文本自动摘要的概念。
(2)了解文本自动摘要的分类。
(3)了解文本自动摘要的主要方法。
(4)了解文本自动摘要的评价指标。
(5)掌握文本自动摘要函数的使用方法。
(6)能够调用平台的能力实现语音自动摘要。
项目分析
在本项目中,首先对文本自动摘要的分类、方法和评价指标进行学习,具体知识准备思维导图如图8.1所示。然后借助百度AI开放平台,使用语音识别和自然语言处理功能,根据文本和语音自动生成摘要。具体分析如下。
(1)了解文本自动摘要的分类。
(2)了解文本自动摘要的主要方法。
(3)了解文本自动摘要的评价指标。
(4)在百度AI开放平台创建语音识别应用和情感分析应用。
(5)定义相关函数,编写文本自动摘要提取程序。
(6)对语音识别结果和文本进行自动摘要测试。
知识准备
知识点1:什么是文本自动摘要
面对海量文本数据,如果使用一条简短的摘要来概括其关键信息,会极大地方便用户通过摘要快速领会原文传递的信息,从而提高浏览信息的效率。早期文本的摘要大多数使用人工方式生成,随着文本数据量的增长,使用人工方式为每篇文本生成摘要是不现实的。一方面,由于文本数据规模巨大,使用人工方式为文本生成摘要不但需要消耗大量人力,而且无法满足实时性的要求;另一方面,使用人工方式为文本生成摘要容易出现不客观、夸大等情况,会存在为了提高文本浏览量,人为扭曲一些实事,放大非重点词、语句的情况。面对人工方式的局限性,文本自动摘要(Automatic Text Summarization)提供了解决问题的高效方法。如图8.2所示,文本自动摘要根据一篇或多篇文档,自动地生成段,保留输入文本中的关键信息并生成语义通顺、简洁准确的摘要。
文本自动摘要是指通过自动分析一篇或多篇文章,先依据语法、句法等信息分析其中的关键信息,再通过压缩、精简得到一篇可读性高且简明扼要的摘要,这个摘要可以由文章的关键句构成,也可以随时重新生成。文本自动摘要可以快速、准确地生成文本的摘要,弥补了人工方式的不足。
知识点1:什么是文本自动摘要
知识点2:文本自动摘要的分类
1.单文档摘要与多文档摘要
根据文本对象的个数进行划分,文本自动摘要可以分为单文档摘要和多文档摘要。
单文档摘要是对某一篇文档生成摘要,多文档摘要是对多篇文档组合而成的文档集合生成摘要。由于多文档摘要有多个主题且一般情况下文章较长,所以与单文档摘要相比,较难实现。
2.抽取式摘要与生成式摘要
根据摘要的生成方法,文本自动摘要可以分为抽取式摘要和生成式摘要。
抽取式摘要是根据原文本一些重要的段落、句子或短语进行规则的组合后生成的摘要。简单来说,就是抽取原文本的主旨句及与主旨密切相关的句子生成摘要,内容全部来源于原文本,该种方法易于实现且每个摘要句内部语句通顺,但是得到的摘要内容较冗长,连贯性难以保证。在抽取式摘要生成过程中,首先计算原文本中的句子得分,然后根据句子得分进行筛选,最终形成摘要。但是此方法的缺陷是往往会忽略出现次数较少的词语,而这些出现次数较少的词语常常包含了原文本的重要信息,可能会丢失文本的重要信息从而无法全面表达出原文本的主旨。
与抽取式摘要相比,生成式摘要在模型对原文本有了更深入的理解之后,对原文本的深层次信息进行挖掘,对要点信息进行融合。该方法可以像人类写摘要一样,得到更加凝练的摘要。因此生成式摘要会生成新的词语和句子,更加多样化,生成式摘要更加符合人们对摘要的需求。
知识点3:文本自动摘要的主要方法
1.基于简单统计的方法
文本自动摘要在早期发展阶段,受限于计算机硬件的水平,基于简单统计的方法是最常用的方法。此方法只需要先统计词频、文章标题、句子位置、线索词等浅层次的文本特征,然后根据统计得到的信息给文本中的每个句子赋予一定的权重,选择权重较高的句子构成摘要。
知识点3:文本自动摘要的主要方法
1.基于简单统计的方法
具体流程如下。
(1)在预处理阶段,对原文本的内容进行分句、分词,去掉标点符号、停顿词(出现次数较多且与文本主旨没有关系的词,如冠词、代词等)。
(2)在特征选择阶段,选取需要的文本特征,如词频、句子位置、线索词、文章标题等。
(3)在计算特征权重阶段,获取每个特征的分数。
(4)在计算句子权重阶段,将每个句子中所有特征的分数加起来,得到每个句子的权重分数。
(5)在句子抽取阶段,抽取权重较高的句子。将抽取的句子按照在原文中出现的顺序进行排列,形成最终摘要。
图8.3 基于简单统计的方法实现摘要的流程
知识点3:文本自动摘要的主要方法
2.利用外部资源的方法
随着文本自动摘要的应用和推广,摘要的形成不再局限于文本的浅层次特征,人们更加关注句子之间的相似度及词语之间的语义关系。于是,人们开始利用背景资料、同义词表等外部资源,较为突出的方法有词汇链文本表示法、TF-IDF等。
词汇链文本表示法是一种通过词汇链对语篇中的词汇衔接关系进行建模的文本表示方法,该方法能够体现语篇中丰富的语义信息。构建词汇链的基本思路是:选择一个候选词。判断这个词是否能插入已有的链(即判断候选词的词义是否跟已有的词汇链存在关系)。如果可以插入,则选择下一个候选词;如果不能插入,则为这个候选词新建一条词汇链。词汇链文本表示法的效率与处理的文本的长度成反比,因此该算法无法处理大量的文档。
TF-IDF是一种用于资讯检索与资讯探勘的常用加权技术。TF-IDF是一种统计方法,用于评估一个词语对于一个文件集合或一个语料库的其中一份文件的重要程度。字词的重要性与它在文件中出现的次数成正比,与它在语料库中出现的频率成反比。简单来说就是:一个词在一篇文档中出现的次数越多,同时在所有文档中出现的次数越少,越能够代表该文章。
知识点3:文本自动摘要的主要方法
3.基于传统机器学习的方法
基于传统机器学习的方法先使用人工标注的语料进行训练,获得用来表示文本特征与句子之间重要程度的模型,然后利用这个模型对未进行人工标注的语料进行摘要抽取。基于传统机器学习的方法生成摘要的过程如图8.4所示。
图8.4 基于传统机器学习的方法生成摘要的过程
知识点3:文本自动摘要的主要方法
4.基于神经网络的方法
随着深度学习技术的迅速发展,文本自动摘要领域也开始逐渐应用这项技术。从计算机视觉等任务的经验中可知,深度学习技术在拥有大量标注数据时可以获得很好的性能。而文本自动摘要领域的相关数据集的规模在近几年也获得了几何倍增长,这一契机使神经网络可以更好地在文本自动摘要领域发挥作用,继而形成了抽取式神经网络文本自动摘要和生成式神经网络文本自动摘要两大方向。
知识点4:文本自动摘要的评价指标
1.内部评价指标与外部评价指标
文本自动摘要的评价指标可以分为两大类:内部评价指标和外部评价指标。内部评价指标主要从文字连贯性和内容完整性的角度来评价生成的摘要的质量。文字连贯性是指文本摘要在文字上的流畅程度,例如句子内部是否通顺、句子之间是否连贯等。内容完整性是指文本摘要包含原文信息量的多少,通常由人工来判断,人类的主观因素在评价过程中所占比重较大。在使用内部评价指标衡量文本自动摘要模型时,需要提供参考摘要,以参考摘要为基准评价系统摘要的质量。系统摘要与参考摘要越吻合,质量越高。
与内部评价指标不同,在使用外部评价指标衡量模型时,不需要提供参考摘要,而是利用文档摘要代替原文档执行某个与文档相关的应用,例如文档检索、文档分类等,能够提高应用性能的摘要被认为是高质量的摘要。
知识点4:文本自动摘要的评价指标
2.人工评价方法与自动评价方法
文本自动摘要的评价方法主要分为人工评价方法和自动评价方法。
人工评价方法一般要求评价人具有一定的领域知识,从6个方面来衡量摘要的质量:是否易读;句子之间是否连贯;是否存在语法错误;摘要中的指代是否明确;摘要是否覆盖了原始文本中的关键内容;是否存在冗余。
为了解决人工评价方法的缺点,先后出现了很多自动评价方法,其中具有代表性的是ROUGE(Recall-Oriented Understudy for Gisting Evaluation)。ROUGE的基本思想是由多位专家生成的人工摘要构成的数据集,通过计算生成摘要和标准摘要的重叠单元数目来评价系统的稳定性和健壮性。
在自动摘要任务中,人工标记有着较强的主观因素,每个人对同一篇文档的理解可能会有较大的差异,导致人工标注的摘要结果也会存在一定的区别。此外,利用人工评价方法对文本自动摘要任务进行评测需要耗费大量的人力和时间成本,专家们也很难在短时间内对大量的实验结果逐个进行评测,因此自动评价方法逐渐成为主流评测方法。
项目实施:自然语言处理应用——新闻摘要提取
任务1 创建应用
步骤1:创建语音识别应用
(1)登录百度AI开放平台,在控制台中,选择“产品服务”→“语音技术”选项。
(2)进入“语音技术”页面后,选择“应用列表”选项,进入“应用列表”页面,单击“创建应用”按钮。
(3)填写语音识别应用的应用名称、接口选择、语音包名、应用归属、应用描述,单击“立即创建”按钮。
(4)在“应用列表”页面中,可以查看创建的语音识别应用的AppID、API Key、Secret Key等信息。完成创建后,将创建的应用的信息记录到表8.1中。
应 用 名 称 本项目用到的接口 应用描述(准确描述应用作用) AppID API Key Secret Key

表8.1 语音识别应用的信息
任务1 创建应用
步骤2:创建自然语言处理应用
(1)在百度AI开放平台的控制台中,选择“产品服务”→“自然语言处理”选项。
(2)进入“自然语言处理”页面后,选择“应用列表”选项,进入“应用列表”页面,单击“创建应用”按钮。
(3)填写自然语言处理应用的应用名称、接口选择、应用归属、应用描述,本项目侧重使用“接口选择”中的“新闻摘要”接口,“新闻摘要”选项如图8.6所示,单击“立即创建”按钮。
(4)在“应用列表”页面中,可以查看创建的自然语言处理应用的AppID、API Key、Secret Key等信息。完成创建后,将创建的应用的信息记录到表8.2中。
表8.2 自然语言处理应用的信息
应 用 名 称 本项目用到的接口 应用描述(准确描述应用作用) AppID API Key Secret Key

任务 2 编写文本自动摘要程序
创建语音识别应用和自然语言处理应用后,接下来编写文本自动摘要程序。首先导入需要用到的库函数,设置语音合成的相关参数,如采样率、采样声道数、采样点缓存数量和保存的音频格式等。接着在本地创建Python程序,使用Python程序编写主函数、与语音输入和识别相关的函数。编写文本自动摘要程序的流程如图8.7所示。
图8.7 编写文本自动摘要程序的流程
任务2 编写文本自动摘要程序
步骤1:配置基础环境
(1)该项目需要调用百度的API,所以需要安装baidu-aip库。在jupyter notebook中输入下面命令安装baidu-aip库。
(2)将record.py复制到与项目文件相同的路径下,如图8.9所示,用于在程序运行时进行录音。
任务2 编写文本自动摘要程序
步骤2:导入库函数
(1)my_record:record.py中定义的函数,用于录制标准音频。
(2)AipSpeech:百度语音的客户端,认证成功之后,客户端将被开启,调用客户端后用于语音识别。
(3)AipNlp:百度自然语言处理的客户端,认证成功之后,客户端将被开启,调用客户端后用于文本自动摘要。
任务 2 编写文本自动摘要程序
步骤3:创建客户端
使用百度AI开放平台实现语音识别和文本自动摘要,需要使用获取的百度AI云服务应用参数AppID、API Key、Secret Key来创建客户端,以实现相应功能。
任务 2 编写文本自动摘要程序
步骤4:定义音频读取函数
录音后,需要读取录制的音频。定义音频读取函数用于读取音频数据,代码如下。
任务 2 编写文本自动摘要程序
步骤5:定义语音识别函数
定义语音识别函数用于对录制的音频进行语音识别,将音频转换文本,为后面的文本自动摘要做准备。代码如下。
任务 2 编写文本自动摘要程序
步骤6:编写调用函数的逻辑
任务 2测试文本自动摘要程序
步骤1:调试并运行编写的程序
调试以上程序,打开如图8.11所示窗口。
图8.11 程序运行窗口
任务 2测试文本自动摘要程序
步骤2:对输入的对象进行摘要提取
以示例新闻为摘要提取对象,分别使用直接输入文本、读取TXT文件和语音输入3种方式,进行摘要提取并对比效果,并将相关数据记录到表8.4中,提出优化摘要建议。
自动摘要识别对象 摘 要 长 度 摘要是否能概括核心大意 优 化 建 议
直接输入文本
读取TXT文件
语音输入
表8.4 摘要提取测试记录表

展开更多......

收起↑

资源预览