Minhas anotações sobre o mini-curso "Funções de similaridade e suas aplicações" ministrado pela Carina F. Dorneles (dorneles@upf.br), durante o V ERBD.
FUNÇÕES DE SIMILARIDADE
- Como calcular a similaridade?
Similaridade é uma coisa subjetiva e o computador te muita dificuldade de definir se é ou não.
- Consulta
Executar consultas sobre várias bases de dados
- Integração
Efetuar integração dos dados
- Data Cleaning
Efetuar a impeza dos dados antes de inserir em uma nova base como por exemplo DWs
Exemplo de consulta SQL utiliazando a função de similaridade levenshtein
select artigo from bdbcomp where levenshtein (autor, 'agma machado traina') > 0,75
// vai buscar artigos de autores com 75% de similaridade no nome 'agma machado traina'.
Exemplo da mesma função para integração...
levenshtein ("league of ... Action","League of ... Sci-Fi") >= 0.78
// integrar aquilo cujo linar de similaridade maior que 78
É bastante usado Data WareHouses na parte de Data Cleaning, limpeza de dados, exemplo:
levenstein('ijuí - RS','ijuí - RGS')
// pra elimiar inconsistências, erros de digitação etc, vai trocar os RGS por RS se não me engano :D
Avaliaçao de uma função
- Revocação
- Precisão
- Discernabilidade
SIMILARIDADE X DISTÂNCIA
A função de similaridade tem dois parametros e retorna um valor, um escore entre 0 e 1, quanto maior for mais similar são entre si.
A função de distância tem dois parametros e retorna um valor, mas o escore vai de zero até o infinito, quanto menor o valor do escore, maior a similariedade.
Fórmula para transformar distância em similaridade:
similaridade = 1 - (valor de distância normalizado)
Ferramenta
- Similarity Metrics Testing Suite
* valores atomicos: strings
- baseadas em caracter
- baseadas em Token
* valores agregados
- uso em expressões algébricas
- uso em algoritmos
SVM - Inteligência artificial - tuplas - faz algoritmos para testar com funções de distancias partes de atributos para saber se os dados sao similares, criando vetores de valores que sao enviados para SVM fazer a comparação e dizer se os dados sao duplicados ou não.
ROTEIRO
- consultas por similaridade
- integração de dados
- data cleaning
- mineração de dados
SGBDs que implemetam funções de similaridade
POSTGRESQL
MYSQL
DB2
ORACLE
FUNÇÕES NO POSTGRESQL
- levenshtein
- soundex
- dmetaphone (fonético tbm)
APLICATIVO WEKA - FREE
www.CS.WAIKATO.AC.NZ/WEKA
Ferramenta de mineração, vários algoritmos para técnicas mais conhecidas, extensível, algoritmos podem ser usados para compor outras aplicações, é necessário
DEMOSTRAÇÃO
queens.db.toronto.edu/project/spider/demo
FERRAMENTA QUE LEVA EM CONSIDERAÇÃO SINONIMOS -> WORDNET??
Classificação
- Funções para valores atomicos
*Lenshtein
*Soundex
*Achronimous
- Função Token, quebra as strings em partes antes de comparar...
*Jaccard
Bom, minhas anotações ficaram meio desconexas porque eram muitas informações e não dava tempo de prestar atenção e anotar tudo ao mesmo tempo, mas o assunto é interessante e pode ter várias aplicações como, antes de cadastrar uma pessoa, verificar se o nome já existe através da fonética e ai por diante, o problema é que isso pode diminuir muito a performance da aplicação, mas fica a dica e é uma área que ainda existem poucas pesquisas...
Link para material do V ERBD.
Até.
ERBD 2009: Funções de similaridade e suas aplicações
Assinar:
Postar comentários (Atom)
Este comentário foi removido pelo autor.
ResponderExcluirBilivar como vai, carra to precisando achar aquele programa em java que faz o Data Cleaning ou melhor lembra que um Aluno não sei da onde fez como projeto de TCC ai eles deram uma passadinha pra gente ver mais ou menos isso não to bem lembrado.. se puder me ajudar sou estudante em Java e curso Técnologia em Sistemas para Internet.
ResponderExcluirOlá Fábio J. Ortlieb, o material do ERBD que tinha já postei aqui no blog, eu sei que tem mais coisas no link do FÓRUM que está no final do post, baixei os arquivos compactados mas eram apenas fotos, teria que consultar no Oráculo as ferramentas existentes, me lembro de um acadêmico da PUCRS falando sobre o PENTAHO, mas acredito que ele deixou de ser free. Abraço
ResponderExcluirisso mesmo grato..
ResponderExcluir