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

การพยากรณ์ข้อความด้วย LSTM

ในแบบฝึกหัดต่อไปนี้ คุณจะสร้างโมเดล LSTM เล็ก ๆ ที่สามารถพยากรณ์คำถัดไปได้ โดยใช้ชุดข้อมูลข้อความขนาดเล็ก ชุดข้อมูลนี้ประกอบด้วยคำพูดที่ผ่านการทำความสะอาดแล้วจากภาพยนตร์ The Lord of the Ring ซึ่งเก็บอยู่ในตัวแปร text

คุณจะแปลง text นี้ให้เป็น sequences ที่มีความยาว 4 และใช้ Tokenizer ของ Keras ในการเตรียม features และ labels สำหรับโมเดล

Tokenizer ของ Keras ถูก import ไว้ให้แล้ว โดยมันจะกำหนดตัวเลขเฉพาะให้กับแต่ละคำที่ไม่ซ้ำกัน และเก็บการแมปไว้ใน dictionary ซึ่งสำคัญมากเพราะโมเดลทำงานกับตัวเลข แต่เราจะต้องถอดรหัสตัวเลขที่ได้กลับเป็นคำในภายหลัง

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

Deep Learning เบื้องต้นด้วย Keras

ดูคอร์ส

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

  • แบ่งข้อความออกเป็น array ของคำโดยใช้ .split()
  • สร้างประโยคที่มี 4 คำต่อประโยค โดยเลื่อนทีละ 1 คำในแต่ละครั้ง
  • สร้าง Tokenizer() จากนั้น fit กับประโยคโดยใช้ .fit_on_texts()
  • แปลง sentences ให้เป็น sequence ของตัวเลขโดยเรียก .texts_to_sequences()

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

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

# Split text into an array of words 
words = ____.____

# Make sentences of 4 words each, moving one word at a time
sentences = []
for i in range(4, len(words)):
  sentences.append(' '.join(words[i-____:i]))

# Instantiate a Tokenizer, then fit it on the sentences
tokenizer = ____
tokenizer.____(____)

# Turn sentences into a sequence of numbers
sequences = tokenizer.____(____)
print("Sentences: \n {} \n Sequences: \n {}".format(sentences[:5],sequences[:5]))
แก้ไขและรันโค้ด