maçã - DC

Propaganda
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 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 utilizar 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
explícita de uma conceitualização
compartilhada [Gruber, T.R., 1993]
 Conceitualização
 Explícita
 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
2 <termo> ::= <caractere> {<caractere>} α
3 <expressão> ::= <expressão_condicional>| <expressão_lógica>
(Select avg(n.nota) as resultado
<termo>
from notas as n inner join aluno
as a on n.aluno_id = a.id...) > 6.0
Select avg(n.nota) as resultado
from notas as n inner join aluno
as a on n.aluno_id = a.id...
4 <expressão_condicional> ::= <expressão_sql β> <operador> <valor_de_referência>
6,0
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
para cada item do lado direito da regra
4
se item do lado esquerdo não tem relacionamento com lado direito
5
removerRegra  falso;
6
fim se
7
fim para
8
9 fim para
10 Se removerRegra = verdadeiro então
listaDeRegrasASeremRemovidas  regraAtual
11
12 fim se
13 fim para
Pseudocódigo do Filtro de Regras de Associação
maçã
maçã

frango,
frango
frango,,maionese
,maionese
maionese
maçã 

frango
maionese
maçã
frango
associada_com
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.
Definição de regras de mapeamento para:
 Comportamentos/Termos a serem gerados:
▪ ACTreinoTatuSim, ACTreinoTatuNao e outras;
 Geração de anotações para as latências observadas, como:
▪ ACLatenciaMuitoBaixa, AELatenciaMuitoBaixae outras.
26/42
select if ((select count(se.id) from sessaoexec se inner join sessaoexec_passoexec sepe on se.id =
sepe.sessaoexec_id inner join passoexec pe on pe.id = sepe.passosExecutados_id inner join
passoexec_blocoexec pebe on pe.id = pebe.passoexec_id inner join blocoexec be on be.id =
pebe.blocosExecutados_id inner join blocoexec_tentativaexec bete on be.id = bete.blocoExec_id inner join
tentativaexec te on te.id = bete.tentativasExecutadas_id inner join tentativaexec_tentativainteracao teti on
te.id = teti.tentativaexec_id inner join tentativainteracao ti on ti.id = teti.interacoes_id inner join
blocotentativaocorrencia bto on bto.id = te.ocorrencia_id inner join passoblocoocorrencia pbo on pbo.id =
be.ocorrencia_id
where se.id = ?transacao? and bto.bloco_id = 18 and pbo.ocorrencia = 3) > 0….
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
4
5
1
2
3
Versões da Ontologia de Domínio
AETeste->ACTreinoBoloNao
ACLatenciaMuitoBaixa~ACLatenciaBaixa
ACLatenciaBaixa
AETesteVacaNao,AETe
sup=0.6333
conf=1.0
steTatuNao

AETesteVacaNao,AETesteTatuNão
sup=0.33333334
sup=0.38 conf=0.85714287
conf=0.90909094
(Possuindo item 'ACLatenciaBaixa' com
29/42
maior relevância!!!)




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~ACLatenciaBaixaAETest
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~ACLatenciaBaixaAETesteVacaNao,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
Download