[NLP] TorchText 使用指南

TorchText 是 PyTorch 的一个功能包,主要提供文本数据读取、创建迭代器的的功能与语料库、词向量的信息,分别对应了 torchtext.datatorchtext.datasetstorchtext.vocab 三个子模块。本文参考了三篇文章

1. 语料库 torchtext.datasets

TorchText 内建的语料库有:

  • Language Modeling
    • WikiText-2
    • WikiText103
    • PennTreebank
  • Sentiment Analysis
    • SST
    • IMDb
  • Text Classification
    • TextClassificationDataset
    • AG_NEWS
    • SogouNews
    • DBpedia
    • YelpReviewPolarity
    • YelpReviewFull
    • YahooAnswers
    • AmazonReviewPolarity
    • AmazonReviewFull
  • Question Classification
    • TREC
  • Entailment
    • SNLI
    • MultiNLI
  • Machine Translation
    • Multi30k
    • IWSLT
    • WMT14
  • Sequence Tagging
    • UDPOS
    • CoNLL2000Chunking
  • Question Answering
    • BABI20
  • Unsupervised Learning
    • EnWik9

2. 预训练的词向量 torchtext.vocab

TorchText 内建的预训练词向量有:

  • charngram.100d
  • fasttext.en.300d
  • fasttext.simple.300d
  • glove.42B.300d
  • glove.840B.300d
  • glove.twitter.27B.25d
  • glove.twitter.27B.50d
  • glove.twitter.27B.100d
  • glove.twitter.27B.200d
  • glove.6B.50d
  • glove.6B.100d
  • glove.6B.200d
  • glove.6B.300d

3. 数据读取、数据框的创建 torchtext.data

3.1 创建 Field

Field 可以理解为一个告诉 TorchText 如何处理字段的声明。

torchtext.data.Field(sequential=True, use_vocab=True, init_token=None, eos_token=None, fix_length=None, dtype=torch.int64, preprocessing=None, postprocessing=None, lower=False, tokenize=None, tokenizer_language='en', include_lengths=False, batch_first=False, pad_token='<pad>', unk_token='<unk>', pad_first=False, truncate_first=False, stop_words=None, is_target=False)

参数很多,这里仅仅介绍主要参数:

  • sequential:是否为已经被序列化的数据,默认为 True;
  • use_vocab:是否应用词汇表。若为 False 则数据应该已经是数字形式,默认为 True;
  • init_token:序列开头填充的 token,默认为 None 即不填充;
  • eos_token:序列结尾填充的 token,默认为 None 即不填充;
  • lower:是否将文本转换为小写,默认为 False;
  • tokenize:分词器,默认为 string.split
  • batch_first:batch 是否在第一维上;
  • pad_token:填充的 token,默认为 “”;
  • unk_token:词汇表以外的词汇的表示,默认为 “”;
  • pad_first:是否在序列的开头进行填充;默认为 False;
  • truncate_first:是否在序列的开头将序列超过规定长度的部分进行截断;默认为 Fa
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值