当使用来自HuggingFace的Transformers时,我面临编码和解码方法的问题。

我有以下字符串:

test_string = 'text with percentage%'


然后,我运行以下代码:

import torch
from transformers import BertTokenizer

tokenizer = BertTokenizer.from_pretrained('bert-base-cased')

test_string = 'text with percentage%'

# encode Converts a string in a sequence of ids (integer), using the tokenizer and vocabulary.
input_ids = tokenizer.encode(test_string)
output = tokenizer.decode(input_ids)


输出看起来像这样:

'text with percentage %'


%之前有多余的空格。我尝试了像clean_up_tokenization_spaces这样的额外参数,但这是不同的东西。

如何在解码和编码中使用什么来获得前后完全相同的文本。其他特殊标志也会发生这种情况。

最佳答案

根据https://github.com/huggingface/transformers/pull/1274,他们正在努力。希望下周某个时候有解决方案。

08-19 22:57