文本分类研究主要集中在仅利用文本输入来训练分类器,或通过引入外部知识(如手工词汇和领域知识)来增强语义特征。相比之下,语料库的一些固有的统计特征,如词频和标签分布,没有得到很好的利用。与外部知识相比,统计特征具有确定性,自然与相应的任务相容。在本文中提出了一种自适应门网络(AGN)来选择性地利用统计特征巩固语义表示。AGN可以与现有的文本分类模型进一步结合,并提升模型的性能。
Methodology
Global information
为了利用与标签相对的单词的频率等固有信息,本文首先提出了一个term-count-of-labels(TCoL)定义:
ζ
i
\zeta_i
ζi表示单词
w
w
w在标签
i
i
i的文本中出现的数量,所以给定一个句子
s
s
s,会有一个统计信息的矩阵:
如果单词
w
w
w在所有标签上的频率很高或很低,那么我们可以假设
w
w
w对分类任务的贡献有限。相反,如果一个词在特定的标签类中出现得更频繁,假设这个词是携带特殊信息的。注意,TCoL字典
V
V
V仅从训练集获得,防止信息泄露。
V-Net: Variational Encoding Network
之后,为了更好得获取标签单词相关矩阵得稠密表示,本文使用了一个变分自编码器将离散的
ζ
\zeta
ζ映射到连续空间。对于语料中的所有句子,可以得到所有句子的TCoL矩阵,用
Z
=
{
ζ
i
s
}
i
=
1
N
Z=\{\zeta^s_{i}\}_{i=1}^N
Z={ζis}i=1N表示,由
N
N
N个独立同分布的TCoL矩阵组成。假设所有的TCoL向量都是由
p
θ
(
ζ
∣
z
)
p_{\theta}(\zeta|z)
pθ(ζ∣z)生成的(解码器),其中潜变量
z
z
z从一个先验分布
p
θ
(
z
)
p_{\theta}(z)
pθ(z)采样而来。但是
p
θ
(
z
)
p_{\theta}(z)
pθ(z)并不已知,因此使用
p
ϕ
(
z
∣
ζ
)
p_{\phi}(z|\zeta)
pϕ(z∣ζ)(编码器)对
p
θ
(
z
)
p_{\theta}(z)
pθ(z)进行估计。其损失函数包含两部分:
后者(期望)是重构误差,目的是让生成数据和原始数据尽可能相近;KL散度是正则项,它衡量了两个分布的近似程度。之后,采用重参数的方式重新定义后验(因为离散的后验采样并不可微分):
最终,训练好的VAE可以通过编码部分得到
ζ
z
\zeta^z
ζz,这是单词-标签之间特征的稠密表示。尽管VAE的推导过程十分复杂,但是代码却十分简单。
S-Net: Semantic Representation Projection Network
S-Net通过LSTM或是语言模型抽取
s
s
s的特征,并进行映射:
Valve Component
之后是VAE的输出与
H
C
H^C
HC的结合,在那之前还需要对
ζ
z
\zeta^z
ζz做一个变换:
之后,借助AdaGate与S-Net获取的特征进行聚合:
其中
H
′
C
=
σ
(
H
C
)
H'^{C}=\sigma(H^C)
H′C=σ(HC),用于评估决策过程中相应语义特征的置信度。Valve函数被设计用来恢复不太可信的条目,比如预测概率更偏向于0或者1则是置信度高的预测,偏向于0.5则是置信度低的:
ϵ
\epsilon
ϵ是一个用于控制丢弃量的参数。最终,使用一个注意力将AdaGate的输出与原始Bert的输出进行聚合:
Experiment
数据集:
实验结果(+S/A表示直接在Bert等模型的输出特征上使用self-attention):
不同
ϵ
\epsilon
ϵ值的探究:
不使用统计信息以及使用相关信息对模型注意力的影响:
随机扰乱TCoL对最终效果的影响:
VAE与AE的比较: