รู้เสียงรู้เสียงลูกค้า รู้ทันตลาด

Sentiment Analysis

Sentiment Analysis ภาษาไทย: วิเคราะห์อารมณ์ลูกค้าให้แม่นกว่าการนับคำ

ทำไมภาษาไทยวิเคราะห์ยาก และทีมควรออกแบบระบบอย่างไรให้ผลลัพธ์ตรวจสอบได้ ไม่หลงเชื่อตัวเลขเพียงอย่างเดียว

Sentiment Analysis ภาษาไทย คือการใช้กฎหรือโมเดลภาษาเพื่อจำแนกทิศทางความรู้สึกในข้อความ เช่น เชิงบวก เป็นกลาง และเชิงลบ แต่ผลที่ใช้ตัดสินใจได้จริงต้องบอกด้วยว่าความรู้สึกนั้นเกี่ยวกับเรื่องอะไร มีความมั่นใจเพียงใด และเปิดข้อความต้นทางให้มนุษย์ตรวจสอบได้

Sentiment Analysis คืออะไร

Sentiment Analysis หรือการวิเคราะห์ความรู้สึก เป็นส่วนหนึ่งของการประมวลผลภาษาธรรมชาติที่ช่วยคัดกรองข้อความจำนวนมากให้ทีมมองเห็นทิศทางอารมณ์โดยไม่ต้องอ่านทุกบรรทัด งานพื้นฐานมักแบ่งข้อความเป็น Positive, Neutral และ Negative ขณะที่ระบบที่ซับซ้อนขึ้นอาจแยกอารมณ์ เช่น ดีใจ ผิดหวัง โกรธ หรือกังวล รวมถึงวิเคราะห์ความรู้สึกต่อคุณลักษณะเฉพาะของสินค้า

สิ่งสำคัญคือ Sentiment ไม่ใช่ข้อเท็จจริงสมบูรณ์ แต่เป็นผลการประมาณจากข้อความและบริบท หากระบบแสดงเชิงลบ 8% ผู้ใช้ควรถามต่อว่า 8% มาจากกี่ข้อความ อยู่ในโพสต์ใด เกิดเมื่อไร และพูดถึงเรื่องอะไร การออกแบบผลิตภัณฑ์จึงต้องให้ทั้งภาพรวมและเส้นทางกลับไปยังหลักฐาน

ทำไม Sentiment Analysis ภาษาไทยจึงยากกว่าการนับคำ

ภาษาไทยไม่ได้เว้นวรรคทุกคำ

ประโยค “ของดีราคาไม่แรง” ต้องถูกตัดคำและเข้าใจว่าคำว่า “ไม่” ไปขยาย “แรง” ไม่ได้ทำให้ประโยคเป็นลบ หากระบบมองเห็นเพียงคำว่า “ไม่” อาจจัดผิดทันที การตัดคำ การจัดการคำปฏิเสธ และลำดับของคำจึงมีผลต่อผลลัพธ์มาก

ภาษาพูดและการลากเสียง

คอมเมนต์บนโซเชียลเต็มไปด้วย “ดีมากกก”, “จึ้ง”, “บ้ง”, “โอเคนะ”, การสะกดแบบเสียงพูด และการผสมภาษาอังกฤษ โมเดลที่เรียนจากข่าวหรือข้อความทางการอาจไม่รู้จักรูปแบบเหล่านี้ ทีมจึงควรประเมินด้วยข้อมูลจากช่องทางและกลุ่มลูกค้าจริง

อีโมจิเปลี่ยนความหมาย

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

คำประชดและความรู้ร่วมกัน

ประโยค “บริการดีมาก รอไปสองชั่วโมงเอง” มีคำบวกแต่ความหมายรวมเป็นลบ การจับคำอย่างเดียวไม่สามารถแก้ปัญหานี้ได้ทั้งหมด ต้องใช้โมเดลที่มองทั้งประโยคและมีข้อมูลตัวอย่างที่ใกล้กับบริบทใช้งาน แม้เช่นนั้นคำประชดยังคงเป็นกรณีที่มนุษย์ควรตรวจ

Positive, Neutral และ Negative ควรนิยามอย่างไร

ป้ายกำกับนิยามใช้งานตัวอย่างข้อควรระวัง
เชิงบวกแสดงความพอใจ ชื่นชม แนะนำ หรือความตั้งใจซื้อ“ชอบแพ็กเกจใหม่ ดูใช้ง่ายขึ้น”คำชมอาจมุ่งไปยังคู่แข่งหรือบุคคลอื่นในโพสต์
เป็นกลางคำถาม ข้อเท็จจริง หรือข้อความที่ไม่มีทิศทางชัด“สาขานี้ปิดกี่โมงครับ”คำถามอาจแฝงความกังวล แต่ยังไม่ควรเดาเกินข้อความ
เชิงลบไม่พอใจ ผิดหวัง ร้องเรียน ปฏิเสธ หรือเตือนผู้อื่น“รอนานมากและไม่มีใครแจ้งเลย”ต้องแยกว่ากำลังวิจารณ์แบรนด์ สิ่งในคลิป หรือประสบการณ์อื่น

องค์กรควรเขียนคู่มือกำกับข้อมูลหรือ Annotation guideline ให้ผู้ตรวจใช้เกณฑ์เดียวกัน โดยระบุกรณีคำถาม ประโยคผสมหลายอารมณ์ การเปรียบเทียบ และข้อความที่อ้างคำพูดคนอื่น หากมนุษย์สองคนยังตีความไม่ตรงกัน โมเดลก็ยากที่จะให้คำตอบเดียวที่ “ถูก” เสมอ

ทำไมทุก Sentiment ควรมี Topic

การรู้ว่ามีความคิดเห็นเชิงบวก 300 รายการและเชิงลบ 30 รายการช่วยบอกสภาพรวม แต่ยังไม่ตอบว่าทีมควรทำอะไรต่อ Topic classification ทำหน้าที่แยกความรู้สึกตามประเด็น เช่น ราคาและโปรโมชั่น คุณภาพสินค้า บริการและจัดส่ง บรรจุภัณฑ์ สถานที่ หรือคู่แข่ง

ตัวอย่างเช่น เชิงบวกอาจมาจากรสชาติ แต่เชิงลบมาจากการหาที่จอดรถ หากรวมทั้งหมดเป็นคะแนนเดียว ทีม Product อาจเข้าใจว่าสินค้ามีปัญหา ทั้งที่สาเหตุจริงอยู่ในประสบการณ์หน้าร้าน ตาราง Sentiment × Topic จึงเป็นมุมมองที่มีประโยชน์กว่ารายชื่อ “คำลบที่พบบ่อย” ซึ่งมักตัดบริบทและทำให้คำเดียวปรากฏผิดหมวด

หลักออกแบบหมวดหัวข้อหมวดต้องสัมพันธ์กับเจ้าของงานและการตัดสินใจ หากมีคำว่า “ส่ง” ไม่ได้แปลว่าทุกข้อความเป็นบริการและจัดส่ง ต้องดูว่ากำลังพูดถึงการส่งสินค้า การส่งต่อคลิป หรือการส่งความรู้สึกถึงใคร

Pipeline สำหรับ Sentiment ภาษาไทยที่น่าเชื่อถือ

  1. เก็บข้อความพร้อมบริบท: รักษา post ID, author, hashtag, วันที่ และลิงก์ต้นทาง ไม่เก็บแต่ข้อความลอย ๆ
  2. ทำความสะอาดอย่างระมัดระวัง: ลบข้อมูลที่ไม่จำเป็น แต่เก็บอีโมจิ เครื่องหมายซ้ำ และรูปแบบที่มีความหมายทางอารมณ์
  3. ตรวจภาษาและข้อความที่วิเคราะห์ไม่ได้: แยกข้อความว่าง สแปม ภาษาอื่น หรืออีโมจิล้วน เพื่อไม่บังคับให้โมเดลเดา
  4. จำแนก Sentiment และ Topic: อาจใช้โมเดลเดียวหรือหลายขั้น แต่ต้องมีเวอร์ชันของโมเดลและเวลาที่วิเคราะห์เพื่อย้อนตรวจได้
  5. กำหนด Confidence threshold: หากความมั่นใจต่ำ ให้แสดง “รอตรวจสอบ” แทนการสร้างความแน่นอนปลอม
  6. สุ่มตรวจและรับ Feedback: เก็บตัวอย่างที่จัดผิดเพื่อปรับกฎ ชุดข้อมูล หรือ Prompt อย่างต่อเนื่อง
  7. สรุปแบบมีหลักฐาน: Dashboard และ AI assistant ต้องตอบจากข้อมูลที่กรองตาม Workspace/Hashtag จริง พร้อมจำนวน ช่วงเวลา และลิงก์อ้างอิง

PyThaiNLP เป็นชุดเครื่องมือโอเพนซอร์สที่ช่วยงานภาษาไทย เช่น การตัดคำ การทำ Normalization และงาน NLP อื่น ๆ แต่การมีไลบรารีไม่ได้แปลว่าระบบ Sentiment จะพร้อมใช้ทันที ทีมยังต้องเลือกโมเดล นิยามป้ายกำกับ และประเมินกับข้อมูลโดเมนของตัวเอง

วัดความแม่นยำอย่างไรโดยไม่หลอกตัวเอง

คำว่า Accuracy เพียงตัวเดียวอาจทำให้เข้าใจผิด หากข้อมูล 90% เป็นกลาง โมเดลที่ตอบ “เป็นกลาง” ทุกครั้งก็ได้ Accuracy 90% แต่ไม่มีประโยชน์ในการค้นหาคำร้องเรียน ควรดู Precision, Recall และ F1 แยกแต่ละคลาส โดยเฉพาะคลาสเชิงลบที่ธุรกิจต้องการไม่ให้ตกหล่น

  • Precision เชิงลบ: ในสิ่งที่ระบบบอกว่าเป็นลบ มีลบจริงกี่เปอร์เซ็นต์
  • Recall เชิงลบ: จากข้อความลบจริงทั้งหมด ระบบค้นพบได้กี่เปอร์เซ็นต์
  • F1: ค่ากลางที่ช่วยดูสมดุลระหว่าง Precision และ Recall
  • Confusion matrix: ช่วยเห็นว่าระบบสับสนคลาสใดกับคลาสใด
  • Error slices: แยกผลตามข้อความสั้น คำประชด อีโมจิ ภาษาอังกฤษปน หรือหมวดธุรกิจ

ชุดทดสอบควรแยกออกจากข้อมูลฝึกและสะท้อนการใช้งานจริง ควรให้ผู้ตรวจอย่างน้อยสองคนติดป้ายตัวอย่างบางส่วนและวัดความสอดคล้อง หากเกณฑ์มนุษย์ไม่ชัด ควรแก้ guideline ก่อนปรับโมเดล

นำ Sentiment ไปใช้ทางธุรกิจอย่างรับผิดชอบ

ใช้ Sentiment เพื่อจัดลำดับการอ่าน ไม่ใช่ตัดสินลูกค้าหรือพนักงานโดยอัตโนมัติ เริ่มจากดูแนวโน้มระดับกลุ่ม เปิดตัวอย่างจริง แล้วมอบหมายให้เจ้าของงานตรวจสอบก่อนตอบสนอง กรณีวิกฤตควรมีเกณฑ์ผสม เช่น จำนวนข้อความเชิงลบ ความเร็วที่เพิ่มขึ้น Engagement ของโพสต์ และความเสี่ยงของหัวข้อ

สำหรับ Marketing ผลเชิงบวกช่วยค้นหา Message และ Creator ที่สร้าง Resonance ส่วน Product ใช้ Topic ที่เกิดซ้ำเพื่อจัดลำดับปัญหา Customer Care ใช้ค้นหาข้อความที่ควรตอบก่อน และผู้บริหารใช้ดูว่าความรู้สึกเปลี่ยนเพราะแคมเปญ เหตุการณ์ หรือการเปลี่ยนแปลงบริการใด

Checklist ก่อนเลือกใช้ระบบ Sentiment Analysis

  • ผ่านการทดสอบกับภาษาไทยและตัวอย่างจากธุรกิจของคุณหรือไม่
  • แสดงข้อความ ต้นทาง เวลา และ Hashtag ที่ใช้สรุปหรือไม่
  • มี Topic สำหรับทั้งบวก เป็นกลาง และลบ ไม่ใช่เฉพาะคำร้องเรียนหรือไม่
  • จัดการข้อความกำกวมและวิเคราะห์ไม่สำเร็จอย่างไร
  • แยกข้อมูลตาม Workspace และสิทธิ์ผู้ใช้จริงหรือไม่
  • สามารถประเมินโมเดลใหม่โดยไม่เขียนทับผลเก่าแบบตรวจสอบไม่ได้หรือไม่
  • ต้นทุนการวิเคราะห์และโควตาถูกบันทึกเพื่อควบคุม Margin หรือไม่

แหล่งข้อมูลและอ่านเพิ่มเติม