BOW แรกของคุณ
Bag-of-words เป็นวิธีการแปลงข้อความให้อยู่ในรูปแบบตัวเลข
ในแบบฝึกหัดนี้ จะได้ลองนำ BOW มาใช้กับ list ชื่อ annak ก่อนที่จะไปต่อกับชุดข้อมูลขนาดใหญ่ขึ้นในแบบฝึกหัดถัดไป
โจทย์คือการทำงานกับ list นี้และสร้าง BOW โดยใช้ CountVectorizer() การแปลงนี้เป็นก้าวแรกสู่การวิเคราะห์ sentiment ของข้อความ ให้สังเกตคำที่อาจบ่งบอก sentiment ได้ชัดเจน
โปรดทราบว่าผลลัพธ์ของ CountVectorizer() คือ sparse matrix ซึ่งจัดเก็บเฉพาะค่าที่ไม่ใช่ศูนย์เท่านั้น หากต้องการดูเนื้อหาจริงของ matrix นี้ ให้แปลงเป็น dense array โดยใช้เมธอด .toarray()
ในกรณีนี้ไม่จำเป็นต้องระบุ argument max_features เนื่องจากข้อความมีขนาดสั้น
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Sentiment Analysis ด้วย Python
คำแนะนำการฝึกหัด
- นำเข้าฟังก์ชัน count vectorizer จาก
sklearn.feature_extraction.text - สร้างและ fit vectorizer กับชุดข้อมูลขนาดเล็กนี้
- สร้าง BOW ที่มีชื่อว่า
anna_bowโดยเรียกใช้เมธอดtransform() - แสดงผลลัพธ์ BOW ในรูปแบบ dense array
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Import the required function
____
annak = ['Happy families are all alike;', 'every unhappy family is unhappy in its own way']
# Build the vectorizer and fit it
anna_vect = ____
____.____(annak)
# Create the bow representation
anna_bow = anna_vect.____(annak)
# Print the bag-of-words result
print(anna_bow.toarray())