Garu: analizador morfológico coreano de 1.7 MB que corre en el navegador (F1 95.3%, WASM)
(github.com/ongjin)He creado un analizador morfológico coreano que se ejecuta en el navegador sin servidor.
Los analizadores morfológicos existentes (Kiwi ~40MB, MeCab-ko ~50MB) fueron diseñados asumiendo un entorno de servidor, así que no había opciones cuando se necesitaba análisis morfológico del lado del cliente.
Garu se ejecuta directamente en el navegador con una arquitectura no neuronal basada en codebook + Viterbi, usando solo un modelo de 1.7MB y un motor WASM de 93KB.
- Tamaño del modelo: 1.7MB (gzip ~950KB, transferencia por red de aprox. 1MB)
- Precisión: F1 95.3% (según el corpus Everyone's Corpus de NIKL)
- Comparación: Kiwi 87.9% / MeCab-ko ~85%
- Sin red neuronal: 0 parámetros entrenados, lookup puro + decodificación Viterbi
- Se puede usar tanto en servidor como en navegador con
npm install garu-ko
Después de dos intentos fallidos —destilación de conocimiento con BiLSTM y etiquetado de secuencias a nivel de jaso— llegué a una arquitectura no neuronal de codebook + Viterbi. El proceso de optimización desde 76.1% hasta 95.3% (entrenamiento directo con datos gold de NIKL, caché inteligente de eojeol, reglas de posprocesamiento basadas en contexto, etc.) está documentado en el artículo técnico.
GitHub: https://github.com/ongjin/garu
Artículo técnico: https://github.com/ongjin/garu/blob/main/docs/paper.md
npm: https://www.npmjs.com/package/garu-ko
1 comentarios
Se movió a Show GN.
Como referencia, las publicaciones cuya clasificación sea ajustada por un moderador pueden tener limitada su visibilidad en la pantalla principal, así que por favor revisa una vez más la categoría antes de publicarla.