目录

torchtext.data.functional

generate_sp_model

torchtext.data.functional.generate_sp_model(文件名vocab_size=20000model_type='unigram'model_prefix='m_user'[来源]

训练 SentencePiece 分词器。

参数
  • filename – 用于训练 SentencePiece 模型的数据文件。

  • vocab_size – 词汇表的大小(默认值:20,000)。

  • model_type – SentencePiece 模型的类型,包括 unigram, bpe, char, 单词。

  • model_prefix – 保存 model 和 vocab 的文件的前缀。

输出:
模型和词汇保存在两个单独的文件中,其中

model_prefix。

例子

>>> from torchtext.data.functional import generate_sp_model
>>> generate_sp_model('test.csv', vocab_size=23456, model_prefix='spm_user')

load_sp_model

torchtext.data.functional.load_sp_model(SPM[来源]

加载 file 的 sentencepiece 模型。

参数

spm – 保存句子模型的文件路径或文件对象。

输出:

output:一个 SentencePiece 模型。

例子

>>> from torchtext.data.functional import load_sp_model
>>> sp_model = load_sp_model("m_user.model")
>>> sp_model = load_sp_model(open("m_user.model", 'rb'))

sentencepiece_numericalizer

torchtext.data.functional.sentencepiece_numericalizer(sp_model[来源]
将文本句子数值化为的 sentencepiece model

一个基于 ID 的生成器。

参数

sp_model – 一个 SentencePiece 模型。

输出:
output:一个生成器,其中包含 text sentence 的 input 和

基于 SentencePiece 模型的相应 id。

例子

>>> from torchtext.data.functional import sentencepiece_numericalizer
>>> sp_id_generator = sentencepiece_numericalizer(sp_model)
>>> list_a = ["sentencepiece encode as pieces", "examples to   try!"]
>>> list(sp_id_generator(list_a))
    [[9858, 9249, 1629, 1305, 1809, 53, 842],
     [2347, 13, 9, 150, 37]]

sentencepiece_tokenizer

torchtext.data.functional.sentencepiece_tokenizer(sp_model[来源]
将文本句子标记成的句子模型

令牌的生成器。

参数

sp_model – 一个 SentencePiece 模型。

输出:
output:一个生成器,其中包含 text sentence 的 input 和

基于 SentencePiece 模型的相应标记。

例子

>>> from torchtext.data.functional import sentencepiece_tokenizer
>>> sp_tokens_generator = sentencepiece_tokenizer(sp_model)
>>> list_a = ["sentencepiece encode as pieces", "examples to   try!"]
>>> list(sp_tokens_generator(list_a))
    [['_sentence', 'piece', '_en', 'co', 'de', '_as', '_pieces'],
     ['_example', 's', '_to', '_try', '!']]

custom_replace

torchtext.data.functional.custom_replace(replace_pattern[来源]

用于转换文本字符串的转换。

例子

>>> from torchtext.data.functional import custom_replace
>>> custom_replace_transform = custom_replace([(r'S', 's'), (r'\s+', ' ')])
>>> list_a = ["Sentencepiece encode  aS  pieces", "exampleS to   try!"]
>>> list(custom_replace_transform(list_a))
    ['sentencepiece encode as pieces', 'examples to try!']

simple_space_split

torchtext.data.functional.simple_space_split(迭代器[来源]

按空格拆分文本字符串的转换。

例子

>>> from torchtext.data.functional import simple_space_split
>>> list_a = ["Sentencepiece encode as pieces", "example to try!"]
>>> list(simple_space_split(list_a))
    [['Sentencepiece', 'encode', 'as', 'pieces'], ['example', 'to', 'try!']]

numericalize_tokens_from_iterator

torchtext.data.functional.numericalize_tokens_from_iterator(词汇迭代器removed_tokens=无[来源]

从带有词汇表的令牌迭代器中生成 id 列表。

参数
  • 词汇表 – 词汇表将标记转换为 ID。

  • iterator – iterator 生成一个 tokens 列表。

  • removed_tokens – 从输出数据集中删除的标记 (默认值:None)

例子

>>> from torchtext.data.functional import simple_space_split
>>> from torchtext.data.functional import numericalize_tokens_from_iterator
>>> vocab = {'Sentencepiece' : 0, 'encode' : 1, 'as' : 2, 'pieces' : 3}
>>> ids_iter = numericalize_tokens_from_iterator(vocab,
>>>                               simple_space_split(["Sentencepiece as pieces",
>>>                                                   "as pieces"]))
>>> for ids in ids_iter:
>>>     print([num for num in ids])
>>> [0, 2, 3]
>>> [2, 3]

filter_wikipedia_xml

torchtext.data.functional.filter_wikipedia_xml(text_iterator[来源]

根据 https://github.com/facebookresearch/fastText/blob/master/wikifil.pl 过滤 wikipedia xml 行

参数

text_iterator – 生成字符串的迭代器类型对象。示例包括字符串列表、文本 io、生成器等。

例子

>>> from torchtext.data.functional import filter_wikipedia_xml
>>> from torchtext.datasets import EnWik9
>>> data_iter = EnWik9(split='train')
>>> filter_data_iter = filter_wikipedia_xml(data_iter)
>>> file_name = '.data/EnWik9/enwik9'
>>> filter_data_iter = filter_wikipedia_xml(open(file_name,'r'))

to_map_style_dataset

torchtext.data.functional.to_map_style_dataset(iter_data[来源]

将可迭代样式的数据集转换为地图样式的数据集。

参数

iter_data – 迭代器类型对象。示例包括 Iterable 数据集、字符串列表、文本 io、生成器等。

例子

>>> from torchtext.datasets import IMDB
>>> from torchtext.data import to_map_style_dataset
>>> train_iter = IMDB(split='train')
>>> train_dataset = to_map_style_dataset(train_iter)
>>> file_name = '.data/EnWik9/enwik9'
>>> data_iter = to_map_style_dataset(open(file_name,'r'))

文档

访问 PyTorch 的全面开发人员文档

查看文档

教程

获取面向初学者和高级开发人员的深入教程

查看教程

资源

查找开发资源并解答您的问题

查看资源