[SP-pm] Conceito para fazer busca[ OFF ]

Nelson Ferraz nferraz at gmail.com
Thu Aug 13 06:27:52 PDT 2009


2009/8/13 João Gabriel Casteluber Laass <gabriel em joaogabriel.org>:
> 2009/8/12 Nilson Santos Figueiredo Jr. <acid06 em gmail.com>:
>> O algoritmo funciona mais ou menos assim: ele tenta trocar letras
>> consecutivas (ab => ba), realizar inserções de uma letra (aa => aba),
>> realizar remoções de uma letra (aba => aa), trocar letras por outras
>> não presentes (aba => aca) e provavelmente mais algumas operações mais
>> especializadas. Ele realiza essas substituições diversas vezes até
>> achar um bom resultado.
>
> Existe uma "jogada" que você compara duas palavras e ve a porcentagem
> de semelhança entre elas. Esse não seria um caminho mais rápido?

Como você define a semelhanca?

"estádio" e "estúdio" têm apenas uma letra de diferenca, mas
dificilmente alguém confundiria as duas palavras.

"eminente" e "iminente" também têm apenas uma letra de diferenca, mas
são muito mais sujeitas a confusão.

O algoritmo de comparacao não deve levar em conta a "porcentagem de
semelhanca", mas a "qualidade da semelhanca".

"E" e "I" são dois sons parecidos em português. "A" e "U" não. Em
compensacão, "O" e "U" podem ser confundidos:

Comprimento – extensão
Cumprimento – saudação

Em alguns casos até mesmo o "L" e o "R" podem ser trocados por engano:

Flagrante – evidente
Fragrante – perfumado

Um outro exemplo interessante é:

Estádio – praça de esporte
Estágio – aprendizado

(Algumas regiões do Brasil pronunciam "dio" como "djo", daí que a
confusão é possível ;))

Portanto, o algoritmo deve necessariamente levar em conta a linguagem.

[]s

Nelson


More information about the SaoPaulo-pm mailing list