การเรียนรู้อย่างลึกซึ้งสำหรับ NLP
บทช่วยสอนนี้เป็นการแนะนำการใช้อัลกอริทึมการเรียนรู้อย่างลึกซึ้งในโดเมนของการประมวลผลภาษาธรรมชาติ
และจัดทำขึ้นโดยใช้เนื้อหา (ทฤษฎีและรหัส) จากแหล่งข้อมูลต่อไปนี้:
- การเรียนรู้อย่างลึกซึ้งกับ Python, หนังสือโดยFrançois chollet
- วิธีการเครือข่ายประสาทในการประมวลผลภาษาธรรมชาติหนังสือโดย Yoav Goldberg
- CS224D: การเรียนรู้อย่างลึกซึ้งสำหรับการประมวลผลภาษาธรรมชาติ
รหัสการปฏิบัติเกี่ยวกับชุดข้อมูลการจัดหมวดหมู่ความคิดเห็นที่เป็นพิษของ Kaggle
สารบัญ
ใช้เคส
- การจำแนกลำดับ
- การตรวจจับภาษา
- การจำแนกประเภท (ความเชื่อมั่นหัวข้อ ฯลฯ )
- การจำแนกคำหลัก (ชื่อเพศชื่อสถานที่/บุคคล)
- ลำดับถึงลำดับ (seq2seq)
- การแปล
- Gmail Smart ตอบกลับ
- AI การสนทนา: แชทบอท
- คนอื่น
- ชื่อ, เรื่องราว, บทกวี, เครื่องกำเนิดกล่องโต้ตอบ
- คำบรรยายภาพ
- ส่วนหนึ่งของการติดแท็กคำพูด
- การรับรู้ชื่อเอนทิตี
การตั้งค่าระบบ
- Python 3.6
- ปิ๊ก
- virtualenv
- ห้องสมุด:
- เครส
- เทนเซอร์โฟลว์
- Jupyter
- matplotlib
ชุดข้อมูลที่จะเล่น
- ชุดข้อมูลตรวจสอบ IMDB
- Kaggle (ความคิดเห็นการจำแนกความคิดเห็นที่เป็นพิษ) ชุดข้อมูลความคิดเห็น Wikipedia
- Ubuntu Dialog Corpora
- ชุดข้อมูลการแปล
- ชุดข้อมูลอื่น ๆ
การวิเคราะห์ข้อมูล
- การวิเคราะห์ทั่วไป
การแสดงลำดับ
- การแสดง
- การเข้ารหัสร้อนหนึ่งครั้ง
- การฝังคำ
- การฝังตัวที่ผ่านการฝึกอบรมล่วงหน้า
แบบจำลอง
- ฝังลงในคลาสรุ่น 1
- การฝังที่เชื่อมต่อกับ 1 เลเยอร์ RNN (เครือข่ายประสาทกำเริบ) รุ่น 2 และรุ่น 2 ขยาย
- แบบสองทิศทาง RNN Model 3 และ Model 3 Extended
สถาปัตยกรรม RNN ที่ทันสมัย
- หน่วยความจำระยะสั้นระยะยาว (LSTM)
- หน่วยกำเริบของ Gater (GRU)
- seq2seq
- ความสนใจ
- การค้นหาลำแสง
เครส
- API และคำหลัก
- Optimizers
- การสูญเสีย
- การเปิดใช้งาน
- ตัวชี้วัด
- ปรับใช้แบบจำลองเพื่อการผลิตและการอนุมาน
เทคนิคการเพิ่มประสิทธิภาพแบบจำลอง
- การออกกลางคัน
- backpropagation ที่ถูกตัดทอนตลอดเวลา (TBPTT)
- ปัญหาการไล่ระดับสีหายไป