สถาบันข้อมูลขนาดใหญ่ (องค์การมหาชน)

Natural Language Processing (NLP): เครื่องมือที่ช่วยให้คอมพิวเตอร์เข้าใจภาษามนุษย์

Sep 29, 2022
Natural Language Processing (NLP)

            ถึงแม้ว่าการวิเคราะห์ข้อมูลต่าง ๆ และการสร้างแบบจำลองจากข้อมูลเหล่านั้นด้วยศาสตร์ทางด้านการเรียนรู้ของเครื่อง (Machine Learning) จะเกี่ยวข้องกับข้อมูลที่มีโครงสร้าง (Structured Data) เช่น ข้อมูลเชิงตาราง (Tabular Data) เป็นส่วนใหญ่ แต่ทว่าในโลกความเป็นจริง ข้อมูลบนโลกดิจิทัลในปัจจุบันมากกว่า 80% เป็นข้อมูลที่ไม่มีโครงสร้าง (Unstructured Data) เช่น ไฟล์ภาพ เสียง หรือ วีดิโอ รวมถึงข้อมูลในลักษณะของข้อความ อาทิ เนื้อหาในบทความต่าง ๆ การโพสต์ข้อความบนโซเชียลมีเดีย การตอบกระทู้บนเว็บบอร์ด บทสัมภาษณ์ของนักกีฬาและนักการเมือง และการแสดงความคิดเห็นต่อสินค้าบนแพลตฟอร์มพาณิชย์อิเล็กทรอนิกส์ (E-commerce Platform) ทั้งนี้ การวิเคราะห์ข้อมูลในลักษณะดังกล่าวจำเป็นต้องอาศัยศาสตร์เฉพาะทางที่มีชื่อเรียกเพราะ ๆ ว่า การประมวลผลภาษาธรรมชาติ (Natural Language Processing: NLP) เพื่อช่วยให้คอมพิวเตอร์เข้าใจภาษาที่ซับซ้อนของมนุษย์ โดยเราจะมาทำความรู้จักกับมันให้มากขึ้นในบทความนี้ ซึ่งจะขอเรียกชื่อพระเอกของเราสั้น ๆ ด้วยชื่อย่อว่า “NLP”

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

วิวัฒนาการและความสำคัญของ NLP

การประมวลผลภาษาธรรมชาติ (NLP) เป็นศาสตร์ที่สำคัญทางด้าน Machine Learning โดยมันเป็นสาขาวิชาหนึ่งที่ประกอบด้วยองค์ความรู้จากหลากหลายแขนง อาทิ ภาษาศาสตร์ (Linguistics) วิทยาการคอมพิวเตอร์ (Computer Science) ปัญญาประดิษฐ์ (Artificial Intelligence: AI) รวมถึงสถิติ (Statistics) โดยมีจุดมุ่งหมายเพื่อให้คอมพิวเตอร์สามารถทำความ “เข้าใจ” ข้อมูลที่มีลักษณะเป็นข้อความหรือคำพูดเฉกเช่นเดียวกับที่มนุษย์ที่ทำได้ ซึ่งไม่ใช่เพียงแค่เข้าใจความหมายโดยตรงของข้อความนั้น ๆ แต่ยังรวมถึงการรับรู้ถึงความหมายโดยนัย ความรู้สึกของผู้เขียน ความแตกต่างทางบริบทของภาษา รวมถึงสามารถทำการวิเคราะห์ในรูปแบบต่าง ๆ ได้อีกด้วย

โดย NLP มีจุดกำเนิดมาตั้งแต่ช่วงกลางศตวรรษที่ 19 และได้มีการพัฒนาต่อยอดมาเรื่อย ๆ จนถึงปัจจุบัน โดยในที่นี้เราขอแบ่งช่วงวิวัฒนาการของ NLP ออกเป็น 3 ยุค ดังต่อไปนี้

  • ยุค Rule-based Method (ช่วง ค.ศ.1950-1990)

ในยุคแรก NLP ถูกใช้งานด้วยวิธีการตามกฎ (Rule-based Method) โดยนักภาษาศาสตร์ผู้มีความเชี่ยวชาญโครงสร้างของภาษาที่สนใจ จะเป็นผู้เขียนกฎต่าง ๆ ขึ้นมา เพื่อให้คอมพิวเตอร์สามารถนำไปคำนวนเพื่อหาคำตอบของโจทย์ที่ต้องการได้

  • ยุค Machine Learning (ช่วง ค.ศ.1990-2010)

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

  • ยุค Deep Learning (ช่วง ค.ศ.2010-ปัจจุบัน)

ในยุคปัจจุบัน ด้วยพลังการคำนวนของคอมพิวเตอร์ที่มีการพัฒนาสูงขึ้นอย่างต่อเนื่อง ทำให้เทคโนโลยีที่มีความซับซ้อนสูงอย่าง การเรียนรู้เชิงลึก (Deep Learning) ถูกนำมาใช้งานแทนที่ Machine Learning ซึ่งใช้ความรู้ทางด้านสถิติแบบดั้งเดิม อย่างแพร่หลายมากขึ้น รวมถึงในงานด้าน NLP ด้วยเช่นกัน อาทิ การสร้างแบบจำลองทางภาษา (Language Model) และการวิเคราะห์โครงสร้างของข้อความ (Parsing)

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

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

ตัวอย่างเครื่องมือสำหรับงาน NLP

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

  • Tokenization­­­­­­ คือ กระบวนการตัดคำออกจากข้อความยาว ๆ ซึ่งแต่ละคำที่ถูกตัดออกมาจะถูกเรียกว่า Token โดยกระบวนการนี้มักจะถูกทำเป็นกระบวนการแรก ๆ และ Token ที่ได้มาจะถูกนำไปใช้ในเครื่องมือ NLP อื่น ๆ ต่อไป
  • Word Embedding คือ กระบวนการในการแปลงคำให้เป็นรูปแบบเชิงปริมาณอย่างเช่น ตัวเลข หรือเวกเตอร์ ซึ่งการทำให้เป็นเชิงปริมาณจะช่วยให้ง่ายต่อการนำไปใช้ในการคำนวนต่าง ๆ การทำ Word Embedding มีด้วยกันอยู่หลายเทคนิค อาทิ
    • One-hot Encoding: การแปลงคำศัพท์ให้กลายเป็นเวกเตอร์ที่มีเฉพาะเลข 0 และ 1 ซึ่งมีขนาดเท่ากับจำนวนของคำทั้งหมด
    • Term Frequency – Inverse Document Frequency (TF-IDF): การให้ค่าความสำคัญของคำผ่านการพิจารณาองค์ประกอบของคำในบทความ โดยคำที่ปรากฎบ่อยในบทความหนึ่ง ๆ แต่ปรากฏได้น้อยในบทความอื่นจะมีค่า TF-IDF ที่สูง
    • Word2Vec: การสร้างเวกเตอร์ของคำโดยพิจารณาบริบทของคำนั้นตามคำที่อยู่ข้างเคียง
  • Parsing คือ กระบวนการในการวิเคราะห์โครงสร้างของข้อความ โดยเป็นการตรวจสอบว่าคำที่เป็นส่วนประกอบนั้นมีความถูกต้องตามหลักไวยากรณ์ของภาษาหรือไม่ ซึ่งผลการวิเคราะห์จะออกมาเป็นโครงสร้างแบบต้นไม้ ที่เรียกว่า Parse Tree
  • Part of Speech Tagging (PoS Tagging) คือ กระบวนการในการระบุประเภทของคำแต่ละคำตามหน้าที่ในประโยค อาทิ คำนาม (Nouns), คำสรรพนาม (Pronouns), คำคุณศัพท์ (Adjectives), คำกริยา (Verbs), คำกริยาวิเศษณ์ (Adverbs), คำบุพบท (Prepositions), คำสันธาน (Conjunctions), และ คำอุทาน (Interjections)
  • Named Entity Recognition (NER) คือ กระบวนการในการระบุหมวดหมู่รวมถึงตำแหน่งของคำในเอกสาร เช่น ชื่อคน ชื่อองค์กร สถานที่ วันเวลา จำนวนเงิน เป็นต้น
  • Language Model หรือ แบบจำลองทางภาษา คือ แบบจำลองทางสถิติจากคลังข้อมูลของคำในภาษานั้น ๆ เพื่อแสดงถึงความน่าจะเป็นของลำดับของคำ โดยหนึ่งในการประยุกต์ใช้แบบจำลองทางภาษาที่เราคุ้นเคยกัน ได้แก่ ระบบการคาดเดาและแนะนำคำ เช่น การแนะนำคำถัดไปในช่องค้นหาของ Google รวมถึงการค้นหาในแพลตฟอร์ม E-commerce ต่าง ๆ สำหรับในปัจจุบัน แบบจำลองทางภาษาได้ถูกนำเสนอออกอย่างหลากหลาย อาทิ BERT และ GPT-3 ซึ่งได้รับการพัฒนาโดยบริษัท Google และ OpenAI ตามลำดับ
  • Topic Model คือ แบบจำลองทางสถิติซึ่งสร้างมาจากลุ่มของเอกสาร เพื่อวิเคราะห์หาหัวข้อแฝงต่าง ๆ ที่มีการพูดถึงร่วมกันอยู่ในกลุ่มของเอกสารเหล่านั้น โดยผลลัพธ์ของแบบจำลองจะทำให้ทราบว่าจากปริมาณเอกสารจำนวนมากมีการพูดถึงเรื่องใดบ้าง ซึ่งจะช่วยให้ผู้ใช้ไม่ต้องเสียเวลาอ่านเอกสารทั้งหมด
  • Sentiment Analysis คือ การวิเคราะห์ความรู้สึกที่แสดงออกผ่านทางข้อความ ซึ่งรวมถึงการวิเคราะห์อารมณ์ของผู้เขียนข้อความนั้น ๆ อีกด้วย

ตัวอย่างการประยุกต์ใช้ NLP ในด้านต่าง ๆ

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

ด้านการทำงานวิจัย

วงการวิจัยเป็นหนึ่งในแหล่งของข้อมูลทางภาษาขนาดใหญ่ ซึ่งเปิดโอกาสให้ NLP สามารถเข้ามามีบทบาทได้อย่างหลากหลาย ตัวอย่างเช่น การประยุกต์ใช้ Topic Model ในการจัดหมวดหมู่เอกสารเพื่อวิเคราะห์หาหัวข้อของบทความงานวิจัย นอกจากนั้น ยังสามารถต่อยอดการทำ Word Embedding เพื่อแปลงประโยคหรือเอกสารให้เป็นเชิงปริมาณ และใช้ในการเปรียบเทียบความใกล้เคียงกันของข้อเสนอโครงการวิจัยได้อีกด้วย โดยแนวคิดเดียวกันนี้สามารถประยุกต์ใช้เพื่อตรวจสอบความคล้ายคลึงกันของเอกสารชนิดอื่น ๆ ได้เช่นเดียวกัน อาทิ คำขอสิทธิบัตร บทประพันธ์ และบทความในหนังสือพิมพ์

ด้านพาณิชย์อิเล็กทรอนิกส์ (E-commerce)

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

ด้านการแพทย์

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

ด้านกฎหมาย

สำหรับงานด้านกฎหมาย ก็มีปริมาณข้อมูลทางภาษาจำนวนมากและหลากหลายเช่นเดียวกัน อาทิ ประมวลกฎหมายต่าง ๆ คำร้องต่อศาล คำให้การของคู่ความ และคำพิพากษาของศาล ซึ่งสามารถประยุกต์ใช้เครื่องมือ NLP ได้ในหลายมิติ ไม่ว่าจะเป็นการใช้ PoS Tagging และ NER เพื่อช่วยในการตีความประมวลกฎหมาย อีกทั้งยังสามารถใช้ Topic Model ในการวิเคราะห์หาหัวข้อของคำร้องได้อีกด้วย

บทส่งท้าย

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

บทความโดย อาทิตย์ สกุลเมือง

ตรวจทานและปรับปรุงโดย อนันต์วัฒน์ ทิพย์ภาวัต และ ปพจน์ ธรรมเจริญพร

Artit Sagoolmuang, PhD

Data Scientist at Big Data Institute (Public Organization), BDI

Ananwat Tippawat

Data Scientist at Big Data Institute (Public Organization), BDI

Papoj Thamjaroenporn

Former-Editor-in-Chief at BigData.go.th and Senior Data Scientist at GBDi