Um corretor ortográfico de apenas 20 linhas, em Python:
How to Write a Spelling Corrector
Solução elegante, mostra também o quanto a linguagem é elegante.
Um corretor ortográfico de apenas 20 linhas, em Python:
How to Write a Spelling Corrector
Solução elegante, mostra também o quanto a linguagem é elegante.
Apenas uma correção Alexandre:
O Google não usa similaridade fonética.
O metaphone não calcula a distância fonética, metaphone serve para calcular um código hash usando a pronuncia de uma dada palavra. Palavras com pronuncias iguais geram hashs iguais… Foi construido para corrigir os probleminhas do Soundex…
Isso vc saberia se tivesse lido a documentação que colocou no comentário…
Uma forma de aplicar similaridade fonética é gerar uma hash com o metaphone e depois usar o mesmo algoritmo de correção ortográfica para buscar a palavra “correta” com o mesmo som…
Marcelo Toledo fez uma implementação em C e uma comparação com outras linguagens que é bem interessante também. Vale a pena conferir!
http://blog.marcelotoledo.org/2007/08/10/how-to-write-a-spelling-corrector/
Off-Topic
Me perdoe, mas não achei seu e-mail Elcio.
Eu vi um comment seu (http://blog.elcio.com.br/terminais_burros_sao_uma_solucao_inteligente/feed/)
e nele você descreve com fará uma pequena rede com terminais burros. Amigo, não saco muito de informática, mas se você concluiu aquele rede, você tem/criou algum tutorial de como montar o Servidor e as estações. Estou querendo montar uma rede comunitária aqui na minha comunidade em Lauro de Freitas/Ba.
Desde já agradeço muito.
Tem que ver as mágicas que os caras fazem com Perl aqui. O treco é um organismo, tem vida própria. Dá medo.
(OFF) Outro dia um maluco aqui fez um hello-world “multilanguage” que compilava/rodava em Java, C, Perl e mais um punhado de linguagens. Aquilo dá MUITO medo.
Interessane e bonita a forma com a qual foi escrito o código, mas nada prático.
Esse algoritmo de similaridade é baseado em distância Levenshtein, não é algo especial do Google, é até antigo.
O PHP por exemplo, possui uma função nativa levenshtein que calcula essa distância, mas o Google provavelmente usa além desse algoritmo o metaphone (também incluido por padrão no PHP) que calcula distância fonética.