คำว่า "ภาษาธรรมชาติ" ในที่นี้หมายถึงภาษาที่มนุษย์ใช้ในการติดต่อสื่อสารกัน เช่น ภาษาไทย ภาษาอังกฤษ ภาษาญี่ปุ่น เป็นต้น ทั้งนี้ก็เพื่อให้แตกต่างจากคำว่า "ภาษา" ซึ่งคนในสาขาคอมพิวเตอร์จะนึกถึง "ภาษาโปรแกรม" ต่าง ๆ เช่น ภาษาซี ภาษาจาวา เป็นต้น
ดังนั้น การประมวลผลภาษาธรรมชาติ (Natural Language Processing) หรือเรียกสั้น ๆ ว่า NLP หมายถึง การประมวลผลข้อมูลสารสนเทศที่อยู่ในรูปภาษาธรรมชาติ โดยทำให้คอมพิวเตอร์ (เสมือนว่า) สามารถสื่อสารและเข้าใจภาษามนุษย์ได้ ภาษาธรรมชาตินี้อาจจะอยู่ในรูปแบบของข้อความหรือเสียงก็ได้
ปัจจุบัน มีข้อมูลเกิดขึ้นใหม่เป็นจำนวนมากในแต่ละวัน ไม่ว่าจะเป็นจากการพูดคุยผ่านทางโทรศัพท์ แชท อีเมล์ sms หรือข้อมูลในเว็บต่างๆ ซึ่งข้อมูลเหล่านี้ส่วนใหญ่แล้วจะอยู่ในรูปของข้อมูลที่ไม่มีโครงสร้าง (unstructured data) ที่คนสามารถเข้าใจได้ง่าย แต่คอมพิวเตอร์ไม่สามารถเข้าใจได้ การเปลี่ยนข้อมูลที่ไม่มีโครงสร้างให้อยู่ในรูปข้อมูลที่มีโครงสร้าง เช่น ฐานข้อมูล คลังข้อมูล ฐานความรู้ ทำได้โดยอาศัยมนุษย์ แต่จะใช้เวลานานและคุณภาพที่ได้อาจจะหลากหลาย ดังนั้น จึงจำเป็นต้องอาศัยเทคนิคทาง NLP มาช่วยทำให้เป็นระบบอัตโนมัติ
จากรูปด้านซ้ายมือ กล่าวได้ว่า NLP เป็นการรวมกันของสองศาสตร์ คือ วิทยาการคอมพิวเตอร์กับภาษาศาสตร์ นักภาษาศาสตร์ส่วนใหญ่มักจะเรียกการรวมกันนี้ว่าเป็นงานด้านภาษาศาสตร์คอมพิวเตอร์ หรือ Computational Linguistic (CL) ซึ่งนักภาษาศาสตร์จะเน้นในเรื่องของการนำเทคนิคทางคอมพิวเตอร์หรือคณิตศาสตร์ไปใช้ในการศึกษาและทำความเข้าใจภาษามนุษย์ ทั้ง NLP และ CL มีความใกล้เคียงกันขึ้นอยู่กับลักษณะการประยุกต์ใช้เป็นหลัก
ข้อแตกต่างของงาน CL และ NLP
งานด้าน CL จะเน้นงานที่เกี่ยวข้องกับทฤษฏี หรือการหาคำตอบให้กับนักภาษาศาสตร์
งานด้าน NLP จะเน้นงานด้านการประยุกต์หรือพัฒนาระบบเพื่อตอบสนองในการสื่อสารกับมนุษย์
จากรูปด้านขวามือ จะเห็นว่า NLP เป็นสาขาย่อยในงานด้าน AI เพราะเป็นการจำลองให้คอมพิวเตอร์มีความฉลาดในด้านการสื่อสารเช่นเดียวกับมนุษย์ และงานบางส่วนของ NLP ก็ใช้เทคนิคทางด้าน Machine Learning และ Deep Learning ด้วยเช่นกัน
ในรายวิชานี้ จะเน้นที่
การประมวลผลข้อความ (text processing) เนื่องจากการประมวลผลสัญญาณเสียงนั้นต้องแปลงเสียงให้อยู่ในรูปข้อความก่อน จึงจะนำไปประมวลผลต่อได้
ใช้ภาษาไพธอนในการเขียนโปรแกรมเพื่อประมวลผลและวิเคราะห์ข้อความโดยที่ใช้เทคนิคด้านสถิติ และด้าน Machine Learning
ประยุกต์ใช้ทั้งงานด้าน CL และ NLP
การสื่อสารโดยใช้ภาษาธรรมชาติ จะต้องมีกระบวนการสองส่วน
ระหว่างคอมพิวเตอร์กับมนุษย์ การประมวลผลข้อมูลเสียงต้องแปลงเป็นข้อความก่อน
NLP ประกอบด้วยงานสองส่วนย่อย ได้แก่
Natural Language Understanding (NLU) เกี่ยวข้องกับงานประเภทที่ทำให้คอมพิวเตอร์อ่านและเข้าใจภาษามนุษย์ เช่น การกรองคำหยาบ การจำแนกประเภทข้อความ การวิเคราะห์อารมณ์ ซึ่งงานด้านนี้ต้องอาศัยความรู้ด้านคำศัพท์ การวิเคราะห์คำในประโยค ไวยากรณ์ และความหมายของภาษา
Natural Language Generation (NLG) เกี่ยวข้องกับงานด้านการสร้างข้อความ โดยเปลี่ยนข้อมูลแบบมีโครงสร้างให้เป็นข้อความหรือเสียงพูด ซึ่งต้องอาศัยความรู้ด้านการดึงบริบทจากฐานความรู้ การเลือกคำที่เหมาะสม การสร้างวลี และสร้างประโยค
Sentiment Analysis
Question Answering
Text Summarization
Text Classification
Blocking Spam
Detecting Emotion
Information Extraction
Information Retrieval
Chatbots
Machine Translation
Speech Recognition
Text-to-Speech
IVR Application
Personal Voice Assistant