Garu: เครื่องวิเคราะห์หน่วยคำภาษาเกาหลีขนาด 1.7MB ที่ทำงานในเบราว์เซอร์ (F1 95.3%, WASM)
(github.com/ongjin)ผมได้สร้างเครื่องวิเคราะห์หน่วยคำภาษาเกาหลีที่ทำงานในเบราว์เซอร์ได้โดยไม่ต้องมีเซิร์ฟเวอร์
เครื่องวิเคราะห์หน่วยคำเดิม ๆ (Kiwi ~40MB, MeCab-ko ~50MB) ถูกออกแบบโดยมีสมมติฐานว่าใช้งานในสภาพแวดล้อมแบบเซิร์ฟเวอร์ จึงแทบไม่มีตัวเลือกสำหรับกรณีที่ต้องการวิเคราะห์หน่วยคำฝั่งไคลเอนต์
Garu ใช้สถาปัตยกรรมแบบไม่พึ่งโครงข่ายประสาทที่อิง codebook + Viterbi และสามารถรันได้โดยตรงในเบราว์เซอร์ด้วยโมเดลขนาด 1.7MB และเอนจิน WASM ขนาด 93KB เท่านั้น
- ขนาดโมเดล: 1.7MB (gzip ~950KB, ส่งผ่านเครือข่ายประมาณ 1MB)
- ความแม่นยำ: F1 95.3% (อ้างอิงจาก NIKL Everyone's Corpus)
- เทียบกับ: Kiwi 87.9% / MeCab-ko ~85%
- ไม่มีโครงข่ายประสาท: พารามิเตอร์ที่ต้องฝึก 0 ตัว, เป็น pure lookup + Viterbi decoding
- ใช้งานได้ทั้งเซิร์ฟเวอร์/เบราว์เซอร์ผ่าน
npm install garu-ko
หลังผ่านความล้มเหลวมา 2 ครั้ง ทั้งการกลั่นความรู้จาก BiLSTM และ sequence labeling ระดับ jaso จึงมาถึงสถาปัตยกรรมแบบไม่พึ่งโครงข่ายประสาทอย่าง codebook + Viterbi ผมได้สรุปกระบวนการปรับแต่งจาก 76.1% ไปสู่ 95.3% (เช่น การฝึกด้วยข้อมูล gold ของ NIKL โดยตรง, smart eojeol cache, กฎ post-processing ตามบริบท ฯลฯ) ไว้ในบทความเชิงเทคนิค
GitHub: https://github.com/ongjin/garu
บทความเชิงเทคนิค: https://github.com/ongjin/garu/blob/main/docs/paper.md
npm: https://www.npmjs.com/package/garu-ko
1 ความคิดเห็น
ย้ายไปที่ Show GN แล้ว
ขอแจ้งไว้ว่าโพสต์ที่ moderator ปรับหมวดหมู่อาจถูกจำกัดการแสดงบนหน้าแรกได้ ดังนั้นก่อนลงทะเบียนรบกวนตรวจสอบหมวดหมู่อีกครั้งหนึ่ง