Joint embedding of words and labels for text classification 论文解读
Joint embedding of words and labels for text classification 论文解读
Motivation
各个词汇或字符在分类中的影响程度各不相同;其主要目标在于识别那些在分类过程中具有关键作用的词汇或字符,并为其分配更高的权重系数。
模型结构

X:使用二元 one-hot 编码表示每个词/字的输入数据数组
y:通过 one-hot 编码表示每条样本对应的类别标签向量
V:将每个词/字映射到 embedding 空间中的向量序列
C:构建一个 label 嵌入矩阵用于分类任务
G:生成一个批次级别的类别与序列位置对应的权重矩阵
\beta :对每条样本中各位置计算 softmax 概率值矩阵
z :将所有序列位置的信息聚合为一个统一的特征向量
y :通过 one-hot 编码表示每条样本对应的类别标签向量(此处 y 已重新定义以避免重复)
f_0 :作为编码层函数将 word 嵌入映射到 embedding 向量空间中
f_1 :作为池化操作将整个序列映射为固定维度特征向量
f_2 :作为全连接层函数将文本特征映射至分类器输出空间中
前向传播过程
每个数据中的每一个词或字对分类结果的影响也各不相同。例如,在一条文本中包含如‘湖人’、‘赛前训练’等词汇时,在归类于类别NBA中时,'湖人'这一项的词向量在权重上应显著高于其他如‘赛前训练’相关的项。
1.label_embedding矩阵和word_embedding矩阵相乘,并归一化
在G矩阵中取一条数据(class_nums × sequence_length)中的每一个元素具体地表示各个词/字与其相对应标签的嵌入向量之间的余弦相似度

C转置 的维度为 [class_nums, embedding_size];
输入序列向量 V 的维度为 [batch_size, sequence_length, embedding_dim];
运算符 \oslash 表示对对应位置上的元素进行相除操作;
计算矩阵 \hat{G} 的维度为 [batch_size, class_nums, sequence_length];
其中每个元素计算为 \hat{g}_{kl} = ||c_k|| \cdot ||v_l||,
其中 ||c_k|| 表示 C转置 矩阵中第 k 列向量的范数,
而 ||v_l|| 则表示输入序列向量 V 中第 l 行向量的范数。
- C^{TV}:表示转置特征矩阵的维度为[batch_size, class_nums, sequence_length]。
- G:表示生成器模型的维度为[batch_size, class_nums, sequence_length]。
- 利用非线性特性(借助卷积神经网络和激活函数),成功地从更高层次捕捉到词汇或字符与标签之间的相似度关联以及连续词汇之间的空间关联。
在sequence_length这一特定维度上,则采用了class_nums个大小为[batch_size, sequence_length, 2r+1]的空间可变长度滤波器,在经过每个字符上的卷积操作后得到了新的词汇或字符特征向量,并且该特征向量不仅反映了自身属性的相关信息,同时也包含了邻近词汇的相关信息。

- u_{l}为一批数据集中的第l个样本特征向量
- G_{l−r:l+r}是一个三维张量其形状为(batch_size×class_nums×(2r+1)) 其中r表示卷积核在空间域内的扩展步长
- 滤波器权重张量W_1\in\mathbb{R}^{[class\_nums×(2r+1)×1×filter\_nums]}
- 偏置向量b_1\in\mathbb{R}^{[batch\_size×class\_nums]}
3.对每个词/字,获取相似性最高的label的相似性值

- m_{l}:[batch_size] 对每条数据来说,是个数字
m矩阵中的一行用于表示每个词/字在各个目标类别标签下的相似性程度。经过SoftMax处理后得到一个概率分布向量,该向量用于量化每个词/字相对于不同目标类别的重要性权重。

- \beta:[batch_size, sequence_length]
- m:[batch_size, sequence_length]
在v矩阵中,在每一行中(一行)都有许多词或字符的数据。每个词或字符都有自己的嵌入向量表示。然后这些嵌入向量会分别与β矩阵中的对应元素相乘。这样会得到一系列的结果值。经过计算得到最终的结果向量。这个过程会对每个位置上的嵌入向量进行计算并累加起来……

- \mathit{z}: 批次大小、序列长度以及嵌入维度
- \mathit{\beta}_{l}等于批次大小
- \mathit{v}_{l}包含批次大小和嵌入维度的信息
