一种文本情感分析方法和装置转让专利

申请号 : CN202211718347.0

文献号 : CN115659995B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 许辉鹏

申请人 : 荣耀终端有限公司

摘要 :

本申请实施例提供一种文本情感分析方法和装置,涉及机器学习算法领域,能够提高情感类型分析结果的准确度。其方法为:获取评论信息和评论信息对应的来源信息;将评论信息和评论信息对应的来源信息输入情感分析模型,得到情感分析模型输出的评论信息的情感分析结果;其中,情感分析模型是通过训练数据集对预设模型训练得到的模型,训练数据集中包括多条样本评论信息以及每条样本评论信息对应的来源信息,预设模型包括BERT层、专家神经网络层、分类器层和归一化指数函数softmax层。

权利要求 :

1.一种文本情感分析方法,其特征在于,包括:

获取评论信息和所述评论信息对应的来源信息;

将所述评论信息和所述评论信息对应的来源信息输入情感分析模型,得到所述情感分析模型输出的所述评论信息的情感分析结果;

其中,所述情感分析模型是通过训练数据集对预设模型训练得到的模型,所述训练数据集中包括多条样本评论信息以及每条样本评论信息对应的来源信息,所述预设模型包括BERT层、专家神经网络层、分类器层和归一化指数函数softmax层;

所述将所述评论信息和所述评论信息对应的来源信息输入情感分析模型,得到所述情感分析模型输出的所述评论信息的情感分析结果包括:将所述评论信息输入所述BERT层,得到所述BERT层输出的第一文本向量;

将所述来源信息输入所述BERT层,得到所述BERT层输出的所述来源信息的嵌入向量;

所述来源信息的嵌入向量满足如下公式: 其中,

表示所述来源信息的嵌入向量, 表示所述来源信息包括的每个文本字符对应的嵌入向量,count(source)表示所述来源信息对应的文本字符的数目;

将所述第一文本向量和所述来源信息的嵌入向量输入所述专家神经网络层,得到所述专家神经网络层输出的第二文本向量;

将所述第二文本向量输入所述分类器层,得到所述分类器层输出的所述评论信息对应的多个逻辑值,每个逻辑值指示所述评论信息对应的一种情感倾向的分数;

将所述多个逻辑值输入所述softmax层,得到所述softmax层输出的至少一个情感倾向的概率;

根据所述至少一个情感倾向的概率确定所述评论信息的情感分析结果,所述评论信息的情感分析结果是所述至少一个情感倾向的概率中概率最大的情感倾向。

2.根据权利要求1所述的方法,其特征在于,所述将所述第一文本向量输入所述专家神经网络层,得到所述专家神经网络层输出的第二文本向量包括:将所述第一文本向量分别输入所述专家神经网络层包括的多个专家神经网络,得到所述多个专家神经网络中每个专家神经网络分别输出的第三文本向量;

根据所述来源信息的嵌入向量和所述多个专家神经网络中每个专家神经网络分别输出的第三文本向量计算所述每个专家神经网络的路由权重;

根据所述每个专家神经网络的路由权重对所述每个专家神经网络输出的第三文本向量进行加权平均得到所述第二文本向量。

3.根据权利要求1或2所述的方法,其特征在于,所述每个专家神经网络的路由权重和所述第二文本向量满足如下公式: 其中, 表示第i个专家神经网络的路由权重, 表示所述第二文本向量, 表示所述来源信息的嵌入向量,m表示所述评论信息为第m个待处理评论信息,K表示专家神经网络的个数,Ei表示第i个专家神经网络输出的第三文本向量。

4.根据权利要求1或2所述的方法,其特征在于,所述分类器层包括多个分类器,所述多个分类器中的每个分类器用于处理一种来源信息对应的评论信息;

所述将所述第二文本向量输入所述分类器层,得到所述分类器层输出的所述评论信息对应的多个逻辑值包括;

将所述第二文本向量输入所述多个分类器中的第一分类器,得到所述第一分类器输出的所述评论信息对应的逻辑值,所述第一分类器对应所述评论信息对应的所述来源信息。

5.根据权利要求1或2所述的方法,其特征在于,所述softmax层输出的至少一个情感倾向的概率满足如下公式:   其中, 表示所述softmax层输出的概率,k表示选定的逻辑值的个数,选定的逻辑值的概率大于或等于预设阈值,S表示前k个逻辑值的集合,c为常量,C表示分类的类别数,j∈S,zi表示第i个逻辑值,zj表示第j个逻辑值。

6.一种情感分析模型训练方法,其特征在于,包括:

构建训练数据集,所述训练数据集中包括多条样本评论信息以及每条样本评论信息对应的来源信息;

基于所述训练数据集对预设模型进行训练,得到情感分析模型,所述情感分析模型用于根据评论信息和所述评论信息对应的来源信息对所述评论信息进行情感分析,所述预设模型包括BERT层、专家神经网络层、分类器层和归一化指数函数softmax层;

所述情感分析模型用于根据评论信息和所述评论信息对应的来源信息对所述评论信息进行情感分析包括:将所述评论信息输入所述BERT层,得到所述BERT层输出的第一文本向量;

将所述来源信息输入所述BERT层,得到所述BERT层输出的所述来源信息的嵌入向量;

所述来源信息的嵌入向量满足如下公式: 其中,

表示所述来源信息的嵌入向量, 表示所述来源信息包括的每个文本字符对应的嵌入向量,count(source)表示所述来源信息对应的文本字符的数目;

将所述第一文本向量和所述来源信息的嵌入向量输入所述专家神经网络层,得到所述专家神经网络层输出的第二文本向量;

将所述第二文本向量输入所述分类器层,得到所述分类器层输出的所述评论信息对应的多个逻辑值,每个逻辑值指示所述评论信息对应的一种情感倾向的分数;

将所述多个逻辑值输入所述softmax层,得到所述softmax层输出的至少一个情感倾向的概率;

根据所述至少一个情感倾向的概率确定所述评论信息的情感分析结果,所述评论信息的情感分析结果是所述至少一个情感倾向的概率中概率最大的情感倾向。

7.根据权利要求6所述的方法,其特征在于,所述基于所述训练数据集对预设模型进行训练,得到情感分析模型包括:选择所述训练数据集中的一条样本评论信息,将该样本评论信息作为目标评论信息;

通过所述预设模型处理所述目标评论信息,得到所述预设模型对所述目标评论信息的情感分类结果;

基于所述预设模型对所述目标评论信息的情感分类结果以及所述目标评论信息的标签情感分析结果之间的差异,计算所述预设模型的损失值;

基于所述损失值调整所述预设模型的参数,并返回选择所述训练数据集中的一条样本评论信息的步骤,直至所述预设模型收敛时,将训练得到的预设模型作为所述情感分析模型。

8.一种计算机可读存储介质,其特征在于,包括计算机指令;

当所述计算机指令在电子设备上运行时,使得所述电子设备执行如权利要求1‑6中任一项所述的方法。

9.一种情感分析装置,其特征在于,包括处理器,所述处理器和存储器耦合,所述存储器存储有程序指令,当所述存储器存储的程序指令被所述处理器执行时使得所述装置实现权利要求1‑6中任一项所述的方法。

说明书 :

一种文本情感分析方法和装置

技术领域

[0001] 本申请涉及机器学习算法领域,尤其涉及一种文本情感分析方法和装置。

背景技术

[0002] 目前,企业为了更好地改进产品、改善服务质量,可以对海量的互联网舆情数据(用户在互联网上的评论)的情感倾向进行判断,借助消费者评论了解产品优势和不足,以指导企业改进产品、改善服务质量。
[0003] 相关技术中,可以采用基于长短期记忆网络加注意力机制的方法对用户的评论进行处理,得到文本序列构建的基于自注意力机制的模型,将待分析的用户的评论导入该模型中,可以完成目标文本的情感趋势分析。然而,该方法需要大量监督数据,在监督数据的数据量较小的情况下情感类型分析结果的准确度不高。

发明内容

[0004] 本申请实施例提供一种文本情感分析方法和装置,能够提高情感类型分析结果的准确度。
[0005] 第一方面,本申请实施例提供一种文本情感分析方法,包括:获取评论信息和评论信息对应的来源信息;将评论信息和评论信息对应的来源信息输入情感分析模型,得到情感分析模型输出的评论信息的情感分析结果;其中,情感分析模型是通过训练数据集对预设模型训练得到的模型,训练数据集中包括多条样本评论信息以及每条样本评论信息对应的来源信息,预设模型包括BERT层、专家神经网络层、分类器层和归一化指数函数softmax层。
[0006] 本申请实施例提供的文本情感分析方法,在通过情感分析模型对评论信息进行情感分析时,特别考虑到了评论信息的来源信息,可以使得评论信息的情感分析结果更加准确。其中,情感分析模型可以包括BERT层、专家神经网络层、分类器层和softmax层,相比现有技术仅通过一种类型的简单模型对评论信息进行情感分析,本申请提供的情感分析模型可以有效提高情感分析的准确率(例如可以提升15%左右),为业务提供了更准确实时的情感分析能力。通过实时准确分析评论信息的情感倾向,可以提高差评舆情的召回能力,提高召回问题进工单的效率,进而提高业务干预差评问题的效率,避免公司(企业)形象受损、客户流失、销量下滑等问题。
[0007] 在一种可能的实现方式中,将评论信息和评论信息对应的来源信息输入情感分析模型,得到情感分析模型输出的评论信息的情感分析结果包括:将评论信息输入BERT层,得到BERT层输出的第一文本向量;将来源信息输入BERT层,得到BERT层输出的来源信息的嵌入向量;将第一文本向量和来源信息的嵌入向量输入专家神经网络层,得到专家神经网络层输出的第二文本向量;将第二文本向量输入分类器层,得到分类器层输出的评论信息对应的多个逻辑值,每个逻辑值指示评论信息对应的一种情感倾向的分数;将多个逻辑值输入softmax层,得到softmax层输出的至少一个情感倾向的概率;根据至少一个情感倾向的概率确定评论信息的情感分析结果,评论信息的情感分析结果是至少一个情感倾向的概率中概率最大的情感倾向。
[0008] 其中,专家神经网络层可以利用不同来源的评论信息对应的文本字符之间的联系促进情感分析模型的学习,以提高情感分析准确度。分类器层可以保持不同来源的评论信息之间的特征独立,可以使得对不同来源的评论信息的情感分析更加准确。
[0009] 在一种可能的实现方式中,将第一文本向量输入专家神经网络层,得到专家神经网络层输出的第二文本向量包括:将第一文本向量分别输入专家神经网络层包括的多个专家神经网络,得到多个专家神经网络中每个专家神经网络分别输出的第三文本向量;根据来源信息的嵌入向量和多个专家神经网络中每个专家神经网络分别输出的第三文本向量计算每个专家神经网络的路由权重;根据每个专家神经网络的路由权重对每个专家神经网络输出的第三文本向量进行加权平均得到第二文本向量。
[0010] 在一种可能的实现方式中,来源信息的嵌入向量满足如下公式:
[0011]
[0012] 其中, 表示来源信息的嵌入向量, 表示来源信息包括的每个文本字符对应的嵌入向量,count(source)表示来源信息对应的文本字符的数目。
[0013] 需要说明的是,来源信息对应的Embedding向量可以是根据评论信息对应的Embedding向量计算得到的,基于评论信息和来源信息对应的Embedding向量对情感分析模型进行训练可以加速情感分析模型的训练速度。
[0014] 在一种可能的实现方式中,每个专家神经网络的路由权重和第二文本向量满足如下公式:
[0015]
[0016]
[0017] 其中, 表示第i个专家神经网络的路由权重, 表示第二文本向量, 表示来源信息的嵌入向量,m表示评论信息为第m个待处理评论信息,K表示专家神经网络的个数,表示第i个专家神经网络输出的第三文本向量。
[0018] 其中,专家神经网络层中的多个专家神经网络可以利用不同来源的评论信息对应的文本字符之间的联系促进情感分析模型的学习,以提高情感分析准确度。
[0019] 在一种可能的实现方式中,分类器层包括多个分类器,多个分类器中的每个分类器用于处理一种来源信息对应的评论信息;将第二文本向量输入分类器层,得到分类器层输出的评论信息对应的多个逻辑值包括;将第二文本向量输入多个分类器中的第一分类器,得到第一分类器输出的评论信息对应的逻辑值,第一分类器对应评论信息对应的来源信息。
[0020] 其中,分类器层中的每个分类器可以保持不同来源的评论信息之间的特征独立,可以使得对不同来源的评论信息的情感分析更加准确。
[0021] 在一种可能的实现方式中,softmax层输出的至少一个情感倾向的概率满足如下公式:
[0022]
[0023] 其中, 表示softmax层输出的概率,k表示选定的逻辑值的个数,选定的逻辑值的概率大于或等于预设阈值,S表示前k个逻辑值的集合,c为常量,C表示分类的类别数。
[0024] 其中,softmax层可以将选定的逻辑值以外的逻辑值的概率置为常量c(常量c可以为0),避免情感分析模型过度拟合不太相关的类别的概率,可以提升情感分析模型的泛化能力(即可以提升情感分析模型对不同来源的评论信息给出合适的情感分析结果的能力)。
[0025] 第二方面,本申请实施例提供一种情感分析模型训练方法,包括:构建训练数据集,训练数据集中包括多条样本评论信息以及每条样本评论信息对应的来源信息;基于训练数据集对预设模型进行训练,得到情感分析模型,情感分析模型用于对评论信息进行情感分析,预设模型包括BERT层、专家神经网络层、分类器层和归一化指数函数softmax层。
[0026] 基于本申请实施例提供的方法,可以基于训练数据集对预设模型进行训练,得到情感分析模型。由于训练数据集中包括评论信息的来源信息,可以使得根据训练数据集训练得到的情感分析模型对评论信息的情感分析结果更加准确。其中,情感分析模型可以包括BERT层、专家神经网络层、分类器层和softmax层,相比现有技术仅通过一种类型的简单模型对评论信息进行情感分析,本申请提供的情感分析模型可以有效提高情感分析的准确率(例如可以提升15%左右),为业务提供了更准确实时的情感分析能力。
[0027] 在一种可能的实现方式中,基于训练数据集对预设模型进行训练,得到情感分析模型包括:选择训练数据集中的一条样本评论信息,将该样本评论信息作为目标评论信息;通过预设模型处理目标评论信息,得到预设模型对目标评论信息的情感分类结果;基于预设模型对目标评论信息的情感分类结果以及目标评论信息的标签情感分析结果之间的差异,计算预设模型的损失值;基于损失值调整预设模型的参数,并返回选择训练数据集中的一条样本评论信息的步骤,直至预设模型收敛时,将训练得到的预设模型作为情感分析模型。
[0028] 基于本申请实施例提供的方法,可以基于预设模型对目标评论信息的情感分类结果以及目标评论信息的标签情感分析结果之间的差异,计算预设模型的损失值,并根据该损失值调整预设模型的参数。由于训练数据集不仅包括多条样本评论信息,还包括不同样本评论信息对应的不同来源信息,因此根据训练数据集训练得到的情感分析模型可以更好地处理不同来源的评论信息以得到更准确的情感分析结果。
[0029] 第三方面,本申请提供一种计算机程序产品,当所述计算机程序产品在计算机上运行时,使得所述计算机执行如第一方面、第二方面及其任一种可能的设计方式所述的方法。
[0030] 第四方面,本申请实施例提供了一种情感分析装置,包括处理器,处理器和存储器耦合,存储器存储有程序指令,当存储器存储的程序指令被处理器执行时使得所述装置实现上述第一方面、第二方面及其任一种可能的设计方式所述的方法。所述装置可以为电子设备或服务器设备;或可以为电子设备或服务器设备中的一个组成部分,如芯片。
[0031] 第五方面,本申请实施例提供了一种情感分析装置,所述装置可以按照功能划分为不同的逻辑单元或模块,各单元或模块执行不同的功能,以使得所述装置执行上述第一方面、第二方面及其任一种可能的设计方式所述的方法。
[0032] 第六方面,本申请提供一种芯片系统,该芯片系统包括一个或多个接口电路和一个或多个处理器。该接口电路和处理器通过线路互联。上述芯片系统可以应用于包括通信模块和存储器的电子设备。该接口电路用于从电子设备的存储器接收信号,并向处理器发送接收到的信号,该信号包括存储器中存储的计算机指令。当处理器执行该计算机指令时,电子设备可以执行如第一方面、第二方面及其任一种可能的设计方式所述的方法。
[0033] 第七方面,本申请提供一种计算机可读存储介质,该计算机可读存储介质包括计算机指令。当计算机指令在电子设备或服务器上运行时,使得该电子设备或服务器执行如第一方面、第二方面及其任一种可能的设计方式所述的方法。
[0034] 可以理解地,上述提供的第三方面所述的计算机程序产品及第四方面、第五方面所述的装置、第六方面所述的芯片系统及第七方面所述的计算机可读存储介质所能达到的有益效果,可参考如第一方面、第二方面及其任一种可能的设计方式中的有益效果,此处不再赘述。
[0035] 本申请实施例提供的文本情感分析方法,在通过情感分析模型对评论信息进行情感分析时,特别考虑到了评论信息的来源信息,可以使得评论信息的情感分析结果更加准确。其中,情感分析模型可以包括BERT层、专家神经网络层、分类器层和softmax层,相比现有技术仅通过一种类型的简单模型对评论信息进行情感分析,本申请提供的情感分析模型可以有效提高情感分析的准确率(例如可以提升15%左右),为业务提供了更准确实时的情感分析能力。通过实时准确分析评论信息的情感倾向,可以提高差评舆情的召回能力,提高召回问题进工单的效率,进而提高业务干预差评问题的效率,避免公司(企业)形象受损、客户流失、销量下滑等问题。

附图说明

[0036] 图1为本申请实施例提供的一种评论信息的示意图;
[0037] 图2为本申请实施例提供的一种系统架构示意图;
[0038] 图3为本申请实施例提供的一种设备的硬件结构示意图;
[0039] 图4为本申请实施例提供的一种文本情感分析方法的流程示意图;
[0040] 图5为本申请实施例提供的一种情感分析模型的示意图;
[0041] 图6为本申请实施例提供的一种情感分析流程示意图;
[0042] 图7为本申请实施例提供的一种评论信息对应的嵌入向量的示意图;
[0043] 图8为本申请实施例提供的一种来源信息的嵌入向量的示意图;
[0044] 图9为本申请实施例提供的一种稀疏softmax的输出示意图;
[0045] 图10为本申请实施例提供的一种情感分析模型训练方法的流程示意图;
[0046] 图11为本申请实施例提供的一种芯片系统的结构示意图。

具体实施方式

[0047] 为了下述各实施例的描述清楚简洁,首先给出相关概念或技术的简要介绍:
[0048]  (1) 编码‑解码模型(encoder‑decoder模型)
[0049] 编码,就是将输入序列转化成一个固定长度的向量;解码,就是将之前生成的固定长度的向量再转化成输出序列。编码‑解码模型是一种应用于seq2seq问题的模型。seq2seq问题简单来说,就是根据一个输入序列x,来生成另一个输出序列y。seq2seq有很多的应用,例如翻译任务,问答任务,情感分析任务等等。例如,在翻译任务中,输入序列是待翻译的文本,输出序列是翻译后的文本;在问答任务中,输入序列是提出的问题,而输出序列是答案。在情感分析任务中,输入序列是评论信息(舆情信息),而输出序列是评论信息的情感倾向(情感分析结果)。
[0050] (2) Transformer 模型
[0051] Transformer模型本质上是一个 Encoder‑Decoder 架构。Transformer 可以分为两个部分:编码组件和解码组件。其中,编码组件由多层编码器(Encoder)组成。解码组件也是由相同层数的解码器(Decoder)组成。每个编码器由两个子层组成:Self‑Attention 层(自注意力层)和位置前馈网络(Position‑wise Feed Forward Network,Position‑wise FFN)。每个编码器的结构都是相同的,但是它们使用不同的权重参数。解码器也有编码器中这两层,但是它们之间还有一个注意力层(即 Encoder‑Decoder Attention),其应用解码器关注输入句子的相关部分。
[0052] (3) BERT(Bidirectional Encoder Representations from Transformer)模型[0053] BERT模型是基于Transformer 的  Encoder(编码器),主要模型结构就是 Transformer 的堆叠。
[0054] BERT是一个预训练的模型,预训练的过程简单来说如下:假设已有A任务的训练集,可以先用A任务的训练集对网络进行预训练,在 A 任务上学会网络参数,然后保存以备后用。当有一个新的任务(B任务),采取相同的网络结构,网络参数初始化的时候可以加载 A任务学习好的参数,其他的高层参数随机初始化,之后用 B 任务的训练数据来训练网络。当加载的参数保持不变时,称为 “frozen”,当加载的参数随着 B 任务的训练进行不断的改变,称为 “fine‑tuning”,即更好地把参数进行调整使得更适合当前的 B 任务。这样当B任务的训练数据较少时,很难很好的训练网络,但是获得了A 任务训练的参数,会比仅仅使用B 任务训练的参数更优。
[0055] BERT模型通过查询字向量表将文本中的每个字转换为一维向量,作为模型输入,模型输出则是输入各字对应的融合全文语义信息后的向量表示。此外,模型输入除了字向量,还可以包含另外两个部分:
[0056] 1、文本向量:该向量的取值在模型训练过程中自动学习,用于刻画文本的全局语义信息,并与单字/词的语义信息相融合。
[0057] 2、位置向量:由于出现在文本不同位置的字/词所携带的语义信息存在差异(比如:“我爱你”和“你爱我”),因此,BERT模型对不同位置的字/词分别附加一个不同的向量以作区分。
[0058] BERT模型中有多层数据,各层数据指示输入数据的不同角度,如输入文本的句法或语义,具体的内容此处不做限定。
[0059] (4) Embedding(嵌入):
[0060] 是将离散变量转为连续向量表示的一个方式。在神经网络中,Embedding可以减少离散变量的空间维数,同时还可以有意义的表示该变量。
[0061] 简单来说,E mbedding就是用一个低维的向量表示一个对象,可以是一个词,或是一个商品等等。这个embedding向量的性质是能使距离相近的向量对应的物体有相近的含义,比如 Embedding(花)和Embedding(草)之间的距离就会很接近,但Embedding(花)和Embedding(狗)的距离就会远一些。
[0062] (5) softmax函数:又称归一化指数函数,可以将多分类的结果以概率的形式展现出来。可以理解的是,概率有两个性质:1)预测的概率为非负数;2)各种预测结果概率之和等于1。softmax函数可以将在负无穷到正无穷上的预测结果按照这两步转换为概率。
[0063] 第一步,softmax可以将模型的预测结果转化到指数函数上,由于指数函数的值域取值范围是零到正无穷,这样就可以保证概率的非负性。第二步,将转换到指数函数的结果进行归一化处理。即将转化后的结果除以所有转化后结果之和,可以理解为转化后结果占总数的百分比,这样就得到近似的概率,且可以确保各个预测结果的概率之和等于1。
[0064] 目前,用户对产品(例如,电子产品)进行评论(或评价)的途径是多种多样的。例如,用户可以在互联网上的各个平台进行评论,如图1所示,是一种网络评论(差评)的示例。用户还可以通过线下门店向企业反馈自身对消费品的评论,或者用户可以通过填写问卷调查的方式评论自身对消费品的使用感受。企业(例如,设备厂商)可以对用户的评论进行情感分析,例如可以根据定义的文本情感倾向类别(好、中、差评),利用文本多分类的方法对海量的互联网舆情数据(用户在互联网上的评论)以及门店的反馈和问卷数据的情感倾向做出及时、准确的判断。借助消费者评论了解产品优势和不足,以指导企业改进产品、改善服务质量。
[0065] 相关技术中,可以采用基于长短期记忆网络加注意力机制的方法,该方法对目标文本进行处理,得到文本序列构建基于自注意力机制的情感分析模型,将文本序列导入模型中,完成目标文本的情感趋势分析。该方法需要大量监督数据,在监督数据的数据量较小的情况下对产品的评论文本进行情感类型分析结果的准确度不高。
[0066] 相关技术中,对产品的文本评论信息进行情感分析还可以采用基于BERT的情感分析方法,该方法通过对单一来源的评论信息进行简单的预处理,然后直接基于开源的BERT的权重进行微调,得到最终的模型。根据最终的模型对产品的文本评论信息进行情感分析。该模型泛化能力差,无法适应多来源的文本评论信息的情况。
[0067] 本申请实施例提供一种文本情感分析方法,可以通过情感分析模型对不同来源的评论信息进行准确的情感分析。其中,情感分析模型泛化能力强,可以适应多来源的评论信息的情况。
[0068] 参见附图2,本申请实施例提供了一种情感分析系统架构,包括数据采集设备210、数据库220、训练设备230、执行设备240、数据存储系统250等。其中,数据采集设备210用于采集训练样本,训练样本可以包括多条样本评论信息以及每条评论信息对应的来源信息。采集的训练样本可以保存在数据库220中。训练设备230基于数据库220中的训练样本训练情感分析模型。训练好的情感分析模型可以保存在执行设备240的处理器中。情感分析模型可以用于对评论信息进行情感分析,以确定评论信息是好评还是差评等。执行设备240可以设置在云端服务器中,也可以设置于用户客户端中。执行设备240可以调用数据存储系统
250中的数据、代码等,同时也可以将输出的数据存入数据存储系统250中。数据存储系统
250可以设置于执行设备240中,也可以独立设置,或者设置于其他网络实体中,数量可以是一个也可以是多个。
[0069] 图2仅是本申请实施例提供的一种系统架构的示意图,图中所示设备、器件、模块等之间的位置关系不构成任何限制。例如,在附图2中,数据存储系统250相对执行设备240是外部存储器,在一些情况下,也可将数据存储系统250置于执行设备240中。
[0070] 在本申请实施例中,该数据采集设备210、训练设备230、执行设备240可以分别为独立的物理设备(例如,服务器),也可以位于同一个物理设备或者一个设备集群上,本申请不做限定。
[0071] 如图3所示,以数据采集设备210、训练设备230或执行设备240的硬件结构为服务器200的硬件结构为例,该服务器200包括至少一个处理器201,通信线路202,存储器203以及至少一个通信接口204。
[0072] 处理器201可以是一个通用中央处理器(central processing unit,CPU),微处理器,特定应用集成电路(application‑specific integrated circuit,ASIC),或一个或多个用于控制本申请方案程序执行的集成电路。
[0073] 通信线路202可包括一通路,在上述组件之间传送信息。
[0074] 通信接口204,使用任何收发器一类的装置,用于与其他设备或通信网络通信,如以太网,无线接入网(radio access network,RAN),无线局域网(wireless local area networks,WLAN)等。
[0075] 存储器203可以是只读存储器(read‑only memory,ROM) 或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM) 或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(electrically erasable programmable read‑only memory,EEPROM)、只读光盘(compact disc read‑only memory,CD‑ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器可以是独立存在,通过通信线路202与处理器相连接。存储器也可以和处理器集成在一起。
[0076] 其中,存储器203用于存储执行本申请方案的计算机执行指令,并由处理器201来控制执行。处理器201用于执行存储器203中存储的计算机执行指令,从而实现本申请下述实施例提供的异常订单处理方法。
[0077] 可选的,本申请实施例中的计算机执行指令也可以称之为应用程序代码,本申请实施例对此不作具体限定。
[0078] 在具体实现中,作为一种实施例,处理器201可以包括一个或多个CPU,例如图3中的CPU0和CPU1。
[0079] 在具体实现中,作为一种实施例,服务器200可以包括多个处理器,例如图3中的处理器201和处理器207。这些处理器中的每一个可以是一个单核(single‑CPU)处理器,也可以是一个多核(multi‑CPU)处理器。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。
[0080] 可选的,服务器200还可以包括输出设备205和输入设备206。输出设备205和处理器201通信,可以以多种方式来显示信息。例如,输出设备205可以是液晶显示器(liquid crystal display,LCD),发光二级管(light emitting diode,LED)显示设备,阴极射线管(cathode ray tube,CRT) 显示设备,或投影仪(projector)等。输入设备206和处理器201通信,可以以多种方式接收用户的输入。例如,输入设备206可以是鼠标、键盘、触摸屏设备或传感设备等。
[0081] 上述的服务器200可以是一个通用设备或者是一个专用设备。在具体实现中,服务器200可以是台式机、便携式电脑、网络服务器、掌上电脑(personal digital assistant,PDA)、移动手机、平板电脑、无线终端设备、嵌入式设备或有图3中类似结构的设备。本申请实施例不限定服务器200的类型。
[0082] 下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。其中,在本申请的描述中,除非另有说明,“至少一个”是指一个或多个, “多个”是指两个或多于两个。另外,为了便于清楚描述本申请实施例的技术方案,在本申请的实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分。本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。
[0083] 为了便于理解,以下结合附图对本申请实施例提供的方法进行具体介绍。
[0084] 如图4所示,本申请实施例提供一种文本情感分析方法,应用于执行设备,包括:
[0085] S101、获取评论信息和该评论信息对应的来源信息。
[0086] 该评论信息对应的来源信息所指示的来源(即评论信息的来源)可以是多个来源中的一种。其中,多个来源可以包括线上来源和线下来源。线上来源可以包括多个网站(例如,电商网站、社交网站、新闻网站、搜索引擎网站等)、论坛(例如,技术论坛、企业论坛、社交论坛等)、贴吧(例如,百度贴吧)、应用程序(例如,购物应用、社交应用、新闻应用等)等。线下来源可以包括门店的反馈、线下问卷调查等。即可以获取消费者通过互联网发表的对产品(商品)的评论(评价)信息,也可以获取用户通过线下问卷调查的方式发表的对产品的评论信息。
[0087] 示例性的,用户评论的产品可以是电子产品,例如,手机、平板电脑、笔记本电脑、电视、手表、手环、音箱、体重秤、电饭煲等等,本申请不做具体限定。
[0088] 示例性的,一条评论信息可以包括评论的标题(主题)和评论的具体描述。例如,评论的标题(主题)可以为产品名称(例如,XX手机),评论的具体描述可以为针对XX手机的性能、外观描述、使用感受、物流服务描述、售后服务描述等。
[0089] 应该理解的是,不同来源的评论信息通常具有不同的特征。例如,来自购物应用(例如,淘宝®)的评论信息通常是基于淘宝®给出的评价指标给出的,以产品为手机为例,淘宝®可以给出续航能力、拍照效果、运行速度等评价指标,用户可以基于续航能力、拍照效果、运行速度等评价指标对手机进行评价。而且,购物应用上的评价多数是对于刚刚购入的新产品的评价,对于一段时间后的使用感受评价较少。又例如,来自企业论坛(例如,荣耀论坛)的评论信息通常和活跃在该论坛的用户的用语习惯、关注方向有关,也和论坛中浏览量较高的帖子的用语方式有关。可见,来自不同来源的评论信息具有不同的特征,因此在进行情感分析时,考虑不同评论信息的不同来源是很有必要的。基于本申请提供的方法,可以有效捕获不同来源的评论信息的特征。
[0090] S102、将评论信息和来源信息输入情感分析模型,得到情感分析模型输出的评论信息的情感分析结果。
[0091] 其中,情感分析模型是通过训练数据集对预设模型训练得到的模型,训练数据集中包括多条样本评论信息以及每条样本评论信息对应的来源信息,预设模型可以包括BERT层、专家神经网络层、分类器层和归一化指数函数softmax层中的至少一种。其中,BERT层即为BERT模型,BERT模型可以包括文本Embedding模块(即嵌入层),专家神经网络层也可以称为多专家自动路由模块,分类器层也可以称为多塔分类器模块,softmax层也可以称为稀疏softmax模块。
[0092] 如图5所示,首先,可以将评论信息和来源信息输入BERT模型,可以根据BERT模型的文本Embedding模块对该评论信息和该评论信息的来源信息进行初始化,得到该评论信息的Embedding向量和来源信息的Embedding向量。然后,BERT模型对评论信息的Embedding向量进行处理得到第一文本向量,第一文本向量是对评论信息的语义分析结果。BERT模型可以输出第一文本向量和来源信息的Embedding向量。接着,可以将第一文本向量和来源信息的Embedding向量输入多专家自动路由模块,多专家自动路由模块可以根据来源信息的Embedding向量对第一文本向量进行深层文本表示得到第二文本向量。第二文本向量的语义相比第一文本向量的语义更准确,即第二文本向量对于评论信息的文本表示相比第一文本向量更加清楚。然后,可以将第二文本向量输入多塔分类器模块,得到多塔分类器模块输出的评论信息对应的多个逻辑值,每个逻辑值指示评论信息对应的一种情感倾向的分数(即多塔分类器模块可以为评论信息对应的第二文本向量打上情感倾向分数)。稀疏softmax模块可以将该评论的情感倾向分数进行稀疏归一化,得到该评论信息在情感倾向上的稀疏概率分布。根据概率最大的情感倾向确定该评论信息的情感分析结果。
[0093] 示例性的,如图6所示,假设评论信息为:荣耀50,新后耗电量明显增大,不知道是我个别的情况还是别人也是这样。该评论信息的来源信息为微博®。将该评论信息输入情感分析模型后,情感分析模型输出的情感分析结果可以为差评。又例如,假设评论内容为:荣耀80,新机已收到,颜值高,价格实惠,非常值得入手。该评论的来源为淘宝®。将该评论输入情感分析模型后,情感分析模型输出的情感分析结果可以为好评。
[0094] 下面对文本Embedding模块将评论信息和来源信息转换成Embedding向量的过程进行说明:
[0095] 可以理解的是,评论信息是由离散的文本字符组成的,将评论信息转换成Embedding向量即将离散的文本字符转换成数值型的稠密向量。
[0096] 其中,评论信息和来源信息都可以用文本字符表示,评论信息和来源信息转换后的Embedding向量可以共存于同一个表示空间,由于来源信息对应的文本字符通常被评论信息对应的文本字符涵盖,因此来源信息对应的Embedding向量可以是根据评论信息对应的Embedding向量计算得到的。基于评论信息和来源信息对应的Embedding向量对情感分析模型进行训练可以加速情感分析模型的训练速度。
[0097] 可以将评论信息和来源信息对应的文本输入文本Embedding模块得到评论信息和来源信息对应的Embedding向量。由于来源信息对应的文本通常被评论信息对应的文本涵盖,因此来源信息对应的Embedding向量可以是根据评论信息对应的Embedding向量计算得到的,如公式(1)所示。
[0098]   公式(1)
[0099] 其中, 表示来源(source)信息的Embedding向量, 表示来源信息对应的每个文本字符的Embedding向量,count(source)可以表示来源信息对应的文本字符的数目(个数)。当然,count(source)可以是预设值,或者可以与来源对应的文本字符的数目成比例,本申请不做限定。
[0100] 需要说明的是,将定义为 和count(source)的商,可以保证 的体量,避免由于评论的来源(source)的文本较多,导致 和  过大,进而导致影响BERT模型的准确率的问题。
[0101] 其中,来源信息对应的每个文本的Embedding向量可以是开源的Embedding向量,即来源信息的Embedding向量可以是根据开源的Embedding向量确定的。或者,来源信息对应的每个文本的Embedding向量可以是自行设置的,来源信息的Embedding向量可以是根据自行设置的Embedding向量确定的。或者,来源信息对应的每个文本的Embedding向量和来源信息的Embedding向量可以采用 Word2Vec、Glove 等算法预训练得到,也可以在 Transformer 中训练得到,本申请对此不做限定。
[0102] 如图7所示,为一种评论信息对应的Embedding向量表示的示例。其中,h表示开源向量的维数,m表示文本字符的数量。其中,文本字符可以是单个汉字(例如,图6所示汉字:的、好、微、博、耀、荣等)。可选的,文本字符可以是一个单词或短语,或者,文本字符可以是多个汉字组成的词语,本申请不做限定。
[0103] 如图8所示,为一种来源信息对应的Embedding向量表示的示例。其中,h表示来源信息对应的Embedding向量的维数,n表示来源信息的数目。来源信息对应的Embedding向量可以是根据评论信息对应的Embedding向量和公式(1)确定的。
[0104] 例如,假设来源信息是微博(即评论的来源是微博),微博的Embedding向量表示可以是根据公式(2)确定的。
[0105]   公式(2)
[0106] 即微博的Embedding向量为文本“微”的Embedding向量和文本“博”的Embedding向量之和与“微博”对应的文本的数目(即2)的商。
[0107] 如图7所示,文本“微”的Embedding向量为(0.212,0.677,……,……,0.546,0.282),文本“博”的Embedding向量为(0.342,0.233,……,……,0.313,‑0.821),如图8所示,根据公式(2)可得“微博”对应的Embedding向量为(0.277,0.455,…,0.429,‑0.269)。
[0108] 下面对多专家自动路由模块根据第一文本向量和来源信息对应的Embedding向量得到第二文本向量的过程进行说明:
[0109] 多专家自动路由模块可以作为多来源的信息共享模块,可以利用不同来源的评论信息对应的文本字符之间的联系促进情感分析模型的学习,以提高情感分析准确度。
[0110] 其中,多专家自动路由模块可以包括n个专家(专家也可以称为专家神经网络),n大于1。可以将所有样本评论信息映射给n个专家,这样针对于每个样本评论信息,都会得到其在不同专家上的路由权重。即对于每一个样本评论信息,都在n个专家上有对应的路由权重。
[0111] 如公式(3)所示,可以利用来源信息的Embedding与多个专家输出的文本向量(第三文本向量,也可以称为文本表示)计算路由权重,最大权重对应的专家为处理第一文本向量的主专家。然后,如公式(4)所示,可以利用各路由权重对各专家输出的文本向量进行加权平均得到多专家共同决策的第二文本向量。
[0112]    公式(3)
[0113]      公式(4)
[0114] 其中,K表示专家个数,m表示当前评论信息为第m个待处理评论信息, 表示评论信息的来源表征, 表示第i个专家输出的文本向量, 表示多专家共同决策的第二文本向量。
[0115] 多专家自动路由模块利用了不同来源的评论信息对应的文本之间的联系促进了情感分析模型的学习,可以提高情感分析准确度。避免了针对单个来源的评论信息独立建模,由于不同来源的评论信息具有不同特征,无法有效捕获不同来源的评论信息的特征的问题。且避免由于不同来源的评论信息之间的特征不同,网络无法学习到共有的行为特性,导致情感分析准确度差的问题。并且,在来源比较多的情况下,为每个来源独立建模并维护,会造成较大的人力和资源消耗。而本申请提供的多专家自动路由模块,可以学习不同来源的评论信息对应的文本之间的联系,可以提高情感分析准确度。
[0116] 下面对多塔分类器根据第二文本向量得到评论信息对应的多个逻辑值(每个逻辑值指示评论信息对应的一种情感倾向的分数)的过程进行说明:
[0117] 可以将多专家共同决策的文本向量(即第二文本向量,也可以称为分类向量)输入多塔分类器。多塔分类器可以包括多个塔,每个塔可以视为一个分类器(分类模型)。每个塔对应一种来源信息和评论信息(来源信息关联的评论信息),即每个分类器用于处理一种来源信息对应的评论信息。多塔分类器可以保持不同来源的评论信息之间的特征独立,可以使得对不同来源的评论信息的情感分析更加准确。
[0118] 下面对稀疏softmax(sparse‑softmax)模块对情感分析结果进行概率输出的过程进行说明。
[0119] 如图9所示,可以将多塔分类器中某个塔(例如,塔1)输出的逻辑值输入到稀疏softmax模块中。稀疏softmax模块可以输出前k(例如,k为2)个逻辑值对应的概率(例如,分别为0.02和0.98)。
[0120] 如公式(5)所示,稀疏softmax模块有两个超参数,第一个超参数是k,表示选定前k(top k)个逻辑值进行普通softmax计算。前k个逻辑值对应的概率大于或等于预设阈值(例如,预设阈值可以为0.01)。第二个超参数是常量c,表示靠后的逻辑值(前k个逻辑值以外的逻辑值)对应的概率统一置为常量c。前k个逻辑值以外的逻辑值对应的概率小于预设阈值。例如,可以对靠后的逻辑值直接置为0(默认常量c为0),进行截断,避免情感分析模型过度拟合不太相关的类别的概率,提升情感分析模型的泛化能力(即可以提升情感分析模型对不同来源的评论信息给出合适的情感分析结果的能力)。
[0121]    公式(5)
[0122] 其中, 表示稀疏softmax模块输出的概率,k表示选定进行普通softmax计算的逻辑值的个数,S表示前k个逻辑值的集合,c表示靠后的逻辑值的概率(例如,c可以为0),C表示分类的类别数。例如,分类的类别数例如可以包括:好评、中评、差评中的至少两个。
[0123] 需要说明的是,情感分析结果可以包括评论信息为正向和负向的概率。或者,情感分析结果可以包括评论信息为正向、负向和中性的概率。例如,若一条评论信息的情感分析结果中正向的概率为90%、负向的概率为0%,中性的概率为10%,则可以确定该评论信息为一条好评。
[0124] 本申请基于多专家路由模块以及多塔分类器模块可以保证多来源的评论信息的公共特征和私有特征分明,能够较好地应对多来源的评论信息。本申请使用自定义的稀疏softmax模块得到情感倾向概率,具有更好的泛化能力。本申请提供的情感分析模型可以使得情感分析准确率提升15%左右,为业务提供了更准确实时的情感分析能力。通过实时准确分析评论信息的情感倾向,可以提高差评舆情的召回能力,提高召回问题进工单的效率,进而提高业务干预差评问题的效率,避免公司(企业)形象受损、客户流失、销量下滑等问题。
[0125] 上文以情感分析模型对某产品来自不同来源的评论信息进行情感分析为例进行说明。 实际应用中,情感分析模型的应用场景包括但不限于涉及商品/产品(例如,某款电子产品)的情感分析,还可以应用于搜索引擎结果情感分析(搜索内容为消极、中性、积极等)、音乐情感分析、视频(电影、电视剧、综艺节目等)情感分析、股票情感分析等场景,即各种不同应用场景中情感分析对象可以是某款商品,或者视频,或者音乐,或者股票等,本申请不做限定。
[0126] 如图10所示,本申请实施例还提供一种情感分析模型训练方法,应用于训练设备,包括以下步骤:
[0127] S1、构建训练数据集,训练数据集中包括多条样本评论信息以及每条样本评论信息对应的来源信息。
[0128] 可选的,可以通过网络爬虫技术,从论坛、网站、贴吧和应用程序等爬取与产品相关的多条评论信息作为样本评论信息,同时可以获取每条样本评论信息对应的来源信息。评论信息和来源信息的描述可以参考步骤S101,在此不做赘述。
[0129] 可选的,多条样本数据可以是在指定时间段内产生的,指定时间段例如可以是一个月或一周,本申请不做具体限定。
[0130] S2、基于训练数据集对预设模型进行训练,得到情感分析模型。
[0131] 在本申请实施例中,情感分析模型用于对输入的评论信息进行情感分析,从而确定评论信息的情感分析结果。
[0132] 其中,预设模型可以包括BERT层、专家神经网络层、分类器层和softmax层。
[0133] 其中,BERT层可以是BERT模型,BERT模型也可以由其他深度神经网络(deep neural networks,DNN)模型或卷积神经网络(convolutional neural networks,CNN) 模型或循环神经网络(recurrent neural network,RNN) 模型代替,本申请不做具体限定。可选的,BERT模型可以是已经预训练过的模型。
[0134] 在一种可能的设计中,情感分析模型的训练过程可以包括:选择训练数据集中的一条样本评论信息,将该样本评论信息作为目标评论信息;通过预设模型处理目标评论信息,得到预设模型对目标评论信息的情感分类结果;基于预设模型对目标评论信息的情感分类结果以及目标评论信息的标签情感分析结果之间的差异,计算预设模型的损失值;基于损失值调整预设模型的参数,并返回选择训练数据集中的一条样本评论信息的步骤,直至预设模型收敛时,将训练得到的预设模型作为情感分析模型。
[0135] 其中,模型收敛条件可以根据实际需求进行设置,比如模型收敛条件可以为损失值小于预设损失阈值,或者训练次数达到预设次数。
[0136] 基于本申请实施例提供的方法,可以基于预设模型对目标评论信息的情感分类结果以及目标评论信息的标签情感分析结果之间的差异,计算预设模型的损失值,并根据该损失值调整预设模型的参数。由于训练数据集不仅包括多条样本评论信息,还包括不同样本评论信息对应的不同来源信息,因此根据训练数据集训练得到的情感分析模型可以更好地处理不同来源的评论信息以得到更准确的情感分析结果。
[0137] 本申请实施例还提供一种芯片系统,如图11所示,该芯片系统包括至少一个处理器1101和至少一个接口电路1102。处理器1101和接口电路1102可通过线路互联。例如,接口电路1102可用于从其它装置(例如,服务器的存储器)接收信号。又例如,接口电路1102可用于向其它装置(例如处理器1101)发送信号。
[0138] 例如,接口电路1102可读取服务器中存储器中存储的指令,并将该指令发送给处理器1101。当所述指令被处理器1101执行时,可使得服务器(如图3所示的服务器200)执行上述实施例中的各个步骤。
[0139] 当然,该芯片系统还可以包含其他分立器件,本申请实施例对此不作具体限定。
[0140] 本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质包括计算机指令,当所述计算机指令在服务器(如图3所示的服务器200)上运行时,使得服务器200执行上述方法实施例中执行设备或训练设备执行的各个功能或者步骤。
[0141] 本申请实施例还提供一种计算机程序产品,当所述计算机程序产品在计算机上运行时,使得所述计算机执行上述方法实施例中执行设备或训练设备执行的各个功能或者步骤。
[0142] 本申请实施例还提供了一种情感分析装置,所述情感分析装置可以按照功能划分为不同的逻辑单元或模块,各单元或模块执行不同的功能,以使得所述情感分析装置执行上述方法实施例中执行设备或训练设备执行的各个功能或者步骤。
[0143] 通过以上实施方式的描述,所属领域的技术人员可以清楚地了解到,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
[0144] 在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0145] 所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0146] 另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0147] 所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
[0148] 以上内容,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何在本申请揭露的技术范围内的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。