# การสร้างแบบจำลองภาษา การฝังความหมาย เช่น 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) ---