five

Symato/madlad-400_vi

收藏
Hugging Face2024-09-27 更新2024-03-04 收录
下载链接:
https://hf-mirror.com/datasets/Symato/madlad-400_vi
下载链接
链接失效反馈
官方服务:
资源简介:
MADLAD-400是一个基于Common Crawl的多语言文档级数据集,覆盖了419种语言。数据集分为‘noisy’和‘clean’两个版本,分别代表未经过滤和经过多种过滤的数据。其主要优势在于多语言性、经过审核和高度过滤,以及文档级别的处理。然而,这也可能导致某些应用场景下召回率不足的问题。数据集还包括了LangID模型、过滤步骤、特殊处理(如Virama校正和缅甸字体兼容性)以及详细的审核过程。
提供机构:
Symato
原始信息汇总

MADLAD-400 数据集概述

数据集介绍

MADLAD-400(Multilingual Audited Dataset: Low-resource And Document-level)是一个基于Common Crawl的多语种文档级数据集,涵盖了419种语言。该数据集使用了截至2022年8月1日的所有Common Crawl快照。其主要优势在于其多语种性(419种语言)、经过审核和高度过滤,以及文档级特性。主要缺点也是其优势——由于经过更多过滤,可能缺乏某些应用所需的召回率。

数据集发布了两个版本:noisy 数据集,仅通过文档级LangID进行过滤;clean 数据集,应用了多种过滤器,但自然也包含一定量的噪声。每个数据集都以去重后的文档级形式发布。

数据加载

可以通过指定LangID加载任意语言的clean和noisy版本:

python madlad_abt = load_dataset("allenai/madlad-400", "abt")

也可以通过关键字参数指定语言列表:

python madlad_multilang = load_dataset("allenai/madlad-400", languages=["abt", "ace"])

此外,可以使用split关键字参数分别加载noisy和clean子集:

python madlad_multilang_clean = load_dataset("allenai/madlad-400", languages=["abt", "ace"], split="clean")

LangID模型和爬取

根据Language Id In the Wild,我们训练了一个半监督LangID模型(SSLID),涵盖500种语言。训练数据与该论文中描述的相同,但有以下差异:1) 训练数据采样至温度T=3,以减少对低资源语言的过度触发;2) 数据补充了从同一论文中爬取的网页数据,以增加对网页域文本的鲁棒性。

过滤步骤

在通过LangID分离原始CommonCrawl语料库之前,进行了以下过滤步骤,类似于Raffel et al (2020):

  • 丢弃少于5个句子的页面,并仅保留至少包含3个单词的行。
  • 移除包含单词Javascript的任何行。
  • 移除包含短语“lorem ipsum”的任何页面。
  • 移除包含短语“terms of use”、“privacy policy”、“cookie policy”、“uses cookies”、“use of cookies”、“use cookies”的任何页面。
  • 移除包含大括号的任何页面。
  • 为了去重数据集,丢弃任何在数据集中出现超过一次的三句跨度中的一个。

noisy子集仅通过文档级LangID进行过滤,文档级LangID被认为是多数句子级LangID预测。clean子集移除所有percent_questionable分数大于20%的文档,并进一步移除少于5个句子的任何文档。

pct_questionable分数是输入文档中被标记为“questionable”的句子百分比。句子被认为是questionable的条件包括:

  • LangID一致性: 句子级LangID与文档级LangID不匹配。
  • 列表情况: 句子至少有12个标记,且超过50%的标记以大写字母开头。
  • 长度: 句子少于20个字符或超过500个字符(注意:这对表意文字语言是一个糟糕的启发式方法)。
  • 危险字符: 句子中超过20%的字符匹配[0-9{}+/()>]
  • 诅咒性: 句子匹配一个诅咒正则表达式。

诅咒子字符串

基于初始数据审核,作者创建了一个包含大量可疑内容的子字符串和正则表达式列表。这些都被输入到pct_questionable分数中——只有当文档中超过20%的句子被标记为questionable时,句子才会从clean数据集中排除。

维拉玛修正

许多使用婆罗米阿布吉达(南亚和东南亚脚本,如梵文、高棉文等)的语言使用某种变体的维拉玛字符。由于某些原因,在使用的Common Crawl快照中发现该字符经常出错。因此,对于语言bn my pa gu or ta te kn ml si th tl mn lo bo km hi mr ne gom as jv dv bho dz hne ks_Deva mag mni shn yue zh ja kjg mnw ksw rki mtr mwr xnr,进行了一个特殊的修正步骤。

对于这些语言,作者列出了所有维拉玛字符,并使用正则表达式移除了每个维拉玛字符和下一个字符之间不必要的空格。

缅甸字体兼容性

在2019年之前,缅甸网站最流行的字体是Zawgyi字体。作者使用Myanmar Tools进行文本转换。

一些脚本,如中文脚本、藏文脚本和泰文,不使用空格分隔字符。该数据集中具有此属性的语言包括yue zh ja th lo kjg mnw my shn ksw rki km bo dz

特殊过滤

中文存在色情内容的问题。经过手动检查,开发了一个可能存在于色情内容中的字符串列表。所有包含至少一个这些字符串的页面都被移除。结果导致文档数量减少了17%,文件大小减少了56%。

审核

根据Quality at a Glance,作者对数据集中的每个语料库进行了“审核”。尽管作者大多不熟悉这些语言,但他们能够对总体质量进行高层次的评论。他们查看了每种语言的20个文档样本。

在初始审核后,他们设计了一套新的过滤器并应用了它们。然后重新进行了所有审核。

审核总体笔记

决定包括看起来嘈杂的语言,但排除显然主要是噪声或只有20个或更少文档的语言。这是一个低门槛——二十个文档确实很少,而且发布的某些语料库相当嘈杂,但它们都应该至少有某种有用的潜力。不发布无意义或微小数据集的动机是为了不给人一种虚假的印象,即该数据集实际上有多语种性(“Representation washing”),正如Quality at a Glance所推荐的。

审核结果的更名和合并

在几次审核中,很明显语料库不是LangID模型声称的语言。这导致了以下更名:

  • dty更名为zxx-xx-dtynoise,即一种“噪声”语言。这主要是错误渲染的PDF,可能对解码有用。
  • fan更名为bum
  • ss-SZ更名为ss——这只是我们数据标签不一致的结果。
  • cjk合并到gil数据集中
  • bjj合并到awa数据集中

金丝雀

金丝雀提供在单独的canaries文件夹中。金丝雀分为三个方向:monolingual包含为MADLAD-400单语数据设计的金丝雀,multiway为多向数据,generic为仅从模型词汇生成的通用金丝雀。

  • Monolingual:这里的金丝雀按生成金丝雀的语言组织。这对应于论文中的translate_copy设置,其中源语言和目标语言匹配。
  • Multiway:这里的金丝雀以两种方式组织。to_XX表示按目标语言组织的金丝雀(源语言可以是任何语言)。XX-XX表示为特定语言对设计的金丝雀(interleaved_both和interleaved_mislabeled_both)。

在每个子目录中,金丝雀按金丝雀类型分成单独的文件。每个金丝雀类型只有一个文件。generic文件夹包含四个金丝雀类型。

金丝雀可以与正常训练数据混合,然后在训练后进行分析。

5,000+
优质数据集
54 个
任务类型
进入经典数据集
二维码
社区交流群

面向社区/商业的数据集话题

二维码
科研交流群

面向高校/科研机构的开源数据集话题

数据驱动未来

携手共赢发展

商业合作