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):最常见的对。