对于情感极性分类任务,我们遇到了三个难点。首先是复杂句式,比如说“周杰伦比林俊杰唱得棒。”,对周杰伦而言,它是一个正向情感,而对于林俊杰而言,它是一个负向的情感。所以指定不同的Target,可能情感极性就不同。然后是领域词典,当看到“躁”这个字,我们可能会想到急躁或暴躁,这时它是一个负向情感词。但是在音乐领域里,比如“这首歌很躁。”,它却是一个正向的感受。同样的,“悲”这个字在音乐中可能是一个较中性的个人感受,而非负面。第三个问题是前期训练数据较少。
为了解决这些难点,针对前两个问题我们将传统的Embedding与自定义Embedding进行融合,图中式子前三项是传统Embedding方式,后三项是我们的自定义的Embedding。
图中的Entity Embedding用于指定评价对象,在这个例子中我们指定了“林”。User Vocab Embedding是自定义词典的Embedding,例子中,“棒”在自定义情感词典中是一个正向情感词,需要加上一个正向的Embedding。Adverb Embedding用来处理一些转折句式,此句式中句子重心通常出现在转折词之后,以此来决定句子的情感极性。有了这些特征之后,还需要大量的数据去强化模型对这些特征的理解。我们主要是使用模板去构造大量的难点句式,包括比较,转折型等等。针对前期训练数据比较少的问题,我们引入了DANN结构,我们使用了不同领域的极性分类数据,把它加到模型中,并引入一个Domain Layers领域分类层进行对抗训练,使得BERT能够提取到领域无关性的特征。
两个子模块需要两次BERT编码,模块性能较差。考虑到这两个任务具有一定的特征相关性,可以用Multi Task共享部分编码层,提升模型性能。这里借鉴了MTAN构建模型;此外,Embedding融合则是延用了之前的方法。BERT作为全局共享网络进行文本编码,不同的GRU对应不同的任务,用于特征提取和分类。此外,在损失函数中,加入了方差不确定性,去动态调整两个损失的权重,并起到去噪的作用。在计算梯度时,引入Gradient Surgery,用于修正梯度冲突。
④ 业务效果
模型的业务效果很不错,针对高精确率或高置信度的一些操作,实现自动审核,人工待审量大幅减少。同时模型给出建议操作可以协助审核人员效率提升20%。此外,审核人员的实际操作,可及时反馈算法侧,通过得到的hard样本,完成模型迭代。
--
03
评论审核-K歌
1. 业务目标
K歌评论审核主要是对一些辱骂性评论进行展示降权。目前评论的日增千万级,人工审核不现实,所以我们需要模型自动去识别辱骂评论,并自动处理。
2. 辱骂模型-V1