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

การเตรียมข้อมูลสำหรับการฝึกโมเดล

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

ขั้นตอนนี้จำเป็นเพราะโมเดล RNN รับเฉพาะตัวเลขเท่านั้น ไม่ใช่ข้อความ จะสร้างอาร์เรย์ตัวเลขที่มีค่าศูนย์หรือหนึ่งในตำแหน่งที่แทนตัวอักษรซึ่งปรากฏในประโยค โดยค่าหนึ่ง (หรือ True) หมายความว่าตัวอักษรนั้นปรากฏอยู่ ส่วนค่าศูนย์ (หรือ False) หมายความว่าตัวอักษรนั้นไม่ปรากฏในตำแหน่งดังกล่าว

ตัวแปร sentences, next_char, n_vocab, chars_window, num_seqs (จำนวนประโยคในข้อมูลฝึก) ถูกโหลดไว้ในสภาพแวดล้อมแล้ว รวมถึง numpy ในชื่อ np

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

Recurrent Neural Networks (RNNs) สำหรับ Language Modeling ด้วย Keras

ดูคอร์ส

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

  • สร้าง np.array() ที่เต็มไปด้วยค่าศูนย์ โดยมีรูปร่างเป็น (จำนวนประโยค, หน้าต่างตัวอักษร, ขนาดคลังคำศัพท์)
  • ใช้พจนานุกรม char_to_index เพื่อกำหนดตำแหน่งของตัวอักษรปัจจุบันให้เป็น 1
  • กำหนดตัวอักษรถัดไปปัจจุบันให้เป็น 1
  • แสดงผลตำแหน่งแรกของแต่ละอาร์เรย์

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

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

# Instantiate the variables with zeros
numerical_sentences = np.zeros((____, ____, ____), dtype=np.bool)
numerical_next_chars = np.zeros((num_seqs, n_vocab), dtype=np.bool)

# Loop for every sentence
for i, sentence in enumerate(sentences):
  # Loop for every character in sentence
  for t, char in enumerate(sentence):
    # Set position of the character to 1
    numerical_sentences[i, t, ____] = ____
    # Set next character to 1
    ____[i, char_to_index[next_chars[i]]] = 1

# Print the first position of each
print(____, ____, sep="\n")
แก้ไขและรันโค้ด