Como escrever um corretor ortográfico em GAWK com apenas 15 linhas
| Tweet |
|
“Ano passado, o Peter Norvig publicou em seu website um artigo que explica como escrever um corretor ortográfico, noticiado inclusive no Br-Linux.org.
Norvig utilizou um script em Python com 21 linhas para demonstrar o algoritmo. Agora o Tiago Peczenyj publicou (após algumas noites em claro) uma versão utilizando o bom e velho gawk com apenas 15 linhas.”
Enviado por Tiago Peczenyj (tiago·peczenyjΘgmail·com) – referência (peczenyj.blogspot.com).
| Tweet |
|
• Link direto para este post: http://br-l.org/!1176
• Siga no Twitter: @brlinuxblog e @augustocc
• Mais posts do mesmo tema: Comunidade










Vou esperar sair a versão de 14 linhas para usar :)
É, sempre dá pra ir reduzindo. Mas eu reparei que ele colocou o fechamento dos escopos (as chaves } ) na mesma linha. Isso não vale :P (embora não tire o mérito dele, óbvio).
Minha versão final em Java (http://www.raelcunha.com/spell-correct.php) ficou com 37 linhas, e a versão em Groovy com 23 linhas (embora essa seja não utilizável na prática, de tão lerda que ficou).
Embora, otimizando a versão em Java, ganhe-se umas 10 linhas, mas 50% mais em desempenho (ainda não coloquei essa versão no site, o Felipe Farinon participou dessa otimização, mas também não publicou essa versão final).
Uma pena que o mawk não tenha a função asorti, seria interessante ver a performance nele — via gawk demora quase o dobro do tempo do que a versão em python. O provavel motivo deve ser I/O + operações com Expressões Regulares, estou investigando. No fim das contas foi um bom exercicio :)
Rael, publica a versão optimizada!!