Controlul vocabularului cu Tokenizer
Hai să explorăm mai în detaliu modul în care funcționează Tokenizer. În acest exercițiu vei învăța cum să convertești o propoziție arbitrară într-o secvență folosind un Tokenizer antrenat. În plus, vei vedea cum poți controla dimensiunea vocabularului unui Tokenizer. Vei investiga și ce se întâmplă cu cuvintele din afara vocabularului (OOV – out-of-vocabulary) atunci când limitezi dimensiunea vocabularului unui Tokenizer.
Pentru acest exercițiu, ai la dispoziție Tokenizer-ul en_tok pe care l-ai implementat anterior. Tokenizer-ul a fost deja importat pentru tine.
Acest exercițiu face parte din cursul
Traducere automată cu Keras
Instrucțiuni pentru exercițiu
- Convertește propoziția următoare într-o secvență folosind
Tokenizer-ul anterioren_tok:she likes grapefruit , peaches , and lemons . - Creează un nou
Tokenizer,en_tok_new, cu un vocabular de 50 de cuvinte și cuvântul pentru termenii necunoscuțiUNK. - Antrenează noul tokenizer pe datele
en_text. - Convertește propoziția
she likes grapefruit , peaches , and lemons .într-o secvență folosinden_tok_new.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# Convert the sentence to a word ID sequence
seq = ____.____(['she likes grapefruit , peaches , and lemons .'])
print('Word ID sequence: ', seq)
# Define a tokenizer with vocabulary size 50 and oov_token 'UNK'
en_tok_new = ____(num_words=____, ____=____)
# Fit the tokenizer on en_text
en_tok_new.____(____)
# Convert the sentence to a word ID sequence
seq_new = en_tok_new.____(['she likes grapefruit , peaches , and lemons .'])
print('Word ID sequence (with UNK): ', seq_new)
print('The ID 1 represents the word: ', en_tok_new.index_word[1])