Deep Learning
Deep Learning in NLP
Text Classification using DL
อธิบายความรู้พื้นฐานเกี่ยวกับ Deep Learning ในงาน NLP
อธิบายหลักการทำงานของ Deep Learning Models ที่ใช้ใน NLP
เขียนโปรแกรมสร้าง Deep Learning Models ที่ใช้ในการจำแนกประเภท
ตัวอย่างโมเดล ANN
การเรียนรู้เชิงลึก (Deep Learning - DL) เป็นวิธีการเรียนรู้ด้วยเครื่อง (ML) ประเภทหนึ่ง ที่พัฒนามาจากโครงข่ายประสาทเทียม (Artificial Neural Network - ANN) ซึ่งเลียนแบบการทำงานเซลล์ประสาทในสมองของมนุษย์ ข้อแตกต่างระหว่าง DL และ ANN คือ DL จะมีจำนวนชั้นในการเรียนรู้ (Hidden node) จำนวนมากกว่า จึงเป็นที่มาของคำว่า Deep ที่หมายถึงจำนวนความลึกของชั้น Hidden node นั่นเอง
ปัจจุบัน DL เป็นเทคนิคที่ได้รับความนิยมค่อนข้างมาก เนื่องจากเป็นเทคนิคที่เรียกว่า state-of-the-art คือทันสมัยที่สุดเพราะให้ผลลัพธ์ดีที่สุดในปัจจุบัน โดยสามารถนำไปใช้ในงานด้าน NLP ได้หลากหลาย เช่น การจำแนกประเภท การแปลภาษา การสร้างข้อความ การสรุปบทความ เป็นต้น
วิธีการดั้งเดิม ไม่ว่าจะเป็นวิธีการ Rule-based หรือ Traditional ML (เช่น Naïve Bayes, Logistic Regression, SVM) ในงานด้าน NLP มีข้อจำกัดหลายประการ เช่น
การที่มนุษย์ต้องคัดเลือกคุณลักษณะ (Feature Engineering) ให้เหมาะสมต่อการเรียนรู้เอง
ไม่สามารถทำให้โมเดลเรียนรู้บริบท (Context) ได้ดี
ไม่เหมาะกับการจัดการข้อมูลขนาดใหญ่
ข้อดีของ DL ที่ช่วยให้ NLP มีประสิทธิภาพมากขึ้นโดย:
✅ เรียนรู้ Feature อัตโนมัติ (ไม่ต้องทำ Feature Engineering เอง)
✅ เข้าใจ Context และความหมายของคำหรือประโยคได้ดีขึ้น (เช่น ใช้ Word Embeddings, Sentence Embedding แทน BoW/TF-IDF)
✅ รองรับข้อมูลขนาดใหญ่และหลากหลาย ช่วยให้ค้นพบรูปแบบและความสัมพันธ์ของข้อมูลที่ซับซ้อนได้
โครงสร้าง Neural Network ของมนุษย์เปรียบเทียบกับใน ANN
เปรียบเทียบวิธีการ ML แบบดั้งเดิมกับ DL
โมเดลหลักๆ ที่นิยมใช้ในงาน NLP ได้แก่
1️⃣ Recurrent Neural Networks (RNN)
ใช้สำหรับข้อมูลแบบสนใจลำดับข้อมูล (Sequential Data) เช่น Text ที่พิจารณาลำดับคำก่อนหลัง
มี Memory ที่ช่วยให้จำข้อมูลก่อนหน้า
นิยมใช้ในงาน Language Modeling, Text Generation
ปัญหา: Vanishing Gradient ทำให้จำข้อมูลไกลๆ ไม่ได้
2️⃣ LSTM (Long Short-Term Memory) / GRU
พัฒนา RNN ให้จำ Long-term Dependencies ได้ดีขึ้น
นิยมใช้ในงาน Sentiment Analysis, Speech Recognition
3️⃣ Convolutional Neural Networks (CNNs)
การใช้ CNNs ในการประมวลผล Text Data
Convolutional Filters และ Pooling
นิยมใช้ในงาน Text Classification, Sentiment Analysis
4️⃣ Transformer Model (Attention-based)
แทนที่ RNN → เร็วกว่า, แม่นยำกว่า
ใช้ Self-Attention ทำให้เข้าใจความสัมพันธ์ของคำในประโยค
โมเดลสำคัญ: BERT, GPT, T5, Whisper
ทดลองสร้างโมเดลในการวิเคราะห์ความรู้สึก (Sentiment Analysis) โดยใช้ Deep Learning ดาวน์โหลดตัวอย่างโค้ด ที่นี่
ข้อมูลจากความคิดเห็นจาก Sentiment Labelled Sentences Data Set จาก UCI Machine Learning Repository รวมข้อมูล 3 ไฟล์ไว้ด้วยกัน สร้างเป็นคลังข้อความ (yelp, amazon, imdb)
Model1: Logistic Regression เป็น baseline ไว้เปรียบเทียบกับ DL
Model2: Simple Deep Learning
Model3: Deep Learning with Word Embedding
Model4: Deep Learning with Word Embedding and Max Pooling