[0026] 为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施实例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0027] 本发明主要包括三个方面:语音采集、语音情感识别、语音情感交互。语音情感交互是本发明的关键技术。如图1所示,基于有限状态自动机的语音情感交互装置包括语音采集模块、语音情感识别模块以及语音情感交互模块。
[0028] 每个模块的具体实施方式如下。
[0029] (1)语音采集模块
[0030] 语音采集模块的流程图如图2所示。具体实施如下:在采集语音步骤中需要设置四个基本参数:第一个参数是录音源,其在Android手机中主要有四种声音来源分别是麦克风、通话、通话上行通道和通话下行通道,Android平板中能用到的组要有麦克风来源,此方法默认采用麦克风源;第二个参数是采样率,44100Hz是目前可以运行在所有设备的通用频率,当然也有其他的一些频率如22050Hz,16000Hz,11025Hz可以工作在某些设备上,此方法默认采用44100Hz;第三个参数是音频通道,音频通道有单通道和立体声两种,其中单通道可以运行在所有的Android设备上,此方法默认采用单声道;第四个参数是音频数据格式,采样来的数据采用PCM编码,PCM通过抽样、量化、编码三个步骤将连续变化的模拟信号转换为数字编码,采样大小16bit或者8bit,此方法采用16bit。参数设置完成后向文件写入裸数据,生成文件A。
[0031] (2)语音情感识别模块
[0032] 如图3所示,本发明通过多特征融合方法提高语音情感识别结果。首先提取傅里叶参数特征、小波包系数特征和梅尔倒谱频率特征,然后构建不同分类器模型。针对本发明提取的不同特征参数,经过特征选择后找出每种特征参数的最优特征子集,构建情感识别模型,然后采取相应策略构建多特征多模型融合的识别模型。将(1)采集的语音信号经过语音情感识别模块进行识别,获得情感类型。
[0033] (3)情感交互模块
[0034] 情感是认知的基础,对外界刺激做出最基本的、快速的智能反应。情感通过情感的载体(人、计算机等)进行情感的交互。从工程的角度出发,建立情感交互模型,当情感载体在进行情感交互时,该模型能够再现情感的动态变化。本模块包括有限状态自动机模型的构建模块、情感交互状态转换表的建立模块和转换矩阵模块的确定三个部分。
[0035] ①有限状态自动机模型的构建模块
[0036] 本模块构建有限状态机情感交互模型,采用有限状态机描述语音情感状态及其转换过程。确定性的有限状态机M是一个五元组,如式(1)所示:
[0037] M=(Q,Σ,δ,q0,F) (1)
[0038] 其中,Q是指有限状态集合,Q={q1,q2,…,qn};Σ是指系统能接收的所有事件的集合,Σ={σ1σ, 2,…,σn};δ是指状态转移函数,δ:Q×Σ→Q;q0是指初始状态,q0∈Q;F是终止状态,
[0039] ②情感交互状态转换表的建立模块
[0040] 本模块实现情感交互模型的建立,包括两个方面:A有限状态自动机转换函数的定义、B有限状态自动机转换函数的确定。
[0041] A有限状态自动机转换函数的定义
[0042] 假设情感状态集中包含4种情感状态。根据有限状态自动机模型,建立的情感交互如图4所示,其中q0代表个体的初始情感状态,σi表示输入的状态,即个体接收的事件,σi∈Σ,本系统中表示机器反馈的情感状态。其含义是根据当前的情感状态和输入状态,个体的情感状态发生改变。
[0043] 情感交互的过程如下:令状态机在时间t的状态为qt,条件反馈状态为σt,在离散时间内,情感交互模型下一时刻的状态为qt+1,则有:
[0044] qt+1=δ(qt,σt) (2)
[0045] 即情感交互模型下一时刻的状态取决于它当前的状态和它所接收的状态。
[0046] B有限状态自动机转换函数的确定
[0047] 在语音情感识别系统中包含4种情感状态,故以状态集中的4种情感为例,情感状态集合定义为{H,S,A,N},其中H是指高兴,S是指伤心,A是指生气,N是指平静。状态转换表如表1所示,表中行表示当前的情感状态,列表示状态机的机器情感的反馈,状态转换表取值表示状态机在时间t+1的状态。
[0048] 表1:状态转换表
[0049]
[0050] 根据情感载体的个性差异,情感交互的结果也有所不同,本发明中情感交互时的转换依据是根据情感库样本分析统计得到,其分析结果如表1所示。例如,初始情感状态为生气时,机器反馈的情感状态为高兴,对于不同的个性载体,情感变化也是不同的。可表现为高兴、生气、平和或悲伤,其他情感状况也是如此。针对本系统的情况考虑,设置的状态转换表如表1所示。
[0051] ③转换矩阵模块
[0052] 转换矩阵模块实现状态转换矩阵的确定。在有限状态自动机模型中,状态转换函数可以用状态转换矩阵描述。令描述情感状态转移的矩阵F有公式(3)的如下形式:
[0053]
[0054] 其中0≤fij≤1表示从状态qi转移到状态qj的概率。
[0055] fij=p(qj|qi,σi)i=1,2,…,n;j=1,2,…,n。
[0056] 本系统中fij取值根据情感库样本分析统计得到,其取值如表2所示。
[0057] 表2:状态转换矩阵
[0058] H S A N
H 0.40816328 0.020408163 0.008746356 0.5626822
S 0.045698926 0.48924732 0.28225806 0.1827957
A 0.016587678 0.4028436 0.45734596 0.123222746
N 0.1590909 0.19444445 0.045454547 0.6010101
[0059] 情感状态机的状态转换图的确定,根据状态转换矩阵的确定,即可得到情感交互的状态转换图,如图5所示。根据情感交互模型,当有语音情感状态输入时,机器首先识别出情感信息,然后选择不同的情感反馈,分别做出不同的情感交互,如检测出是伤心的情感,可以随机抽取一个笑话给用户听,播放一个搞笑动画等等诸如此类的交互方式。
[0060] 本发明是一种基于Android客户端语音情感交互方法,在本发明中,首先要检测Android客户端的运行环境或状态参数,如SD卡是否存在数据网络或WIFI是否开启,若条件满足则可进行情感识别。随后Android客户端主要是采集原始语音,并进行抽样、量化、编码形成一个标准的音频文件,通过网络将音频文件传送到服务器进行复杂的数据分析,并能接收服务器返回的分析结果,并对分析结果进行相应的处理,最终得到情感分析结果,将情感分析结果通话UI反馈给用户。
[0061] 以上内容是结合具体的附图对本发明所作的详细说明,不能认定本发明具体实施仅限于这些说明。对于本发明所属技术领域的技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单替换和变更,都应当视为属于本发明由所提交的权利要求书确定的发明保护范围。