12 pontos por dydwls140 2026-03-30 | 1 comentários | Compartilhar no WhatsApp

Criei um analisador morfológico de coreano que roda no navegador sem servidor.

Os analisadores morfológicos existentes (Kiwi ~40MB, MeCab-ko ~50MB) foram projetados assumindo um ambiente de servidor, então não havia opções quando era necessário fazer análise morfológica no lado do cliente.

O Garu usa uma arquitetura não neural baseada em codebook + Viterbi e roda diretamente no navegador com apenas um modelo de 1,7 MB e um engine WASM de 93 KB.

  • Tamanho do modelo: 1,7 MB (gzip ~950 KB, cerca de 1 MB em transmissão de rede)
  • Precisão: F1 95,3% (com base no corpus NIKL de fala de todos)
  • Comparação: Kiwi 87,9% / MeCab-ko ~85%
  • Sem rede neural: 0 parâmetros treináveis, apenas lookup puro + decodificação Viterbi
  • npm install garu-ko permite uso tanto em servidor quanto no navegador

Após duas tentativas fracassadas, incluindo destilação de conhecimento com BiLSTM e rotulagem de sequência em nível de jaso, cheguei a uma arquitetura não neural de codebook + Viterbi. O processo de otimização de 76,1% até 95,3% (treinamento direto com dados gold do NIKL, cache inteligente de eojeol, regras de pós-processamento baseadas em contexto etc.) foi organizado em um artigo técnico.

GitHub: https://github.com/ongjin/garu
Artigo técnico: https://github.com/ongjin/garu/blob/main/docs/paper.md
npm: https://www.npmjs.com/package/garu-ko

1 comentários

 
moderator 2026-03-30

Foi movido para Show GN.
Só para constar, posts cuja categoria for ajustada por um moderador podem ter a exibição na página inicial limitada, então pedimos que confira a categoria mais uma vez antes de publicar.