Upload
norton-coelho-guimaraes
View
123
Download
1
Embed Size (px)
Citation preview
SABENÇAUm arcabouço computacional para
aprendizagem semi-automatizada de
ontologias a partir de textos
Defesa de Mestrado
Mestrando: Norton Coelho Guimarães
Orientador: Dr. Cedric Luiz de Carvalho
- 22 de abril de 2015 -
Agenda
Introdução
O projeto
Estudo de caso
Considerações finais
Referências bibliográficas
O que é
ontologia?
Aristóteles (222 a.C.)
... trata do estudo do ser
enquanto ser (EIBEN, e
SMITH, 2008).
... visão abstrata do mundo
que se deseja representar...
(GRUBER, 1995)
Tom GRUBER
.. servem como esquemas
de metadados...
(MÄEDCHE e STAAB,
2001).
Alexander MÄEDCHE Steffen STAAB Lucas Rego DRUMMOND
... devem ser compreensíveis
para os agentes e outras
entidades computacionais
(DRUMMOND, 2009).
Exemplo de Ontologia
(LOPES e VIEIRA, 2010)
Termos
Relações
Propriedades
Hierarquias
Onde se
utiliza
ontologias?
Ambiguidade
Comunicação Homem-Máquina
Dedução do Significado
Interoperabilidade Semântica
Como se
constrói uma
ontologia?
...complexo e demorado, não existe uma
solução universal (CIMIANO, 2006).
Philipp CIMIANO
O que é a
aprendizagem
de ontologias?
Alexander MÄEDCHE Steffen STAAB
...serve para descrever o processo de
aquisição de um modelo de domínio a partir
de dados (MÄEDCHE e STAAB, 2001).
Tipos de aprendizagem de ontologias
textos dicionáriosbase de
conhecimento
esquemas semi-
estruturados
esquemas relacionais
(Gómez-Pérez e Manzano-Macho, 2003)
Tipos de aprendizagem de ontologias
textos dicionáriosbase de
conhecimento
esquemas semi-
estruturados
esquemas relacionais
(Gómez-Pérez e Manzano-Macho, 2003)
Como é a
aprendizagem
de ontologias a
partir de
textos?
Escrevem
(CIMIANO, 2006)
Quais são
essas
etapas?
disjuntos(rio, montanha)
rio, país, nação, cidade, capital, . . .
{país, nação}
c:= país:= < i(país),[[país]], 𝑅𝑒𝑓𝐶(país) >
flue_através(dom:rio, range: estado)
∀𝑥 (pais (x) → ∃𝑦 capita_de (y, x) ∧ ∀𝑧 (capital_de(z, x) → y = z) )
capital≤𝐶 cidade
capital_de ≤𝑅 localizado_em
≤𝐶 = redução de c
∀𝑥 = regra universal
→ = implica
∧ = e lógico
i = instância de
[[ ]] = subconjunto
𝑅𝑒𝑓𝐶 = Conjunto
Legenda
(CIMIANO, 2006)
Termo Sinônimo ConceitosHierarquia
de Conceitos
RelaçõesHierarquias
de Relações
Esquema de Axiomas
Axiomas Gerais
disjuntos(rio, montanha)
rio, país, nação, cidade, capital, . . .
{país, nação}
c:= país:= < i(país),[[país]], 𝑅𝑒𝑓𝐶(país) >
flue_através(dom:rio, range: estado)
∀𝑥 (pais (x) → ∃𝑦 capita_de (y, x) ∧ ∀𝑧 (capital_de(z, x) → y = z) )
capital≤𝐶 cidade
capital_de ≤𝑅 localizado_em
≤𝐶 = redução de c
∀𝑥 = regra universal
→ = implica
∧ = e lógico
i = instância de
[[ ]] = subconjunto
𝑅𝑒𝑓𝐶 = Conjunto
Legenda
(CIMIANO, 2006)
Termo Sinônimo ConceitosHierarquia
de Conceitos
RelaçõesHierarquias
de Relações
Esquema de Axiomas
Axiomas Gerais
disjuntos(rio, montanha)
rio, país, nação, cidade, capital, . . .
{país, nação}
c:= país:= < i(país),[[país]], 𝑅𝑒𝑓𝐶(país) >
flue_através(dom:rio, range: estado)
∀𝑥 (pais (x) → ∃𝑦 capita_de (y, x) ∧ ∀𝑧 (capital_de(z, x) → y = z) )
capital≤𝐶 cidade
capital_de ≤𝑅 localizado_em
≤𝐶 = redução de c
∀𝑥 = regra universal
→ = implica
∧ = e lógico
i = instância de
[[ ]] = subconjunto
𝑅𝑒𝑓𝐶 = Conjunto
Legenda
(CIMIANO, 2006)
Termo Sinônimo ConceitosHierarquia
de Conceitos
RelaçõesHierarquias
de Relações
Esquema de Axiomas
Axiomas Gerais
disjuntos(rio, montanha)
rio, país, nação, cidade, capital, . . .
{país, nação}
c:= país:= < i(país),[[país]], 𝑅𝑒𝑓𝐶(país) >
flue_através(dom:rio, range: estado)
∀𝑥 (pais (x) → ∃𝑦 capita_de (y, x) ∧ ∀𝑧 (capital_de(z, x) → y = z) )
capital≤𝐶 cidade
capital_de ≤𝑅 localizado_em
≤𝐶 = redução de c
∀𝑥 = regra universal
→ = implica
∧ = e lógico
i = instância de
[[ ]] = subconjunto
𝑅𝑒𝑓𝐶 = Conjunto
Legenda
(CIMIANO, 2006)
Termo Sinônimo ConceitosHierarquia
de Conceitos
RelaçõesHierarquias
de Relações
Esquema de Axiomas
Axiomas Gerais
disjuntos(rio, montanha)
rio, país, nação, cidade, capital, . . .
{país, nação}
c:= país:= < i(país),[[país]], 𝑅𝑒𝑓𝐶(país) >
flue_através(dom:rio, range: estado)
∀𝑥 (pais (x) → ∃𝑦 capita_de (y, x) ∧ ∀𝑧 (capital_de(z, x) → y = z) )
capital≤𝐶 cidade
capital_de ≤𝑅 localizado_em
≤𝐶 = redução de c
∀𝑥 = regra universal
→ = implica
∧ = e lógico
i = instância de
[[ ]] = subconjunto
𝑅𝑒𝑓𝐶 = Conjunto
Legenda
(CIMIANO, 2006)
Termo Sinônimo ConceitosHierarquia
de Conceitos
RelaçõesHierarquias
de Relações
Esquema de Axiomas
Axiomas Gerais
disjuntos(rio, montanha)
rio, país, nação, cidade, capital, . . .
{país, nação}
c:= país:= < i(país),[[país]], 𝑅𝑒𝑓𝐶(país) >
flue_através(dom:rio, range: estado)
∀𝑥 (pais (x) → ∃𝑦 capita_de (y, x) ∧ ∀𝑧 (capital_de(z, x) → y = z) )
capital≤𝐶 cidade
capital_de ≤𝑅 localizado_em
≤𝐶 = redução de c
∀𝑥 = regra universal
→ = implica
∧ = e lógico
i = instância de
[[ ]] = subconjunto
𝑅𝑒𝑓𝐶 = Conjunto
Legenda
(CIMIANO, 2006)
Termo Sinônimo ConceitosHierarquia
de Conceitos
RelaçõesHierarquias
de Relações
Esquema de Axiomas
Axiomas Gerais
disjuntos(rio, montanha)
rio, país, nação, cidade, capital, . . .
{país, nação}
c:= país:= < i(país),[[país]], 𝑅𝑒𝑓𝐶(país) >
flue_através(dom:rio, range: estado)
∀𝑥 (pais (x) → ∃𝑦 capita_de (y, x) ∧ ∀𝑧 (capital_de(z, x) → y = z) )
capital≤𝐶 cidade
capital_de ≤𝑅 localizado_em
≤𝐶 = redução de c
∀𝑥 = regra universal
→ = implica
∧ = e lógico
i = instância de
[[ ]] = subconjunto
𝑅𝑒𝑓𝐶 = Conjunto
Legenda
(CIMIANO, 2006)
Termo Sinônimo ConceitosHierarquia
de Conceitos
RelaçõesHierarquias
de Relações
Esquema de Axiomas
Axiomas Gerais
disjuntos(rio, montanha)
rio, país, nação, cidade, capital, . . .
{país, nação}
c:= país:= < i(país),[[país]], 𝑅𝑒𝑓𝐶(país) >
flue_através(dom:rio, range: estado)
∀𝑥 (pais (x) → ∃𝑦 capita_de (y, x) ∧ ∀𝑧 (capital_de(z, x) → y = z) )
capital≤𝐶 cidade
capital_de ≤𝑅 localizado_em
≤𝐶 = redução de c
∀𝑥 = regra universal
→ = implica
∧ = e lógico
i = instância de
[[ ]] = subconjunto
𝑅𝑒𝑓𝐶 = Conjunto
Legenda
(CIMIANO, 2006)
Termo Sinônimo ConceitosHierarquia
de Conceitos
RelaçõesHierarquias
de Relações
Esquema de Axiomas
Axiomas Gerais
Como
automatizar
esta
proposta?
Wilson WONG
Atualmente, não pode ser, por sua
própria natureza, totalmente
automatizada (WONG, 2012).
Trabalhos relacionadosFonte Objetivo e Escopo Validação Domínio
BASÉGIO, 2007 Extração semi-automática de estruturas ontológicas,
termos e relações taxonômicas.
Manual (1) Turismo
JUNIOR, 2008 ONTOlp geração semi-automática de ontologias. Manual (1) Pediatria
LOPES, 2009 ExATOlp extração de termos, conceitos, hierarquias
segundo abordagens linguísticas e estatísticas.
- Pediatria
MOTTA, 2009 Geração semi-automática de ontologias. Manual (1) História
MPB
ZAHRA, 2009 PORONTO extração semi-automática de extração de
termos e relações taxonômicas.
Manual (2) Câncer de
Mama
GONÇALVES,
2011
Geração semi-automática de ontologias, identificação de
conceitos e relações com o uso de grafos.
- Biologia
Trabalhos relacionadosFonte Objetivo e Escopo Validação Domínio
BASÉGIO, 2007 Extração semi-automática de estruturas ontológicas,
termos e relações taxonômicas.
Manual (1) Turismo
JUNIOR, 2008 ONTOlp geração semi-automática de ontologias. Manual (1) Pediatria
LOPES, 2009 ExATOlp extração de termos, conceitos, hierarquias
segundo abordagens linguísticas e estatísticas.
- Pediatria
MOTTA, 2009 Geração semi-automática de ontologias. Manual (1) História
MPB
ZAHRA, 2009 PORONTO extração semi-automática de extração de
termos e relações taxonômicas.
Manual (2) Câncer de
Mama
GONÇALVES,
2011
Geração semi-automática de ontologias, identificação de
conceitos e relações com o uso de grafos.
- Biologia
Um campo de pesquisa em constante evolução.
Uso de ontologias na interoperabilidade semântica.
As ontologias melhoram a comunicação homem-máquina.
As ontologias tornam a tomada de decisão precisa.
Motivação
Objetivo
Sabença v 1.0
É um arcabouço computacional (framework)
Fundamentado na aprendizagem de
ontologias a partir de textos
Integra ferramentas de PLN, técnicas morfossintáticas e
abordagens estatísticas.
Metodologia
Analisar as principais metodologias, ferramentas, técnicas e trabalhos correlatos.
Projetar e desenvolver o arcabouço computacional.
Aplicar o arcabouço computacional aos documentos selecionados.
Análise
Análise
Requisitos Funcionais Casos de Uso
16
09
Projeto
Visão Geral
Documentos textuais
Sabença
(.pdf, .doc, .docx etc.)
Pré-processamento
textual
Extração de
termos
Identificação de
termos
Identificação de
Relações
taxonômicas
XML -> OWL
Ontologia
Tipos de Arcabouços
Frozen Spots Hot Spots
Arquitetura
Visualização
Aplicação GUI
Módulo Construtor
Módulo Analisador Módulo Conversor
Módulo Etiquetador
Módulo Pesador
Módulo Extrator
Módulo Exportador
Compartilhado
Digrama de Classes
Sabença - Módulos
Módulo Construtor• Controlar o fluxo;
• Recebe requisições externas;
• Controlar o mapeamento;
• Controlar as parametrizações;
• Controlar a importação.
Frozen Spots
prop.linguagem=pt
prop.diretorio.compartilhado=C:/temp/importados/
prop.diretorio.origem=C:/Users/norton/Dropbox/Mestrado
UFG/Material de Estudo/Estudo de Caso/Grupo01/
prop.importador=Importador
prop.convertido.nome=documento
prop.conversor.doc=ConverteDOCparaTXT
prop.conversor.pdf=ConvertePDFparaTXT
prop.conversor.docx=ConverteDOCxparaTXT
prop.stopwords.nome=StopWords
prop.etiquetado.nome=etiquetado
prop.etiquetador.padrao=OpenNLP
Arq
uiv
o d
e P
rop
ried
ad
es
prop.etiquetador.caminho.modelo=src\\br\\ufg\\inf\\
sabenca\\etiquetador\\modelsOpenNLP
prop.etiquetador.ngrama=4
prop.pesador.tipo=FrequenciaIDF
prop.pesador.MIN=0.1
prop.pesagem=termosPesagem
prop.extrator.formatoXML=ISO-8859-1
prop.extrator.termoSimples=termosPesagem
prop.extrator.termoComposto=termoComposto
prop.extrator.padraoHearst=padraoHearst
prop.exportador.padrao=NovoExportador
prop.extensao.padrao.saida=.txt
Arq
uiv
o d
e P
rop
ried
ad
es
Módulo Analisador• Lista documentos;
• Encaminha para a conversão;
• Identifica protegidos.
Módulo Conversor• Conversão textual
• Codificação ASCII
Módulo Etiquetador• Realiza a etiquetagem.
• Gera Stopwords.
Módulo Pesador• Realiza a pesagem
• Implementa TF-idf
Módulo Extrator• Realiza a extração
• Gera padrões Hearst
• Gera n-gramas
• Gera termos compostos
• Gera as relações taxonômicas
Frozen Spots
Padrões Hearst
(BASÉGIO, 2007)
Termo Composto
(BASÉGIO, 2007)
Módulo Exportador• Estrutura a ontologia
Customização
Extensão do Sabença
NovoExportador
Instanciação do arcabouço
Execução
Fluxo de execuçãoConstrutor Analisador Conversor Etiquetador Pesador Extrator Exportador
1 2
3
4
5
6
7
Fluxo de execuçãoConstrutor Analisador Conversor Etiquetador Pesador Extrator Exportador
1 2
3
4
5
6
7
Fluxo de execuçãoConstrutor Analisador Conversor Etiquetador Pesador Extrator Exportador
1 2
3
4
5
6
7
Fluxo de execuçãoConstrutor Analisador Conversor Etiquetador Pesador Extrator Exportador
1 2
3
4
5
6
7
Fluxo de execuçãoConstrutor Analisador Conversor Etiquetador Pesador Extrator Exportador
1 2
3
4
5
6
7
Fluxo de execuçãoConstrutor Analisador Conversor Etiquetador Pesador Extrator Exportador
1 2
3
4
5
6
7
Fluxo de execuçãoConstrutor Analisador Conversor Etiquetador Pesador Extrator Exportador
1 2
3
4
5
6
7
Recursos Computacionais
Estudo de caso
Metodologia
Escolher o domínio;
Selecionar documentos digitais;
Aplicar o arcabouço computacional nos documentos selecionados;
Validar os resultados com especialistas.
Gerar ontologia sobre o domínio escolhido.
Domínio
Convertidos
78
73
01
144
08
3958 pág.
Resultados
3958 páginas
Termos Relevantes
1.516
104
Termos Compostos Padrões Hearst
Tempo de Execução
Validação
Validação
... ... é frequentemente mais prático avaliar as diferentes
camadas da ontologia separadamente, em vez de tentar
avaliar diretamente a ontologia como um todo (BRANK,
J.; GROBELNIK, M.; MLADENI´C , D., 2005).
Marko GROBELNIKJanez BRANK Dunja MLADENIC
Métodos avaliativos
Precisão: identificar os termos corretos, considerando a lista de
referência (JUNIOR, 2008).
Abrangência: avalia a quantidade de termos corretos extraídos pelo
método (JUNIOR, 2008).
Medida f: expressar o equilíbrio entre os valores da precisão (P) e
abrangência (A) (JUNIOR, 2008).
Termos Relevantes
314TF-idf > 0.1
Termos Compostos
Padrões Hearst
Termos Relevantes
Padrão Hearst
Termos Compostos
Ontologia
194
Considerações Finais
Documentos textuais podem gerar distorções nos resultados.
O corpus utilizado tem mais de 1 milhão de termos.
O uso de ferramentas de terceiros nos torna dependentes.
Utilizar n-gramas de 4 níveis, obtiveram resultados melhores que os padrões Hearst.
O arcabouço computacional semi-automatizado agiliza a estruturação de ontologias.
As ontologias mudam de acordo com a mudança do conhecimento adquirido.
Contribuições
Desenvolvimento do arcabouço computacional.
Utilização de soluções livres no desenvolvimento do arcabouço computacional.
Desenvolvimento de uma ontologia de domínio na área de segurança pública.
Trabalhos futuros
Extrair textos de áudio e vídeo.
Permitir outros idiomas.
Relações não-taxonômicas.
Classificador automático de documentos.
Dicionário de sinônimos.
Construção automatizada de axiomas.
Processamento paralelo.
Merge de ontologias.
Validação automática.
Referências
BASÉGIO, T. L. Uma abordagem semi-automática para identificação de estruturas ontológicas
a partir de textos na língua portuguesa do brasil, 2007. Dissertação (Mestrado em Ciência
da Computação) – Faculdade de Informática, Universidade Católica do Rio Grande do Sul,
Porto Alegre. Disponível em: <http://tede.pucrs.br/tde_arquivos/4/TDE-2009-06-
09T170445Z-1994/Publico/403014.pdf>. Acesso em: 22 dez. 2013.
BRANK, J.; GROBELNIK, M.; MLADENI´C , D. A survey of ontology evaluation techniques. In:
Proc. of 8th Int. multi-conf. Information Society, p. 166–169, 2005.
CIMIANO, P. Ontology Learning and Population from Text: Algorithms, Evaluation and
Applications. Springer-Verlag New York, Inc., Secaucus, NJ, USA, 2006.
DE FARIA, C. G.; DEL ROSARIO GIRARDI GUTIERREZ, M. Um processo semiautomático
para o povoamento de ontologias a partir de fontes textuais. In: iSys - Revista Brasileira de
Sistemas de Informação, volume 3, 2010.
DRUMOND, L. R. Aquisição automatizada de hierarquias de conceitos de ontologias utilizando
aprendizagem estatística relacional, 2009. Dissertação (Mestrado em Engenharia e
Eletricidade) – Centro de Ciências exatas e tecnologia, Universidade Federal do Maranhão,
São Luís. Disponível em:
<http://www.tedebc.ufma.br//tde_busca/arquivo.php?codArquivo=380>. Acesso em: 29 abr.
2014.
EIBEN, A.; SMITH, J. E. Introduction to Evolutionary Computing, volume XV de Natural
Computing. Springer, 2 edition, 2008.
GÓMEZ-PÉREZ, A.; MANZANO-MACHO, D. An overview of methods and tools for ontology
learning from texts. Knowl. Eng. Rev., 19(3):187–212, Sept. 2004.
GONÇALVES, G.; WILKENS, R.; VILLAVICENCIO, A. Sistema de aquisição semiautomática de
ontologias. In: Vieira, R.; Guizzardi, G.; Fiorini, S. R., editors, ONTOBRAS-MOST, volume
776 de CEUR Workshop Proceedings, p. 189–194. CEUR-WS.org, 2011.
GRUBER, T. Toward principles for the design of ontologies used for knowledge sharing.
International Journal Human-Computer Studies Vol. 43, Issues 5-6,Novemer 1995, p.907-
928., 1995.
HEARST, M. A. Automatic acquisition of hyponyms from large text corpora. In: Proceedings of
the 14th Conference on Computational Linguistics - Volume 2, COLING ’92, p. 539–545,
Stroudsburg, PA, USA, 1992. Association for Computational Linguistics.
JUNIOR, L. C. R. Ontolp: Construção semi-automática de ontologias a partir de textos da
língua portuguesa, 2008. Dissertação (Mestrado em Computação Aplicada) – Universidade
do Vale do Rio dos Sinos, São Leopoldo. Disponível em:
<http://bdtd.unisinos.br/tde_busca/arquivo.php?codArquivo=603>. Acesso em: 29 abr. 2013.
LOPES, L. Extração automática de conceitos a partir de textos em língua portuguesa, 2012.
Tese (Doutorado em Ciência da Computação) – Faculdade de Informática, Pontifícia
Universidade Católica do Rio Grande do Sul, Porto Alegre. Disponível em:
<http://hdl.handle.net/10923/1651>. Acesso em: 29 abr. 2014.
LOPES, L.; VIEIRA, R. Processamento de linguagem natural e o tratamento computacional de
linguagens científicas. In: Linguagens Especializadas em Corpora: modos de dizer e
interfaces de pesquisa, p. 183–201. Cristina Lopes Perna; Heloísa Koch Delgado; Maria
José Finatto. (Org.), EDIPUCRS, 2010.
MAEDCHE, A.; STAAB, S. Ontology Learning for the Semantic Web. IEEE Intelligent Systems,
16(2):72–79, Mar. 2001.
MOTTA, E. N. Preenchimento semi-automático de ontologias de domínio a partir de textos em
língua portuguesa, 2009. Dissertação (Mestrado em Informática) – Centro de Ciências
exatas em tecnologia, Universidade Estadual do Rio de Janeiro, Rio de Janeiro. Disponível
em: <http://www2.uniriotec.br/ppgi/banco-dedissertacoes-ppgi-unirio/ano-
2009/preenchimento-semi-automatico-de-ontologiasde-dominio-a-partir-de-textos-em-
lingua-portuguesa/view>. Acesso em: 29 abr. 2014.
SABOU, M.; WROE, C.; GOBLE, C.; STUCKENSCHMIDT, H. Learning domain ontologies for
semantic web service descriptions. Web Semantics: Science, Services and Agents on the
World Wide Web, 3(4):340 – 365, 2005.
ZAHRA, F. M. Poronto - ferramenta para construção semiautomática de ontologias em
português, 2009. Dissertação (Mestrado em Tecnologia em Saúde) – Centro de Ciências
Biológicas e da Saúde, Pontifícia Universidade Católica do Paraná, Curitiba. Disponível em:
<http://www.dominiopublico.gov.br/>. Acesso em: 29 abr. 2014.
WONG, W.; LIU, W.; BENNAMOUN, M. Ontology learning from text: A look back and into the
future. ACM Comput. Surv., 44(4):20:1–20:36, Sept. 2012.
Desembarque de Cabral em Porto
Seguro (óleo sobre tela), autor: Oscar
Pereira da Silva, 1904.
Norton Coelho Guimarães@nortoncg
OBRIGADO!