当前位置: 首页 > article >正文

FlauBERT:面向法语的无监督语言模型预训练

摘要

语言模型已成为在许多不同自然语言处理(NLP)任务中取得最先进成果的关键步骤。利用当今可用的大量未标注文本,它们提供了一种有效的方式来预训练连续词表示,这些表示可以在下游任务中进行微调,并在句子级别上进行语境化。这一点在英语中已通过语境化表示得到广泛证明(Dai和Le,2015;Peters等,2018;Howard和Ruder,2018;Radford等,2018;Devlin等,2019;Yang等,2019b)。在本文中,我们介绍并分享了FlauBERT,这是一个在非常大且异构的法语语料库上学习的模型。不同大小的模型使用法国国家科学研究中心(CNRS)的Jean Zay超级计算机进行训练。我们将我们的法语语言模型应用于各种NLP任务(文本分类、释义、自然语言推理、句法分析、词义消歧),并表明在大多数情况下,它们的表现优于其他预训练方法。FlauBERT的不同版本以及用于下游任务的统一评估协议,称为FLUE(法语语言理解评估),已与研究社区共享,以便在法语NLP中进行进一步的可重复实验。
关键词:FlauBERT,FLUE,BERT,Transformer,法语,语言模型,预训练,NLP基准,文本分类,句法分析,词义消歧,自然语言推理,释义。

1. 引言

自然语言处理(NLP)领域最近的一项颠覆性贡献是引入了仅使用纯文本语料库进行预训练的深度无监督语言表示。之前的词嵌入预训练方法,如word2vec(Mikolov等,2013)或GloVe(Pennington等,2014),为每个词形学习一个单一的向量。相比之下,这些新模型被训练以生成上下文嵌入:输出表示取决于整个输入序列(例如,每个词例的向量表示取决于其左右上下文)。最初基于循环神经网络(Dai和Le,2015;Ramachandran等,2017;Howard和Ruder,2018;Peters等,2018),这些模型迅速转向使用Transformer(Vaswani等,2017),如GPT(Radford等,2018)、BERT(Devlin等,2019)、XLNet(Yang等,2019b)、RoBERTa(Liu等,2019)。以迁移学习的方式使用这些预训练模型已显示出在广泛的NLP任务中产生显著改进。由于公开可用的预训练权重,人们可以轻松构建最先进的NLP系统,节省时间、能源和资源。因此,无监督语言模型预训练已成为NLP中的事实标准。然而,这主要是在英语中得到证明,尽管也有多语言或跨语言变体可用,单个模型中考虑了超过一百种语言:mBERT(Devlin等,2019)、XLM(Lample和Conneau,2019)、XLM-R(Conneau等,2019)。
在本文中,我们描述了构建FlauBERT的方法——通过来自Transformer的双向编码器表示进行法语语言理解,这是一个在类似配置下在多个下游NLP任务中优于多语言/跨语言模型的法语BERT1模型。FlauBERT依赖于自由可用的数据集,并以不同版本公开提供。2为了进一步的可重复实验,我们还提供了完整的处理和训练管道以及用于评估法语NLP系统的通用基准。此评估设置类似于流行的GLUE基准(Wang等,2018),并命名为FLUE(法语语言理解评估)。

2. 相关工作

2.1 预训练语言模型

在未标注文本数据上进行自监督预训练最初是在神经语言建模任务中提出的(Bengio等,2003;Collobert和Weston,2008),研究表明,训练神经网络通过前面的词预测下一个词可以学习到有用的嵌入表示,称为词嵌入(每个词由一个固定向量表示)。这些表示在NLP中发挥了重要作用,在多个任务上取得了最先进的性能(Collobert等,2011),尤其是在word2vec(Mikolov等,2013)和GloVe(Pennington等,2014)这两种高效且有效的词嵌入学习算法引入之后。

词嵌入的一个主要局限性是,即使一个词可能有多种含义(例如,取决于上下文),它也只能有一个单一的表示。因此,最近的研究引入了从上下文无关的词嵌入到上下文嵌入的范式转变:输出表示是整个输入序列的函数,这使得能够编码单词或句子的复杂、高级的句法和语义特征。这一研究方向由Dai和Le(2015)开创,他们提出了通过编码器-解码器语言模型或序列自编码器预训练表示的方法。Ramachandran等(2017)表明,这种方法可以应用于预训练序列到序列模型(Sutskever等,2014)。然而,这些模型需要大量的领域内数据来完成预训练任务。Peters等(2018,ELMo)和Howard与Ruder(2018,ULMFiT)首次证明,在预训练中利用大规模通用领域文本语料库可以显著提升下游任务的性能。这两种方法都采用了LSTM(Hochreiter和Schmidhuber,1997)语言模型,但ULMFiT使用了常规的多层架构,而ELMo采用双向LSTM通过从左到右和从右到左表示的连接为每个输入词例构建最终嵌入。另一个根本区别在于每种模型如何针对不同下游任务进行调整:ELMo提供可以插值的不同词向量,而ULMFiT支持对整个网络进行针对下游任务的鲁棒微调。微调的能力被证明可以显著提升性能,因此这种方法在最近的工作中得到了进一步发展,例如MultiFiT(Eisenschlos等,2019)或最显著的基于Transformer(Vaswani等,2017)的架构:GPT(Radford等,2018)、BERT(Devlin等,2019)、XLNet(Yang等,2019b)、XLM(Lample和Conneau,2019)、RoBERTa(Liu等,2019)、ALBERT(Lan等,2019)、T5(Raffel等,2019)。这些方法在各种NLP基准测试中相继确立了新的最先进结果,例如GLUE(Wang等,2018)或SQuAD(Rajpurkar等,2018),大幅超越了之前的方法。

2.2 英语以外的预训练语言模型

鉴于预训练语言模型对英语NLP下游任务的影响,最近有几项工作发布了针对其他语言的预训练模型。例如,ELMo已有葡萄牙语、日语、德语和巴斯克语版本,而BERT及其变体则专门针对简体中文、繁体中文和德语进行了训练。葡萄牙语版本的MultiFiT也已发布。最近,更多基于BERT的单语言模型被发布,例如阿拉伯语(Antoun等,2020)、荷兰语(de Vries等,2019;Delobelle等,2020)、芬兰语(Virtanen等,2019)、意大利语(Polignano等,2019)、葡萄牙语(Souza等,2019)、俄语(Kuratov和Arkhipov,2019)、西班牙语(Cañete等,2020)和越南语(Nguyen和Nguyen,2020)。对于法语,除了使用ULMFiT和MultiFiT配置的预训练语言模型外,CamemBERT(Martin等,2019)是与我们工作并行的法语BERT模型。

另一种趋势是考虑为多种语言使用共享词汇表的一个模型。针对104种语言的多语言BERT的发布开创了这种方法。最近的一项扩展工作利用平行数据构建了跨语言预训练版本的LASER(Artetxe和Schwenk,2019),支持93种语言,以及XLM(Lample和Conneau,2019)和XLM-R(Conneau等,2019),支持100种语言。

2.3 法语NLP任务的评估协议

像GLUE(Wang等,2018)这样的多任务评估基准的存在对于促进目标语言的研究非常有益。GLUE基准已成为评估英语NLP模型性能的重要框架。基于预训练语言模型的最新贡献在广泛的自然语言理解(NLU)任务中取得了显著性能。因此,GLUE的作者推出了SuperGLUE(Wang等,2019a):一个基于GLUE原则的新基准,包含更具挑战性和多样性的任务集。GLUE的中文版本也已开发,用于评估中文NLP任务中的模型性能。截至目前,我们尚未了解到任何类似的法语基准。

3. 构建FlauBERT

在本节中,我们将描述用于构建FlauBERTBASE和 F l a u B E R T L A R G E FlauBERT_{LARGE} FlauBERTLARGE的训练语料库、文本预处理流程、模型架构以及训练配置。

3.1 训练数据

数据收集 我们的法语文本语料库由来自不同来源的24个子语料库组成,涵盖了多样化的主题和写作风格,从正式且写作规范的文本(例如维基百科和书籍)到从互联网爬取的随机文本(例如Common Crawl)。数据主要从三个来源收集:(1) WMT19共享任务中提供的法语单语数据(Li等,2019,4个子语料库);(2) OPUS集合中提供的法语文本语料库(Tiedemann,2012,8个子语料库);(3) 维基媒体项目中可用的数据集(Meta,2019,8个子语料库)。

我们使用WikiExtractor工具从维基百科中提取文本。对于其他子语料库,我们使用自己的工具提取文本或直接从其网站下载。预处理前的未压缩文本总大小为270 GB。更多细节可在附录A.1中找到。

数据预处理 对于所有子语料库,我们过滤掉了非常短的句子以及重复和无意义的内容,例如电话/传真号码、电子邮件地址等。对于Common Crawl(这是我们最大的子语料库,原始文本大小为215 GB),我们进行了严格的清理,将其大小减少到43.4 GB。所有数据在预处理前都进行了统一的Unicode规范化,并使用Moses分词器(Koehn等,2007)进行分词。最终的训练语料库大小为71 GB。

我们用于下载和预处理数据的代码已公开提供。

3.2 模型与训练配置

模型架构 FlauBERT采用与BERT(Devlin等,2019)相同的模型架构,即多层双向Transformer(Vaswani等,2017)。根据Devlin等(2019)的建议,我们提出了两种模型规模:

  • FlauBERTBASE L = 12 , H = 768 , A = 12 L=12,H=768,A=12 L=12H=768A=12
  • F l a u B E R T L A R G E FlauBERT_{LARGE} FlauBERTLARGE L = 24 , H = 1024 , A = 16 L=24,H=1024,A=16 L=24H=1024A=16

其中, L 、 H 和 A L、H和A LHA分别表示Transformer块的数量、隐藏层大小以及自注意力头的数量。由于Transformer已成为一种标准架构,更多细节可参考Vaswani等(2017)。

训练目标与优化 原始BERT(Devlin等,2019)的预训练包括两个监督任务:(1) 掩码语言模型(MLM),学习预测随机掩码的词;(2) 下一句预测(NSP)任务,模型学习预测给定句子对A、B中,B是否是A的实际下一句。Devlin等(2019)观察到,移除NSP会显著降低某些下游任务的性能。然而,后续研究(包括Yang等,2019b,XLNet;Lample和Conneau,2019,XLM;Liu等,2019,RoBERTa)表明,情况恰恰相反。因此,我们在FlauBERT中仅采用了MLM目标。

为了优化这一目标函数,我们遵循Liu等(2019)的方法,使用Adam优化器(Kingma和Ba,2014),并设置以下参数:

  • FlauBERTBASE:预热步数24k,峰值学习率 6 e − 4 , β 1 = 0.9 , β 2 = 0.98 , ε = 1 e − 6 6e-4,β1=0.9,β2=0.98,ε=1e-6 6e4β1=0.9β2=0.98ε=1e6,权重衰减0.01。
  • F l a u B E R T L A R G E FlauBERT_{LARGE} FlauBERTLARGE:预热步数30k,峰值学习率 3 e − 4 , β 1 = 0.9 , β 2 = 0.98 , ε = 1 e − 6 3e-4,β1=0.9,β2=0.98,ε=1e-6 3e4β1=0.9β2=0.98ε=1e6,权重衰减0.01。

训练 F l a u B E R T L A R G E FlauBERT_{LARGE} FlauBERTLARGE
训练非常深的Transformer模型通常容易遇到不稳定性问题(Wang等,2019b;Nguyen和Salazar,2019;Xu等,2019;Fan等,2019)。不出所料,我们在使用与 B E R T L A R G E BERT_{LARGE} BERTLARGE R o B E R T a L A R G E RoBERTa_{LARGE} RoBERTaLARGE相同的配置训练 F l a u B E R T L A R G E FlauBERT_{LARGE} FlauBERTLARGE时也观察到了这一困难,模型在早期阶段就出现了发散现象。

为了解决这一问题,已经提出了多种方法。例如,在Transformer的更新实现中(Vaswani等,2018),默认在每个注意力层之前应用层归一化(称为pre-norm),而不是像原始实现(Vaswani等,2017)那样在每个残差块之后应用(称为post-norm)。Vaswani等(2018)观察到,pre-norm有助于稳定训练,这一结论在后续研究中得到了进一步验证(例如Wang等,2019b;Xu等,2019;Nguyen和Salazar,2019)。最近,一种称为随机深度(Huang等,2016)的正则化技术被证明对训练深层Transformer非常有效,例如Pham等(2019)和Fan等(2019)成功训练了超过40层的模型。其核心思想是在每个训练步骤中随机丢弃一些(注意力)层。其他技术还包括渐进式训练(Gong等,2019)、改进初始化(Zhang等,2019a;Xu等,2019)和归一化(Nguyen和Salazar,2019)。

在训练 F l a u B E R T L A R G E FlauBERT_{LARGE} FlauBERTLARGE时,我们采用了pre-norm注意力和随机深度技术,因为它们的实现较为简单。我们发现这两种技术足以成功完成训练。在所有实验中,我们将层丢弃率设置为0.2。

其他训练细节
使用字节对编码(BPE)算法(Sennrich等,2016)构建了一个包含50K子词单元的词汇表。与RoBERTa的唯一区别在于,我们在应用BPE之前使用了一个基本的法语分词器(Koehn等,2007,Moses)对训练数据进行预处理和分词,类似于XLM(Lample和Conneau,2019)。我们使用了fastBPE这一高效实现来提取BPE单元并对语料库进行编码。

FlauBERTBASE在32个Nvidia V100 GPU上训练了410小时, F l a u B E R T L A R G E FlauBERT_{LARGE} FlauBERTLARGE在128个GPU上训练了390小时,两者的有效批量大小均为8192个序列。最后,我们在表1中总结了FlauBERT与BERT、RoBERTa、CamemBERT之间的差异。
在这里插入图片描述

4. FLUE

在本节中,我们整理了一组现有的法语任务,构建了一个用于法语NLP的评估基准,称为FLUE(法语语言理解评估)。我们从不同领域、难度、正式程度和训练样本量中选择了数据集。六个任务中有三个(文本分类、释义、自然语言推理)来自跨语言数据集,因为我们的目标还包括提供一个单语言预训练模型的结果,以促进未来对跨语言模型的研究,这一领域最近引起了广泛的研究兴趣。

表2概述了这些数据集,包括它们的领域以及训练/开发/测试集的划分。具体细节将在接下来的小节中介绍。

在这里插入图片描述

4.1 文本分类

CLS 跨语言情感分类(CLS)数据集(Prettenhofer和Stein,2010)包含亚马逊上三类产品(书籍、DVD和音乐)的评论,涵盖四种语言:英语、法语、德语和日语。每个样本包含一条评论文本和1到5星的评分。根据Blitzer等(2006)和Prettenhofer与Stein(2010)的方法,3星评分被移除。评分高于3的为正面评论,低于3的为负面评论。每个产品类别有一个训练集和测试集。训练集和测试集是平衡的,每个数据集包含约1000条正面评论和1000条负面评论,总计2000条评论。我们选取其中的法语部分构建FLUE中的二分类文本分类任务,并报告测试集上的准确率。

4.2 释义识别

PAWS-X 跨语言释义识别对抗数据集(PAWS-X)(Yang等,2019a)是英文释义对抗数据集(PAWS)(Zhang等,2019b)的扩展,涵盖法语、西班牙语、德语、中文、日语和韩语。PAWS从维基百科和Quora中构建了具有高词汇重叠率的英文释义识别对,通过基于语言模型的词汇重组和回译生成,并由人工判断。释义识别任务是判断句子对中的句子是否语义等价。与之前创建多语言语料库的方法类似,Yang等(2019a)使用机器翻译从PAWS的英文训练集生成PAWS-X中每种目标语言的训练集。每种语言的开发和测试集由人工翻译完成。我们选取法语相关数据集进行释义识别任务,并报告测试集上的准确率。

4.3 自然语言推理

XNLI 跨语言自然语言推理(XNLI)语料库(Conneau等,2018)将多体裁自然语言推理语料库(Williams等,2018,MultiNLI)的开发和测试集扩展到15种语言。每种语言的开发和测试集包含7500个人工标注的样本,总计112500个句子对,标注为蕴含、矛盾或中立。每个句子对包含一个前提(p)和一个假设(h)。自然语言推理(NLI)任务,也称为文本蕴含识别(RTE),是判断p是否蕴含、矛盾或既不蕴含也不矛盾h。我们选取XNLI语料库中的法语部分构建FLUE中的NLI任务的开发和测试集。训练集来自XNLI中提供的机器翻译版本。根据Conneau等(2018),我们报告测试集上的准确率。

4.4 句法分析和词性标注

句法分析是为自然语言句子分配树结构。我们在法语树库(Abeillé等,2003)上进行句法分析,该树库包含从法国日报《世界报》中提取的句子,并人工标注了成分句法树、依存句法树和词性标签。具体来说,我们使用为SPMRL 2013共享任务实例化的版本(Seddah等,2013)。该版本提供了标准划分,训练集包含14759个句子,开发集和测试集分别包含1235和2541个句子。

4.5 词义消歧任务

词义消歧(WSD)是一种分类任务,旨在根据特定的词义库预测给定上下文中词语的意义。我们使用了两个法语WSD任务:法语SemEval任务(Segonne等,2019),仅针对动词;以及SemEval 2013多语言WSD任务的法语部分(Navigli等,2013)的修改版本,仅针对名词。

动词词义消歧 我们使用法语SemEval(Segonne等,2019,FSE)进行法语动词的词义消歧实验。FSE是一个评估数据集,其中动词实例通过Wiktionary(一个协作编辑的开源词典)的词义库进行人工标注。FSE包含评估数据和词义库。评估数据包含66个动词的3199个人工标注实例,每个动词大约有50个标注实例。FSE提供的词义库是Wiktionary的一个转储(2018年4月20日),通过Dbnary(Sérasset,2012)公开提供。对于目标词的每个意义,词义库提供了定义和一个或多个示例。在此任务中,我们将词义库中的示例视为训练数据,并在评估数据集上测试模型。

名词词义消歧 我们基于SemEval 2013多语言WSD任务的法语部分(Navigli等,2013)提出了一个新的法语名词词义消歧任务。我们将任务调整为使用WordNet 3.0词义库(Miller,1995)而非BabelNet(Navigli和Ponzetto,2010),通过将BabelNet中的词义键映射到WordNet 3.0(如果存在映射),否则移除。

转换过程的结果是一个评估语料库,包含306个句子和1445个标注了WordNet词义键的法语名词,并经过人工验证。对于训练数据,我们遵循Hadj Salah(2018)的方法,使用fairseq工具包(Ott等,2019)中最好的英法机器翻译系统将SemCor(Miller等,1993)和WordNet Gloss Corpus翻译成法语。最后,我们使用机器翻译系统提供的对齐信息,将源英文词的WordNet词义标注对齐到翻译后的法文词。

我们选择WordNet词义键而非原始BabelNet标注的原因有两个:首先,WordNet是完全人工验证的资源,广泛用于WSD研究(Navigli,2009);其次,已有大量基于WordNet词义库的标注数据(Vial等,2018)可用于系统训练。

我们以UFSAC格式(Vial等,2018)公开了训练数据和评估数据。

5. 实验与结果

在本节中,我们展示了FlauBERT在FLUE基准上的微调结果。我们将FlauBERT与多语言BERT(Devlin等,2019,mBERT)和CamemBERT(Martin等,2019)在所有任务上的性能进行了比较。此外,对于每个任务,我们还加入了最佳的非BERT模型作为对比。在某些实验中,我们使用了开源库(Lample和Conneau,2019,XLM)和(Wolf等,2019,Transformers)。

5.1 文本分类

模型描述 我们遵循了BERT(Devlin等,2019)的标准微调流程。输入是一个简化的文本-∅对。分类头由以下层组成,按顺序为:dropout、线性层、tanh激活函数、dropout和线性层。线性层的输出维度分别等于Transformer的隐藏层大小和类别数量(在本任务中为2,因为是二分类任务)。dropout率设置为0.1。

我们训练了30个epoch,批量大小为16,同时对4种不同的学习率进行了网格搜索: 1 e − 5 、 5 e − 5 、 1 e − 6 和 5 e − 6 1e−5、5e−5、1e−6和5e−6 1e55e51e65e6。训练数据的20%随机划分为验证集,选择在验证集上表现最佳的模型用于测试集评估。

在这里插入图片描述

结果 表3展示了每个模型在测试集上的最终准确率。结果突显了单语言法语模型在文本分类中的重要性:CamemBERT和FlauBERT均大幅优于mBERT。FlauBERTBASE在书籍数据集上的表现略优于CamemBERT,而在DVD和音乐数据集上的表现则略低于CamemBERT。FlauBERTLARGE在所有类别中均取得了最佳结果。

5.2 释义识别

模型描述 此任务的设置与前一任务几乎相同,除了以下两点:(1) 输入序列现在是一个句子对A、B;(2) 超参数搜索在开发数据集上进行(即不需要验证集划分)。

结果 表4报告了每个模型的最终准确率。可以观察到,单语言法语模型的表现仅略优于多语言模型mBERT,这可能归因于PAWS-X数据集的特点。该数据集包含高词汇重叠率的样本,已被证明是衡量模型对词序和句法结构敏感性的有效指标(Yang等,2019a)。因此,像mBERT这样的多语言模型可以像单语言模型一样捕捉这些特征。

在这里插入图片描述

5.3 自然语言推理

模型描述 由于此任务在CamemBERT(Martin等,2019)中也被考虑,为了公平比较,我们在此复现了相同的实验设置。与释义识别类似,此任务的模型输入也是一个句子对。然而,分类头仅由一个dropout层和一个线性层组成。

结果 表5报告了每个模型的最终准确率。结果证实了法语模型在此任务上优于多语言模型mBERT。FlauBERTLARGE的表现略优于CamemBERT。两者均明显优于 X L M − R B A S E XLM-R_{BASE} XLMRBASE,但未能超越 X L M − R L A R G E XLM-R_{LARGE} XLMRLARGE
在这里插入图片描述

5.4 成分句法分析与词性标注

模型描述 我们使用了Kitaev和Klein(2018)以及Kitaev等(2019)描述的句法分析器。这是一个基于自注意力编码器的公开可用的图表句法分析器。我们比较了以下模型:(i) 没有任何预训练参数的模型,(ii) 额外使用并微调fastText预训练词嵌入的模型,(iii) 基于预训练语言模型的模型:mBERT、CamemBERT和FlauBERT。对于前两种设置,我们使用Kitaev和Klein(2018)的默认超参数;对于使用预训练语言模型的设置,我们使用Kitaev等(2019)的超参数,但FlauBERTLARGE除外。对于FlauBERTLARGE,由于内存限制,我们使用了不同的学习率(0.00001)、批量大小(8),并忽略长度超过100个标记的训练句子。我们在多任务设置中,基于与句法分析器相同的输入,联合进行词性标注(POS)。对于每种设置,我们使用不同的随机种子训练3次,并根据开发集的F1分数选择最佳模型。

最终评估 我们使用SPMRL共享任务组织者提供的评估工具,并报告标记F1分数(成分句法分析的标准评估指标)以及词性标注的准确率。
在这里插入图片描述

结果 我们在表6中报告了成分句法分析的结果。在没有预训练的情况下,我们复现了Kitaev和Klein(2018)的结果。FastText预训练词嵌入并未对这一已经很强的模型带来改进。当使用预训练语言模型时,我们观察到,CamemBERT通过其语言特定的训练,比mBERT提高了0.9个绝对F1分数。FlauBERTBASE在测试集上比CamemBERT高出0.7个绝对F1分数,并获得了该任务中单一模型的最佳公开结果。关于词性标注,所有大规模预训练语言模型都取得了相似的结果(98.1-98.2),并优于没有预训练或使用fastText词嵌入的模型(97.5-97.7)。FlauBERTLARGE在开发集上提供了微小的改进,但未能在测试集上达到FlauBERTBASE的结果。

为了评估FlauBERT和CamemBERT在此任务中是否具有互补性,我们评估了这两个模型的集成(表6的最后一行)。集成模型在开发集上比FlauBERT提高了0.4个绝对F1分数,在测试集上提高了0.2个绝对F1分数,获得了该任务的最高结果。这一结果表明,两种预训练语言模型具有互补性,各有其优势和劣势。

5.5 依存句法分析

模型 我们重新实现了Dozat和Manning(2016)的句法分析模型,并进行了最大生成树解码的调整,以处理多种输入源(如BERT表示)。该模型不进行词性标注,而是使用SPMRL共享任务组织者提供的预测标签。

我们的词表示是词嵌入和标签嵌入的拼接,这些嵌入与模型参数一起在法语树库数据上学习,并且最多使用一种(fastText、CamemBERT、FlauBERTBASE、FlauBERTLARGE、mBERT)词向量。与Dozat和Manning(2016)一样,我们在词嵌入和标签嵌入上使用词和标签dropout( d = 0.5 d = 0.5 d=0.5),但在BERT表示上不使用dropout。我们对每个测试的模型进行了相当全面的超参数网格搜索。

在这里插入图片描述

结果 结果在表7中报告。该共享任务中已发布的最佳结果(Constant等,2013)涉及使用额外资源建模多词表达式(MWE)的句法分析器集成,这是法语树库注释的典型特征。单语言法语BERT模型(CamemBERT、FlauBERT)表现更好,并在该数据集上设定了新的最先进水平,仅使用单一分析器且无需对MWE进行特定建模。可以观察到,FlauBERT模型的表现略优于CamemBERT,而它们都大幅优于mBERT。

5.6 词义消歧

动词词义消歧 消歧使用了与Segonne等(2019)相同的WSD监督方法。首先,我们从Wiktionary词义库中的示例计算词义向量表示:给定一个词义s及其对应的示例,我们通过平均其示例的向量表示来计算s的向量表示。然后,我们根据余弦相似度为每个测试实例标注最接近的词义。我们使用FlauBERT输出的上下文嵌入作为目标词任何实例(来自词义库或测试数据)的向量表示。我们以相同的方式使用mBERT和CamemBERT进行比较。我们还与一种更简单的上下文向量表示方法(称为平均词嵌入,AWE)进行了比较,该方法通过在给定窗口大小内平均目标词的周围词来表示上下文。我们使用fastText词嵌入和窗口大小为5进行了AWE实验。结果在表8中报告。基于BERT的模型在该任务上设定了新的最先进水平,其中CamemBERT和FlauBERTLARGE取得了最佳结果。

名词词义消歧 我们实现了一个类似于Vial等(2019)提出的神经分类器。该分类器将预训练语言模型的输出传递到6层训练的Transformer编码器层,并通过softmax预测每个输入词的词义集。我们的模型与Vial等(2019)的唯一区别在于,我们选择了与FlauBERTBASE相同的超参数用于Transformer层的dff和注意力头数(更具体地说, d f f = 3072 , A = 12 d_{ff} = 3072,A = 12 dff=3072A=12)。
在这里插入图片描述
在这里插入图片描述

在预测时,我们选择在softmax层中具有最大值的词义集ID(不对目标词的原形进行过滤)。我们为每个实验训练了8个模型,并报告了平均结果、各个模型的标准差以及模型集成的结果,后者对softmax层的输出进行平均。最后,我们将FlauBERT与CamemBERT、mBERT、fastText以及无输入嵌入进行了比较。结果在表9中报告。在此任务和这些设置下,我们首先观察到mBERT优于CamemBERT和FlauBERTBASE。我们认为这可能是由于我们使用的训练语料是从英语机器翻译到法语的,因此mBERT的多语言特性使其更适合此任务。比较CamemBERT和FlauBERTBASE,我们发现前者的表现略有提升,我们认为这可能是由于预训练语料库大小的差异。最后,使用我们的FlauBERTLARGE模型,我们在此任务上取得了最佳分数,比mBERT高出1分以上。

6. 结论

我们介绍并发布了FlauBERT,一个针对法语的预训练语言模型。FlauBERT在多个来源的语料库上进行了训练,并在多项法语NLP任务中取得了最先进的结果,超越了多语言/跨语言模型。尽管FlauBERT的训练文本数据量几乎是CamemBERT(Martin等,2019)的一半,但它与CamemBERT(另一种针对法语的预训练语言模型)具有竞争力。为了使整个流程完全可复现,我们不仅发布了预处理和训练脚本以及FlauBERT,还提供了一个用于评估法语NLP系统的通用基准(FLUE)。FlauBERT现在也得到了Hugging Face的transformers库的支持。

A 附录

A.1 法语文本语料库的详细信息

表10展示了我们训练语料库中所有子语料库的统计信息。以下是对每个子语料库的描述。

来自WMT19共享任务的数据集 我们使用了WMT19共享任务(Li等,2019)中提供的四个语料库。

  • Common Crawl 包含从互联网数十亿页面中爬取的文本。
  • News Crawl 包含从2007年至2018年收集的新闻爬取数据。
  • EuroParl 包含从欧洲议会议程中提取的文本。
  • News Commentary 包含来自新闻评论爬取的文本。

来自OPUS的数据集 OPUS是一个不断增长的免费单语和平行语料库资源(Tiedemann,2012)。我们从OPUS中收集了以下法语单语数据集。

  • OpenSubtitles 包含翻译的电影和电视字幕。
  • EU Bookshop 包含来自欧洲机构的出版物。
  • MultiUN 包含来自联合国的文档。
  • GIGA 包含新闻通讯文本,并在WMT10共享任务中提供。
  • DGT 包含由联合研究中心提供的翻译记忆库。
  • Global Voices 包含来自Global Voices网站的新闻报道。
  • TED Talks 包含TED演讲视频的字幕。
  • Euconst 包含来自欧洲宪法的文本。

维基媒体数据库 包括维基百科、维基词典、维基学院等。内容由全球志愿者协作构建。

  • 维基百科 是一个免费的在线百科全书,包含涵盖广泛主题的高质量文本。
  • 维基文库 包含公共领域的源文本。
  • 维基新闻 包含免费内容的新闻。
  • 维基词典 是一个开放源码的词典,包含单词、短语等。
  • 维基学院 包含学习资源和学习项目或研究。
  • 维基教科书 包含开放内容的书籍。
  • 维基语录 包含来自名人和创意作品的引用。
  • 维基导游 包含旅行相关信息。

古腾堡计划 这个流行的数据集包含不同体裁的免费电子书,主要是世界上较老的经典文学作品,版权已过期。

EnronSent 该数据集由(Styler,2011)提供,是Enron电子邮件数据集的一部分,包含来自Enron公司高级管理层的50万条消息。

PCT 该子语料库包含由GETALP团队内部收集和维护的专利文档。

Le Monde 这也是由GETALP团队内部收集和维护的,包含从1987年至2003年收集的《世界报》文章。
在这里插入图片描述


http://www.kler.cn/a/598535.html

相关文章:

  • const count = ref(0);是什么意思。count最终会是什么值
  • C#测试基于OllamaSharp调用本地DeepSeek模型
  • 电脑上不了网普通用户排除方法
  • 关于CNN,RNN,GAN,GNN,DQN,Transformer,LSTM,DBN你了解多少
  • 力扣HOT100之滑动窗口:3. 无重复字符的最长子串
  • 【数据分享】2000—2024年我国省市县三级逐年归一化植被指数(NDVI)数据(年平均值/Shp/Excel格式)
  • Qt 控件概述 QLCDNumber 和 Progressbar
  • 深度学习框架PyTorch——从入门到精通(7)优化模型参数
  • Java UDP聊天室搭建指南
  • 群体智能优化算法-蚁狮优化算法(Ant Lion Optimizer, ALO,含Matlab源代码)
  • HQChart使用教程46-K线图如何对接第3方数据42-DRAWTEXT_LINE数据结构
  • Qt窗口控件之菜单栏QMenuBar
  • 【后端开发面试题】每日 3 题(十七)
  • 搭建简易的rtsp服务器
  • 深入理解Java对象克隆:从浅入深掌握深克隆与浅克隆
  • CMS漏洞-DeDeCMS篇
  • 【uni-app】引用公共组件
  • 新配置了一台服务器+域名共178:整个安装步骤,恢复服务
  • quartz.net条件执行
  • 供应链与生产制造L1L4级高阶流程规划框架(53页PPT)(文末有下载方式)