[tokenizer中的令牌到单词的映射,解码步骤在拥抱面?

问题描述 投票:0回答:1

是否有一种方法可以知道从令牌到tokenizer.decode()函数中原始单词的映射?例如:

from transformers.tokenization_roberta import RobertaTokenizer

tokenizer = RobertaTokenizer.from_pretrained('roberta-large', do_lower_case=True)

str = "This is a tokenization example"
tokenized = tokenizer.tokenize(str) 
## ['this', 'Ġis', 'Ġa', 'Ġtoken', 'ization', 'Ġexample']

encoded = tokenizer.encode_plus(str) 
## encoded['input_ids']=[0, 42, 16, 10, 19233, 1938, 1246, 2]

decoded = tokenizer.decode(encoded['input_ids']) 
## '<s> this is a tokenization example</s>'

并且目标是具有一个将decode进程中的每个令牌映射到正确的输入单词的函数,因为在这里它是:desired_output = [[1],[2],[3],[4,5],[6]]因为this对应于ID 42,而tokenization对应于[19244,1938]数组的索引4,5上的ID input_ids

是否有一种方法可以知道从令牌到tokenizer.decode()函数中原始单词的映射?例如:从transformers.tokenization_roberta导入RobertaTokenizer ...

pytorch tokenize huggingface-transformers
1个回答
1
投票

据我所知,它们不是内置方法,但是您可以自己创建一个:

© www.soinside.com 2019 - 2024. All rights reserved.