Um corretor ortográfico de apenas 20 linhas, em Python[bb]:

How to Write a Spelling Corrector

Solução elegante, mostra também o quanto a linguagem é elegante.


5 respostas para “Escrevendo um corretor ortográfico”

  1. Avatar de wallace

    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…

  2. Avatar de Walter Cruz

    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/

  3. Avatar de Renato
    Renato

    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.

  4. Avatar de Ederson Peka

    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.

  5. Avatar de Alexandre

    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.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *