因此,如果我在初始化num_words
时不传递Tokenizer()
参数,那么在将其用于标记训练数据集后如何找到词汇量呢?
为什么用这种方式,我不想限制 token 生成器的词汇量,以了解我的Keras模型在没有它的情况下的表现如何。但是然后我需要将此词汇量作为模型第一层定义中的参数来传递。
最佳答案
所有单词及其索引都将存储在字典中,您可以使用tokenizer.word_index
访问它。因此,您可以根据此词典中元素的数量找到唯一词的数量:
num_words = len(tokenizer.word_index) + 1
该
+ 1
是因为保留了填充(即索引零)。注意:此解决方案(显然)适用于您未设置
num_words
参数(即您不知道或不想限制单词数)的情况,因为word_index
包含所有单词(并且不仅是最常用的单词)个字),无论您是否设置num_words
。关于machine-learning - 未分配时如何查找Keras标记生成器的 "num_words"或词汇量?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53525994/