NLP (Natural Language Processing) คืออะไร


NLP(Natural Language Processing) เป็นสาขาหนึ่งของ AI(Artificial Intelligence) ที่จะทำให้คอมพิวเตอร์เข้าใจภาษามนุษย์ได้ทั้งในรูปแบบของข้อความ ภาพ วีดีโอ และเสียง เป็นต้น ทำให้คอมพิวเตอร์สามารถตอบสนองการใช้งานตามคำสั่งของมนุษย์ได้ เช่น ผู้ช่วยอัจฉริยะ(siri) แชทบอท การแปลภาษา เป็นต้น ปัจจุบันมีการนำ machine learning และ deep learning มาประยุกต์ใช้ใน NLP เพื่อให้เกิดความอัจฉริยะในการเข้าใจภาษามนุษย์มากขึ้น

ปัจจุบันมีการใช้ 3 เทคนิคในการออกแบบ NLP คือ

Rule-based Approach

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

Machine Learning

     เนื่องจากข้อจำกัดของ Rule-based Approach ที่ไม่สามารถตอบสนองโปรแกรมที่มีความซับซ้อนสูงได้ ทำให้มีการนำเทคนิคของ Machine Learning มาใช้ หลักการทำงานของ Machine Learning คือการสร้างให้คอมพิวเตอร์สามารถที่จะเรียนรู้ภาษาได้ด้วยตัวเองโดยผ่านการสอนว่าหากมีข้อมูลนำเข้าเป็นแบบนี้ ผลลัพธ์ที่ได้ควรจะเป็นอย่างไร 


จากประโยค "the cat ate fish" ในการทำ Machine Learning นั้นจะต้องมีคนสอนโปรแกรมว่าคำไหนเป็น article คำไหนเป็น noun เพื่อให้ระบบได้เรียนรู้ หากครั้งต่อพบคำที่ใกล้เคียงกันโปรแกรมก็สามารถทราบได้ทันทีว่าโครงสร้างประโยคจะเป็นอย่างไร ความแม่นยำของระบบนั้นขึ้นอยู่กับประโยคหรือข้อมูลต่างๆที่นำมาสอนระบบ ยิ่งนำข้อมูลจำนวนมากและข้อมูลที่หลากหลายมาสอนระบบมากเท่าไหร่ ระบบยิ่งมีความแม่นสูง

Deep Learning หรือ Deep Neural Networks

     เป็นส่วนหนึ่งของ Machine Learning ที่จำลองการทำงานเหมือนสมองคน ภายใน Deep Learning ประกอบไปด้วยหลายๆ layer ซึ่งแต่ละ layer จะทำหน้าที่ประมวลผลที่แตกต่างกันออกไป ทำให้ Deep Learning สามารวิเคราะห์ข้อมูลและสามารถเรียนรู้ข้อมูลต่างๆที่ป้อนเข้ามาได้เองแทนที่จะใช้ผู้เชี่ยวชาญ

ความสามารถของ NLP

  • Tokenization เป็นการแยกกลุ่มของคำให้ถูกต้องตามหลักภาษา ภาษาอังกฤษการแบ่งคำค่อนข้างง่ายเพราะช่องว่างสามารถแยกคำได้อยู่ดีแล้ว แต่ในกรณีภาษาไทยนั้นจะยากกว่าจะอาศัยความรู้เกี่ยวกับคำศัพท์เพิ่มเติมเพื่อให้แยกคำออกจากกันได้
  • Speech recognition หรือ speech-to-text เป็นการแปลงเสียงเป็นข้อความ
  • Sentiment analysis เป็นการนำข้อความมาวิเคราะห์เพื่อหา ความชอบ ทัศนคติ อารมณ์ ความรู้สึก ความสงสัยต่างๆ เป็นต้น ซึ่งเราสามารถนำข้อความต่างๆที่รวบรวมมาได้ไปทำการตลาดได้ว่าคนกำลังสนใจในเรื่องอะไร
  • Part of speech tagging เป็นการกำหนดส่วนหนึ่งของคำพูดหรือข้อความและระบุว่าคำคำนั้นทำหน้าที่อะไรตามโครงสร้างประโยค (Nouns), คำสรรพนาม (Pronouns), คำคุณศัพท์ (Adjectives), คำกริยา (Verbs), คำกริยาวิเศษณ์ (Adverbs), คำบุพบท (Prepositions), คำสันธาน (Conjunctions), และ คำอุทาน (Interjections)
  • Parsing เป็นการวิเคราะห์โครงสร้างทางไวยากรณ์ของประโยคว่าถูกต้องตามหลักไวยากรณ์หรือไม่
  • Named entity recognition(NER) เป็นการระบุถึงคำหรือวลีที่สนใจในประโยคเพื่อหาคำเฉพาะเช่น บุคคล สถานที่ องค์กร เป็นต้น ถึงแม้ภาษาอังกฤษสามารถค้นหาได้ง่ายๆด้วยคำเฉพาะจะขึ้นต้นด้วยตัวใหญ่ แต่ในภาษาอื่นๆไม่เป็นเช่นนั้น
  • Language detection เป็นการตรวจสอบว่าเป็นภาษาอะไร
  • Sentiment analysis เป็นการวิเคราะห์อารมณ์ความรู้สึกหรือความคิดเห็นของข้อความว่ามีความหมายเชิงไหนบ้าง เช่น ความคิดเห็นเชิงลบ การเหน็บแนม หรือสงสัย เป็นต้น
  • Machine translation คือการแปลข้อความจากภาษาหนึ่งไปยังอีกภาษาหนึ่งโดยอัตโนมัต

ตัวอย่างการนำ NLP ไปใช้งานในธุรกิจ

  • วิเคราะห์ Trend ต่างๆที่เกิดขึ้นบน Social Media ว่ากระแสอะไรกำลังเป็นที่นิยม โดยดึง Comment จาก Social Media มาวิเคราะห์ ซึ่งทำให้บริษัททราบว่าได้อะไรกำลังเป็นกระแสสังคม เพื่อจะสามารถนำเสนอสินค้าได้ตรงตามความต้องการ เพิ่มยอดขายให้กับบริษัทได้

  • เครื่องมือตรวจโครงสร้างประโยค หากเราต้องการเขียนประโยคภาษาอังกฤษและต้องการมั่นใจว่าโครงสร้างที่เขียนนั้นถูกต้องหรือไม่ ปัจจุบันมีเครื่องมือต่างๆมากมายที่สามารถระบุได้ว่าโครงสร้างที่เขียนมานั้นถูกหรือไม่และหากผิดผิดที่จุดใด เช่น MS Word, Grammarly เป็นต้น

  • Social Listening เป็นการนำความคิดเห็นต่างๆของจากค้าจาก Comment บนช่องทางต่างๆมาวิเคราะห์ว่าลูกค้าพึ่งพอใจในสินค้าหรือไม่ ความคิดเห็นเชิงบวกหรือลบพูดถึงสินค้าอย่างไรบ้าง เพื่อนำความคิดเห็นต่างๆมาปรับปรุงและพัฒนาสินค้าตัวใหม่ๆต่อไปในอนาคต

  • การกรอง Spam ใน Email NLP นั้นสามารถกรอก Spam ออกโดยอาศัยการวิเคราะห์เนื้อความที่ส่งมา Email ฉนับนั้น วิเคราะห์หัวข้อและเนื้อความที่ส่งมา เช่นหากเนื้อความมีคำว่า ฟรี โปรโมชัน ผู้โชคดี ก็อาจถูกตีว่าเป็น Spam ได้

  • การตรวจคำสะกด NLP นอกจากจะตรวจคำที่สะกดผิดได้แล้ว ยังสามารถแนะนำได้ด้วยว่าคำที่ถูกต้องคือคำอะไร รวมถังยังสามารถตรวจสอบโครงสร้างประโยคได้ด้วยว่าถูก Grammar ไหม

  • ผู้ช่วยอัจฉริยะ หากเราต้องการค้นหาหรือสอบถามข้อมูลอะไรก็ตาม เราสามารถสอบถามจากผู้ช่วยอัจฉริยะได้ จากนั้นผู้ช่วยอัจฉริยะจะไปค้าหาคำตอบมาให้เราได้ การถามผู้ช่วยอัจฉริยะนั้นเป็นไปได้ทั้งข้อความและเสียง ตัวอย่างผู้ช่วยอัจฉริยะเช่น Siri, Alexa และ ChatGPT



ป้ายกำกับ

แสดงเพิ่มเติม

บทความยอดนิยม

Software Development Life Cycle (SDLC) คืออะไร ทำไมจำเป็นต่อการพัฒนาซอฟต์แวร์

Automation testing หรือ การทดสอบซอฟต์แวร์อัตโนมัติ คืออะไร ทำไมถึงสำคัญต่อการทดสอบซอฟต์แวร์

ม.ปลายอยากเข้าสายคอม วิทยาการคอม วิศวกรรมคอม เตรียมตัวอย่างไร ต้องมีพื้นฐานอะไรบ้าง

วิธีเก็บ วิเคราะห์ รวบรวม requirement อย่างไรให้มีประสิทธิภาพ

Performance Test คือ อะไร วัดประสิทธิภาพของระบบ ล่มไม่ล่ม จะรู้ได้อย่างไร

8 สิ่งที่ AI จะมาเปลี่ยนโลกในอนาคต

ถอดรหัสความลับเครื่อง Enigma จุดเริ่มต้นและจุดจบของสงครามโลกครั้งที่ 2