mindspore.dataset.TextBaseDataset.build_sentencepiece_vocab
- mindspore.dataset.TextBaseDataset.build_sentencepiece_vocab(columns, vocab_size, character_coverage, model_type, params)[源代码]
迭代源数据集对象获取数据并构建SentencePiece词汇表。 源数据集要求的是文本类数据集。
- 参数:
columns (list[str]) - 指定 build_sentencepiece_vocab 操作的输入列,会从该列获取数据构造词汇表。
vocab_size (int) - 词汇表的容量。
character_coverage (float) - 模型涵盖的字符百分比,必须介于0.98和1.0之间。 对于具有丰富字符集的语言,如日语或中文字符集,推荐使用0.9995;对于其他字符集较小的语言,比如英语或拉丁文,推荐使用1.0。
model_type (SentencePieceModel) - 训练的SentencePiece模型类型,可取值为 ‘SentencePieceModel.UNIGRAM’、 ‘SentencePieceModel.BPE’、 ‘SentencePieceModel.CHAR’或 ‘SentencePieceModel.WORD’。 当取值为 ‘SentencePieceModel.WORD’时,输入的数据必须进行预分词(pretokenize)。默认值:SentencePieceModel.UNIGRAM。
params (dict) - 如果希望使用SentencePiece的其他参数,可以构造一个dict进行传入,键为SentencePiece库接口的输入参数名,值为参数值。
- 返回:
构建好的SentencePiece词汇表。
样例:
>>> from mindspore.dataset.text import SentencePieceModel >>> >>> # You can construct any text dataset as source, take TextFileDataset as example. >>> dataset = ds.TextFileDataset("/path/to/sentence/piece/vocab/file", shuffle=False) >>> dataset = dataset.build_sentencepiece_vocab(["text"], 5000, 0.9995, SentencePieceModel.UNIGRAM, {})