Cross-Lingual text Classification with Minimal Resources by Transferring a Sparse Teacher
文章目录
CLTS 模型 (cross-lingual teacher-student method)
1 问题目标
1.1 符号定义
- 源语言
L
S
L_S
LS,目标语言
L
T
L_T
LT,
K
K
K 个预先定义好的类别
Y
=
{
1
,
⋯
,
K
}
Y=\{1,\cdots,K\}
Y={1,⋯,K}。
- 从源语言
L
S
L_S
LS 中获取的
已
标
注
\color{blue}{已标注}
已标注 的文档
D
S
=
{
(
x
i
S
,
y
i
)
}
i
=
1
N
D_S=\{(x_i^S,y_i)\}_{i=1}^N
DS={(xiS,yi)}i=1N 。
- 共有 N N N 个样本,
- x i S x_i^S xiS 来自于源语言词汇表 V S V_S VS,表示一个单词序列,
- y i y_i yi 表示从属的类别。
- 从目标语言
L
T
L_T
LT 中获取的
未
标
注
\color{blue}{未标注}
未标注 的文档
D
T
=
{
x
i
T
}
i
=
1
M
D_T=\{x_i^T\}_{i=1}^M
DT={xiT}i=1M 。
- 共有 M M M 个样本,
- x i T x_i^T xiT 来自于目标语言词汇表 V T V_T VT,表示一个单词序列。
- 从源语言
L
S
L_S
LS 中获取的
已
标
注
\color{blue}{已标注}
已标注 的文档
D
S
=
{
(
x
i
S
,
y
i
)
}
i
=
1
N
D_S=\{(x_i^S,y_i)\}_{i=1}^N
DS={(xiS,yi)}i=1N 。
1.2 具体目标
-
已
标
注
\color{blue}{已标注}
已标注 的源文档
D
S
D_S
DS +
未
标
注
\color{blue}{未标注}
未标注 的目标文档
D
T
D_T
DT + 不超过
B
B
B 个源单词的翻译的单词,
- 去训练一个分类器,
- 当从目标语言 L T L_T LT 中拿出一个没有见过的测试样本文档 x i T x_i^T xiT,可区分它的类别。
2 具体模型 Cross-Lingual Teacher-Student (CLTS)
- CLTS 从源语言 L S L_S LS 中提取最重要的 B B B 个种子单词 seed words,
- CLTS 将 seed words 和它们的 weights 从 L S L_S LS 转移到 L T L_T LT,来初始化 L T L_T LT 中的一个分类器,
- 将上述的分类器作为一个 teacher,CLTS 还需要训练一个分类器作为一个 student,这个 student 使用目标文档中的 seed words 和它们的上下文 context 来作预测。
F
i
g
.
总
过
程
图
Fig. 总过程图
Fig.总过程图
2.1 在源语言中提取种子单词 Seed-Word
- 源语言 L S L_S LS 中的 已 标 注 \color{blue}{已标注} 已标注 文档被分成了 K K K 个类别(如图示假设有 3 个类别, K = 3 K=3 K=3),然后 CLTS 在每个类别中自动抽取(extract)种子单词(seed words)形成一个集合 G k S G_k^S GkS (其中 k = 1 , 2 , 3 , ⋯ , K k=1,2,3,\cdots,K k=1,2,3,⋯,K)。
F
i
g
.
概
念
图
Fig. 概念图
Fig.概念图
- 准确地说,用 已 标 注 \color{blue}{已标注} 已标注 的文档 D S D_S DS 训练一个权值矩阵 W ∈ R K × ∣ V S ∣ W \in R^{K\times |V_S|} W∈RK×∣VS∣,CLTS从这个权值矩阵中抽取 seed words。
- 现在给定一个源
已
标
注
\color{blue}{已标注}
已标注 文档
x
i
S
x_i^S
xiS 和它的 bag-of-words 编码
h
i
S
∈
R
∣
V
S
∣
h_i^S \in R^{|V_S|}
hiS∈R∣VS∣。
- 其中 ∣ V S ∣ |V_S| ∣VS∣ 表示的是源语言词汇表的数量(长度)。
- 分类器可以通过以下公式计算概率
p
i
p_i
pi,借此公式可以得知这个
已
标
注
\color{blue}{已标注}
已标注 文档被分类器学习归为哪一类。
- p i = ( p i 1 , p i 2 , ⋯ , p i K ) = s o f t m a x ( W [ K × ∣ V S ∣ ] h i [ ∣ V S ∣ × 1 ] ) p_i=(p_i^1,p_i^2,\cdots,p_i^K)=softmax(W_{[K\times |V_S|]}{h_i}_{[|V_S|\times1]}) pi=(pi1,pi2,⋯,piK)=softmax(W[K×∣VS∣]hi[∣VS∣×1]),下标是维度的说明。
- CLTS 在抽取某个类别
G
k
S
G_k^S
GkS 的某个种子单词 seed words (可记作
v
c
∈
V
S
v_c \in V_S
vc∈VS)时,依据以下规则:
- 若权值矩阵中的 对应 该第 k k k 类别的行 中权值 W k c W_{kc} Wkc 大于 0,则 CLTS 会选取它。
- 即
G
k
S
=
{
v
c
S
∣
W
k
c
>
0
}
G_k^S=\{v_c^S|W_{kc}>0\}
GkS={vcS∣Wkc>0}
- 可以看一下 总过程图 中的左半部分 W ^ \hat{W} W^ 中 P O S \color{green}{POS} POS 行对应的 perfect 加以理解。
-
Q
u
e
s
t
i
o
n
?
\color{red}{Question?}
Question?
- 若一行中存在多个权值为正值,该如何选取 seed words?
- G S = G 1 S ∪ G 2 S ⋯ ∪ G K S G^S=G_1^S \cup G_2^S \cdots \cup G_K^S GS=G1S∪G2S⋯∪GKS 集合的元素可能多于 B 个,此时该如何抉择?
- 通过正则化的方式训练:
W
^
=
arg
min
W
∑
i
=
1
N
L
(
y
i
,
W
h
i
S
)
+
λ
B
R
sparse
(
W
)
\hat{W}=\underset{W}{\arg \min } \sum_{i=1}^{N} \mathcal{L}\left(y_{i}, W h_{i}^{S}\right)+\lambda_{B} \mathcal{R}_{\text {sparse}}(W)
W^=Wargmin∑i=1NL(yi,WhiS)+λBRsparse(W)
- L \mathcal{L} L 是训练损失函数(logistic loss);
- R sparse ( ⋅ ) \mathcal{R}_{\text {sparse}}(\cdot ) Rsparse(⋅) 是稀疏性 L 1 L_1 L1 正则项;
-
λ
B
\lambda_{B}
λB 是控制正则项的超参数。
- 若 λ B \lambda_{B} λB 越大,则 W ^ \hat{W} W^ 越稀疏,得到较少的 seed words。
- 所以需要不断调整 λ B \lambda_{B} λB(原文提及了调整的方法-“warm-start”技术),以学习到最合适(原文中说是 最 高 \color{red}{最高} 最高)的 W ^ \hat{W} W^。
2.2 跨 seed 的 Weight Transfer
- 对于源语言的
G
S
G^S
GS 中的
B
B
B 个 seed words,将其翻译为目标语言
G
T
G^T
GT 的 seed words。
- 即有一个 translation pair ( v S , v T ) (v^S,v^T) (vS,vT) 。
- 注意整列权值均要转移(参考 总过程图)。
- Z ^ k , v S = W ^ k , v T , ∀ k ∈ { 1 , 2 , 3 , ⋯ , K } \hat{Z}_{k, v^{S}}=\hat{W}_{k, v^{T}}, \forall k \in \{1,2,3,\cdots,K\} Z^k,vS=W^k,vT,∀k∈{1,2,3,⋯,K}
F
i
g
.
总
过
程
图
Fig. 总过程图
Fig.总过程图
- 此时构建出了一个新的分类器,在目标语言中用一个
未
标
注
\color{blue}{未标注}
未标注 的测试样本文档
x
j
T
x_j^T
xjT 进行测试,得到
q
j
q_j
qj:
- q j = ( q j 1 , q j 2 , ⋯ , q j K ) q_j=(q_j^1,q_j^2,\cdots,q_j^K) qj=(qj1,qj2,⋯,qjK),可以得知这个 未 标 注 \color{blue}{未标注} 未标注 的文档被分类器学习归为哪一类。
- 其中 q j k = exp ( z ^ k ⊤ h j T ) ∑ k ′ exp ( z ^ k ′ ⊤ h j T ) q_{j}^{k}=\frac{\exp \left(\hat{z}_{k}^{\top} h_{j}^{T}\right)}{\sum_{k^{\prime}} \exp \left(\hat{z}_{k^{\prime}}^{\top} h_{j}^{T}\right)} qjk=∑k′exp(z^k′⊤hjT)exp(z^k⊤hjT), h j T ∈ R ∣ V T ∣ h_j^T \in R^{|V_T|} hjT∈R∣VT∣ 是 x j T x_j^T xjT 的 bag-of-words 编码。
- z ^ k \hat{z}_{k} z^k 是 Z ^ \hat{Z} Z^ 的第 k k k 行,是个向量,后面经过了转置,且 Z ^ \hat{Z} Z^ 的每一列 非seed words 值都是 0(这一列为零向量)。
2.3 在目标语言中同时训练 Teacher-Student
-
Q
u
e
s
t
i
o
n
?
\color{red}{Question?}
Question?
- 由于 被转移翻译的 seed words 规模较小,可能存在 未捕获 到在 目标语言 中 较为显著的特征。
- 例如,参考 总过程图,被转移翻译的 seed words(如“parfait”这个词)可能和其他词 共同 出现,这些 共同出现 的词有 较为显著的特征,对任务有帮助,但其在 Z ^ \hat{Z} Z^ 中值为 0。
- 此时我们该如何解决这个问题,如何处理这些词呢?
-
A
n
s
w
e
r
.
\color{blue}{Answer.}
Answer.
- 此时该文拓展了 monolingual weakly-supervised co-training 的方法。
- 用翻译后的 seed words 的 学习器 作为一个 teacher 去训练之后的 student。