Spell Checker คืออะไร Spell Checker ภาษาไทย ตรวจการสะกดคำภาษาไทย ด้วย PyThaiNLP โปรแกรมตรวจคำผิดภาษาไทย ด้วย Python – PyThaiNLP ep.3

จากใน ep ที่แล้ว เราได้ใช้งาน PyThaiNLP ตัดคำภาษาไทย ตัดข้อความยาว ๆ Tokenization ออกมาเป็น Token เรียบร้อยแล้ว ใน ep นี้ เราจะมาดูว่า แต่ละ Token นั่นสะกดถูกหรือไหม Spellchecker รวมไปถึงแนะนำ และแก้ไขให้ถูกต้อง Spelling Correction ก่อนที่จะนำไปป้อนให้โมเดลในงานวิเคราะห์ทางด้าน NLP ต่อไป

Regular Expression (RegEx) คืออะไร สอนใช้ RegEx เบื้องต้นใน Python ตัวอย่างการใช้งาน RegEx หา E-Mail, HTML, IP Address – NLP ep.7

ในงาน NLP เรามักจะต้องเจอกับ การจัดการ String Format ที่ค่อนข้างซับซ้อน เช่น หาอีเมล์ หาเบอร์โทรศัพท์ หาลิงค์ ถ้าเราต้องเขียนโปรแกรม if else วนลูป เช็คเองทุกเคส โปรแกรมจะซับซ้อนมาก วิธีแก้ที่เป็นที่นิยม คือ ใช้ Regular Expression (RegEx, RegExp, RE)

Stemming คืออะไร Lemmatization คืออะไร Stemming และ Lemmatization ต่างกันอย่างไร – NLP ep.3

ตามหลักตามไวยากรณ์ภาษาอังกฤษ คำหนึ่งคำจะแปรไปได้หลายรูปแบบ เช่น organize, organizes, organized, organizing นอกจากนั้นคำยังสามารถแปลงเป็นกลุ่มคำ ที่มาจากรากศัพท์เดียวกันได้อีกหลายรูปแบบ เช่น democracy, democratic, democratization ในงาน NLP ถ้าเราต้องการค้นหาคำบางคำในกลุ่ม แล้วอยากให้ได้ผลลัพธ์ครอบคลุมทุกคำทั้งกลุ่ม แล้วเราจะทำอย่างไร

Layer-Sequential Unit-Variance Initialization (LSUV) คืออะไร แตกต่างกับ Kaiming อย่างไร ในการ Initialize Deep Neural Network – ConvNet ep.6

จากใน ep ก่อน เราได้เรียนรู้การสร้าง ConvNet ขึ้นมาจากหลายส่วนประกอบด้วยกัน และเมื่อสร้างโมเดลขึ้นมาแล้ว ก่อนเทรนเราจำเป็นต้อง Initialize Parameter (Weight, Bias) ต่าง ๆ ด้วยค่าที่เหมาะสม ใน ep ที่แล้ว เราใช้ Kaiming Initalization แล้วถ้าโมเดลเราเกิดซับซ้อนขึ้นเรื่อย ๆ ล่ะ เช่น มีการเปลี่ยน Activaiton Function, มี Skip Connection, มีหลาย Input, เพิ่ม BatchNorm แบบต่าง ๆ, etc. จะทำอย่างไร

Normalization คืออะไร ปรับช่วงข้อมูล Feature Scaling ด้วยวิธี Normalization, Standardization ก่อนเทรน Machine Learning – Preprocessing ep.2

การทำ Feature Scaling คือ วิธีการปรับช่วงขอบเขตของข้อมูลชนิดตัวเลข Cardinal แต่ละ Feature (Field) ให้อยู่ในช่วงเดียวกัน ที่เหมาะกับการนำไปประมวลผลต่อ เข้าสูตรคำนวณได้ง่าย เช่น ช่วง [0, 1] หรือ [-1, 1] ได้ผลลัพธ์อยู่ในช่วงที่กำหนด เรียกว่า Data Normalization นิยมทำในขั้นตอน Preprocessing จัดเตรียมข้อมูล ก่อนป้อนให้โมเดลใช้เทรน

ตัวอย่าง Vanishing Gradient Problem และ วิธีแก้ Vanishing Gradient Problem ด้วย Kaiming Initialization – Neural Network ep.3

ใน ep ที่แล้วเราได้เรียนรู้ถึงปัญหา Vanishing Gradient Problem และวิธีแก้ไขกันไปแล้ว ใน ep นี้เราจะเจาะลึกลงไปถึงสาเหตุ ดูตัวอย่างของ Neural Network ว่าเมื่อเกิดปัญหา Vanishing Gradient Problem และ Exploding Gradient Problem จะมีอาการอย่างไร และเราจะแก้ไขอย่างไรให้โมเดลสามารถเทรนได้ต่อ

Vanishing Gradient Problem คืออะไร แก้ Vanishing Gradient Problem ด้วย Xavier Initialization และ Kaiming Initialization – Neural Network ep.2

ใน Machine Learning เราจะพบปัญหา Vangishing Gradient ในการเทรน Artificial Neural Network ด้วยอัลกอริทึม Gradient Descent และ Backpropagation ในระหว่างการเทรนโมเดลจะถูกอัพเดท Weight และ Bias จาก Partial Derivative ของ Loss Function ขึ้นกับ Weight, Bias นั้น ๆ ในทุก ๆ รอบการเทรน Vanishing Gradient Problem คือ ปัญหาที่เกิดในบางเคส เราพบว่าในระหว่างการเทรน Gradient มีขนาดเล็กลงเรื่อย ๆ จนเท่ากับ 0 ทำให้ Weight ไม่ถูกอัพเดทอีกต่อไป ทำให้โมเดลเทรนต่อไม่ได้ แล้วเราจะแก้ปัญหานี้อย่างไรดี

ทำไมต้อง Vectorization เปรียบเทียบความเร็ว คูณเมตริกซ์ Matrix Multiplication (Dot Product) ด้วยอัลกอริทึม Vectorization และวน Loop – Tensor ep.3

จาก ep ที่แล้ว ที่เราเรียนรู้ถึงคุณสมบัติพิเศษ ของ Tensor ที่จะมาช่วยในการคำนวนต่าง ๆ เมื่อเรามองเจาะลึกเข้าไปภายในของ Deep Neural Network เราจะพบว่าในขณะที่เราเทรน หรือขณะใช้งานโมเดลก็ตาม Mathematical Operations การดำเนินการทางคณิตศาสตร์ส่วนใหญ่ที่เกิดขึ้นก็คือ การคูณเมตริกซ์ โดยเฉพาะการคูณเมตริกซ์ (Matrix Multiplication) แบบ Dot Product การคูณเมตริกซ์ที่รวดเร็วแม่นยำ มีผลต่อการทำงานของ Neural Network เป็นอย่างมาก