subwordTextEncoder的输出范围

来源:10-17 mask构建

wxz123

2020-02-05

en_tokenizer = tfds.features.text.SubwordTextEncoder.build_from_corpus(
    (en.numpy() for pt, en in train_examples),
    target_vocab_size = 2 ** 13)

老师,这个subwordTextEncoder如果输出范围是[1, vocab_size),那这个范围的长度不就是vocab_size-1吗,而vocab_size的含义本身就是subwordTextEncoder输出的词表的长度,这前后不矛盾了吗,如果subwordTextEncoder输出的范围是[1, vocab_size+1),那

pt_sequence = [pt_tokenizer.vocab_size] \
    + pt_tokenizer.encode(pt_sentence.numpy()) \
    + [pt_tokenizer.vocab_size + 1]

的[pt_tokenizer.vocab_size]充当start_id就不太合适吧?

写回答

1回答

正十七

2020-02-05

但是从文档解释看,这个输出就是[1, vocab_size), 你可以认为0是这个encoder预留的UNK位置用来做padding的。这样就合理了。

0
0

Google老师亲授 TensorFlow2.0 入门到进阶

Tensorflow2.0实战—以实战促理论的方式学习深度学习

1849 学习 · 896 问题

查看课程