An Effective Deployment of Contrastive Learning in Multi-label Text Classification (ACL2023)
在多标签文本分类中一种有效的对比学习应用
论文代码: 占时未公布
论文地址: https://aclanthology.org/2023.findings-acl.556.pdf
个人阅读笔记,水平有限,如有问题欢迎指正交流
1.介绍
对比学习技术在自然语言处理任务中的有效性还有待探索和分析。如何正确合理地构建正反样本是对比学习的核心挑战。在多标签文本分类任务中发现对比对象甚至更难。以前的工作中提出很少提出对比损失。在本文中,我们从一个不同的角度研究这个问题,提出了五个新的对比损失的多标签文本分类任务。分别是严格对比损失(SCL),标签内对比损失(ICL),Jaccard相似性对比损失(JSCL),Jaccard相似性概率对比损失(JSPCL),逐步标签对比损失(SLCL)。
1.1 研究目标
本文我们从一个不同的角度研究这个问题,在多标签文本分类任务中,提出了五个新的对比损失。分别是严格对比损失(SCL),标签内对比损失(ICL),Jaccard相似性对比损失(JSCL),Jaccard相似性概率对比损失(JSPCL),逐步标签对比损失(SLCL)。(提出了五个对比标准)
1.2 科学问题
对比学习技术在自然语言处理任务中的有效性还有待探索和分析。如何正确合理地构建正反样本是对比学习的核心挑战。在多标签文本分类任务中发现对比对象甚至更难。以前的工作中提出很少提出对比损失。
标签数量的不确定性对多标签文本分类模型的训练提出了两个挑战:
模型的输出逻辑和模型的语义表示空间。近年来,大多数多标签文本分类研究都集中在设计更好的输出逻辑来解决标签数量的不确定性,比如将多标签文本分类问题转化为多任务问题(Lin et al.2022年)。
然而,对于另一个挑战,如何构建一个更好的多标签文本分类模型的语义表示空间,很少有研究关注。
1.3 方法
通过提出的这五个对比标准,我们探讨了对比学习在多标签文本分类任务的有效性,并提供了一套对比学习技术在特定任务基线模型部署的方法。我们进一步研究我们的方法,以显示对比学习损失的不同组成部分如何发挥其作用的可解释性分析。
实验结果表明,我们提出的对比损失可以带来改善多标签文本分类任务。我们的工作还探讨了对比学习应该如何适应多标签文本分类任务。
1.4 创新点/贡献
本文的主要贡献可以概括如下:
- 针对多标签文本分类任务,我们从不同角度提出了五种新的对比损失,作为多标签文本分类任务对比学习技术的一组基线模型。
- 我们所知是第一个为多标签文本分类任务提出一系列对比学习基线的工作。同时,我们还详细探讨了不同的对比学习设置对多标签文本分类任务的影响。
- 通过可解释性分析,我们进一步展示了不同的对比学习策略在转换语义表征空间方面的有效性。
1.5 文本多分类和文本多标签分类的的区别
首先,我介绍下文本多分类和文本多标签分类的的区别。(摘自: https://www.cnblogs.com/wynlfd/p/16021875.html)
1.5.1 Multi-Class:多分类/多元分类(二分类、三分类、多分类等)
二分类:判断邮件属于哪个类别,垃圾或者非垃圾
多分类:判断新闻属于哪个类别,如财经、体育、娱乐等
1.5.2 Multi-Label:多标签分类
文本可能同时涉及政治,金融、教育、体育中多种,也可能不属于任何一种。
电影可以根据其摘要内容分为动作,喜剧和浪漫类型。有可能电影属于 [浪漫与喜剧]等多种类型。
1.5.3 二者区别
多分类任务中一条数据只有一个标签,但这个标签可能有多种类别。比如判定某个人的性别,只能归类为"男性"、“女性"其中一个。再比如判断一个文本的情感只能归类为"正面”、“中面"或者"负面"其中一个。
多标签分类任务中一条数据可能有多个标签,每个标签可能有两个或者多个类别(一般两个)。例如,一篇新闻可能同时归类为"娱乐"和"运动”,也可能只属于"娱乐"或者其它类别。
(第二个任务更复杂一些)
2. 任务案例
3.模型架构(多标签文本分类中的对比损失)
我们将详细描述我们提出的不同对比学习方法在多标签文本分类任务中的应用。我们以多标签情感分类任务为例来描述我们的方法。值得注意的是,我们提出的方法不仅可以应用于多标签情感分类任务,也可以应用于其他多标签文本分类任务。
4. 方法
假设包含
K
K
K个样本
D
=
{
(
X
1
,
Y
1
)
,
(
X
2
,
Y
2
)
,
.
.
.
,
(
X
K
,
Y
K
)
}
D=\{(X_1,Y_1),(X_2,Y_2),...,(X_K,Y_K)\}
D={(X1,Y1),(X2,Y2),...,(XK,YK)}和
I
=
{
1
,
.
.
.
,
K
}
I = \{1,...,K\}
I={1,...,K}是样本索引集合。给定样本索
i
i
i,
X
i
X_i
Xi是样本
i
i
i的文本序列,并且其标签集表示为
Y
i
Y_i
Yi。在通过多标签文本分类模型
M
M
M编码之后,我们可以获得
X
i
X_i
Xi的句子表示向量
e
i
t
e^t_i
eit和情感表示矩阵
E
i
e
E^e_i
Eie,其中
E
i
e
=
{
e
i
1
,
e
i
2
,
.
.
.
,
e
i
l
}
E^e_i = \{e_{i1},e_{i2},...,e_{il}\}
Eie={ei1,ei2,...,eil},并且
l
l
l表示情感标签的总数。
Y
i
=
{
y
1
,
y
2
,
…
,
y
l
}
Y_i = \{y_1,y_2,…,y_l\}
Yi={y1,y2,…,yl}。对于给定的第
i
i
i种情感
y
i
∈
0
,
1
yi ∈ {0,1}
yi∈0,1,
y
i
=
0
y_i=0
yi=0表示文本中不存在这种类型的情感,
y
i
=
1
y_i=1
yi=1表示文本中存在这种类型的情感。
我们进一步将模型M输出的标签预测概率分布定义为
p
i
p_i
pi
当对比学习应用于多标签文本分类时,对于锚点,其正样本的定义可以多样化。例如,当实施严格标准时(SCL),正样本被定义为具有完全相同的标记集的样品(如图2(a)所示),当实施宽松标准时,正样本被定义为具有部分相同的标记集的样品(如图2(b)所示)。
4.1 严格对比损失(SCL)(语义表示)
SCL作为一种严格的标准方法,要求只有样本的标签集与锚点的标签集完全相同时,才能作为锚点的正样本。因此,SCL不考虑与锚标记集合部分重叠的样本。此外,SCL也是FeaCL类型的方法,它使用从模型编码获得的样本的语义表示作为对比特征。在SCL中,对于给定样本
i
i
i,与其共享相同标签集合的所有其他样本以batch形式集合
S
=
{
s
:
s
∈
I
,
Y
s
=
Y
i
∧
s
≠
i
}
S =\{s:s ∈ I,Y_s = Y_i ∧ s \neq i\}
S={s:s∈I,Ys=Yi∧s=i}.然后,我们可以将整个批处理中的每个条目
i
i
i的SCL函数定义为
L
S
C
L
=
−
1
∣
S
∣
∑
s
∈
S
log
exp
(
s
i
m
(
e
i
t
,
e
s
t
)
τ
)
∑
k
∈
I
\
{
i
}
exp
(
s
i
m
(
e
i
t
,
e
k
t
)
τ
)
L_{SCL}= - \frac{1}{|S|} \sum_{s \in S } \log \frac{ \exp( \frac{{sim(\bm{e_i^t},\bm{e_s^t)}}}{\tau})}{ \sum_{k \in I \backslash \{i\}} \exp( \frac{{sim(\bm{e_i^t},\bm{e_k^t)}}}{\tau})}
LSCL=−∣S∣1∑s∈Slog∑k∈I\{i}exp(τsim(eit,ekt))exp(τsim(eit,est))
其中 s i m ( ⋅ ) sim(·) sim(⋅)表示余弦相似性函数。 e i t e^t_i eit表示 X i X_i Xi的句子表示向量
4.2 Jaccard相似对比损失(JSCL)(语义表示)
SCL是一种严格的对比学习方法,它只把标签完全相同的样本拉得更近,
而JSCL则根据样本标签的相似程度对样本进行不同程度的操作。我们使用Jaccard系数(Jaccard,1912)来计算样本之间的标签相似性。与SCL相似,JSCL使用从模型编码获得的样本的语义表示作为对比特征。对于给定的样本,JSCL将尽可能放大具有完全相同标签的样本,而仅略微放大具有某些相同标签的样本。在JSCL中,对于给定的样本
i
i
i,我们可以将跨批处理的JSCL函数定义为,
I
=
{
1
,
.
.
.
,
K
}
I = \{1,...,K\}
I={1,...,K}所有样本为分子。完全相同的时候
∣
Y
i
∩
Y
s
∣
∣
Y
i
∪
Y
s
∣
\frac {\lvert Y_i \cap Y_s \lvert } {\lvert Y_i \cup Y_s \lvert }
∣Yi∪Ys∣∣Yi∩Ys∣就是1了,部分相同的时候是小于1,没有重叠部分的是都是等于0的,相当于没有这一项。
L J S C L = − 1 ∣ I ∣ ∑ s ∈ I log ∣ Y i ∩ Y s ∣ ∣ Y i ∪ Y s ∣ ⋅ exp ( s i m ( e i t , e s t ) τ ) ∑ k ∈ I \ { i } exp ( s i m ( e i t , e k t ) τ ) L_{JSCL}= - \frac{1}{|I|} \sum_{s \in I } \log \frac { \frac {\lvert Y_i \cap Y_s \lvert } {\lvert Y_i \cup Y_s \lvert } \cdot \exp( \frac{{sim( \bm{e_i^t}, \bm{e_s^t)}} }{\tau})} { \sum_{k \in I \backslash \{i\}} \exp( \frac{{sim( \bm{e_i^t}, \bm{e_k^t)}} }{\tau}) } LJSCL=−∣I∣1s∈I∑log∑k∈I\{i}exp(τsim(eit,ekt))∣Yi∪Ys∣∣Yi∩Ys∣⋅exp(τsim(eit,est))
e i t e^t_i eit表示 X i X_i Xi的句子表示向量
4.3 Jaccard相似概率对比损失(JSPCL)
Li等人(2021)提出,ProCL可以产生比特征对比学习更紧凑的特征,同时迫使输出概率分布在类权重周围。在JSCL的基础上,我们尝试将概率用于对比学习。在JSPCL中,对于给定的样本i,我们可以将跨批处理的JSPCL函数定义为
L
J
S
P
C
L
=
−
1
∣
I
∣
∑
s
∈
I
log
∣
Y
i
∩
Y
s
∣
∣
Y
i
∪
Y
s
∣
⋅
exp
(
s
i
m
(
p
i
,
p
s
)
τ
)
∑
k
∈
I
\
{
i
}
exp
(
s
i
m
(
p
i
,
p
k
)
τ
)
L_{JSPCL}= - \frac{1}{|I|} \sum_{s \in I } \log \frac { \frac {\lvert Y_i \cap Y_s \lvert } {\lvert Y_i \cup Y_s \lvert } \cdot \exp(\frac{{sim(p_i,p_s)}}{\tau}) } { \sum_{k \in I \backslash \{i\}} \exp(\frac{{sim(p_i,p_k)}}{\tau}) }
LJSPCL=−∣I∣1s∈I∑log∑k∈I\{i}exp(τsim(pi,pk))∣Yi∪Ys∣∣Yi∩Ys∣⋅exp(τsim(pi,ps))
p
i
p_i
pi表示模型
M
M
M输出的标签预测概率分布,
4.4 逐步标签对比损失(SLCL)
SLCL是另一种考虑在标签不完全相同的样本之间进行对比学习的方法。前三种对比学习方法主要考虑同时考虑多种情绪的情况,而SLCL分别考虑不同的情绪,分别计算对比损失,然后将每种情绪的损失合并。在SPCL中,对于给定样本
i
i
i,在批次中与其共享相同标签
y
j
y_j
yj的所有其他样本形成正样本集
S
j
S_j
Sj。每个情感标签下的正样本的集合是
S
=
{
S
1
,
S
2
,
.
.
.
,
S
q
}
S = \{S_1,S_2,...,S_q\}
S={S1,S2,...,Sq},
q
q
q是样本
i
i
i的情感数量。然后,我们可以将批处理中每个条目
i
i
i的SLCL函数定义为
L
S
L
C
L
=
−
1
q
∑
S
j
∈
S
1
∣
S
j
∣
∑
s
∈
S
j
log
exp
(
s
i
m
(
e
i
t
,
e
s
t
)
τ
)
∑
k
∈
I
\
{
i
}
exp
(
s
i
m
(
e
i
t
,
e
k
t
)
τ
)
L_{SLCL}= - \frac{1}{q} \sum_{S_j \in S} \frac{1}{|S_j|} \sum_{s \in S_j } \log \frac { \exp( \frac{{sim(\bm{e_i^t},\bm{e_s^t})}}{\tau})} { \sum_{k \in I \backslash \{i\}} \exp( \frac{{sim(\bm{e_i^t},\bm{e_k^t})}}{\tau}) }
LSLCL=−q1Sj∈S∑∣Sj∣1s∈Sj∑log∑k∈I\{i}exp(τsim(eit,ekt))exp(τsim(eit,est))
4.5 Intra-label Contrastive Loss(ICL) 单个样本内部
与其他几种缩小具有相同标签的样本的语义表征的对比损失不同,ICL旨在使存在于同一样本中的多种情感表征更接近。也就是说,ICL缩小了情感表征之间的距离,而没有缩小样本表征之间的距离。在ICL中,对于给定的样本i和i的情感的索引
I
y
=
{
1
,
…
,
l
}
Iy = \{1,…,l\}
Iy={1,…,l},我们可以将每个条目
i
i
i的第
j
j
j个情感的ICL函数定义为
L
I
C
L
j
=
−
1
∣
I
Y
∣
∑
s
∈
I
Y
log
exp
(
s
i
m
(
e
i
j
,
e
i
s
)
τ
)
∑
k
∈
I
Y
\
{
j
}
exp
(
s
i
m
(
e
i
j
,
e
i
k
)
τ
)
L_{ICL_j}= - \frac{1}{|I_Y|} \sum_{s \in I_Y } \log \frac { \exp( \frac{{sim(\bm{e_{ij}},\bm{e_{is}})}}{\tau})} { \sum_{k \in I_Y \backslash \{j\}} \exp( \frac{{sim(\bm{e_{ij}},\bm{e_{ik}})}}{\tau} ) }
LICLj=−∣IY∣1s∈IY∑log∑k∈IY\{j}exp(τsim(eij,eik))exp(τsim(eij,eis))
L
I
C
L
=
1
∣
Y
i
∣
∑
Y
i
L
I
C
L
j
L_{ICL}= \frac{1}{ \lvert Y_i \lvert } \sum_{Y_i} L_{ICL_j}
LICL=∣Yi∣1∑YiLICLj
4.6 训练目标
为了训练模型,我们联合对比损失和交叉熵,并联合训练它们。这旨在使用对比损失来拉近正样本样本之间的距离,同时通过交叉熵损失最大化正确标签的概率。总体培训目标计算如下:
L
=
α
⋅
L
C
L
+
(
1
−
α
)
⋅
L
B
C
E
L = \alpha \cdot L_{CL} + (1-\alpha) \cdot L_{BCE}
L=α⋅LCL+(1−α)⋅LBCE
其中 L C L ∈ { S C L , I C L , J S C L , J S P C L , S L C L } L_{CL} \in \{ SCL, ICL, JSCL, JSPCL, SLCL\} LCL∈{SCL,ICL,JSCL,JSPCL,SLCL}
5. 实验结果
为了研究多标签文本分类任务,我们选择了SemEval2018(Mohammad et al.2018)的英语、阿拉伯语和西班牙语的多标签情感分类(MEC)任务作为说明性示例。