Keras Tokenizer num_words 指定了什么?

鉴于这段代码:


from tensorflow.keras.preprocessing.text import Tokenizer


sentences = [

    'i love my dog',

    'I, love my cat',

    'You love my dog!'

]


tokenizer = Tokenizer(num_words = 1)

tokenizer.fit_on_texts(sentences)

word_index = tokenizer.word_index

print(word_index)

无论num_words=1或num_words=100,当我在 jupyter 笔记本上运行此单元时,我都会得到相同的输出,而且我似乎无法理解它在标记化方面有何不同。


{'爱': 1, '我的': 2, '我': 3, '狗': 4, '猫': 5, '你': 6}


慕沐林林
浏览 99回答 1
1回答

慕田峪4524236

word_index 它只是整个文本语料库的单词到 id 的映射,无论 num_words 是什么区别在用法上很明显。例如,如果我们调用texts_to_sequencessentences = [    'i love my dog',    'I, love my cat',    'You love my dog!']tokenizer = Tokenizer(num_words = 1+1)tokenizer.fit_on_texts(sentences)tokenizer.texts_to_sequences(sentences) # [[1], [1], [1]]仅返回爱情 ID,因为最常见的单词反而sentences = [    'i love my dog',    'I, love my cat',    'You love my dog!']tokenizer = Tokenizer(num_words = 100+1)tokenizer.fit_on_texts(sentences)tokenizer.texts_to_sequences(sentences) # [[3, 1, 2, 4], [3, 1, 2, 5], [6, 1, 2, 4]]返回最常见的 100 个单词的 id
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python