ขั้นตอนที่ 2.5: เลือกรุ่น

ณ จุดนี้ เราได้รวบรวมชุดข้อมูลของเราและรับข้อมูลเชิงลึกเกี่ยวกับลักษณะสําคัญของข้อมูล ต่อไป ตามเมตริกที่เรารวบรวมในขั้นตอนที่ 2 เราควรคํานึงถึง โมเดลการจําแนกประเภทที่เราควรใช้ ซึ่งหมายถึงการถามคําถาม เช่น "เราจะแสดงข้อมูลข้อความไปยังอัลกอริทึมที่รอการป้อนข้อมูลที่เป็นตัวเลขได้อย่างไร" (ระบบเรียกว่าการประมวลผลข้อมูลล่วงหน้าและการเวกเตอร์) "เราควรใช้โมเดลประเภทใด" "เราควรใช้พารามิเตอร์การกําหนดค่าแบบใดสําหรับโมเดลของเรา" เป็นต้น

การวิจัยต่างๆ เกิดขึ้นมานานกว่าหลายทศวรรษทําให้เรามีสิทธิ์เข้าถึงตัวเลือกการประมวลผลข้อมูลล่วงหน้าและการกําหนดค่ารูปแบบต่างๆ อย่างไรก็ตาม ความพร้อมใช้งานของตัวเลือกจํานวนมากที่มีอยู่ให้เลือกได้เป็นจํานวนมากจะเพิ่มความซับซ้อนและขอบเขตของปัญหาโดยเฉพาะอย่างยิ่ง เนื่องจากตัวเลือกที่ดีที่สุดอาจไม่ชัดเจน โซลูชันที่ไม่เหมาะสมควรลองใช้ตัวเลือกที่เป็นไปได้ทั้งหมดอย่างรอบคอบ ตัดตัวเลือกบางอย่างออกโดยใช้สัญชาตญาณ แต่แพงมาก

ในคู่มือนี้ เราพยายามช่วยลดความซับซ้อนของขั้นตอนการเลือกรูปแบบการจัดประเภทข้อความอย่างมาก สําหรับชุดข้อมูลหนึ่งๆ เป้าหมายของเราคือการหาอัลกอริทึมที่มีความถูกต้องเกือบสูงสุดในขณะที่คํานวณเวลาที่ต้องใช้ในการฝึกอบรมน้อยที่สุด เราทําการทดสอบจํานวนมาก (ประมาณ 450,000 รายการ) ในปัญหาประเภทต่างๆ (โดยเฉพาะอย่างยิ่งการวิเคราะห์ความเห็นและปัญหาการจัดประเภทหัวข้อ) โดยใช้ชุดข้อมูล 12 ชุดและสลับการใช้ชุดข้อมูลแต่ละชุดระหว่างเทคนิคการประมวลผลล่วงหน้าและสถาปัตยกรรมที่ต่างกัน ข้อมูลนี้ช่วยให้เราระบุพารามิเตอร์ของชุดข้อมูลที่มีอิทธิพลต่อตัวเลือกที่ดีที่สุด

อัลกอริทึมการเลือกโมเดลและโฟลว์ชาร์ตด้านล่างคือสรุปการทดสอบของเรา ไม่ต้องกังวล หากคุณยังไม่เข้าใจคําศัพท์ทั้งหมดที่ใช้ในคีย์เวิร์ด ส่วนต่อไปนี้ของคู่มือนี้จะอธิบายอย่างละเอียด

อัลกอริทึมสําหรับการจัดเตรียมข้อมูลและการสร้างโมเดล

1. Calculate the number of samples/number of words per sample ratio.
2. If this ratio is less than 1500, tokenize the text as n-grams and use a
simple multi-layer perceptron (MLP) model to classify them (left branch in the
flowchart below):
  a. Split the samples into word n-grams; convert the n-grams into vectors.
  b. Score the importance of the vectors and then select the top 20K using the scores.
  c. Build an MLP model.
3. If the ratio is greater than 1500, tokenize the text as sequences and use a
   sepCNN model to classify them (right branch in the flowchart below):
  a. Split the samples into words; select the top 20K words based on their frequency.
  b. Convert the samples into word sequence vectors.
  c. If the original number of samples/number of words per sample ratio is less
     than 15K, using a fine-tuned pre-trained embedding with the sepCNN
     model will likely provide the best results.
4. Measure the model performance with different hyperparameter values to find
   the best model configuration for the dataset.

ในโฟลว์ตารางด้านล่าง กล่องสีเหลืองจะระบุกระบวนการเตรียมข้อมูลและโมเดล กล่องสีเทาและกล่องสีเขียวแสดงตัวเลือกที่เราพิจารณาสําหรับแต่ละกระบวนการ ช่องสีเขียวจะระบุตัวเลือกที่เราแนะนําสําหรับแต่ละกระบวนการ

คุณใช้โฟลว์ชาร์ตนี้เป็นจุดเริ่มต้นในการสร้างการทดสอบแรกได้ เนื่องจากจะให้ความแม่นยําที่ดีโดยมีค่าใช้จ่ายในการคํานวณต่ํา จากนั้นคุณจะปรับปรุงโมเดลเริ่มต้นต่อไปได้เรื่อยๆ

โฟลว์ชาร์ตการจัดประเภทข้อความ

รูปที่ 5: โฟลว์ชาร์ตการแยกข้อความ

โฟลว์ชาร์ตนี้จะตอบคําถามสําคัญ 2 ข้อต่อไปนี้

  1. เราควรใช้อัลกอริทึมหรือโมเดลการเรียนรู้ใด

  2. เราควรเตรียมข้อมูลอย่างไรเพื่อเรียนรู้ความสัมพันธ์ระหว่างข้อความและป้ายกํากับอย่างมีประสิทธิภาพ

คําตอบสําหรับคําถามข้อที่ 2 จะขึ้นอยู่กับคําตอบสําหรับคําถามข้อแรก วิธีที่เราประมวลผลข้อมูลล่วงหน้าเพื่อป้อนลงในโมเดลจะขึ้นอยู่กับโมเดลที่เราเลือก โมเดลสามารถจัดประเภทได้กว้างๆ เป็น 2 หมวดหมู่ ได้แก่ โมเดลที่ใช้ข้อมูลการเรียงลําดับคํา (โมเดลลําดับ) และแบบที่แสดงเฉพาะข้อความเป็น "กระเป๋า" (ชุด) ของคํา (โมเดล N-gram) ประเภทรูปแบบลําดับ ได้แก่ โครงข่ายระบบประสาทเทียม (CNN) โครงข่ายประสาทแบบเกิดซ้ํา (RNN) และรูปแบบต่างๆ ประเภทของโมเดล N NG ประกอบด้วยการถดถอยแบบโลจิสติกส์, โมเดลหลายเลเยอร์อย่างง่าย (MLP, หรือเครือข่ายโครงข่ายที่เชื่อมต่อทั้งหมด) ต้นไม้เพิ่มการไล่ระดับสี และเครื่องเวกเตอร์เวกเตอร์

จากการทดสอบ เราพบว่าอัตราส่วนของ “จํานวนตัวอย่าง” (S) ต่อ “จํานวนคําต่อตัวอย่าง” (W) สัมพันธ์กับรูปแบบที่มีประสิทธิภาพ

เมื่ออัตราส่วนของอัตราส่วนนี้เป็นค่าต่ํา (<1500) พร็อพเพอร์ตี้หลายชั้นที่มี N-grams เป็นอินพุต (ซึ่งเราเรียกว่า ตัวเลือก A) จะมีประสิทธิภาพดีกว่าหรืออย่างน้อยที่สุด รวมไปถึงโมเดลลําดับ MLP นั้นง่ายต่อการทําความเข้าใจและเข้าใจได้ง่าย และใช้เวลาในการประมวลผลน้อยกว่าโมเดลลําดับมาก เมื่อค่าสําหรับอัตราส่วนนี้มีขนาดใหญ่ (>= 1500) ให้ใช้โมเดลลําดับ (ตัวเลือก ข) ในขั้นตอนต่อไปนี้ ให้ข้ามไปยังส่วนย่อยที่เกี่ยวข้อง (ติดป้ายกํากับ A หรือ B) สําหรับประเภทโมเดลที่คุณเลือกตามอัตราส่วนตัวอย่าง/คําต่อตัวอย่าง

ในกรณีของชุดข้อมูลการตรวจสอบ IMDb อัตราส่วนตัวอย่าง/คําต่อตัวอย่างคือ ~144 ซึ่งหมายความว่าเราจะสร้างโมเดล MLP