forked from huawei/mindspore2022
38 lines
2.6 KiB
ReStructuredText
38 lines
2.6 KiB
ReStructuredText
.. py:method:: 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词汇表。
|
||
|
||
.. py:method:: build_vocab(columns, freq_range, top_k, special_tokens, special_first)
|
||
|
||
迭代源数据集对象获取数据并构建词汇表。
|
||
|
||
收集数据集中所有的不重复单词,并返回 `top_k` 个最常见的单词组成的词汇表(如果指定了 `top_k` )。
|
||
|
||
**参数:**
|
||
|
||
- **columns** (Union[str, list[str]]) :指定 `build_vocab` 操作的输入列,会从该列获取数据构造词汇表。
|
||
- **freq_range** (tuple[int]) - 由(min_frequency, max_frequency)组成的整数元组,代表词汇出现的频率范围,在这个频率范围的词汇会被保存下来。
|
||
取值范围需满足:0 <= min_frequency <= max_frequency <= 单词总数,其中min_frequency、max_frequency的默认值分别设置为0、单词总数。
|
||
- **top_k** (int) - 使用 `top_k` 个最常见的单词构建词汇表。 假如指定了参数 `freq_range` ,则优先统计给定频率范围内的词汇,再根据参数 `top_k` 选取最常见的单词构建词汇表。
|
||
如果 `top_k` 的值大于单词总数,则取所有单词构建词汇表。
|
||
- **special_tokens** (list[str]) - 指定词汇表的特殊标记(special token),如'[UNK]'、'[SEP]'。
|
||
- **special_first** (bool) - 是否将参数 `special_tokens` 指定的特殊标记添加到词汇表的开头。如果为True则放到开头,否则放到词汇表的结尾。
|
||
|
||
**返回:**
|
||
|
||
构建好的词汇表。
|