5.6 KiB
การสร้างแบบจำลองภาษา
การฝังความหมาย เช่น Word2Vec และ GloVe ถือเป็นก้าวแรกในการสร้าง แบบจำลองภาษา - การสร้างโมเดลที่สามารถ เข้าใจ (หรือ แสดงออก) ลักษณะของภาษาได้ในบางรูปแบบ
แบบทดสอบก่อนเรียน
แนวคิดหลักของการสร้างแบบจำลองภาษาคือการฝึกโมเดลด้วยชุดข้อมูลที่ไม่มีการติดป้ายกำกับในลักษณะการเรียนรู้แบบไม่มีผู้สอน ซึ่งสำคัญมากเพราะเรามีข้อความที่ไม่มีการติดป้ายกำกับจำนวนมหาศาล ในขณะที่ข้อความที่มีการติดป้ายกำกับจะถูกจำกัดด้วยความพยายามที่เราสามารถใช้ในการติดป้ายกำกับได้ โดยทั่วไป เราสามารถสร้างแบบจำลองภาษาที่สามารถ ทำนายคำที่หายไป ในข้อความได้ เพราะการปิดบังคำแบบสุ่มในข้อความและใช้เป็นตัวอย่างการฝึกนั้นทำได้ง่าย
การฝึกฝังความหมาย
ในตัวอย่างก่อนหน้านี้ เราใช้การฝังความหมายที่ผ่านการฝึกมาแล้ว แต่จะน่าสนใจมากหากเราได้เห็นว่าการฝังความหมายเหล่านี้สามารถฝึกได้อย่างไร มีแนวคิดหลายแบบที่สามารถนำมาใช้ได้:
- การสร้างแบบจำลองภาษาแบบ 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
ภาพจาก งานวิจัยนี้
✍️ ตัวอย่างโน้ตบุ๊ก: การฝึกโมเดล CBoW
เรียนรู้เพิ่มเติมในโน้ตบุ๊กต่อไปนี้:
สรุป
ในบทเรียนก่อนหน้านี้ เราได้เห็นว่าการฝังคำทำงานได้อย่างมหัศจรรย์! ตอนนี้เรารู้แล้วว่าการฝึกการฝังคำไม่ใช่เรื่องซับซ้อนมาก และเราควรสามารถฝึกการฝังคำของเราเองสำหรับข้อความเฉพาะทางได้หากจำเป็น
แบบทดสอบหลังเรียน
ทบทวนและศึกษาด้วยตนเอง
- บทเรียนอย่างเป็นทางการของ PyTorch เกี่ยวกับการสร้างแบบจำลองภาษา
- บทเรียนอย่างเป็นทางการของ TensorFlow เกี่ยวกับการฝึกโมเดล Word2Vec
- การใช้เฟรมเวิร์ก gensim เพื่อฝึกการฝังคำที่ใช้บ่อยที่สุดในโค้ดเพียงไม่กี่บรรทัด อธิบายไว้ ในเอกสารนี้
🚀 งานที่ได้รับมอบหมาย: ฝึกโมเดล Skip-Gram
ในห้องปฏิบัติการ เราท้าทายให้คุณปรับเปลี่ยนโค้ดจากบทเรียนนี้เพื่อฝึกโมเดล Skip-Gram แทน CBoW อ่านรายละเอียด
