英文

维基百科

此维基百科数据集包含最近转储的所有可用语言。这是从Huggingface的 20220301 wikipedia 刷新的,因此它具有相同的许可证和数据集卡详情。该数据集的好处是:

  • 更多更新的转储文件(见下表)
  • 几种其他语言
  • 所有可用语言都已经预处理(包括最大的en和ceb)
version dump # available languages closed & dump closed & no dump
1.0.0 20230601 328 9: ak (soon), cho, ho, ii, kj, lrc, mh, mus, ng 4: aa, hz, kr, na
1.1.0 20230601 329 (+et ~[az,ceb,ch,hr,ii,lrc,ta]) 9: ak (soon), cho, ho, ii, kj, lrc, mh, mus, ng 4: aa, hz, kr, na
20230901 see you in September...

来源: List of Wikimedia Languages . 有些(9个)维基百科已经关闭,意味着它们将不会有新页面,但转储文件仍然可用。此外,还有很少(4个)维基百科已关闭,并且没有转储文件。

发布说明

1.1.0

  • feat : 添加缺失的爱沙尼亚语(我的错误),感谢Chris Ha
  • fix : 更新az、ceb、ch、hr、ii、lrc、ta的类别列表,这意味着它们都被重新处理了。

1.0.0

  • chore : 文件布局现在是 data/{dump}/{lang}/{info.json,*.parquet} .对于这个根本性的更新,非常抱歉,可能不会再次发生。
  • chore : Parquet文件现在是分片的(大小 < 200 MB),允许并行下载和处理。
  • fix : 由于媒体和类别名称的错误,导致一些链接未被提取,所有语言都被重新处理了。
  • feat : 添加了en和ceb,因为它们在我的Beam DirectRunner中太大了。

用法

from datasets import load_dataset

wikipedia_es = load_dataset("graelo/wikipedia", "20230601.es")

构建说明

仅供开发人员参考。该数据集是使用Beam DirectRunner进行预处理的,步骤如下。

1. 确定您感兴趣的转储日期

选择一个维基百科的转储文件,比如 https://dumps.wikimedia.org/cewiki/ ,并确认日期。

2. [可选] 获取已刷新的语言列表

这是可选项,因为不太可能在上个版本之后突然出现一种新语言,并且有重要的数据集。

转到 https://en.wikipedia.org/wiki/List_of_Wikipedias ,并从“详细列表”表(页面末尾附近)复制语言列。

将该内容以Python列表的形式复制到repo的顶部的lang_def.py文件下的新日期中。

3. [可选] 创建媒体和类别别名

为了正常提取所有语言中的图像和媒体链接,我们必须刷新两个相应的文件。为此,在repo的根目录下运行以下命令:

python -m prep.create_aliases

这将在repo的根目录下创建或更新以下两个文件:

  • media_aliases.py
  • category_aliases.py

这些文件在最后一步中使用

4. 构建并准备数据集为分片的parquet文件

运行该脚本会下载lang_def.py中每种语言的维基百科转储文件,并将每种语言的数据集分片为适当数量的分片(最大大小约为250MB)。

python -m prep.build --date 20230601

还有其他选项:

$ python -m prep.build --help
usage: Wikipedia Builder [-h] [--date DATE] [--language [LANG ...]] [--cache-dir DIR] [--mirror MIRROR]

Prepares the Wikipedia dataset for each language

optional arguments:
  -h, --help             show this help message and exit
  --date DATE            Wikipedia dump date (e.g. 20230601)
  --language [LANG ...]  Language code (e.g. en). If missing, all languages are processed
  --cache-dir DIR        Cache directory for ? Datasets
  --mirror MIRROR        Mirror URL

例如,要更快地下载转储文件,可以使用mirror选项:

python -m prep.build \
    --date 20230601 \
    --language bs \
    --mirror https://mirror.accum.se/mirror/wikimedia.org/dumps/

它将以约60MB/s的速度下载转储文件,而不是来自 https://dumps.wikimedia.org 的限速速度(约为4MB/s)。该脚本将跳过现有目录,允许您在多次运行脚本时使用该选项。

注意:

  • 这些说明基于 Wikipedia 的构建过程 ? DataSet。HF做得很好,我只是进一步推进了这个过程。
  • 请注意,并非所有镜像都包含所有转储文件。例如,mirror.accum.se不包含be-x-old或cbk-zam等语言的转储文件。我自己的解决方案是使用上述镜像运行第一遍,然后使用官方的https://dumps.wikimedia.org网站进行第二遍运行(省略--mirror参数)。