一种基于机器学习的双模态人人对话情感分析系统及其方法与流程

文档序号:12126373阅读:528来源:国知局

本发明涉及人机情感交互领域,具体地说是一种基于机器学习的双模态人人对话情感分析系统及其方法。



背景技术:

随着社会的发展和网络技术的进步,人们之间的沟通交流越来越频繁,交流方式也越来越多样,准确识别人人对话中的情感对于呼叫中心等电话服务行业具有非常重要的意义。然而人们在对话时的情感表达是十分复杂的。

在对话中表达情感的情感词可以分为直接情感词和负面情感词两大类。有的时候一些人在对话的过程中,其实已经有了负面情绪,但是由于礼貌和风度不会使用直接情感词让自己的内心情绪完全表达出来,或者采用与直接情感词情绪不对应的语气使用直接情感词。潜在情感词和潜在情绪的识别是很困难的,并且单一识别某一种特征对情感的分析也是不全面的,同时传统特征提取方法一般为卡方检验、信息增益等,这样提取得到的特征是比较表层的,无法使用上下文信息进行分析;最后当前存在的识别方法主要有:单独对文本识别的方法,大多使用了词频-逆文档频率等模型对文本进行情感识别,大多需要对文本进行预处理,同时在多语种和多分类识别中正确率较低。



技术实现要素:

本发明克服了现有技术的不足之处,提供一种基于机器学习的双模态人人对话情感分析方法,以期能综合文本和音频两个模态对会话情感进行识别,并充分利用词向量、句向量的特点,从而提高识别的准确性。

本发明为达到上述发明目的,采用如下技术方案:

本发明一种基于机器学习的双模态人人对话情感分析系统的特点包括:语音识别模块、文本深层特征提取模块、语音切分模块、声学特征提取模块、特征融合模块、情感分析模块;

所述语音识别模块获取人人对话的语音内容,并对所述语音内容进行识别,得到文本内容和每句对话起始端点的时间标签;所述语音识别模块将所述文本内容传递给所述文本深层特征提取模块,将所述时间标签传递给所述语音切分模块;

所述文本深层特征提取模块读取所述文本内容,并对文本内容进行特征提取,得到深层词级特征和深层句级特征作为文本深层特征,并传递给所述特征融合模块;

所述语音切分模块读取所述语音内容,并根据所述时间标签从所述语音内容中将每句对话语音切分出来并分别传递给所述声学特征提取模块;

所述声学特征提取模块根据所接收到的每句对话语音,分别提取相应的音强、响度、基频和浊音度所构成的声学特征,并将得到的声学特征传递给特征融合模块;

所述特征融合模块将所述文本深层特征和声学特征进行融合,得到融合特征并传递给情感分析模块;

所述情感分析模块将所述融合特征利用情感分析模型进行情感分析识别,得到所述语音内容的情感极性,所述情感极性包括:正向、中性和负向。

本发明一种基于机器学习的双模态人人对话情感分析方法的特点是按如下步骤进行:

步骤1:利用录音装置获取若干段的人人对话的语音内容作为样本语料,再获取一段待识别的人人对话的语音内容作为待识别语料;

步骤2:利用语音识别工具识别出所述样本语料和待识别语料中每一段语音内容的文本内容以及每一段语音内容中每句对话起始端点的时间标签;

步骤3:利用词中心点向量计算法得到所述样本语料和带识别语料中每一段语音内容的文本内容的深层词级特征;

步骤4:将所述样本语料和待识别语料中每一段语音内容的文本内容利用句向量工具训练,得到每一段语音内容的文本内容中每句对话的句向量,将每一段语音内容的文本内容中的所有对话的句向量组成一个矩阵,得到所述样本语料和待识别语料中每一段语音内容的文本内容的深层句级特征;将所述深层词级特征和深层句级特征作为文本深层特征;

步骤5:根据所述时间标签将所述样本语料和待识别语料中的每句对话语音切分出来;

步骤6:利用声学特征提取工具对切分后的每句对话语音的每一帧,分别进行维度均为N的音强、响度、基频和浊音度的声学特征提取,得到4N维声学特征;

步骤7:将所述4N维声学特征进行声学二次变换,得到8N维声学特征;

步骤8:将所述8N维声学特征中的每一维声学特征分别提取M种统计量,得到8N×M维声学特征;

步骤9:假设每句对话语音共有X帧,则得到的8N×M×X维声学特征即为每句对话语音的声学特征,然后将每一段语音内容的每句对话语音的声学特征组合成一个矩阵,得到所述样本语料和待识别语料中每一段语音内容的声学特征;

步骤10:将所述文本深层特征和声学特征进行线性拼接和归一化处理,获得每段对话语音的融合特征;

步骤11:将所述样本语料中的每一段对话语音内容的融合特征,与相对应的情感极性分别作为线性回归模型、逻辑回归模型和支持向量机模型的输入,并对所述线性回归模型、逻辑回归模型和支持向量机模型进行训练,得到三种情感分析模型;

步骤12:将所述待识别语料中的融合特征分别输入三种情感分析模型中,得到三种识别结果,通过大多数分类投票法从三种识别结果中最终决策出所述待识别语料的情感极性;所述情感极性包括:正向、中性和负向。

本发明所述的基于机器学习的双模态人人对话情感分析方法的特点也在于:所述步骤3是按如下步骤进行:

步骤3.1:将所述样本语料和待识别语料中的每一段语音内容的文本内容利用分词工具进行分词处理;

步骤3.2:将所述样本语料中经分词处理后得到的所有词语利用词向量工具进行训练,得到文本内容中每个词语的词向量;

步骤3.3:利用查找工具查找所述带识别语料中的词语是否在所述样本语料中出现,如果出现,则将相应词语的词向量使用所述样本语料中对应词语的词向量,如果没有出现,则将相应词语的词向量进行每一维浮点数随机处理;

步骤3.4:根据所述样本语料中每一段语音内容的文本内容所具有的情感极性,将所述文本内容分为正向文本、中性文本和负向文本;

步骤3.5:对分类后的文本内容中的所有词向量分别进行聚类,得到聚类结果,包括:

正向文本中的所有词向量被聚类为M类,用P={P1,P2,…,Pm,…,PM}表示,其中Pm表示所述正向文本中的第m类,并有,Pm={Pm1,Pm2,…,Pmi,…,PmI},Pmi表示正向文本中第m类中的第i个词向量,I表示所述正向文本中第m类词向量的总数;1≤m≤M,1≤i≤I;

中性文本中的所有词向量被聚类为N类,用Q={Q1,Q2,…,Qn,…,QN}表示,其中Qn表示中性文本中的第n类,并有,Qn={Qn1,Qn2,…,Qnj,…,QnJ},Qnj表示中性文本中第n类中的第j个词向量,J表示中性文本中第n类词向量的总数;1≤n≤N,1≤j≤J;

负向文本中的所有词向量被聚类为K类,用R={R1,R2,…,Rk,…,RK}表示,其中Rk表示负向文本中的第k类,并有,Rk={Rk1,Rk2,…,Rkl,…,RkL},Rkl表示负向文本中第k类中的第l个词向量,L表示负向文本中第i类词向量的总数;1≤k≤K,1≤l≤L;

步骤3.6:利用式(1)、式(2)和式(3)分别获得所述样本语料中正向文本、中性文本和负向文本的各聚类结果的类中心点Center[Pm]、Center[Qn]和Center[Rk]:

步骤3.7:计算所述样本语料和待识别语料的文本内容中的所有词向量分别到所述类中心点Center[Pm]、Center[Qn]和Center[Rk]的欧式距离,并将每个词向量分别到所述类中心点Center[Pm]、Center[Qn]和Center[Rk]的欧式距离组成一个M+N+K维的词距离向量,从而获得所有词向量的词距离向量,再将每句对话的所有词向量的词距离向量相加求平均值得到每句对话的句向量,再将每一段语音内容的所有对话的句向量组成一个矩阵,得到所述样本语料中每一段语音内容的文本内容的深层词级特征。

与现有技术相比,本发明的有益效果体现在:

1、本发明在对人人对话进行情感分析时,综合文本和音频两个模态对人人对话的情感进行分析、识别,在两个模态下分别进行相关特征的提取,这使得在进行特征提取时对影响情感分析的因素能够得到更加全面周到的考虑,进而使得提取到的特征更加的全面周到,最终使得人人会话情感分析更具有较高的准确率。

2、本发明在词级特征提取上,采用词中心点向量计算法作为基础,结合词向量工具、欧式距离等计算得到相应距离向量,以此作为文本深层词级特征。词向量所具有的特点为:在同一向量空间中,语义越是相近的词语,其向量之间的距离越小;由于词向量的所具有的这个特点,因此与传统词特征技术如:卡方检验、信息增益等相比,所得到特征更加具有代表性,并且具有较好的区分、识别性能,同时避免了传统词包特征提取方式的特征稀疏问题,还可以保留更多的词义特征,后续随着语料规模扩大可以扩展卷积神经网络等模型;最后仅利用与词中心点距离,既充分利用了相近词具有相近词向量的道理,也大大降低了计算次数,提高了分析识别速度。

3、本发明在句级特征提取上,采用直接向量法。通过将一个任意长度的句子映射到一个向量空间,从而使得不同的句子之间具有可比性,使用句子向量间的空间距离来表征句子之间的句义距离,句义上越是相近的句子在空间向量距离越小,将其作为特征用以区分正向句子文本、中性句子文本和负向句子文本。句级特征的提取是针对整个句子而言,这使得特征的提取具有全局性,克服了词级特征提取只限于局部的问题。

4、本发明基于深度学习挖掘文本深层特征,有效对文本模态下的特征进行了提取;分别提取句级特征和词级特征,并将两种特征进行融合;对于整个句子,词级特征在一定程度上仍会丢掉一些信息,而句级特征过于笼统;所以融合两种文本特征,能够得到更多的情感信息,有助于提高情感识别准确率。

5、本发明利用多种机器学习方法对人人对话情感进行识别,避免了某一种方法因为某些偶然因素无法正确识别出对话情感,同时多种机器学习方法通过大多数分类投片决策有利于提高识别结果的准确度。

附图说明

图1是本发明系统的模块示意图。

具体实施方式

本实施例中,如图1所示,一种基于机器学习的双模态人人对话情感分析系统的组成包括:语音识别模块、文本深层特征提取模块、语音切分模块、声学特征提取模块、特征融合模块、情感分析模块。

语音识别模块获取人人对话的语音内容,并对语音内容进行识别,得到文本内容和每句对话起始端点的时间标签,完成了语音内容识别到文本内容以及每句对话起始端点的时间标签的转换;然后语音识别模块将得到的文本内容传递给文本深层特征提取模块,将时间标签传递给语音切分模块;

文本深层特征提取模块读取语音识别模块得到的文本内容,并对文本内容的深层词级特征和深层句级特征进行特征提取,得到深层词级特征和深层句级特征作为文本深层特征,并传递给特征融合模块;

语音切分模块读取每一段语音内容,并根据语音识别模块得到的时间标签从语音内容中将每句对话语音切分出来并分别传递给声学特征提取模块;

声学特征提取模块根据所接收到的每句对话语音,分别提取相应的音强、响度、基频和浊音度所构成的声学特征,并将得到的声学特征传递给特征融合模块;

特征融合模块将文本深层特征和声学特征进行融合,得到融合特征并传递给情感分析模块;

情感分析模块将融合特征利用情感分析模型进行情感分析识别,得到语音内容的情感极性,情感极性包括:正向、中性和负向。

本实施例中,一种基于机器学习的双模态人人对话情感分析方法,包括如下步骤:

步骤1:利用录音装置获取若干段的人人对话的语音内容作为样本语料,获取一段待识别的人人对话的语音内容作为待识别语料,所有语音内容要求说话者尽量正对录音装置,口齿清晰,保证样本语料的有效性;

步骤2:将所有语音内容输入线上语音识别工具,利用语音识别工具识别出样本语料和待识别语料中每一段语音内容的文本内容以及每一段语音内容中每句对话起始端点的时间标签;其中得到的每一段语音内容的文本内容为每句对话分开的文本内容;本实施例中,使用讯飞语音识别工具作为语音识别工具,得到结果包括与每一段语音内容匹配的文本内容和时间标签;

步骤3:以词语为基本单位,利用词中点向量计算法得到样本语料和待识别语料中每一段语音内容的文本内容的深层词级特征;在传统方法中,文本特征提取的方法一般有词频-逆文档频率、卡方检验等等,很容易造成特征过于稀疏导致识别效果很差,并且这些方法仅仅针对词语出现的次数进行判断,过于表面,忽略的词语含义对文本判断的影响,而词向量方法的采用将会克服这方面的不足;同时仅仅利用词中点进行计算,大大降低了计算次数;

本实例中,词中点向量计算法是在已经获得若干段的人人对话的语音内容作为样本语料和一段待识别的人人对话的语音内容作为待识别语料的基础上进行,具体的步骤如下:

步骤3.1:将样本语料和待识别语料中的每一段语音内容的文本内容利用分词工具进行分词处理;本实施例中,使用中科院汉语分词系统作为分词工具,经过分词后得到的每一个文本内容中的每句对话的每个词语之间利用空格隔开;

步骤3.2:将样本语料中经分词处理后得到的所有词语利用词向量工具进行训练,得到文本内容中每个词语的词向量;本实施例中,利用genism包中的word2vec得到每个词语的词向量;某些词语虽然出现在不同的文本中,但是通过这样的方法,相同的词语仅仅只有一个词向量;word2vec实际上它用词义向量来表征词语,训练之后,文本中的词语被表示为一个个的低维词义向量,通过向量空间的相似度来表示文本语义的相似度;词向量可以用在许多自然语言处理应用中,例如词义聚类、找同义词、词性分析等,它的工作是十分高效的。引入余弦距离,通过测量向量间夹角的余弦值来表征它们之间的相似度,余弦值的取值范围为[-1,1],0度角的余弦值为1,180度角的余弦值为-1,通过余弦值表征的向量方向来判定词义的极性距离。由此可以看出,空间中两个向量余弦值越大,则两个词的相似度越高。word2vec为计算向量词构建了两个学习算法,分别为连续词包模型和skip-gram模型;

步骤3.3:利用查找工具查找带识别语料中的词语是否在样本语料中出现,如果出现,则将相应词语的词向量使用所述样本语料中对应词语的词向量,如果没有出现,则将相应词语的词向量进行每一维浮点数随机处理;如果没有出现的词语使用零向量,则相当于丢弃了该词特征,而现有的研究表明,随机给定向量与使用零向量相比,更有利于得到良好的实验结果;本实施例中,查找工具使用系统自带查找工具;

步骤3.4:根据样本语料中每一段语音内容的文本内容所具有的情感极性,将所述文本内容分为正向文本、中性文本和负向文本;本实施例中,由于只需要分析识别出人人对话的情感极性,故对文本的情感分类只需要分为三大类即可,并且三类文本的数量应该是大致相同的,这样能使得在后面的训练过程中,三类文本的训练程度能够大致相同;利用中科院汉语分词系统NLPIR和人工手动两种方法相结合的方法对文本情感极性进行分类;中科院汉语分词系统情感分析提供两种模式:全文的情感识别与指定对象的情感判别,本实施例中,使用第一种模式;中科院汉语分词系统情感分析主要采用了两种技术:1)情感词的自动识别与权重自动计算,利用共现关系,采用Bootstrapping的策略,反复迭代,生成新的情感词及权重;2)情感判别的深度神经网络:基于深度神经网络对情感词进行扩展计算,综合为最终的结果;

步骤3.5:对分类后的文本内容中的所有词向量分别进行聚类,得到聚类结果,包括:

正向文本中的所有单词被聚类为M类,用P={P1,P2,…,Pm,…,PM}表示,其中Pm表示正向文本中的第m类,并有,Pm={Pm1,Pm2,…,Pmi,…,PmI},Pmi表示正向文本中第m类中的第i个词向量,I表示所述正向文本中第m类词向量的总数;1≤m≤M,1≤i≤I;

中性文本中的所有词向量被聚类为N类,用Q={Q1,Q2,…,Qn,…,QN}表示,其中Qn表示中性文本中的第n类,并有,Qn={Qn1,Qn2,…,Qnj,…,QnJ},Qnj表示中性文本中第n类中的第j个词向量,J表示中性文本中第n类词向量的总数;1≤n≤N,1≤j≤J;

负向文本中的所有词向量被聚类为K类,用R={R1,R2,…,Rk,…,RK}表示,其中Rk表示负向文本中的第k类,并有,Rk={Rk1,Rk2,…,Rkl,…,RkL},Rkl表示负向文本中第k类中的第l个词向量,L表示负向文本中第i类词向量的总数;1≤k≤K,1≤l≤L;

本实施例中,聚类方法采用K-means聚类算法,三类文本的最大聚类类别均设置为100类;词向量所具有的特点:在同一向量空间中,词义越相近的词,词向量越接近,根据这个特点,经过聚类后的词语,基本能使得具有相同词性、词义的词被聚为一类;

步骤3.6:利用式(1)、式(2)和式(3)分别获得样本语料中正向文本、中性文本和负向文本的各聚类结果的类中心点Center[Pm]、Center[Qn]和Center[Rk]:

由于步骤3.5已经基本是的具有相同词性、词义的词被聚为一类,此时使用各类中心点便能很好地代表该类,这样简化了后面的计算;聚类类别的设置应当合适,太大会使得类别分得过细致,导致过拟合的发生,太小会使得类别之间的划分不明确,对后面的分类形成误导;

步骤3.7:计算样本语料和待识别语料的文本内容中的所有词向量分别到所述类中心点Center[Pm]、Center[Qn]和Center[Rk]的欧式距离,并将每个词向量分别到类中心点Center[Pm]、Center[Qn]和Center[Rk]的欧式距离组成一个M+N+K维的词距离向量,从而获得所有词向量的词距离向量,并将每句对话的所有词向量的词距离向量相加求平均值得到每句对话的句向量,再将每一段语音内容的所有对话的句向量组成一个矩阵,得到样本语料中每一段语音内容的文本内容的深层词级特征;

步骤4:将样本语料和待识别语料中每一段语音内容的文本内容利用句向量工具训练,得到每一段语音内容的文本内容中每句对话的句向量,将一段语音内容的文本内容中的所有对话的句向量组成一个矩阵,得到样本语料和待识别语料中每一段语音内容的文本内容的深层句级特征;将深层词级特征和深层句级特征作为文本深层特征;本实施例中,采用深度学习的gensim开源的Python工具包,里面对于句向量处理方法的sen2vec,同时将设置训练的到100维的句子特征向量,训练参数为默认参数选择;由于需要保证句向量的训练在同一向量空间完成,故需要将样本语料和待识别语料共同进行训练;采用句向量特征是为了获取更大粒度的上下文特征,作为词级特征的必要补充,因为词级特征会丢掉全局特征,但句向量特征可以作为必要的补充,便于抓住句级的上下文特征;

步骤5:根据时间标签将样本语料和待识别语料中的每句对话语音切分出来;

步骤6:利用声学特征提取工具对切分后的每句对话语音的每一帧,分别进行维度均为的音强、响度、基频和浊音度的声学特征提取,得到4N维声学特征;本实施例中,采用OpenSMILE语音特征提取工具实现声学特征提取工作,它是一个用于信号处理和机器学习的特征提取器,具有高速高效的特点,拥有灵活的体系结构;OpenSMILE软件最基础的功能可用于语音信号特征的提取,是一种以命令行运行的而非图形界面的操作软件,通过配置config文件音频进行特征提取,可以根据需求配置不同的config文件提取不同的特征信息;

步骤7:将4N维声学特征进行声学二次变换,得到8N维声学特征;

步骤8:将8N维声学特征中的每一维声学特征分别提取M种统计量,得到8N×M维声学特征;

步骤9:每句对话语音共有X帧,得到8N×M×X维声学特征为每句对话语音的声学特征,然后将一段语音内容的每句对话语音的声学特征组合成一个矩阵,得到样本语料和待识别语料中每一段语音内容的声学特征;

步骤10:将文本深层特征和声学特征进行线性拼接和归一化处理,获得每段对话语音的融合特征;线性拼接是最基础的融合方法,有的研究使用的加权相加,但是由于在本系统中,每段语音内容的侧重点并不一样,有些语音内容的文本特征更为重要,有些语音内容的声学特征更为重要,权值的大小无法统一给定,故没有采用这一种方法;

步骤11:将样本语料中的每一段对话语音内容的综合特征,和相对应的情感极性分别作为线性回归模型、逻辑回归模型和支持向量机模型的输入,并对线性回归模型、逻辑回归模型和支持向量机模型进行训练,得到三种情感分析模型;对于线性回归算法,其对于样本预测的结果为该样本特征的边缘概率,而非直接的预测分类结果,对于其结果需要人工干涉选择分类,即对回归的阈值进行设定,例如进行二分类时选择0.5为阈值,则对于所有边缘概率小于0.5的为一类,概率大于0.5的属于另一类;逻辑回归模型是在线性回归算法的基础上,套用了一个逻辑函数;支持向量机模型训练的关键问题是选择核函数的类型(LINEAR线性核与RBF径向基核),RBF径向基核是局部性强的核函数,LINEAR线性核函数具有良好的全局性,其局部性较多;本实施例中,要解决单句情感分析问题,考虑到该样本特征由不同模特特征组合而成(此类别分类问题并不一定可用超平面分离),从全局性和泛化能力角度考虑,经过试验选择LINEAR线性核作为支持向量机模型的核函数。

步骤12:将待识别语料中的融合特征分别输入三种情感分析模型中,得到三种识别结果,通过大多数分类投票法从三种识别结果中最终决策出待识别语料的情感极性;情感极性包括:正向、中性和负向;因为采用的是三种情感分析模型,故通过投票最后一定可以得出待识别语料的情感极性。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1