Facebook 开源最大规模并行语料,45 亿语料,覆盖 576 种语言对,或成为 NMT 评估标准

作者 | 京枚
编辑 | 贾伟

当前自然语言处理中的大多数方法都是数据驱动的,大多数多语言模型(特别是神经机器翻译系统)都需要并行语料库进行训练。大多数的并行文本都只是适用于几个主要语言(例如英语、汉语),且限制于特定的领域。 为了解决这一问题,在去年七月份,Facebook 曾发布了第一个系统处理 Wikipedia 上所有语言(包括资源贫乏的语言和方言)的数据集 WikiMatrix,大约包含了亿级的并行语料,覆盖 1620 种语言对。
而最近,Facebook 基于新的方法和数据源,开发并开源了一个目前为止最大的并行语料数据集 CCMatrix。这个数据集包含 45 亿并行语料(是 WikiMatrix 的近 50 倍),覆盖 576 种语言对。Facebook 开源最大规模并行语料,45 亿语料,覆盖 576 种语言对,或成为 NMT 评估标准论文:https://arxiv.org/abs/1911.04944 数据集开源地址:https://github.com/facebookresearch/LASER/tree/master/tasks/CCMatrix

1、语料库构建

首先,从语料来源上讲。目前有几个公共的多语言并行语料库,主要来自一些国际会议(如 European Parliament 、the United Nations)的语料,这些都是专业的人工翻译语料,使用语言较为正式,且仅限于政治主题。此外也有几个依靠志愿者翻译而形成的语料库,例如 news commentary 、Opensub- Titles 、the TED corpus 等。2019 年 Facebook 的 Schwenk 等人曾利用 Wikipedia 中的语料进行挖掘,从而开发了 WikiMatrix 数据集。 以上这些,从数据来源上讲都有局限。为了使并行语料库量大、覆盖主题广泛,Facebook 在 CCMatrix 这项工作中,选择使用了随机抓取 web 中的数据作为并行语料的来源,他们每个月随机发送 url,从而获得包含各种语言的网页快照(TB 级)。Facebook 开源最大规模并行语料,45 亿语料,覆盖 576 种语言对,或成为 NMT 评估标准十次快照语料中,不同语言的单句数量(其中一次快照只包含英语) 然后通过预处理去除高达 70% 的重复数据(例如模板文件、导航菜单、cookie 等),并使用 fastText (语言识别器,可以识别 176 种语言)来识别文档中的语言,最后使用一个在 Wikipedia 上训练的模型来过滤掉低质量的内容,只保留较低困惑度的文档。如此处理获得一个包含有 327 亿个句子的 CCNet 数据集。 在这项工作中,使用的挖掘方法的底层思想是,首先学习一种多语言的语义嵌入,即在一个嵌入空间中语义上相似的句子会有较近的距离,而与它们所使用的语言无关。这意味着空间中的距离可以作为两个句子是否是相互翻译的指标。Facebook 开源最大规模并行语料,45 亿语料,覆盖 576 种语言对,或成为 NMT 评估标准用于大规模训练多语言句嵌入的框架 不过由于余弦距离的绝对阈值在全局上并不一致,所以 Schwenk 在这里所采用的是 Margin criterion:Facebook 开源最大规模并行语料,45 亿语料,覆盖 576 种语言对,或成为 NMT 评估标准

2、语料库分析

在超过 320 亿个句子中挖掘平行语料,计算上是非常昂贵的。在当前版本的 CCMatrix 语料库中,作者限制为 38 种语言。Facebook 开源最大规模并行语料,45 亿语料,覆盖 576 种语言对,或成为 NMT 评估标准CCMatrix:这里给出了单语文本的数量和提取的平行句子的数量 (单位:百万),margin 阈值为 1.06,以及在 TED 测试中的 BLEU 分数。(编者注:这是 11 月份数据,当时数据集规模为 35 亿并行语料,下同)Facebook 开源最大规模并行语料,45 亿语料,覆盖 576 种语言对,或成为 NMT 评估标准CCMatrix:每种语言对的并行语料数量 (单位:百万),Margin 阈值为 1.06。举例来说,希腊语 / 汉语对的语料数量为 470 万。

3、定性评估

为了评估这个数据集的质量,Schwenk 等人还利用这个数据集进行了神经机器翻译系统的测试,并与几个公共测试集进行了对比。 1、在 TED 数据集上进行测试 Schwenk 等人首先用 CCMatrix 对神经翻译系统(NMT)进行训练,然后在 TED 数据集上进行测试,结果如下:
Facebook 开源最大规模并行语料,45 亿语料,覆盖 576 种语言对,或成为 NMT 评估标准
这里只选择了其中的 27 种语言。以上所有 BLEU 值的平均值为 14.3,英语对的平均 BLEU 值为 26.7,最高的 BLEU 值为 42.9。 当然,在 TED 上的 SOTA 远比这些高;但需要注意,这里测试所用的 NMT 系统没有使用 Transformer 框架等最新技术。 2、在 WMT’19 上评估Facebook 开源最大规模并行语料,45 亿语料,覆盖 576 种语言对,或成为 NMT 评估标准上图是在 Newstest'18 (NT'18)和 Newtest'19 (NT‘19)测试集上的 BLEU 分数。可以看到,使用 CCMatrix,可以提供非常有竞争力的 BLEU 分数。 3、在 WAT’19 上评估Facebook 开源最大规模并行语料,45 亿语料,覆盖 576 种语言对,或成为 NMT 评估标准利用 CCMatrix 在亚洲翻译研讨会的俄语 / 日语翻译任务上进行的测试如上图所示。这里所使用的模型与前面一样,没有 Transformer,没有 layer dropout。尽管相比 SOTA 略差,但仍然在同一层次。

4、总结

CCMatrix 使 NMT 研究社区能够利用比以前仅几十种语言对更大的双语料数据集。这可以加速创建更有效的 NMT 模型,这些模型可以使用更多的语言,尤其是语料库相对有限的资源较少的模型。 由于规模庞大且使用了大量公共文本,或许 CCMatrix 将成为 NMT 领域中用于构建和评估系统的最常用资源之一。 当然,Facebook 在构建 CCMatrix 过程中所提出的数据集构建方法更值得推广,或许能够帮助更多人来创建大规模数据集。
参考资料:facebook 开源官宣:https://ai.facebook.com/blog/ccmatrix-a-billion-scale-bitext-data-set-for-training-translation-models/CCMatrix 论文:https://arxiv.org/abs/1911.04944CCMatrix 开源链接:https://github.com/facebookresearch/LASER/tree/master/tasks/CCMatrix

Facebook 开源最大规模并行语料,45 亿语料,覆盖 576 种语言对,或成为 NMT 评估标准

Facebook 开源最大规模并行语料,45 亿语料,覆盖 576 种语言对,或成为 NMT 评估标准点击“阅读 原文” 前往 问卷填写页面