zl程序教程

您现在的位置是:首页 >  .Net

当前栏目

论文解读《Research on the application of contrastive learning in multi-label text classification》

2023-02-18 16:32:12 时间

论文信息

论文标题:Research on the application of contrastive learning in multi-label text classification
论文作者:Nankai Lin, Guanqiu Qin, Jigang Wang, Aimin Yang, Dong Zhou
论文来源:aRxiv 2022
论文地址:download 
论文代码:download

1 Introduction

  本文介绍了对比学习在多标签文本分类中的应用。

2 Method

  任务:给定包含 $K$ 个样本的样本集 $D=\left\{\left(X_{1}, Y_{1}\right),\left(X_{2}, Y_{2}\right), \ldots,\left(X_{K}, Y_{K}\right)\right\}$,下标 $I=\{1, \ldots, K\}$。将文本 $X_{i}$ 放入分类模型 $M$ 得到对应的句子表示 $E_{i}^{t}$,情绪表示 $E_{i}^{e}$,目标是通过句子表示准确得到文本 $X_{i}$ 的标签 $Y_{i}=\left\{y_{1}, y_{2}, \ldots, y_{l}\right\}$ 。

2.1 Strictly Contrastive Loss

  SCL 要求只有当样本的标签集与锚点的标签集完全相同时,它才可以用作锚点的正对比样本。因此,SCL是一种非常严格的方法,它不考虑与锚点标签集部分重叠的样本。在SCL中,对于一个给定的样本i,在批处理中与它共享相同标签集的所有其他样本形成集合 $S=\left\{s: s \in I, Y_{p}=Y_{i} \wedge p \neq i\right\}$。然后我们可以为批处理中的每个样本 $i$ 定义SCL函数是

    ${\large L_{S C L}=-\sum_{s \in S} \log \frac{\exp \left(\operatorname{sim}\left(E_{i}^{t}, E_{s}^{t}\right) / \tau\right)}{\sum_{k \in I /\{i\}} \exp \left(\operatorname{sim}\left(E_{i}^{t}, E_{k}^{t}\right) / \tau\right)}} $

2.2 Jaccard Similarity Contrastive Loss

  SCL是一种严格的对比学习方法,它只关闭具有完全相同标签的样本,而 JSCL 根据样本标签的相似性对样本进行不同程度的操作。对于一个给定的样本,JSCL将尽可能地放大到具有完全相同标签的样本,而只略微放大具有一些相同标签的样本。在 JSCL 中,对于给定的样本 $i$,我们可以定义 JSCL 函数为

    $L_{J S C L}=-\sum\limits _{s \in I} \log \frac{\frac{\left|Y_{i} \cap Y_{s}\right|}{\left|Y_{i} \cup Y_{s}\right|} \cdot \exp \left(\operatorname{sim}\left(E_{i}^{t}, E_{s}^{t}\right) / \tau\right)}{\sum_{k \in I /\{i\}} \exp \left(\operatorname{sim}\left(E_{i}^{t}, E_{k}^{t}\right) / \tau\right)}$

2.3 Jaccard Similarity Probability Contrastive Loss

  Li 等人提出,概率对比学习比特征对比学习可以产生更紧凑的特征,同时迫使输出概率分布在类权值周围。基于JSCL,我们尝试使用概率来进行对比学习。在JSPCL中,对于给定的样本 $i$,我们可以定义 JSPCL 函数为

    ${\large L_{J S P C L}=-\sum_{s \in I} \log \frac{\frac{\left|Y_{i} \cap Y_{s}\right|}{\left|Y_{i} \cup Y_{s}\right|} \cdot \exp \left(\operatorname{sim}\left(E_{i}^{e}, E_{s}^{e}\right) / \tau\right)}{\sum_{k \in I /\{i\}} \exp \left(\operatorname{sim}\left(E_{i}^{e}, E_{k}^{e}\right) / \tau\right)}} $

2.4 Stepwise Label Contrastive Loss

  SLCL是另一种考虑在标签不完全相同的样本之间进行对比学习的方法。前三种对比学习方法主要考虑同时考虑多个情绪的情况,而SLCL分别考虑不同的情绪,分别计算对比损失,然后结合了每一种情感的损失。在 JSPCL 中,对于一个给定的样本 $i$ ,在批中与它共享相同标签 $y_j$ 的所有其他样本形成正样本集 $S_j$。每个情绪标签下的正样本集为 $S=S_{1}, S_{2}, . . S_{q}$,$q$ 是情绪的样本 $i$ 的数量。然后我们可以为每个样本 $i$ 定义 SLCL 函数

    $L_{S L C L}=-\frac{1}{q} \sum_{S_{j} \in S} \sum_{s \in S_{j}} \log \frac{\exp \left(\operatorname{sim}\left(E_{i}^{t}, E_{s}^{t}\right) / \tau\right)}{\sum_{k \in I /\{i\}} \exp \left(\operatorname{sim}\left(E_{i}^{t}, E_{k}^{t}\right) / \tau\right)}$

2.5 Intra-label Contrastive Loss

  不同于其他几个对比损失缩小样本的语义表示与相同的标签,ICL旨在使多个情感表示存在于同一样本更近,也就是说,ICL缩小情感表示之间的距离,而不是样本表示之间的距离。在ICL中,对于一个给定的样本 $i$ 和 $i$ 的情绪指数 $I_{Y}=\{1, \ldots, I\}$,我们可以定义每个样本 $i$ 的第 $j$ 个情绪的 ICL 函数

    $L_{I C L_{j}}=-\sum_{s \in I_{Y}} \log \frac{\exp \left(\operatorname{sim}\left(E_{j}^{e}, E_{s}^{e}\right) / \tau\right)}{\sum_{k \in I_{Y} /\{j\}} \exp \left(\operatorname{sim}\left(E_{j}^{e}, E_{k}^{e}\right) / \tau\right)}$

    $L_{I C L}=\frac{1}{\left|Y_{i}\right|} \sum_{Y_{i}} L_{I C L_{j}}$

Training Objective 

  目标函数:

    $L=\alpha \cdot L_{C L}+(1-\alpha) \cdot L_{B C E}$

  其中:$L_{C L} \in\{S C L, I C L, J S C L, J S P C L, S L C L\}$