根据this link, target_vocab_size:
int,要创建的词汇表的大致大小。该语句对我来说很模棱两可。据我了解,编码器会将每个词汇表映射到唯一的ID。如果语料库的vocab_size
比target_vocab_size
大,会发生什么?
答案 0 :(得分:3)
编码是完全可逆的,因为所有浊音词都是字节编码的
这意味着未知单词将一次被编码一个字符。最好通过一个例子来理解。假设您使用非常庞大的英文文本库来构建SubwordTextEncoder
,以便大多数常用单词都在词汇表中。
vocab_size = 10000
tokenizer = tfds.features.text.SubwordTextEncoder.build_from_corpus(
corpus_sentences, vocab_size)
假设您尝试标记以下句子。
tokenizer.encode("good badwords badxyz")
它将被标记为:
如您所见,由于单词“ xyz”不在词汇表中,因此被标记为字符。