崔东虎, 崔荣一, 赵亚慧
(延边大学 智能信息处理研究室,吉林 延吉 133002)
文本分类是处理文本信息的重要方法之一。在跨语言文本分类研究中,针对不同的语言对其进行文本分类需要使用不同的文本分类模型,但如果对每一种语言都分别构建一个文本分类模型,则会消耗大量的资源,并且有些低资源语言缺少带标注的数据集,导致进行文本分类时效果不理想。为了解决上述问题,需要构建一个不依赖于低资源语言标注数据而且能完成跨语言分类的模型。因此,如何有效利用高资源语言的资源提高低资源语言的文本分类性能是当前的一个研究热点[1]。
跨语言文本分类(Cross-language Text Classification, CLTC)的核心工作是依靠源语言的训练数据训练出可以应用于目标语言的模型,缓解低资源语言训练数据不足的问题[2]。传统的跨语言文本分类方法通常依赖于翻译词典或平行语料库来寻找不同语言中单词和短语之间的联系。Bel等人[3]最早提出了跨语言文本分类方法,先通过特征词和双语词典进行翻译,然后采用相似度比较的方法进行文本分类。另外,还有基于机器翻译的方法,需要将目标语言翻译成源语言后进行文本分类。Rigutini等人[4]利用EM算法和机器翻译模型对不同语言的文本成功分类;Wei等人[5]将特征词翻译后对文本进行分类。
最近,基于深度学习方法的多语言BERT模型在联合多语言表示方面取得了重要进展[6-8]。该模型通过将不同语言的文本输入映射到一个共同的向量表示空间,能够很好地完成跨语言任务,这些研究已经为跨语言训练带来了实质性的进展[9]。尽管如此,在最近的对跨语言BERT的研究表明[10-12],这些跨语言表征并不能弥合不同语言之间存在的所有差异。在汉-朝跨语言文本分类中,虽然可以调用多语言编码器在汉语训练数据上训练模型,然后将其应用于朝鲜语文本,但是当对朝鲜语文本进行表示时,由于汉语与朝鲜语的表示分布存在差异,该模型取得的效果不尽如人意。在上述跨语言文本分类的研究中,大多需要大规模的平行语料来训练高质量的跨语言表示或机器翻译模型,最后才可以得到较好的文本分类效果。但是朝鲜语属于低资源语言,缺乏大规模的平行语料,故以上方法并不适用于朝鲜语。
本文采用端到端的模型,不需要经过翻译,也不需要用平行语料训练机器翻译模型。而是通过将不同语言的特征编码映射到同一空间中,在特征空间层面进行对齐。但是映射出的跨语言词向量不能做到完全的对齐,导致训练数据与测试数据在词向量特征上存在差异,不可避免地在测试时引入各种干扰和错误;输入到神经网络时无法有效处理特征上的差异,严重影响跨语言文本分类的结果。目前有研究表明,神经网络的输出会因输入数据的微小扰动而出现较大的波动[13-15]。因此,构建一个可以降低跨语言词嵌入差异的特征提取方法对于提高跨语言文本分类效果有至关重要的作用。
针对上述问题,本文结合无监督跨语言词嵌入映射和对抗训练的方法,构建无监督的汉-朝跨语言文本分类模型。实验结果表明,对抗训练可有效降低不同语言的特征差异,在完全不依赖平行语料的情况下,显著提升汉-朝跨语言文本分类的效果。
在传统的文本分类方法中,主要关注的研究内容是如何提取有效的分类特征以及选择合适的分类算法。效果比较好的特征提取方法通常采用的是基于词袋模型和词频逆文档频率(TF-IDF)的朴素贝叶斯分类算法[16]。但这类方法会出现数据稀疏的问题,仅依靠训练数据提供的信息,无法获得理想的效果。
深度学习方法通常先将文本转化为低维的词向量表示,再通过神经网络提取文本的分类特征,最终利用提取出的特征进行分类。刘等人提出的Text-RNN[17]模型可以关注词与词之间的序列关系,但是会出现因为序列太长而遗忘语义信息的问题。Kim等人提出的 Text-CNN[18]模型基于卷积神经网络通过卷积核获取文本特征和位置信息。但是卷积神经网络关注的是局部信息,无法获得全局依赖关系。目前,Transformer[19]通过Self-Attention在文本的长距离依赖特征的提取方面具有很强的能力。因此,在本文研究中采用Transformer模型提取文本特征。
目前大多数训练跨语言词嵌入的方法都使用对齐语料实现双语关联。按照在训练中的不同思路,大致分为联合学习和单语映射两种方法。
(1)跨语言联合学习(Cross-language Joint Learning)在联合学习方法中,Multilingual BERT (M-Bert)是一个成功的方法,其与单语BERT不同之处是使用了104种语言进行训练,且在训练时没有要求语料对齐。利用M-BERT的表征能力可以在Zero-Shot场景中很好地完成跨语言文本信息处理任务,而且语言越相似,效果越好。
(2)单语映射(Monolingual Mapping)Mikolov等[20]和Artetxe等[21]根据观察发现不同语言的词向量在向量空间中有相似的几何排列,图1是两种语言单语词向量降维后的可视化结果。基于这一发现,提出了利用线性变换的方法将单语词向量映射到同一向量空间中的技术。该方法可以使不同语言中语义相近词的词向量更相近,具体采用的方法是以双语词典作为监督信息,使词向量间欧氏距离的平方和最小,如式(1)所示。
图1 英语词向量(左)和西班牙语词向量(右)的空间表示
(1)
其中,xi∈Rd是源语言词向量,yi∈Rk是目标语言词向量,W∈Rk×d为映射矩阵。训练目标是调整W矩阵使Wxi接近yi。
单语映射分为有监督方法和无监督方法。在有监督方法中,虽然映射后的效果较好,但是需要利用高质量的双语词典,这一条件限制了资源匮乏的语言在该领域中的应用。
近来,无监督的映射方法较为流行,Conneau等人[22]通过对抗性识别器,不需要平行语料即可训练跨语言词向量。Artetxe等人[23]通过研究发现,不同语言中对应的翻译词对拥有更相似的词向量特征,并依据这一现象构建初始种子词典,利用自学习方法将种子词典输入自学习训练过程,经过迭代优化种子词典,优化目标函数。
通常,使用双语词典以有监督映射方法构建跨语言词向量可保证较高的质量,但是过于依赖双语词典的质量,在低资源语言中不便使用。考虑到朝鲜语没有高质量词典的情况,本文采用无监督自学习的方法训练汉-朝跨语言词向量。实验证明,基于该模型生成的无监督汉-朝跨语言词向量可获得良好的文本分类效果。
对抗训练(Adversarial Training)是增强神经网络鲁棒性的一个重要手段。当样本存在一些扰动时,神经网络很可能会发生误判,这时可经过对抗训练的过程,分辨出扰动样本和正常样本之间的差异,最终使神经网络正确判别扰动样本。最近,在文本分类、机器翻译、对话生成等自然语言处理任务中对抗训练的思想得到广泛应用[24-26]。这些应用通过不同的方法构造出对抗样本,如随机替换、生成式改写、语法错误等,加入扰动。实验表明,利用对抗训练可以使模型适应跨语言特征,使不同语种之间的特征分布尽可能一致,从而提高模型的性能。
本文将对抗训练的思想应用到面向无监督映射后的汉-朝跨语言词向量中,将不同语言词对的词向量间的差异视为扰动,将目标语言信息构建为对抗样本,通过对抗训练的方法使模型能够适应目标语言在词向量特征上的差异,降低对汉-朝跨语言造成的影响,从而提升模型的汉-朝跨语言性能。
跨语言文本分类任务是使用源语言训练的模型对目标语言文本进行分类。为完成这一任务,本文首先构建汉-朝跨语言词向量,并针对朝鲜语缺少双语词典的问题,采用不需要对齐语料的无监督映射方法,再通过对抗训练的方式进一步提取语言无关特征,并应用于分类模型中。模型的目标为: 对汉语文本具有良好的分类能力,同时对朝鲜语文本也具有良好的分类性能。
如图2所示,本文模型分为四个部分: 自学习词嵌入映射框架、联合特征提取器F、语言判别器Q和分类器P。图中朝鲜语文本数据流表示为虚线,汉语文本数据流表示为实线。两种文本进入特征提取器后进入语言判别器,将有标注的汉语文本放入分类器进行训练,以这种方式可以用有标记的汉语文本和无标记的朝鲜语文本训练模型。
图2 对抗训练结构图
模型的训练过程如下:
(1) 首先利用汉语和朝鲜语的预训练单语词向量通过自学习映射框架学习汉-朝跨语言词向量。此过程无需外部双语词典支持。
(2) 通过汉-朝跨语言词向量将汉语和朝鲜语数据输入特征提取器中,提取出的汉语和朝鲜语特征有助于分类器正确分类,同时阻碍语言判别器的判断。
(3) 将汉语和朝鲜语文本经过特征提取器后的输出,输入至语言判别器中,用于判断输入的特征向量是来自源语言(汉语)还是目标语言(朝鲜语)。如果语言判别器的输出可以很好地判断出语言的类别,那么说明特征提取器并来很好地提取出语言无关特征,致使判别器能够判别两种语言的特征差异。
(4) 最后利用特征提取器的汉语输出作为分类器的输入,训练分类器的分类能力。在训练完成后的测试阶段利用特征提取器的朝鲜语输出进行分类。
一个成功的对抗训练模型应该使分类器可以很好地利用特征提取器的输出进行文本分类,而特征提取器不能提供足够的语言特征使语言判别器能够判断出是源语言还是目标语言。
首先构建汉语和朝鲜语的初始种子词典,两种语言的词对作为输入序列:X=(x1,x2,…,xm),Y=(y1,y2,…,ym),其中,xi和yi(i=1,2,…,m)分别表示种子词典中的朝鲜语和汉语单词,m表示词的个数。将汉语和朝鲜语单词通过词向量表示,分别得到汉语和朝鲜语特征向量序列:S=(s1,s2,…,sm),T=(t1,t2,…,tm),其中,si和ti(i=1,2,…,m)是互为翻译词对的词向量。优化线性映射目标如式(2)所示。
(2)
最终目的是将Wssi和Wtti统一到一个语义空间中,并使同一语义的词向量尽可能相近。
将两种变换约束为正交变换后可以利用奇异值分解优化Ws和Wt[27],如式(3)所示。
(3)
其中,S和T是源语言和目标语言词向量矩阵,U∈Rk×k,V∈Rk×k,k为词向量维度。在每次迭代中都使用优化公式去优化映射矩阵Ws和Wt。
自学习映射方法不需要外部字典作为监督信息。首先基于不同语言下的对应单词有相似分布的现象,初始化种子词典。其次的工作分为两步: 第一步使用种子词典计算当前最佳映射矩阵Ws和Wt;第二步是计算映射后词向量之间的最近词对构建出新的种子词典。重复上述两个步骤优化映射目标直至收敛。
在本文的模型中,采用Transformer模型构建特征提取器,通过多头自注意力机制获取远距离信息,丰富不同词之间的关联信息,并通过全连接层进行特征融合后输入至分类器和语言判别器中。分类器和判别器采用前馈神经网络结构,根据输入的特征进行分类。
本文先使用多头注意力机制提取出文本特征,然后使用全连接层对特征进行融合。特征提取器的结构如图3所示。注意力计算如式(4)所示。
(4)
其中,Q为用来查询的Query,K表示被查询的Key,V表示被查询的Value:dk是K向量的维度,用于归一化。多头注意力的目的是在多个不同的投影空间中建立不同的投影信息,通过多头去关注多个不同层次的语义信息,最后将多头的信息融合到一起,构建出拥有更丰富信息的语义特征。多头注意力的计算如式(5)所示、式(6)所示。
Headi表示第i个头计算的Attention结果。其中,WQ,WK,WV分别为每一个Head的Q、K、V对应的变换矩阵,WO是随机初始化的矩阵,目的是对每一个头都做一次线性变换并得到输出结果。
分类器利用特征提取器提供的文本特征,通过前馈神经网络对文本进行分类。
语言判别器是用前馈神经网络实现的一个二分类器,源语言文本对应输出为1,目标语言文本对应输出为0。
在对给定双语文本通过词向量层获取词向量s和t后,对抗训练目的使特征提取器生成相似的文本特征F(s)和F(t),同时使分类器输出正确的文本类别。
具体优化目标如式(7)所示。
L=Lsrc+λ*Ladv
(7)
其中,Lsrc是分类系统的原始训练目标,当输入源语言文本时,该目标使分类器能输出正确类别;Ladv是判断语种的二分类目标函数,它鼓励特征提取器生成相似的隐层向量。
特征提取器F和语言判别器Q使用极小化极大算法优化,损失函数如式(8)所示。
Ladv(s,t)=-[logQ(F(s))]-[log(1-Q(F(t)))]
(8)
其中,F(·)表示特征提取器的特征提取操作,根据输入的词向量输出文本特征,Q(·)表示语言判别器的判别输出,值为0-1之间的实数(0和1分别对应两个语种),根据输入的文本特征输出语种分类结果。训练算法力求将Q(F(s))最大化,将Q(F(t))最小化,最终目的使特征提取器F可以对不同语言输出相似的特征向量,从而使判别器Q无法区分输入的信息语种是源语言还是目标语言。
训练和测试的数据来源于本实验室构建的汉-英-朝科技文献文本分类语料。汉语和朝鲜语各有3万篇科技文献摘要文本,文本的长度均超过200,属于较长文本数据集,共有生物、海洋、航天三个领域。我们对语料进行预处理,包括分词和去除停用词并分为训练集(24 000)、验证集(3 000)和测试集(3 000)。在无监督方法中,朝鲜语语料不需要标签,仅使用汉语标注数据训练。
为进行有监督的词嵌入映射实验,本文还需将汉-朝双语词典用于映射的监督信息。由于目前没有汉-朝双语词典可用,我们使用Facebook的MUSE词典中的英-朝双语词典,并利用目前较为成熟的中英机器翻译技术,将英语翻译为汉语。本文通过百度翻译API将英-朝双语词典中的英语翻译为汉语,构建汉-朝词典,共包含1万个词对。
为了完成汉-朝跨语言文本分类,首先需要构建汉-朝跨语言词向量。本文基于Facebook发布的FastText汉语和朝鲜语预训练单语词向量,训练汉-朝跨语言词向量,并利用有监督和无监督两种方法对汉-朝词向量的结果进行对比,并分析产生质量差异的原因。
本文通过双语字典归纳任务的准确率,并以此评价词嵌入的质量。词典归纳任务为通过两种语言的词向量相似度来判定对应的词对是否为正确的翻译。
表1给出了有监督映射方法和无监督映射方法的词向量在汉-朝跨语言字典归纳任务中前N个相似词中是否含有正确词对的准确率。
表1 对不同N值下词典归纳的准确率 (单位: %)
表2为词典归纳的实例展示,其中第2列是与汉语词向量最相似的朝鲜语词向量,后续还对最相似的朝鲜语进行了翻译,同时展示了汉-朝词典中的正确词对。
表2 词典归纳实例展示
从结果可以看出两种方法都完成了汉-朝跨语言词向量对齐的训练,有良好的词向量对齐能力,但其中无监督方法的准确率比有监督方法低。原因之一是本文所用的自学习方法受到初始随机种子词典质量的影响,导致词向量质量的降低;而在有监督的方法下采用的是外部双语词典,有可靠的双语监督信息,保证了词向量的质量。
另一个原因可从表2分析: 汉语中的“速度”和“狗”通过词向量寻找到的最相似的朝鲜语词语翻译结果正确,但是由于朝鲜语是黏着语,句子里词根后面粘贴具有不同语法意义的词缀来组成一个成分,导致最相似朝鲜语词语与字典中的正确词对不相符,被判断成错误,影响了准确率。
虽然在汉-朝跨语言词向量质量方面,无监督方法稍差于有监督方法,但是依然有不错的汉-朝跨语言对齐能力,并且在语料依赖方面完全优于有监督方法。在后续实际使用中,通过加入对抗训练,可以看出无监督与有监督的汉-朝跨语言词向量的性能相差不多。
本文通过Transformer模型进行文本分类的特征提取,采用不同词向量测试汉-朝跨语言分类效果并与加上对抗训练后的分类效果进行对比,以验证对抗训练的有效性。
汉-朝跨语言训练方式为先使用带标记的汉语文本数据训练分类模型,再利用少量有标记的朝鲜语文本测试模型的汉-朝跨语言分类性能。加入对抗训练后,除了使用带标记的汉语文本外,还需使用无标记的朝鲜语文本数据训练特征提取器,再用朝鲜语文本进行测试。
单语训练方式为用带标记的汉语文本数据训练特征提取器和分类器;加入对抗训练后,使用无标记的朝鲜语文本数据一起训练特征提取器。
通过表3给出了汉-朝跨语言测试和单语测试中各个方法的实验结果,可以得出以下结论。
表3 不同分类方法的对比实验结果 (单位: %)
(1) 三种词向量中有监督汉-朝跨语言词向量的汉-朝跨语言迁移能力最好,M-Bert和随机词向量的汉-朝跨语言迁移能力并不理想。另外,如果直接使用汉-朝跨语言词向量,并不足以达到很好的汉-朝跨语言文本分类效果。
(2) 加入对抗训练后,汉-朝跨语言性能得到了显著提高,达到了84.5%和84.10%,验证了本文方法可以更好地发挥汉-朝跨语言词向量的跨语言能力。
(3) 通过与单语词向量的对比可以看出,本文的方法还能够提高单语分类的性能,说明加入对抗训练后文本的特征提取能力也得到了增强。
(4) 通过对加入对抗训练后的有监督和无监督词向量效果的对比,可以看出无监督词向量效果与有监督情况相差不多,说明本文的无监督框架可以在不用任何平行语料的情况下能够产生良好的汉-朝跨语言能力。
为了确定加入对抗训练后的汉-朝跨语言特征分布比直接使用汉-朝跨语言词向量时更加一致,我们设计了汉-朝跨语言特征相似度对比实验。首先随机从测试集选择5对互为翻译的汉语和朝鲜语文本,并采用无监督词向量的对抗训练、有监督词向量的对抗训练和不使用对抗训练的无监督词向量三种特征提取方法进行比较,分别记作adv、sup_adv和un_adv。经过特征提取器获得文本特征后,计算互为翻译的汉语和朝鲜语文本特征之间的余弦相似度,实验结果如图4所示。
图4 汉-朝跨语言特征相似度对比
实验结果表明,直接使用汉-朝跨语言词向量不足以弥合两个语种之间的特征差异,而加入对抗训练后,汉语和朝鲜语词向量的特征分布差异得到改善;也可以看出对抗训练对于改善特征差异的能力有一个相似的上限,这也是有监督词向量和无监督词向量在引入对抗训练后的分类性能相似的原因。
本文针对朝鲜语的低资源问题,通过结合无监督的汉-朝跨语言词嵌入线性映射以及对抗训练的方法,不依赖大规模对齐语料,成功地使不同语种的词向量在特征空间中得到对齐;并通过实验验证了加入对抗训练对于汉-朝跨语言性能提升的有效性。本文的方法不仅能够提高汉-朝跨语言的文本分类性能,也能提升单语文本分类性能。
未来工作中,我们将探索采用预训练语言模型实现汉-朝跨语言特征对齐的方法,以丰富文本特征,并以本文方法为基础研究其它语种间的跨语言技术。