重要提示

您正在查看 NeMo 2.0 文档。此版本对 API 和新的库 NeMo Run 进行了重大更改。我们目前正在将 NeMo 1.0 的所有功能移植到 2.0。有关先前版本或 2.0 中尚不可用的功能的文档,请参阅 NeMo 24.07 文档

下载和提取#

基类#

class nemo_curator.download.DocumentDownloader#

用于将远程数据下载到磁盘的抽象类

class nemo_curator.download.DocumentIterator#

用于读取已下载到磁盘的原始记录的抽象迭代器类

class nemo_curator.download.DocumentExtractor#

用于从磁盘读取的记录中提取文本的抽象类

class nemo_curator.download.batch_download(
urls: List[str],
downloader: DocumentDownloader,
)#

使用下载器并行下载所有网址

class nemo_curator.download.download_and_extract(
urls: List[str],
output_paths: List[str],
downloader: DocumentDownloader,
iterator: DocumentIterator,
extractor: DocumentExtractor,
output_format: dict,
output_type: str = 'jsonl',
keep_raw_download=False,
force_download=False,
input_meta: str | dict | None = None,
filename_col: str = 'file_name',
)#

下载数据集并将其提取为 NeMo Curator 接受的格式

参数:
  • urls – 从中下载数据集的网址列表

  • output_paths – 用于保存最终提取输出的路径列表。下载器的原始输出将使用 downloader.download(url) 给出的路径保存。

  • downloader – 一个 DocumentDownloader,用于处理从每个网址检索文件并将其保存到存储

  • iterator – 一个 DocumentIterator,用于处理迭代下载文件的格式

  • extractor – 一个 DocumentExtractor,用于处理从原始格式中提取数据到文本

  • output_format – 一个字典,将列映射到提取后每个数据点的字段的数据类型。

  • output_type – 保存数据集的文件类型。

  • keep_raw_download – 是否保留预提取的下载文件。

  • force_download – 如果为 False,将跳过处理 output_paths 中已存在的所有文件,并直接从中读取。

  • input_meta – 一个字典或格式化为字典的字符串,其中概述了 JSONL 输入文件中的字段名称及其各自的数据类型。

  • filename_col – 包含文件名的列的名称。默认为 “filename_col”

返回:

已下载数据的 DocumentDataset

class nemo_curator.download.import_downloader(downloader_path)#
class nemo_curator.download.import_extractor(extractor_path)#
class nemo_curator.download.import_iterator(iterator_path)#

Common Crawl#

class nemo_curator.download.download_common_crawl(
output_path: str,
start_snapshot: str,
end_snapshot: str,
output_type: str = 'jsonl',
algorithm=<nemo_curator.download.commoncrawl.JusTextExtractor object>,
news=False,
aws=False,
raw_download_dir=None,
keep_raw_download=False,
force_download=False,
url_limit=None,
)#

下载 Common Crawl WARC 快照并使用 jusText 或 Resiliparse 提取它们

参数:
  • output_path – 文件根目录的路径

  • start_snapshot – 要包含的第一个 Common Crawl 快照。快照必须按 YYYY-WeekNumber(例如,“2020-50”或“2021-04”)指定。对于 CC-NEWS 数据集(使用 news=True 标志指定),这会更改为 Year-Month (YYYY-MM)。

  • end_snapshot – 要包含的最后一个 Common Crawl 快照。必须在时间顺序上晚于起始快照。

  • output_type – 保存数据的文件类型。

  • algorithm – JusTextExtractor 或 ResiliparseExtractor 对象。

  • news – 如果为 True,则获取 CC-NEWS 数据集的 WARC URL,而不是 CC-MAIN 数据集。还假定开始和结束快照的格式为“YYYY-MM”(年-月)。

  • aws – 是否从 Common Crawl 的 S3 存储桶下载。如果为 True,则使用 s5cmd 下载。如果为 False,则使用 wget。

  • raw_download_dir – 用于存储原始下载文件以进行中间处理的路径。如果为 None,则它们存储在 output_path 下名为“downloads”的文件夹中。

  • keep_raw_download – 如果为 True,则保留未提取的压缩 WARC 文件。

  • force_download – 如果为 False,将跳过处理 output_paths 中已存在的所有文件,并直接从中读取。

  • url_limit – 从快照下载的原始文件的最大数量。如果为 None,则下载快照范围内的所有文件。

class nemo_curator.download.CommonCrawlWARCDownloader(download_dir, aws=False, verbose=False)#

从 Common Crawl 下载 WARC 文件

class nemo_curator.download.CommonCrawlWARCExtractor(
algorithm=<nemo_curator.download.commoncrawl.JusTextExtractor object>,
)#
class nemo_curator.download.CommonCrawlWARCIterator(log_frequency=1000)#
class nemo_curator.download.CommonCrawlWARCDownloaderExtractOnly(aws=False, verbose=False)#

一个“虚拟”下载器,仅将预下载的文件放入队列中

class nemo_curator.download.JusTextExtractor(
length_low=70,
length_high=200,
stopwords_low=0.3,
stopwords_high=0.32,
max_link_density=0.2,
max_heading_distance=200,
no_headings=False,
logger=None,
)#
class nemo_curator.download.ResiliparseExtractor(
required_stopword_density=0.32,
main_content=True,
alt_texts=False,
)#

维基百科#

class nemo_curator.download.download_wikipedia(
output_path: str,
language: str = 'en',
dump_date=None,
output_type: str = 'jsonl',
raw_download_dir=None,
keep_raw_download=False,
force_download=False,
url_limit=None,
)#

下载最新的维基百科转储并使用 mwparserfromhell 提取它们

参数:
  • output_path – 文件根目录的路径

  • language – 要下载的维基百科文章的语言

  • dump_date – 格式为 “YYYYMMDD” 的字符串,用于表示要使用的维基百科转储。如果为 None,则使用最新的转储。

  • output_type – 保存数据的文件类型。

  • raw_download_dir – 用于存储原始下载文件以进行中间处理的路径。如果为 None,则它们存储在 output_path 下名为“downloads”的文件夹中。

  • keep_raw_download – 如果为 True,则保留未提取的 bz2 文件。

  • force_download – 如果为 False,将跳过处理 output_paths 中已存在的所有文件,并直接从中读取。

  • url_limit – 从快照下载的原始文件的最大数量。如果为 None,则下载快照范围内的所有文件。

class nemo_curator.download.WikipediaDownloader(download_dir, verbose=False)#
class nemo_curator.download.WikipediaIterator(language='en', log_frequency=1000)#
class nemo_curator.download.WikipediaExtractor(language='en', parser=mwparserfromhell)#

Arxiv#

class nemo_curator.download.download_arxiv(
output_path: str,
output_type: str = 'jsonl',
raw_download_dir=None,
keep_raw_download=False,
force_download=False,
url_limit=None,
)#

下载 Arxiv tar 文件并提取它们

参数:
  • output_path – 文件根目录的路径

  • output_type – 保存数据的文件类型。

  • raw_download_dir – 用于存储原始下载文件以进行中间处理的路径。如果为 None,则它们存储在 output_path 下名为“downloads”的文件夹中。

  • keep_raw_download – 如果为 True,则保留未提取的压缩 WARC 文件。

  • force_download – 如果为 False,将跳过处理 output_paths 中已存在的所有文件,并直接从中读取。

  • url_limit – 从快照下载的原始文件的最大数量。如果为 None,则下载快照范围内的所有文件。

class nemo_curator.download.ArxivDownloader(download_dir, verbose=False)#
class nemo_curator.download.ArxivIterator(log_frequency=1000)#
class nemo_curator.download.ArxivExtractor#