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

ทำนายอักขระถัดไป

ในแบบฝึกหัดนี้ จะได้เขียนโค้ดฟังก์ชันสำหรับทำนายอักขระถัดไปจากโมเดลที่ฝึกไว้แล้ว โดยใช้อักขระ 20 ตัวที่ผ่านมาเพื่อทำนายอักขระตัวถัดไป และจะได้เรียนรู้วิธีฝึกโมเดลในบทเรียนถัดไป เนื่องจากขั้นตอนนี้เป็นส่วนสำคัญก่อนการฝึกโมเดล

นี่คือขั้นตอนแรกในการสร้างกฎสำหรับสร้างประโยค ย่อหน้า ข้อความสั้น หรือบล็อกข้อความอื่น ๆ ตามที่ต้องการ

ตัวแปร n_vocab, chars_window และดิกชันนารี index_to_char ถูกโหลดไว้ในสภาพแวดล้อมแล้ว นอกจากนี้ ฟังก์ชันด้านล่างได้ถูกสร้างไว้ให้แล้ว:

  • initialize_X(): แปลงข้อความอินพุตให้เป็นลำดับของตัวเลขดัชนีที่มีรูปร่างถูกต้อง
  • predict_next_char(): ดึงอักขระถัดไปโดยใช้เมธอด .predict() ของคลาสโมเดลและดิกชันนารี index_to_char

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

Recurrent Neural Networks (RNNs) สำหรับ Language Modeling ด้วย Keras

ดูคอร์ส

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

  • กำหนดฟังก์ชัน get_next_char() และเพิ่มพารามิเตอร์ initial_text และ chars_window โดยไม่ต้องกำหนดค่าเริ่มต้น
  • ใช้ฟังก์ชัน initialize_X() และส่งตัวแปร char_to_index เพื่อสร้างเวกเตอร์ศูนย์สำหรับใช้ในการทำนาย
  • ใช้ฟังก์ชัน predict_next_char() เพื่อรับผลการทำนาย และเก็บไว้ในตัวแปร next_char
  • แสดงผลอักขระที่ทำนายได้ด้วยการเรียกฟังก์ชันที่กำหนดไว้บน initial_text ที่ให้มา

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

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

def ____(model, ____, ____, char_to_index, index_to_char):
  	# Initialize the X vector with zeros
    X = ____(initial_text, chars_window, ____)
    
    # Get next character using the model
    ____ = predict_next_char(model, X, ____)
	
    return next_char

# Define context sentence and print the generated text
initial_text = "I am not insane, "
print("Next character: {0}".format(____(model, ____, 20, char_to_index, index_to_char)))
แก้ไขและรันโค้ด