Bắt đầu ngayBắt đầu miễn phí

Giải mã dự đoán của bạn

LSTM model của bạn đã được huấn luyện sẵn (chi tiết trong thông báo thành công của bài trước) nên bạn không phải chờ đợi. Đã đến lúc định nghĩa một hàm để giải mã các dự đoán của mô hình. model đã huấn luyện sẽ được truyền vào hàm này như một tham số mặc định.

Vì bạn đang dự đoán từ một mô hình dùng hàm softmax, bạn có thể dùng argmax() của numpy để lấy chỉ số/vị trí đại diện cho từ tiếp theo có xác suất cao nhất từ vector xác suất đầu ra.

tokenizer bạn đã tạo và fit trước đó đã được nạp sẵn. Bạn sẽ dùng dictionary nội bộ index_word của nó để chuyển dự đoán từ tiếp theo của model (một số nguyên) thành từ thực tế mà nó biểu diễn.

Bạn sắp có thể thử nghiệm với mô hình của mình rồi!

Bài tập này là một phần của khóa học

Nhập môn Deep Learning với Keras

Xem khóa học

Hướng dẫn bài tập

  • Dùng texts_to_sequences() để chuyển tham số test_text thành một chuỗi số.
  • Lấy dự đoán từ tiếp theo của mô hình bằng cách truyền test_seq vào. Lấy chỉ số/vị trí của từ có xác suất cao nhất bằng cách gọi .argmax(axis=1)[0] trên mảng numpy các dự đoán.
  • Trả về từ ánh xạ với dự đoán bằng dictionary index_word của tokenizer.

Bài tập tương tác thực hành trực tiếp

Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.

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.____[____]
Chỉnh sửa và Chạy Mã