mindspore.dataset.text.transforms.SentencePieceTokenizer
- class mindspore.dataset.text.transforms.SentencePieceTokenizer(mode, out_type)[源代码]
使用SentencePiece分词器对字符串进行分词。
参数:
mode (Union[str, SentencePieceVocab]) - SentencePiece模型。 如果输入是字符串类型,则代表要加载的SentencePiece模型文件的路径; 如果输入是SentencePieceVocab类型,则要求是构造好的
mindspore.dataset.text.SentencePieceVocab
对象。out_type (SPieceTokenizerOutType) - 分词器输出的类型,可以取值为 SPieceTokenizerOutType.STRING 或 SPieceTokenizerOutType.INT。
SPieceTokenizerOutType.STRING,表示SentencePice分词器的输出类型是str。
SPieceTokenizerOutType.INT,表示SentencePice分词器的输出类型是int。
异常:
TypeError - 参数 mode 的类型不是字符串或
mindspore.dataset.text.SentencePieceVocab
。TypeError - 参数 out_type 的类型不是 :class::mindspore.dataset.text.SPieceTokenizerOutType 。
- 支持平台:
CPU
样例:
>>> from mindspore.dataset.text import SentencePieceModel, SPieceTokenizerOutType >>> sentence_piece_vocab_file = "/path/to/sentence/piece/vocab/file" >>> vocab = text.SentencePieceVocab.from_file([sentence_piece_vocab_file], 5000, 0.9995, ... SentencePieceModel.UNIGRAM, {}) >>> tokenizer = text.SentencePieceTokenizer(vocab, out_type=SPieceTokenizerOutType.STRING) >>> text_file_dataset = text_file_dataset.map(operations=tokenizer)