情绪分析方法、装置、电子设备及存储介质与流程

文档序号:32067267发布日期:2022-11-05 01:08阅读:88来源:国知局
情绪分析方法、装置、电子设备及存储介质与流程

1.本技术涉及数据处理技术领域,尤其涉及一种情绪分析方法、装置、电子设备及存储介质。


背景技术:

2.对一个人的性格进行刻画拥有着巨大的应用前景,可以应用于社交好友推送、社交匹配以及心理咨询等场景,如今,通常采用对话中的情绪识别(emotion recognition in conversation,简称erc)或者问卷调查等手段来预测对话中每句话的情绪标签任务,其中,erc任务是去分析对话中单个句子的情绪标签,并且通过已有的erc任务来了解一个人某句话所表达的情绪,然而仅通过erc任务来表达用户的情绪是片面的,不能准确的计算出用户受他人影响的情绪概率,除此之外,问卷调查容易受到填写人的主观情绪影响,并且对填写人的数量也有一定的要求,因此造成人力成本的增加。


技术实现要素:

3.本技术实施例的主要目的在于提出一种情绪分析方法、装置、电子设备及存储介质,能够准确分析出用户在受到他人情绪影响的情况下情绪的变化。
4.为实现上述目的,本技术实施例的第一方面提出了一种情绪分析方法,所述方法包括:
5.对获取到的目标用户的历史对话信息进行预处理,得到所述目标用户的样本对话信息,其中,所述样本对话信息携带多个情绪标签;
6.将所述样本对话信息输入预设情绪模型进行情绪分类,得到情绪频率集合,其中,所述情绪频率集合包括每个所述情绪标签在所述样本对话信息中出现的次数;
7.根据所述情绪频率集合建立所述目标用户的情绪转移矩阵,其中,所述情绪转移矩阵用于表征所述目标用户的情绪受到他人情绪影响的概率值;
8.基于所述情绪转移矩阵对所述预设情绪模型进行训练,得到情绪转移模型;
9.将获取到的所述目标用户的目标对话信息输入所述情绪转移模型进行概率预测,得到情绪波动概率值,其中,所述情绪波动概率值为表征所述目标用户在他人情绪影响的情况下情绪发生变化的概率值。
10.在一些实施例,所述历史对话信息包括与所述目标用户进行对话的多名用户的对话信息;所述对获取到的目标用户的历史对话信息进行预处理,得到所述目标用户的样本对话信息,包括:
11.在所述历史对话信息中确定与所述目标用户对应的所述样本对话信息;
12.基于预设标注模型对所述样本对话信息进行标注,得到所述样本对话信息的所述情绪标签。
13.在一些实施例,所述预设情绪模型包括句向量编码器和情绪分类器;所述将所述样本对话信息输入预设情绪模型进行情绪分类,得到情绪频率集合,包括:
14.将所述样本对话信息中的句子输入所述句向量编码器进行语句切分,得到所述样本对话信息的句向量;
15.将所述句向量输入所述情绪分类器,以使所述情绪分类器对所述句向量中的所述情绪标签进行情绪识别,得到识别结果;
16.对所述识别结果进行分类统计,得到所述情绪频率集合。
17.在一些实施例,还包括:
18.根据所述情绪频率集合建立自身情绪矩阵,其中,所述自身情绪矩阵用于表征所述目标用户的当前对话的情绪影响下一句对话的情绪的概率值;
19.根据所述情绪频率集合建立情绪影响矩阵,其中,所述情绪影响矩阵用于表征他人在与所述目标用户对话过程中被所述目标用户的情绪影响的概率值。
20.在一些实施例,所述基于所述情绪转移矩阵对所述预设情绪模型进行训练,得到情绪转移模型,包括:
21.对所述样本对话信息中的所述情绪标签进行约束,得到真实情绪标签序列;
22.将所述真实情绪标签序列输入所述情绪分类器进行概率计算,得到标签概率分布;
23.根据所述情绪转移矩阵、所述自身情绪矩阵、所述情绪影响矩阵、所述真实情绪标签序列以及所述标签概率分布对预设分数值函数进行优化,得到预测序列概率函数;
24.根据所述预测序列概率函数对所述预设情绪模型进行训练,得到所述情绪转移模型。
25.在一些实施例,所述预设情绪模型包括条件随机场层;所述对所述样本对话信息中的所述情绪标签进行约束,得到真实情绪标签序列,包括:
26.将所述样本对话信息中的所述情绪标签输入所述条件随机场层进行筛选,得到真实情绪标签概率值;
27.对所述真实情绪标签概率值进行类别统计,得到所述真实情绪标签序列。
28.在一些实施例,所述预测序列概率函数包括似然概率函数和损失函数;所述根据所述预测序列概率函数对所述预设情绪模型进行训练,得到所述情绪转移模型,包括:
29.根据所述似然概率函数得到所述预设情绪模型的似然概率值;
30.将所述似然概率值输入所述损失函数进行计算,得到概率损失值;
31.根据所述损失函数得到所述预设情绪模型的情绪转移概率值;
32.当所述概率损失值小于所述情绪转移概率值,根据所述概率损失值更新所述预设情绪模型,得到所述情绪转移模型。
33.为实现上述目的,本技术实施例的第二方面提出了一种情绪分析装置,所述装置包括:
34.对话处理模块,用于对获取到的目标用户的历史对话信息进行预处理,得到所述目标用户的样本对话信息,其中,所述样本对话信息携带多个情绪标签;
35.情绪分类模块,用于将所述样本对话信息输入预设情绪模型进行情绪分类,得到情绪频率集合,其中,所述情绪频率集合包括每个所述情绪标签在所述样本对话信息中出现的次数;
36.矩阵建立模块,用于根据所述情绪频率集合建立所述目标用户的情绪转移矩阵,
其中,所述情绪转移矩阵用于表征所述目标用户的情绪受到他人情绪影响的概率值;
37.模型训练模块,用于基于所述情绪转移矩阵对所述预设情绪模型进行训练,得到情绪转移模型;
38.概率预测模块,用于将获取到的所述目标用户的目标对话信息输入所述情绪转移模型进行概率预测,得到情绪波动概率值,其中,所述情绪波动概率值用于为所述目标用户在他人情绪影响的情况下情绪发生变化的概率值。
39.为实现上述目的,本技术实施例的第三方面提出了一种电子设备,所述电子设备包括存储器、处理器、存储在所述存储器上并可在所述处理器上运行的程序以及用于实现所述处理器和所述存储器之间的连接通信的数据总线,所述程序被所述处理器执行时实现上述第一方面所述的情绪分析方法。
40.为实现上述目的,本技术实施例的第四方面提出了一种存储介质,所述存储介质为计算机可读存储介质,用于计算机可读存储,所述存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现上述第一方面所述的情绪分析方法。
41.本技术提出的情绪分析方法和装置、电子设备及存储介质,首先,对获取到的目标用户的历史对话信息进行预处理,以得到携情绪标签的目标用户的样本对话信息,再将样本对话信息输入预设情绪模型进行情绪分类,从而得到不同的情绪标签在样本对话信息中出现的次数,根据不同情绪标签出现的次数生成情绪频率集合,之后根据情绪频率集合建立目标用户的情绪转移矩阵,便于后续分析目标用户的情绪变化,再根据情绪转移矩阵对预设情绪模型进行训练,提高预设情绪模型的鲁棒性,得到情绪转移模型,最后,将获取到的目标用户的目标对话信息输入情绪转移模型进行概率预测,从而通过情绪转移模型分析出目标用户在他人情绪影响的情况下,目标用户情绪发生变化的概率值,提高对目标用户情绪分析的准确率,能够准确分析出目标用户被他人情绪影响的情绪变化状况。
附图说明
42.图1是本技术实施例提供的情绪分析方法的流程图;
43.图2是图1中的步骤s101的流程图;
44.图3是图1中的步骤s102的流程图;
45.图4是本技术另一实施例提供的情绪分析方法的流程图;
46.图5是图1中的步骤s104的流程图;
47.图6是图5中的步骤s501的流程图;
48.图7是图5中的步骤s504的流程图;
49.图8是本技术实施例提供的情绪分析装置的结构示意图;
50.图9是本技术实施例提供的电子设备的硬件结构示意图。
具体实施方式
51.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本技术,并不用于限定本技术。
52.需要说明的是,虽然在装置示意图中进行了功能模块划分,在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于装置中的模块划分,或流程图中的顺序执行所示出或描述的步骤。说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
53.除非另有定义,本文所使用的所有的技术和科学术语与属于本技术的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本技术实施例的目的,不是旨在限制本技术。
54.首先,对本技术中涉及的若干名词进行解析:
55.对话情绪识别(emotion recognition in conversations,erc):erc是对话情感研究中的一个主要任务,用于实现具有情感理解能力的对话系统。该任务是一个分类任务,旨在对一段对话中的所有话语进行情绪分类。任务的输入是一段连续的对话,输出是这段对话中所有话语的情绪。
56.自然语言处理(natural language processing,nlp):nlp用计算机来处理、理解以及运用人类语言(如中文、英文等),nlp属于人工智能的一个分支,是计算机科学与语言学的交叉学科,又常被称为计算语言学。自然语言处理包括语法分析、语义分析、篇章理解等。自然语言处理常用于机器翻译、手写体和印刷体字符识别、语音识别及文语转换、信息意图识别、信息抽取与过滤、文本分类与聚类、舆情分析和观点挖掘等技术领域,它涉及与语言处理相关的数据挖掘、机器学习、知识获取、知识工程、人工智能研究和与语言计算相关的语言学研究等。
57.条件随机场(conditional random field,crf):条件随机场是一类最适合预测任务的判别模型,其中相邻的上下文信息或状态会影响当前预测。crf在命名实体识别、词性标注、基因预测、降噪和对象检测问题等方面都有应用,crf是一种无向图模型,常用于标注或分析序列资料,如自然语言文字或是生物序列。近年来在分词、词性标注和命名实体识别等序列标注任务中取得了很好的效果。
58.信息抽取(information extraction):从自然语言文本中抽取指定类型的实体、关系、事件等事实信息,并形成结构化数据输出的文本处理技术。信息抽取是从文本数据中抽取特定信息的一种技术。文本数据是由一些具体的单位构成的,例如句子、段落、篇章,文本信息正是由一些小的具体的单位构成的,例如字、词、词组、句子、段落或是这些具体的单位的组合。抽取文本数据中的名词短语、人名、地名等都是文本信息抽取,当然,文本信息抽取技术所抽取的信息可以是各种类型的信息。
59.基于变形器的双向编码器模型(bidirectionalencoder representations from transformer,bert):bert模型是一个预训练的语言表征模型,它强调了不再像以往一样采用传统的单向语言模型或者把两个单向语言模型进行浅层拼接的方法进行预训练,而是采用新的masked language model(mlm),以致能生成深度的双向语言表征。bert模型的目标是利用大规模无标注语料训练、获得文本的包含丰富语义信息的representation,即:文本的语义表示,然后将文本的语义表示在特定nlp任务中作微调,最终应用于该nlp任务。
60.基于此,本技术实施例提供了一种情绪分析方法和装置、电子设备及存储介质,旨在提高对目标用户情绪分析的准确率,能够准确分析出目标用户被他人情绪影响的情绪变化状况。
61.本技术实施例提供的情绪分析方法和装置、电子设备及存储介质,具体通过如下实施例进行说明,首先描述本技术实施例中的情绪分析方法。
62.本技术实施例可以基于人工智能技术对相关的数据进行获取和处理。其中,人工智能(artificial intelligence,ai)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。
63.人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、机器人技术、生物识别技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
64.本技术实施例提供的情绪分析方法,涉及人工智能技术领域。本技术实施例提供的情绪分析方法可应用于终端中,也可应用于服务器端中,还可以是运行于终端或服务器端中的软件。在一些实施例中,终端可以是智能手机、平板电脑、笔记本电脑、台式计算机等;服务器端可以配置成独立的物理服务器,也可以配置成多个物理服务器构成的服务器集群或者分布式系统,还可以配置成提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、cdn以及大数据和人工智能平台等基础云计算服务的云服务器;软件可以是实现情绪分析方法的应用等,但并不局限于以上形式。
65.本技术可用于众多通用或专用的计算机系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络pc、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。本技术可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本技术,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
66.需要说明的是,在本技术的各个具体实施方式中,当涉及到需要根据用户信息、用户行为数据,用户历史数据以及用户位置信息等与用户身份或特性相关的数据进行相关处理时,都会先获得用户的许可或者同意,而且,对这些数据的收集、使用和处理等,都会遵守相关国家和地区的相关法律法规和标准。此外,当本技术实施例需要获取用户的敏感个人信息时,会通过弹窗或者跳转到确认页面等方式获得用户的单独许可或者单独同意,在明确获得用户的单独许可或者单独同意之后,再获取用于使本技术实施例能够正常运行的必要的用户相关数据。
67.图1是本技术实施例提供的情绪分析方法的一个可选的流程图,图1中的方法可以包括但不限于包括步骤s101至步骤s105。
68.步骤s101,对获取到的目标用户的历史对话信息进行预处理,得到目标用户的样本对话信息;
69.需要说明的是,样本对话信息携带多个情绪标签。
70.在一些实施例的步骤s101中,对获取到的目标用户的历史对话信息进行预处理,得到目标用户的样本对话信息,便于后续根据目标用户的样本对话信息分析目标用户的情
绪概率值等。
71.可以理解的是,历史对话信息可以为目标用户日常和朋友或者亲人的聊天记录,其中,聊天记录可以包括聊天语音、聊天短信或者聊天表情包等记录,并且历史对话信息的数量尽可能的多,尽量包括各个时间段和各类聊天好友的对话信息,历史对话信息的获取方式可以每个月获取三次、或者一天获取一次等,本实施例不做具体限制。
72.需要说明的是,上述的历史对话信息、聊天记录、聊天语音以及聊天表情包等信息均在目标用户允许的情况下获取。
73.步骤s102,将样本对话信息输入预设情绪模型进行情绪分类,得到情绪频率集合;
74.需要说明的是,情绪频率集合包括每个情绪标签在样本对话信息中出现的次数。
75.可以理解的是,情绪标签包括但不限于包括开心、生气、伤心、激动、难过、兴奋等标签。
76.在一些实施例的步骤s102中,将目标用户的样本对话信息输入预设情绪模型进行情绪分类,得到不同情绪标签在样本对话信息中出现的频率值,最后得到情绪频率集合,从而得到目标用户日常生活中的情绪状态比例,便于后续对目标用户情绪的精准分析。
77.需要说明的是,情绪频率集合中还包括样本对话信息中不同语句出现的相关情绪标签的频率,其中,样本对话信息中的不同语句可以为目标用户自身的对话内容、或者为目标用户与他人相互交流的对话内容,例如,目标用户自身的对话内容为“我今天买了一束花,好开心”、“可惜回家的时候,花有点枯萎了,有点难过”,则预设情绪模型会对样本对话信息中的“开心”、“难过”等情绪标签进行识别,结合上下文的对话语句,将特定情境下的情绪标签进行情绪分类,得到情绪频率集合;或者目标用户与他人的对话内容为目标用户“今天天气不错,我们明天去野餐吧”、用户a“我有点感冒,现在很难受,明天应该不去了”、目标用户“那好吧,有点可惜,要注意休息”,则预设情绪模型对样本对话信息中的情绪标签进行识别,结合目标用户与用户a的对话内容,将对话情境下的情绪标签进行情绪分类,得到情绪频率集合。
78.可以理解的是,目标用户的每种情绪的占比为目标用户的情绪分布,每个情绪的分布取值为0%-100%,所有情绪的总占比加和为100%,例如,目标用户的开心的情绪为30%、伤心的情绪为20%、生气的情绪为40%、激动的情绪为10%等,本实施例不做具体限制。
79.步骤s103,根据情绪频率集合建立目标用户的情绪转移矩阵;
80.需要说明的是,情绪转移矩阵用于表征目标用户的情绪受到他人的情绪影响的概率值。
81.在一些实施例的步骤s103中,根据情绪频率集合建立目标用户的情绪转移矩阵,便于后续根据情绪转移矩阵对预设情绪模型进行训练,从而提高预设情绪模型中目标用户的情绪受到影响时情绪变化的预测准确性。
82.在一些实施例中,根据情绪频率集合中对应的情绪标签的数量建立情绪转移矩阵,其中,情绪转移矩阵为二维矩阵,例如,在目标用户与他人对话的情境下,得到情绪频率集合中目标用户情绪为开心的情绪标签数量为c1,并且已知他人的情绪为伤心的情绪标签数量为c2,则此时情绪转移矩阵为(c1,c2),表示在他人伤心的情况下,目标用户会的情绪会不会发生影响,从开心变为伤心或者保持开心等。
83.步骤s104,基于情绪转移矩阵对预设情绪模型进行训练,得到情绪转移模型;
84.在一些实施例的步骤s104中,基于情绪转移矩阵对预设情绪模型进行训练,使得情绪转移模型能够准确计算出目标用户的情绪被影响的概率值,从而增强情绪转移模型的鲁棒性。
85.步骤s105,将获取到的目标用户的目标对话信息输入情绪转移模型进行概率预测,得到情绪波动概率值。
86.需要说明的是,情绪波动概率值为表征目标用户在他人情绪影响的情况下情绪发生变化的概率值。
87.在一些实施例的步骤s105中,首先获取目标用户的目标对话信息,之后再将目标对话信息输入训练好的情绪转移模型进行概率预测,得到目标用户受到他人影响的情绪波动概率值,从而准确得到目标用户发生情绪变化的概率。
88.可以理解的是,目标对话信息也为目标用户日常和朋友或者亲人的聊天记录,在此不做赘述。
89.本技术实施例所示意的步骤s101至步骤s105,首先,对获取到的目标用户的历史对话信息进行预处理,以得到携情绪标签的目标用户的样本对话信息,再将样本对话信息输入预设情绪模型进行情绪分类,从而得到不同的情绪标签在样本对话信息中出现的次数,根据不同情绪标签出现的次数生成情绪频率集合,之后根据情绪频率集合建立目标用户的情绪转移矩阵,便于后续分析目标用户的情绪变化,再根据情绪转移矩阵对预设情绪模型进行训练,提高预设情绪模型的鲁棒性,得到情绪转移模型,最后,将获取到的目标用户的目标对话信息输入情绪转移模型进行概率预测,从而通过情绪转移模型分析出目标用户在他人情绪影响的情况下,目标用户情绪发生变化的概率值,提高对目标用户情绪分析的准确率,能够准确分析出目标用户被他人情绪影响的情绪变化状况。
90.请参阅图2,在一些实施例中,步骤s101可以包括但不限于包括步骤s201至步骤s202:
91.需要说明的是,历史对话信息包括与目标用户进行对话的多名用户的对话信息。
92.步骤s201,在历史对话信息中确定与目标用户对应的样本对话信息;
93.步骤s202,基于预设标注模型对样本对话信息进行标注,得到样本对话信息的情绪标签。
94.在一些实施例的步骤s201中,在历史对话信息中确定与目标用户对应的样本对话信息,便于后续进行情绪分析。
95.需要说明的是,确定与目标用户对应的样本对话信息可以通过目标用户的身份标识进行确定,或者人工选择目标用户的样本对话信息等,本实施例不做具体限制。
96.在一些实施例的步骤s202中,基于预设标注模型对样本对话信息进行标注,得到样本对话信息的多个情绪标签,从而能够对不同的情绪标签进行分析。
97.需要说明的是,预设情绪模型为训练好的对话情绪识别模型,通过训练好的对话情绪识别模型对样本对话信息进行自动预测标注,提高对情绪标签标注的准确率、降低标注成本。
98.可以理解的是,对样本对话信息也可以采用人工标注的方式进行标注,本实施例不做具体限制。
99.请参阅图3,在一些实施例中,步骤s102可以包括但不限于包括步骤s301至步骤s303:
100.需要说明的是,预设情绪模型包括句向量编码器和情绪分类器。
101.步骤s301,将样本对话信息中的句子输入句向量编码器进行语句切分,得到样本对话信息的句向量;
102.步骤s302,将句向量输入情绪分类器,以使情绪分类器对句向量中的情绪标签进行情绪识别,得到识别结果;
103.步骤s303,对识别结果进行分类统计,得到情绪频率集合。
104.在一些实施例的步骤s301中,将样本对话信息中的每一条文本句子输入句向量编码器,使得句向量编码器按照字段以及预设分隔符对句子进行切分,最终取第0个位置的向量作为最终输出的句向量,从而得到样本对话信息的完整的句向量,提高对样本对话信息中情绪标签识别的准确性。
105.需要说明的是,句向量编码器为bert模型。
106.在一些实施例的步骤s302中,将步骤s301得到的各种句向量输入情绪分类器,以使情绪分类器对句向量中的出现的情绪标签进行情绪识别,得到识别结果,从而确定不同情绪标签在句向量中的概率分布。
107.在一些实施例的步骤s303中,对步骤s302得到的识别结果进行分类统计,确定不同情绪标签在句向量中的概率分布,得出每个情绪标签出现的频率,最终统计得到情绪频率集合。
108.请参阅图4,图4是本技术另一实施例提供的情绪分析方法的可选的流程图,图4中的方法可以包括但不限于包括步骤s401至步骤s402。
109.步骤s401,根据情绪频率集合建立自身情绪矩阵;
110.需要说明的是,自身情绪矩阵用于表征目标用户的当前对话的情绪影响下一句对话的情绪的概率值。
111.步骤s402,根据情绪频率集合建立情绪影响矩阵。
112.需要说明的是,情绪影响矩阵用于表征他人在与目标用户对话过程中被目标用户的情绪影响的概率值。
113.在一些实施例的步骤s401中,根据情绪频率集合中不同的对话情境下,情绪标签在对话中出现的频率建立一个用于表征目标用户从当前自身情绪转移到下一句话情绪的概率的自身情绪矩阵,其中,自身情绪矩阵为一个二维矩阵。
114.可以理解的是,由于情绪频率集合中存在多种对话情境下的各种情绪标签的频率值,因此,可以根据情绪频率集合中不同对话情境下,情绪标签出现的频率,建立自身情绪矩阵,例如,首先选定的对话情境为目标用户自身的对话,则在情绪频率集合中目标用户自身对话过程中出现的情绪标签的频率,假设目标用户当前的情绪为平静的频率a1,下句话的情绪为开心的频率c1,则建立的自身情绪矩阵为(a1,c1)。
115.在一些实施例的步骤s402中,根据情绪频率集合中不同的对话情境下,情绪标签在对话中出现的频率建立一个用于表征他人在与目标用户对话过程中被目标用户的情绪影响的概率值的情绪影响矩阵,其中,情绪影响矩阵为一个二维矩阵。
116.可以理解的是,由于情绪频率集合中存在多种对话情境下的各种情绪标签的频率
值,因此,可以首先选定对话情境为目标用户与他人的对话交流,之后得到他人的当前情绪为兴奋的频率b1,目标用户当前情绪为生气的频率为a2,则建立的情绪影响矩阵为(b1,a2)。
117.请参阅图5,在一些实施例,步骤s104包括但不限于包括步骤s501至步骤s504:
118.步骤s501,对样本对话信息中的情绪标签进行约束,得到真实情绪标签序列;
119.步骤s502,将真实情绪标签序列输入情绪分类器进行概率计算,得到标签概率分布;
120.步骤s503,根据情绪转移矩阵、自身情绪矩阵、情绪影响矩阵、真实情绪标签序列以及标签概率分布对预设分数值函数进行优化,得到预测序列概率函数;
121.步骤s504,根据预测序列概率函数对预设情绪模型进行训练,得到情绪转移模型。
122.在一些实施例的步骤s501中,样本对话信息中的情绪标签进行约束,得到真实情绪标签序列,便于后续根据真实情绪标签序列对目标用户的情绪进行分析。
123.在一些实施例的步骤s502中,将步骤s501得到的真实情绪标签序列输入至情绪分类器进行概率计算,使得情绪分类器对真实标签序列中的情绪标签进行预测,得到标签概率分布。
124.在一些实施例的步骤s503中,根据各个矩阵、真实情绪标签序列以及标签概率分布对预设分数值函数进行优化,以得到用于预测目标用户情绪变化的预测序列概率函数。
125.需要说明的是,本技术实施例中采用极大似然优化方法对预设分数值函数进行优化。
126.在一些实施例的步骤s504中,最终根据预测序列概率函数对预设情绪模型进行训练以增强预测序列概率函数的鲁棒性,得到情绪转移模型,便于后续对目标用户情绪变化的预测。
127.请参阅图6,在一些实施例,步骤s501包括但不限于包括步骤s601至步骤s602:
128.需要说明的是,预设情绪模型包括条件随机场层。
129.步骤s601,将样本对话信息中的情绪标签输入条件随机场层进行筛选,得到真实情绪标签概率值;
130.步骤s602,对真实情绪标签概率值进行类别统计,得到真实情绪标签序列。
131.在一些实施例中,将样本对话信息中的情绪标签输入预设情绪模型中的条件随机场层进行筛选,以得到经过去最大化的真实情绪标签概率值,之后对真实情绪标签概率值进行类别统计,从而得到真实情绪标签序列,提高预测的精确性。
132.请参阅图7,在一些实施例中,步骤s504可以包括但不限于包括步骤s701至步骤s704:
133.需要说明的是,预测序列概率函数包括似然概率函数和损失函数。
134.步骤s701,根据似然概率函数得到预设情绪模型的似然概率值;
135.步骤s702,将似然概率值输入损失函数进行计算,得到概率损失值;
136.步骤s703,根据损失函数得到预设情绪模型的情绪转移概率值;
137.步骤s704,当概率损失值小于情绪转移概率值,根据概率损失值更新预设情绪模型,得到情绪转移模型。
138.在一些实施例中,预测序列概率函数包括似然概率函数以及损失函数,首先根据
似然概率函数对预设情绪模型进行极大似然优化,得到预设情绪模型的似然概率值,之后将似然概率值输入损失函数进行计算,得到概率损失值,并根据损失函数得到当前预设情绪模型的情绪转移概率值,最后将概率损失值以及转移概率值进行对比,当概率损失值小于情绪转移概率值,根据概率损失值更新预设情绪模型,从而得到情绪转移模型。
139.需要说明的是,当概率损失值小于或者等于转移概率值,则可以停止对预设情绪模型的训练。
140.请参阅图8,本技术实施例还提供一种情绪分析装置,可以实现上述情绪分析方法,该装置包括:
141.对话处理模块801,用于对获取到的目标用户的历史对话信息进行预处理,得到目标用户的样本对话信息,其中,样本对话信息携带多个情绪标签;
142.情绪分类模块802,用于将样本对话信息输入预设情绪模型进行情绪分类,得到情绪频率集合,其中,情绪频率集合包括每个情绪标签在样本对话信息中出现的次数;
143.矩阵建立模块803,用于根据情绪频率集合建立目标用户的情绪转移矩阵,其中,情绪转移矩阵用于表征目标用户的情绪受到他人情绪影响的概率值;
144.模型训练模块804,用于基于情绪转移矩阵对预设情绪模型进行训练,得到情绪转移模型;
145.概率预测模块805,用于将获取到的目标用户的目标对话信息输入情绪转移模型进行概率预测,得到情绪波动概率值,其中,情绪波动概率值用于为目标用户在他人情绪影响的情况下情绪发生变化的概率值。
146.该情绪分析装置的具体实施方式与上述情绪分析方法的具体实施例基本相同,在此不再赘述。
147.为了更加清楚的说明情绪分析方法的流程,下面以具体的示例进行说明。
148.示例一:
149.假设一个对话中有m个说话人p0、p1……
p
m-1
,p0是需要分析的目标用户,说话人pi共说了leni句话。假设一个对话x中有n句话,这个对话中的n句话为样本对话信息,即,x0、x1……
x
n-1
,其中,样本对话信息中xi是说话人p
speaker(i)
说的,speaker(i)是xi对应的说话人的下标。并且,其他说话人pi说的话为utterance(pi)[j]是说话人pi说的第j句话的下标。erc任务是去预测每句话的情绪标签,包括开心、生气、中性、伤心、激动、愤怒等。
[0150]
首先,将样本对话信息中的单个文本句子x
t
输入句向量编码器,句向量编码器对样本对话信息进行语句切分,将文本句子x
t
按字切分成token序列[[cls],x
t,0
,x
t,1
……
x
t,l-1
,[sep]],从而得出x
t
中有l个字,x
t,i
表示x
t
,中的第i个字,[cls]、[sep]分别表示句子的开头和结尾分隔符,之后取[[cls],x
t,0
,x
t,1
……
x
t,l-1
,[sep]]中的[cls]位置的表示作为句向量标识,得到u
t
,u
t
是一个大小为d的向量,句向量u
t
的公式(1)如下所示:
[0151]ut
=bert([[cls],x
t,0
,x
t,1
……
x
t,l-1
,[sep]])[0]
ꢀꢀꢀ
(1)
[0152]
需要说明的是,公式(1)中的[0]为第0个位置的向量,取第0个位置的向量作为最终输出的句向量。
[0153]
再将句向量u
t
输入情绪分类器进行情绪识别,得到每种情绪的频率分布,从而得到情绪频率集合,得到情绪频率集合的公式(2)如下所示:
[0154]
p
t
=w
·ut
+b
ꢀꢀꢀ
(2)
[0155]
之后根据情绪频率集合建立目标用的自身情绪矩阵m1、情绪影响矩阵m2以及情绪转移矩阵m3,其中,m1、m2以及m3均为二维矩阵;
[0156]
将样本对话信息输入条件随机场层进行筛选,得到真实情绪标签概率值,真实情绪标签概率值公式(3)如下:
[0157]
max(p(y|x))
ꢀꢀꢀ
(3)
[0158]
对真实情绪标签概率值进行类别统计,得到真实情绪标签序列y=[y0,y1……yn-1
],其中,yi为的第i个句子的真实情绪标签。x=[p0,p1……
p
n-1
]是情绪分类器计算出的标签概率分布,第i句话的真实标签为yi,第i句话情绪分类器预测的标签概率分布为pi。
[0159]
最后,根据情绪转移矩阵、自身情绪矩阵以及情绪影响矩阵对预设情绪模型中的预设分数值函数进行优化,预设分数值函数公式(4)如下:
[0160][0161]
在模型训练过程中,采用极大似然优化方法进行优化,得到的预测序列的似然概率值如公式(5)所示:
[0162][0163]
在将似然概率值输入损失函数进行计算,得到概率损失值,概率损失值的如公式(6)所示:
[0164]
loss=-log(p(y|x))
ꢀꢀꢀ
(6)
[0165]
需要说明的是,在训练的过程中,对预设情绪模型分批处理,先得到预设情绪模型的概率损失值,之后反向计算梯度,根据概率损失值更新预设情绪模型,得到最终的情绪转移模型。
[0166]
在一些实施例中,通过对目标用户的情绪进行分析,能够得到目标用户日常的情绪分布,例如,分布中占比越大的情绪,代表目标用户常处于的情绪状态。举例某人开心情绪分布的占比越高,代表这个人聊天日常越欢乐;目标用户自身的情绪变化,例如,目标用户的自身情绪矩阵m1,表示其自身的情绪变化特点,通过模型训练学习得到,其中,矩阵中的m1
i,j
代表用户从第i种情绪变化到第j种情绪,越大代表用户在聊天中越经常从第i种情绪变化到第j种情绪;目标用户对他人情绪的影响,例如,目标用户的情绪影响矩阵m2,表示其对他人的情绪影响的特点,通过模型训练学习得到。其中,矩阵中的m2
i,j
代表用户为第i种情绪时对方为第j种情绪的可能性,m2
i,j
越大代表这类情绪转移出现的越多;目标用户受他人情绪的影响,例如,目标用户的情绪转移矩阵m3,表示用户受他人的情绪影响的特点,通过模型训练学习得到。其中矩阵中的m3
i,j
代表对方为第i种情绪时该用户为第j种情绪的可能性,越大代表这类情绪转移出现的越多,从而能够多维度、全面地分析目标用户的性格特征。
[0167]
本技术实施例还提供了一种电子设备,电子设备包括:存储器、处理器、存储在存储器上并可在处理器上运行的程序以及用于实现处理器和存储器之间的连接通信的数据总线,程序被处理器执行时实现上述情绪分析方法。该电子设备可以为包括平板电脑、车载
电脑等任意智能终端。
[0168]
请参阅图9,图9示意了另一实施例的电子设备的硬件结构,电子设备包括:
[0169]
处理器901,可以采用通用的cpu(central processing unit,中央处理器)、微处理器、应用专用集成电路(application specificintegrated circuit,asic)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本技术实施例所提供的技术方案;
[0170]
存储器902,可以采用只读存储器(read only memory,rom)、静态存储设备、动态存储设备或者随机存取存储器(random access memory,ram)等形式实现。存储器902可以存储操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器902中,并由处理器901来调用执行本技术实施例的情绪分析方法;
[0171]
输入/输出接口903,用于实现信息输入及输出;
[0172]
通信接口904,用于实现本设备与其他设备的通信交互,可以通过有线方式(例如usb、网线等)实现通信,也可以通过无线方式(例如移动网络、wifi、蓝牙等)实现通信;
[0173]
总线905,在设备的各个组件(例如处理器901、存储器902、输入/输出接口903和通信接口904)之间传输信息;
[0174]
其中处理器901、存储器902、输入/输出接口903和通信接口904通过总线905实现彼此之间在设备内部的通信连接。
[0175]
本技术实施例还提供了一种存储介质,存储介质为计算机可读存储介质,用于计算机可读存储,存储介质存储有一个或者多个程序,一个或者多个程序可被一个或者多个处理器执行,以实现上述情绪分析方法。
[0176]
存储器作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序以及非暂态性计算机可执行程序。此外,存储器可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施方式中,存储器可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至该处理器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
[0177]
本技术实施例提供的情绪分析方法、情绪分析装置、电子设备及存储介质,首先,对获取到的目标用户的历史对话信息进行预处理,以得到携情绪标签的目标用户的样本对话信息,再将样本对话信息输入预设情绪模型进行情绪分类,从而得到不同的情绪标签在样本对话信息中出现的次数,根据不同情绪标签出现的次数生成情绪频率集合,之后根据情绪频率集合建立目标用户的情绪转移矩阵,便于后续分析目标用户的情绪变化,再根据情绪转移矩阵对预设情绪模型进行训练,提高预设情绪模型的鲁棒性,得到情绪转移模型,最后,将获取到的目标用户的目标对话信息输入情绪转移模型进行概率预测,从而通过情绪转移模型分析出目标用户在他人情绪影响的情况下,目标用户情绪发生变化的概率值,提高对目标用户情绪分析的准确率,能够准确分析出目标用户被他人情绪影响的情绪变化状况。
[0178]
本技术实施例描述的实施例是为了更加清楚的说明本技术实施例的技术方案,并不构成对于本技术实施例提供的技术方案的限定,本领域技术人员可知,随着技术的演变和新应用场景的出现,本技术实施例提供的技术方案对于类似的技术问题,同样适用。
[0179]
本领域技术人员可以理解的是,图1-7中示出的技术方案并不构成对本技术实施例的限定,可以包括比图示更多或更少的步骤,或者组合某些步骤,或者不同的步骤。
[0180]
以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
[0181]
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、设备中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。
[0182]
本技术的说明书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本技术的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
[0183]
应当理解,在本技术中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“a和/或b”可以表示:只存在a,只存在b以及同时存在a和b三种情况,其中a,b可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。
[0184]
在本技术所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,上述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0185]
上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0186]
另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0187]
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括多指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例的方法的全部或部分步
骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-only memory,简称rom)、随机存取存储器(random access memory,简称ram)、磁碟或者光盘等各种可以存储程序的介质。
[0188]
以上参照附图说明了本技术实施例的优选实施例,并非因此局限本技术实施例的权利范围。本领域技术人员不脱离本技术实施例的范围和实质内所作的任何修改、等同替换和改进,均应在本技术实施例的权利范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1