(本文阅读时间:15 分钟)
编者按:自然语言处理领域的国际顶级学术会议ACL 2021于8月1日-6日在线举办。本届大会共计接收论文3350篇,其中21.3%的论文录用到了主会中,14.9%的论文录用在了Findings子刊中,其综合录用率达36.2%。在此次会议中,微软亚洲研究院也有多篇论文入选,本文精选了其中的6篇进行介绍,论文主题涵盖:跨语言命名实体识别、代码搜索、音乐生成、Hi-Transformer、预训练模型、语义交互等。欢迎感兴趣的读者阅读论文原文,希望对你的研究痛点有所启发和帮助!
01
AdvPicker:基于对抗判别器高效利用无标注语料的跨语言命名实体识别模型
论文链接:
https://arxiv.org/abs/2106.02300v1
命名实体识别(Named Entity Recognition, NER)是指:对文本中带有特定语义信息的实体进行识别,其广泛应用于知识图谱、推荐系统等领域中。目前,基于深度神经网络的 NER 模型已经在拥有大规模高质量标注语料的前提下取得了不错的效果。但是在实际应用中,标注数据尤其是高质量的标注数据,往往因其高代价而仅集中在少数几种语言中。因此,跨语言命名实体识别(Cross-Lingual Named Entity Recognition)就成为了 NER 领域近几年的研究热点。人们希望通过跨语言迁移学习,将知识从具有大量标注语料的源语言,迁移到没有标注语料的目标语言,从而解决目标语言上的 NER 问题。
与现有的 Feature-based 方法和 Pseudo-labeling 方法不同,微软亚洲研究院的研究员提出的 AdvPicker 通过对抗学习构造判别器获取目标语言无标注数据中更具有语言无关性的子集,从而可高效利用目标语言语料进行跨语言命名实体识别。
如图1所示,AdvPicker 主要由三部分构成
(1)Token-level 对抗学习:基于多任务学习(NER & 语种分类)框架实现。首先在 NER 任务中,利用源语言标注语料对编码器和 NER 分类器进行训练。然后,在语种分类任务中,混合有标注的源语言文本和无标注的目标语言文本,编码器不断调整参数,使其能够在正确判断源语言实体任务的同时,产生让判别器无法进行正确语种分类的词向量;判别器则基于编码器的输出,判断当前输入文本的语种类别。
(2)数据选择:将目标语言无标注语料作为输入,利用训练得到的语种判别器对编码器输出的特征向量进行分类,并依据概率排序,从中选出 Language-independent 的文本子集(判别器输出概率接近0.5)。
(3)知识蒸馏:利用(2)中选出的目标语言文本子集,基于(1)中所得的源语言 NER 模型,以知识蒸馏的方式训练学生模型(目标语言 NER 模型)。
图1:AdvPicker 流程示意图
如表1所示,本文提出的方法在相同的数据条件下取得了 State-Of-The-Art 的结果。研究员们进一步对模型进行了消融实验(Ablation study),包括去除 Data selection、知识蒸馏、对抗学习机制等,结果如表2所示。
表1:模型性能比较(Zero-shot Cross-lingual NER)
*表示没有利用额外数据的结果
表2:消融实验
02
CoSQA:基于网页查询和代码配对数据的大规模数据集
论文链接:
https://arxiv.org/abs/2105.13239
代码搜索(Code Search)旨在给一个自然语言查询(Query)找到一段合适的代码,并且通过使用这种技术,能够有效地提高程序员们的生产力。但是训练一个有较好效果的代码-查询的匹配模型,需要大量的监督数据。因此,微软亚洲研究院的研究员们提出了 CoSQA 数据集Code Search and Question Answering),其中含有20,604个真实网页查询和代码的配对数据,每一对都有一个0/1标签来判断代码是否可以回答查询的问题,图2中包含了 CoSQA 的两个例子。
图2:CoSQA 中的两个例子
(一对网页查询和带有注释文档的 Python 函数用“1”或“0”标注,表示代码是否回答查询)
CoSQA 中的自然语言查询来源于必应(Bing)搜索引擎的查询日志,代码选用了 CodeSearchNet 中的 Python 函数(如表3所示),并且研究员对函数中自带的自然语言注释也进行了保留,以促进查询和代码间更好的匹配。
表3:现有的代码搜索和代码问答数据集概述,一些包含未标记数据和标记数据的数据集在单独的行中列出
事实上,标注这种需要专业知识的数据集比较困难,为了提高标注质量,研究员们制定了标注流程并让每条数据至少经三人进行标注。表4展示了 CoSQA 数据集的一些统计信息。
表4:CoSQA 数据集统计数据
除数据外,本文还提出了基于对比学习的查询-代码匹配模型(CoCLR,Code Contrastive LeaRning),如图3所示。通过对查询进行重写和使用同批数据的不同代码,来获得更多的训练数据,以增强模型的匹配能力。
图3:CoCLR 方法的孪生网络框架
(蓝线表示原始训练示例,红线和虚线分别表示具有同批负例增强和查询重写增强的训练示例)
同时,研究员们在 CoSQA 数据集上还测试了两个任务的结果:代码问答和代码搜索,结果如表5所示。可以看出,在使用了 CoSQA 数据训练后,两个任务的效果均有了显著的提升;在使用了 CoCLR 方法后,效果得到了更显著的增强。表4中 CSN 表示 CodeSearchNet Python 语料库;通过结合 CoCLR 方法,带有 CodeBERT 的孪生网络优于现有的基线方法。
表5:代码问答和代码搜索的实验结果
03
DeepRapper:用神经网络生成有韵律和节奏的Rap
论文链接:
https://arxiv.org/abs/2107.01875
Rap 是一种带有押韵和节奏的特殊音乐形式。Rap 的自动生成面临着许多挑战:一方面,由于没有现存的含有节奏信息的数据集,之前的 Rap 生成系统只能生成纯歌词;另一方面,之前的 Rap 生成系统对于押韵的建模也有所欠缺,很难自动生成多押、连押和连环押等高质量 Rap 的必要成分。因此,微软亚洲研究院的研究员们提出了 DeepRapper,利用一个基于 Transformer 的 Rap 生成模型,来生成押韵且有节奏信息的 Rap 歌词。
针对数据缺乏的问题,研究员们首先设计了一个收集数据的 Pipeline(如图4),收集了大量歌曲数据,并且对歌曲进行了一系列处理。
图4:数据收集 Pipeline
经过处理后,研究员们建立了三个大规模的数据集,详情见下表6。其中,D-RAP 是具有对齐节拍的 Rap 歌曲数据集;D-SONG 是具有对齐节拍的非 Rap 歌曲数据集;D-LYRIC 是没有对齐节拍的纯歌词数据集。
表6:用于 Rap 生成的数据集详情
DeepRapper 采用了基于 Transformer 的自回归语言生成模型。为了更好地对“押韵“建模,该模型首先采用了反向生成的方式,从右到左生成一句话里的歌词。因为押韵词语通常位于句子末尾,这样的反向处理有利于生成多押(N-gram rhyme)的 Rap。然后,研究员们又引入了韵母 Embedding 和相对位置 Embedding,以更好捕捉押韵词语与句子中位置的关系,这同样利于生成多押的 Rap。最后在生成时引入韵脚约束,以灵活调整下一个词的概率,在不影响自动生成 Rap 的同时,给押韵的词语分配更多的概率,这不仅有利于生成多押,还有利于连押。而且对于可以获得的极少的连环押数据,DeepRapper 也在连环押句子中的每个韵脚后嵌入了一个特殊Token,从而赋予了 DeepRapper 生成连环押 Rap 句子的能力(后文有少量连环押的示例)。
对于节奏的建模,DeepRapper 在歌词中插入了一个特殊的 [BEAT] Token,显式地将节奏信息和歌词信息融合,将节奏预测简化成语言模型里特殊 Token 的预测。图5是 DeepRapper 模型的输入输出示意图。
图5:DeepRapper 模型的输入输出示意图
表7展示了 DeepRapper 客观和主观的评估结果,并与两个基线模型进行了比较。Baseline 与 DeepRapper 结构相同,但是没有韵律模型;Baseline+PT 则是采用了预训练的 Baseline。结果显示,DeepRapper 在客观指标 Perplexity (PPL)、Rhyme Accuracy (RA)、 Rhyme Density (RD),和主观指标 Theme (主题是否鲜明)、Fluency (语言是否流畅)、Quality (韵脚质量)、 Diversity (韵脚多样化)上都远远超出了各个 Baseline。
表7:DeepRapper 模型的客观与主观评估
此外,研究员们还对 DeepRapper 中的每一个设计做了对照试验,详细结果见表8。通过分析可以得出以下结论:没有韵律建模,DeepRapper 在押韵相关的指标上下降比较明显;去除任何一个韵律建模中的小模块,都会影响 DeepRapper 的押韵能力;没有节奏建模,不会生成有节奏信息的 Rap;没有预训练也会影响 DeepRapper 的表现。
表8:DeepRapper 对照试验
(-Rhyme: 没有韵律建模的DeepRapper;-RO: 正序生成的DeepRapper; -VE: 没有韵母Embedding的DeepRapper; -IPE: 没有相对位置Embedding的DeepRapper; -SE: 没有句子Embedding的DeepRapper; -Rhythm: 没有节奏建模的DeepRapper; -PT: 没有预训练的DeepRapper.)
同时,研究员们对 DeepRapper 的连环押生成能力也进行了评估,结果如表9所示。
表9:DeepRapper 的连环押生成质量评估
最后,研究员们对节奏的生成质量进行了评估。分别使用 DeepRapper 和具有节拍频率控制的 DeepRapper 随机生成了大约 5000 个样本,利用一阶分布(First Order Distribution, FOD)和二阶分布(Second Order Distribution, SOD)来度量生成样本与 DRAP 数据集之间分布的距离。FOD 和 SOD 的定义如下:首先定义当前 [BEAT] 的间隔为当前 [BEAT] 与下个 [BEAT] 之间的歌词数量,然后定义FOD为当前 [BEAT] 间隔的分布,SOD 为当前 [BEAT] 与下个 [BEAT] 的间隔之差的分布。具体结果如表10所示:
表10:DeepRapper 的节奏评估
下图是 DeepRapper 生成的一段中文 Rap 歌词,可以看出生成的效果还不错。更多的生成 Rap 样例可点击查看:https://deeprapper.github.io
图6:DeepRapper 生成的中文歌词示例
04
Hi-Transformer:一种具有层次化和交互式特点的长文档建模结构
论文链接:
https://arxiv.org/abs/2106.01040
Transformer 是 NLP 领域非常重要的基础模型。由于其内部的自注意力机制,Transformer 的计算复杂度和输入序列长度的平方成正比,如图7所示。
图7:Transformer 的计算时间和输入文本长度的关系示例
文档则是 NLP 领域常见的文本类型,其长度通常较长,如果用 Transformer 去建模长文档,计算开销会很大。所以,通常的做法是对长文档进行截断,但是这样会造成文档输入信息不全,影响最终的文档建模效果。
对此,微软亚洲研究院的研究员们注意到,长文档通常由多个句子组成,不同句子的语义既相对完整自洽。基于这两点,研究员们提出了一种层次化 (Hierarchical) 和交互式 (Interactive) 的Transformer 结构:Hi-Transformer,来实现高效和准确的长文档建模,如图8所示。
图8:Hi-Transformer 的模型图
Hi-Transformer 的结构非常简单。首先使用 Sentence Transformer 来学习每个句子的语义表示。然后使用 Document Transformer,从文档内部所有句子的语义表示中建模整个文档的 Global context,并得到 Document context-aware 的句子语义表示,进而将其输入到另一个 Sentence Transformer 中,以实现利用 Global document context 来增强每个句子语义学习的目标。最后,使用层次池化方法获得文档的表示。
Hi-Transformer 通过层次化的方式对长文档进行了建模,能够减小输入序列的长度,有效降低计算复杂度。同时,Hi-Transformer 在每个句子的建模中充分考虑了文档的全局上下文信息,从而保证了长文档语义建模的准确性。
研究员们在 Amazon、IMDB 和 MIND 等三个长文档数据集上开展了实验。表11的结果显示 Hi-Transformer 在长文档建模上的性能要优于 Transformer(由于需要进行文档截断)及其多个加速变体。表12的分析则显示 Hi-Transformer 的计算复杂度显著小于 Transformer,并与已有的一些加速变体相当。
表11:不同 Transformer 在长文档建模上的性能比较
表12:不同 Transformer 方法的计算复杂度对比
图9进一步比较了 Transformer 和 Hi-Transformer 在不同文档长度下的性能和速度。可以看到,当输入同样长度文档时,二者的性能非常接近。当文档长度较长时,Hi-Transformer 的速度显著优于 Transformer。因此,Hi-Transformer 能够处理  Transformer 由于速度和显存限制而无法处理的较长文档,并且能够取得和 Transformer 接近的效果。
图9:Transformer 和 Hi-Transformer 在不同的文档输入长度下的性能和速度的对比
除了长文档建模,Hi-Transformer 也可以应用于基于行为的用户建模任务。我们可以将用户看做文档,其行为看做是文档中的句子。最近的一些实验表明,基于 Hi-Transformer 的用户建模方法在广告 CTR 和 CVR 预测中也取得了不错的效果。
05
利用自标注的词对齐提升预训练跨语言语言模型
论文链接:
https://arxiv.org/pdf/2106.06381.pdf
预训练跨语言语言模型(Pretrained Cross-Lingual Language Model)在自然语言推断、问答、序列标注等诸多任务上展现了强大的跨语言迁移能力。例如,仅用英语的问答训练数据来微调预训练跨语言语言模型,得到的模型就可以直接在多个语言上实现问答任务。以往的跨语言预训练任务更关注句子级别的对齐,隐式地鼓励跨语言对齐,而忽略了显示的词级别的细粒度的对齐。
在本文中,微软亚洲研究院的研究员们将词级别的跨语言对齐引入预训练,并提出了一个新的跨语言预训练任务:去噪声词对齐(Denoising word alignment),来训练 XLM-Align 模型,模型示意如图10所示。
图10:本文提出的 XLM-Align 模型的预训练
在训练过程中,对翻译句对交替进行词对齐自标注和去噪声词对齐。词对齐自标注(Word alignment self-labeling)是指将输入的翻译句对的词对齐问题转化为最优传输问题,并在训练过程中在线得到输入句对的词对齐标注;去噪声词对齐则是指随机地将输入句对中的词进行掩盖,然后使用指针网络预测翻译句对原始的词对齐关系。
研究员们在 XTREME 多语言理解评价基准上进行了验证,包括序列标注、问答、句子分类等。实验使用“跨语言迁移”(Cross-lingual transfer)的实验设置——模型用英文的训练数据微调,但在多种语言的测试集上进行测试。如表13所示,XLM-Align 在7项任务上都超越了 XLM-R_base,且取得了最好的平均分数。
表13:在 XTREME 多语言理解评价基准上的实验结果
如表14所示,研究员们在词对齐任务上进行了实验,可以看出 XLM-Align 相比 XLM-R 有更低的对齐错误率;并且在使用相同预训练模型的情况下,本文提出的基于最优传输的词对齐方法超越了 fast_align 和 SimAlign 方法。
表14:在4个语言对上的词对齐实验结果
06
SemFace:用语义交互界面预训练机器翻译的编码器和解码器
论文链接:
https://aclanthology.org/2021.acl-long.348.pdf
近年来,预训练技术在 NLP 领域取得了巨大成功,如何针对机器翻译任务进行预训练也成为了当前的一个热点问题。为了能够有效地训练编码器和解码器之间的交叉注意力(Cross-attention)模块,并显示引入目标语言和源语言的跨语言映射信息,微软亚洲研究院的研究员们提出了基于语义交互界面的机器翻译编码器和解码器预训练方法。
该方法通过一个与语言无关的语义交互界面 SemFace,将编码器和解码器的预训练过程进行交互。在预训练过程中,编码器的目标是将源语言的输入通过特征提取映射到 SemFace 定义的语义空间中;解码器的目标则是利用该语义空间的信息生成目标语言的句子。通过定义 SemFace,编码器和解码器的预训练过程可以分别完成,源语言和目标语言的跨语言信息可以在 SemFace 定义的与语言无关的空间中进行表示。同时在解码器的预训练过程中,交叉注意力模块的参数也可以得到训练。预训练完成后,编码器和解码器可以进行自然地拼接,直接进行后续机器翻译的微调。
如图11所示,本文提出的方法可分为两步。第一步如图中的上半部分所示,利用单语数据,通过预定义的语义交互界面,分别预训练编码器和解码器。在预训练的过程中,编码器的目标是将输入映射到该交互界面定义的空间中,解码器的目标是通过交叉注意力模块利用该空间中的信息完成解码。
图11:本文提出方法的结构示意
第二步如图的下半部分所示,在预训练完成后,移除语义交互界面,并将预训练好的编码器和解码器通过交叉注意力模块进行拼接,之后进行机器翻译任务的微调。基于这样的设计,研究员们定义了两种语义交互界面,基于跨语言词向量的交互界面 CL-SemFace 和基于离散向量的交互界面(VQ-SemFace)。
在6组低资源机器翻译任务和3组无监督机器翻译任务上的实验表明,SemFace 方法可以显著提高翻译质量,并分别提高了3.76和1.50的平均 BLEU 值。
以上,是为大家精选的6篇微软亚洲研究院的研究员们在 2021 ACL 会议上发表的论文,研究员们的成果对于 NLP 研究的发展有着十分重要的作用和影响!为了更好的向大家展示微软亚洲研究院的 “黑科技” ,我们邀请您参与下方的投票:请选出你更感兴趣的话题或文章,如有你还有想了解的其他黑科技话题,欢迎给我们留言!(以下按照论文首字母排序)
论文1:AdvPicker:基于对抗判别器高效利用无标注语料的跨语言命名实体识别模型
论文2:CoSQA:基于网页查询和代码配对数据的大规模数据集
论文3:DeepRapper:用神经网络生成有韵律和节奏的Rap
论文4:Hi-Transformer:一种具有层次化和交互式特点的长文档建模结构
论文5:利用自标注的词对齐提升预训练跨语言语言模型
论文6:SemFace:用语义交互界面预训练机器翻译的编码器和解码器
你也许还想看
继续阅读
阅读原文