สอนให้เครื่องจักรเข้าใจภาษามนุษย์ภายใน code 3 บรรทัด (Python — Novice Level)

หมายเหตุ: บทความนี้เน้นที่ความง่าย ในการทำ Text sentimental Analysis แบบสำเร็จรูปเป็นหลัก คนอ่านจะไม่ได้รับความรู้เชิง Algorithmเลย แม้แต่น้อย…ใครต้องการอ่านในเชิงลึก รอบทความหน้านะครับ

Natural Language Processing (NLP) หรือคือ การสอนให้ Machine เข้าใจภาษามนุษย์นั้นเอง ซึ่งนับว่าเป็นหนึ่งเรื่องที่ค่อนข้างท้าทายในการทำอย่างมาก เนื่องจาก ภาษามนุษย์เนี่ย มันมีความซับซ้อนค่อนข้างมาก จึงเป็นหัวข้อที่ได้รับความสนใจจากหลายคน

โดยจุดประสงค์ในการทำ NLP ก็จะมีหลากหลายกันไป ตัวอย่างเช่น

  1. ให้ Machine เขียน พาดหัวข่าวให้
  2. ให้ Machine ทำสรุปใจความสำคัญของบทความให้
  3. ให้ Machine ดูว่า บทความนี้เกี่ยวกับหัวข้อใดบ้าง
  4. ให้ Machine ตอบ e-mail ให้อัตโนมัติ
  5. ให้ Machine detect spam mail
  6. และอื่นๆ อีกมากมายๆ

แต่ที่ลืมไม่ได้เลย คือ การทำ Text Sentimental Analysis หรือการวิเคราะห์อารมณ์ ความรู้สึกจากภาษานั้นเอง โดยในการเอาไปใช้งานนั้นสามารถใช้งานได้หลากหลายไม่ว่าจะเป็น การใช้ดูแลส่วนของ Customer Service ว่าพึ่งพอใจ หรือ ไม่พึ่งพอใจ หรือ ใช้ช่วยดูแลข่าวตามพวก Social media ว่าเค้าพูดเกี่ยวกับเรา เป็น บวกหรือเป็นลบ

การทำ Text Sentimental Analysis จาก 0 นั้นเป็นเรื่องที่ค่อนข้างท้าทายเป็นอย่างมากโดยเฉพาะอย่างยิ่งคนที่พึ่งหัดทำ หัดเรียนรู้

แต่หนทางก็ไม่ได้มืดมนซะทีเดียว เพราะในยุคปัจจุบันนี้ Open Souce Languange อย่าง Python เป็นที่แพร่หลาย แถมยังมีคนหลายๆคนเขียน Library มากมายในการทำงานอีกด้วย

ดังนั้น การเขียน Text Sentiment Analysis แบบง่ายๆ ของเราจึงใช้ code เพียง 3 บรรทัดเท่านั้นเอง!! มาเริ่มกันเลย

ก่อนที่เราจะลงไปที่เขียน code เราต้องทำการลง library สำหรับทำ NLP ภาษาไทยก่อนด้วยการใช้คำสั่งนี้ ที่หน้า terminal/cmd

pip install pythainlp

“pythainlpl” เป็น library ของpython ในการจัดการ NLP ภาษาไทย ใครอยากรู้อะไรเพิ่มเติมสามารถไปอ่านได้ที่นี้ pythainlp

ส่วนใครขี้เกียจอ่านอยากเขียน code เลย…ตามมาทางนี้ เลย(บทความนี้เขียน code ผ่าน jupyter notebook)

from pythainlp.sentiment import sentiment #เรียก library
message = “สวัสดีปีใหม่2018” #สร้างข้อความ
sentiment(message) #ทำการวิเคราะห์

เพียงเท่านี้โปรแกรมทำ text sentimental analysis แบบง่ายๆก็เสร็จแล้ว!! โดยผลลัพธ์ที่ออกมาจะเป็น “pos” ย่อมากจาก positive หรือข้อความเป็นบวก

ในกลับกันหากผลลัพธ์ออกมาเป็น “neg” ย่อมากจาก negative หรือข้อความเป็นลบนั้นเอง

ตัวอย่างโปรแกรมที่รันแล้ว

ปล. Library ของ pythainlp จะคืนค่าเป็นแค่ “pos” กับ “neg” เท่านั้น หากใครต้องการทำมากกว่านี้เช่น คืนออกมากเป็น “happy” “sad” “boring” หรืออื่นๆต้องมีความเข้าใจในการทำ text sentiment เชิง algorithm ซึ่งจะยกตัวอย่างในบทความถัดไปครับ

วิธีเขียนโค้ดบน Jupyter Notebook

วิธีลง Python (Anaconda)

One clap, two clap, three clap, forty?

By clapping more or less, you can signal to us which stories really stand out.