[SP-pm] Conceito para fazer busca[ OFF ]
Nelson Ferraz
nferraz at gmail.com
Mon Aug 17 08:34:17 PDT 2009
> rodei o módulo com tabela comparativa do documento pdf entre Soundex e
> BuscaBR e as divergênncias que obtive foram:
Aqui vai um exemplo prático das confusões que podem resultar do
Soundex em português:
#!/usr/bin/perl
use strict;
use warnings;
use Text::Soundex;
use Data::Dumper;
my @palavras = map { (split)[0] } <DATA>;
my %soundex;
foreach (@palavras) {
push @{$soundex{soundex($_)}}, $_;
}
print Dumper \%soundex;
__DATA__
faca
foca
fato
fita
gato
gota
lata
luta
sapo
sopa
Resultado:
$VAR1 = {
'G300' => [
'gato',
'gota'
],
'F300' => [
'fato',
'fita'
],
'F200' => [
'faca',
'foca'
],
'L300' => [
'lata',
'luta'
],
'S100' => [
'sapo',
'sopa'
]
};
Ou seja: o soundex de "faca" e "foca" são iguais; assim como "fato" e
"fita", "gato" e "gota", "lata" e "luta"; e assim por diante. Imagine
se a pessoa procurasse por "pata"...
Em português, um "e" pode ser facilmente confundido com "i"; um "o"
com "u"; mas raramente alguém confundiria "a" com "u".
O algoritmo deveria detectar as nuances da língua; em português as
vogais não podem ser simplesmente ignoradas.
Infelizmente o BuscaBR parece cometer o mesmo erro.
More information about the SaoPaulo-pm
mailing list