Ontologias de domínio auxiliando tarefas de mineração de dados: anotações semânticas e filtros de regras Aluno: Rodrigo Estevan Bela Orientadora: Profa. Dra. Marilde T. P. Santos Co-Orientador: Prof. Dr. Mauro Biajiz Agenda Contextualização Proposta Estudo de Caso Trabalhos Correlatos - Discussão Conclusão 2/42 Agenda Contextualização ▪ Mineração de Dados ▪ Desafios de pesquisa ▪ Ontologias ▪ Anotações Proposta Estudo de Caso Discussão - Trabalhos Correlatos Conclusão 3/42 Mineração de Dados Extração de conhecimento de bases de dados é o processo de identificação de padrões válidos, novos, potencialmente úteis e compreensíveis embutidos nos dados [Fayyad, U., G.P. Shapiro, and P. Smyth, 1994] Utiliza processos não convencionais para realizar a extração dos padrões. Envolve técnicas de diversas áreas Banco de Dados, Estatística, Aprendizado de Máquina, Reconhecimento de Padrões, Inteligência Artificial e outras. 4/42 O processo de Mineração de Dados Processo iterativo e interativo Conhecimento do domínio tem impacto em todas as etapas O conhecimento sobre o domínio subsidia tomadas de decisão nas etapas subsequentes do processo de Mineração de Dados [Melanda, E. A., 2004] Extraído do Livro Sistemas Inteligentes. Capítulo sobre Mineração de Dados. Rezende, S. O. 1 ed. 2003 5/42 I i1 , i2 , i3 ...im Identifica itemsets, conjuntos de itens que tendem a ocorrer juntos em transações. Gera regras da forma: A B Métricas de avaliação: Suporte: a porcentagem de transações, em relação ao todo, que contém A e B; Confiança: a porcentagem de transações que contém A que também contém B. Assim, se A B (suporte 0.4 / confiança 0.9): Então, 40% das transações contém A e/ou B; Em 90% das vezes que a transação contém A, ela também contém B. 6/42 Desafios de Pesquisa em Mineração de Dados Desempenho de algoritmos Avaliar automaticamente o grau de interesse dos padrões encontrados Técnicas de visualização eficientes para padrões mais complexos Enriquecer o processo com o conhecimento do domínio Tratamento de informações já conhecidas ou desinteressantes. 7/42 Desafios de Pesquisa em Mineração de Dados Enriquecer o processo com o conhecimento do domínio ▪ Como representar o conhecimento? ▪ Como suportar o conhecimento como entrada nos algoritmos de mineração? ▪ Como e quais decisões podem ser tomadas pelo algoritmo com base no conhecimento inserido? Tratamento de informações já conhecidas ou desinteressantes. ▪ Como tratar informações que já fazem parte do conhecimento do domínio? 8/42 Ontologias Uma ontologia é uma especificação formal e explicita de uma conceitualização compartilhada [Gruber, T.R., 1993] Conceitualização Explicita Formal Compartilhada 9/42 Ontologias Uma ontologia é uma descrição explícita de um domínio, constituída por Conceitos [classes] Propriedades [atributos e relacionamentos] Axiomas [restrições sobre as propriedades] Instâncias [dos conceitos] Uma ontologia define Um vocabulário comum Um entendimento compartilhado 10/42 Anotações Todo o conjunto de marcas, notas, breves comentários e explicações adicionais que são realizadas sobre algum tipo de conteúdo O contexto e a forma de utilização definem formas especificas, como: Metadados Conteúdos Hipertexto Contexto 11/42 Anotações: aplicações Bibliotecas digitais Web Estratégias de busca Banco de dados 12/42 Agenda Contextualização Proposta Problemas Anotações Semânticas Filtro de Regras Estudo de Caso Discussão - Trabalhos Correlatos Conclusão 13/42 Enriquecer o processo com o conhecimento do domínio Como explicitar o significado presente em alguns conjuntos de dados brutos? Como possibilitar a melhor visualização de dados brutos? Tratamento de informações já conhecidas ou desinteressantes. Como tratar informações que já fazem parte do conhecimento do domínio? 14/42 Anotações Semânticas! Metadados adicionais que descrevem o significado. Significado descrito usando termos controlados. Utilização de ontologia de domínio para definir o significado e vocabulário. Que possam ser geradas automaticamente. 15/42 1 <regra_de_mapeamento> ::= se <expressão> = verdadeiro então <termo> 2 <termo> ::= <caractere> {<caractere>} α 3 <expressão> ::= <expressão_condicional>| <expressão_lógica> 4 <expressão_condicional> ::= <expressão_sql β> <operador> <valor_de_referência> 5 <operador> ::= = | > | < | != 6 <valor_de_referência> ::= <caractere> {<caractere>} 7 <expressão_lógica> ::= <regra_de_mapeamento> <operador_lógico> <regra_de_mapeamento> 8 <operador_lógico> ::= AND | OR 9 <caractere>::=A|B|C|D|E|F|G|H|I|J|K|L|M|N|O|P|Q|R|S|T|U|V|X|Y|Z|0|1|2|3|4|5|6|7|8|9 α = o termo deve ser uma seqüência de caracteres que esteja presente na ontologia do domínio, ou seja, deve representar uma classe, propriedade ou relacionamento. β = considerar as regras de construção de expressões SQL definida pelo BNF Grammar for ISO/IEC 9075-2:2003 – Database Language SQL (SQL-2003) - SQL/Foundation. Tabela com as regras de produção para geração de regras de mapeamento 16/42 Representação das principais atividades realizadas na SATO 17/42 Principais tela da SATO: A)Definição de um domínio; B) Definição de regra de mapeamento baseada em consulta; C) Definição de regra de mapeamento lógica; D) Visualização de anotações semânticas geradas 18/42 Utilizar conhecimento definido na ontologia. Considerar que termos da ontologia são um item dentro da regra Considerar propriedades entre conceitos como associações já conhecidas. Usuário define quais propriedades devem ser avaliadas. 19/42 1 para cada regra 2 removerRegra verdadeiro; 3 para cada item do lado esquerdo da regra 4 para cada item do lado direito da regra se item do lado esquerdo não tem relacionamento com lado direito 5 removerRegra falso; 6 fim se 7 8 9 10 11 12 13 fim para fim para Se removerRegra = verdadeiro então listaDeRegrasASeremRemovidas regraAtual fim se fim para Pseudocódigo do Filtro de Regras de Associação 20/42 Varrer a base Identificar Itens Similares Gerar Candidatos Calcular o peso dos Candidatos Avaliar os Candidatos Gerar as Regras Generalização e Tratamento de Redundância Aplicação de Filtro Aplicação de Filtro Generalização e Tratamento de Redundância Passos do algoritmo Filtered-NARFO. 21/42 Agenda Contextualização Proposta Estudo de Caso Introdução – contexto Processo de Mineração de Dados Discussão - Trabalhos Correlatos Conclusão 22/42 Dados da ferramenta de ensino LECH-GEIC. Ferramenta baseada no paradigma de Equivalência de Estímulos Ferramenta desenvolvida no contexto do projeto TIDIA-Ae fase II. Dados descrevem respostas dadas por estudantes durante interação com a ferramenta. 23/42 Organização de um programa de Ensino Exemplo dos dados coletados pela ferramenta 24/42 Conhecimento sobre o domínio Construção da ontologia de domínio necessária Definição dos objetivos do processo: Verificar as relações de comportamento presentes nos dados; Suporte e confiança como métricas de desempenho; Conhecimento obtido deve ser claro e de fácil compreensão. 25/42 Geração de anotações para um conjunto de 30 sessões de ensino. Sessões referentes a um passo que ensina as relações AC (mts som-texto) e AE (cr som-texto) para as palavras: vaca, bolo e tatu. Comportamentos/Termos a serem gerados: ACTreinoTatuSim, ACTreinoTatuNao, ACTreinoBoloSim, ACTreinoBoloNao, ACTreinoVacaSim, ACTreinoVacaNao, AETesteTatuSim, AETesteTatuNao, AETesteBoloSim, AETesteBoloNao e AETesteVacaSim e AETesteVacaNao. Geração de anotações para as latências observadas, como: ACLatenciaMuitoBaixa, ACLatenciaBaixa, ACLatenciaMedia, ACLatenciaAlta, ACLatenciaMuitoAlta, AELatenciaMuitoBaixa, AELatenciaBaixa, AELatenciaMedia, AELatenciaAlta e AELatenciaMuitoAlta. 26/42 88 Tuplas ACTreinoTatuSIM Redução da dimensionalidade dos dados sem perda de significado 27/42 Comparações entre 3 algoritmos de regras de associação: Apriori, NARFO e Filtered-NARFO. Comparação de vários níveis de conhecimento. Objetivos: Validar algoritmos; Validar filtro; Observar impacto do conhecimento no filtro; Atingir objetivos definidos pelo especialista no processo; 28/42 Tabela com as interações realizadas Nro Filtro Teste Algoritmo Antes 1 Apriori/Weka 2 NARFO Não 3 F-NARFO Não 4 F-NARFO Não 5 F-NARFO SIM 6 F-NARFO SIM 7 F-NARFO Não 8 F-NARFO SIM 9 F-NARFO Não 10 F-NARFO SIM Depois Não Não Não Não Não SIM Não Não Não minConf minSup minGen minSim Ont. 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.33 0.33 0.33 0.33 0.33 0.33 0.33 0.33 0.33 0.33 1 1 1 - 0.5 0.5 1 1 1 2 2 2 3 4 5 Regras 2534 2534 2534 2174 2503 2166 2174 2429 2534 2429 4 Versões da Ontologia de Domínio: 5 1 2 3 29/42 Apresentação dos resultados a especialista do domínio; Validação do filtro de regras; Validação de comportamentos esperados; Novos indícios para pesquisa: ACLatenciaMuitoBaixa~ACLatenciaBaixaAETest eVacaNao,AETestTatuNão sup=0.38 conf=0.85714287 (Possuindo item 'ACLatenciaBaixa' com maior relevância!!!) 30/42 Agenda Contextualização Proposta Estudo de Caso Discussão - Trabalhos Correlatos Conclusão 31/42 [kuo, Y.-T., A. Lonie, and L. Sonenberg, 2007] Extraído do Livro Sistemas Inteligentes. Capítulo sobre Mineração de Dados. Rezende, S. O. 1 ed. 2003 32/42 [Sidhu, A.S., T.S. Dillon, and E. Chang, 2007] [Zhou, X. and J. Geller, 2007] [Bogorny, V., P.M. Engel, and L.O. Alvares, 2007] Extraído do Livro Sistemas Inteligentes. Capítulo sobre Mineração de Dados. Rezende, S. O. 1 ed. 2003 33/42 [Khelif, K., R. DiengKuntz, and P. Barbry, 2007] [Pahm, M.H., et al, 2007] [Miani et al, 2009] Extraído do Livro Sistemas Inteligentes. Capítulo sobre Mineração de Dados. Rezende, S. O. 1 ed. 2003 34/42 [STAMOU et al. 2007] Extraído do Livro Sistemas Inteligentes. Capítulo sobre Mineração de Dados. Rezende, S. O. 1 ed. 2003 35/42 [Trousse, B., et al, 2007] [Mothe, J. and N. Hernandez, 2007] [Kotsifakos, E., G. Marketos, and Y. Theodoridis, 2007] Extraído do Livro Sistemas Inteligentes. Capítulo sobre Mineração de Dados. Rezende, S. O. 1 ed. 2003 36/42 Utilização do conhecimento em todas as etapas do processo; Identificação do problema: entendimento dos dados, de seus significados e potenciais; Pré-processamento: explicitação do significado dos dados por meio da geração de anotações semânticas; Extração de padrões: redução da complexidade da tarefa, Pós-processamento: filtro de regras já conhecidas; Utilização do conhecimento: conhecimento obtido pode ser utilizado para atualizar a ontologia 37/42 88 ACLatenciaMuitoBaixa~ACLatenciaBaixaAETesteVacaNao,AETestTatuNão Tuplas sup=0.38 conf=0.85714287 (Possuindo item 'ACLatenciaBaixa' com maior relevância!!!) ACTreinoTatuSIM 38/42 Ontologia de Domínio para a Equivalência de Estímulos; Uma abordagem para a geração de anotações semânticas para dados brutos; Um protótipo de ferramenta para a geração de anotações; Uma proposta para a realização de filtros de regras de associação; Algoritmo Filtered-NARFO que aplica a abordagem de filtro de regras; Um estudo de caso real que foi viabilizado pelas propostas e ferramentas apresentadas. 39/42 Melhorar ferramenta SATO. Aplicação da abordagem proposta com dados de outros domínios. Combinar conhecimento do domínio com métricas de interesse para avaliar regras. Identificar exceções por meio do conhecimento do domínio. Algoritmo baseado no Filtered-NARFO para extrair padrões sequenciais. 40/42 Pôster “Geração Automática de Anotações Semânticas para o Domínio de Controle de Estímulos” no Second Brazilian Workshop on Semantic Web and Education, workshop satélite ao Simpósio Brasileiro de Informática na Educação de 2008; Resumo “Stimuli: uma ontologia para o paradigma de Equivalência de Estímulos” no I Portuguese and Multilingual Ontologies Workshop, workshop satélite ao 7th Brazilian Symposium in Information and Human Language Technology Demo “SATO: uma ferramenta para a geração de anotações semânticas” na sessão de Demos do Simpósio Brasileiro de Banco de Dados (SBBD 2009) 41/42 Obrigado! 42/42