Traduction automatique avec Keras
Thushan Ganegedara
Data Scientist and Author
La phrase :
'les états-unis est parfois occupé en janvier , et il est parfois chaud en novembre .'
devient :
'sos les états-unis est parfois occupé en janvier , et il est parfois chaud en novembre . eos',
après ajout de jetons spéciaux
sos - Début de phrase/séquenceeos - Fin de phrase/séquenceLes ensembles de données réels n'ont jamais le même nombre de mots par phrase
Importer pad_sequences
from tensorflow.keras.preprocessing.sequence import pad_sequences
sentences = [
'new jersey is sometimes quiet during autumn .',
'california is never rainy during july , but it is sometimes beautiful in february .'
]
seqs = en_tok.texts_to_sequences(sentences)
preproc_text = pad_sequences(seqs, padding='post', truncating='post', maxlen=12)for orig, padded in zip(seqs, preproc_text): print(orig, ' => ', padded)
La première phrase reçoit cinq 0 ajoutés à la fin :
# 'new jersey is sometimes quiet during autumn .',
[18, 20, 2, 10, 32, 5, 46] => [18 20 2 10 32 5 46 0 0 0 0 0]
La deuxième phrase est tronquée d'un mot à la fin :
# 'california is never rainy during july , but it is sometimes beautiful in february .'
[21, 2, 11, 47, 5, 41, 7, 4, 2, 10, 30, 3, 38] => [ 12 2 11 47 5 41 7 4 2 10 30 3]

sentences = ["california is never rainy during july .",]
seqs = en_tok.texts_to_sequences(sentences)
pad_seq = preproc_text = pad_sequences(seqs, padding='post', truncating='post', maxlen=12)
[[21 2 9 25 5 27 0 0 0 0 0 0]]
pad_seq
[[21 2 9 25 5 27 0 0 0 0 0 0]]
pad_seq = pad_seq[:,::-1]
[[ 0 0 0 0 0 0 27 5 25 9 2 21]]
rev_sent = [en_tok.index_word[wid] for wid in pad_seq[0][-6:]]
print('Sentence: ', sentences[0])
print('\tReversed: ',' '.join(rev_sent))
Sentence: california is never rainy during july .
Reversed: july during rainy never is california
Traduction automatique avec Keras