Tạo các vector của câu và ký tự kế tiếp
Bài tập này nhằm nhấn mạnh hơn tầm quan trọng của việc tiền xử lý dữ liệu. Bạn sẽ dùng các đoạn thoại của nhân vật Sheldon trong chương trình The Big Bang Theory làm đầu vào và tạo các vector gồm chỉ số câu và ký tự kế tiếp, là những thành phần cần có trước khi xây dựng mô hình sinh văn bản.
Văn bản được lưu trong biến sheldon, cùng với bộ từ vựng (các ký tự) trong biến vocabulary và các siêu tham số chars_window và step có giá trị lần lượt là 20 và 3. Điều này có nghĩa là một chuỗi 20 ký tự sẽ được dùng để dự đoán ký tự tiếp theo, và cửa sổ sẽ trượt 3 ký tự ở mỗi vòng lặp.
Ngoài ra, gói pandas với bí danh pd đã được nạp trong môi trường.
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
- Tách văn bản theo ký tự xuống dòng để lặp qua từng câu.
- Lặp cho đến hết câu trừ đi
chars_window. - Thêm đoạn của câu có độ dài
chars_windowký tự vào biếnsentencesvà thêm ký tự kế tiếp vào biếnnext_chars. - Dùng các vector thu được để tạo một
pd.DataFrame()và in ra các dòng đầ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.
# Instantiate the vectors
sentences = []
next_chars = []
# Loop for every sentence
for sentence in sheldon.____:
# Get 20 previous chars and next char; then shift by step
for i in range(0, len(sentence) - ____, step):
sentences.append(sentence[i:i + ____])
next_chars.append(sentence[____ + chars_window])
# Define a Data Frame with the vectors
df = pd.DataFrame({'sentence': ____, 'next_char': ____})
# Print the initial rows
print(df.head())