mindtext.modules.tokenlizer.tokenization_roberta

bytes_to_unicode ()

返回

  • dict(zip):返回utf-8的列表和一个到Unicode的映射。

get_pairs (word: tuple)

返回word中的字符对集

参数

  • word (tuple): 字符的一个输入元组。

返回

  • pairs():可变长度里的字符。

roberta_tokenize (text: str, add_prefix_space=True)

base robert的tokenize

参数

  • text (str): 输入文本。

  • add_prefix_space (bool): 当True的时候确保和Roberta在训练时一样。

返回

  • tokens (list):token的列表。

class mindtext.modules.tokenlizer.tokenization_roberta.RobertaTokenizer (vocab_file, merges_file, errors=”replace”, bos_token=”s>”, eos_token=”/s>”, sep_token=”/s>”, cls_token=”s>”, unk_token=””, pad_token=””, mask_token=””, **kwargs)

init (vocab_file, merges_file, errors=”replace”, bos_token=”s>”, eos_token=”/s>”, sep_token=”/s>”, cls_token=”s>”, unk_token=””, pad_token=””, mask_token=””,**kwargs)

参数

  • vocab_file (int): vacab文件的路径。

  • merges_file (float): merges文件的路径,merge文件包含所欲的token。

  • _token (): 特殊字符。

bpe (token: list)

字节层面的字节对编码

Example

>>> the spaces at the beginning of a string:
>>>tokenizer.decode(tokenizer.encode(" Hello")) = "Hello"

参数

  • token (list): 输入的token。

返回

  • word(tuple):token的元组。

_tokenize (text: str, add_prefix_space=False)

对一个字符串进行tokenize

参数

  • text (str): 输入的文本。

  • add_prefix_space (bool): 至少以一个空格开始一个句子以保证在RoBERTa tokenizers的顺序不变,默认为False

返回

  • bpe_tokens(tuple):BPE的tokens。

convert_tokens_to_string (token: list)

将一个tokens的序列转化为一个单独的字符串

参数

  • token (list): 输入的token。

返回

  • text(list):输出的字符串。

tokenize (text: str, add_prefix_space=True)

将一个字符串转换成一序列的tokens

参数

  • text (str): 要被编码的序列。

  • add_prefix_space (bool): 至少以一个空格开始一个句子以保证在RoBERTa tokenizers的顺序不变,默认为True。

返回

  • tokenized_text(list):被tokenized的文本。

convert_tokens_to_ids (token: list)

将一个token使用字典转化为一个单独的整数

参数

  • token (list): 输入的token。

返回

  • id(list):转换完的id。

convert_ids_to_tokens (ids: list, skip_special_tokens=False)

将一个单独的索引或者是一序列的索引转化成token,使用字典和添加的tokens

参数

  • skip_special_tokens (bool): 不要解码特殊字符。

返回

  • token(list):转换完的token。

convert_id_to_tokens (token_ids, skip_special_tokens=False, clean_up_tokenization_spaces=True)

使用字典将一序列的ids转化成一个字符串。

返回

  • token(list):转换完的token。

encode (text: str, add_special_tokens=False, add_prefix_space=True)

给定一个文本输入,编码成索引格式的数据

Example

>>> from mindtext.modules.tokenlizer import tokenization_roberta
>>>roberta_tokenizer = tokenization_roberta.from_pretrained('en')
>>>print(tokenization_roberta.encode('from'))
>>>print(tokenization_roberta.encode("This is a demo sentence"))
>>>print(tokenization_roberta.encode(["This", "is", 'a']))

参数

  • text (str): 输入的text。

  • add_special_tokens (bool): 是否确保句子的开始或者结束token是CLS和SEP。

  • add_prefix_space (bool): 至少以一个空格开始一个句子以保证在RoBERTa tokenizers的顺序不变,默认为True。

返回

  • word_pieces(tuple):索引格式的数据。

get_used_merge_pair_vocab (token: list)

如果token没有被找到,他会被分成字母返回

Example

>>> If the word is "abcd",it will  split into((a,b), (b,c), (c, d), (e,f))

参数

  • token (lsit): 输入的token。

返回

  • word(tuple):分隔好的word。

  • used_pairs(dict):最常见的对。