12 points par dydwls140 2026-03-30 | 1 commentaires | Partager sur WhatsApp

J’ai créé un analyseur morphologique coréen qui s’exécute dans le navigateur sans serveur.

Les analyseurs morphologiques existants (Kiwi ~40MB, MeCab-ko ~50MB) ont été conçus en partant du principe d’un environnement serveur, si bien qu’il n’existait pas vraiment d’option lorsqu’une analyse morphologique côté client était nécessaire.

Garu repose sur une architecture non neuronale basée sur un codebook + Viterbi, et s’exécute directement dans le navigateur avec seulement un modèle de 1,7 Mo et un moteur WASM de 93 Ko.

  • Taille du modèle : 1,7 Mo (gzip ~950 Ko, transfert réseau d’environ 1 Mo)
  • Précision : F1 95,3 % (sur la base du corpus NIKL Everyone’s Corpus)
  • Comparaison : Kiwi 87,9 % / MeCab-ko ~85 %
  • Sans réseau neuronal : 0 paramètre d’apprentissage, simple lookup + décodage Viterbi
  • Utilisable côté serveur comme dans le navigateur via npm install garu-ko

Après deux échecs — distillation de connaissances BiLSTM et sequence labeling au niveau des jaso —, j’en suis arrivé à cette architecture non neuronale codebook + Viterbi. J’ai résumé dans un article technique le processus d’optimisation qui a permis de passer de 76,1 % à 95,3 % (apprentissage direct sur les données gold du NIKL, cache intelligent des eojeol, règles de post-traitement basées sur le contexte, etc.).

GitHub: https://github.com/ongjin/garu
Article technique : https://github.com/ongjin/garu/blob/main/docs/paper.md
npm: https://www.npmjs.com/package/garu-ko

1 commentaires

 
moderator 2026-03-30

Le post a été déplacé vers Show GN.
À titre d’information, les publications dont la catégorie a été ajustée par un modérateur peuvent voir leur exposition sur l’écran d’accueil limitée ; merci de vérifier une nouvelle fois la catégorie avant de publier.