掌桥专利:专业的专利平台
掌桥专利
首页

文本的情绪识别方法、装置、设备及存储介质

文献发布时间:2023-06-19 11:26:00


文本的情绪识别方法、装置、设备及存储介质

技术领域

本申请涉及人工智能技术领域,尤其涉及到一种文本的情绪识别方法、装置、设备及存储介质。

背景技术

情绪识别是人工智能领域重要的领域,及时准确捕捉到人的情绪,能有效的提高各项服务的质量。例如,在客服推销场景,可以根据用户的情绪变化为用户推荐合适的产品,提高成功率,也能减少后续的投诉。

目前,对于情绪识别任务,往往利用基于神经网络训练的深度学习模型实现对文本的情绪识别。然而,深度学习模型要在特定场景下达到满意的效果,需要使用大量垂直领域的数据进行训练,无论是新场景下的情绪识别,还是旧场景下数据模式发生变化,都需要重新积累数据,进而导致训练时间较长,且对于本身训练样本较少的领域,会导致训练精度不佳。

发明内容

有鉴于此,本申请提供了一种文本的情绪识别方法、装置、设备及存储介质,主要目的在于解决目前针对文本的情绪识别方法,需要利用大量垂直领域的训练数据,进而导致训练时间较长,且对于本身训练样本较少的领域,会导致训练精度不佳的技术问题。

根据本申请的一个方面,提供了一种文本的情绪识别方法,该方法包括:

获取待进行情绪识别的第一文本,并在关系数据库中根据所述第一文本的任务识别信息匹配对应的目标模式信息,所述目标模式信息至少包括目标模板语句以及第一候选词;

根据所述目标模板语句对所述第一文本进行文本转换处理,获取得到第二文本;

利用BERT预训练模型对所述第二文本进行语义分析处理,在所述第一候选词中确定与所述第二文本语义匹配的第二候选词;

根据所述目标模板语句和所述第二候选词确定所述第一文本的情绪识别结果。

根据本申请的另一个方面,提供了一种文本的情绪识别装置,该装置包括:

匹配模块,用于获取待进行情绪识别的第一文本,并在关系数据库中根据所述第一文本的任务识别信息匹配对应的目标模式信息,所述目标模式信息至少包括目标模板语句以及第一候选词;

文本转换处理模块,用于根据所述目标模板语句对所述第一文本进行文本转换处理,获取得到第二文本;

语义分析处理模块,用于利用BERT预训练模型对所述第二文本进行语义分析处理,在所述第一候选词中确定与所述第二文本语义匹配的第二候选词;

确定模块,用于根据所述目标模板语句和所述第二候选词确定所述第一文本的情绪识别结果。

根据本申请的又一个方面,提供了一种存储介质,其上存储有计算机程序,所述程序被处理器执行时实现上述文本的情绪识别方法。

根据本申请的再一个方面,提供了一种计算机设备,包括存储介质、处理器及存储在存储介质上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述文本的情绪识别方法。

借由上述技术方案,本申请提供的一种文本的情绪识别方法、装置、设备及存储介质,可在获取到待进行情绪识别的第一文本后,在关系数据库中根据第一文本的任务识别信息,提取包含目标模板语句以及第一候选词的目标模式信息,进而根据目标模板语句将第一文本转换处理为第二文本,利用BERT预训练模型对第二文本进行语义分析处理,在第一候选词中确定与第二文本语义匹配的第二候选词;最后根据目标模板语句和第二候选词直接确定出第一文本的情绪识别结果。通过本申请中的技术方案,利用BERT预训练模型进行语义表达的完形填空,根据最终填空的内容构建情绪表达语句,进而确定出情绪识别结果,整个过程不需要大量的样本对BERT预训练模型进行预训练,可直接使用现有的BERT预训练模型,或利用少量适应文本微调后的BERT预训练模型进行语义提取,进而不需要花费大量成本去收集数据、标注数据,也不需要时间去积攒大量相关数据,可在保证情绪识别效率的同时,有效节省成本。

附图说明

此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本地申请的不当限定。在附图中:

图1示出了本申请实施例提供的一种文本的情绪识别方法的流程示意图;

图2示出了本申请实施例提供的另一种文本的情绪识别方法的流程示意图;

图3示出了本申请实施例提供的一种文本的情绪识别装置的结构示意图;

图4示出了本申请实施例提供的另一种文本的情绪识别装置的结构示意图。

具体实施方式

下文将参考附图并结合实施例来详细说明本申请。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互结合。

针对目前在进行文本情绪识别时,需要利用大量垂直领域的训练数据,进而导致训练时间较长,且对于本身训练样本较少的领域,会导致训练精度不佳的技术问题。本申请实施例提供了一种文本的情绪识别方法,如图1所示,该方法包括:

101、获取待进行情绪识别的第一文本,并在关系数据库中根据第一文本的任务识别信息匹配对应的目标模式信息。

其中,第一文本为需要进行情绪识别的文本句,具体可为在需要情绪识别的人机交互场景中,用户上传的语句信息;任务识别信息至少包含任务目的以及待识别的情绪种类,如目标任务的任务目的可为调查用户的满意度,相应的,待识别的情绪种类可包括:‘很满意’、‘勉强满意’、‘不满意’等;目标模式信息至少包括目标模板语句以及第一候选词,目标模板语句为用于表达情绪的情绪标识语句,第一候选词为与情绪种类相匹配的情绪词,目标模板语句可与第一候选词通过完形填空的方式组装到一起,得到表达情绪的语句。

102、根据目标模板语句对第一文本进行文本转换处理,获取得到第二文本。

在具体的应用场景中,目标模板语句可设置为留空形式,用于执行后续的完形填空操作。对于本实施例,可先将留空形式的目标模板语句与第一文本进行文本组装处理,进一步将第一文本转换为携带有情绪标识语句的第二文本。

103、利用BERT预训练模型对第二文本进行语义分析处理,在第一候选词中确定与第二文本语义匹配的第二候选词。

其中,BERT预训练模型是基于双向Transformer构建的语言模型,Transformer是一种标注机制,用来学习文本中单词之间的上下文关系。一个基本的Transformer包括一个编码器,用来读取文本输入,一个解码器,用来产生关于任务的预测。由于BERT预训练模型的目标是生成语言表示模型,所以它只需要编码器部分。BERT预训练模型的编码器的输入是一个字符串序列(其元素一般称为token,或者叫词语),它首先被转换成向量,然后在神经网络中进行处理。

在本实施例中,可首先将第二文本和各个第一候选词转换为字符串序列形式,之后将字符串序列直接输入到BERT预训练模型中,利用BERT预训练模型对第二文本和第一候选词进行语义分析处理,进而能够在第一候选词中提取出与第二文本语义最为匹配的第二候选词。

104、根据目标模板语句和第二候选词确定第一文本的情绪识别结果。

对于本实施例,在经过语义分析,且从第一候选词中提取出与第二文本语义最为匹配的第二候选词后,第二候选词和目标模板语句即可作为与第一文本语义衔接最好的情绪表达词句,进一步可将目标模板语句和第二候选词进行文本组装,构建一个完整的用于表达情绪的文本句,作为第一文本的情绪识别结果。

通过本实施例中文本的情绪识别方法,可在获取到待进行情绪识别的第一文本后,在关系数据库中根据第一文本的任务识别信息,提取包含目标模板语句以及第一候选词的目标模式信息,进而根据目标模板语句将第一文本转换处理为第二文本,利用BERT预训练模型对第二文本进行语义分析处理,在第一候选词中确定与第二文本语义匹配的第二候选词;最后根据目标模板语句和第二候选词直接确定出第一文本的情绪识别结果。通过本申请中的技术方案,利用BERT预训练模型进行语义表达的完形填空,根据最终填空的内容构建情绪表达语句,进而确定出情绪识别结果,整个过程不需要大量的样本对BERT预训练模型进行预训练,可直接使用现有的BERT预训练模型,或利用少量适应文本微调后的BERT预训练模型进行语义提取,进而不需要花费大量成本去收集数据、标注数据,也不需要时间去积攒大量相关数据,可在保证情绪识别效率的同时,有效节省成本。

进一步的,作为上述实施例具体实施方式的细化和扩展,为了完整说明本实施例中的具体实施过程,提供了另一种文本的情绪识别方法,如图2所示,该方法包括:

201、基于任务类型创建各个任务识别信息与模式信息的匹配关系,并将匹配关系存储至关系数据库中。

对于本实施例,可在关系数据库中预先存储不同任务类型下的模式信息,并基于任务类型创建各个任务识别信息与模式信息的匹配关系,以便在执行具体的目标任务时,可根据该匹配关系在关系数据库中直接查取目标任务对应的目标模式信息。

202、获取待进行情绪识别的第一文本,并在关系数据库中根据第一文本的任务识别信息匹配对应的目标模式信息,目标模式信息至少包括目标模板语句以及第一候选词。

例如,若任务识别信息中的任务目的为调查用户的满意度,待识别的情绪种类可包括:‘很满意’、‘勉强满意’、‘不满意’。相应的,根据目标任务的任务识别信息匹配到的目标模式信息可包括用于完型填空的目标模板语句‘_满意’,以及目标候选词‘很’,‘勉强’,‘不’。再例如,若目标任务的任务目的为调查用户的心情,待识别的情绪种类可包括:‘非常开心’、‘比较开心’、‘不开心’。相应的,根据目标任务的任务信息匹配到目标模式信息可包括用于完型填空的目标模板语句“_开心”,以及目标候选词‘非常’,‘比较’,‘不’。其中目标模板语句中第一个字符位置的‘_’表示留空,用于基于第一候选词进行填词处理,即通过在该模式留空的地方填上合适的候选词就可以覆盖任务识别信息中包括的各种情绪种类,进而可确定出表达情绪的情绪标识语句。

203、根据目标模板语句对第一文本进行文本转换处理,获取得到第二文本。

对于本实施例,在具体的应用场景中,可预先设置文本拼接方式,在根据目标模板语句对第一文本进行文本转换处理时,可按照文本拼接方式将目标模板语句拼接到第一文本中的预设字符位置,进而得到第二文本,以使在不影响语义表达的同时,增强文本情绪表达。其中,预设位置可根据实际任务需求进行自定义设定,如将目标模板语句拼接至待识别文本中的首个字符之前,作为待识别文本的前缀;还可将目标模板语句拼接至待识别文本中的最后一个字符之后,作为待识别文本的后缀等。相应的,实施例步骤203具体可以包括:根据预设文本拼接方式,将目标模板语句与第一文本进行文本拼接,得到第二文本。

例如,对于调查用户满意度的目标任务,如获取到该任务下待识别的第一文本‘我觉得这个还不错’,则可根据预设文本拼接方式,将目标模式信息中的目标模板语句‘_满意’拼接至第一文本中的预设位置,如设置预设位置为第一文本中首个字符之前,则可获取得到拼接处理后的第二文本‘_满意,我觉得这个还不错’。

再例如,对于调查用户心情的目标任务,如获取到该任务下待识别的第一文本‘跟想象中差距很大’,则可根据预设文本拼接方式,将目标模式信息中的目标模板语句‘_开心’拼接至第一文本中的预设位置,如设置预设位置为第一文本中最后一个字符之后,则可获取得到拼接处理后的第二文本‘跟想象中差距很大,_开心’。

204、利用BERT预训练模型对第二文本进行语义分析处理,在第一候选词中确定与第二文本语义匹配的第二候选词。

在具体的应用场景中,可直接利用BERT预训练模型对第二文本进行语义分析处理,即基于BERT预训练模型的Masked LM(MLM)掩蔽语言模型进行阅读填空,利用各个第一候选词依次补全第二文本中缺失的部分。进一步通过语义分析,进行上下文信息融合处理,并计算各个第一候选词与第二文本对应语境匹配的概率,将对应概率最大的第一候选词确定为与第二文本语义匹配的第二候选词。其中,在基于BERT预训练模型的Masked LM(MLM)掩蔽语言模型进行阅读填空时,可从单词的两边(左边和右边)来考虑上下文,它随机MASK句子中的单词,然后尝试预测它们。

相应的,为了更好地提升识别效果,作为一种优选方式,在利用BERT预训练模型的MLM掩蔽语言模型进行阅读填空,确定与第二文本语义匹配的第二候选词之前,还可对BERT预训练模型进行微调,进一步能够利用这个预训练好的模型提升其他下游任务的效果,能够提升效果的原因是:预训练模型的参数是学习好的,已经包含了一部分之前学得的文本信息,利用少量的适应数据即可实现对模型的微调,无需从头学习。相应的,在确定与第二文本语义匹配的第二候选词时,可利用与任务识别信息匹配的适应数据对BERT预训练模型进行微调处理;利用微调处理后的BERT预训练模型对第二文本进行语义分析处理,在第一候选词中确定与第二文本语义匹配的第二候选词。

其中,在利用与任务识别信息匹配的适应数据对BERT预训练模型进行微调处理时,可预先提取预设数量个样本文本,并生成样本文本序列;进而从样本文本序列中随机抽取15%的文本序列,这些文本序列的80%用[MASK]这个符号替换,10%用随机一个在词汇表中的中文字替换,10%保持不变,进而通过上下文预测这些被遮掩掉的字。相应的,实施例步骤具体可以包括:对适应数据进行分词处理,确定样本文本序列;在样本文本序列中,随机筛选15%的第一文本序列;分别将第一文本序列中80%的词语进行遮盖处理、将10%的词语利用词汇表中的文字进行替换处理,并且保持10%的词语不变,得到第二文本序列;利用包含第一文本序列和第二文本序列的样本文本调整BERT预训练模型的模型参数,并计算目标函数;若判断目标函数大于预设阈值,则确定BERT预训练模型微调完成。其中,目标函数是对数似然函数,本申请的训练目的就是让这个目标函数值最大,当目标函数值达到最大时,判定微调成功。

相应的,目标函数的表达式如下:

L(θ;X)=∑x∈Xlog(xmask|x\mask;θ)

X={x1,x2,...,xn}

其中,L(θ;X)表示BERT预训练模型的目标函数,X表示所有的样本文本序列,xn表示第n个样本文本序列,θ表示预训练模型BERT的模型参数,xmask表示在X中被遮掩处理的15%的样本文本序列,x\mask表示在X中除剩余未被遮掩的85%的样本文本序列。

相应的,在BERT预训练模型微调完成后,可利用微调后的BERT预训练模型进行阅读填空,确定与第二文本对应语境匹配的候选词。具体的,可利用BERT预训练模型的MLM掩蔽语言模型进行阅读填空,首先对第二文本‘_’部分进行掩蔽处理,用[MASK]进行标记,如【[MASK]满意,我觉得这个还不错】。之后将标记好的目标文本输入BERT预训练模型中,利用[CLS]作为句子开头的标记,[SEP]作为句子分隔和结束的标记,即在第一个句子的开头将[CLS]token添加到输入单词token中,并在每个句子的末尾插入[SEP]token。进一步利用BERT预训练模型预测[MASK]位置上应该是哪个候选词,具体可经过12层的Transformer机制的Encoder层进行编码,然后将除去[CLS]标记后第一个位置的输出,即BERT预训练模型最后一层的第一个位置的输出向量,确定为字符[MASK]对应的隐状态h。将隐状态h输入一个全连接层,该全连接层有n个节点,n代表候选词词库中候选词的数量,两者一一对应,每个节点的值都表示将[MASK]预测为对应候选词的概率值,使用SOFTMAX做归一化处理,使得n个节点的概率值之和为1,最后将对应概率值最大的第一候选词作为与第二文本对应语境匹配的第二候选词。相应的,实施例步骤具体可以包括:将第一候选词以及第二文本输入微调处理后的BERT预训练模型,利用BERT预训练模型计算各个第一候选词与第二文本的语义匹配度;将语义匹配度最高的第一候选词确定为第二候选词。

205、按照预设填充规则,将第二候选词填充到目标模板语句中的预设位置,得到第一文本的情绪识别结果。

其中,预设填充规则可为将目标候选词补全到目标模板语句的[MASK]位置上;情绪识别结果为目标模板语句与第二候选词通过完形填空的方式组装到一起,得到的用于表达情绪的语句。

例如,对于调查用户满意度的目标任务,如确定目标候选词为‘很’,则可将目标候选词拼接至目标模板语句‘_满意’的留空位置,进一步得到情绪识别结果为‘很满意’。

再例如,对于调查用户心情的目标任务,如确定目标候选词为‘不’,则可将目标候选词拼接至目标模板语句‘_开心’的留空位置,进一步得到情绪识别结果为‘不开心’。

通过上述文本的情绪识别方法,可在获取到待进行情绪识别的第一文本后,在关系数据库中根据第一文本的任务识别信息,提取包含目标模板语句以及第一候选词的目标模式信息,进而根据目标模板语句将第一文本转换处理为第二文本,利用BERT预训练模型对第二文本进行语义分析处理,在第一候选词中确定与第二文本语义匹配的第二候选词;最后根据目标模板语句和第二候选词直接确定出第一文本的情绪识别结果。通过本申请中的技术方案,利用BERT预训练模型进行语义表达的完形填空,根据最终填空的内容构建情绪表达语句,进而确定出情绪识别结果,整个过程不需要大量的样本对BERT预训练模型进行预训练,可直接使用现有的BERT预训练模型,或利用少量适应文本微调后的BERT预训练模型进行语义提取,进而不需要花费大量成本去收集数据、标注数据,也不需要时间去积攒大量相关数据,可在保证情绪识别效率的同时,有效节省成本。

进一步的,作为图1和图2所示方法的具体实现,本申请实施例提供了一种文本的情绪识别装置,如图3所示,该装置包括:匹配模块31、文本转换处理模块32、语义分析处理模块33、确定模块34;

匹配模块31,可用于获取待进行情绪识别的第一文本,并在关系数据库中根据第一文本的任务识别信息匹配对应的目标模式信息,目标模式信息至少包括目标模板语句以及第一候选词;

文本转换处理模块32,可用于根据目标模板语句对第一文本进行文本转换处理,获取得到第二文本;

语义分析处理模块33,可用于利用BERT预训练模型对第二文本进行语义分析处理,在第一候选词中确定与第二文本语义匹配的第二候选词;

确定模块34,可用于根据目标模板语句和第二候选词确定第一文本的情绪识别结果。

在具体的应用场景中,为了能够在关系数据库中根据第一文本的任务识别信息匹配到对应的目标模式信息,如图4所示,该装置还包括:创建模块35、存储模块36;

创建模块35,可用于基于任务类型创建各个任务识别信息与模式信息的匹配关系;

存储模块36,可用于将匹配关系存储至关系数据库中,以便基于匹配关系,在关系数据库中查取与第一文本的任务识别信息匹配的目标模式信息。

相应的,为了将第一文本转换处理为第二文本,文本转换处理模块32,具体可用于根据预设文本拼接方式,将目标模板语句与第一文本进行文本拼接,得到第二文本。

在具体的应用场景中,为了使BERT预训练模型的语义识别效果更好,如图4所示,该装置还包括:微调处理模块37;

微调处理模块37,可用于利用与任务识别信息匹配的适应数据对BERT预训练模型进行微调处理;

相应的,语义分析处理模块33,还可用于利用微调处理后的BERT预训练模型对第二文本进行语义分析处理,在第一候选词中确定与第二文本语义匹配的第二候选词。

在具体的应用场景中,微调处理模块37,具体可用于对适应数据进行分词处理,确定样本文本序列;在样本文本序列中,随机筛选15%的第一文本序列;分别将第一文本序列中80%的词语进行遮盖处理、将10%的词语利用词汇表中的文字进行替换处理,并且保持10%的词语不变,得到第二文本序列;利用包含第一文本序列和第二文本序列的样本文本调整BERT预训练模型的模型参数,并计算目标函数;若判断目标函数大于预设阈值,则确定BERT预训练模型微调完成。

相应的,在利用BERT预训练模型或微调处理后的BERT预训练模型对第二文本进行语义分析处理时,语义分析处理模块33,具体可用于将第一候选词以及第二文本输入微调处理后的BERT预训练模型,利用BERT预训练模型计算各个第一候选词与第二文本的语义匹配度;将语义匹配度最高的第一候选词确定为第二候选词。

在具体的应用场景中,为了确定得到第一文本的情绪识别结果,确定模块34,具体可用于:按照预设填充规则,将第二候选词填充到目标模板语句中的预设位置,得到第一文本的情绪识别结果。

需要说明的是,本实施例提供的一种文本的情绪识别装置所涉及各功能单元的其他相应描述,可以参考图1至图2的对应描述,在此不再赘述。

基于上述如图1至图2所示方法,相应的,本实施例还提供了一种存储介质,其上存储有计算机可读指令,该可读指令被处理器执行时实现上述如图1至图2所示的文本的情绪识别方法。

基于这样的理解,本申请的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施场景的方法。

基于上述如图1至图2所示的方法和图3、图4所示的虚拟装置实施例,为了实现上述目的,本实施例还提供了一种计算机设备,该计算机设备包括存储介质和处理器;存储介质,用于存储计算机程序;处理器,用于执行计算机程序以实现上述如图1至图2所示的文本的情绪识别方法。

可选的,该计算机设备还可以包括用户接口、网络接口、摄像头、射频(RadioFrequency,RF)电路,传感器、音频电路、WI-FI模块等等。用户接口可以包括显示屏(Display)、输入单元比如键盘(Keyboard)等,可选用户接口还可以包括USB接口、读卡器接口等。网络接口可选的可以包括标准的有线接口、无线接口(如WI-FI接口)等。

本领域技术人员可以理解,本实施例提供的一种计算机设备结构并不构成对该实体设备的限定,可以包括更多或更少的部件,或者组合某些部件,或者不同的部件布置。

存储介质中还可以包括操作系统、网络通信模块。操作系统是管理上述计算机设备硬件和软件资源的程序,支持信息处理程序以及其它软件和/或程序的运行。网络通信模块用于实现存储介质内部各组件之间的通信,以及与信息处理实体设备中其它硬件和软件之间通信。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本申请可以借助软件加必要的通用硬件平台的方式来实现,也可以通过硬件实现。

通过应用本申请的技术方案,与目前现有技术相比,本申请可在获取到待进行情绪识别的第一文本后,在关系数据库中根据第一文本的任务识别信息,提取包含目标模板语句以及第一候选词的目标模式信息,进而根据目标模板语句将第一文本转换处理为第二文本,利用BERT预训练模型对第二文本进行语义分析处理,在第一候选词中确定与第二文本语义匹配的第二候选词;最后根据目标模板语句和第二候选词直接确定出第一文本的情绪识别结果。通过本申请中的技术方案,利用BERT预训练模型进行语义表达的完形填空,根据最终填空的内容构建情绪表达语句,进而确定出情绪识别结果,整个过程不需要大量的样本对BERT预训练模型进行预训练,可直接使用现有的BERT预训练模型,或利用少量适应文本微调后的BERT预训练模型进行语义提取,进而不需要花费大量成本去收集数据、标注数据,也不需要时间去积攒大量相关数据,可在保证情绪识别效率的同时,有效节省成本。

本领域技术人员可以理解附图只是一个优选实施场景的示意图,附图中的模块或流程并不一定是实施本申请所必须的。本领域技术人员可以理解实施场景中的装置中的模块可以按照实施场景描述进行分布于实施场景的装置中,也可以进行相应变化位于不同于本实施场景的一个或多个装置中。上述实施场景的模块可以合并为一个模块,也可以进一步拆分成多个子模块。

上述本申请序号仅仅为了描述,不代表实施场景的优劣。以上公开的仅为本申请的几个具体实施场景,但是,本申请并非局限于此,任何本领域的技术人员能思之的变化都应落入本申请的保护范围。

相关技术
  • 文本情绪识别方法、装置、计算机设备和可读存储介质
  • 文本的情绪识别方法、装置、计算机设备和存储介质
技术分类

06120112923134