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

ถอดรหัสผลการทำนาย

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

เนื่องจากโมเดลใช้ฟังก์ชัน softmax ในการทำนาย จึงใช้ argmax() ของ NumPy เพื่อหาดัชนี/ตำแหน่งที่แทนคำถัดไปที่มีความน่าจะเป็นสูงสุดจากเวกเตอร์ความน่าจะเป็นที่ได้จากผลลัพธ์

tokenizer ที่สร้างและ fit ไว้ก่อนหน้านี้ถูกโหลดให้แล้ว คุณจะใช้ดิกชันนารี index_word ภายในของมันเพื่อแปลงผลการทำนายคำถัดไปของ model (ซึ่งเป็นจำนวนเต็ม) ให้กลายเป็นคำจริงที่มันแทน

ตอนนี้ใกล้จะได้ทดลองใช้โมเดลแล้ว!

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

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

ดูคอร์ส

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

  • ใช้ texts_to_sequences() แปลงพารามิเตอร์ test_text ให้เป็นลำดับของตัวเลข
  • รับผลการทำนายคำถัดไปจากโมเดลโดยส่ง test_seq เข้าไป จากนั้นหาดัชนี/ตำแหน่งของคำที่มีความน่าจะเป็นสูงสุดโดยเรียก .argmax(axis=1)[0] บนอาร์เรย์ NumPy ของผลการทำนาย
  • คืนค่าคำที่ตรงกับผลการทำนายโดยใช้ดิกชันนารี index_word ของ tokenizer

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

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

def predict_text(test_text, model = model):
  if len(test_text.split()) != 3:
    print('Text input should be 3 words!')
    return False
  
  # Turn the test_text into a sequence of numbers
  test_seq = tokenizer.texts_to_sequences([____])
  test_seq = np.array(test_seq)
  
  # Use the model passed as a parameter to predict the next word
  pred = ____.predict(____).argmax(axis = 1)[0]
  
  # Return the word that maps to the prediction
  return tokenizer.____[____]
แก้ไขและรันโค้ด