AI-For-Beginners/translations/th/lessons/5-NLP/15-LanguageModeling/README.md

46 lines
5.6 KiB
Markdown

# การสร้างแบบจำลองภาษา
การฝังความหมาย เช่น Word2Vec และ GloVe ถือเป็นก้าวแรกในการสร้าง **แบบจำลองภาษา** - การสร้างโมเดลที่สามารถ *เข้าใจ* (หรือ *แสดงออก*) ลักษณะของภาษาได้ในบางรูปแบบ
## [แบบทดสอบก่อนเรียน](https://ff-quizzes.netlify.app/en/ai/quiz/29)
แนวคิดหลักของการสร้างแบบจำลองภาษาคือการฝึกโมเดลด้วยชุดข้อมูลที่ไม่มีการติดป้ายกำกับในลักษณะการเรียนรู้แบบไม่มีผู้สอน ซึ่งสำคัญมากเพราะเรามีข้อความที่ไม่มีการติดป้ายกำกับจำนวนมหาศาล ในขณะที่ข้อความที่มีการติดป้ายกำกับจะถูกจำกัดด้วยความพยายามที่เราสามารถใช้ในการติดป้ายกำกับได้ โดยทั่วไป เราสามารถสร้างแบบจำลองภาษาที่สามารถ **ทำนายคำที่หายไป** ในข้อความได้ เพราะการปิดบังคำแบบสุ่มในข้อความและใช้เป็นตัวอย่างการฝึกนั้นทำได้ง่าย
## การฝึกฝังความหมาย
ในตัวอย่างก่อนหน้านี้ เราใช้การฝังความหมายที่ผ่านการฝึกมาแล้ว แต่จะน่าสนใจมากหากเราได้เห็นว่าการฝังความหมายเหล่านี้สามารถฝึกได้อย่างไร มีแนวคิดหลายแบบที่สามารถนำมาใช้ได้:
* **การสร้างแบบจำลองภาษาแบบ N-Gram** โดยการทำนายโทเค็นโดยดูจากโทเค็น N ตัวก่อนหน้า (N-gram)
* **Continuous Bag-of-Words** (CBoW) โดยการทำนายโทเค็นตรงกลาง $W_0$ ในลำดับโทเค็น $W_{-N}$, ..., $W_N$
* **Skip-gram** โดยการทำนายชุดโทเค็นที่อยู่ใกล้เคียง {$W_{-N},\dots, W_{-1}, W_1,\dots, W_N$} จากโทเค็นตรงกลาง $W_0$
![ภาพจากงานวิจัยเกี่ยวกับการแปลงคำเป็นเวกเตอร์](../../../../../translated_images/th/example-algorithms-for-converting-words-to-vectors.fbe9207a726922f6.webp)
> ภาพจาก [งานวิจัยนี้](https://arxiv.org/pdf/1301.3781.pdf)
## ✍️ ตัวอย่างโน้ตบุ๊ก: การฝึกโมเดล CBoW
เรียนรู้เพิ่มเติมในโน้ตบุ๊กต่อไปนี้:
* [การฝึก CBoW Word2Vec ด้วย TensorFlow](CBoW-TF.ipynb)
* [การฝึก CBoW Word2Vec ด้วย PyTorch](CBoW-PyTorch.ipynb)
## สรุป
ในบทเรียนก่อนหน้านี้ เราได้เห็นว่าการฝังคำทำงานได้อย่างมหัศจรรย์! ตอนนี้เรารู้แล้วว่าการฝึกการฝังคำไม่ใช่เรื่องซับซ้อนมาก และเราควรสามารถฝึกการฝังคำของเราเองสำหรับข้อความเฉพาะทางได้หากจำเป็น
## [แบบทดสอบหลังเรียน](https://ff-quizzes.netlify.app/en/ai/quiz/30)
## ทบทวนและศึกษาด้วยตนเอง
* [บทเรียนอย่างเป็นทางการของ PyTorch เกี่ยวกับการสร้างแบบจำลองภาษา](https://pytorch.org/tutorials/beginner/nlp/word_embeddings_tutorial.html)
* [บทเรียนอย่างเป็นทางการของ TensorFlow เกี่ยวกับการฝึกโมเดล Word2Vec](https://www.TensorFlow.org/tutorials/text/word2vec)
* การใช้เฟรมเวิร์ก **gensim** เพื่อฝึกการฝังคำที่ใช้บ่อยที่สุดในโค้ดเพียงไม่กี่บรรทัด อธิบายไว้ [ในเอกสารนี้](https://pytorch.org/tutorials/beginner/nlp/word_embeddings_tutorial.html)
## 🚀 [งานที่ได้รับมอบหมาย: ฝึกโมเดล Skip-Gram](lab/README.md)
ในห้องปฏิบัติการ เราท้าทายให้คุณปรับเปลี่ยนโค้ดจากบทเรียนนี้เพื่อฝึกโมเดล Skip-Gram แทน CBoW [อ่านรายละเอียด](lab/README.md)
---