Sabença - Um arcabouço computacional para aprendizagem semi-automatizada de ontologias a partir de...

Preview:

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!

Recommended