Chuẩn bị văn bản đầu vào
Bạn đã thấy trong video cách chuẩn bị văn bản đầu vào và đầu ra. Bài tập này minh họa một thực hành phổ biến: dùng độ dài tối đa của các câu để pad tất cả câu về cùng độ dài, nhờ đó không mất thông tin.
Vì các mô hình RNN cần đầu vào có cùng kích thước, đây là cách để pad tất cả câu và chỉ thêm các số 0 vào những câu ngắn hơn, mà không cắt bớt các câu dài hơn.
Ngoài ra, bạn sẽ dùng từ thay vì ký tự để biểu diễn các token, đây là cách tiếp cận thường dùng cho mô hình NMT.
Các văn bản tiếng Bồ Đào Nha đã được nạp vào biến pt_sentences và một tokenizer đã fit sẵn nằm trong biến input_tokenizer.
Bài tập này là một phần của khóa học
Mạng nơ-ron hồi quy (RNN) cho Mô hình ngôn ngữ với Keras
Hướng dẫn bài tập
- Dùng phương thức
.split()trên mỗi câu để tách theo khoảng trắng và lấy số lượng từ trong câu. - Dùng phương thức
.texts_to_sequences()để biến văn bản thành dãy chỉ số. - Dùng độ dài tối đa của các câu thu được để pad chúng.
- In ra câu đã được chuyển đổi đầu tiên.
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.
# Get maximum length of the sentences
pt_length = max([len(sentence.____) for sentence in pt_sentences])
# Transform text to sequence of numerical indexes
X = input_tokenizer.____(pt_sentences)
# Pad the sequences
X = pad_sequences(X, maxlen=____, padding='post')
# Print first sentence
print(pt_sentences[0])
# Print transformed sentence
print(____)