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