BuscaBR Fonetica
BuscaBR Fonetica
BuscaBR Fonetica
Fred.lucena@unibratec.com.br
RESUMO
1
SOUNDEX é marca registrada de Robert Russell e Margaret Odell
2
ORACLE é marca registrada da Oracle Corporation
3
PL/SQL é marca registrada da Oracle Corporation
ABSTRACT
Necessity of improve access to informations stored in large data bases has lead companys to
search forms to become more efficient consult methods. Spoken or written languages generates spelling
difficulties, as for official grammar as for regionnal influences. Brasilian portuguese language also has
orthographic and grammatical rules and has, too, a lot of internal and external influences that makes
trouble on learning. The foreignism is very present in brasilian portuguese language and lead to create
new words that are incorporated to its original spelling or create portuguesement that generates new
difficulties and exceptions to existents rules. The large cultural diversities and territorial extension also
are responsible for peculiarities that can contribute to create difficulties on access and location of
informations. The SOUNDEX1® routine, developed in USA on1918 year, try to minimize spelling
wrongs by using phonemes codes. Because it had been developed depending on american necessities the
SOUNDEX1® routine incorporated to the Oracle2®, presented effectiveness problems when applied to
portuguese language. In order to create a function able to involve all portuguese language characteristics,
it was developed a research that analysed existing deficiencies in SOUNDEX1® routine. After that,
detailed analysis of portuguese language phonemes associated to spelling wrongs, was developed. The
finalised studies concluded for a function developed on PL/SQL3®, subsequently named BUSCABR,
that obtained good results when applied in portuguese language.
LISTA DE TABELAS
ABREVIATURAS E SIGLAS
A importância das ferramentas que facilitam a busca de informações é muito evidente hoje em
dia. Um dos maiores sucessos na área de informática é o GOOGLE4® que tem como principal atrativo,
exatamente a sua grande habilidade na busca de informações na internet. Outras empresas que prestam
serviços de busca na internet, como o CADÊ5®, RADIX6® e AONDE7®, também apostaram no
desenvolvimento de algoritmos de busca que minimizassem o tempo de resposta nas consultas a grandes
bases de dados. Por outro lado, o investimento por parte das empresas proprietárias dos principais
Sistemas Gerenciadores de Banco de Dados (SGBD), não tiveram a mesma preocupação. A maioria delas
utiliza o mesmo sistema de busca fonética, o SOUNDEX®.
Nos Estados Unidos da América, por volta de 1918, Robert Russell e Margaret Odell,
desenvolveram um sistema com o objetivo de codificar as palavras de acordo com os seus fonemas e
assim facilitar a busca de informações. Esse código recebeu o nome de SOUNDEX® e tem sido usado
em todo o mundo e realmente contribui para a melhoria de desempenho de muitos sistemas
informatizados.
No Brasil a situação não é diferente, porém existem vários complicadores, como por exemplo,
a presença de uma letra representando vários fonemas como o “X” com som de “Z” em exame, “csi” em
hexa ou “cha” em enxame. Existem também, os casos em que varias letras representam o mesmo fonema
como “S”, “SS” e “Ç” ou ainda “C”, “Q” e “K”. Também são encontradas palavras de origem
estrangeiras que utilizam letras inexistentes no alfabeto oficial brasileiro como “K”, “W” e “Y”, ou ainda,
letra que não representa fonema como a letra “H”. Além de todos os casos já citados, também existe uma
série de regras e normas que também contribuem para a dificuldade do aprendizado da língua. Todos os
pontos abordados geram dificuldades na obtenção de informações nas grandes bases de dados instaladas.
4
GOOGLE é marca registrada da GOOGLE Corporation.
5
CADÊ
6
RADIX
7
AONDE
Além das dificuldades inerentes a nossa gramática, também é observada as dificuldades
geradas pelos regionalismos, que em um país com dimensões continentais como o Brasil, são bem
maiores, apesar da existência de um único idioma. É comum, em determinadas regiões, ter a pronúncia
das palavras alteradas ou parte delas suprimidas como, por exemplo, os erros gerados pelo uso ou
supressão do “S”.
No caso da língua portuguesa, em especial no Brasil, as dificuldades fazem com que a eficácia
da rotina SOUNDEX® seja comprometida, gerando assim, a necessidade de sua revisão ou ainda o
desenvolvimento de outra rotina que possa suprir as suas limitações em relação a nossa língua.
Os trabalhos executados até então, foram focados no banco de dados Oracle® que possui como
linguagem o PL/SQL®. A nossa proposta está focada no desenvolvimento de uma nova função em
PL/SQL®, a partir da análise da ortografia fonêmica da língua portuguesa do Brasil, que substitua o
código SOUNDEX® já que este foi concebido para a língua Inglesa e que, em virtude disto, não é eficaz
em nosso idioma. Um atendente que esteja em um serviço de “help-desk” está sujeito a cometer uma série
de erros causados pelos mais diversos motivos. Um deles é o mau entendimento de nomes proferidos por
clientes que solicitam uma informação, seja por má dicção ou por influências regionais.
Outros são decorrentes de problemas culturais que também terminam por gerar dificuldades
para quem faz uma consulta. Os bancos de dados utilizados no mercado, utilizam rotinas de consultas
fonéticas baseadas no código americano SOUNDEX® e consequentemente, apresentam deficiências
quando utilizado em nosso idioma.
O desenvolvimento de uma função em PL/SQL®, que contemple os erros de grafia ou
pronúncia, minimizará a perda de tempo e conseqüentemente, propiciará uma maior produtividade e
satisfação dos clientes já que eles não terão que ser indagados sobre a correta grafia do nome a ser
consultado. Uma função de busca que contemple as deficiências nas consultas, permitirá uma melhor
resposta no banco ORACLE® além de propiciar condições de sua implementação em outras linguagens
utilizadas pelo mercado.
2 DESENVOLVIMENTO
Nos dias atuais qualquer perda de tempo na execução de uma tarefa termina por gerar um custo
maior que o necessário, comprometendo a competitividade da empresa no mercado. O desenvolvimento
de uma função em PL/SQL, que contemple os erros de grafia ou pronúncia, minimizará a perda de tempo
e conseqüentemente propiciará uma maior produtividade e satisfação dos clientes já que não terão que ser
indagados várias vezes sobre a grafia do dado a ser consultado. Os bancos de dados utilizados no
mercado, utilizam rotinas de consultas fonéticas baseadas no código americano SOUNDEX, e
consequentemente, apresentam deficiências quando utilizado em nosso idioma. A criação de uma função
de busca em PL/SQL que venha a suprir essas deficiências permitirá uma melhor resposta no banco
ORACLE além de propiciar condições de sua implementação em outras linguagens utilizadas pelo
mercado.
Aqui foi feita uma avaliação sobre os erros que são cometidos com freqüência em virtude
do desconhecimento da gramática, ou ainda, em relação às influências regionais e
culturais no Brasil.
Para o estudo da ortografia fonêmica, foi utilizado o livro “Novíssima Gramática da Língua
Portuguesa de Domingos Paschoal Cegalla”. A existência de um estudo detalhado sobre a classificação
das vogais e consoantes, segundo os critérios de modo de articulação, ponto de articulação, função das
cordas vocais e função das cavidades bucal e nasal, foram essenciais ao desenvolvimento dos estudos.
Para o desenvolvimento dos trabalhos, foi utilizado o Banco de Dados ORACLE 9i® que
possui a rotina interna SOUNDEX® para utilização em buscas fonéticas e o aplicativo SQL Plus8®.
8
SQL Plus é marca registrada da Oracle Corporation.
obtido o código C000. Posteriormente, quando passado como parâmetro a palavra CAÇA,
obtive-se o mesmo valor, ou seja, C000. Foi registrado que mesmo tendo fonemas bem
distintos, (CACA=KAKA e CAÇA=KAÇA).
3 = 'D','T'
4 = 'L'
5 = 'M','N'
6 = 'R'
A substituição das letras por números como ocorre na rotina SOUNDEX® limita a
quantidade de fonemas que serão contemplados já que a língua portuguesa possui, segundo
Cegalla, trinta e três fonemas.
2.2 Identificação das falhas provenientes de erros nas pronúncias das palavras.
Umbu Imbu
Emprego Imprego
Ifigênia Efigênia
Intitular Entitular
Ouro Ôro
Umbigo Imbigo
Aspas Aspras
Bater Batê
Bobagem Bobage
Bugiganga Bunginganga
Cérebro Celebro
Chiclete Chicrete
Comendo Comeno
Dizendo Dizeno
Pedindo Pedino
Vamos Vamo
Virgem Virge
Bom Bão
• As letras R e RR pronunciadas de forma semelhante.
Carreta Reta
Carroça Roça
Arroba Roupa
Perspectiva Pespectiva
Perspicácia Pespicácia
Superstição Supertição
Antônio antônio
Carlos carlos
Maria maria
Pedro pedro
Ramos Ramo
Santos Santo
Lemos Lemo
Chaves Chave
Campos Campo
Sales Sale
• Na utilização do “Y”.
Yara Iara
Yuri Iuri
• Na utilização do “H”.
Henrique Enrique
Habitação Abitação
Habilitação Abilitação
Hábil Ábil
Galpão Galpao
Alçapão Alçapao
Campeão Campeao
Keila Queila
Karla Carla
Kibutz Quibutz
• Ao empregar o “G” e o “J”.
Gelatina Jelatina
Geléia Jeléia
Gelo Jelo
Gemido Jemido
Gengibre Jengibre
Geração Jeração
Gergelim Jerjelim
Conectar Conetar
Compactar Compatar
Prospecto Prospeto
Introspectivo Introspetivo
Retrospectivo Retrospetivo
Prospectivo Prospetivo
Contem Conten
Pedem Peden
Dizem Dizen
Podem Poden
Falam Falan
Contam Comtam
• Utilização de “W” ou “V”.
Waffle Vafle
Wagner Vagner
Walter Valter
Wanderson Vanderson
Watts Vats
Cacique Caçique
Começo Comesso
Comissão Comição
Concessão Conseção
Massa Maça
Moção Mossão
Mordaça Mordassa
Ameixa Ameicha
Brocha Broxa
Casa Caza
Chuchu Xuxu
Concha Conxa
• No uso do “L”, “O” ou “U”.
Alteração Auteração
Altura Autura
Asfalto Asfauto
Babel Babeu
Caiu Cail
Cerol Cerou
Curau Cural
Evita a consulta do tipo “case sensitive”, ou seja, não importa se os dados estão
armazenados em letras maiúsculas ou minúsculas.
BL, BR B L R RM SM
CA K N, MD M RJ J
CO, CU, CK K MJ J TS S
Ç, CH S PH F W V
CT T PR P X S
GE, GI J Q K ST T
GM M RG G Y I
GL, GR G RS S Z S
RT T
4. Eliminar os M, R e S no final de palavras;
Elimina as vogais e o H por não terem, após as etapas anteriores, maior importância
fonética.
BR=BL=B
Broco B620 BK
Bloco B420 BK
CA=CO=CU=CK=K e CE=CI=Ç=S
Casa C200 KS
Kasa K200 KS
Cela C400 SR
Sela S400 SR
Coroar C660 KR
Koroar K660 KR
Cuba C100 KB
Kuba K100 KB
Roça R000 RS
Rosa R200 RS
CH=S (Como X=S, CH=S)
Ameixa A520 MS
Ameicha A520 MS
CS=S
TORACS T620 TR
TORAX T620 TR
CT=T
Gana G500 GM
Gene G500 JM
Gibi G100 JB
Gostar G236 GT
Negro N260 MG
Nego N200 MG
L=R
Luminar L556 RM
Ruminar R556 RM
N=M
Mudez M320 MD
Nudez N320 MD
MD=D
Comendo C553 KM
Comeno C550 KM
MG=G e MJ=J
PH=F e PR=P
Estupro E231 TP
Estrupo E236 TP
Q=K
Queijo Q200 KJ
Keijo K200 KJ
RM=SM
RJ=J
Virgem V625 VJ
Vige V200 VJ
ST=T
Estupro E231 TP
Estrupo E236 TP
W=V
Walter W436 VT
Valter V436 VT
X=S
Exceder E236 SD
Esceder E236 SD
Y=I
Yara Y600 R
Iara I600 R
Z=S
Casa C200 KS
Caza C200 KS
3 CONCLUSÃO E CONSIDERAÇÕES FINAIS
Apesar de o BUSCABR ter sido desenvolvido em linguagem PL/SQL, sua implementação poderá
ser feita em qualquer outra linguagem.
A língua portuguesa, como toda língua viva, sofre mudanças com o passar dos tempos e esse é um
dos fatores que faz com que a função BUSCABR seja tão versátil já que permite atualização ou
readequação do seu código fonte por parte do DBA.
4 REFERÊNCIAS BIBLIOGRÁFICAS
Codificação SOUNDEX
NÚMERO LETRAS
1 B, F, P, V
2 C, G, J, K, Q, S, X, Z
3 D, T
4 L
5 M, N
6 R
A primeira letra da palavra deve ser preservada e as letras A, E, I, O, U, H, W, e Y devem ser descartadas.
O ALGORÍTIMO
3. Substitua por ‘0’ (zero) todas as ocorrências das letras 'A', E', 'I', 'O', 'U', 'H', 'W', 'Y'.
o 3 = 'D','T'
o 4 = 'L'
o 5 = 'M','N'
o 6 = 'R'
O ALGORÍTIMO
3. Substituir Y por I;
4. Substituir BR por B;
5. Substituir PH por F;
9. Substituir LH por L;
FUNÇÃO DAS
CAVIDADES BUCAL E ORAIS NASAIS
NASAL
SONORAS
SONORAS
SONORAS
SONORAS
SURDAS
SURDAS
SURDAS
FUNÇÃO DAS CORDAS
VOCAIS
BILABIAIS p b m
PONTO DE ARTICULAÇÃO
LABIODENTAIS f v
LINGÜODENTA t d
IS
s s r
ALVEOLARES c l N
z rr
ç
x g
PALATAIS lh nh
ch j
cq g
VELARES
k guê
Fonte: Novíssima Gramática da Língua Portuguesa – Domingos Paschoal Cegalla
Tabela 4 - Sites de busca na internet.
Google - http://www.google.com.br
Aonde? http://www.aonde.com/
A Porta - http://www.porta.com.br/
Brazilis - http://www.brazilis.com.br/
Cadê - http://www.cade.com.br/
InfoBrasil - http://www.infobrasil.com/
Jaguatirica - http://www.jaguatirica.com.br/
Lycos - http://www.lycos.com.br/
Mercosul - http://www.mercosulsearch.com.br/
MSN - http://www.msn.com.br/
Netscape - http://www.netscape.com.pt/
O Site - http://www.osite.com.br/
Aol - http://www.americaonline.com.br/
Surf - http://www.palavrarte.com/Banca_Poesia/www.surf.com.br
Zeek - http://www.zeek.com.br/