โมเดล n-gram สำหรับ tag line ภาพยนตร์
ในแบบฝึกหัดนี้ เราได้รับ corpus ที่ประกอบด้วย tag line ของภาพยนตร์มากกว่า 9,000 รายการ โจทย์คือการสร้างโมเดล n-gram ที่มีค่า n เท่ากับ 1, 2 และ 3 จากข้อมูลนี้ แล้วตรวจสอบจำนวน feature ที่ได้จากแต่ละโมเดล
จากนั้นเราจะเปรียบเทียบจำนวน feature ที่แต่ละโมเดลสร้างขึ้น
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Feature Engineering for NLP in Python
คำแนะนำการฝึกหัด
- สร้างโมเดล n-gram โดยกำหนด n-gram สูงสุดที่ n=1 แล้วตั้งชื่อว่า
ng1 - สร้างโมเดล n-gram โดยกำหนด n-gram สูงสุดที่ n=2 แล้วตั้งชื่อว่า
ng2 - สร้างโมเดล n-gram โดยกำหนด n-gram สูงสุดที่ n=3 แล้วตั้งชื่อว่า
ng3 - แสดงจำนวน feature ของแต่ละโมเดล
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Generate n-grams upto n=1
vectorizer_ng1 = CountVectorizer(ngram_range=(1,1))
ng1 = vectorizer_ng1.____(corpus)
# Generate n-grams upto n=2
vectorizer_ng2 = CountVectorizer(ngram_range=(1,2))
ng2 = vectorizer_ng2.____(corpus)
# Generate n-grams upto n=3
vectorizer_ng3 = CountVectorizer(ngram_range=(____, ____))
ng3 = vectorizer_ng3.fit_transform(corpus)
# Print the number of features for each model
print("ng1, ng2 and ng3 have %i, %i and %i features respectively" % (ng1.____[1], ng2.____[1], ng3.____[1]))