基于情感语义转移图谱的情感引导方法及系统
技术领域
本发明涉及数据处理技术领域,具体涉及一种基于情感语义转移图谱的情感引导方法及系统。
背景技术
随着社会的发展,人们面对工作生活中的压力,及时遏制不良的情感倾向显得尤为重要。由此,情感引导相关话题引起了人们广泛的研究。
目前,基于文本的情感引导技术是主要的情感引导手段之一。通常的做法是提取特定用户的对话集,分析用户的情感序列,根据用户的不同情感反应选择最优的情感引导策略,具体为抽取出一个关键词刺激用户,以使其转移到指定的情感。
但是,现有的基于文本的情感引导技术,目前研究对情绪引导的关键词局限于特定的词语刺激,无法找到能引起引导对象转移到目标情感的最优的关键词。
发明内容
(一)解决的技术问题
针对现有技术的不足,本发明提供了一种基于情感语义转移图谱的情感引导方法及系统,解决了目前研究对情绪引导的关键词局限于特定的词语刺激,无法找到能引起引导对象转移到目标情感的最优的关键词的技术问题。
(二)技术方案
为实现以上目的,本发明通过以下技术方案予以实现:
一种基于情感语义转移图谱的情感引导方法,方法包括:
S1,构建情感语义转移图谱;
构建情感语义转移图谱具体包括如下步骤:
获取引导对象的个人网络对话数据集;
预处理引导对象的个人网络对话数据集,得到引导对象的个人网络对话语料;包括:对个人网络对话数据集进行数据清洗、正文抽取、jieba 分词进行文本分词得到引导对象的个人网络对话语料,再使用BIO规则标注个人网络对话语料得到标签序列,
采用基于双向LSTM模型的BiLSTM-CRF实体识别模型抽取个人网络对话语料中的实体,
采用基于特征词的词性序列匹配抽取实体的属性和属性特征词,得到实体、属性、属性特征词三元组,
采用基于文本的卷积神经网络Text-CNN抽取个人网络对话语料中的实体的关系,从关系中筛选出带有不同情感倾向的实体关系组合,并利用知网情感词典对实体关系组合进行评分,得到不同情感倾向的概率分布,将概率分布作为关系的权重,结合实体,得到实体、关系、实体三元组,
基于实体、属性、属性特征词三元组和实体、关系、实体三元组构建情感语义转移图谱;
S2,生成情感引导决策,
生成情感引导决策具体包括如下步骤:
获取引导对象的个人实时对话数据集;
预处理引导对象的个人实时对话数据集;包括:对个人实时对话数据集进行数据清洗、正文抽取、jieba分词进行文本分词得到引导对象的个人实时对话语料,利用深度学习方法基于个人实时对话语料识别出引导对象的初始情感,
根据目标情感的需要,结合初始情感,利用情感语义转移图谱,得到最优的实体关键词,基于最优的实体关键词和关键词的回复生成技术生成情感引导决策。
优选的,步骤S1中标签序列包括:
B-PER、I-PER分别代表人名首字、人名非首字,
B-LOC、I-LOC分别代表地名首字、地名非首字,
B-ORG、I-ORG分别代表组织机构名首字、组织机构名非首字,
O代表该字不属于命名实体的一部分。
优选的,步骤S1中采用BIO规则标注个人网络对话语料还得到不同的实体类别,将不同的实体类别分别存储至相应的neo4j的知识库中,再将个人网络对话语料中的实体存储在相应的neo4j的知识库中,进而得到不同的实体知识库。
优选的,步骤S1中构建情感语义转移图谱还包括:
确定个人网络对话语料中的实体指称项无歧义指向的正确的实体对象,采用基于属性个数计算实体相似度的方法确定正确的实体对象,流程如下:
a、从个人网络对话语料中抽取实体指称项E及其属性信息;
b、从不同的实体知识库获取与E同类的候选实体集B=(b(1), b(2),…,b(p)),b(i)表示候选实体集中的候选实体;
c、分别统计E和B的属性个数;
d、根据属性个数计算E与B中候选实体的欧式距离 D(d1,d2,…,dk);
其中,E=(e(1),e(2),…,e(p))表示不同的实体知识库对应的不同实体集,B=(b(1),b(2),…,b(p))表示与E同类的候选实体集;
e、欧氏距离D(d1,d2,…,dk)的大小与实体相似度呈负相关,故将 Dmin对应的候选实体作为正确的实体对象;
将不同的实体知识库中的指向同一实体对象的不同实体指称项进行合并,
不同的实体知识库为结构化数据库,当结构化数据库置信度较高时,将结构化数据库进行知识合并。
优选的,步骤S1中构建情感语义转移图谱还包括:图谱更新推理。
优选的,步骤S1中不同情感倾向的种类包括快乐、自然、惊讶、悲伤、生气。
优选的,步骤S2中深度学习方法包括将个人实时对话语料输入基于双向GRU网络和Self-Attention机制的情感分析模型,输出一个二维数组,二维数组代表初始情感为正向或负向的概率。
优选的,步骤S2中关键词回复生成技术包括采用DcDecoder模型。
一种基于情感语义转移图谱的情感引导系统,系统包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序时实现如上述任一方法的步骤。
(三)有益效果
本发明提供了一种基于情感语义转移图谱的情感引导方法及系统。与现有技术相比,具备以下有益效果:
本发明通过获取并预处理大量的个人网络对话数据集,得到个人网络对话语料,并抽取个人网络对话语料中的实体、属性、关系,其中抽取关系时,从所述实体关系中筛选出带有不同情感倾向的实体关系组合,并利用知网情感词典对所述带有不同情感倾向的实体关系组合进行评分,得到不同情感倾向的概率分布,将所述不同情感倾向的概率分布作为所述关系的权重,确定情感转移之间的联系。利用深度学习方法识别出引导对象的初始情感,再根据情感语义转移图谱找到最优的关键词实体,基于最优的关键词实体,利用关键词的回复生成技术进行情感引导决策。由此,实现引起引导对象转移到目标情感效率、准确性更高的有益效果。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的基于情感语义转移图谱的情感引导方法的流程示意图;
图2是本发明实施例提供的构建情感语义转移图谱的流程示意图;
图3是本发明实施例提供的情感引导决策的流程示意图;
图4是本发明实施例BiLSTM-CRF模型的结构示意图;
图5是本发明实施例BiLSTM-CRF模型中CRF层的结构示意图;
图6是本发明实施例中实体属性抽取流程示意图;
图7是本发明实施例中三元组数据模型示意图;
图8是本发明实施例中构建情感语义转移图谱模式层的流程示意图;
图9是本发明实施例中情感分析模型结构图;
图10是本发明实施例中情感分析模型网络层的结构示意图;
图11是本发明实施例提供的基于情感语义转移图谱的情感引导系统的结构框图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本申请实施例通过提供一种基于情感语义转移图谱的情感引导方法及系统,解决了目前研究对情绪引导的关键词局限于特定的词语刺激,无法找到能引起引导对象转移到目标情感的最优的关键词的技术问题,实现引起引导对象转移到目标情感效率、准确性更高的有益效果。
本申请实施例中的技术方案为解决上述技术问题,总体思路如下:
本发明通过获取并预处理大量的个人网络对话数据集,得到个人网络对话语料,并抽取个人网络对话语料中的实体、属性、关系,其中抽取关系时,从所述实体关系中筛选出带有不同情感倾向的实体关系组合,并利用知网情感词典对所述带有不同情感倾向的实体关系组合进行评分,得到不同情感倾向的概率分布,将所述不同情感倾向的概率分布作为所述关系的权重,确定情感转移之间的联系。利用深度学习方法识别出引导对象的初始情感,再根据情感语义转移图谱找到最优的关键词实体,基于最优的关键词实体,利用关键词的回复生成技术进行情感引导决策。由此,实现引起引导对象转移到目标情感效率、准确性更高的有益效果。
为了更好的理解上述技术方案,下面将结合说明书附图以及具体的实施方式对上述技术方案进行详细的说明。
实施例:
图1是本发明实施例提供的基于情感语义转移图谱的情感引导方法的流程示意图。参见图1,该基于情感语义转移图谱的情感引导方法包括:
S1,构建情感语义转移图谱,包括:
如图2所示,预处理引导对象的个人网络对话数据集,包括:获取引导对象的个人网络对话数据集;
预处理引导对象的个人网络对话数据集,包括:对所述个人网络对话数据集进行数据清洗、正文抽取、jieba分词进行文本分词得到所述引导对象的个人网络对话语料,再使用BIO规则标注所述个人网络对话语料得到标签序列,
采用基于双向LSTM模型的BiLSTM-CRF实体识别模型抽取所述个人网络对话语料中的实体,
采用基于特征词的词性序列匹配抽取所述实体的属性和属性特征词,进而得到实体、属性、属性特征词三元组,
采用基于文本的卷积神经网络Text-CNN抽取所述个人网络对话语料中的实体的关系,从所述关系中筛选出带有不同情感倾向的实体关系组合,并利用知网情感词典对所述实体关系组合进行评分,得到不同情感倾向的概率分布,将所述概率分布作为所述关系的权重,再结合所述实体,得到实体、关系、实体三元组,
将所述实体、属性、属性特征词三元组和实体、关系、实体三元组构建所述情感语义转移图谱;
S2,生成情感引导决策,包括:
如图3所示,预处理引导对象的个人实时对话数据集,包括:获取引导对象的个人实时对话数据集;
对所述个人实时对话数据集进行数据清洗、正文抽取、jieba分词进行文本分词得到所述引导对象的个人实时对话语料,利用深度学习方法基于所述个人实时对话语料识别出所述引导对象的初始情感,
根据目标情感的需要,结合所述初始情感,利用所述情感语义转移图谱,得到最优的实体关键词,基于所述最优的实体关键词和关键词的回复生成技术生成所述情感引导决策。
下面结合附图和实施例对本发明实施例提供的基于情感语义转移图谱的情感引导方法的各步骤作详细描述。
S1,构建情感语义转移图谱:
S101,预处理引导对象的个人网络对话数据集,包括:获取引导对象的个人网络对话数据集,如利用爬虫技术从网络中获取大量的个人网络对话数据集,然后对所述个人网络对话数据集进行数据清洗、正文抽取、jieba分词进行文本分词得到所述引导对象的个人网络对话语料,再使用BIO规则标注所述个人网络对话语料得到标签序列:B-PER、I- PER分别代表人名首字、人名非首字,B-LOC、I-LOC分别代表地名首字、地名非首字,B-ORG、I-ORG分别代表组织机构名首字、组织机构名非首字,O代表该字不属于命名实体的一部分。
上述个人网络对话数据集的获取来源可以是微博、贴吧、人人网的等公众用户活跃的社交平台,本发明实施例在此不做限制。
S102,抽取语义网络信息:
为了构建情感语义转移图谱,首先要获取个人网络对话语料中的实体、属性、关系等知识的三元组。
1)实体抽取
采用基于双向LSTM模型的BiLSTM-CRF实体识别模型识别对话数据集中的实体。BiLSTM-CRF将命名实体识别NER (NamedEntityRecognition)任务看作是一个序列标注问题,每个句子按照字序逐个输入BiLSTM中,结合正反向隐层输出得到包含每个字类别信息的表示,输入到CRF中,并优化目标函数,从而得到每个字词所属的实体类别。
BiLSTM-CRF模型分为三层,首先是输入层look-up层,其次是隐含层BiLSTM层,最后是标注层CRF层,模型架构如图4所示。
第一层输入层look-up层:负责将窗口的词进行向量化映射,获取字向量序列。
a、将预处理过后的个人网络对话语料导入到word2vec中,使用 CBOW模型定义数据的输入和输出,进行预训练,得到embedding矩阵;
b、通过预训练得到的embedding矩阵将句子中的每个字转换为低维向量wi,从而得到句子的字向量序列w(w1,w2…,wn);
c、在将向量w输入到BiLSTM层之前,设置dropout值为0.5来提高训练模型的泛化能力,从而减弱神经网络的过拟合现象。
第二层隐含层BiLSTM层:实现自动获得导入模型中的个人网络对话语料特征。
a、将look-up输出的字向量序列w(w1,w2…,wn)作为BiLSTM网络每个时间点的初始输入值;
b、在BiLSTM网络层中,输入向量序列的顺序序列作为前向LSTM 层的输入,逆序序列则作为后向LSTM层的输入。在t时刻,模型将正向LSTM输出的隐状态序列
与反向LSTM输出的隐状态序列
进行按位置拼接得到
m是隐状态向量维度。
为了自动提取句子特征,接入一个线性变换层,把之前得到的隐状态序列从m维映射到k维(k代表标注集中所有的标签数),将结果记作矩阵P=(p1,p2,…,pn)∈Rn*k,把pi∈Rk的每一维pij项都视作将字 wi分类到第j个标签的打分值。这时对输出结果P进行归一化处理 Softmax,表示对各个位置独立进行K类分类。但是这样对各个位置进行标注时,无法利用已经标注过的信息,所以接下来将接入一个CRF 层来进行标注。
第三层CRF层:进行句子级的序列标注。CRF层的参数是一个(k+2) *(k+2)的转移矩阵A,利用之前的BIO规则标注得到的标签序列,定义,Aij表示从第i个标签到第j个标签的转移得分,进而在为一个位置进行标注的时候可以利用此前已经标注过的标签(加2是因为要为句子首部添加一个起始状态以及为句子尾部添加一个终止状态)。细节如图 5所示:
图中第一个字也就是向量wo,BiLSTM对应的输出是1.5(B- Person),0.9(I-Person),0.1(B-Organization),0.08(I-Organization)and0.05(O)。接着输入CRFlayer,CRFlayer将选出最大分值的标签序列作为输出结果。
如果记一个长度等于句子长度的标签序列v=(v1,v2,…vn),那么模型对句子的字向量序列w的标签等于v的打分为:
其中,w=(w
1,w
2…,w
n)代表一个句子的自向量序列,v=(v
1,v
2,…v
n)代表对上述序列输出标签预测值,score(w,v)即对本次预测的打分值,
代表第i个单词预测为标签v
i的可能值,
代表标签v
i-1转移到v
i的可能性打分。
可以看出整个序列的打分等于各个位置的打分之和,而每个位置的打分由两部分得到,一部分是由LSTM输出的pi决定,另一部分则由CRF的转移矩阵A决定。进而可以利用Softmax得到归一化后的概率:
其中,v′属于Vx,Vx代表所有的标签序列,包括不可能出现的;
训练时,目标是得到最大化概率P(v|w),因此取对数通过最大化对数似然函数进行优化,下式给出了对一个训练样本(w,vw)的对数似然:
最后,对模型中的CRF进行解码,求使条件概率最大的输出序列 (即语料的最优标签序列)s。这里使用具有最优路径规划特点的Viterbi 算法,如下所示:
s=argmaxscore(w,v′)
根据BiLSTM-CRF实体识别方法得到的实体,放入到neo4j的实体知识库中存储,也就是图谱中的节点,同时BIO规则标注还可以得到不同的实体类别,将所述不同的实体类别分别存储至相应的neo4j的知识库中,再将个人网络对话语料中的实体存储在所述相应的neo4j的知识库中,进而得到不同的实体知识库。
2)属性抽取
采用的属性抽取方法是基于特征词的词性序列匹配。
a、获取特征词的词性序列
通过对随机选取的个人网络对话数据集进行分析,总结出以下关于属性共现规律、表述格式等规律,利用这些规律性抽取属性特征词,将这些特征词组成词典D。基于属性特征词,可以得到包含属性特征词的词性序列模板集M。例如,属性名词类词性序列<n,u,n>、<n,d,a>:“开心/n的/u张三/n”、“脸/n,好/d,黑/a”
b、实体属性抽取
基于预先获取的特征词词典D和词性序列模板集M,根据图6进行实体属性抽取。
命名实体识别后得到的结果是语料序列 S<(x1,x2,…,xn),(y1,y2,…,yn)>,其中,x是表示词语,y表示词性。利用正则表达式匹配包含特征词的词性序列,过程如下:
根据上述步骤,可获得个人网络对话语料中的属性特征词和词性序列,再根据命名实体识别的结果,人为地将实体、属性和属性特征词组合成三元组。
3)关系抽取
为了从文本中抽取出两个或多个实体之间的语义关系,采用基于文本的卷积神经网络(Text-CNN)进行实体关系抽取,Text-CNN实质上是把关系抽取问题视为句子分类任务。它由三层结构组成:
a、卷积层:对某一句话对应的预训练的词向量矩阵维度为n*k,设计一个过滤器窗口U,其维度为h*k,其中k即为词向量的长度,h 表示窗口所含的单词个数(一般设h的取值为2、3、4)。其次不断地滑动该窗口,每次滑动一个位置时,完成如下的计算:
ci=f(U*Wi:i+h-1+b)
其中,f为非线性激活函数,Wi:i+h-1表示该句子中第i到i+h-1的单词组成的词向量矩阵,U*Wi:i+h-1表示两个矩阵的对应位乘积,ci表示当前窗口位置的取值,b表示常数参数,用于调节偏差。
因此对于长度为n的句子,维度为h*k的过滤器窗口将可以产生 n-h+1个值组成的集合:C={c1,c2,…cn-h+1}。
b、最大池化层:为了能够提取出其中最大的特征,对其进行max- over-time操作,即取出集合C中的最大值c^=maxc。另外可以分析得到max-over-time操作还可以解决每句话长度不一致的问题。
c、全相连层:对于r个过滤器窗口,将产生r个值组成的向量 z=[c^1,c^2,...,c^r],Text-CNN通过设置一个全相连层,将该向量映射为长度为1的向量,1即为待预测的类的个数,设置softmax激活函数即可转换为各个类的概率值。
具体而言,将Text-CNN用于实体关系抽取时,可以将其看作句子分类问题:
一个长度为n有p个实体的句子的字向量序列为w(w1,w2…,wn),其中实体为:
其中k表示第i个实体的长度,e
(i)表示实体。该句子内所有实体将组成一个集合E=E=(e
(1),e
(2),…,e
(p))。任意取集合E中的两个实体作为一个组合(e
a,e
b),其中(a<b),并考察其是否具有关系,关系表示为R
(a,b),其取值为{0,1,2,...,r},r表示关系类标个数,即预设的试题关系的种类,每一个关系对应一个整数,0则表示没有关系。因此对于一个包含p个实体Ex的句子w将产生
个关系组合。
将一句话中,这些实体及其之间的所有单词组成一个新子句,并将其对应的wordembeddings输入Text-CNN(填充0方式来解决句子长度不一致问题)。然后使用不同窗口大小的一维卷积核进行计算,然后将得到了每个通道的结果进行max-over-timepooling计算,再将不同通道的结果拼接到一起,得到最后的向量表示。
对不同实体之间关系抽取后,会筛选出带有感情倾向的关系组合,这些组合需要进行情感分析,利用知网情感词典进行情感打分,对于两个实体之间的程度副词和词典作比较,根据程度副词的种类不同乘以不同的权值,这里分析出来的情感有五类,分别是快乐、自然、惊讶、悲伤、生气,输出的各个情感概率取值在0-1之间,总和是1,得到的情感概率分布作为关系的权重导入到知识图谱中。
采用基于文本的卷积神经网络(Text-CNN)进行实体关系抽取后,即确定每两个实体之间存在某种关系,再对有关系体现相关的对话进行情感分析:
a、识别出情感词:预处理个人网络对话数据集时已经将语句进行分句,以分句为单位在汉语情感词极性表中寻找情感词;
b、进行情感打分:以每个情感词为基准,向前依次寻找程度副词、否定词,并作相应分值计算,计算情感词与知网情感词典的距离进行不同情感倾向的打分;
c、得到情感概率:另外判断该句是否为感叹句,是否为反问句,以及是否存在表情符号。如果是,则分句在原有分值的基础上加上或减去对应的权值。最后对该语句的所有分句对应情感的分值进行累加,得到情感概率分布。
例如,假设将对话情绪分为5类,预料对话里出现“张三这个人很害怕老鼠,小时候被咬过”,那识别出的情感词就是“害怕”,寻找到程度副词“很”,则得到的张三对于老鼠的情感概率是(快乐-0.05,自然 -0.10,惊讶-0.55,悲伤-0.25,生气-0.15),则这个概率分布作为张三-老鼠两个实体间的关系权重。
S103,融合抽取的信息:
1)实体链接
由于人在正常说话时没有这么严谨的表述,导致通过命名实体识别获取的实体指称项存在歧义,或者不同的实体指称项指向相同的实体。例如张三害怕老鼠,李四对话中提到了耗子,两者均指向同一实体,但都会引起张三的情绪波动
因此有必要引入实体链接,包括实体消歧和共指消解,
实体链接,用于确定所述个人网络对话语料中的实体指称项无歧义指向的正确的实体对象,采用基于属性个数计算实体相似度的方法确定正确的实体对象,流程如下:
a、从所述个人网络对话语料中抽取实体指称项E及其属性信息;
b、从所述不同的实体知识库获取与E同类的候选实体集B=(b(1), b(2),…,b(p)),b(i)表示候选实体集中的候选实体;
c、分别统计E和B的属性个数;
d、根据所述属性个数计算E与B中所述候选实体的欧式距离 D(d1,d2,…,dk);
其中,E=(e(1),e(2),…,e(p))表示所述不同的实体知识库对应的不同实体集,B=(b(1),b(2),…,b(p))表示与E同类的候选实体集;
e、所述欧氏距离D(d1,d2,…,dk)的大小与所述实体相似度呈负相关,故将Dmin对应的候选实体作为所述正确的实体对象。
2)知识合并
知识合并,用于将所述不同的实体知识库中的指向同一实体对象的不同实体指称项进行合并,
所述不同的实体知识库为结构化数据库,当所述结构化数据库置信度较高时,将所述结构化数据库进行知识合并。
情感语义知识图谱的数据层构建时,将置信度较高的结构化数据库进行知识合并,合并后的数据库可直接使用SPARQL语言进行查询和访问。本发明实施例采用D2R映射的方法将数据表转换为三元组格式的数据,实现数据的合并,形成结构化数据。
4、构建情感语义转移图谱
构建知识图谱是自底而上的构建技术,构建带有情感概率分布的情感语义转移图谱。情感语义转移图谱默认的数据模型是三元组(实体,关系,实体)和(实体,属性,属性值),如下图所示:
如图7中,把实体“张三”和“猫”之间的关系权重,用情绪概率分布 (快乐-0.70,自然-0.20,惊讶-0.05,悲伤-0.05,生气-0.05)表示。可以看到,这种把情绪概率分布融合到图谱中,能够清晰表示实体间的情绪关系,将带有情绪转移的语料构建成一个结构化的数据库。
1)数据层构建
通过命名实体识别和依存句法分析等方法,本发明实施例完成从非结构化的个人网络对话语料中获取实体、关系、属性,借助实体链接实现对抽取知识的消歧处理,通过知识合并完成结构化数据的融合
为了构建数据层,本发明实施例将抽取的信息导入到图数据库 Neo4j中,本发明实施例使用Cypher语言进行存储操作。在Neo4j服务器主界面中,使用CREATE对个人网络对话语料结构化后的实体创建节点和属性,再用MATCH语句创建节点间的关系。如果需要将融合后的其他情感对话语料导入存储,则使用Load语句操作。
2)模式层构建
模式层构建在数据层之上,目的是从抽取的情感语义知识中提炼概念模型,并将概念模型转化为计算机能够理解识别的数据形式。使用本体来构建和管理情感语义转移图谱的模式层。
本体构建方法选择使用斯坦福大学医学院开发的七步法,流程如图8所示。
使用Protégé本体编辑器生成本体,需要将概念、属性和关系三个主要本体要素添加到本体模型中,形成情感语义转移图谱模式层的概念模型。
4、图谱更新推理
构建的情感语义转移图谱的数据库基于引导对象的个人网络对话语料,而语料随着引导对象的对话记录不断增加,这就要求图谱需要进行不断地更新,来保证情绪引导的准确率。由于数据库针对的是个人的情绪引导,采用增量更新的方式,进行人工更新干预,将增加的语料进行抽取处理后链接到当前的情感语义转移图谱中。
S2,情感引导决策,包括:
初始情感分析,本发明实施例是为了目标情感的引导,首先要分析出引导对象的初始情感,因此需要对引导对象的个人实时对话数据集进行情感分析,本发明实施例采用的是基于双向GRU网络和Self- Attention机制的情感分析模型识别引导对象的初始情感。具体包括:
1)、语料预处理
针对引导对象的个人实时对话数据集进行预处理,这里用到的预处理方式和个人网络对话数据集的处理方式相同,得到个人实时对话语料。
再将处理后的个人实时对话语料导入到word2vec中,使用CBOW 模型定义数据的输入和输出,进行预训练。通过预训练得到的 embedding矩阵将个人实时对话语料中的每个字转换为低维向量w′i,从而得到个人实时对话语料的字向量序列W′(w′1,w′2…,w′n)。
2)、情感分析模型
情感分析模型包括输入层、网络层、结合层、Self-Attention层和分类层五层结构,模型结构如图8所示:
第一层输入层
模型的输入为一个n维向量,代表一个长度为n的个人实时对话语料的字向量序列W′,向量中每位代表该位置单词在One-hot词典中的索引,通过Embedding操作获取每个单词的词向量,输入到网络层中。
第二层网络层
网络层采用双向GRU网络。GRU通过使用更新门和重置门,将网络中的重要特征保留下来,解决了循环神经网络中的长期依赖问题。结构如图9所示:
其中,h
t-1是上一节点输出状态,x
t是本节点输入状态,r
t和z
t分别代表重置门和更新门,
是本节点候选输出状态,h
t是本节点输出状态。
重置门r
t用于控制上一节点输出状态h
t-1和本节点输入状态x
t进入本节点候选输出状态
中的比例,更新门z
t用于控制上一节点输出状态h
t-1和本节点候选输出状态
进入本节点输出状态h
t的比例。
a.更新门计算公式:
zt=σ(WZ·[ht-1,xt])
其中,σ为tanh激活函数,WZ表示更新门Zt的权重矩阵。
更新门越大,上一节点输出状态带入本节点状态的信息越少。
b.重置门计算公式:
rt=σ(Wr·[ht-1,xt])
其中,Wr表示更新门rt的权重矩阵。
重置门的值越大,说明上一节点输出带入本节点的信息越多
c.计算得到重置门之后,本节点的候选输出状态h′t:
h′t=tanh(W·[rt*ht-1,xt])
其中,W是进行线性变换的权重矩阵。
d.最终由更新门更新细胞状态,得到本节点的隐藏层输出ht:
ht=(1-zt)*ht-1+zt*ht
第三层结合层
网络层t时刻的前向输出
和后向输出
在结合层拼接为一个2d 维的网络层输出h
t,其中d为每层GRU网络的输出维度,n个时刻的输出组成了结合层的输出矩阵H=(h
1,h
2,…,h
n)∈R
n*2d,传入Self- Attention层。
第四层Self-Attention层
Self-Attention网络的输入是网络层每个节点前后向输出状态拼接后组成的nx2d矩阵H:
H=(h1,h2,…,hn)
H输入后,得到H的Attention权重矩阵H’,
H′=tanh(Ws1HT)
其中,Ws1是k*2d的权重矩阵,k是网络设置的超参数,HT是H 矩阵的转置矩阵。
H′与k维的权重向量Ws2的乘积即为各节点输入的Attention得分,输入Softmax函数进行归一化:
α=softmax(Ws2H′)
s=αH
其中,Ws2是1*k维的权重向量,n维向量a即为最终的Self- Attention得分向量,其各维的值代表该位单词对该实时语料文本情感倾向的贡献度,通过得分向量a与输入矩阵H的乘积作为Attention 层的输出向量s,并输入分类层进行情感分类。
第五层Softmax层
模型分类层使用Softmax分类器,分类器输出的是一个二维数组,数组中的内容分别代表该个人实时对话语料文本的情感为正向或负向的概率。Softmax分类器计算输入的个人实时对话语料文本属于某类的概率如下(pk表示个人实时对话语料的字向量序列W′属于第k 个类别的概率):
其中,q
k表示输入的类别k的向量,q
j表示输入的1~j的所有向量,
表示q
k的转置,
表示q
j的转置,W′表示个人实时对话语料的字向量序列。
Softmax分类器使用交叉熵的定义损失函数,假设s代表个人实时对话语料的字向量序列W′属于各类别的真实概率向量,t为估计概率向量,则s与t的交叉熵可以定义为:
其中,C为类别个数,sk为个人实时对话语料的字向量序列W′属于类别k的真实概率,tk表示个人实时对话语料的字向量序列W′属于类别k的估计概率。
模型使用Adam算法作为损失函数的优化器,同时加入dropout 层以防止模型过拟合。所有个人实时对话语料文本N的交叉熵之和即可作为模型的损失函数:
本发明实施例在完成初始情感的识别后,再根据目标情感的需要,结合所述初始情感,利用所述情感语义转移图谱,找到最优的关键词实体,基于所述关键词实体,利用关键词的回复生成技术进行所述情感引导决策。
例如,初始情感分析识别出张三情感负向概率较高,为了将张三引导至目标情感快乐。通过情感语义转移图谱,可知张三对猫的情感概率分布是(快乐-0.70,自然-0.20,惊讶-0.05,悲伤-0.05,生气-0.05),其中快乐的概率分布相比其他实体更高,那么引导其至目标情感快乐的相关对话涉及到关键词就是猫。据此,本发明实施例所提出的方法可以被应用于情绪诱导,心理疾病的辅助的治疗以及心理咨询等系列场景中。
其中,基于关键词的回复技术使用的是DcDecoder(DynamicConditionalDecoder)模型,就是可以使用动态个数关键词同时考虑每个关键词完整信息的解码器(DcDecoder),使得多个关键词可以显式地被预测在回复中。
如图10所示,本发明实施例还提供一种基于情感语义转移图谱的情感引导系统,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述基于情感语义转移图谱的情感引导方法的步骤。
综上所述,与现有技术相比,具备以下有益效果:
1、本发明实施例通过获取并预处理大量的个人网络对话数据集,得到个人网络对话语料,并抽取个人网络对话语料中的实体、属性、关系,其中抽取关系时,从所述实体关系中筛选出带有不同情感倾向的实体关系组合,并利用知网情感词典对所述带有不同情感倾向的实体关系组合进行评分,得到不同情感倾向的概率分布,将所述不同情感倾向的概率分布作为所述关系的权重,确定情感转移之间的联系。利用深度学习方法识别出引导对象的初始情感,再根据情感语义转移图谱找到最优的关键词实体,基于最优的关键词实体,利用关键词的回复生成技术进行情感引导决策。由此,实现引起引导对象转移到目标情感效率、准确性更高的有益效果。
2、本发明实施例中的情感语义转移图谱基于个人的大量的原始网络对话数据集构建,对实现引起引导对象转移到目标情感具有极好的针对性,较现有的基于文本进行情感引导的技术手段效果更好。
3、本发明实施例在信息提取的过程中考虑到上下文语义信息和文本主题信息,实体消歧和共指消解有效的将口语对话中常出现的同义词融合,因此在选择情感引导实体关键词时,更加精准的进行情感引导。
4、本发明实施例所提出的方法可以被应用于情绪诱导,心理疾病的辅助的治疗以及心理咨询等系列场景中。
需要说明的是,在本文中术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。