文本的情感识别方法、装置、电子设备和存储介质
文献发布时间:2023-06-19 11:45:49
技术领域
本公开涉及机器学习领域,尤其涉及文本的情感识别方法、装置、电子设备和存储介质。
背景技术
文章、语句、评论等文本通常能够反映作者的情感倾向,如针对某事物的好恶倾向、针对某货品的喜好倾向等,对文本的情感倾向进行识别是现阶段自然语言处理(Natural Language Processing,NLP)技术的重要手段。现阶段,行业内采用多种方式实现对文本的情感识别。
一类方案是采用情感字典匹配的方式或基于机器学习的分类模型对文本进行情感识别。这类方案通常根据预先建立的情感词典由前至后遍历待识别文本,然后在提取出被命中的情感实体词后通过相应的匹配策略确定待识别文本的情感倾向。然而这类方案不仅识别结果很大程度上依赖于情感词典的构建方式和词汇丰富程度,而且仅能够从词粒度上分析文本的情感倾向而无法理解文本语义,故准确度较低且适用场景有限。
另一类方案采用SVM(支持向量机,Support Vector Machine)或朴素贝叶斯等基于机器学习的分类模型对文本进行情感识别,但是这类模型对词语特征的选择依赖性较强,而且因为使用词向量因而也难以完整表达语义层面的信息,因此使用难度较高且准确度有待提升。
发明内容
本公开提供了文本的情感识别方法、装置、电子设备和存储介质,以至少解决相关技术中的技术问题。本公开的技术方案如下:
根据本公开实施例的第一方面,提出一种文本的情感识别方法,包括:
确定待识别文本的字符矩阵,所述字符矩阵由所述待识别文本中各个字符分别对应的字符向量构成;
确定所述待识别文本的位置向量,所述位置向量用于表征目标字符在所述待识别文本中的位置,所述目标字符为所述各个字符中匹配目标情感的字符;
将所述字符矩阵与所述位置向量构成的文本矩阵输入预训练的情感识别模型中,所述情感识别模型用于从所述文本矩阵中提取所述待识别文本的上下文信息,根据所述上下文信息对应的信息向量确定并输出所述待识别文本与所述目标情感的匹配程度。
可选的,所述确定待识别文本的字符矩阵,包括:
在预设的字向量库中查询待识别文本中各个字符分别对应的字符向量;
将所述各个字符分别对应的字符向量合并为对应于所述待识别文本的字符矩阵。
可选的,所述确定所述待识别文本的位置向量,包括:
在记录有情感实体词的情感词库中,查询所述各个字符中匹配所述情感实体词的目标字符;
根据查询到的所述目标字符在所述待识别文本中的位置,生成所述待识别文本的位置向量。
可选的,所述情感词库中的情感实体词,包括下述至少之一:
中文单字、中文词语、英文单词、英文短语、图形表情。
可选的,通过下述之一的算法生成所述待识别文本的位置向量:BIE表示法、SBME表示法、CS表示法。
可选的,还包括:
获取待识别的原始文本;
剔除所述原始文本中的无效字符,并将剩余字符构成的文本确定为所述待识别文本。
可选的,所述情感识别模型基于循环神经网络构建,所述循环神经网络的网络神经元采用双向门控循环单元或长短期记忆网络构建。
根据本公开实施例的第二方面,提出一种情感识别模型的训练方法,包括:
获取样本待识别文本以及所述样本待识别文本的情感标记结果,所述情感标记结果包括所述样本待识别文本与样本目标情感的真实匹配程度;
确定所述样本待识别文本的样本字符矩阵和样本位置向量,所述样本字符矩阵由所述样本待识别文本中各个样本字符分别对应的样本字符向量构成,所述样本位置向量用于表征样本目标字符在所述样本待识别文本中的位置,所述样本目标字符为所述样本待识别文本中匹配所述样本目标情感的样本字符;
将所述样本字符矩阵与所述样本位置向量构成的样本文本矩阵输入待训练模型中,以获取所述待训练模型从所述样本文本矩阵中提取所述样本待识别文本的样本上下文信息后,根据所述样本上下文信息对应的样本信息向量确定并输出的所述样本待识别文本与所述样本目标情感的预测匹配程度;
根据所述预测匹配程度与所述真实匹配程度之间的差异调整所述待训练模型的模型参数并继续训练,直至预设的终止条件满足时终止训练,得到所述情感识别模型。
可选的,所述待训练模型包括输入层、识别层和输出层,其中:
所述输入层用于将接收到的所述样本文本矩阵输入所述识别层包含的多个神经元;
所述识别层用于通过所述多个神经元从所述样本文本矩阵中提取所述样本待识别文本的样本上下文信息,并生成所述样本上下文信息对应的样本信息向量;
所述输出层用于根据所述样本信息向量确定并输出所述预测匹配程度。
可选的,所述识别层包含的任一神经元为双向门控循环单元,所述样本信息向量包括样本前向信息向量和样本后向信息向量,所述识别层还用于:
将第一双向门控循环单元输出的样本前向信息向量和第二双向门控循环单元输出的样本后向信息向量拼接为所述样本信息向量。
可选的,所述终止条件包括:
所述差异不大于预设的差异阈值;和/或,
训练次数不小于预设的次数阈值。
可选的,还包括:
使用待验证文本验证训练得到的所述情感识别模型的识别准确度,所述待验证文本区别于所述样本待识别文本;
在所述识别准确度小于预设的准确度阈值的情况下,使用新的训练样本训练所述情感识别模型,所述新的训练样本包括区别于所述样本待识别文本和所述待验证文本的文本。
根据本公开实施例的第三方面,提出一种文本的情感识别装置,包括:
矩阵确定单元,被配置为确定待识别文本的字符矩阵,所述字符矩阵由所述待识别文本中各个字符分别对应的字符向量构成;
向量确定单元,被配置为确定所述待识别文本的位置向量,所述位置向量用于表征目标字符在所述待识别文本中的位置,所述目标字符为所述各个字符中匹配目标情感的字符;
情感识别单元,被配置为将所述字符矩阵与所述位置向量构成的文本矩阵输入预训练的情感识别模型中,所述情感识别模型用于从所述文本矩阵中提取所述待识别文本的上下文信息,根据所述上下文信息对应的信息向量确定并输出所述待识别文本与所述目标情感的匹配程度。
可选的,所述矩阵确定单元还被配置为:
在预设的字向量库中查询待识别文本中各个字符分别对应的字符向量;
将所述各个字符分别对应的字符向量合并为对应于所述待识别文本的字符矩阵。
可选的,所述向量确定单元还被配置为:
在记录有情感实体词的情感词库中,查询所述各个字符中匹配所述情感实体词的目标字符;
根据查询到的所述目标字符在所述待识别文本中的位置,生成所述待识别文本的位置向量。
可选的,所述情感词库中的情感实体词,包括下述至少之一:
中文单字、中文词语、英文单词、英文短语、图形表情。
可选的,通过下述之一的算法生成所述待识别文本的位置向量:BIE表示法、SBME表示法、CS表示法。
可选的,还包括:
文本确定单元,被配置为获取待识别的原始文本;
字符剔除单元,被配置为剔除所述原始文本中的无效字符,并将剩余字符构成的文本确定为所述待识别文本。
可选的,所述情感识别模型基于循环神经网络构建,所述循环神经网络的网络神经元采用双向门控循环单元或长短期记忆网络构建。
根据本公开实施例的第三方面,提出一种情感识别模型的训练装置,包括:
样本获取单元,被配置为获取样本待识别文本以及所述样本待识别文本的情感标记结果,所述情感标记结果包括所述样本待识别文本与样本目标情感的真实匹配程度;
矩阵确定单元,被配置为确定所述样本待识别文本的样本字符矩阵和样本位置向量,所述样本字符矩阵由所述样本待识别文本中各个样本字符分别对应的样本字符向量构成,所述样本位置向量用于表征样本目标字符在所述样本待识别文本中的位置,所述样本目标字符为所述样本待识别文本中匹配所述样本目标情感的样本字符;
矩阵输入单元,被配置为将所述样本字符矩阵与所述样本位置向量构成的样本文本矩阵输入待训练模型中,以获取所述待训练模型从所述样本文本矩阵中提取所述样本待识别文本的样本上下文信息后,根据所述样本上下文信息对应的样本信息向量确定并输出的所述样本待识别文本与所述样本目标情感的预测匹配程度;
参数调整单元,被配置为根据所述预测匹配程度与所述真实匹配程度之间的差异调整所述待训练模型的模型参数并继续训练,直至预设的终止条件满足时终止训练,得到所述情感识别模型。
可选的,所述待训练模型包括输入层、识别层和输出层,其中:
所述输入层用于将接收到的所述样本文本矩阵输入所述识别层包含的多个神经元;
所述识别层用于通过所述多个神经元从所述样本文本矩阵中提取所述样本待识别文本的样本上下文信息,并生成所述样本上下文信息对应的样本信息向量;
所述输出层用于根据所述样本信息向量确定并输出所述预测匹配程度。
可选的,所述识别层包含的任一神经元为双向门控循环单元,所述样本信息向量包括样本前向信息向量和样本后向信息向量,所述识别层还用于:
将第一双向门控循环单元输出的样本前向信息向量和第二双向门控循环单元输出的样本后向信息向量拼接为所述样本信息向量。
可选的,所述终止条件包括:
所述差异不大于预设的差异阈值;和/或,
训练次数不小于预设的次数阈值。
可选的,还包括:
模型验证单元,被配置为使用待验证文本验证训练得到的所述情感识别模型的识别准确度,所述待验证文本区别于所述样本待识别文本;
二次训练单元,被配置为在所述识别准确度小于预设的准确度阈值的情况下,使用新的训练样本训练所述情感识别模型,所述新的训练样本包括区别于所述样本待识别文本和所述待验证文本的文本。
根据本公开实施例的第五方面,提出一种电子设备,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现如上述第一方面中任一实施例所述的文本的情感识别方法或第二方面中任一项所述的情感识别模型的训练方法。
根据本公开实施例的第六方面,提出一种存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行上述第一方面中任一实施例所述的文本的情感识别方法或第二方面中任一项所述的情感识别模型的训练方法。
根据本公开实施例的第七方面,提供一种计算机程序产品,包括计算机程序和/或指令,所述计算机程序和/或指令被处理器执行时实现上述第一方面中任一实施例所述的文本的情感识别方法或第二方面中任一项所述的情感识别模型的训练方法。
本公开的实施例提供的技术方案至少带来以下有益效果:
根据本公开的实施例,通过待识别文本的字符矩阵以及用于表征目标字符在待识别文本中所处位置的位置向量构建待识别文本的文本矩阵,然后利用预训练的情感识别模型根据该文本矩阵对待识别文本与目标情感之间的匹配程度进行预测。一方面,因为采用字符向量而非词向量构建字符矩阵,所以该方案无需构建复杂且庞大的情感词典,显著降低了方案的使用难度并扩大了适用场景;而且情感识别模型能够充分提取待识别文本的上下文信息,从而情感识别模型能够根据该上下文信息充分理解文本的真实语义。另一方面,因为用于构建文本矩阵的位置向量能够准确反映目标字符在待识别文本中所处的位置,所以该位置向量能够保证情感识别模型从文本矩阵中准确的提取出上下文信息,而正因为该上下文信息包含了目标字符的所表征的情感信息,所以情感识别模型根据该上下文信息能够预测出更准确的情感识别结果,即提高了情感识别的准确度。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
图1是根据本公开的实施例示出的一种情感识别模型的训练方法的流程图;
图2是根据本公开的实施例示出的一种文本的情感识别方法的流程图;
图3是根据本公开的实施例示出的另一种文本的情感识别方法的流程图;
图4是根据本公开的实施例示出的一种文本矩阵的生成方法示意图;
图5是根据本公开的实施例示出的一种情感识别模型的结构示意图;
图6是根据本公开的实施例示出的一种文本的情感识别装置的示意框图;
图7是根据本公开的实施例示出的另一种文本的情感识别装置的示意框图;
图8是根据本公开的实施例示出的一种情感识别模型的训练装置的示意框图;
图9是根据本公开的实施例示出的另一种情感识别模型的训练装置的示意框图;
图10是根据本公开的实施例示出的一种电子设备的结构图。
具体实施方式
为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
文章、语句、评论等文本通常能够反映作者的情感倾向,如针对某事物的好恶倾向、针对某货品的喜好倾向等,对文本的情感倾向进行识别是现阶段自然语言处理技术的重要手段。现阶段,行业内采用多种方式实现对文本的情感识别。
一类方案是采用情感字典匹配的方式或基于机器学习的分类模型对文本进行情感识别。这类方案通常根据预先建立的情感词典由前至后遍历待识别文本,然后在提取出被命中的情感实体词后通过相应的匹配策略确定待识别文本的情感倾向。然而这类方案不仅识别结果很大程度上依赖于情感词典的构建方式和词汇丰富程度,而且仅能够从词粒度上分析文本的情感倾向而无法理解文本语义,故准确度较低且适用场景有限。
另一类方案采用SVM或朴素贝叶斯等基于机器学习的分类模型对文本进行情感识别,但是这类模型对词语特征的选择依赖性较强,而且因为使用词向量因而也难以完整表达语义层面的信息,因此使用难度较高且准确度有待提升。
为此,本公开提出一种情感识别模型的训练方法,以及利用该方法训练得到的情感识别模型针对文本的情感识别方法。该情感识别方法通过待识别文本的字符矩阵以及用于表征目标字符在待识别文本中所处位置的位置向量构建待识别文本的文本矩阵,然后利用预训练的情感识别模型根据该文本矩阵对待识别文本与目标情感之间的匹配程度进行预测,一定程度上解决了方案使用难度较高和预测准确度的问题。
本公开实施例所述的文本的情感识别方法需要基于情感识别模型实现,首先结合图1所示的一种情感识别模型的训练方法的流程图对该模型的训练过程进行说明。如图1所示,该方法可以应用于服务器等模型训练设备,可以包括下述步骤102-104。
步骤102,获取样本待识别文本以及所述样本待识别文本的情感标记结果,所述情感标记结果包括所述样本待识别文本与样本目标情感的真实匹配程度。
在本实施例中,上述样本待识别文本可以从多种应用场景中获取,例如,在获得用户授权的情况下,模型训练设备可以从社交平台、直播平台、货品交易平台等公开平台获取公开内容,并从上述公开内容中提取样本待识别文本,本公开实施例对于样本待识别文本的具体来源及其获取方式并不进行限制。其中,为保证对情感识别模型训练的准确度,模型训练设备还可以预先制定文本获取规则,如对于语言类型(如中文、英文等),文本字数(如不少于3个字、不多于150等),标点符号数量占比(如不超出20%等)等制定相应的规则,进而可以按照上述规则获取相应的待识别文本。
另外,模型训练设备可以分别获取不同场景下的多种样本待识别文本,从而利用不同业务场景下的样本对待训练模型进行训练,使得训练得到的情感识别模型的相应的能够适用于多种业务场景。当然,也可以使用某一单一场景下的多个样本待识别文本对对待训练模型进行训练,从而训练得到的情感识别模型可以适用于该特定场景,并具有较高的情感识别准确度。
对于获取到的上述样本待识别文本,模型训练设备可以进一步获取其情感标记结果,该情感标记结果包括样本待识别文本与样本目标情感的真实匹配程度。例如,上述样本目标情感可以为针对货品的购买意愿,如“非常想买”、“比较想买”、“再看看”、“不想买”等,若样本待识别文本为“包邮吧,包邮的话我这就下单”,则真实匹配程度可以为“比较想买”;若样本待识别文本为“可还是有点不太放心”,则真实匹配程度可以为“再看看”或者“不想买”等。又例如,上述样本目标情感也可以为针对事物的好恶程度,如“很喜欢”、“喜欢”、“无所谓”、“讨厌”、“厌恶”等,若样本待识别文本为“[气愤]烦死了”,则真实匹配程度可以为“讨厌”或“厌恶”;若样本待识别文本为“我不知道”,则真实匹配程度可以为“无所谓”等。当然,上述样本目标情感除上述情况之外,也可以为其他词汇,如对于针对事物的好恶程度,可以包括“喜欢”和“讨厌”两种。或者还可以为针对某种情感的倾向百分比,如对于针对货品的购买意愿,样本目标情感可以为想要购买货品的百分比,该百分比值越大,则表明购买意愿越强烈(越想买)。
另外,上述情感标记结果可以由人工对上述待识别文本进行打标处理得到,具体标记方式并不进行限制。因此,模型训练设备可以与上述样本待识别文本关联获取上述真实匹配结果,也可以在获取到上述待识别文本后,将该待识别文本发送至标记方(如打标人员的使用的设备),并接收后者对待识别文本打标后返回的打标结果。
步骤104,确定所述样本待识别文本的样本字符矩阵和样本位置向量,所述样本字符矩阵由所述样本待识别文本中各个样本字符分别对应的样本字符向量构成,所述样本位置向量用于表征样本目标字符在所述样本待识别文本中的位置,所述样本目标字符为所述样本待识别文本中匹配于所述样本目标情感的样本字符。
在获取到上述样本待识别文本后,模型训练设备可以分别确定样本待识别文本的样本字符矩阵和样本位置向量。其中,可以在预先创建的字向量库中查询样本待识别文本中各个样本字符分别对应的样本字符向量,然后将各个样本字符向量合并为对应于样本待识别文本的样本字符矩阵;或者,也可以按照预设的特征维度分别提取样本待识别文本中各个样本字符的样本字符向量,进而根据各个样本字符向量构建样本字符矩阵。另外,可以在预先创建的情感词库中查询样本待识别文本中的样本情感实体词,并根据查询到的样本情感实体词在样本待识别文本中所处的位置,生成样本待识别文本的样本位置向量。上述字向量库和情感词库的具体创建方式可以参见下述实施例,此处暂不赘述。
以“今天早下班,好棒!”为样本待识别文本为例,可见该文本中包含“今”、“天”、“早”、“下”、“班”、“,”、“好”、“棒”和“!”共9个字符,假设字向量库中预定义的各个样本字符向量的向量长度为5,则通过上述方式可以确定出9×5维的样本字符矩阵。而在通过上述情感词库确定出“好”和“棒”为样本情感词实体词的情况下,可以进一步确定处该样本待识别文本的样本位置向量,如可以为[0,0,0,0,0,0,1,1,0]
步骤106,将所述样本字符矩阵与所述样本位置向量构成的样本文本矩阵输入待训练模型中,所述待训练模型用于从所述样本文本矩阵中提取所述样本待识别文本的样本上下文信息,根据所述样本上下文信息对应的样本信息向量确定并输出的所述样本待识别文本与所述样本目标情感的预测匹配程度。
在本实施例中,待训练模型在获取到输入的样本文本矩阵后,从中提取样本待识别文本的样本上下文信息,进而根据该信息对应的样本信息向量确定出样本待识别文本与样本目标情感之间的匹配结果,该匹配结果即用于表征样本待识别文本与样本目标情感之间的匹配程度,从而完成对样本待识别文本的情感预测。
在一实施例中,上述待训练模型包括输入层、识别层和输出层,其中:输入层可以用于将接收到的样本文本矩阵输入识别层包含的多个神经元;识别层可以用于通过上述多个神经元从样本文本矩阵中提取样本待识别文本的样本上下文信息,并生成该样本上下文信息对应的样本信息向量;输出层可以用于根据样本信息向量确定并输出预测匹配程度。其中,输出层输出的具体可以为用于表征上述预测匹配程度的匹配结果。
该匹配结果可以为数值形式,该数值可以与上述匹配程度呈正相关,如该值越大,表明样本待识别文本与样本目标情感之间的匹配程度越高;反之,该值越小,表明样本待识别文本与样本目标情感之间的匹配程度越低。可见,上述待训练模型对输入的样本文本矩阵进行处理的过程,即为上述输入层、识别层和输出层三者相互配合输出上述匹配值,从而完成对样本待识别文本与样本目标情感之间的匹配程度的预测的过程。
进一步的,在训练之前,模型训练设备可以基于RNN(Recurrent Neural Network,循环神经网络)构建上述待训练模型,其中,该网络可以采用Bi_GRU(双向门控循环单元)作为网络神经元。基于Bi_GRU神经元的双向机制,不仅可以准确获取样本待识别文本中样本目标字符的样本上下文信息,又能够避免传统RNN神经元因为长期依赖出现的梯度弥散问题,从而有助于提升模型输出的准确性。此时,上述识别层包含的任一神经元即为Bi_GRU神经元,上述样本信息向量可以包括样本前向信息向量和样本后向信息向量,此时识别层还可以用于将第一双向门控循环单元输出的样本前向信息向量和第二双向门控循环单元输出的样本后向信息向量拼接为样本信息向量。一方面,通过多个Bi_GRU神经元对输入的样本文本矩阵进行前向和后向的双向处理,从而有助于提取出样本待识别文本的样本上下文信息;另一方面,通过识别层的上述拼接,能够将多个Bi_GRU神经元输出的信息向量进行汇总,并通过汇总后的样本信息向量向输出层传递信息,有助于简化输出层的处理流程,一定程度上提高预测效率。
当然,在上述待训练模型基于RNN构建的情况下,上述网络神经元也可以为LSTM(Long Short-Term Memory,长短期记忆网络)或者其他网络,甚至上述待训练模型也可以采用其他的神经网络进行构建,本公开实施例对此并不进行限制。可以理解的是,因为训练过程并不影响待训练模型的神经元类型,所以在待训练模型基于某一类型的神经网络构建的情况下,训练得到的情感识别模型也是基于该神经网络构建的。
步骤108,根据所述预测匹配程度与所述真实匹配程度之间的差异调整所述待训练模型的模型参数并继续训练,直至预设的终止条件满足时终止训练,得到所述情感识别模型。
在接收到待训练模型输出的样本待识别文本和样本目标情感的预测匹配结果后,模型训练设备可以根据该匹配结果与样本待识别文本的情感标记结果之间的偏差值,相应的调整待训练模型的神经元个数、向量长度等模型参数。
在一实施例中,上述终止条件可以为差异不大于预设的差异阈值,即在上述预测匹配程度与真实匹配程度之间的差异不大于预设的差异阈值的情况下,终止训练;或者,上述终止条件也可以为训练次数不小于预设的次数阈值,即在当前训练次数达到预设的次数阈值(如1万次、5万次等)的情况下,终止训练。在终止训练的情况下,当前时刻的待训练模型(即最后一次训练后得到的模型)即为训练得到的情感识别模型。
模型训练设备还可以在训练开始前将训练数据分为训练集和测试集,使用训练集中的数据(即前述的待识别文本及其真实匹配程度)对待训练模型进行训练。进而,在终止上述训练得到情感识别模型后,使用测试集中的数据(包含不同于上述待识别文本的文本,以及该文本被标识的真实匹配程度)对情感识别模型进行验证,以确定当前情感识别模型的平均预测时长、预测误差等性能指标。
例如,将上述测试集中包含的文本记为待验证文本,则模型训练设备可以通过下述方式对情感识别模型进行验证:使用待验证文本验证训练得到的情感识别模型的识别准确度,所述待验证文本区别于所述样本待识别文本;在所述识别准确度小于预设的准确度阈值的情况下,使用新的训练样本训练情感识别模型,其中,新的训练样本可以包括不同于上述样本待识别文本和待验证文本的文本,从而通过新的训练样本对情感识别模型进行二次训练,以进一步提何时能情感识别模型的预测准确度。
至此,完成情感识别模型的训练过程。上述训练过程得到的情感识别模型可以被部署在服务器、用户终端等业务设备中,从而业务设备可以使用运行在本地的情感识别模型对待识别文本的情感倾向进行识别(或称预测)。当然,上述情感识别模型也可以被部署在业务设备之外的其他设备中,从而业务设备可以调用该设备以利用运行在该设备中的情感识别模型对待识别文本的情感倾向进行识别,本公开实施例并不对此进行限制。
下面结合图2所示的一种文本的情感识别方法的流程图对文本的具体识别过程进行说明。如图2所示,该方法可以应用于服务器、用户终端等业务设备,以由该业务设备实现对文本的情感识别。该识别过程可以包括下述步骤202-206。
步骤202,确定待识别文本的字符矩阵,所述字符矩阵由所述待识别文本中各个字符分别对应的字符向量构成。
步骤204,确定所述待识别文本的位置向量,所述位置向量用于表征目标字符在所述待识别文本中的位置,所述目标字符为所述各个字符中匹配目标情感的字符。
在本实施例中,可以根据获取到的文本语料预先创建字向量库。例如,可以先获取文章、评论等至少一种类型文本的文本语料,然后统计语料中各个字符的数量、在文本中的分布位置等文本信息,再根据该文本信息以及预先设置的特征顺序依次计算各个字符的字符向量,并将各个字符及其对应的字符向量记录在字向量库中。其中,虽然上述语料中的字符可能存在多种形式,如中文单字(“我”、“的”、“来”等)、中文词语(“房间”、“回去”等)、英文单词(“Hallo”、“Here”等)、英文短语(“shot down”、“Take over”等)、标点符号(“,”、“。”、“!”等)、图形表情(字符形式的颜文字、图片形式的表情包等)等,但该字向量库所包含的任一“字符”应当被理解为构成文本的基本单元,如中文的单字、英文的单词、独立的单个图形表情等。
例如,对于文本形式的基础预料“你回不回家?”,可以相应的提取出五个字符:“你”、“回”、“不”、“家”和“?”,进而字向量库中应当相应的保存这五个字符分别对应的字符向量。另外,创建字向量库的基础语料可以来自多种应用场景,例如在获得用户授权的情况下,可以从社交平台直播平台、货品交易平台等公开平台获取公开内容,并从上述公开内容中提取文本作为基础语料,本公开实施例对于基础预料的具体来源及其获取方式并不进行限制。可以理解的是,通过上述多种场景获取到的基础语料创建的字向量库,可以普遍适用于多种应用场景下的待识别文本。当然,为了提高某种特定场景下的字向量准确度,并减少字向量库的字符数量以加快字符矩阵的构建速度,也可以分别采用不同应用场景下的基础语料创建分别对应于不同应用场景的字向量库,从而在对待识别文本进行情感识别时,可以先根据该待识别文本的来源确定适用于相应场景的字向量库,并使用该字向量库确定待识别文本中各个字符的字向量,从而快速准确的构建待识别文本的字符矩阵。
可以理解的是,在创建字向量库之前,可以先指定任一字符对应的多个(不同维度的)字符特征,以及这些字符特征在该字符向量中的位置顺序。上述字符特征及相应的位置顺序确定后,字向量库中任一字符对应的字符向量的向量长度n(n即为字符向量所对应预设特征的个数,亦即该字符向量中特征值的个数)也被确定。该向量长度n越大,则表明用于描述该字符的维度越多,相应的,对于该字符所在文本的情感识别结果往往越准确;但相应的,模型在识别过程中的向量计算工作量也越大,因此可以根据具体需求确定该向量长度n,如可以设置n=256等。
另外,可以采用word2vec模型构建字向量库,因为word2vec模型是无监督模型,所以其不依赖分类标注的文本预料而可以直接通过文本语料学习字符向量,进而可以包含更多的信息。而且该模型可以通过上下文信息训练字符向量,能够学习到字符之间更紧密的关系,如“我”与“们”之间的关系比“我”与“谁”的关系通常更紧密。
相对于相关技术中使用的词向量而言,通过上述方式确定的字符向量特征更加稠密,而且因为字符是相对于词汇更加细粒度的语义单元,且覆盖方式并不需要进行分词,所以该方式创建字符向量的过程可以不依赖分词的准确度。而且,获取到的字符向量的个数相对于词向量小很多,能够大大减小词向量库的大小,进而显著缩短字符向量的查询时间。
类似的,还可以预先创建包含多个情感实体词的情感词库,例如,对于喜好程度的情感倾向,情感词库中可以包含“特别喜爱”、“喜欢”、“无所谓”、“讨厌”、“厌恶”等多种程度的情感实体词。如对于“喜欢”可以相应的设置其对应的情感实体词包括“喜欢”、“想要”、“爱了”、“挺好”等词汇;而对于“无所谓”可以设置其对应的情感实体词为“的”、“得”、“为”等词汇,这类词汇往往并不具有情感倾向,而用于输出一般性观点,不再赘述。通过上述方式确定的情感词库中包含多种情感实体词,分别对应于不同的情感倾向。
需要说明的是,因为作为本公开实施所述的文本的情感识别方法的执行主体,业务设备可以为服务器,也可以为用户终端,所以上述字向量库和情感词库也可以由多种设备创建。例如,在业务设备为服务器的情况下,字向量库和情感词库可以由服务器创建并在本地维护,或者,也可以由服务器可以访问的其他设备进行创建,并在创建后提供至服务器。而在业务设备为用户终端的情况下,字向量库和情感词库也可以由服务器或上述其他设备创建,并分发至用户终端。当然,在上述业务设备为服务器或用户终端的情况下,上述字向量库和情感词库还可以由其他设备创建并维护,从而业务设备在对待识别文本进行处理时,可以向该设备请求待识别文本对应的字符矩阵,本公开实施例并不对此进行限制。当然,在创建上述字向量库和情感词库后,可以对多个待识别文本进行情感识别,换言之,创建上述字向量库和情感词库并非属于对任一待识别文本的进行情感识别的过程,上述字向量库和情感词库是在对任一待识别文本的进行情感识别的基础。
在一实施例中,需要进行情感识别的原始文本中可能存在某些无效字符,为避免这类字符对情感识别过程可能造成的干扰,可以先对其进行预处理以得到上述待识别文本。例如,可以在获取到待识别的原始文本后,识别并剔除原始文本中的无效字符,并将剩余字符构成的文本确定为待识别文本。为保证该剔除过程不会影响文本的语义,待识别文本中各个字符的相对顺序应当与各自在原始文本中的相对顺序保持一致,换言之,上述剔除过程不应当改变(剔除后的)各个剩余字符之间的相对位置关系。其中,上述无效字符是对文本的情感倾向无影响的字符,例如可以为空字符或预设的特殊字符等,而剩余的字符(即构成待识别文本的字符)可以为中文单字、英文单词、标点符号和图形表情等。通过该方式能够保证作为后续步骤处理对象的待识别文本中不包含上述无效字符,从而避免无效字符的干扰,以加快识别速度并提升识别准确度。另外,上述情感词库中的情感实体词,可以包括下述至少之一:中文单字、中文词语、英文单词、英文短语、图形表情。实际上,在建立上述字向量库之前,对于获取到的文本语料也可以预先使用该方式进行预处理,具体过程不再赘述。
在预先创建上述字向量库和情感词库后,业务设备可以使用字向量库构建待识别文本对应的字符矩阵,并使用情感词库构建待识别文本的位置向量,进而可以使用字符矩阵与位置向量构成文本矩阵,并将该文本矩阵输入前述方法训练得到的情感识别模型,以对待识别文本的情感倾向进行预测。
在一实施例中,业务设备可以在预设的字向量库中查询待识别文本中各个字符分别对应的字符向量,然后将各个字符分别对应的字符向量合并为对应于待识别文本的字符矩阵。可以理解的是,在字向量库中任一字的向量长度为n(不妨假设字符向量为[1×n]的行向量)的情况下,若待识别文本中包含m个字符,则该待识别文本对应的字符矩阵可以为[m×n]的矩阵。例如,不妨假设上述n=3,则在待识别文本为“好可爱哦”的情况下,若在字向量库中查询到“好”对应的字符向量为[0.1,0,0.6]
在一实施例中,对于待识别文本中的任一字符,业务设备可以在(记录有情感实体词的)上述情感词库中查询该字符匹配的情感实体词,并在查询到的情况下确定该字符为待识别文本的目标字符。在对待识别文本中的各个字符查询完毕后,业务设备可以根据查询到的目标字符在待识别文本中的位置,生成待识别文本的位置向量。另外,为了准确命中情感词库中的情感实体词,还可以先对待识别文本进行分词处理得到多个情感词汇,进而在情感词库中查询上述情感词汇。通过上述方式能够准确识别出待识别文本中的情感实体词。另外,为避免情感词库中的情感实体词不够丰富,还可以依次计算分词后的待识别文本中任一词汇(或字符)与情感词库中各个情感实体词之间的相似度,并在该任一词汇与任一情感实体词之间的词汇相似度不低于预设阈值的情况下,判定该任一词汇命中该任一情感实体词(即将该任一字符作为上述目标字符),进而可以将该词汇在待识别文本中的位置作为上述任一情感实体词在该待识别文本中的位置。另外,在确定出上述情感实体词后,业务设备可以进一步的确定:匹配于该情感实体词的目标字符,也匹配于该情感实体词所归属的目标情感。
进一步的,在确定出情感实体词在待识别文本中的位置后,可以采用BIE表示法、SBME表示法或CS表示法等算法生成待识别文本的位置向量。上述各表示法的具体实现过程可以参见相关技术中的记载,此处不再赘述。
如图3所示,将[m×n]的字符矩阵301与[m×1]的位置向量302合并,可以得到[m×(n+1)]的文本矩阵303。可见,此时该字符矩阵中m行特征值构成的m个行向量分别为m个字符的字符向量,第i(0
步骤206,将所述字符矩阵与所述位置向量构成的文本矩阵输入预训练的情感识别模型中,所述情感识别模型用于从所述文本矩阵中提取所述待识别文本的上下文信息,根据所述上下文信息对应的信息向量确定并输出所述待识别文本与所述目标情感的匹配程度。
其中,将上述字符矩阵与位置向量构成文本矩阵的具体规则可以预先设置,本公开并不对此进行限制。但是该构成规则应当与前述对情感识别模型进行训练的过程中对样本字符矩阵的构成规则保持一致。
在本实施例中,情感识别模型在获取到输入的文本矩阵后,从中提取待识别文本的上下文信息,进而根据该信息对应的信息向量确定出待识别文本与目标情感之间的匹配结果,该匹配结果即用于表征待识别文本与目标情感之间的匹配程度,从而完成对待识别文本的情感预测。其中,上述匹配结果可以为数值形式,该数值可以与上述匹配程度呈正相关,如该值越大,表明待识别文本与目标情感之间的匹配程度越高;反之,该值越小,表明待识别文本与目标情感之间的匹配程度越低。如前所述,上述情感识别模型对输入的文本矩阵进行处理的过程,即为该模型的输入层、识别层和输出层三者相互配合输出上述匹配值,从而对待识别文本与目标情感之间的匹配程度进行预测的过程。
如前所述,模型训练设备可以基于RNN构建上述情感识别模型,其中,该网络可以采用Bi_GRU作为网络神经元。基于Bi_GRU神经元的双向机制,不仅可以获取待识别文本中目标字符的上下文信息,又能够避免传统RNN神经元因为长期依赖出现的梯度弥散问题,从而有助于提升模型输出的准确性。此时,上述识别层包含的任一神经元即为Bi_GRU神经元,上述信息向量可以包括前向信息向量和后向信息向量,此时识别层还可以用于将第一双向门控循环单元输出的前向信息向量和第二双向门控循环单元输出的后向信息向量拼接为信息向量。一方面,通过多个Bi_GRU神经元对输入的文本矩阵进行前向和后向的双向处理,从而有助于提取出待识别文本的上下文信息;另一方面,通过识别层的上述拼接,能够将多个Bi_GRU神经元输出的信息向量进行汇总,并通过汇总后的信息向量向输出层传递信息,从而有助于简化输出层的处理流程,一定程度上提高预测效率。
需要说明的是,在利用上述神经网络构建待训练模型(该待训练模型被训练得到情感识别模型)时,该模型输出层所采用的输出层函数及具体参数值等,即已经设定了模型输出值所对应的情感倾向。例如,在待训练模型用于对样本待识别文本属于“正向”或“负向”情感进行判断的情况下,若模型输出值为向量[a,b],则在待训练模型构建完成后,其输出层已经决定了模型输出的a和b分别对应的情感倾向,如a对应于待识别文本属于“正向”情感的概率、b对应于待识别文本属于“负向”情感的概率(或者,也可以为a对应于待识别文本属于“负向”情感的概率、b对应于待识别文本属于“正向”情感的概率)。因此,在对待训练模型进行训练得到情感识别模型后,该情感识别模型输出值的具体含义也是确定的。因此,部署该情感识别模型的设备(如上述业务设备)可以预先获知模型输出结果的格式所对应的情感识别结果(如上述a和b的具体含义),进而业务设备在接收到情感识别模型输出的具体值后,即可根据上述格式的具体含义确定该具体值对应的情感倾向,即确定情感识别模型的输出结果。
当然,在上述情感识别模型基于RNN构建的情况下,上述网络神经元也可以为LSTM或者其他网络,甚至上述情感识别模型还可以采用其他的神经网络进行构建,本公开实施例对此并不进行限制。
根据本公开的实施例,通过待识别文本的字符矩阵以及用于表征目标字符在待识别文本中所处位置的位置向量构建待识别文本的文本矩阵,然后利用预训练的情感识别模型根据该文本矩阵对待识别文本与目标情感之间的匹配程度进行预测。一方面,因为采用字符向量而非词向量构建字符矩阵,所以该方案无需构建复杂且庞大的情感词典,显著降低了方案的使用难度并扩大了模型适用的业务场景;而且情感识别模型能够充分提取待识别文本的上下文信息,从而情感识别模型能够根据该上下文信息充分理解文本的真实语义。另一方面,因为用于构建文本矩阵的位置向量能够准确反映目标字符在待识别文本中所处的位置,所以该位置向量能够保证情感识别模型从文本矩阵中准确的提取出上下文信息,而正因为该上下文信息包含了目标字符的所表征的情感信息,所以情感识别模型根据该上下文信息能够预测出更准确的情感识别结果,即提高了情感识别的准确度。
下面结合图4-图5,以使用预训练的情感识别模型对待识别文本的情感倾向进行识别的过程进行详细说明。参见图4所示的另一种文本的情感识别方法的流程图,该方法可以应用于服务器或用户终端等业务设备。具体可包括下述步骤402-414。
步骤402,获取待识别的原始文本。
在本实施例中,服务器中可以运行社交平台、直播平台、货品交易平台等公开平台的服务端侧应用,在获得用户授权的情况下,业务设备可以从上述公开平台获取公开内容,并从中提取应用运行过程中产生的原始文本。进而,业务设备可以通过下述过程识别该原始文本所对应待识别文本的感情倾向,进而可以根据识别结果对该文本或与其相关的展示对象进行调整推荐策略、变更展示方式、智能显示搜索结果、智能客服针对性回答等处理。
其中,业务设备可以通过多种方式获取原始文本,如在业务设备为服务器的情况下,其服务器可以直接从本地管理的业务数据中提取上述原始文本;而在业务设备为用户终端的情况下,该用户终端可以将用户输入的文本或者服务器发送的文本作为上述原始文本。
步骤404,剔除原始文本中的无效字符,利用剩余字符生成待识别文本。
获取到的原始文本往往包含空字符或其他特殊字符等与情感倾向无关的无效字符,因此直接对原始文本进行情感识别不仅响应处理效率,而且会导致识别精确度降低,所以可以先对获取到的原始文本进行预处理。具体的,可以在识别出原始文本中的上述无效字符后,将无效字符从原始文本中剔除,并将剔除后的剩余字符构成的文本作为待识别文本。为保证该剔除过程不会影响文本的语义,待识别文本中各个字符的相对顺序应当与各自在原始文本中的相对顺序保持一致,换言之,上述剔除过程不应当改变(剔除后的)各个剩余字符之间的相对位置关系。其中,剩余的字符可以为中文单字、英文单词、标点符号和图形表情等。通过上述预处理,可以避免待识别的原始文本中无效字符的干扰,有助于加快识别速度并提升针对情感倾向的识别准确度。
本实施例以原始文本为“这老太太太可怕了/”进行说明:该原始文本中包含三个空字符(“这”前后各一个,“怕”和“了”之间一个)和一个特殊字符(“/”),因此可以将上述空字符和特殊字符移除,并将剩余字符按照原顺序进行排列,从而得到处理后的待识别文本“这老太太太可怕了”。
步骤406a,通过预设的字向量库确定待识别文本中各个字符的字符向量。
步骤408a,利用各个字符的字符向量构建对应于各个字符的字符矩阵。
此时,业务设备可以在预先构建的字向量库中查询上述待识别文本中各个字符对应的字符向量。例如,可以通过遍历的方式在字向量库中查询“这”、“老”、“太”、“可”、“怕”、“了”这六个字符对应的字符向量(因为“太”出现了三次,所以字符矩阵中对应于三个“太”的三个字符向量相同),然后按照各字符在待识别文本中的先后顺序有序合并以生成字符矩阵。当然,上述字向量库中的各个字符也可以按照预设的架构化方式进行存储,以提升字符及其字符向量的查询效率。
假设“这”、“老”、“太”、“可”、“怕”、“了”对应的字符向量依次为X
步骤406b,通过预设的情感词库确定待识别文本中的情感实体词。
步骤408b,根据各个情感实体词在待识别文本中所处的位置,生成待识别文本的位置向量。
类似的,业务设备可以在预设的情感词库中查询上述待识别文本中匹配情感词库中某一情感特征的目标字符。例如,可以通过现对待识别文本进行分词得到多个词汇,然后依次在情感词库中查询是否存在各个词汇,若情感词库中存在某词汇,则将该词汇包含的字符确定为目标字符。承接于前述实施例,可以对“这老太太太可怕了”这一待识别文本进行分词处理,得到“这”、“老太太”、“太”、“可怕”、“了”共五个词汇,从而可以在情感词库中查询匹配于各个词汇的情感实体词,假设仅查询到“害怕”这一情感实体词恰好匹配于上述词汇中的“可怕”,则可以将“可怕”这一词汇所包含的“可”和“怕”确定为匹配“害怕”这一情感实体词的目标字符。
当然,待识别文本中的字符与情感词库中的情感实体词之间匹配的满足条件可以根据业务场景及精确度要求预先设置。例如,可以设置上述满足条件为近义词匹配,如上述“可怕”与“害怕”之间,即在语义上存在一定程度的匹配(匹配要求较低);当然,也可以设置上述满足条件为完全匹配,如只有在上述情感词库中包含“可怕”这一词汇的情况下,业务设备也会判定待识别文本中的“可怕”与情感词库中的情感实体词“可怕”相互匹配(匹配要求较高)。其中,可以通过待识别文本中的字符与情感词库中的情感实体词的特征向量之间的向量距离判断二者之间的匹配程度,如在向量距离的取值为[-1,1]的情况下,对于上述近义词匹配,可以设置向量距离处于[-0.2,02]时判定词汇匹配;而对于上述完全匹配,则只有在向量距离等于0时才判定词汇匹配。另外,也可以将情感词库中的各个情感实体词与待识别文本中的各个相邻字符进行滑动匹配,若某情感实体词与待识别文本中的若干个相邻字符相同,则将该若干个相邻字符确定为目标字符。
在确定出上述目标字符后,业务设备可以进一步确定其在待识别文本中的位置,并基于该位置生成位置向量。具体的,可以采用BIE表示法、SBME表示法或CS表示法等算法生成该位置向量。
承接于上述实施例可见,情感实体词“害怕”对应的目标字符为“可”和“怕”,二者在待识别文本中的位置分别为第6和第7位。以BIE表示法为例,预先设置0:O(out),2:B(Begin),1:I(Intern),3:E(End),则字符“这”、“老”、“太”、“可”、“怕”、“了”对应的特征值分别为0、0、0、0、0、2、3、0。相应的,上述待识别文本对应的位置向量Z
当然,需要说明的是,本公开实施例对于上述步骤406a-408a与步骤406b-408b之间的前后顺序并不进行限制。例如,可以前执行步骤406a-408a再步骤406b-408b,也可以先执行步骤406b-408b再步骤406a-408a,还可以通知执行步骤406a-408a和步骤406b-408b。
步骤410,将字符矩阵和位置向量合并生成文本矩阵。
在确定出字符矩阵和位置向量后,可以将二者合并为文本矩阵。如图3所示,可以将字符矩阵301和位置向量302合并为文本矩阵303。当然,本实施例及图3所示的合并规则仅是示例性的,方案实现时可以根据实际场景或文本特点等采用其他的合并规则,本公开并不对此进行限制。
步骤412,将文本矩阵输入预训练的情感识别模型。
步骤414,获取情感识别模型输出的识别结果。
上述步骤确定出的文本矩阵,即可用于表征待识别文本中的各个字符以及其中匹配情感实体词的目标字符的位置。此时,业务设备可以将该文本矩阵输入预训练的情感识别模型中,以通过该模型识别待识别文本的情感倾向。
其中,情感识别模型根据文本矩阵对待识别文本进行情感识别的具体过程可以参见下述图5对应的实施例,此处不再赘述。
如图5所示,情感识别模型包括三个层级:Embedding层、Bi-GRU层和输出层。
其中,Embedding层为该情感识别模型的输入层,其包含若干个输入组件,用以接收输入的特征向量(特征矩阵可视为多个特征向量的集合)。
Bi-GRU层为情感识别模型的识别层,该层包括多个连接至Embedding层输入组件的Bi_GRU神经元,各个Bi_GRU神经元之间顺序连接,其中,头部和尾部的两神经元的输出端连接至concat字符串连接函数,该函数将头部和尾部的两神经元的输出向量拼接,作为Bi_GRU层的输出传递至输出层的softmax组件。其中,输出层的softmax组件可以采用softmax方法由全连接网络构建,从而通过该组件将Bi-GRU层的输出转换为[-1,1]区间内的数值,以作为情感识别模型的整体输出值。
在将文本矩阵输入情感识别模型后,Embedding层的若干输入组件分别将文本矩阵中对应于一字符的特征向量作为自身的输入向量。例如,承接于前述实施例,输入层的各个输入组件分别用于将“这”、“老”、“太”、“太”、“太”、“可”、“怕”、“了”这8个字符的特征向量作为自身的输入。例如,字符“这”的特征向量为[Z
各个输入组件分别输入相应的特征向量后,Bi_GRU层通过双向机制获取待识别文本中目标字符的上下文信息并进行相应计算。任一Bi_GRU神经元输出的特征向量均是前后叠加的,因此其输出的任一特征向量都是2(n+1)维,进而concat函数拼接后输出的特征向量为4(n+1)维。
concat函数输出至softmax组件的4(n+1)维经过相应处理可以转换为维度更短的特征向量作为输出。例如,在对待识别文本的情感倾向进行识别对应的识别任务是只区分“正向”情感和“负向”情感的二分类任务的情况下,情感识别模型的最终输出结果可以为二维向量。
例如,在输出二维向量[a,b](其中,0≤a≤1,0≤b≤1)的情况下,可以表示该待识别文本的情感倾向为“正向”的概率为a,该待识别文本的情感倾向为“负向”的概率为b。当然,也可以反之,即该待识别文本的情感倾向为“正向”的概率为b,该待识别文本的情感倾向为“负向”的概率为a。显然,上述a+b=1。
进一步的,情感识别模型得输出结果也可以为标量c(其中,0≤c≤1),用于表征该待识别文本的情感倾向为“正向”的概率为c(或用于表征该待识别文本的情感倾向为“负向”的概率为c)。或者,情感识别模型的输出结果也可以为更高维度的向量,从而对输出结果进行更细粒度的划分,上述对应关系可以在模型构建阶段进行设置,本公开并不对此进行限制。
实际上,上述“正向”情感和“负向”情感只是示例性的。在方案实现中,情感识别模型的输出也可以为针对某事项的执行意愿的概率值、对某广告的关闭与否的概率值等,本公开并不对此进行限制。
与前述文本的情感识别方法的实施例相对应地,本公开还提出了文本的情感识别装置的实施例。
图6是根据本公开的实施例示出的一种文本的情感识别装置的示意框图。本实施例所示的文本的情感识别装置可以适用于应用于服务器或者用户终端等业务设备,其中,该服务器可以为包含一独立主机的物理服务器、主机集群承载的虚拟服务器、云服务器等,该用户终端可以为手机、平板设备、笔记本电脑、掌上电脑(PDAs,Personal DigitalAssistants)、可穿戴设备(如智能眼镜、智能手表等)等,本说明书一个或多个实施例并不对此进行限制。
如图6所示,所述文本的情感识别装置可以包括:
矩阵确定单元601,被配置为确定待识别文本的字符矩阵,所述字符矩阵由所述待识别文本中各个字符分别对应的字符向量构成;
向量确定单元602,被配置为确定所述待识别文本的位置向量,所述位置向量用于表征目标字符在所述待识别文本中的位置,所述目标字符为所述各个字符中匹配目标情感的字符;
情感识别单元603,被配置为将所述字符矩阵与所述位置向量构成的文本矩阵输入预训练的情感识别模型中,所述情感识别模型用于从所述文本矩阵中提取所述待识别文本的上下文信息,根据所述上下文信息对应的信息向量确定并输出所述待识别文本与所述目标情感的匹配程度。
对于图6所示的资源信息的获取装置,可选的,还可以包括其他一个或多个单元。可参见图7所示的另一种文本的情感识别装置,如图7所示:
可选的,所述矩阵确定单元601还被配置为:
在预设的字向量库中查询待识别文本中各个字符分别对应的字符向量;
将所述各个字符分别对应的字符向量合并为对应于所述待识别文本的字符矩阵。
可选的,所述向量确定单元602还被配置为:
在记录有情感实体词的情感词库中,查询所述各个字符中匹配所述情感实体词的目标字符;
根据查询到的所述目标字符在所述待识别文本中的位置,生成所述待识别文本的位置向量。
可选的,所述情感词库中的情感实体词,包括下述至少之一:
中文单字、中文词语、英文单词、英文短语、图形表情。
可选的,通过下述之一的算法生成所述待识别文本的位置向量:BIE表示法、SBME表示法、CS表示法。
可选的,还包括:
文本确定单元704,被配置为获取待识别的原始文本;
字符剔除单元705,被配置为剔除所述原始文本中的无效字符,并将剩余字符构成的文本确定为所述待识别文本。
可选的,所述情感识别模型基于循环神经网络构建,所述循环神经网络的网络神经元采用双向门控循环单元或长短期记忆网络构建。
图8是根据本公开的实施例示出的一种情感识别模型的训练装置的示意框图。本实施例所示的情感识别模型的训练装置可以适用于应用于服务器或者用户终端等模型训练设备,其中,该服务器可以为包含一独立主机的物理服务器、主机集群承载的虚拟服务器、云服务器等,该用户终端可以为手机、平板设备、笔记本电脑、掌上电脑、可穿戴设备(如智能眼镜、智能手表等)等,本说明书一个或多个实施例并不对此进行限制。
如图8所示,所述情感识别模型的训练装置可以包括:
样本获取单元801,被配置为获取样本待识别文本以及所述样本待识别文本的情感标记结果,所述情感标记结果包括所述样本待识别文本与样本目标情感的真实匹配程度;
矩阵确定单元802,被配置为确定所述样本待识别文本的样本字符矩阵和样本位置向量,所述样本字符矩阵由所述样本待识别文本中各个样本字符分别对应的样本字符向量构成,所述样本位置向量用于表征样本目标字符在所述样本待识别文本中的位置,所述样本目标字符为所述样本待识别文本中匹配所述样本目标情感的样本字符;
矩阵输入单元803,被配置为将所述样本字符矩阵与所述样本位置向量构成的样本文本矩阵输入待训练模型中,以获取所述待训练模型从所述样本文本矩阵中提取所述样本待识别文本的样本上下文信息后,根据所述样本上下文信息对应的样本信息向量确定并输出的所述样本待识别文本与所述样本目标情感的预测匹配程度;
参数调整单元804,被配置为根据所述预测匹配程度与所述真实匹配程度之间的差异调整所述待训练模型的模型参数并继续训练,直至预设的终止条件满足时终止训练,得到所述情感识别模型。
对于图8所示的资源信息的获取装置,可选的,还可以包括其他一个或多个单元。可参见图9所示的另一种情感识别模型的训练装置,如图9所示:
可选的,所述待训练模型包括输入层、识别层和输出层,其中:
所述输入层用于将接收到的所述样本文本矩阵输入所述识别层包含的多个神经元;
所述识别层用于通过所述多个神经元从所述样本文本矩阵中提取所述样本待识别文本的样本上下文信息,并生成所述样本上下文信息对应的样本信息向量;
所述输出层用于根据所述样本信息向量确定并输出所述预测匹配程度。
可选的,所述识别层包含的任一神经元为双向门控循环单元,所述样本信息向量包括样本前向信息向量和样本后向信息向量,所述识别层还用于:
将第一双向门控循环单元输出的样本前向信息向量和第二双向门控循环单元输出的样本后向信息向量拼接为所述样本信息向量。
可选的,所述终止条件包括:
所述差异不大于预设的差异阈值;和/或,
训练次数不小于预设的次数阈值。
可选的,还包括:
模型验证单元905,被配置为使用待验证文本验证训练得到的所述情感识别模型的识别准确度,所述待验证文本区别于所述样本待识别文本;
二次训练单元906,被配置为在所述识别准确度小于预设的准确度阈值的情况下,使用新的训练样本训练所述情感识别模型,所述新的训练样本包括区别于所述样本待识别文本和所述待验证文本的文本。
本公开的实施例还提出一种电子设备,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现如上述任一实施例所述的文本的情感识别方法或者上述任一实施例所述的情感识别模型的训练方法。
本公开的实施例还提出一种存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行上述任一实施例所述的文本的情感识别方法或者上述任一实施例所述的情感识别模型的训练方法。
本公开的实施例还提出一种计算机程序产品,所述计算机程序产品被配置为执行上述任一实施例所述的文本的情感识别方法或者上述任一实施例所述的情感识别模型的训练方法。
图10是根据本公开的实施例示出的一种电子设备的示意框图。例如,电子设备1000可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。
参照图10,电子设备1000可以包括以下一个或多个组件:处理组件1002,存储器1004,电源组件1006,多媒体组件1008,音频组件1010,输入/输出(I/O)的接口1012,传感器组件1014,以及通信组件1018。
处理组件1002通常控制电子设备1000的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件1002可以包括一个或多个处理器1020来执行指令,以完成上述文本的情感识别方法或者情感识别模型的训练方法的全部或部分步骤。此外,处理组件1002可以包括一个或多个模块,便于处理组件1002和其他组件之间的交互。例如,处理组件1002可以包括多媒体模块,以方便多媒体组件1008和处理组件1002之间的交互。
存储器1004被配置为存储各种类型的数据以支持在电子设备1000的操作。这些数据的示例包括用于在电子设备1000上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器1004可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
电源组件1006为电子设备1000的各种组件提供电力。电源组件1006可以包括电源管理系统,一个或多个电源,及其他与为电子设备1000生成、管理和分配电力相关联的组件。
多媒体组件1008包括在电子设备1000和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件1008包括一个前置摄像头和/或后置摄像头。当电子设备1000处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
音频组件1010被配置为输出和/或输入音频信号。例如,音频组件1010包括一个麦克风(MIC),当电子设备1000处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器1004或经由通信组件1018发送。在一些实施例中,音频组件1010还包括一个扬声器,用于输出音频信号。
I/O接口1012为处理组件1002和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件1014包括一个或多个传感器,用于为电子设备1000提供各个方面的状态评估。例如,传感器组件1014可以检测到电子设备1000的打开/关闭状态,组件的相对定位,例如所述组件为电子设备1000的显示器和小键盘,传感器组件1014还可以检测电子设备1000或电子设备1000一个组件的位置改变,用户与电子设备1000接触的存在或不存在,电子设备1000方位或加速/减速和电子设备1000的温度变化。传感器组件1014可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件1014还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件1014还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
图像采集组件1016可以用于采集被摄对象的图像数据,以形成关于被摄对象的图像,并可以对该图像进行必要的处理。该图像采集组件1016可以包括相机模组,相机模组中的图像传感器(Sensor)通过镜头感应来自被摄对象的光线,将得到的感光数据提供给图像信号处理器(ISP,Image Signal Processing),由后者根据感光数据生成对应于被摄对象的图像。其中,上述图像传感器可以为CMOS传感器或CCD传感器,当然,也可以为红外传感器、深度传感器等;相机模组可以内置在电子设备1000中,也可以为电子设备1000的外接模组;上述ISP可以内置在相机模组中,也可以外挂在上述电子设备中(不在相机模组内)。
通信组件1018被配置为便于电子设备1000和其他设备之间有线或无线方式的通信。电子设备1000可以接入基于通信标准的无线网络,如WiFi,运营商网络(如2G、3G、4G或5G),或它们的组合。在一个示例性实施例中,通信组件1018经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件1018还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在本公开一实施例中,电子设备1000可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述文本的情感识别方法或者情感识别模型的训练方法方法。
在示例性实施例中,还提供了一种包括指令的计算机可读存储介质,例如包括指令的存储器1004,上述指令可由电子设备1000的处理器1020执行以完成上述方法。可选地,计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
本领域技术人员在考虑说明书及实践这里公开的公开后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
需要说明的是,在本公开中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本公开实施例所提供的方法和装置进行了详细介绍,本文中应用了具体个例对本公开的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本公开的方法及其核心思想;同时,对于本领域的一般技术人员,依据本公开的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本公开的限制。
- 文本的情感识别方法、装置、电子设备和存储介质
- 一种文本情感识别方法、装置、存储介质及电子设备