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

Dự đoán văn bản với LSTM

Trong các bài tập sau, bạn sẽ xây dựng một mô hình LSTM nhỏ có thể dự đoán từ tiếp theo bằng một tập dữ liệu văn bản nhỏ. Tập dữ liệu này gồm các câu thoại đã được làm sạch từ phim The Lord of the Ring. Bạn có thể tìm thấy chúng trong biến text.

Bạn sẽ chuyển text thành các sequencesđộ dài 4 và sử dụng Tokenizer của Keras để chuẩn bị đặc trưng (features) và nhãn (labels) cho mô hình!

Tokenizer của Keras đã được import sẵn để bạn dùng. Nó gán một số duy nhất cho mỗi từ duy nhất và lưu ánh xạ trong một dictionary. Điều này quan trọng vì mô hình làm việc với các con số, nhưng sau đó chúng ta sẽ muốn giải mã các số đầu ra trở lại thành từ.

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

  • Tách văn bản thành một mảng các từ bằng .split().
  • Tạo các câu gồm 4 từ, trượt từng lần 1 từ.
  • Khởi tạo một Tokenizer(), rồi fit nó trên các câu với .fit_on_texts().
  • Chuyển sentences thành dãy số bằng cách gọi .texts_to_sequences().

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.

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