文本分类研究主要集中在仅利用文本输入来训练分类器,或通过引入外部知识(如手工词汇和领域知识)来增强语义特征。相比之下,语料库的一些固有的统计特征,如词频和标签分布,没有得到很好的利用。与外部知识相比,统计特征具有确定性,自然与相应的任务相容。在本文中提出了一种自适应门网络(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的比较: