【发布时间】:2020-10-23 11:39:04
【问题描述】:
我正在使用 keras 嵌入和使用 Keras 标记器。起初,我没有使用 oov_token(用于未知令牌),并且我的标记器 word_counts 的长度为 54。
对于embedding,我以前给my_tokenizer.word_counts+1给input_dim,后来我需要处理未知的token,所以我把我的代码改成following
my_tokenizer = Tokenizer(oov_token="<UKN>") # First it was Tokenizer()
my_tokenizer.fit_on_texts(my_tokens)
my_sequences = module_tokenizer.texts_to_sequences(my_tokens)
但是在将未知令牌(索引 1 为 {'<UNK':1,..} )与 my_tokenizer.word_counts+1 添加为 input_dim 之后,我得到了类似索引的错误
55 not in indices [0,55]
我的 word_count(my_tokenizer.word_counts+1) 是 55(比上一个方法多一个(54),没有未知令牌)。
现在,如果我在我的词汇量 (my_tokenizer.word_counts) 中添加 2,它可以正常工作
layers.Embedding( my_tokenizer.word_counts+2 , ... )
但我不明白为什么我需要添加 2(设为 56)
非常感谢您的帮助
【问题讨论】:
标签: python keras nlp tokenize embedding