สร้างเวกเตอร์ของประโยคและอักขระถัดไป
แบบฝึกหัดนี้มุ่งเน้นให้เห็นความสำคัญของการเตรียมข้อมูลมากยิ่งขึ้น โดยจะใช้ข้อความที่มีวลีของตัวละคร Sheldon จากซีรีส์ The Big Bang Theory เป็น input แล้วสร้างเวกเตอร์ของอินดักซ์ประโยคและอักขระถัดไปที่จำเป็นก่อนสร้างโมเดลสำหรับสร้างข้อความ
ข้อความพร้อมใช้งานในตัวแปร sheldon รวมถึง vocabulary (อักขระ) ในตัวแปร vocabulary และไฮเปอร์พารามิเตอร์ chars_window และ step ที่กำหนดค่าไว้เป็น 20 และ 3 ตามลำดับ ซึ่งหมายความว่าจะใช้ลำดับอักขระ 20 ตัวเพื่อทำนายอักขระถัดไป และหน้าต่างจะเลื่อน 3 อักขระในแต่ละรอบ
นอกจากนี้ ยังได้โหลดแพ็กเกจ pandas ในชื่อ pd ไว้ในสภาพแวดล้อมแล้ว
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Recurrent Neural Networks (RNNs) สำหรับ Language Modeling ด้วย Keras
คำแนะนำการฝึกหัด
- แยกข้อความตามการขึ้นบรรทัดใหม่เพื่อวนลูปผ่านแต่ละประโยค
- วนลูปจนถึงตำแหน่งสุดท้ายของประโยคลบด้วย
chars_window - เพิ่มส่วนของประโยคที่มีความยาว
chars_windowอักขระลงในตัวแปรsentencesและเพิ่มอักขระถัดไปลงในตัวแปรnext_chars - ใช้เวกเตอร์ที่ได้เพื่อสร้าง
pd.DataFrame()แล้วแสดงแถวแรกของข้อมูล
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# 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())