ควบคุมคำศัพท์ด้วย Tokenizer
มาเจาะลึกการทำงานของ Tokenizer กันมากขึ้น ในแบบฝึกหัดนี้ คุณจะได้เรียนรู้วิธีแปลงประโยคใดก็ได้ให้เป็นลำดับของตัวเลขโดยใช้ Tokenizer ที่ผ่านการฝึกแล้ว นอกจากนี้ยังจะได้เรียนรู้วิธีควบคุมขนาดคำศัพท์ของ Tokenizer และสังเกตดูว่าคำที่ไม่อยู่ในคำศัพท์ (OOV) จะถูกจัดการอย่างไรเมื่อจำกัดขนาดคำศัพท์
สำหรับแบบฝึกหัดนี้ มี Tokenizer ชื่อ en_tok ที่คุณสร้างไว้ก่อนหน้านี้เตรียมไว้ให้แล้ว พร้อมกับการ import Tokenizer เรียบร้อยแล้ว
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Machine Translation ด้วย Keras
คำแนะนำการฝึกหัด
- แปลงประโยคต่อไปนี้ให้เป็นลำดับตัวเลขโดยใช้
en_tokTokenizer ที่มีอยู่:she likes grapefruit , peaches , and lemons . - สร้าง
Tokenizerใหม่ชื่อen_tok_newโดยกำหนดขนาดคำศัพท์เป็น 50 และคำที่ไม่อยู่ในคำศัพท์เป็นUNK - Fit tokenizer ใหม่กับข้อมูล
en_text - แปลงประโยค
she likes grapefruit , peaches , and lemons .ให้เป็นลำดับตัวเลขโดยใช้en_tok_new
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# 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])