A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Busca com semelhança sonora em .NET

Apresentações semelhantes


Apresentação em tema: "Busca com semelhança sonora em .NET"— Transcrição da apresentação:

1 Busca com semelhança sonora em .NET
Semana de Sistemas de Informação Faculdade Metropolitana de BH Busca com semelhança sonora em .NET Artigo publicado na revista Fórum Access de N° 70 por Agnaldo Lopes Martins Lourival Luiz Gonzaga

2 Armazenamento e recuperação de dados
Sistema Banco de Dados Armazenamento e recuperação de dados

3 O problema da busca exata
1) Buscando produtos numa loja famosa na Internet: 2) Buscando livros no site da livraria do artigo: Nenhum resultado encontrado O problema da busca exata

4 Algoritmos fonéticos Conceito:
É um algoritmo para indexação de palavras a partir da pronúncia. Soundex Daitch-Mokotoff Soundex Metaphone Double Metaphone New York State Identification and Intelligence System Algoritmos fonéticos

5 Algoritmo Soundex Pegue a primeira letra da string.
Remova as seguintes letras, exceto quando for a primeira letra: a, e, h, i, o, u, w, y. Atribua números às letras restantes, da seguinte forma: 4) Letras duplicadas devem ser tratadas como uma só. 5) Consoantes lado a lado que tiverem o mesmo número na codificação devem ser tratadas como uma só. 6) Retorne: <letra maiuscula><digito><digito><digito> Algoritmo Soundex

6 Soundex nos bancos de dados
Alguns bancos de dados possuem a função Soundex: SQL Server MySQL Outros Soundex nos bancos de dados

7 Estratégia de implementação da busca
1°) Novo campo no banco de dados Conseqüências: Cuidar de inserções e alterações. Atenção com outros sistemas que utilizem o banco de dados. Estratégia de implementação da busca

8 Estratégia de implementação da busca
2°) Buscar cada palavra chave em qualquer parte do novo campo Códigos para o livro “Microsoft Visual Basic .NET para Programadores” M262 V201 B201 .501 P601 P626 Palavras digitadas pelo usuário V201 B201 M262 Estratégia de implementação da busca

9 Estratégia de implementação da busca
3°) Permitir que o usuário escolha a utilização da busca pelo algoritmo fonético Estratégia de implementação da busca

10 O que o mecanismo de busca precisa fazer?
Calcular o código Soundex de uma palavra qualquer. Gerar uma seqüência de códigos Soundex para o conjunto de palavras chaves. Completar a instrução SQL com os critérios necessários. Exemplo do item 3: SELECT * FROM Livro WHERE Preco > 100 O que o mecanismo de busca precisa fazer?

11 A classe clsSonora.vb Public Class clsSonora
Public Function RetornaSoundex(ByVal sTexto As String) As String ... End Function Public Function SoundexFraseComposta(ByVal sTexto As String) As String Public Function MontarCriterios (ByVal sCampoSonoro As String, ByVal sBusca As String) As String End Class A classe clsSonora.vb

12 Resultados da clsSonora
Exemplo do teste 3: SELECT * FROM Livro WHERE CodigoSonoro Like '*F243*' AND CodigoSonoro Like '*M361*' Resultados da clsSonora

13 Resultados da pesquisa

14 Resultados da pesquisa

15 1) Uso de triggers em bancos de dados para manutenção automática do campo onde a busca será realizada. 2) Adaptação das instruções SQL em função do banco de dados utilizado. 3) Pode-se obter resultados interessantes modificando: Os grupos de caracteres O comprimento do código Soundex Implementação de outras regras Outro algoritmo fonético Considerações finais

16 Referências http://en.wikipedia.org http://www.macoratti.net
Books Online do SQL Server Referências


Carregar ppt "Busca com semelhança sonora em .NET"

Apresentações semelhantes


Anúncios Google