Utilisation de num_words dans la classe tokenizer dans Keras [duplicate]
Aug 30 2020
Je voulais comprendre la différence entre,
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)
O / P - {'love': 1, 'my': 2, 'i': 3, 'dog': 4, 'cat': 5, 'you': 6}
contre
from tensorflow.keras.preprocessing.text import Tokenizer
sentences = [
'i love my dog',
'I, love my cat',
'You love my dog!'
]
tokenizer = Tokenizer(num_words = 100)
tokenizer.fit_on_texts(sentences)
word_index = tokenizer.word_index
print(word_index)
O / P - {'love': 1, 'my': 2, 'i': 3, 'dog': 4, 'cat': 5, 'you': 6}
Si le tokeniser indexe dynamiquement tous les mots uniques, à quoi sert-il num_words?
Réponses
1 MarcoCerliani Aug 30 2020 at 14:39
word_index c'est simplement un mappage de mots en identifiants pour tout le corpus de texte passé quel que soit le nombre de mots
la différence est évidente dans l'utilisation. par exemple, si nous appelonstexts_to_sequences
sentences = [
'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]]
seul l'identifiant d'amour est renvoyé car le mot le plus fréquent
au lieu
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]]
les identifiants des 100 mots les plus fréquents sont renvoyés