《Domain-Adaptive Text Classification with Structured Knowledge from Unlabeled Data》论文阅读笔记
论文信息
题目:Domain-Adaptive Text Classification with Structured Knowledge from Unlabeled Data
时间:20 Jun 2022
作者:Tian Li, Xiang Chen, Zhen Dong, Weijiang Yu, Yijun Yan, Kurt Keutzer, Shanghang Zhang
原文:Paper
代码:Code
一篇关注二元情感分类任务的跨域文本分类的论文
一、介绍
现有的用于文本分类的无监督域自适应方法可以分为两类:任务不可知方法和基于支点的方法。
任务不可知论方法通常忽略跨域词之间的相关性,而跨域词之间的相关性在自然语言处理环境中可能包含丰富的语义信息。
相比之下,基于支点的方法使用领域独立的词(支点),通过利用支点和非支点之间的相关性来学习领域不变特征,从而弥合领域差距。因此,我们希望将基于支点的方法与预训练的语言模型结合起来,使其适应新的领域。
贡献:
- 提出了用于文本分类的DASK,它注入了知识图事实,以更好地利用词之间的关系进行跨域适应
- 用BERT的注意力分数构建了一个新的知识图,以明确地捕捉目标域上的枢轴和非枢轴之间的关系
- 设计了由支点诱导的跨领域知识注入机制,利用非支点与支点的关系来学习非支点的领域不变特征
- 提出维护内存库以学习域不变支点
- 对20个域对的跨域情感分类任务评估了本文提出的方法,其中本方法比强基线高出2.9%
二、相关工作
2.1 跨域文本分类
基于支点的跨域文本分类方法与其它方法相比主要在两个方面有所不同:
1)利用支点与非支点之间的关系来帮助学习判别特征
2)侧重于学习单词级特征而不是实例级特征,这符合语言的本质
这两点使得基于支点的方法在NLP任务中脱颖而出。
支点:在源域和目标域中行为相似的单词
2.2 知识图谱(KG)
知识图谱构建
KG可以以监督、半监督、无监督的方式构建。本文使用的是MAMA,无监督方式,因为它使用存储在预训练语言模型中的学习知识来构建KG,而无需人工监督。通过BERT的前向传递,它收集输入中彼此关注度较高的单词或短语,形成一个候选事实,该事实由三元组(head, relation, tail)表示。因此,它很容易适合我们的知识注入语言模型P-BERT。我们可以用与MAMA中使用的BERT相同的权重初始化P-BERT,这样P-BERT就更容易解释由MAMA构建的知识图事实。
知识注入式Transformers
自BERT等预训练语言模型出现以来,许多工作都在跟进将外部知识纳入自己的模型中。K-BERT将特定领域的知识与文本一起作为输入,因此特别适合我们的领域自适应任务。此外,通过使用平面化的句子树和可见矩阵,它与BERT兼容,并且不需要额外的预训练。因此,为了促进基于枢轴的领域转移,我们将K-BERT发展为P-BERT,用我们的支点诱导的跨领域知识注入取代K-BERT的KI模块。
三、方法
如图1是DASK的工作流程示意图。
DASK遵循以下两步方法:
Step 1 从目标领域文本中构造知识图(KG)来建模支点和非支点之间的关系,具体说来包含:
- 从句子中提取候选事实
- 过滤低置信度的事实
Step 2 在构建知识图谱后,对源域和目标域联合进行知识注入微调。在每个训练步骤中,分别从源域获得标记文本,从源域和目标域获得未标记文本。输入被送到P-BERT中,其中所有输入都被注入了来自知识图的支点相关事实,然后依次转发到transformer编码器和线性分类器。最后,使用标记数据的预测值计算与ground truth的交叉熵损失。同时,利用未标记数据的预测来生成用于支点学习的伪标签。未标记数据的伪标签和标记数据的真实标签更新了记忆库中的极性分数。在推理期间,内存库不会更新。
3.1 知识图谱构建
目的:捕获支点和非支点之间的关系
候选事实提取
在句子层面上提取候选事实。
- 输入文本被分解为一个句子列表;
- 将每个句子输入BERT,得到最后一个transformer编码器层的注意力矩阵;
- 作为预处理步骤,将多头注意平均为单头,使一对单词只对应一个标量注意值(如果一个单词由多个标记组成,则标记的注意也被平均)。将预处理后的注意矩阵记为 M M M;
- 对于句子中的每个支点 p p p,搜索与 p p p具有最高和第二高注意力的单词 w 1 , w 2 w_1,w_2 w1,w2,那么,事实由 w 1 , w 2 , p w_1,w_2,p w1,w2,p遵循它们在句子中的原始语序构成的三元组来表示;
- 每个事实被赋予一个置信度分数: M [ p ] [ w 1 ] + M [ p ] [ w 2 ] M[p][w_1]+M[p][w_2] M[p][w1]+M[p][w2]
过滤
把置信度得分低于阈值的事实从知识图谱中删除。
3.2 知识注入
- 提出了支点诱导跨领域知识注入(PCKI),将知识事实注入到输入文本中
- 借鉴了K-BERT的思想,让语言模型理解注入输入的知识的结构,从而能使用预训练的语言模型作为特征提取器
如图1所示,P-BERT由知识注入模块和transformer编码器组成。
在知识注入模块中,对于输入文本中的每个支点,搜索与之相关的事实并注入到文本中,形成树形结构。图2b显示了一个知识注入文本的示例。
在这个例子中,“Great”在右边的句子中是一个支点,而我们从左边的句子中提取的KG中有一个事实三元组“(great, makes, simple)”。然后将这个三元组作为一个分支附加到“great”后面。
通过将从目标领域提取的事实注入到标记的源领域文本中,将目标领域的非支点嵌入到标记的上下文中,并以相关支点为条件,因此,我们的transformer编码器能够在源域标签的监督下,根据它们与支点的关系推断它们的特征。
为了在保持结构信息的同时将知识注入的文本输入到transformer编码器中,将其扁平化为token序列,并使用位置嵌入来恢复其结构。
具体来说,如图3所示,注入的单词按照其在三元组中的顺序在相应的枢轴之前或之后插入,从而得到扁平的标记序列。同时,为了恢复树结构,将每个标记的位置嵌入索引指定为其在树中的深度。在本例中,“makes”和“book”被赋予嵌入索引2的相同位置。
通过这种方式,token序列被输入到变压器中,位置嵌入告知其结构。此外,在transformer的自注意模块中采用了可见矩阵来控制知识噪声。
3.3 支点学习
本节主要介绍如何利用内存库来选择并学习支点。
对于二元情感分类任务,定义极性分数
p
(
w
,
D
)
p(w,D)
p(w,D)可以更容易地测量
w
w
w的标签分布偏向于
D
D
D上的标签的程度:
p
(
w
,
D
)
=
∣
{
l
=
1
∣
l
∈
b
(
w
,
D
)
}
∣
−
∣
{
l
=
−
1
∣
l
∈
b
(
w
,
D
)
}
∣
∣
b
(
w
,
D
)
∣
(1)
p(w,D)=\frac{|\{ l=1|l \in b(w,D) \}| - |\{ l=-1|l \in b(w,D) \}|}{|b(w,D)|} \tag{1}
p(w,D)=∣b(w,D)∣∣{l=1∣l∈b(w,D)}∣−∣{l=−1∣l∈b(w,D)}∣(1)
其中
b
(
w
,
D
)
b(w,D)
b(w,D)是
w
w
w在
D
D
D上的标签集合。因此域对
(
S
,
T
)
(S,T)
(S,T)上的行为可以被描述为:
p
‾
(
w
,
(
S
,
T
)
)
=
∣
p
(
w
,
S
)
+
p
(
w
,
T
)
∣
2
(2)
\overline{p}(w,(S,T))=\frac{|p(w,S)+p(w,T)|}{2} \tag{2}
p(w,(S,T))=2∣p(w,S)+p(w,T)∣(2)
取绝对平均值可以确保得分高的单词在两个域上都偏向于相同的标签。
在训练之前,从词汇表中收集大量的候选支点,这些支点包含在两个领域中频繁出现的单词。其他词不考虑,因为前提条件是,支点应该频繁出现在两个领域。为了跟踪候选支点的极性得分,分别为源域和目标域建立了记忆库。极性得分均由约束于源域标记数据的公式(1)计算的。然后根据公式(2)计算候选支点的绝对平均极性得分,并将得分最高的 K K K个候选支点作为初始支点。
训练过程中,在每个训练步骤中,如果softmax概率的预测置信度超过阈值,就获取未标记文本的伪标签。
使用未标记的源域输入的伪标签和标记的源域输入的真值标签来更新源存储库,而使用目标域输入的伪标签来更新目标存储库。
更新以时间差异的方式进行:对于每个候选支点,如果它在域
D
D
D的文本中标记的为
l
∈
{
1
,
−
1
}
l \in \{ 1,-1 \}
l∈{1,−1},则
p
(
w
,
D
)
←
α
⋅
p
(
w
,
D
)
+
(
1
−
α
)
⋅
l
(3)
p(w,D) \leftarrow \alpha \cdot p(w,D)+(1-\alpha ) \cdot l \tag{3}
p(w,D)←α⋅p(w,D)+(1−α)⋅l(3)
其中
α
\alpha
α为更新速率。通过这种方式,可以更准确地估计词在域上的行为,从而获得域不变的支点。在每个epoch的开始,根据公式(2)计算候选支点的绝对平均分数,并将前
K
K
K个候选支点作为学习支点。支点一个epoch中保持固定,以避免过于频繁的支点变化。
四、实验
待本人复现后再阐述这部分情况。