项目7:情感分析:让端侧机器人有情 课件(共39张PPT)-《智能语音应用开发》同步教学(电子工业版)

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

项目7:情感分析:让端侧机器人有情 课件(共39张PPT)-《智能语音应用开发》同步教学(电子工业版)

资源简介

(共39张PPT)
项目7
情感分析:让端侧机器人有情
项目背景
情感在交流中发挥着极其重要的作用,可以表达人对外部事件或对话的态度。情感识别具有极大的应用价值,准确识别人的情感状态对社交机器人、医疗、商品评价和一些其他的人机交互系统都有重要意义。在人工智能产品和人的交互过程中,如果能够准确地把握人当前的情感状态,并根据情感状态做出回应,可以极大地提升用户对人工智能产品的体验。
本项目将使用目前主流的AI开放平台,通过对其AI能力的调用,实现对用户语音的情感分析。
教学目标
(1)了解情感分析的定义及分类。
(2)了解表情情感分析。
(3)了解语音情感分析。
(4)了解文本情感分析。
(5)能够熟练使用AI平台的情感分析功能。
(6)能够通过程序逻辑搭建情感分析系统。
项目分析
本项目首先在理论知识部分,学习情感分析的定义及分类,了解基于表情、语音和文本的情感分析,具体知识准备思维导图如图7.1所示。然后借助百度AI开放平台,通过调用该平台的语音识别和自然语言处理能力,搭建语音情感分析系统。具体分析如下。
(1)了解情感分析及其分类。
(2)了解基于表情、语音和文本的情感分析。
(3)在百度AI开放平台创建语音识别应用和自然语言处理应用。
(4)定义相关函数,并编写语音情感分析程序。
(5)测试语音情感分析程序,对输入的语音进行情感分析。
知识准备
知识点1:什么是情感分析
1.情感
情感是一种内在和外在综合表现所体现出来的状态。其中,情感的外在表现主要是指人能直观观察到的情感信息,如人的面部表情的变化,人语音的语调、音调的变化,姿态动作的变化,文字表达的转折等;情感的内在表现主要是指一些人不能直观看到、只能通过相关仪器测量的信息,如人的脉搏、体温、血压等生理信号,人的脑电信号等。
知识点1:什么是情感分析
2.情感分析
情感分析又被称为意义挖掘和主观性分析,它利用各种数字量化的信息,使用计算机和人工智能技术来分析情感,这种分析包括对情感特征的提取,建立情感特征与情感标签的映射关系,对情感的预测并根据这种预测对情感状态进行准确的判断①。
情感特征的提取涉及多个模态,依据人类接受情感信息的方式,情感特征包括表情情感特征、语言情感特征、文本情感特征等多种模态。
知识点1:什么是情感分析
3.情感的分类
在大多数应用中,可以将情感按照极性/倾向进行划分,可以分为两类:正面、反面,或者三类:正面、反面和中立。正面类别(Positive)指文本中持有积极的(支持的、健康的)态度和立场;反面类别(Negative)指文本中持有消极的(反对的、不健康的)态度和立场;中立类别(Neutral)指文本中持有中立的态度和立场。
知识点2:表情情感分析
针对人的面部表情的分析是近些年热门的研究方向,如微表情、测谎等,都需要对人的面部表情进行分析和研究。面部表情是人类表现情感最主要的形式,是人类最直观和最直接的情感表现形式,正因为如此,通过人的面部表情进行情感分析在情感分析领域有着非常丰富的研究历程和研究成果。
表情情感分析包括人脸检测、特征提取和情感分类。首先,在输入图像中定位面部表情的位置,并从面部区域检测如鼻子、眼睛等面部成分,如图7.2所示。其次,从人脸的各个成分中提取各种时空特征。最后,通过线性回归、支持向量机(Support Vector Machine,SVM)等分类器对情感进行分析。特征提取是进行表情情感分析的前提条件,合适的表情情感特征能够帮助情感分析系统实现更加精准的判定。人的情感是一段过程,不仅仅是短暂的变化,因此,在进行面部表情情感分析时,不需要对视频中所有的帧进行分析,只需要按照一定时间间隔采样视频帧,并对这些视频帧进行分析,就可以达到依据面部表情判断情感的目的。这种方法既降低了计算资源的消耗,也可以避免引入一些噪声数据,对情感判定的精度造成影响。
知识点2:表情情感分析
小贴士
分类是人工智能的一种重要方法,是在已有数据的基础上学习一个分类函数或构造一个分类模型,该函数或模型就是一个能完成分类任务的人工智能系统,即分类器(Classifier)。
知识点3:语音情感分析
语音是人类应用最广泛的交流方式,既可以传递语义信息,也包含重要的情感信息。语音情感分析的目标是从语音中识别出人类的情感状态。在人机交互系统中,赋予机器分析语音所传递的情感的能力具有十分重要的意义,这将使人机之间的对话更加自然、和谐。
语音情感识别的主要流程包括预处理、特征提取和情感分类,如图7.3所示。首先,进行预处理操作,包括对语音信号预加重、划分语音帧、加窗滤波等。其次,在完成特征提取后,通过对原始特征进行特征降维,提取能够表征语音的时空特征。最后,使用如线性回归、支持向量机等分类模型进行匹配,得出语音情感分析结果。
图7.3 语音情感识别的流程
知识点3:语音情感分析
1.语音情感识别特征提取
1)基于韵律的特征
在生活中,我们可以直观感受到,情感会使得我们交流时的语调、声调和重音发生变化。一个人所说的语言,不论是否经意,其表达的语气、情感都和韵律有关。在语言学中,韵律特征被广泛称为“超音段特征”或“超语言学特征”,其一般关注时序下的语音信号,具有边缘特性。边缘特性是指语音信号中高低音、停顿、节奏律动、音量强度等方面产生的变化。韵律特征包括基本频率、节奏、强度等,对应语音信号中体现的音高、音长、音强等。这些变量的不同组合被应用于语调、声调和重音中,组成了丰富的语音表达。
基本频率即基频,也被称为音调,可以传达有关感情状态的大量信息。有研究发现,中性或非情感性语言的音调范围比情感性语言的音调范围窄得多,随着情感强度的增加,中性语音中出现的停顿的频率和持续时间会减少。更有研究者从EMO-DB数据集中提取出了133个韵律特征。
基于节奏的特征包括语速、语音之间的停顿、浊音段的长度等,可以使用每秒的音、字节数进行统计。一般来说,恐惧、厌恶、愤怒、快乐这些高激活水平的情感具有较快的节奏,惊奇这类中激活水平的情感具有正常的节奏,而悲伤这类情感的节奏则比较慢。
强度通常又被称为语音的能量或音量,提供了可以用于区分语音情感的信息。当人处于愤怒、惊讶和快乐的情绪时,其语音的能量会明显增强,而当人处于悲伤、恐惧和厌恶的情绪时,其语音的能量会降低。
知识点3:语音情感分析
小贴士:
EMO-DB数据集
EMO-DB数据集是由柏林工业大学录制的德语情感语音库,由10位演员(5男5女)对10个语句(5长5短)进行7种情感的模拟得到,7种情感包括中性(Neutral)、生气(Anger)、害怕(Fear)、高兴(Joy)、悲伤(Sadness)、厌恶(Disgust)、无聊(Boredom),共包含800句语料。
知识点3:语音情感分析
1.语音情感识别特征提取
2)基于声道的特征
声道特征是由于个体的声道运动造成的,声道中央压力、长度张力及肌肉张力等的变化引起的声音波形变化,又被称为频谱特征。频谱特征现在已经被广泛地应用在了各种语音识别和说话者认证系统等语音应用中。常见的基于声道的特征主要包括梅尔频率倒谱系数(Mel-scale Frequency Cepstral Coefficients,MFCC)、感知线性预测系数(Perpetual Linear Predictive Coefficients,PLPC)、线性预测倒谱系数(Linear Prediction Cepstral Coefficients,LPCC)、对数频率功率系数(Log-Frequency Power Coefficients,LFPC)等。
知识点3:语音情感分析
1.语音情感识别特征提取
3)基于音质的特征
音质特征一般描述的是语音信号的质量,是描述一段语音信号情感特征较为主观的方法,通过该特征可以辨别当前语音是否清晰。音质一般可以从音调的微扰动、音调强度的变化等方面进行描述。音质的特征通常包括共振峰频率、频谱中心矩、谐波噪声比。
知识点3:语音情感分析
2.语音情感识别分类器
模式识别是计算机领域的经典研究方向,语音情感分类也是模式识别的一类重要应用。根据模式识别,用于语音情感分类的分类器可以分为两种:线性分类器和非线性分类器。线性分类器一般有使用隐马尔可夫模型和混合高斯模型的概率统计分类方法,以及使用人工神经网络(Artificial Neural Network,ANN)和支持向量机的分类器学习方法。非线性分类器主要是指基于深度神经网络的分类器,如深度玻尔兹曼机(Deep Boltzmann Machine,DBM)、循环神经网络、卷积神经网络和自动编码器(Autoencoder,AE),这些深度学习技术是语音情感识别的基础技术。
知识点3:语音情感分析
小贴士:
线性分类器和非线性分类器
线性分类器用一个“超平面”将正、负样本分隔开,例如:
(1)二维平面上的正、负样本用一条直线进行分类。
(2)三维立体空间内的正、负样本用一个平面进行分类。
(3)N维空间内的正、负样本用一个超平面进行分类。
非线性分类器用一个“超曲面”或多个超平(曲)面的组合将正、负样本分隔开,例如:
(1)二维平面上的正、负样本用一条曲线或折线进行分类。
(2)三维立体空间内的正、负样本用一个曲面或者折面进行分类。
(3)N维空间内的正、负样本用一个超曲面进行分类。
知识点3:语音情感分析
2.语音情感识别分类器
线性分类器应用于情感识别的早期,深度学习当时还未加入机器学习算法家族。后来,深度学习成为机器学习中一个新兴的研究领域,受到了极大的关注,被广泛应用于语音情感识别任务。表7.1显示了在使用IEMOCAP、EMO-DB和SAVEE数据集测量各种情感的情况下,深度学习算法与传统算法的详细比较分析,可以看出在生气、开心和悲伤三类情绪的识别率上,作为深度学习中的重要模型的卷积神经网络有良好的表现。
知识点3:语音情感分析
小贴士:
线性分类器和非线性分类器
线性分类器用一个“超平面”将正、负样本分隔开,例如:
(1)二维平面上的正、负样本用一条直线进行分类。
(2)三维立体空间内的正、负样本用一个平面进行分类。
(3)N维空间内的正、负样本用一个超平面进行分类。
非线性分类器用一个“超曲面”或多个超平(曲)面的组合将正、负样本分隔开,例如:
(1)二维平面上的正、负样本用一条曲线或折线进行分类。
(2)三维立体空间内的正、负样本用一个曲面或者折面进行分类。
(3)N维空间内的正、负样本用一个超曲面进行分类。
知识点3:语音情感分析
线性分类器应用于情感识别的早期,深度学习当时还未加入机器学习算法家族。后来,深度学习成为机器学习中一个新兴的研究领域,受到了极大的关注,被广泛应用于语音情感识别任务。表7.1显示了在使用IEMOCAP、EMO-DB和SAVEE数据集测量各种情感的情况下,深度学习算法与传统算法的详细比较分析,可以看出在生气、开心和悲伤三类情绪的识别率上,作为深度学习中的重要模型的卷积神经网络有良好的表现。
算 法 生 气 开 心 悲 伤
K-邻近 93% 55% 77%
线性判别分析 68% 49% 72%
支持向量机 74% 70% 93%
正则判别分析 83% 73% 97%
卷积神经网络 99% 99% 96%
表7.1 不同分类器分类准确度对比
知识点4:文本情感分析
文本的情感倾向包括文本反映的情感的方向(褒或贬)及其强度。文本情感分析是对带有情感色彩的主观性文本进行分析、处理、归纳和推理的过程,其目的是通过挖掘和分析文本中的立场、观点、看法、情绪、好恶等主观信息,对文本体现出的态度(或称情感倾向性),即文本中的主观信息进行判断。文本中的时态、语法、句法等结构在情感分析的研究中具有重要价值,文字符号信息的使用可以为情感分析模型提供更多的语义信息,能够帮助智能机器更好地理解情感状态。文本情感分析已广泛应用于社会舆情分析、产品在线跟踪与质量评价、影视评价、新闻报道评述、事件分析、股票评论、图书推荐、企业情报系统、客户关系管理等方面,具有重要意义。
文本情感分析的方法主要可以划分为三大类,分别为基于情感词典的分析方法、基于机器学习的分析方法、基于深度学习的分析方法。
知识点4:文本情感分析
1.基于情感词典的分析方法
基于情感词典的分析方法起源于基于语法规则的文本分析方法,需要具有语法敏感性的专业人士构建情感分析的词典(正向情感词典和负向情感词典),即将某语言中用于表达情感的词汇分为两类。
基于情感词典的文本情感分析流程如图7.4所示。首先以词语为基本单位对需要分析的文本进行分句、分词等预处理。接着与情感词典进行对比,抽取情感词与短语。然后计算句子情感得分。再累计所有情感句子的情感倾向。最后得出文本情感极性和情感强度。这种情感分析的方法需要耗费大量人力来扩充情感词典,当出现语句中无情感词时,该方法将会失效,因此不能适应当今的海量文本数据,可迁移性差。
情感词典的来源主要有两种渠道:一种是根据搜集的语料中的情感词自定义的情感词典;另一种是使用开源的大型语料库,中文文本主要采用知网HowNet、大连理工大学的中文情感词汇本体库等,英文文本可以采用WordNet。
图7.4 基于情感词典的文本情感分析流程图
知识点4:文本情感分析
2.基于机器学习的分析方法
基于机器学习的分析方法主要使用机器学习模型,生成机器学习模型需要进行大量的文档标注,利用标注好的情感类别的训练集,提取出相应的特征值,使用机器学习的分类方法来训练并得到分类器,再使用该分类器对无标注的文本进行情感分类。机器学习模型有很多,每个模型有自己擅长的领域,文本情感分析主要的模型工具有朴素贝叶斯(Naive Bayes,NB)、支持向量机和最大熵等。
基于机器学习的分析方法摆脱了依靠有限词典的局限性,且该方法的分类效果优于基于情感词典的分析方法,但是基于机器学习的分析方法成功的关键在于选择出大量高质量的标注样本,需要将最佳的特征与分类器组合,才能实现基于机器学习的文本情感分析。
基于机器学习的文本情感分析流程如图7.5所示。主要包括分类器训练和文本情感分析两个主要环节。在分类器训练过程中,通过训练集和测试集对分类器模型进行训练和调优,提高分类器的准确率。在文本情感分析环节,利用已训练好的分类器对待处理文本进行情感分析,得出情感分析结果。
图7.5 基于机器学习的文本情感分析流程
知识点4:文本情感分析
3.基于深度学习的分析方法
深度学习技术的发展使文本情感特征逐渐转向词向量、句子向量的表征特征。这些词向量、句子向量通过深度神经网络等技术无监督地训练文本数据,将文本特征的提取从手动变为自动。深度学习模型通常是多层结构的神经网络,在进行文本情感分析时,常用的网络模型主要有长短期记忆网络(Long Short-Term Memory,LSTM)、卷积神经网络。长短期记忆网络是一种特殊的循环神经网络,擅长对自然语言建模,对利用计算机来处理自然语言的意义重大,让计算机对自然语言的处理深入到语义理解层面。卷积神经网络是一种特殊的前馈神经网络,其卷积层可以很好地提取局部特征,并考虑句子中上下文信息。
在文本情感分析系列任务中,基于深度学习的分析方法与基于情感词典的分析方法、基于机器学习的分析方法相比,不但能够自发地完成对文本关键特征的提取,而且在模型泛化能力和准确率方面有飞跃性的提升。
项目实施:情感分析应用——智能语音情感倾向分析
任务1 创建应用
步骤1:创建语音技术应用
任务1 创建应用
步骤2:创建自然语言处理应用
任务2 编写语音情感分析程序
在创建语音识别应用和自然语言处理应用后,接下来将调用这两个应用以实现智能语音的情感倾向分析。首先分别创建两个应用客户端,用于调用相应的功能函数。然后定义语音识别函数和情感分析函数,用于后期使用。最后输入文本或音频实现情感分析。流程如图7.17所示。
图7.17 编写语音情感分析程序的流程
任务2 编写语音情感分析程序
步骤1:配置基础环境
任务2 编写语音情感分析程序
步骤2:导入库函数
实现语音翻译需要对数据进行编码和解码,以及调用百度API进行语音识别等操作,导入相关的库函数有助于功能的实现。
from record import my_record
from aip import AipNlp, AipSpeech
(1)my_record:record.py中定义的函数,用于录制标准音频。
(2)AipNlp:百度自然语言处理的客户端,认证成功之后,客户端将被开启,调用客户端后用于情感分析。
(3)AipSpeech:百度语音的客户端,认证成功之后,客户端将被开启,调用客户端后用于语音识别。
任务2 编写语音情感分析程序
步骤3:创建客户端
使用百度AI开放平台实现语音识别和情感分析,需要使用获取的百度AI云服务应用参数AppID、API Key、Secret Key来创建客户端(见图7.11和图7.16),以实现相应功能。
(1)设置语音识别云服务参数
提示:此处的APP_ID、API_KEY、SECRET_KEY分别与在百度AI开放平台上创建的语音识别应用和自然语言处理应用的AppID、API Key、Secret Key相对应。AppID在百度云控制台中创建,API Key和Secret Key是在应用创建完成后,系统分配给用户的,均为字符串,用于标识用户,为访问做签名验证。
任务2 编写语音情感分析程序
步骤3:创建客户端
(2)设置情感分析云服务参数。
(3)创建两个客户端client、client2,第一个客户端是语音识别的客户端,第二个客户端是情感分析的客户端。代码如下。
任务2 编写语音情感分析程序
步骤4:定义音频读取函数
录音后,需要读取录制的音频。定义音频读取函数,用于读取音频数据,代码如下。
在Python中,open()函数用于打开一个文件,创建一个file对象,即创建数据读取的实例。函数体中使用with…as将open(filePath, 'rb')简写为fp。其中,filePath为需要读取的文件路径,rb表示读取操作。创建实例后,可以调用read()方法一次性读取所有数据,作为函数的输出结果。
任务2 编写语音情感分析程序
步骤5:定义语音识别函数
定义语音识别函数,用于对录制的音频进行语音识别,将音频转换为文本,为后面的情感分析做准备,代码如下。
任务2 编写语音情感分析程序
步骤6:定义情感分析函数
定义情感分析函数,利用该函数对语音识别的结果进行情感分析,得到语音的情感倾向是积极、消极还是中性的。代码如下。
任务2 编写语音情感分析程序
步骤7:编写调用函数的逻辑
利用在循环逻辑结构内嵌多分支条件结构,调用定义的音频读取函数、语音识别函数、情感分析函数,完成对所输入的文本或语音的情感分析。程序的逻辑如图7.20所示。
任务2 编写语音情感分析程序
步骤7:编写调用函数的逻辑
任务3测试语音情感分析程序
步骤1:调试并运行编写的程序
调试程序,保障各段程序可以正常执行,打开程序运行窗口,如图7.21所示。
任务3测试语音情感分析程序
步骤2:对输入的语音进行情感分析
利用编写的语音情感分析程序,对表7.2中的内容,分别以文字和语音两种形式,逐项进行情感分析,记录分析结果。
序号 内 容 语音情感分析结果 文本情感分析结果
1 最美不过家乡美,最浓不过故乡情
2 空气不好时,我的心情就会不好
3 C919翱翔蓝天,体现了国家的意志和人民的希望
4 中国人有力量,能做到“逢山开路,遇水架桥”

展开更多......

收起↑

资源预览