推荐答案
在 PyTorch 的 torchtext 库中,提供了以下常用的数据集:
- IMDB: 用于情感分析的电影评论数据集。
- AG_NEWS: 新闻分类数据集,包含四个类别:世界、体育、商业和科技。
- SogouNews: 搜狗新闻数据集,用于中文新闻分类。
- DBpedia: 维基百科条目分类数据集,包含14个类别。
- YelpReviewPolarity: Yelp 评论数据集,用于情感分析,包含正面和负面评论。
- YelpReviewFull: Yelp 评论数据集,包含1到5星的评分。
- YahooAnswers: 雅虎问答数据集,包含10个类别。
- AmazonReviewPolarity: 亚马逊评论数据集,用于情感分析,包含正面和负面评论。
- AmazonReviewFull: 亚马逊评论数据集,包含1到5星的评分。
- WikiText-2: 用于语言建模的维基百科文本数据集。
- WikiText-103: 更大的维基百科文本数据集,用于语言建模。
- PennTreebank: 用于语言建模的宾夕法尼亚树库数据集。
- SNLI: 斯坦福自然语言推理数据集,用于文本蕴含任务。
- Multi30k: 多语言图像描述数据集,包含英语、德语和法语的描述。
本题详细解读
torchtext 是 PyTorch 中用于处理文本数据的库,它提供了许多常用的数据集,方便用户进行自然语言处理(NLP)任务的实验和开发。这些数据集涵盖了从情感分析、文本分类到语言建模等多个领域。
数据集的使用
在使用这些数据集时,通常需要先通过 torchtext.datasets 模块加载数据集。例如,加载 IMDB 数据集的代码如下:
from torchtext.datasets import IMDB
# 加载 IMDB 数据集
train_iter, test_iter = IMDB(split=('train', 'test'))数据预处理
torchtext 还提供了丰富的数据预处理工具,如 torchtext.data.Field 和 torchtext.data.BucketIterator,可以帮助用户对文本数据进行分词、构建词汇表、生成批次等操作。
示例代码
以下是一个简单的示例,展示如何使用 torchtext 加载 IMDB 数据集并进行预处理:
// www.javascriptcn.com code example
import torchtext
from torchtext.data import Field, LabelField, BucketIterator
# 定义字段
TEXT = Field(tokenize='spacy', tokenizer_language='en_core_web_sm', lower=True)
LABEL = LabelField(dtype=torch.float)
# 加载数据集
train_data, test_data = torchtext.datasets.IMDB.splits(TEXT, LABEL)
# 构建词汇表
TEXT.build_vocab(train_data, max_size=25000, vectors="glove.6B.100d", unk_init=torch.Tensor.normal_)
LABEL.build_vocab(train_data)
# 创建迭代器
train_iterator, test_iterator = BucketIterator.splits(
(train_data, test_data),
batch_size=64,
device=device)通过这种方式,用户可以方便地加载和处理 torchtext 提供的常用数据集,从而快速构建和训练 NLP 模型。