ส่วนที่ 1: สำรวจฟังก์ชัน to_categorical()
ทราบหรือไม่ว่าในปัญหาจริง ขนาดของคลังคำศัพท์อาจเติบโตได้มากจนมีคำมากกว่าหลักแสนคำ
แบบฝึกหัดนี้แบ่งออกเป็นสองส่วน โดยจะได้เรียนรู้ความสำคัญของการกำหนดอาร์กิวเมนต์ num_classes ในฟังก์ชัน to_categorical() ในส่วนที่ 1 จะได้ implement ฟังก์ชัน compute_onehot_length() ที่สร้าง one-hot vectors สำหรับรายการคำที่กำหนด และคำนวณความยาวของ vectors เหล่านั้น
ฟังก์ชัน to_categorical() ได้ถูก import มาแล้ว
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Machine Translation ด้วย Keras
คำแนะนำการฝึกหัด
- สร้าง word ID โดยใช้
wordsและword2indexในcompute_onehot_length() - สร้าง onehot vectors โดยใช้ฟังก์ชัน
to_categorical()พร้อมกับ word ID ที่ได้ - คืนค่าความยาวของ onehot vector ตัวเดียวโดยใช้ syntax
<array>.shape - คำนวณและแสดงความยาวของ onehot vectors โดยใช้
compute_onehot_length()สำหรับรายการคำHe,drank,milk
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
def compute_onehot_length(words, word2index):
# Create word IDs for words
word_ids = [____[w] for w in ____]
# Convert word IDs to onehot vectors
onehot = ____(____)
# Return the length of a single one-hot vector
return onehot.____[1]
word2index = {"He":0, "drank": 1, "milk": 2}
# Compute and print onehot length of a list of words
print(____([____,____,____], ____))