中国移动基于语音识别的情感分析系统的设计与实现硕士学位论文_第1页
中国移动基于语音识别的情感分析系统的设计与实现硕士学位论文_第2页
中国移动基于语音识别的情感分析系统的设计与实现硕士学位论文_第3页
中国移动基于语音识别的情感分析系统的设计与实现硕士学位论文_第4页
中国移动基于语音识别的情感分析系统的设计与实现硕士学位论文_第5页
已阅读5页,还剩75页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

硕士学位论文题目:中国移动基于语音识别的情感分析系统的设计与实现 毕业设计(论文)原创性声明和使用授权说明原创性声明本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。作者签名:日期:指导教师签名:日期:使用授权说明本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。作者签名:日期:学位论文原创性声明本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律后果由本人承担。作者签名:日期:年月日学位论文版权使用授权书本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。涉密论文按学校规定处理。作者签名:日期:年月日导师签名:日期:年月日注意事项1.设计(论文)的内容包括:封面(按教务处制定的标准封面格式制作)原创性声明中文摘要(300字左右)、关键词外文摘要、关键词目次页(附件不统一编入)论文主体部分:引言(或绪论)、正文、结论参考文献致谢附录(对论文支持必要时)2.论文字数要求:理工类设计(论文)正文字数不少于1万字(不包括图纸、程序清单等),文科类论文正文字数不少于1.2万字。3.附件包括:任务书、开题报告、外文译文、译文原文(复印件)。4.文字、图表要求:文字通顺,语言流畅,书写字迹工整,打印字体及大小符合要求,无错别字,不准请他人代写工程设计类题目的图纸,要求部分用尺规绘制,部分用计算机绘制,所有图纸应符合国家技术标准规范。图表整洁,布局合理,文字注释必须使用工程字书写,不准用徒手画毕业论文须用A4单面打印,论文50页以上的双面打印图表应绘制于无格子的页面上软件工程类课题应有程序清单,并提供电子文档5.装订顺序设计(论文)附件:按照任务书、开题报告、外文译文、译文原文(复印件)次序装订指导教师评阅书指导教师评价:一、撰写(设计)过程学生在论文(设计)过程中的治学态度、工作精神□优□良□中□及格□不及格学生掌握专业知识、技能的扎实程度□优□良□中□及格□不及格学生综合运用所学知识和专业技能分析和解决问题的能力□优□良□中□及格□不及格研究方法的科学性;技术线路的可行性;设计方案的合理性□优□良□中□及格□不及格完成毕业论文(设计)期间的出勤情况□优□良□中□及格□不及格二、论文(设计)质量论文(设计)的整体结构是否符合撰写规范?□优□良□中□及格□不及格是否完成指定的论文(设计)任务(包括装订及附件)?□优□良□中□及格□不及格三、论文(设计)水平论文(设计)的理论意义或对解决实际问题的指导意义□优□良□中□及格□不及格论文的观念是否有新意?设计是否有创意?□优□良□中□及格□不及格论文(设计说明书)所体现的整体水平□优□良□中□及格□不及格建议成绩:□优□良□中□及格□不及格(在所选等级前的□内画“√”)指导教师:(签名)单位:(盖章)年月日评阅教师评阅书评阅教师评价:一、论文(设计)质量1、论文(设计)的整体结构是否符合撰写规范?□优□良□中□及格□不及格2、是否完成指定的论文(设计)任务(包括装订及附件)?□优□良□中□及格□不及格二、论文(设计)水平1、论文(设计)的理论意义或对解决实际问题的指导意义□优□良□中□及格□不及格2、论文的观念是否有新意?设计是否有创意?□优□良□中□及格□不及格3、论文(设计说明书)所体现的整体水平□优□良□中□及格□不及格建议成绩:□优□良□中□及格□不及格(在所选等级前的□内画“√”)评阅教师:(签名)单位:(盖章)年月日教研室(或答辩小组)及教学系意见中国移动基于语音识别的情感分析系统的设计与实现摘要伴随着科学技术的飞速发展和人们对计算机依赖性的不断增加,如何使计算机对气氛和环境等因素具有更强的感知能力,从而分析说话人的情感和态度,将成为计算机语音情感识别技术发展的新目标。语音的情感分析是一个新兴的课题,对它的研究是进一步发展人机交互技术的基础,虽然已经取得了一些进展,但是还有很多问题值得更加深入的研究。本文根据实际工作需要,设计并实现了中国移动基于语音识别的情感分析系统。论文应用Matlab语言完成对语音情感的分析,采用J2EE中的Spring和Hibernate完成对人员设置功能的实现,采用Mel频率倒谱系数MFCC和动态时间规整DTW算法,对系统中话务员、移动客户、公司考评领导和系统管理员四种用户进行了分析,并详细分析了系统管理功能、数据来源功能、情感分析结果管理功能以及信息反馈功能。根据分析结果,设计并实现了一个中国移动基于语音识别的情感分析系统,并对系统管理模块、数据来源模块、情感分析结果管理模块以及信息反馈模块的设计和实现过程进行详细的论述,系统的数据存储使用Oracle数据库来实现,所以对数据库关系的设计进行了论述,并列举部分数据表的详细设计。客户服务中心的优质服务是中国移动与客户进行沟通的重要桥梁,语音情感识别在未来将会被广泛应用,中国移动基于语音识别的情感分析系统的完成,对中国移动话务员的服务质量提供了有力的评证,可以根据分析的数据对话务员的服务态度进行评价,保证通话质量,提高客户满意度。关键词:Matlab;J2EE;语音情感;动态时间规整算法TheDesignandImplementationofChinaMobileSentimentAnalysisSystemBasedonSpeechRecognitionABSTRACTWiththerapiddevelopmentofscienceandtechnologyandpeople’sstongerdependenceonthecomputer,itwillbecomeanewgoalforthespeechrecognitiontechnologytomakethecomputermorecompetentinsensingtheclimateandenvironmentalfactorssoastobetteranalyzethespeaker'semotionsandattitudes.Sentimentanalysisofthespeechisanemergingissue,anditsresearchisthebasisthefurtherdevelopmentofhuman-computerinteractiontechnologies.Researchonsentimentanalysisofthespeechhasmadesomeprogressinmanyareas,butasforthrealhumaninteractiontechnology,therearestillmanyproblemstobesolved.Basedontheactualworkneeds,wedesignandimplementasentimentanalysisaystemofChinaMobilebasedonspeechrecognition.WeapplyMatlabinmakingsentimentanalysisofthespeech;useSpringandHibernateinJ2EEinrealizingoftfunctionofpersonnelsetting;useMelFrequencyCepstral(MFCC)anddynamictimewarping(DTW)algorithmsinanalyzingthefourusersofsystemoperators,mobilecustomers,evaluationmanagersofthecompany,andsystemadministrators;andanalyzeindetailthefunctionsofsystemmanagement,datasources,sentimentanalysisresults,andinformationfeedback.Accordingtotheanalysisresults,aChiMobilesentimentanalysissystembasedonspeechrecognitionisdesignedandimplemented,andthedesignandimplementationprocessesofsystemmanagementmodule,datasourcesmodule,sentimentanalysisresultsmanagementmodule,andinformationfeedbackmodulearediscussedindetail.ThedatastorageofthesystemuseOracledatabase,sothedesignofthedatabaserelationsisdiscussed,anddetadesignsofsomedatatablesarecited.ThequalityserviceofthecustomerservicecenterisanimportantbridgeofcommunicationbetweenChinaMobileanditscustomers,andspeechsentimentrecognitiontechnologywillbewidelyusedinthisfieldinthefuture.ThesentimanalysissystemofChinaMobilebasedonspeechrecognitionwillprovideapowerfultoolforChinaMobileinassessingthequalityofserviceoftheiroperators,soaensurethecallqualityandimprovecustomersatisfaction.KEYWORDS :Matlab;J2EE;SpeechEmotion,DynamicTimeWarpingAlgorithm

目录第一章引言11.1课题背景11.2课题任务21.2.1课题内容21.2.2本人承担任务21.3论文结构2第二章相关技术介绍42.1MATLAB语言介绍42.2J2EE介绍52.3JSP介绍62.4数据库介绍72.5模式设计介绍92.6本章小结9第三章系统需求分析113.1系统总体需求分析113.2系统功能分析133.2.1系统管理功能分析133.2.2数据来源功能分析143.2.3情感分析结果管理功能分析203.3.4信息反馈功能需求分析203.4本章小结22第四章系统设计234.1系统架构设计234.2各模块设计244.2.1系统管理模块的设计244.2.2数据来源模块的设计294.2.3情感分析结果管理模块的设计334.3.4信息反馈模块的设计334.3数据库设计35I4.3.1数据库关系结构图354.3.2基本表的设计364.3.3关系表的设计394.4本章小结40第五章系统实现415.1系统总体实现415.2其他功能模块的实现425.2.1系统管理模块的实现425.2.2数据来源模块的实现465.2.3情感分析结果管理模块及信息反馈模块的实现505.3本章小结51第六章系统测试526.1功能测试526.1.1界面的设计526.1.2GUI测试界面的操作536.1.3测试方法546.1.4测试结果546.2本章小结55第七章结束语577.1论文工作总结577.2问题和展望57II第一章引言1.1课题背景中国移动的10086客服系统以及投诉管理系统(例如投诉及回访)都会有人工服务,即电话服务,这些电话会被录音,但录音信息不能像文字信息一样便于查找和分析,所以系统将通过语音识别来记录一些对话中的关键词,然后再进行分析看客户致电时的情绪如何,从而智能的判断和收集客户的满意度信息。伴随科学技术飞速的发展和人们逐渐对计算机越来越依赖,人类与计算机之间的“沟通”变得更加受科学家们的关注。为了使计算机变得更加“人性化”,减少人类与计算机之间的沟通障碍,使计算机能够感知人类说话时的态度以及情感,对研究的目的来看,使计算机变得情感智能化显得尤为重要[1]。所以想让计算机更加适应人类的需要,必须先时机器能够识别人类的情感,然后根据机器识别出的情感来调整沟通的方式。人类通过听觉所得到的是语音模式信息,其中包括非符号和符号信息。语音信号处理是去除掉语音中的噪声,将其中的非符号进行保留,[2]。相同的一句话,因为说话人所表达的情感差异,听者的感知也会存在有很大的差异。人类通过不同的感知器官来同时接收不同形式的信息,怎样有效和快速利用不同的信息使信息传递效果达到最佳,将成为未来处理信息研究的重要发展方向。所以对语音中的情感信息通过计算机来研究是具有非常大的意义。将语音信号中的情感特征进行提取,从而来判断其中包含的情感[3],这种研究不但具有科学上的意义,同时在实际应用中也具有很多价值。语音的情感分析对实现人机间的无障碍交流具有很深的意义。虽然已经取得了一些进展,但是计算机在识别人类情感方面还是有一些比较生硬的地方,因此需要进行更加深入的研究[4]。语音情感识别的难点如下:语音情感数据库:必须建立一个能够充分表达情感,并且能够准确描述情感的情感语音库,将其中情感特征准确地提取出来,对于以后在情感特征上的识别研究显得尤为重要。语音情感的识别:目前虽然已经有了很多的语音识别系统,但是识别的是其中的语言文字识别,并没有包含情感信息,所以语音处理中对于情感的识别研究变得很热门[5]。从目前的发展水平来看,针对说话人与文字有关、说话人与文字不相关、说话人无关文字有关、说话人无关文字不相关四种训练和测试样本的组织方式进行研究。其中针对说话人与有关文字有关的研究最为成熟,而针对说话人不相关文字不相关的语音情感识别系统则成为研究的重点和难点。1.2课题任务1.2.1课题内容本系统主要以中国移动对语音识别的情感分析系统的设计与实现,研究了系统中对语音情感识别算法的实现,系统将分析实现以下内容:系统管理模块:包括人员设置和考核指标设置等功能,人员设置包括对管理人员的设置和被考核人员的设置;考核指标设置是指对被考核人员的考核成绩指标进行设置。数据处理模块:包括语音输入,语音信号预处理,模板库建立,算法分析和结果输出等功能,这部分是对通过语音情感的特征提取与识别所分析出来的结果进行数据的保存。信息反馈模块:包括邮件反馈和考核公告,邮件反馈用于将被考核的话务员的成绩以邮件的形式进行通知;考核公告是将考核成绩较好或考核指标等一些相关信息以公告的形式在网站上进行公布,来方便网站使用者对信息的查看。1.2.2本人承担任务在该中国移动基于语音识别的情感分析系统中,本人参与了系统的总体设计、数据库设计,并对系统管理模块、数据处理模块以及信息反馈模块进行了详细设计、编码、测试及文档的编写等工作。1.3论文结构本文共分七章,内容安排如下:第一章引言,介绍本课题的研究背景,研究内容,以及对语音情感识别的研究存在着哪些意义。第二章相关技术介绍,对中国移动基于语音识别的情感分析系统的设计和实现过程中用到的开发语言、平台技术以及框架技术进行介绍,主要阐述了Matlab语言、J2EE技术平台、JSP技术以及Oracle数据库的特点。介绍本系统所需要采用的设计模式。第三章需求分析,对系统的总需求进行分析,并对系统中系统管理功能、数据来源功能、情感分析结果管理功能以及信息反馈功能进行了详细的需求分析,在数据来源功能中还对Mel频率倒谱系数MFCC和动态时间规整DTW算法进行了详细的分析。第四章系统设计,介绍了语音识别情感分析中用到的系统架构进行设计,并对系统管理模块、数据来源模块、情感分析结果管理模块以及信息反馈模块进行详细设计,进行数据库设计,对并数据关系进行说明。第五章系统实现,系统总体实现部分主要论述Web.xml文件配置以及数据库连接配置进行介绍,并且对系统管理模块、数据来源模块、情感分析结果管理模块和信息反馈模块的实现进行详细讨论。第六章系统测试,为了方便测试,设计并开发了基于MatlabGUI的图形用户界面完成对数据处理模块的语音情感分析部分的测试,并对测试的结果如何进行说明。第七章结束语,对论文中所做的工作,以及系统的应用进行总结,并对系统的应用进行展望。第二章相关技术介绍本章主要介绍中国移动基于语音识别的情感分析系统中使用到的Matlab语言、J2EE平台技术,JSP技术,以及后台用到的Oracle数据库技术。2.1Matlab语言介绍MATLAB是一款商业数学软件,是一种交互式程序语言的编辑模式,主要被运用在了科学计算方面,对于算法的研究具有很好的支持,同时可以通过MATLAB的GUI功能实现人机的交互,方便数据的分析[6]。主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等[7],其图形界面接近于windows的风格,同时还对多种语言有很好的支持,因此文中可采用MATLAB进行语音信号的提取,算法在其中进行实现的解决方法,而将其他业务交由JAVA语言来进行实现。矩阵是MATLAB的基本数据单位,在开发中用到的矩阵表达式类似于在数学中用到的矩阵,用方括号将矩阵括起来,因此在解决算法等问题上MATLAB表现了其独有的优势[8]。Matlab语言的优势特点包括包括以下四点:强大的图形处理功能,使编程和计算结果可视化;其在数值计算以及符号计算上的强大功能,可以减少程序开发者在数值分析上所耗费的精力与时间。强大的信号处理工具类和通信工具类,可以直接采用MATLAB提供的录音工具类,完成对语音的采集工作。接近数学表达式的自然化语言和友好的用户界面,使学习者更加容易学习和掌握。MATLAB由一系列(如信号处理工具、通信工具等)工具组成。采用用户图形界面的方式,使得开发者在使用以上工具类中的函数进行开发时变得更加容易,在使用编辑和调试功能上也很方便,同时支持搜索等功能,方便用户在开发时对软件的使用。商业化的发展以及系统的升级,使得MATLAB让使用者觉得采用MATLAB进行算法的开发更加简便,其具有良好的图形用户界面,而操作也变得更加的简单[9]。Matlab具有面向对象编程的特点,是一种矩阵/阵列语言,用户编写的文件是以.M结尾的文件,可以通过命令执行单个函数,也可以整体执行.M文件。MATLAB语言采用C++语言进行编写,但用户在使用MATLAB进行计算以及算法上的开发时,其风格更加接近于实际当中的数学运算,这样使得开发起来更加的方便和简单,即使是非计算机专业的科技人员也能使用,同时可移植性比较强,可以被应用在多个行业的科学研究或者计算当中。MATLAB能够满足用户对各种计算功能上的使用,具有强大的计算算法,同时包含大量的数学运算函数[10]。新版本的MATLAB在图形用户界面(GUI)技术上也做了很大的改进,对图形界面有特殊需求的用户可获得很好满足。MATLAB对专门行业的开发也提供了工具类和模块,其功能十分强大,用户可以直接拿来使用,来满足自己对于数学计算方面的需求,行业涉及广泛,诸如数据采集、概率统计、优化算法、样条拟合、神经网络、信号处理、图像处理、系统辨识、偏微分方程求解、控制系统设计、LMI控制、小波分析、鲁棒控制、模型预测、模糊逻辑、金融分析、地图工具、非线性控制设计、实时快速原型及半物理仿真、嵌入式系统开发、定点仿真、DSP与通讯、电力系统仿真等,都在工具类(Toolbox)家族中有了自己的一席之地[11]。2.2J2EE介绍J2EE是一个可跨平台的的企业级平台,通过这种开发方式,使得系统具有很强的移植性,同时可以被部署在Windows操作系统或Linux系统上。开发者只要按照J2EE标准进行开发的平台,可以结合多种开源框架进行开发,同时避免了自己开发的持久层框架耗费多余时间,并且避免功能不全,只要遵循J2EE标准,平台就可以被部署在多种应用服务器上。通过一个多层的分布式应用程序模型完成对J2EE平台的使用系统依照其实现方式的不同将功能封装到不同的组件当中,使组件分别负责不同的功能,从而实现系统的横向扩展,这种开发方式使得代码在维护时变得更加方便,使业务逻辑与视图相分离[12]。J2EE组件组件可以被重复利用,在J2EE中,组件属于Web组件、EJB组件、客户端组件,或者是应用组件中的一种,包括客户端组件、Web组件以及业务逻辑组件[13]。J2EE容器EJB容器用于为EJB组件提供各种系统级别的服务,如安全管理和事务管理,用于充当中间件的角色,并且对EJB组件进行有效的管理,目前比较流行的容器包括WebSphere、Tomcat、Weblogic和Resin等[14]。容器服务没有容器,实现J2EE的程序就无法运行。因此,在运行J2EE程序前,需要为J2EE中的各个组件和J2EE应用程序指定容器的设置,包含事务管理、安全性、远程连接和Java命名目录接口等[15]。下面是其主要部分:1.J2EE的事务模式是让开发者通过方法间关系来组成单一事务,这样使得同一事务中的所有方法将被当成相同的单一整体。2.J2EE的安全性模式是要想访问EnterpriseBean需要用户被授权。3.J2EE远程连接模式提供了客户端和EnterPriseBean之间底层通信的管理功能[16]。4.JNDI搜寻服务提供的接口是统一的[17]。J2EE体系提供了方便的可配置服务,以及数据持久化等功能[19]。容器类型既然J2EE有多个组件,那它也就有多个J2EE容器,J2EE容器有如下几种。1.EJB容器:一个J2EE服务器提供EJB容器和Web容器。2.Web容器:Web容器负责J2EE中的页面以及请求的执行,Web组件和它的容器也运行在J2EE服务器中,系统中采用的是WEB容器。4.Applet容器:是运行在客户端的Java插件以及Web浏览器共同组成,负责应用的运行。2.3JSP介绍JSP(JavaServerPages)是通过很多公司共同制定的动态网页技术标准,主要由SUN公司提出。JSP在服务器端运行,返回给客户端的是HTML文本,客户端需要有浏览器进行查看。服务器接收到JSP发送的请求后执行JAVA代码段(网页跳转,数据库操作)然后将结果返回给发送请求的客户端,在功能上与JavaServlet相似。数据处理通常不在JSP中进行,JSP只是用来对用户使用的界面进行展示,通常是提取数据,业务处理不在其中。而且大型的Web应用程序的开发需要JavaServlet和JSP配合才能完成[20]。JSP技术所开发的Web应用程序是基于Java的,因此可以实现跨平台,JSP将页面的设计和显示与业务逻辑相分离,实现组件重用,加快Web的应用程序的开发。跨平台JSP技术以Java为基础,所以是跨平台的,可以被运行在多种系统上,如windos、Unix等。业务代码分离采用JSP技术开发的项目,HTML语言实现界面的静态部分,而使用JSP标签和Java代码片段完成代码动态部分。程序员可将业务部分的代码放在JavaBean中或是交给Servlet或Struts这样的控制层,使业务部分的代码从视图层分离出来。组件重用JSP中的业务逻辑的访问可以通过JavaBean来编写,业务逻辑代码通过使用JavaBean类来将数据进行抽象,使用其中的get/set方法来进行赋值和获取,这个JavaBean可以在项目和JSP页面中被重复使用。JavaBean还可在其他Java应用程序中被使用。继承JavaServlet功能Servlet是JavaWeb开发早于JSP出现的。在Servlet类中的Java和HTML代码,接收到用户请求后将结果页面返回给浏览器,这是通过输出流来完成的。但缺点是HTML代码在类中编写是非常不方便的,可读性很差。在JSP技术出现后,Web开发应用程序变得方便很多,而且JSP需要被编译成Servlet后才能对用户的请求进行响应。预编译在用户访问JSP页面时,必须要通过服务器将JSP的代码进行预编译,在编译后,服务器会对编译好的程序保存在服务器当中,当用户再一次访问JSP时,编译好的程序将被直接执行,这样可以提高用户对页面的访问速度,提高用户体验。JSP在开发上比较容易,完全的面向对象,与开发平台无关,主要面向因特网的所有特点,并且安全可靠,简化了动态Web内容的传输。JSP的运行方式如下:当用户向浏览器发送请求时,HTML文件经过预编译后,形成Servlet后,再返回给用户,对用户的请求作出响应,JSP中可实现对数据的动态显示。如果该JSP文件没有被修改过,当浏览器再向服务器发出请求时,JSP文件将不会再被编译,而是直接执行已编译好的Servlet[21]。2.4数据库介绍(一)JDBCJava数据库连接,简称JDBC,帮助用户实现Java与数据库之间的连接,按照JDBC的标准,用户可以设置访问数据库的访问信息,设置空闲时间等。JDBC有如下3种组件。JDBC测试工具包、JDBC管理器和JDBC-ODBC桥。JDBC管理器是JDBC中的支柱。驱动程序管理器很小同时很简单;主要功能是将JDBC驱动程序和Java应用程序正确连接上,然后马上退出。不同的数据库使用不同的JDBC驱动包,JDBC驱动能够提供相当的可信度。通过JDBC测试的驱动程序被当作是符合JDBC标准TM的。JDBC-ODBC桥使ODBC驱动被当作JDBC驱动程序使用,提供了不常用的数据库管理系统的调用方法。(二)ORACLE数据库ORACLE是被广泛使用的B/S体系结构或客户/服务器(CLIENT/SERVER)的数据库之一,是美国ORACLE公司(甲骨文)提供的以分布式数据库为理念的数据库产品。作为通用的数据库系统,ORACLE是被使用最多的DBMS。Oracle数据库最新版本为OracleDatabase12c。Oracle数据库的多租户体系结构使得其可以方便的使用在云平台上。此外,一些创新特性可最大限度地提高资源使用率和灵活性,如OracleMultitenant可快速整合多个数据库,而AutomaticDataOptimization和HeatMap能以更高的密度压缩数据和对数据分层,其安全性以及可靠性,和对大数据的强大处理能力,使其成为管理数据库云平台的理想选择。Oracle数据库的特点:(1)数据管理功能的完整性:数据在保存上的持久性大量性可靠性共享性(2)产品具有完备的关系:保障访问信息表中的数据在关系型DBMS显式的表示,在逻辑上都应该采用同一种方法,那就是信息准则;逻辑性和数据在物理上的独立的准则视图更新准则是如果视图表中的值发生变化,在对应视图的值也要同时发生变化。处理功能采用分布式:ORACLE数据库的分布式处理的功能由很多ORACLE关系数据库以及其他非ORACLE的关系型数据库产品构成。用ORACLE在数据仓库的操作是很便捷的,优点是可扩展性强;可用性强;稳定性强;数据安全性强。2.5模式设计介绍MVC全称模型视图控制器(ModelViewController),将业务逻辑与数据进行分离,业务逻辑在一个组件中,使数据交互和页面同业务逻辑相分离,在修改时不需要改动业务逻辑的代码,映射传统的输入、处理和输出功能在一个逻辑的图形化用户界面。作为目前非常流行的J2EE开源产品之一,Spring为企业应用的开发提供了一个轻量级的解决方案,提供了一种统一的架构方式,融合了大量的中间层模块,能够大大简化J2EE开发过程。IoC(InverseofControl,控制反转)是Spring容器的内核,其他功能都构建在此基础之上。AOP的英文全称是AspectOrientedProgramming,中文含义是面向切面编程,可以将不应该聚合在一起的功能从业务操作代码分离并提取出来,使用依赖注入的方式注入到业务代码中,降低了代码的耦合度,提高了代码重用率。ORM(ObjectRelationalMapping)是能使实体和关系型数据库之间进行映射的技术,也叫实体关系映射模型。是把数据库中的表中的元素与对象的属性一一对应,以对象的形式操作关系型数据库。ORM通过关系将实体与对象之间进行联系,这种关系可以是一对一,多对一,或一对多,操作对象中的字段将数据持久化到数据库。ORM是在持久层与业务逻辑层间起到桥梁的作用,使对象(Object)到关系(Relational)实现映射(Mapping)。在Hibernate框架中,ORM的设计思想得以具体的实现。Hibernate主要通过Hibernate映射文件、Hibernate配置文件、持久化类和关系数据库间实现交互。映射文件描述数据表与持久化类之间的映射关系;通过持久化类来实现对对象的操作,描述关系数据库中的数据表结构;配置文件用于指定Hibernate的属性信息等,如数据库的连接信息等。2.6本章小结本章介绍了Matlab开发语言以及J2EE平台技术其中包括组件和容器的介绍,还介绍了JSP技术包括JSP的特征和构成组件,对Java数据库连接方式JDBC进行了介绍,Oracle数据库进行了概述。并对本系统设计时所采用的设计模式进行说明。

第三章系统需求分析本章主要对中国移动基于语音识别的情感分析系统的需求进行分析和并且对这个系统中所使用到的算法进行分析。3.1系统总体需求分析中国移动用户在日常生活中有一些问题需要通过拨打中国移动的10086客服电话来了解其在使用中遇到的问题。有些问题可以通过系统智能的回答问题,而有些则需要通过人工服务,即电话服务来完成,这些电话会被录音,但录音信息不能像文字信息一样便于查找和分析,不能判断其在这次通话中是否能够得到满意的回答。系统将通过语音识别来记录一些对话中的关键词,然后再进行分析看客户致电时的情绪如何,从而智能的判断和收集客户的满意度信息。根据对语音情感识别分析系统的使用需求,将本系统所涉及的人员划分为如下四种,即移动话务员、移动客户、公司领导和系统管理员。中国移动基于语音识别的情感分析系统的总体功能用例图如图3-1所示。客户首先可以确定的是客户是移动公司外部的人员,大部分是使用移动公司相关产品的客户群体,当然也包括即将成为移动公司客户群体的潜在客户,这些人的共同特点就是需要进行电话帮助的一类人群,当电话接听后,则移动公司的话务员将会与客户进行沟通,那么沟通过程中产生的语音信息需要被系统记录下来,并由系统对语音信息进行一些预处理,这个预处理过程包括:采样、预滤波、量化、端点检测、加窗、预加重等部分,同时还需要进行情感特征的提取,分析后将这部分数据保存到数据库中。话务员话务员是移动公司的客户服务的一个重要职位,之前已经分析过客户,话务员就是接听客户电话的移动公司员工,是沟通过程中的参与者,同时,在当次通话结束后,系统将对整个过程中产生的语音信息进行处理、分析,并对语言中提取的情感信息进行模式匹配分析,从而得到分析结果,记录到相应的话务员考评成绩当中,所以话务员是服务考评的被考评对象。而且在分析本系统的功能时了解到,话务员不只需要参与语音信息的记录,还可以查看自己各次沟通过程中所产生的情感分析结果,即系统通过语音识别以及情感分析自动生成的客户的满意度结果,这样可以对自己的沟通进行改进,另外如果对系统的考评结果不满意时需要本系统提供一个信息反馈的功能,可以将反馈内容通过留言板或邮件的形式发送,由领导进行处理。最后,在系统中会有一些公告进行发布,所以话务员还需要有查看系统中发布的公告内容的功能。中国移动基于语音识别的情感分析系统公告管理中国移动基于语音识别的情感分析系统公告管理人员设置考核指标设置留言板系统管理员话务员邮件反馈系统管理信息反馈<<uses>><<uses>><<uses>><<uses>><<uses>>语音信号预处理语音输入模式匹配结果数据来源<<uses>>>><<uses情感特征提取情感分析结果管理系统功能客户公司考评领导公司考评领导公司考评领导也是移动公司的员工,是话务员的领导,负责服务考评工作,所以公司考评领导对于系统的使用需要主要是查看情感分析的结果、在系统中设置考核指标、在系统提供的信息反馈功能功能中,处理话务员所提出的意见,还需要通过邮件将一些信息发送给话务员,如个人的考评指标等。公司考评领导还需要发布培训、考评结果等类似公告信息。所以在系统中对于上述的功能需要有操作的权限。当然无论是话务员用户还是公司考评领导用户都需要通过已经设定好的系统的访问权限和密码判定才能登录系统。系统管理员系统管理员是系统的管理维护人员,负责整个系统的管理、运营和维护工作。在本次研发的语言情感识别系统中,系统管理员所操作的功能主要是系统功能以及信息反馈功能。因为系统功能中可以对使用系统的用户信息进行设置,包括使用系统的用户基本信息、以及其所在的部门信息(包括每个话务员所在的部门或者考评部门)、可以使用哪些功能的权限信息等,其被设置的用户主要是公司考评领导和话务员两种用户。系统管理员的信息反馈功能可以通过公告发布系统的维护公告,版本升级信息等。如果话务员和公司考评领导两种用户有对系统的反馈意见也可以通过信息反馈功能发送给系统管理员,由系统管理员用户进行处理以及对意见进行回复。3.2系统功能分析中国移动基于语音识别的情感分析系统按照功能可划分为三大模块,即系统管理模块、语音情感分析结果模块和信息反馈模块,为了论述清晰将语音情感分析结果功能中的结果数据来源进行单独的功能分析。3.2.1系统管理功能分析系统管理功能部分,根据之前的总体用例分析,系统管理功能包括人员设置功能和考核指标的设置功能。(1)人员设置的功能分析:该功能的使用用户主要是系统管理员,被设置的人员是话务员用户和公司考评领导用户,不包括客户,本系统只是取得客户的沟通声音,不对客户进行管理。人员设置功能包括对某一系统用户的基本信息设置、部门设置以及权限设置。如图3-2所示。①基本信息设置:人员信息管理是人事管理中不可缺少的内容,管理的信息包括人员的自然信息,是人事部门管理其他系统的基础。对人员的信息进行的维护可以帮助中国移动公司在对员工的个人信息管理上实现快速、科学以及有效的档案建立,并且提高了整体的工作效率。该功能主要用于管理系统访问者的信息,系统管理员需要管理用户编号、用户使用系统的账号、使用系统的密码。②部门设置:公司部门设置具有重要意义。在具有科学的部门结构的公司中工作,可以提高工作效率,发挥部门领导人的才能;如果公司部门结构混乱且职责不明,管理人员的工作效率也会降低。每个部门有其各自的职责,对系统的操作也有不同的需求,该功能主要是对操作用户所属的部门进行信息的维护。中国移动基于语音识别的情感分析系统人员设置中国移动基于语音识别的情感分析系统人员设置部门设置基本信息设置<<uses>><<uses>>权限设置<<uses>>系统管理员③权限设置:权限是指系统使用者可只能使用自己被管理员所授权的系统菜单,其他菜单不容许被访问,只要有用户和密码的系统,几乎都会有对权限的设置。用户需要让系统知道操作该系统的是谁,系统才会知道应该暴露给用户哪些功能。按照对系统的操作控制力来分,可将角色分为系统级别的控制和数据级别的控制。该功能主要是根据用户所属部门的不同,对用户可操作和查看的系统菜单的权限进行设置。(2)考核指标设置的功能分析:该功能的使用用户主要是公司考评领导,绩效考核指标内容的设置,首先需要设置公司的年度目标各部门的考核指标内容是根据公司的年度目标再分解到各部门。各部门再分解到各小组或个人。公司考评领导可根据满意度的指标对各小组乃至个人进行指标的设定,来完成对小组或个人在接受咨询、投诉或建议时是否得到满意回答的结果进行统计和分析。3.2.2数据来源功能分析中国移动语音的情感识别的流程是:将用户拨打电话后的语音信号通过预处理和数字化后,从而将语音信号通过端点检测,然后再对语音信号进行特征分析。端点检测是指在有噪音的环境下从中找出哪些是语音哪些是噪音,并确定说话人的话语是从什么时候开始以及什么时候结束。因为语音录制的过程有可能存在噪声或背景音等情况,所以端点检测可以对这些语音信息进行识别,这种预处理的过程是十分必要的。最后根据系统中建立的情感模板库,将语音依照训练和识别的不同,进行分别的处理,系统管理员收集并建立不同情感的模板,这些语音具有不同的表现特征,在进行语音的情感识别时,用户的包含情感的语音将与情感模板库中的每个情感模板进行比较,通过这种方式来确定用户语音所属的情感类型。其基本原理用例如图3-3所示。下面具体说明每一个功能。中中国移动基于语音识别的情感分析系统语音信号预处理语音输入情感特征提取数据来源>>uses<<模式匹配结果系统功能>>uses<<话务员客户图3-3语音情感识别系统工作原理用例在中国移动基于语音识别的情感分析系统的数据来源功能中,语音输入即用户(话务员及客户)的语音,将系统中的语音通过一系列的系统功能进行处理,包括:首先需要进行的预处理,在对语音信号进行处理的过程中主要包括:采样、预滤波、量化、端点检测、加窗、预加重等部分。语音情感特征的提取包括:动态特征提取和频谱特征提取。其目的是为了去除掉背景噪声和不重要的信息等,对用户的语音进行端点检测,判断语音的开始和结束位置即有效范围,对语音信号进行分帧和预加重处理。语音情感识别系统的动态特征指单维的短时特征有幅度,能量,过零率,共振峰频率;频谱特征MEL频率倒谱系数(MFCC)可用于反映人耳的听觉特性等。用户语音的特征提取主要是为了计算语音的声学相关参数,来进行情感特征的计算,为了提取能够反映语音信号的情感特征的特征参数,为了减少维数来方便信号的后续处理。对特征参数的要求是:1.提取特征参数能够有效地代表语音特征,具有很好的区分性;2.各阶参数之间有良好的独立性;3.特征参数要计算方便,以保证语音情感识别的实时实现。用户若干次输入训练语音,经过预处理和特征提取后得到序列,并通过建立特征情感语音模板库,或者适当修改模板库中的参考模式。在对用户的语音进行情感识别的时候,可以将用户语音的情感特征矢量序列与语音情感模板库中的模板数据进行相似度的比较,从而可以将匹配出的相似度最高的模板数据所在的情感类别当作情感识别结果进行数据的输出和保存。(一)语音信号预处理语音情感特征参数提取前需要对用户的语音进行预处理,包括:采样、量化、抗混叠滤波、预加重、加窗、端点检测等。语音信号滤波、采样及量化用户的语音数据通过计算机进行分析,需要把从话筒传递过来的用户语音转换成数字信号,这样可以让计算机来对其进行处理。采样是把模拟语音信号s(t)以采样周期T采样,将其离散化为s(n)。采样周期的选取应根据模拟用户情感语音的带宽(采样频率需要是语音信号带宽的两倍及以上,即f2f)。在对采s m集到的语音信号进行量化时会造成量化失真以及噪音。预加重预加重是为了提高语音中的高频部分,使语音信号的频谱更加平滑,这样能够保证从低频到高频这段频带中,采用相同的信噪比来计算频谱,使频谱的分析和声道参数的分析更加的方便快捷。语音信号分帧加窗对语音信号进行分帧以后可以提取其中的短时特征,然后建立短时特征模型。前一帧和后一帧的交叠部分称为帧移。帧移与帧长的比值一般取为0到1/2。如图3-4所示,N为一帧信号的帧长,M为相邻两帧信号的帧移。图3-4图3-4语音信号分帧示意图通常采用一个有限长度的窗函数来对语音信号的分析帧进行截取,表达式为:QTx(m)(nm)(式3.1)nmT是语音的某种特定变换,分为线性或者非线性,语音采样的移动窗是(nm),原始序列是x(m)。在T=sgnx(m)sgnx(m1)时,Q为短时平n均过零率,T为x2(m)时,Q是短时能量(N个点作为抽样点)。这样,经过上面介绍的处过程,语音信号就已经被分割成一帧一帧的加过窗函数的短时信号,然后再把每一个短时语音帧看成平稳的随机信号,进行后续的处理。(4)端点检测将去除噪声后的语音分离出来,确定语音的开始和结束位置是许多语音需要处理根本性问题,在中国移动通信系统的电话业务中的TASI(time-assignmentspeechinterpolation)和语音终端中的VOA(voiceactivedetection)技术。中国移动语音情感识别系统中的端点检测有着非常重要的意义。通过大量的实验统计出来的数据证明,语音信号的开始点和结束点的位置偏离对情感识别结果的准确性有很强的影响:在30ms之内的时间位置偏离会使精确度下降将近2%,而如果时间差超过90ms,将下降30%。科学家们全方位的研究了语音端点检测算法,并且提出了各种算法供研究者参考。其中比较经典的一些算法是依照语音信号中的特征参数(像过零率、能量、LPC预测残差等)来实现语音信号中的端点检测,比较经典的方法是通过能量和过零率完成清音/噪音/浊音的判定,从而实现语音信号的端点检测,把这种方法叫做两级判断法或者VUS算法(VoiceUnvoiceSilence。VUS)的阈值是在特定实验环境下依照经验对其进行设定的,如果实验环境发生变化,则阈值的可靠性就会降低,所以说其抗噪声的能力也会变差。○1短时能量短时能量可用于区分浊音和轻音的,用于区分无声与有声的分界,用于区分声母和韵母的分界,其中清音比浊音的幅度要小很多,清音能量值比浊音能量值要小,所以能量函数只能够大概判定出清音和浊音变化时间。通过求平均幅度函数的办法来加重抽样中的变化,解决高信号电平非常敏感(幅度的平方)的问题。短时能量的定义如下所示,当窗起点为0时:E=N-1x2(m)(式3.2)n nm0其中N为帧长,x(m)为时刻m时的加窗语音,式子表示第n帧语音信号x(m)的短时能量。这一个度量信号幅度值变化的函数,采用另一个度量语音n信号值变化的函数,即短时平均幅度函数的方法来解决计算时采用信号的平方,对高电平非常敏感的问题,它的定义如下所示:MN1|x(m)|(式3.3)n nm0短时平均幅度函数同时也是语音信号能量大小的表现特征,与短时能量函数的不同点是大小取样值在计算的时候不会因为平方造成很大的差异。○2短时平均过零率短时平均过零率是语音信号中的一帧语音在波形穿过零电平时的次数,离散信号的过零是指相邻的取样值发生了符号的改变,过零分析是关于时域分析中最容易的一种方式,针对比较连续的语音信号,过零就说明是时域波形穿过了时间轴。所谓过零率就是指样本改变符号的次数。产生过零的速率是信号频率量的一个简单度量。○3VUS算法VUS算法(V表示浊音,U表示清音,S表示无声)是利用语音的平均过零率和短时能量的性质来实现端点检测的方法,VUS算法的基本原理:为短时平均过零率和短时能量设定两个门限,分别是比较低的门限和比较高的门限,在语音信号的端点检测过程中将其分为四个部分:静音、过渡段、语音段和结束段。在静音的时候,如果语音的过零率或是能量超过了低门限,就将这个地方标注为起始点,然后进入语音的过渡段。当语音在过渡段的时候,因为参数的数值都比较小,这样就不能准确的确定语音是否真正的处于语音段中,所以当两个参数的数值如果都回到了低门限以下,则当前的状态将回到静音状态。而如果在过渡段中平均过零率和短时能量中任何一个的数值高于高门限,则可确定为语音段。一些突发性噪声也会造成过零率或短时能量的数值很高,但是这种噪声不会持续很长的时间,当语音的状态处在语音段的时候,都可采用设定最短时间门限的方法来进行判别。(二)特征提取算法MFCC的分析特征参数提取是为了对语音信号进行分析处理。语音情感识别系统主要提取以短时谱为基础的各种表征,反映人耳听觉特性的MEL频率倒谱系数(MFCC)。Mel频率倒谱系数(MFCC)表示的核心思想是把人的听觉系统对频率感知的非线性特征用于语音识别特征中,具体地说,在50Hz以下的低频段,人耳对频率感知是线性的;在50Hz以上频段,人耳对频率感知呈现对数非线性。Mel频率倒谱参数(MFCC)就是充分利用了人耳对这种频段的感知特性的参数。通过临界带宽的度量方法可以采用Mel刻度,MFCC是将信号频谱的频率轴转换换为Mel刻度,所谓的Mel频率尺度,它的值大体上对应于实际频率的对数分布关系。Mel频率与实际频率的关系式,倒谱系数是通过倒谱域的转换得到的。其具体计算过程如下: 1.语音中的一帧采样{x} ,M是帧长,对{x} 加汉明窗后作M ii1,2,,M ii1,2,,M点的FFT,频域分量{X} 通过时域信号进行转化,离散功率谱S(n)通过取ii1,2,,M模的平方得到;2.为了计算S(m)和H(m)的乘积在各离散频率点上的和,功率值通过带通n滤波器组,获得N个参数P;3.计算自然对数,倒谱通过离散余弦变换(DCT)获得到 24 1Clog(P)cos[k(j)],k1,2,,p(式3.4)kj224j1 p是MFCC的阶数,取p12。{C} 结果是MFCC的参数。kk1,2,,12倒谱提升窗口:得到每帧数据的MFCC参数后,需要将系数乘以权系数。CkkCk(式3.5)Kk1sin() k 2 K,1kK(式3.6)4.差分倒谱参数:MFCC参数用于表示语音参数静态特性,人耳在对语音动态特征反应上特别灵敏,常用差分倒谱参数来描述动态特性。1kC(n)iC(ni),1nK(式3.7)ki2ikik这里C和C都表示一帧语音参数,k为常数,通常取2。差分参数就是当前帧的前后两帧的线性组合。由上式得到的差分参数是一阶MFCC差分参数,然后再计算,得到的就是二阶MFCC差分参数。为了进行下级语音训练和识别,最后提取的特征参数为特征矢量。(三)模式匹配算法DTW的分析动态时间规整DTW采用动态规划方法能够解决序列比较时长不等的问题,可用来在规定的时间内将参考模板与需要进行识别的模式进行时间上的匹配,得两模板匹配时的最小累计距离。3.2.3情感分析结果管理功能分析语音情感分析结果模块功能的用例图如图3-5所示。语音分析结果模块部分是将接听到的用户语音信号通过预处理和语音数字化,实现端点检测,再计算特征。根据系统管理员建立的识别模板库,采样的模板库中包含了不同的情感特征,在进行特征识别时,待测情感同情感模板库中的不同情感模板之间进行比较,确定用户的情感类型。将情感类型作为考评结果依据,把高兴的情感分析结果作为本次通话结果为满意,把愤怒的情感分析结果作为不满意,用于统计和分析该名话务员的服务满意率,根据考核指标设置模块中设置的数据,确定该名话务员的考核等级。中国移动基于语音识别的情感分析系统中国移动基于语音识别的情感分析系统情感分析结果考评等级满意率<<uses>><<uses>>话务员公司考评领导图3-5语音情感分析结果模块功能用例图3.3.4信息反馈功能需求分析信息反馈功能部分是对用户在使用系统时有内容或消息需要告知其他系统用户时使用的功能。包括邮件反馈管理,公告管理以及反馈留言板的管理。邮件反馈管理:邮件是—种用电子手段提供信息交换的通信方式,可以是文字、图像、声音等多种形式,其存在方便了人们之间的沟通,是互联网应用最广的服务。通过系统中的邮件功能,考核管理者可以以非常快速的方式告知话务员的考核结果,同时话务员也可以通过邮件的方式与考核管理者进行沟通。邮件反馈功能的用例图如图3-6所示。中国移动基于语音识别的情感分析系统邮件反馈中国移动基于语音识别的情感分析系统邮件反馈接收邮件发送邮件<<uses>><<uses>>话务员公司考评领导公告管理:公告信息的简要概述会显示在主页的中部,以滚动方式显示近一月的公告信息。用户可以点击某条信息进行具体的查看。当某条信息比较重要时,该条信息将会以高亮红色醒目字体显示,方便用户第一时间注意到该条信息。公告管理功能的用例图如图3-7所示。公告管理包括公告信息发布和公告信息维护两个小功能。公告发布:系统管理人员或是考核管理者可以通过公告信息内容发布功能即时发布重要的公告内容。公告信息一经发布,就立刻显示在网上,用户可以立刻阅读到公告信息。公告维护:当公告信息内容有变化时,系统管理人员可以通过该功能对公告信息进行修改。也可以增加新的公告信息或是删除过期的公告信息。中国移动基于语音识别的情感分析系统中国移动基于语音识别的情感分析系统公告管理系统管理员公告维护公告发布<<uses>><<uses>>公告查看<<uses>>公司考评领导话务员图3-7公告管理功能用例图(3)信息反馈留言板:信息反馈留言板是管理用户对在使用系统时提出的问题和建议,并且及时根据用户提出的相关事项进行回复。系统管理人员根据用户提交的类型按提交的类别进行分别管理。关于系统使用中提出的问题,系统管理人员需及时对问题予以回复。对于考核相关类型的信息,系统管理员记录后可向有关考核管理人员反映。3.4本章小结本章介绍了该系统的总体功能及需求进行了分析,根据系统的功能将系统分为系统功能模块、语音情感分析结果模块和反馈功能模块,并对其进行了相关的需求分析,并对系统中语音情感分析结果中的数据来源功能模块中用到的特征提取算法频谱特征MEL频率倒谱系数MFCC和模式匹配中的动态时间规整算法DTW进行了详细的分析。第四章系统设计本章主要对该情感分析识别系统中的系统架构、模块及数据库设计进行介绍。4.1系统架构设计中国移动基于语音识别的情感分析系统的整体模块划分的结构设计如图4-1所示。移动移动基于语音识别的情感分析系统系统模块数据来源模块信息反馈模块人员设置考核指标设置邮件反馈公告管理语音输入信号预处理情感特征提取发送邮件接收邮件公告发布公告维护信息反馈留言板基本信息设置部门信息设置权限信息设置模式匹配结果情感分析结果管理模块系统管理模块:包括人员设置和考核指标设置等功能,人员设置包括对管理人员的设置和被考核人员的设置;考核指标设置是指对被考核人员的考核成绩指标进行设置。数据来源模块:当话务员接听电话后,系统将用户输入的语音进行保存,然后系统通过语音信号预处理,情感特征提取,以及将用户的语音与建立的语音情感模板库中的情感模板进行模式匹配,将识别分析出来的结果进行数据的保存。情感分析结果管理模块:主要是对数据来源模块经过系统处理后生成的结果进行查看,并根据结果提取满意率,根据考核指标中设定的评价指标,分析话务员的考评等级,给出考评结果。信息反馈模块:包括邮件反馈和考核公告,邮件反馈用于将被考核的话务员的成绩以邮件的形式进行通知;考核公告是将考核成绩较好或考核指标等一些相关信息以公告的形式在网站上进行公布,来方便网站使用者对信息的查看。4.2各模块设计4.2.1系统管理模块的设计在系统模块中包括人员设置和考核指标设置两个模块,人员设置模块又包括用户基本信息设置、部门管理和权限管理三个子模块。部门管理子模块的具体流程图如图4-2所示。部门管理显示所有部门信息部门管理显示所有部门信息该部门不可以删除判断是否有属于本部门的员工有删除部门删除数据表记录将记录存到数据表中修改部门信息创建输入新部门信息创建新部门查询出部门信息修改信息没有更新数据表记录开始结束用户选择操作修改删除部门管理子模块主要用于对公司的部门进行管理,可以创建一个新的部门,可以修改现有部门的信息,还可以删除一个已经存在的部门。不过需要注意的是本系统中,由于人员与部门之间是一对一的关系,这就意味着管理员不能删除一个有员工存在的部门,所以在删除部门的时候就需要进行判断,看该部门中是否还存在员工,如果存在则该部门不可以被删除。部门管理子模块的时序图如图4-3所示。IDeptInfoDaoIDeptInfoDaoinsertOrUpdateDept()DateBasedeleteDept()DeptOperationControllerfindById()IUserInfoDaoupdate()insert()return()findById()findBydept()return()delete()showDept()findAll()图4-3部门管理子模块的时序图IDeptInfoDao接口其中实现了对部门的增删改查功能,可以通过移动公司内部的部门编号查询具体的部门信息,采用的方法是findById,也可以通过部门的编号删除一个已经存在的部门、通过findAll查询所有的部门信息,创建新的部门信息或者更新已经存在的部门信息IUserInfoDao接口是用来根据某种条件对使用系统的用户(话务员或者考评人员)进行查询以及信息的增删改的方法,其中包括delete方法(根据用户的编号删除信息)、findAll方法(查询所有的用户信息)、findById方法(根据用户编号查询用户记录)、insert方法(插入新用户信息)、update方法(更新用户记录)、findByNamePwd(验证用户登录信息)、findByName(检查用户名登录账号是否被使用)、findJion(使用部门编号查询出用户所在部门名称)、findBydept(查询指定部门是否有员工)。Spring的MultiActionController类似于Struts的DispatchAction功能。在运用Spring技术的时候,更多采用的是SimpleFormController和AbstractController。SimpleFormController应用在表单的提交和编辑上。AbstractController是控制器中最基本的,有很强的灵活性。当需求中有增,删,改,查的要求时,通过扩展SimpleFormController来完成数据的添加和修改,扩展AbstractController来实现删除和查询的功能。业务中的增,删,改,查是相关业务。将类中的相关操作放在不同的类中实现,违背了设计原则中的“高内聚”。放在不同的类中完成,会产生很多的类文件,不利于程序的配置和维护。为了使类能够“高内聚”,且便于系统的维护,同时避免重复代码。部门管理子模块中采用第一种方式,DeptOperationController类继承自MultiActionController类,是一个多动作控制器类,主要用于执行对部门进行管理的方法。在类中声明数据库操作DAO接口的对象,然后编写setter方法以便通过依赖注入的方式为它们赋值。在DeptOperationController控制器中添加insertOrUpdateDept()方法,用于插入或更新数据记录。首先从表单获取用户输入的信息,然后通过页面中的隐藏域部门编号来判断是需要插入还是更新数据记录。如果编号为0,则说明是新添加的部门,否则就是需要进行更新的部门。在DeptOperationController控制器中添加deleteDept()方法,用于删除指定的部门信息。但在删除之前需要查询部门中是否存在用户,如果存在就不能删除此部门,并给出提示信息。showDept()方法用于查询数据表中全部信息、findById()方法按照指定的编号查询信息。用户基本信息管理子模块是系统的核心部分,系统管理员对不同的部门使用系统的人员信息进行管理,如考核管理员和话务员,其中包括添加新用户、修改当前用户信息、删除指定用户。在该模块中包含一个上传用户照片的功能,可以选择上传或者不传,如果对用户的照片进行上传,则将用户的照片上传至服务器磁盘中,然后将用户信息与照片名称一同插入数据库。在修改用户信息的时候,首先要判断是否修改了用户的照片,如果修改了,则将新照片上传至服务器,覆盖原照片,然后更新数据库中的用户信息;如果没修改过,则直接更新数据库中的信息。用户管理子模块具体流程图如图4-4所示。用户管理删除用户用户管理删除用户级联删除用户照片修改用户信息输入新用户信息添加新用户删除查询出用户信息修改信息更新数据表记录检查用户账号是否可用添加按用户编号删除是否有更新的数据更新数据记录可用录入用户信息插入数据表否是开始结束根据选择操作执行流程修改不可用判断是否可删除可删除不可删除在选择删除某一用户记录的时候,是根据用户编号删除用户表中的记录,然后再删除该用户的用户照片。用户管理子模块的时序图如图4-5所示。IUserInfoDaoIUserInfoDaoinsertUser()DateBasedeleteUser()UserOperationControllerIDeptInfoDaoupload()FileUploadinsert()updateUser()update()delete()showUser()return()findJion()findById()findAll()findById()图4-5用户管理子模块时序图4.2.2数据来源模块的设计(一)语音信号预处理的设计语音信号滤波、采样及量化的设计由于本系统是基于电脑辅助实现功能的,所以用户语音的滤波、采样、量化是在录音的过程中由声卡完成的。预加重的设计因为用户的语音在其平均功率谱被口鼻辐射和声门激励所影响,所以为了在整个语音段的计算中采用相同的信号噪声比进行计算,为此要在预处理中进行预加重处理。一般通过一个传递函数为H(Z)=1-αZ-1的滤波器对其加以滤波,其中α为预加重系数且0.9<α<1.0。设n时刻的语音采样值为X(n),经过预加重处理后的结果为Y(n)=X(n)-αX(n-1)(0.9<α<1.0)。语音信号分帧加窗的设计分帧是用可移动的有限长度窗口进行加权的方法来实现的,这就是用一定的窗函数来乘,从而形成加窗语音信号,一般选择帧长为256个采样点,帧移为128个采样点。然后将每帧信号用某种窗相乘,以减小帧起始和结束处的信号不连续性。常用的窗函数有汉明窗和汉宁窗。端点检测算法的设计端点检测的具体原理如下所述:创建高门限和低门限,用户通话录音的端点检测可以被分为四个部分:静音段、过渡段、语音段、结束点。静音段是在电话刚被接听,移动用户或者话务员还没有开始说话时,如果提取到的声音信号中的过零率或者是能量,有一个超过了低门限,则记录为开始点,确定进入到了过渡段。当语音进入到过渡段时,因为参数数值小,不能判断是否真正进入到语音段,所以如果能量或是过零率的数值在低门限以下,则让语音状态再次回到静音时期。在过渡段中如果能量或是过零率超过了高门限,则可判定语音进入了语音段。在语音段中,如果能量或是过零率的数值低于低门限以下,并且总计时长度比最短时间门限还小,则判定是噪音,再对后面的语音数据进行检测,否则则认为这段语音进入了结束点。短时平均过零率中,过零率高,语音信号是清音;过零率低,语音信号就是浊音;同时,无声段的过零率变化范围较大,一般情况下比浊音低一点。短时能量,采用式3.3的短时平均幅度函数,在计算短时能量之前应该加一个高通滤波器filter,采用abs()函数取绝对值,然后用sum()函数按阶层求和。(二)特征提取算法MFCC的设计MEL频率倒谱系数简称MFCC,以下是MFCC参数的优点:低频段包含了语音的多数信息,但是高频段比较容易受到环境噪声干扰。而基于线性频标的LPCC参数则不具有此特点。在任何条件下都可以使用MFCC参数。所以,在抗噪能力上MFCC参数也具有很强的处理能力。MFCC参数的计算采用如下流程:语音中的一帧采样,为了计算FFT方便,本系统取N=256点。对序列s(n)实行预加重然后做离散F

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论