พื้นฐาน NLP ที่ไม่ควรมองข้าม: เข้าใจ Bag of Words ก่อนก้าวสู่ยุค LLM

พื้นฐาน NLP ที่ไม่ควรมองข้าม: เข้าใจ Bag of Words ก่อนก้าวสู่ยุค LLM
By ChatGPT

Bag of Words (BoW) ถือเป็นรากฐานสำคัญ ที่ช่วยให้เข้าใจแนวคิดพื้นฐานของการประมวลผลภาษาธรรมชาติ (NLP) ซึ่งนำไปสู่การพัฒนาโมเดล LLM ได้อย่างลึกซึ้งขึ้น

🔤 Bag of Words คืออะไร?

Bag of Words (BoW) คือเทคนิคง่ายๆ ในการแปลง ข้อความ (Text) ให้กลายเป็น ข้อมูลตัวเลข (Vector) ที่คอมพิวเตอร์สามารถนำไปวิเคราะห์หรือใช้ในโมเดล Machine Learning ได้

💡 แนวคิดหลัก

  • มองข้อความเหมือน “ถุงคำ” (Bag of Words)
  • สนใจแค่ คำว่าอะไรปรากฏบ้าง และ ปรากฏกี่ครั้ง
  • ไม่สนลำดับคำ หรือไวยากรณ์

🧠 ทำงานยังไง?

ตัวอย่างง่าย

สมมติเรามี 3 ประโยค

  1. “แมว น่ารัก”
  2. “หมา น่ารัก”
  3. “แมว กับ หมา”

1. สร้าง Vocabulary

 (รายการคำทั้งหมดที่ไม่ซ้ำกัน):

["แมว", "หมา", "น่ารัก", "กับ"]

2. แปลงแต่ละประโยคเป็น 

Vector นับจำนวนคำ

ประโยค

แมว

หมา

น่ารัก

กับ

“แมว น่ารัก”

1

0

1

0

“หมา น่ารัก”

0

1

1

0

“แมว กับ หมา”

1

1

0

1

📦 สรุปสั้นๆ

สิ่งที่ BoW ทำได้ดี

ข้อจำกัดของ BoW

- เข้าใจง่าย

- ไม่รู้ลำดับคำ

- ใช้ได้กับ ML เบื้องต้น

- ไม่เข้าใจความหมายคำ

- เร็ว และเบา

- ข้อมูลเบาบางเมื่อคำเยอะ (Sparse Vector)

✅ ใช้ BoW ตอนไหน?

  • งาน วิเคราะห์ข้อความเบื้องต้น เช่น การจำแนกอารมณ์, สแปมอีเมล
  • ใช้คู่กับ Naive Bayes, Logistic Regression, SVM
  • เมื่อข้อมูลไม่เยอะมาก และต้องการความเร็ว

หากต้องการแบบเข้าใจบริบทมากขึ้น เช่น “หมาดุ” กับ “ดุหมา” ให้ไปใช้พวก Word Embedding เช่น Word2Vec, หรือ Transformer-based models อย่าง BERT