torchtext 0.18.0内置数据集全指南:从文本分类到机器翻译,快速选对你的NLP数据集

2025-05-01 人工智能 172 次阅读 0 次点赞
torchtext 0.18.0 内置了丰富的数据集,覆盖文本分类、语言建模、机器翻译、序列标注、问答系统和无监督学习等NLP主要任务。文章分类介绍了AG_NEWS、IMDb、SQuAD、WikiText等常用数据集及其用途,并展示了使用Python加载IMDb数据的简单示例。这些数据集接口标准化,用户无需手动下载预处理,极大降低了NLP研究入门门槛并确保实验可复现性。

在自然语言处理(NLP)的学习和研究中,高质量的数据集是训练有效模型的基础。torchtext作为PyTorch生态中专门处理文本数据的库,内置了丰富的数据集,涵盖了文本分类、语言建模、机器翻译、序列标注、问答系统和无监督学习等多种任务。本文将基于torchtext 0.18.0版本,分类介绍其中内置的主要数据集,帮助读者快速了解和选用合适的数据集。

常用地址

官网:https://docs.pytorch.org/text/stable/index.html

数据集参考:https://docs.pytorch.org/text/stable/datasets.html

快速参考

数据集 主要用途
AG_NEWS 新闻主题分类
AmazonReviewFull 商品评论完整分类(5类)
AmazonReviewPolarity 商品评论情感极性分析(二分类)
CoLA 语法可接受性判断
DBpedia 实体分类 / 知识图谱
IMDb 电影评论情感分析
MNLI 自然语言推理
MRPC 句子对语义等价判断
QNLI 问答驱动的自然语言推理
QQP 问题对语义重复判断
RTE 文本蕴含识别
SogouNews 中文新闻分类(拼音版)
SST2 单句子情感分类
STSB 语义文本相似度评分
WNLI 代词指代消解推理
YahooAnswers 问答主题分类
YelpReviewFull 商户评论星级分类(5类)
YelpReviewPolarity 商户评论情感极性分析(二分类)
PennTreebank 语言建模 / 词性标注 / 句法分析
WikiText-2 小规模语言建模
WikiText103 大规模语言建模
IWSLT2016 德语↔英语口语翻译
IWSLT2017 德语↔英语口语翻译
Multi30k 多模态机器翻译(图像+文本)
CoNLL2000Chunking 文本分块
UDPOS 词性标注 / 依存句法分析
SQuAD 1.0 机器阅读理解(提取式问答)
SQuAD 2.0 机器阅读理解(含无答案问题)
CC100 多语言预训练(100+语言)
EnWik9 无监督预训练 / 字符级语言建模

文本分类(Text Classification)

文本分类是NLP中最基础的任务之一,torchtext提供了大量著名的分类数据集。

AG_NEWS

新闻分类数据集,包含世界、体育、商业、科技4个类别。有超过100万篇新闻文章,训练集每类3万样本,测试集每类1900样本。

AmazonReviewFull

完整的亚马逊评论数据集,包含3468万条商品评论。每类60万训练样本,13万测试样本。

AmazonReviewPolarity

亚马逊评论的情感极性数据集(二分类),是完整版的子集。每类180万训练样本,20万测试样本。

CoLA

语言可接受性语料库,单句子二分类任务(判断句子是否合乎语法)。

DBpedia

基于维基百科信息构建的开源知识图谱数据库,常用于实体分类等任务。

IMDb

著名的电影评论情感分析数据集,包含5万条已标注正负面的评论(2.5万训练,2.5万测试)。

MNLI

大规模自然语言推理数据集,包含43.3万个句子对,标签分为蕴含、中立、矛盾三类。

MRPC

微软研究释义语料库,用于句子对相似度评估和释义识别,包含5801对句子。

QNLI

源于SQuAD问答数据集,用于自然语言推理任务,判断第二个句子是否为第一个问题的正确答案。

QQP

Quora问题对数据集,判断两个问题是否语义相同,包含约40万对问题。

RTE

识别文本蕴含数据集,整合自多个年度挑战赛的数据,二分类任务。

SogouNews

搜狗新闻语料库(拼音版),共5个类别,每类9万训练样本、1.2万测试样本。

SST2

斯坦福情感树库的二分类版本,常用于情感分析任务。

STSB

语义文本相似度数据集,包含8628对句子,相似度评分0-5。

WNLI

Winograd自然语言推理数据集,用于评估模型对代词指代关系的理解。

YahooAnswers

Yahoo Answers综合问答数据集的10个主要类别数据,每类14万训练样本、5000测试样本。

YelpReviewFull

Yelp网站评论数据(五星级分类),包含65万训练样本和5万测试样本。

YelpReviewPolarity

Yelp评论的情感极性数据集(二分类),包含56万训练样本、3.8万测试样本。

语言建模(Language Modeling)

语言建模任务通常需要大规模的连续文本数据,用于训练模型预测下一个词。

PennTreebank

宾州树库,来源于新闻、书籍等,常用于语言模型、词性标注和句法分析任务。

WikiText-2

维基百科文章组成的小规模语言建模数据集,约含1000万词。

WikiText103

维基百科Good与Featured文章中提炼的大规模语料,约含1.03亿词。

机器翻译(Machine Translation)

机器翻译任务需要平行语料(源语言-目标语言对)。

IWSLT2016

国际口语翻译研讨会提供的德语-英语平行语料库,专注于口语翻译任务。

IWSLT2017

同样来自IWSLT的德语-英语平行语料库,版本不同。

Multi30k

多语言数据集,包含约3万个Flickr图像及其对应的英语、德语和法语描述,支持机器翻译和图像描述任务。

序列标注(Sequence Tagging)

序列标注任务包括词性标注、分块(Chunking)等。

CoNLL2000Chunking

用于文本分块(将文本划分为句法相关的非重叠单词组)的数据集。

UDPOS

解析的文本语料库,用于阐明句法或语义句子结构。包含约25.5万单词和1.66万个句子,来源于博客、新闻组等多种网络媒体。

问题解答(Question Answering)

问答/机器阅读理解任务要求模型从给定文本中提取答案。

SQuAD 1.0

斯坦福问答数据集,广泛用于机器阅读理解和问答系统研究。

SQuAD 2.0

SQuAD的升级版,增加了无答案问题的设置,更具挑战性。

无监督学习(Unsupervised Learning)

CC100

包含100多种语言单语数据的大规模多语文本数据集,用于预训练语言模型(如XLM-R)。

EnWik9

由UTF-8编码的英文维基百科XML组成,包含约24.3万个文章标题,适用于无监督预训练。

使用方法

使用torchtext加载内置数据集非常简单。例如,加载IMDb数据集:

from torchtext.datasets import IMDB

# 加载训练集和测试集
train_iter, test_iter = IMDB(split=('train', 'test'))

# 查看一个样本
for label, text in train_iter:
    print(f"标签: {label}, 评论片段: {text[:50]}...")
    break

大多数数据集支持通过split参数指定需要加载的集合(如训练集、验证集、测试集),返回的数据是可迭代的DataPipe对象,方便与PyTorch的DataLoader无缝集成。

总结

torchtext内置的数据集覆盖了NLP的主要研究方向,从入门级的IMDb、AG_NEWS,到研究常用的SQuAD、MNLI,再到大规模预训练使用的WikiText103、CC100,用户无需手动下载和预处理即可快速开始实验。这些标准化接口极大地降低了NLP研究的入门门槛,也确保了实验的可复现性。

在实际使用时,建议参考官方文档获取各数据集的具体参数和最新动态,以便更高效地开展研究工作。

最后更新于1小时前

评论 (0)

登录 后发表评论

暂无评论,快来发表第一条评论吧!