เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

ส่วนที่ 1: ตามล่าสมบัติ

คุณเพิ่งได้รับรางวัลเป็นทริปออกเดินทางแบบไม่เสียค่าใช้จ่ายสู่เกาะเขตร้อนอันแสนอุดมสมบูรณ์ ระหว่างที่เดินสำรวจอยู่นั้น คุณพบแผนที่สมบัติโบราณที่บอกทางไปยังสมบัติล้ำค่า โดยมีข้อความลับหลายชุดที่เขียนด้วย 1 และ 0 พอเรียนคอร์สนี้มาแล้ว คุณก็รู้ทันทีว่านั่นคือลำดับของเวกเตอร์ที่เข้ารหัสแบบ onehot และคุณยังโชคดีพอที่จะพบ mapping ระหว่างคำกับ index เพื่อระบุได้ว่าคำไหนตรงกับ ID ใด

ตอนนี้ต้องถอดรหัสข้อความลับและหาคำตอบว่าแผนที่บอกอะไรไว้ คุณได้รับ treasure_map ซึ่งเป็นเมทริกซ์ขนาด จำนวนประโยค คูณ จำนวนคำ คูณ ความยาวเวกเตอร์ onehot พร้อมกับ Python dictionary ชื่อ index2word ที่ใช้แมป ID กับคำ

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

Machine Translation ด้วย Keras

ดูคอร์ส

คำแนะนำการฝึกหัด

  • ดึง word ID จากเวกเตอร์ที่เข้ารหัสแบบ onehot ใน treasure_map (มิติของเวกเตอร์ onehot อยู่ที่มิติ สุดท้าย)
  • ดึงความยาวของลำดับ (จำนวน time step) จาก treasure_map แล้วกำหนดให้กับ seq_len
  • ดึง word ID ในประโยคที่ i ณ ตำแหน่งที่ t
  • เพิ่ม คำ ชนิด String (ไม่ใช่ word ID) ที่ตรงกับ wid ลงในลิสต์ words

แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ

ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์

# Get the word IDs from the treasure map
word_ids = ____.____(____, axis=____)
# Get the sequence length from the treasure map
seq_len = treasure_map.shape[____]

for i in range(treasure_map.shape[0]):
	words = []
	for t in range(seq_len):
      	# Get the word ID for the i-th sentence and t-th position
	    wid = word_ids[i, ____]
	    if wid != 0:
          	# Append the word corresponding to wid
	        words.append(____[____])
	print("Instruction ", i+1, ": ", ' '.join(words))
แก้ไขและรันโค้ด