基于机器翻译的跨语言NER实体投影
Abstract
尽管强大的现成机器翻译系统支持100多种语言,但其中只有一个子集拥有用于命名实体识别的大型注释语料库。基于这一事实,我们利用机器翻译来改进实体投影方法,以实现跨语言命名实体识别。我们提出了一个系统,改进了先前的实体投影方法:
- 利用机器翻译系统两次:第一次翻译句子,然后翻译实体;
- 基于正字法和语音相似性的匹配实体;
- 基于数据集的分布统计信息识别匹配。
我们的方法改进了目前最先进的跨语言命名实体识别方法,在5种不同语言上的平均4.1分。此外,我们的方法为亚美尼亚语获得了最高的F1分数,甚至超过了在亚美尼亚源数据上训练的单语模型。
1 Introduction
尽管用于各种自然语言处理(NLP)任务的机器学习方法取得了迅速发展,但在拥有大量注释语料库的语言中,这种好处不成比例。由于目前最先进的深度学习方法对大量数据的依赖,创建合适的数据集可能会非常昂贵。资源丰富的语言和资源相对不足的语言之间的这种不对称性激发了跨语言方法的研究,这些方法利用前者的注释数据集来为后者构建强大的模型。
基于实体识别(NER)作为信息检索和问答系统的核心部件的重要性,本文着重研究了跨语言的实体识别方法。具体来说,我们专注于中等资源语言。我们将这些语言定义为虽然没有注释的NER语料库,但现有的机器翻译(MT)系统(如谷歌Translate)可以实现的语言。我们的动机是,现阶段,尽管只有不到50种语言可以公开使用带有黄金注释的大型NER数据集(大于20万的token),但更多语言都得到了高质量机器翻译的支持。谷歌翻译单独支持103种语言,其中许多语言没有或只有很小的NER数据集。
我们解决了源语言(资源丰富)(在我们的实验中是英语)中存在注释语料库,但对于目标语言(中等资源),我们只能标记一小部分验证集的情况。我们首先通过将源数据集中的每个句子翻译成目标语言,在目标语言中创建一个未标记的数据集来解决这个问题。对于MT,我们使用谷歌翻译,这是由于它的覆盖面很大。接下来,我们通过实体投影来注释这个数据集——首先将源句子中的每个实体与对应的目标句子中的对应实体对齐(实体对齐),然后将标签从源投影到目标,并将标签投影到对齐的实体对中(标签投影)。与逐字或逐句翻译相比,依赖MT的一个后果是,实体投影步骤可能很困难,因为原句和对应的译文往往不是逐字对齐的。
我们提出的解决方案包括:
- 再次利用MT来翻译实体;
- 基于正字法和语音相似性的匹配实体;
- 基于数据集的分布统计信息识别匹配。
重要的是,虽然我们的方法依赖于几个匹配启发式,但这些技术在目标语言之间具有显著的可移植性,只需要调优两个超参数。我们的方法实现了西班牙语(+1.1分)、德语(+1.4分)和汉语(+5分)的跨语言NER的最先进的f1scores,击败了印地语(+2.1分)和泰米尔语(+5分)的最先进的基线。此外,它为亚美尼亚语(一种中等资源语言)获得了最高的F1分数,比基于亚美尼亚源数据训练的单语模型高出0.4分。
2 相关工作
跨语言方法已被应用到许多自然语言处理任务中,包括词性标注、句法分析、语义角色标注。之前的跨语言NLP论文大致分为两种不同的方法:直接模型转移和标签投影。
2.1 直接模型转移
这些方法通过利用两种语言的共享表示,将在源语言上训练的模型(对模型)应用到目标语言的数据。然而,直接模型转移技术在应用于明显不同的语言时面临一个问题:它们缺乏词汇化(尤其是基于字符的)特征,而众所周知,这些特征对NER等任务具有预测能力。Xie等人在跨语言环境中为这一观点提供了证据,他们比较了其他类似,但在使用词汇化特征方面存在差异的标签投影方法。
2.2 标签投影
这些方法为跨语言自然语言处理培养了一个目标语言模型。这需要首先将标签从源数据投射到(未标记的)目标数据。这方面的许多方法依赖于平行语料库,首先使用训练好的模型对源数据进行标注,然后投影标注。只有少数研究使用机器翻译首先翻译黄金注释语料库,以获得合成并行语料库,然后投影注释。Shah等人则相反,使用谷歌Translate将目的语翻译为源语,使用训练有素的NER系统对翻译后的源句进行注释,然后将注释投影回来。
在投射标签时,会遇到字对齐的问题。现有的大多数研究依赖于统计MT文献中的无监督对齐模型,如IBM模型1-6。其他的作品侧重于低资源设置逐字逐句翻译,因此不需要进行词对齐。有几篇论文探讨了启发式,如使用跨语言维基百科链接对齐实体,以无监督方式或在种子数据集上训练的监督模型中基于符号的表面形式和音译来匹配符号。许多这类论文往往依赖于特定语言的特性,并仅对少数语言评估它们的对齐方法。
据我们所知,很少有研究能够有效地利用翻译来实现NER的注释投影,特别是对于具有强大MT系统的中等资源语言。由于这一研究差距,我们探索了使用机器翻译系统翻译数据集和注释投影,从而不依赖平行语料库。然而,我们在以下三种情况下证明了投影方法的有效性:
- 源到目标的翻译
- 使用平行语料库
- 目标到源的翻译
3 翻译-匹配-工程方法
在我们的公式中,我们在源语言中给出了一个带注释的NER语料:
D
A
S
=
{
(
x
S
i
,
y
S
i
)
:
i
=
1
,
2
,
⋯
,
N
}
\mathcal D^S_A=\{(x^{S_i}, y^{S_i}): i= 1,2,\cdots, N\}
DAS={(xSi,ySi):i=1,2,⋯,N},其中
x
S
i
=
(
x
1
S
i
,
⋯
,
x
L
S
i
S
i
)
x^{S_i}= (x^{S_i}_1,\cdots,x^{S_i}_{L^{S_i}})
xSi=(x1Si,⋯,xLSiSi) 是包含
L
S
i
L^{S_i}
LSi 令牌的第一个源句,而
y
S
i
=
(
y
1
S
i
,
⋯
,
y
L
S
i
S
i
)
y^{S_i}= (y^{S_i}_1,\cdots,y^{S_i}_{L^{S_i}})
ySi=(y1Si,⋯,yLSiSi) 是来自固定标签集的NER标签。我们使用四个标签:PER(人)、ORG(组织)、LOC(位置)和MISC(杂项)。我们遵循常用的IOB (Inside Outside Beginning)标签格式。在我们的实验中,我们使用英语作为源语言,因为可以获得高质量的注释语料库,例如CoNLL 2002 和OntoNotes 4.0。然而,我们的方法也可以很容易地应用于任何其他资源丰富的源语言。请参见图2,以获得注释源句(蓝色)(
x
S
i
,
y
S
i
x^{S_i},y^{S_i}
xSi,ySi)的示例。
我们在目标语言 T T T 中得到一个小的标记验证集数据(但没有训练数据),用于调优超参数。
- 首先,我们使用现成的MT系统(谷歌translate)将 S S S 中的注释语料库翻译为 T T T。这将在目标语言中得到一个未标记的数据集, D T = { x T i : i = 1 , 2 , ⋯ , N } \mathcal D^T=\{x^{T_i}:i=1,2,\cdots,N\} DT={xTi:i=1,2,⋯,N}(Figure 2);
- 其次,通过实体投影对翻译目标句中的所有命名实体进行识别和标记,包括实体对齐和标签投影。我们首先在目标句中为源句中的每个实体构建一组潜在匹配(候选匹配生成,章节3.1),然后选择源和目标实体的最佳匹配对(最佳匹配选择,章节3.2);
- 第三,对齐后,我们将标签类型(PER, LOC等)从源映射到每一对对齐实体中的目标实体,方法是遵循目标中的IOB标记方案。在图1中,我们描述了完整的流程。
3.1候选匹配生成
为了在源句中生成一个实体的候选匹配,我们构建一个实体的潜在翻译集合,然后在相应的目标句中寻找每个实体的匹配。我们通过token级别匹配找到这些匹配,然后将匹配的token连接起来,以获得多token匹配。为了便于记法,我们去掉下面的下标 i i i。
token级匹配
考虑一个源实体 e S = ( x j S , ⋯ , x k S ) e^S= (x^S_j,\cdots,x^S_k) eS=(xjS,⋯,xkS)。对于每一个 e S ∈ E S e^S∈\mathcal E^S eS∈ES,其中 E S \mathcal E^S ES 是源句中所有实体的集合,我们通过MT得到目标语言中一组潜在的译文 T ( E S ) \mathcal T(\mathcal E^S) T(ES)。但是,在某些情况下,翻译一个独立的实体产生的翻译与翻译完整的句子产生的翻译是不同的。例如,谷歌Translate在大多数句子中将源实体“UAE”映射为“Emiratos´Arabes Unidos”,但逐字翻译为“EAU”。同样,姓“唐”的人(如“唐先生”)。在翻译的句子中仍然是“Tang”,但被翻译为“Espiga”(西班牙语为“spike”,与英语单词“Tang”同义)。我们通过从公开可用的双语词汇的翻译来增强 T ( ⋅ ) \mathcal T(\cdot) T(⋅) 来解决这些问题(“UAE”在我们使用的词汇之一中翻译为“Emiratos´Arabes Unidos”),并保留源实体的副本(“Tang”现在将在目标句子中找到匹配)。最后, T \mathcal T T(“UAE”)大致为:{" EAU “[谷歌翻译],” UAE “[副本],” Emiratos´Arabes Unidos "[词汇]}。我们注意到,现在很多语言都有词汇。然而,在我们对亚美尼亚语的案例研究(第4.3节)中,我们的方法在缺乏此类词汇的情况下也有效。
接下来,我们对 T ( e S ) \mathcal T(e^S) T(eS) 中的每个候选翻译进行标记,以获得一组 e S e^S eS 的翻译标记, T w ( e S ) \mathcal T^w(e^S) Tw(eS)。例如, T w \mathcal T^w Tw(“UAE”)= {“EAU”,“UAE”,“Emiratos”,“´Arabes”,“Unidos”}。我们这样做是为了允许token级别软标签的匹配,因为我们根据经验观察,匹配精确的实体短语可能导致很少的匹配。
接下来,我们获得每个假设标记的匹配 h ∈ T w ( e S ) h∈ \mathcal T^w(e^S) h∈Tw(eS) ,通过将其与每个参考标记匹配 x l S ∀ l ∈ { 1 , ⋯ , L T } x^S_l\ ∀\ l∈ \{1,\cdots, L^T\} xlS ∀ l∈{1,⋯,LT} 在目标句 x T = ( x 1 T , ⋯ , x L T T ) x^T=(x^T_1,\cdots,x^T_{L^T}) xT=(x1T,⋯,xLTT) 中的长度 L T L^T LT。该匹配在
- 正交(表面形式)层面上进行;
- 通过匹配两个标记的国际音标(IPA)中的音译,确定语音水平。
在任何一种情况下,我们都要寻找
h
h
h 中作为
x
l
T
x^T_l
xlT 词缀(前缀或后缀)的最长字符序列。这种软词缀匹配启发式算法允许在形态丰富的目标语言中进行屈折变化。token级别匹配分数如下所示:
这里,
L
h
L_h
Lh 和
L
x
l
T
L_{x^T_l}
LxlT 分别是假设和参考标记的长度(以字符为单位),
n
l
n_l
nl 是匹配字符的数量。我们采用最小值是为了实施更严格的分数(软)匹配概念。例如,短语“德国首次注册…”[英语]被翻译成“Los registros Alemanes por primera…”[西班牙语]。使用我们的匹配启发式 “Alem’an”∈
T
w
\mathcal T^w
Tw(“German”)与参考标记“Alemanes”匹配,分数为0.5,因为
n
l
=
4
n_l=4
nl=4(“Alem”)和
L
x
l
T
=
8
>
L
h
=
6
L_{x^T_l}=8>L_h=6
LxlT=8>Lh=6。接下来,我们定义源实体和任何目标标记
x
l
T
x^T_l
xlT 之间的匹配(实体级)分数,如下所示:
注意,token级别分数,
s
w
s^w
sw,包括基于正交和语音匹配的分数,因此,实体级别分数
s
e
s^e
se 对应于任何假设标记
h
∈
T
w
(
e
S
)
h∈\mathcal T^w(e^S)
h∈Tw(eS) 和目标token
x
l
T
x^T_l
xlT 之间的最佳 token 级别匹配(正交或语音)。
在图3中,我们描述了 token 级匹配过程。
图3:token 级别匹配:第2行(
T
w
\mathcal T^w
Tw)中的蓝色框显示可能的翻译集合,第3行(
s
e
s^e
se)中的白色框显示每个源实体可以匹配的目标 token(编号),以及它们的分数。
实体“American”和目标“estadounidense”(图中标记为3)之间的分数是{“americano”、“American”、“estadounidense”}中任意 token 和目标 token(“estadounidense”)之间匹配分数的最大值。E1.0(精确匹配),因为 T w ( ⋅ ) \mathcal T^w(\cdot) Tw(⋅) 中前两个标记的分数为0。注意 token 级匹配的一些细节:
- 我们的匹配启发式目前处理前缀或后缀,但可以潜在地扩展字符编辑距离为其他类型的词缀(例如,circumfix)
- 每个目标 token 都可以与多个源实体匹配(例如, "El“与“American”和“US”匹配)
- 某些源实体可能无法找到其真实匹配(“US”与“EE.UU.”不匹配。谷歌翻译(Google Translate)提供的“US”的翻译可能有误。此外,许多匹配的质量非常差(特别是那些带有停止词的匹配,如“El”和“en”)。我们将解决这些问题,并描述如何将这些 token 级别的匹配转换为跨度匹配,以获得多 token 目标实体。
跨度匹配生成
在token级匹配之后,我们通过对token级匹配分数(
e
S
,
⋅
e^S,·
eS,⋅)高于阈值
δ
δ
δ 的相邻目标标记进行分组(以移除虚假匹配),构建目标句子中与给定源实体匹配的潜在实体跨度列表。换句话说,我们构造以下集合:
这里,
s
p
a
n
(
q
,
r
)
=
(
x
q
T
,
x
r
T
)
span(q,r)=(x^T_q,x^T_r)
span(q,r)=(xqT,xrT) 是在目标句中从
q
q
q 到
r
r
r
(
1
≤
q
,
r
≤
L
T
)
(1≤q, r≤L^T)
(1≤q,r≤LT) 短语扩展标记的索引。此外,我们要求跨度
(
q
,
r
)
(q,r)
(q,r) 在以下意义上是最大的:
∀
q
′
<
q
,
∀
r
′
<
r
,
s
p
a
n
(
q
,
r
)
∉
M
(
⋅
)
∀q' <q,∀r' <r,span(q,r) \notin \mathcal M(\cdot)
∀q′<q,∀r′<r,span(q,r)∈/M(⋅),span之前或之后的任何目标token最多只能与
e
S
e^S
eS 进行弱匹配(
s
e
(
e
S
,
⋅
)
<
δ
s^e(e^S,·)<δ
se(eS,⋅)<δ)。
在我们的运行示例中,选择 δ = 0.25 δ=0.25 δ=0.25 将得到图4所示的跨度,消除虚假匹配(“El”和“en”)并在目标句子中连接“Barack”和“Obama”。但是,词 “estadounidense”仍然与两个不同的源实体匹配。我们将在下一步解决这个问题。
3.2 最佳匹配选择
为了选择最佳匹配的实体对,我们首先扩展潜在翻译集
T
(
⋅
)
\mathcal T(·)
T(⋅),以包括翻译的所有可能的 token 级排列。我们称之为
T
p
(
⋅
)
\mathcal T^p(·)
Tp(⋅)。例如,
T
p
\mathcal T^p
Tp(“UAE”)={“EAU”,“UAE”,“Emiratos´Arabes Unidos”,“Emiratos Unidos ´Arabes ”,“´Arabes Emiratos Unidos”…}。然后,我们贪婪地将
e
S
e^S
eS 与集合
M
(
e
S
)
\mathcal M(e^S)
M(eS) 中的目标实体跨度对齐,与
T
p
(
e
S
)
\mathcal T^p(e^S)
Tp(eS) 中任何翻译的字符编辑距离最小
d
E
(
⋅
,
⋅
)
d_E(·,·)
dE(⋅,⋅),即:
通过这种方式,我们形成对齐的实体对
(
e
S
,
e
T
)
(e^S,e^T)
(eS,eT),然后可以沿着这些实体对投影标记。在我们的运行示例中,由于“estadounidense”(在
T
p
(
⋅
)
\mathcal T^p(·)
Tp(⋅))和目标单词 span “estadounidense”之间的编辑距离为0,并且低于使用“estado”的编辑距离,因此我们将“estadounidense”与“American”匹配,并将其标记为B-MISC。
3.3 基于分布的匹配
在选择了最佳匹配对之后,仍然有一些源实体没有找到任何匹配的目标实体(在我们的示例中是“US”)。出现这些问题,要么是由于逐字翻译和上下文句子级别翻译之间的显著差异,要么是由于字面意义(例如,“West Bank”在句子中被翻译为“Cisjordania”,其他被翻译为“Banco Oeste”),或者可能是错误的翻译(例如,“U.S"在句子中翻译成“EE.UU.”,而其他翻译成“NOSOTRAS”)。
我们通过利用这些差异中的语料库级别的一致性来弥补这一点。对于每个不匹配的源实体,我们构造一组按其TF-IDF(术语频率-逆文档频率)分数排序的前
k
k
k 个潜在匹配,其中TF在包含至少一个不匹配实体的所有句子上计算,IDF分数在整个数据集上计算,以严重惩罚常见的标记。最后,我们将每个不匹配的源实体与它的 top-k 列表中具有最高TF-IDF分数的不匹配span进行匹配。图5显示了最终的匹配和标记。