1 พ.ย. 2022 เวลา 08:06 • วิทยาศาสตร์ & เทคโนโลยี
Natural Language Processing (NLP): เครื่องมือที่ช่วยให้คอมพิวเตอร์เข้าใจภาษามนุษย์
ในโลกของข้อมูลมีรูปแบบข้อมูลที่หลากหลายซึ่งการจะนำข้อมูลมาวิเคราะห์ต่อได้นั้นจำเป็นที่จะต้องทำให้ข้อมูลจัดอยู่ในโครงสร้างที่เหมาะสมเสียก่อน ถึงจะนำมาสร้างเป็นแบบจำลองด้าน Machine Learning ได้
แต่ในความเป็นจริงข้อมูลบนโลกดิจิทัลกว่า 80% เป็นข้อมูลแบบไม่มีโครงสร้าง เช่น ไฟล์ภาพ เสียง หรือวิดีโอ รวมไปถึงข้อความในลักษณะต่าง ๆ การวิเคราะห์ข้อมูลเหล่านี้จำเป็นต้องใช้เทคโนโลยีที่เรียกว่า NLP หรือ Natural Language Processing ที่จะช่วยให้คอมพิวเตอร์สามารถเข้าใจภาษาที่ซับซ้อนของมนุษย์ได้
ถึงแม้ว่าการวิเคราะห์ข้อมูลต่าง ๆ และการสร้างแบบจำลองจากข้อมูลเหล่านั้นด้วยศาสตร์ทางด้านการเรียนรู้ของเครื่อง (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 การตรวจหาสแปมจากลักษณะของข้อความที่มีการรับส่งผ่านทางอีเมล์
1
ดังนั้น มันคงไม่เกินจริงไปนักที่จะกล่าวว่า ในทุกวันนี้ NLP เป็นหนึ่งในสิ่งที่มีความสำคัญต่อการอำนวยความสะดวกในการใช้ชีวิตของเรา ไม่ว่าเราจะรู้ตัวหรือไม่ก็ตาม ยิ่งไปกว่านั้น ในมุมมองขององค์กรซึ่งล้วนแล้วแต่เป็นผู้ผลิตและครอบครองข้อมูลทางภาษาขนาดใหญ่ในเอกสารทั้งหลาย ถ้าองค์กรใดสามารถปรับตัวเพื่อรับมือกับข้อมูลเหล่านั้นและสามารถนำ NLP มาประยุกต์ใช้ได้ก่อน องค์กรนั้นย่อมได้เปรียบกว่าอย่างแน่นอน
บทความโดย อาทิตย์ สกุลเมือง
ตรวจทานและปรับปรุงโดย อนันต์วัฒน์ ทิพย์ภาวัต และ ปพจน์ ธรรมเจริญพร
โฆษณา