109
N ORTON C OELHO G UIMARÃES SABENÇA - um arcabouço computacional baseado na aprendizagem de ontologias a partir de textos Dissertação apresentada ao Programa de Pós–Graduação do Instituto de Informática da Universidade Federal de Goiás, como requisito parcial para obtenção do título de Mestre em Ciência da Computação. Área de concentração: Orientador: Prof. Cedric Luiz de Carvalho Goiânia 2015 Ciência da Computação

SABENÇA - um arcabouço computacional baseado na ...repositorio.bc.ufg.br/tede/bitstream/tede/4712/5/Dissertação... · automáticas para a aprendizagem de ontologias a partir de

  • Upload
    lehuong

  • View
    216

  • Download
    0

Embed Size (px)

Citation preview

Page 1: SABENÇA - um arcabouço computacional baseado na ...repositorio.bc.ufg.br/tede/bitstream/tede/4712/5/Dissertação... · automáticas para a aprendizagem de ontologias a partir de

NORTON COELHO GUIMARÃES

SABENÇA - um arcabouçocomputacional baseado na

aprendizagem de ontologias a partir detextos

Dissertação apresentada ao Programa de Pós–Graduação do

Instituto de Informática da Universidade Federal de Goiás,

como requisito parcial para obtenção do título de Mestre em

Ciência da Computação.

Área de concentração: Inteligência Computacional.

Orientador: Prof. Cedric Luiz de Carvalho

Goiânia

2015

Ciência da Computação

Page 2: SABENÇA - um arcabouço computacional baseado na ...repositorio.bc.ufg.br/tede/bitstream/tede/4712/5/Dissertação... · automáticas para a aprendizagem de ontologias a partir de
Page 3: SABENÇA - um arcabouço computacional baseado na ...repositorio.bc.ufg.br/tede/bitstream/tede/4712/5/Dissertação... · automáticas para a aprendizagem de ontologias a partir de

NORTON COELHO GUIMARÃES

SABENÇA - um arcabouçocomputacional baseado na

aprendizagem de ontologias a partir detextos

Dissertação apresentada ao Programa de Pós–Graduação do

Instituto de Informática da Universidade Federal de Goiás,

como requisito parcial para obtenção do título de Mestre em

Ciência da Computação.

Área de concentração: Inteligência Computacional.

Orientador: Prof. Cedric Luiz de Carvalho

Goiânia

2015

Ciência da Computação

Page 4: SABENÇA - um arcabouço computacional baseado na ...repositorio.bc.ufg.br/tede/bitstream/tede/4712/5/Dissertação... · automáticas para a aprendizagem de ontologias a partir de
Page 5: SABENÇA - um arcabouço computacional baseado na ...repositorio.bc.ufg.br/tede/bitstream/tede/4712/5/Dissertação... · automáticas para a aprendizagem de ontologias a partir de
Page 6: SABENÇA - um arcabouço computacional baseado na ...repositorio.bc.ufg.br/tede/bitstream/tede/4712/5/Dissertação... · automáticas para a aprendizagem de ontologias a partir de

Todos os direitos reservados. É proibida a reprodução total ou parcial dotrabalho sem autorização da universidade, do autor e do orientador(a).

Norton Coelho Guimarães

Graduado em Análise de Sistemas, pela UNIVERSO/GO (2000). Especialistaem Orientação a Objetos e Internet, pela Uni-Anhanguera/GO (2006). Desen-volvedor web na LG Informática (2004-2006), programador web e gerentedo projeto avaliado pela SOFTEX no MPS-BR nível G na Online Tecnologia(2006-2008), analista de sistemas júnior (aprovado em concurso público) naCOMDATA (2008-2009), professor convidado no curso de licenciatura em in-formática na UEG Unu-Silvânia/GO (2008-2009), professor celetista no cursotecnólogo em sistemas para internet na UNIFAN (2009). Em 2009, ingressocomo professor EBTT no IF Goiano campus Morrinhos na área de informá-tica, atuando em diversos cursos, bem como: substituto do coordenador doscursos técnicos em informática (2011, 2013 e 2014), pesquisador institucional(2012-2013), membro do colegiado do curso tecnólogo em sistemas para in-ternet (2012-2014), membro em diversas comissões (CPA, CPPD, CEC, RSCe Titular) de campus e reitoria, coordenador do treinamento Microsoft S2B(Students to Business) (2012 e 2013) em Morrinhos/GO, membro da seçãoSINASEFE Morrinhos/GO (2012-2013), coordenador do Polo EAD em Mor-rinhos/GO (2012 e 2013), coordenador de tutoria no curso técnico em meioambiente (2013-2014) e coordenador do Projeto TIC no IF Goiano. Certifica-dos: SJCA (2009) e MTA Web Development Fundamentals (2013). Membronas comunidades GOJava, MTAC (Microsoft Technical Audience Contribu-tor) e Override IT Community.

Page 7: SABENÇA - um arcabouço computacional baseado na ...repositorio.bc.ufg.br/tede/bitstream/tede/4712/5/Dissertação... · automáticas para a aprendizagem de ontologias a partir de

Dedico este trabalho aos meus pais, Petrônio Coelho Guimarães (in memoriam)e Elizete Maria Coelho Guimarães, que educaram seus filhos com os verdadeiros valoresda vida, primando a perseverança, o trabalho honesto, a ajuda ao próximo, o respeito àsLeis e, principalmente a fé em DEUS.

Page 8: SABENÇA - um arcabouço computacional baseado na ...repositorio.bc.ufg.br/tede/bitstream/tede/4712/5/Dissertação... · automáticas para a aprendizagem de ontologias a partir de

Agradecimentos

Agradeço,A Deus, o nosso criador, que nos abençoou com habilidades e propiciou que

pudéssemos completar esta dissertação.Ao meu orientador, professor Dr. Cedric Luiz de Carvalho, pelo interesse no

aprendizado de seus orientados, pela confiança que depositou em mim, pelos desafios quepossibilitaram ultrapassar meus limites e pelo acompanhamento durante todo o processode construção desta dissertação.

À minha esposa, Delta Venâncio de Almeida Guimarães, e meu filho, SamuelVenâncio de Almeida Guimarães, pela força, incentivos e paciência nas diversas ausênciase fases.

Ao Instituto de Informática da UFG, pela utilização de suas dependências, ea todos os membros de sua equipe, sempre dispostos a cooperar e cujo contato foiprimordial.

Às secretárias do mestrado, Mirian Castro Portilho Dias Amorim e PatríciaGalúcio Coqueiro Galvão, pela dedicação e paciência, no decorrer das fases de matrículae entrega de documentação.

Ao Prof. Dr. Fábio Moreira Costa, pelos excelentes trabalhos prestados frente acoordenação do mestrado acadêmico do INF/UFG.

Ao Instituto Federal Goiano, pela oportunidade de liberação para os estudos e,aos meus amigos de instituição, pelo apoio e amizade.

Aos meus amigos do mestrado que, assim como eu, tiveram um grande esforçopara conciliar trabalho, viagens, estudo e família. Fico grato pela amizade, companhei-rismo e solidariedade.

Aos professores, Dr. Eduardo Simões de Albuquerque, Me. Edison A. M. Mo-rais, Me. Antônio Neco de Oliveira, Dr. Marcos Cardoso e Dr. Juliano Lopes de Oliveirapelas valiosas cartas de recomendação.

Ao professor Me. Antônio Neco de Oliveira por acreditar nos meus projetos ecolaborar para que os mesmos fossem concretizados. E, por confiar a coordenação detutoria da EAD de Morrinhos. E a todos os membros da equipe de EAD do IF Goianocampus Morrinhos pelo apoio.

Page 9: SABENÇA - um arcabouço computacional baseado na ...repositorio.bc.ufg.br/tede/bitstream/tede/4712/5/Dissertação... · automáticas para a aprendizagem de ontologias a partir de

A professora Me. Rosângela Nunes, pelos valiosos aconselhamentos e a grandeparceria nas escritas dos artigos científicos.

Ao Major PM Francisco Leônidas da Silva, 1o Sargento PM R/R GilseroneFerreira Olerante, 2o Sargento PM R/R José Alves Gomes pela colaboração na avaliaçãodos resultados.

Agradeço, por fim, a todas as pessoas que de alguma forma contribuíram para aconclusão desta dissertação.

Page 10: SABENÇA - um arcabouço computacional baseado na ...repositorio.bc.ufg.br/tede/bitstream/tede/4712/5/Dissertação... · automáticas para a aprendizagem de ontologias a partir de

“Reconhecer o desconhecimento sobre certas coisas é sinal de inteligên-cia e um passo decisivo para a mudança”

Mario Sergio Cortella,Filosofo Brasileiro e Escritor.

Page 11: SABENÇA - um arcabouço computacional baseado na ...repositorio.bc.ufg.br/tede/bitstream/tede/4712/5/Dissertação... · automáticas para a aprendizagem de ontologias a partir de

Resumo

Guimarães, Norton C.. SABENÇA - um arcabouço computacional baseadona aprendizagem de ontologias a partir de textos. Goiânia, 2015. 106p.Dissertação de Mestrado. Instituto de Informática, Universidade Federal deGoiás.

As pesquisas sobre aprendizagem de ontologias têm sido realizadas em várias áreas doconhecimento. A extração semi-automática ou automática de ontologias auxiliaria naaceleração da estruturação do conhecimento de diversos domínios. Abordagens semi-automáticas para a aprendizagem de ontologias a partir de textos são propostas em di-versos trabalhos científicos, em sua maioria, com o apoio de técnicas de processamentoda língua natural. Este trabalho descreve a construção de um arcabouço computacionalpara aprendizagem semi-automatizada de ontologias a partir de textos na língua portu-guesa. Axiomas não são tratados neste trabalho. O trabalho desenvolvido aqui originou-se da proposta de Philipp Cimiano [18], juntamente com mecanismos de padronizaçãode textos, processamento de linguagem natural, identificação de relações taxonômicas eestruturação de ontologias. Esta pesquisa resultou no desenvolvimento de um conjunto declasses, concretas e abstratas, que compõem um arcabouço computacional. Neste traba-lho, também foi feito um estudo de caso no domínio de segurança pública, comprovandoos benefícios do arcabouço computacional.

Palavras–chave

Arcabouço Computacional, Aprendizagem de Ontologias, Processamento deLinguagem Natural, Segurança Pública.

Page 12: SABENÇA - um arcabouço computacional baseado na ...repositorio.bc.ufg.br/tede/bitstream/tede/4712/5/Dissertação... · automáticas para a aprendizagem de ontologias a partir de

Abstract

Guimarães, Norton C.. Abstract. Goiânia, 2015. 106p. MSc. Dissertation. Ins-tituto de Informática, Universidade Federal de Goiás.

The research on ontology learning has been carried out in various areas of knowledge.Semi-automatic or automatic extraction of ontologies would assist in the acceleration ofknowledge structuring of multiple domains. Semi-automatic approaches to ontology le-arning from texts are proposed in several scientific papers, mostly with the support ofnatural language processing techniques. This paper describes the construction of a com-putational framework for semi-automated ontology learning from texts in the Portugueselanguage. Axioms are not dealt with in this paper. The work done here originated fromthe proposal of Philipp Cimiano [18], along with mechanisms for standardization of texts,Natural Language Processing, identification of taxonomic relationships and structure ofontologies. This research resulted in the development of a set of classes concrete and a setof abstract classes that comprise a computational framework. In this work we also presenta case study in the field public safety, proving the benefits of computational framework.

Keywords

Framework, Ontology Learning, Natural Language Processing, Public Safety.

Page 13: SABENÇA - um arcabouço computacional baseado na ...repositorio.bc.ufg.br/tede/bitstream/tede/4712/5/Dissertação... · automáticas para a aprendizagem de ontologias a partir de

Sumário

Lista de Figuras 13

Lista de Tabelas 15

Lista de Códigos de Programas 17

1 Introdução 181.1 Problemas encontrados 191.2 Motivação 191.3 Objetivo 201.4 Metodologia de Estudo e Pesquisa 201.5 Organização da Dissertação 20

2 Ontologias 212.1 Classificação de ontologias 222.2 Linguagem 23

2.2.1 Linguagens de Representação 232.2.2 Ferramentas 25

2.3 Aprendizagem de ontologias 262.4 Utilidades das ontologias 272.5 Discussão 28

3 Aprendizado de ontologias a partir de texto 293.1 Tarefas em aprendizado de ontologias a partir de texto 303.2 Extração de termos 31

3.2.1 Abordagens para extração de termos 31Abordagens estatísticas 32Abordagens linguísticas 32Abordagens lógicas 33Abordagens de aprendizagem de máquina 33Abordagens híbridas 34

3.2.2 Métodos para a extração de termos 343.3 Identificações de termos 363.4 Definições de conceitos 37

3.4.1 Etiquetagens 373.5 Relações e Hierarquia de conceitos 39

3.5.1 Relações taxonômicas 403.5.2 Relações não-taxonômicas 42

3.6 Validação de ontologias 43

Page 14: SABENÇA - um arcabouço computacional baseado na ...repositorio.bc.ufg.br/tede/bitstream/tede/4712/5/Dissertação... · automáticas para a aprendizagem de ontologias a partir de

3.7 Trabalhos Relacionados 443.8 Discussão 46

4 Sabença: um arcabouço computacional 484.1 Definição 484.2 Análise do problema/domínio 49

4.2.1 Requisitos funcionais 494.2.2 Requisitos não funcionais 504.2.3 Modelo de caso de uso 51

4.3 Modelagem do Projeto 514.3.1 Arquitetura 53

Módulo construtor 53Módulo analisador 53Módulo conversor 54Módulo etiquetador 54Módulo pesador 54Módulo extrator 55Módulo exportador 56

4.3.2 Diagramas de classes e sequência 574.4 Codificação do arcabouço computacional 59

4.4.1 Módulo construtor 604.4.2 Módulo analisador 614.4.3 Módulo conversor 614.4.4 Módulo etiquetador 634.4.5 Módulo pesador 644.4.6 Módulo extrator 644.4.7 Módulo exportador 654.4.8 Injeção de dependência 66

4.5 Exemplo de utilização do Sabença 664.5.1 Configuração do arquivo de propriedades 664.5.2 Exemplo de customização 68

4.6 Discussão 69

5 Estudo de Caso no domínio da Segurança Pública 715.1 Aquisições dos documentos textuais 715.2 Análise dos dados 73

5.2.1 Identificação dos Termos 735.2.2 Identificação dos Termos Compostos 755.2.3 Padrões de Hearst 765.2.4 Estruturação da ontologia de domínio 77

5.3 Discussão 79

6 Conclusões 816.1 Contribuições 826.2 Limitações e Trabalhos futuros 82

Referências Bibliográficas 84

Page 15: SABENÇA - um arcabouço computacional baseado na ...repositorio.bc.ufg.br/tede/bitstream/tede/4712/5/Dissertação... · automáticas para a aprendizagem de ontologias a partir de

A Termos relevantes e compostos selecionados pelos especialistas 96

B Relações Taxonômicas a partir dos padrões Hearst 104

C Layout dos arquivos 105

Page 16: SABENÇA - um arcabouço computacional baseado na ...repositorio.bc.ufg.br/tede/bitstream/tede/4712/5/Dissertação... · automáticas para a aprendizagem de ontologias a partir de

Lista de Figuras

2.1 Ilustra uma ontologia sobre o domínio Pessoa compreendendo em concei-tos (pessoas, homens, mulheres, meninos e meninas), relações (pai_dee mãe_de) e atributo (idade) [63] 21

3.1 Ilustra as etapas da aprendizagem de ontologias de Philipp Cimiano [18].Utilizou-se a representação do domínio Geografia. 31

4.1 Ilustra o diagrama de casos de uso elaborado na ferramenta Jude Com-munity 51

4.2 Ilustra uma visão abstrata do arcabouço computacional, que tem como en-trada documentos textuais e executa as tarefas necessárias para aprendi-zagem de ontologias a partir de textos, tendo como saída um documentotextual, codificado em OWL. Para visualizar a estrutura ontológica, utiliza-se a ferramenta Protégé 52

4.3 Ilustra a arquitetura em módulos de domínio. Cada módulo tem sua funçãobaseada nas etapas da aprendizagem de ontologias a partir de textos.Nesta figura, não é possível visualizar a comunicação entre os módulos eserá necessária a utilização de diagramas complementares da UML. 53

4.4 Realiza o cenário padrão 574.5 Diagrama de classes do arcabouço computacional 584.6 Ilustra a organização dos pacotes (módulos) implementados na ferra-

menta Eclipse Kepler do arcabouço computacional. Além dos módulosdescritos no projeto, também aparece os sub-pacotes dentro do etiqueta-dor referentes aos modelos do OpenNLP e um pacote util para classescomuns aos outros módulos. 59

4.7 Ilustra a classe AbstractSabenca. 604.8 Ilustra as classes dos módulos analisador e conversor 624.9 Ilustra o código do IText implementado no arcabouço computacional 644.10 Ilustra o pacote pesador com as classes AbstractPesador e FrequenciaT-

FIDF. 654.11 Ilustra o pacote extrator com as classes TermoComposto, PadraoHearst

e RelacoesTaxonomicas. 654.12 Ilustra o pacote exportador com as classes ExportadorJena. 664.13 Ilustra as propriedades do arquivo sabenca.propriedades. 67

5.1 Ilustra a planilha de avaliação utilizada. 725.2 Ilustra o resultado das relações taxonômicas encontradas a partir dos

termos relevantes e compostos. 78

Page 17: SABENÇA - um arcabouço computacional baseado na ...repositorio.bc.ufg.br/tede/bitstream/tede/4712/5/Dissertação... · automáticas para a aprendizagem de ontologias a partir de

5.3 Ilustra o resultado das relações taxonômicas encontradas a partir dostermos relevantes e compostos. 78

5.4 Ilustra a ontologia gerada a partir dos documentos textuais no domíniode segurança pública visualizada na ferramenta Protégé. A ontologia écomposta de 2 níveis e um total de 194 entidades. 79

Page 18: SABENÇA - um arcabouço computacional baseado na ...repositorio.bc.ufg.br/tede/bitstream/tede/4712/5/Dissertação... · automáticas para a aprendizagem de ontologias a partir de

Lista de Tabelas

3.1 Conjunto básico de etiquetas segundo EAGLES [68] 383.2 Quantidade de etiquetas por corpora adaptado [68] 383.3 Exemplo de implementação da técnica de n-grama 40

4.1 Matriz de rastreabilidade entre os casos de uso e os requisitos funcionais.Na primeira coluna, visualizamos a lista de caso de uso e na segundacoluna, visualizamos os requisitos funcionais e o caso de uso UC 03 éreaproveitado para outros casos de uso. 52

4.2 Lista as categorias gramaticais utilizadas no módulo de etiquetagem,baseado nos modelos em língua portuguesa, disponíveis no ApacheOpenNLP[77]. 55

4.3 Adaptação do método Hearst proposto por Baségio [7] 564.4 Regras para encontrar os termos complexos adaptado de [7], onde _SUB

= substantivo; _ADJ = adjetivo e _PRP = preposição 564.5 Descreve as propriedades que podem ser alteradas 674.6 Descreve as propriedades que não podem ser alteradas 684.7 Lista as etapas da aprendizagem de ontologias a partir de textos imple-

mentadas no arcabouço computacional. 70

5.1 Representa a quantidade de documentos utilizados nos experimentosdesde estudo de caso. 73

5.2 Descreve os tempos de execução de cada módulo do arcabouço compu-tacional. 73

5.3 Representa as quantidades de termos encontrados. Estão descritos ossintagmas gramaticais, a quantidade de termos etiquetados, a quantidadegerada automaticamente pelo Apache OpenNLP. 74

5.4 Representa a avaliação dos especialistas nos termos relevantes. Noavaliador “A1”, obtivemos o maior número de termos selecionados. Poroutro lado, a “Intersecção” resultou no menor valor de termos selecionados. 75

5.5 Representa a quantidade de termos compostos encontrados por regra 765.6 Representa a avaliação dos especialistas nos termos compostos. No ava-

liador “A2”, obtivemos o maior número de termos compostos corretos. Poroutro lado, a “Intersecção” resultou no menor valor de termos selecionados. 76

5.7 Representa a quantidade de relações taxonômicas encontradas por pa-drão Hearst. 77

5.8 Representa a avaliação dos especialistas no padrão Hearst. No avaliador“A3”, obtivemos o maior número de relações taxonômicas corretas. Poroutro lado, a “Intersecção” resultou no menor valor de relações taxonômicas. 77

Page 19: SABENÇA - um arcabouço computacional baseado na ...repositorio.bc.ufg.br/tede/bitstream/tede/4712/5/Dissertação... · automáticas para a aprendizagem de ontologias a partir de

A.1 Representa as entidades utilizadas para compôr a estrutura ontológica 96

B.1 Representa os padrões Hearst selecionados 104

C.1 Layout do arquivo “etiquetado<TIPO>_<ID>.txt” 105C.2 Layout do arquivo “termosPesagem.txt” 105C.3 Layout do arquivo “termoComposto.txt” 105C.4 Layout do arquivo “padraoHearst.txt” 106C.5 Layout do arquivo “arquivo.xml” 106C.6 ID dos Padrões Hearst 106

Page 20: SABENÇA - um arcabouço computacional baseado na ...repositorio.bc.ufg.br/tede/bitstream/tede/4712/5/Dissertação... · automáticas para a aprendizagem de ontologias a partir de

Lista de Códigos de Programas

4.1 Ilustra o código fonte da classe SabencaFacade 604.2 Ilustra o código fonte da classe Importador 614.3 Ilustra o código do Apache POI implementado no arcabouço

computacional 624.4 Ilustra o código do IText implementado no arcabouço

computacional 634.5 Ilustra a classe NovoExportador implementada 684.6 Ilustra o exemplo de instanciação do arcabouço computacional 69

Page 21: SABENÇA - um arcabouço computacional baseado na ...repositorio.bc.ufg.br/tede/bitstream/tede/4712/5/Dissertação... · automáticas para a aprendizagem de ontologias a partir de

CAPÍTULO 1Introdução

Um dos principais desafios da Ciência da Computação é transformar um com-putador em uma máquina que aprenda sozinha. Para isso, é necessário que os computa-dores tenham capacidades que lhes permitam simular, de alguma maneira, o aprendizadohumano. Alguns pesquisadores têm desenvolvido pesquisas no campo do aprendizadocomputacional com o auxílio de ontologias [46].

As ontologias, são formas de armazenamento de conhecimento através da suaestrutura e são visualizadas como grafos, onde, os conceitos são os nós e as relações sãoas arestas entre os nós [108].

Um dos maiores problemas enfrentados por quem trabalha nesta área é justa-mente a aprendizagem de ontologias [110], devido ao alto grau de conhecimento empíriconecessário do engenheiro de ontologias1 [73].

O termo aprendizagem de ontologias serve para descrever o processo de aquisi-ção de um modelo de domínio a partir de dados [65].

Geralmente, no processo de aprendizado de ontologias são aceitas três propostas:aprendizado automatizado, aprendizado não automatizado (manual) e aprendizado semi-automatizado, sendo o primeiro hipotético, o segundo ineficiente e o terceiro parece ser amelhor opção [15]. Para semi-automatizar o processo de aprendizagem de ontologias sefaz necessário a busca de uma fonte de informação da qual será extraído o conhecimento[31].

De acordo com Philipp Cimiano [19], o termo “aprendizagem de ontologias”(ontology learning) foi originalmente usado por Maedche e Staab [65] para descrever oprocesso de aquisição do conhecimento a partir de dados. Esse processo, que tem naturezamultidisciplinar, auxilia a engenharia semi-automática de ontologias. Nele, diferentesdisciplinas atuam de forma complementar, trabalhando com diferentes tipos de dados(não estruturados, semi-estruturados ou totalmente estruturados) [65].

Diante do desafio de tentar automatizar os processos de aprendizagem de ontolo-gias a partir de textos, encontramos diversas pesquisas [7, 16, 25, 40, 52, 72, 75, 24] que

1É o profissional que utiliza ontologias como artefato dos requisitos de softwares [93]

Page 22: SABENÇA - um arcabouço computacional baseado na ...repositorio.bc.ufg.br/tede/bitstream/tede/4712/5/Dissertação... · automáticas para a aprendizagem de ontologias a partir de

1.1 Problemas encontrados 19

propuseram a semi-automatização. A maioria destas pesquisas abordaram diversos temas,tais como: definição de métodos2, metodologias e linguagens computacionais.

As metodologias definem os processos e atividades que auxiliam os engenheirosde ontologias nos processos da aprendizagem de ontologias a partir de textos. Entretanto,não existe metodologia padrão que auxilie na modelagem para um determinado domínio.Na literatura, existem diversos trabalhos científicos que abordam a definição de suaspróprias metodologias [6, 23, 26, 34, 39, 69, 102] para construção e enriquecimento deontologias [7].

1.1 Problemas encontrados

Durante décadas, os processos da aprendizagem de ontologias tem sido informa-tizados e, atualmente, encontram-se em constante evolução. Porém, na maioria dos casos,alguns processos continuam sendo feitos de forma manual e dependentes da intervençãohumana [19]. Inúmeras pesquisas científicas, exploraram a temática aprendizagem de on-tologias com a semi-automatização de algumas fases do processo de aprendizagem [7].Durante nossas pesquisas encontramos alguns problemas que são relevantes para nossotrabalho, tais como:

• A aprendizagem de ontologias a partir de textos, na sua forma manual, é umtrabalho árduo, tedioso e requer a intervenção de um especialista.• Durante nossas pesquisas, não encontramos um arcabouço computacional semi-

automatizado para aprendizagem de ontologias a partir de textos na língua portu-guesa.• A maioria das pesquisas científicas estão direcionadas ao aprendizado de ontologias

a partir de textos escritos no idioma inglês.

1.2 Motivação

A extração de conhecimento a partir de textos é um campo interessante parapesquisar, devido à expressiva quantidade de trabalhos produzidos em diversas áreas doconhecimento [7].

Um dos maiores desafios da computação moderna é a integração de sistemas le-gados com as novas aplicações. Uma alternativa para resolver esse problema de integraçãoé o uso de ontologias na realização da interoperabilidade semântica entre essas aplicações[50].

2Conjunto dos meios dispostos convenientemente para alcançar um fim e especialmente para chegar aum conhecimento científico ou comunicá-lo aos outros [106].

Page 23: SABENÇA - um arcabouço computacional baseado na ...repositorio.bc.ufg.br/tede/bitstream/tede/4712/5/Dissertação... · automáticas para a aprendizagem de ontologias a partir de

1.3 Objetivo 20

Em projetos de sistemas baseados em conhecimento, as ontologias são utilizadaspara formalizar os dados, facilitando a comunicação entre sistemas computacionais epessoas [90].

As ontologias de domínio, em língua portuguesa, são muito escassas e requeremconstantes investimentos em pesquisas [7].

Uma contribuição significativa para o crescimento da produção de ontologiasde domínio, seria a disponibilização de um arcabouço computacional para aprendizagemsemi-automatizada de ontologias a partir de textos que reduzisse o esforço e a complexi-dade durante as fases do processo de aprendizagem [108].

1.3 Objetivo

O presente trabalho, tem como objetivo geral, desenvolver um arcabouço com-putacional, para auxiliar na criação de aplicações que permitam a aprendizagem semi-automatizada de ontologias a partir de textos em português.

1.4 Metodologia de Estudo e Pesquisa

As atividades previstas para alcançar o objetivo mencionado, são:

• Analisar e selecionar as principais metodologias, ferramentas e técnicas para apren-dizagem de ontologias a partir de textos.• Analisar os trabalhos correlatos escritos na língua portuguesa.• Analisar, projetar e desenvolver o arcabouço computacional para realizar a apren-

dizagem semi-automatizada de ontologias a partir de textos.• Selecionar os documentos textuais, exclusivamente, na área de segurança pública.• Aplicar o arcabouço computacional nos documentos anteriormente catalogados.

1.5 Organização da Dissertação

Esta dissertação encontra-se organizada em 5 capítulos, além da introdução.O Capítulo 2 destina-se à apresentação da fundamentação teórica sobre ontologias. OCapítulo 3 descreve a aprendizagem de ontologias a partir de textos e suas tarefas.O Capítulo 4 descreve o projeto do arcabouço computacional para aprendizagem deontologias a partir de textos. O Capítulo 5, apresenta um estudo de caso aplicadono domínio de segurança pública e seus resultados. O Capítulo 6, descreve sobre asconclusões, as contribuições e trabalhos futuros.

Page 24: SABENÇA - um arcabouço computacional baseado na ...repositorio.bc.ufg.br/tede/bitstream/tede/4712/5/Dissertação... · automáticas para a aprendizagem de ontologias a partir de

CAPÍTULO 2Ontologias

Na Filosofia, o termo ontologia possui sua origem na Metafísica. SegundoAristóteles (384-222 a.C.), é considerada a Filosofia Primeira que trata do estudo do serenquanto ser. Portanto, é uma teoria sobre a existência da natureza, sobre que tipos decoisas existem ou o que se pode dizer sobre o mundo [30].

Com o passar do tempo o termo ontologia sofreu alterações ao ser estudado poroutras áreas do conhecimento. Deixou de ser o estudo do ser e passou a ser uma visãoabstrata do mundo que se deseja representar explícita ou implicitamente [41].

Na Ciência da Computação, as ontologias servem como esquemas de metadados,fornecendo um vocabulário controlado de conceitos, cada um com suas definições [65],sendo compostas por conceitos, relações, instâncias dos conceitos e asserções 1 e, devemser compreensíveis para os agentes e outras entidades computacionais [29], conforme aFigura 2.1.

Figura 2.1: Ilustra uma ontologia sobre o domínio Pessoa com-preendendo em conceitos (pessoas, homens, mulheres,meninos e meninas), relações (pai_de e mãe_de) e atri-buto (idade) [63]

1Uma proposição enunciada como verdadeira [106]

Page 25: SABENÇA - um arcabouço computacional baseado na ...repositorio.bc.ufg.br/tede/bitstream/tede/4712/5/Dissertação... · automáticas para a aprendizagem de ontologias a partir de

2.1 Classificação de ontologias 22

As ontologias podem definir um conjunto de primitivas de representação 2 paramodelar um domínio de conhecimento [42] que ajudam na interação homem-máquina deforma concisa [65].

De acordo com Sílvia Moraes [73]:

“... nas demais comunidades mencionadas - inteligência artificial, enge-nharia de software e web semântica - ontologias são consideradas um artefatoconcreto de engenharia. Ela é uma estrutura formal composta por conceitose relações entre conceitos. Inclui também um conjunto de axiomas que res-tringem a interpretação dessa estrutura, bem como refletem o conhecimentosobre um domínio no contexto de uma aplicação.”

Segundo Thomas Gruber [41], existem componentes básicos para estruturaçãode uma ontologia, que são:

• Classes: podem ser qualquer coisa no mundo real que contenha significado;• Relações: são as representações dos tipos relações entre as classes, e.g., pai_de,

casado_com e etc.;• Funções: são casos especiais de relação, onde o n-ésimo elemento do relaciona-

mento é único para os n-1 elementos precedentes, e.g., capital_paulista, polici-ais_militares e etc.;• Axiomas: consistem em sentenças que são verdades inquestionáveis universalmente

válidas.• Instâncias: consiste na representação de elementos específicos, ou seja, os próprios

dados da ontologia.

2.1 Classificação de ontologias

As ontologias não apresentam sempre a mesma estrutura, mas existem caracte-rísticas e componentes básicos comuns presentes em grande parte delas. Mesmo apresen-tando propriedades distintas, é possível identificar tipos bem definidos [2].

Na literatura, existem diversas classificações para ontologias. Alguns trabalhoscientíficos propõem tipos de ontologias relacionado-as à sua função, ao grau de forma-lismo de seu vocabulário (altamente informal, semi-informal, semi-formal e rigorosa-mente formal), à sua aplicação, à estrutura e conteúdo da conceitualização [2].

Na classificação de ontologias dependentes do conteúdo, existe uma sub-classificação, proposta por Nicolas Guarino [43]:

2As definições das primitivas de representação incluem informações sobre o seu significado e asrestrições sobre a sua aplicação logicamente consistente [42].

Page 26: SABENÇA - um arcabouço computacional baseado na ...repositorio.bc.ufg.br/tede/bitstream/tede/4712/5/Dissertação... · automáticas para a aprendizagem de ontologias a partir de

2.2 Linguagem 23

• Ontologias de alto-nível: descrevem conceitos gerais, representando conceitos deespaço, tempo, eventos, objetos etc.;• Ontologias de aplicação: descrevem conceitos de uma tarefa em particular;• Ontologias de domínio: descrevem os termos relacionados à um domínio, e.g.,

saúde, agricultura, segurança pública, medicina, comércio etc.;• Ontologias de tarefas: descrevem os termos relacionados à uma tarefa ou atividade.

Para Thomas Gruber [41], as ontologias independem da classificação para o seudesenvolvimento e alerta para os princípios básicos a serem considerados:

• clareza e objetividade na definição dos termos;• coerência para permitir inferências consistentes com as definições contidas na

ontologia;• extensibilidade de novos termos preservando os conceitos existentes;• codificação mínima para não depender de uma tecnologia e• compromisso ontológico mínimo para permitir compartilhamento e reúso da onto-

logia.

2.2 Linguagem

Uma ontologia pode ser formalizada por textos, gráficos ou tabelas. Mas, paraefetuarmos a comunicação homem-máquina, será necessário a utilização de uma lingua-gem para codificar ontologias. Essa codificação serve como elemento principal na co-municação dos diversos sistemas utilizados pelas pessoas e, não existe um padrão delinguagem para construí-las [108].

Na tentativa de padronizar a linguagem para representação das ontologias, ini-cialmente foram utilizadas as linguagens de marcação HTML (HyperText Markup Lan-

guage) e XHTML (eXtensible HyperText Markup Language). Mas, por não terem estru-tura necessária para representação da semântica do conhecimento modelado, foram des-cartadas [108]. Então, surgiram linguagens específicas, com base em lógica de primeiraordem, XML, OWL, e notações gráficas como a UML (Unified Modeling Language) [13].

2.2.1 Linguagens de Representação

A Cycl é uma linguagem formal cuja sintaxe deriva do cálculo de predicados deprimeira ordem (a linguagem da lógica formal) e do Lisp 3. O vocabulário de Cycl consiste

3É uma linguagem de programação de computador desenvolvido por volta de 1960 por John McCarthyno Massachusetts Institute of Technology (MIT). Usa uma notação em que as operações e seus operandossão dadas em uma lista entre parênteses [97]

Page 27: SABENÇA - um arcabouço computacional baseado na ...repositorio.bc.ufg.br/tede/bitstream/tede/4712/5/Dissertação... · automáticas para a aprendizagem de ontologias a partir de

2.2 Linguagem 24

em termos. O conjunto de termos pode ser dividido em constantes, termos não-atômicos,variáveis e alguns outros tipos de objetos. Termos são combinados em expressões Cyclsignificativas, que são usadas para fazer as afirmações na base de conhecimento Cyc [57].

A FLogic (frame logic)[23] combina frames e lógica de primeira ordem, oque permite representar conceitos, taxonomias de conceitos, relações binárias, funções,instâncias, axiomas e regras dedutivas. O motor de inferência do F-Logic é o Ontobroker[76] e pode ser usado para a verificação de restrições e deduzir novas informações.

A Ontolíngua[2] combina paradigmas das linguagens baseadas em frames elógica de primeira ordem. Permite a representação de conceitos, taxonomias de conceitos,relações, funções, axiomas, instâncias e procedimento .

O RDF (Resource Description Framework)[23] é uma linguagem desenvolvida,pelo W3C, como uma base semântica para descrever recursos da Web. O RDF Schema(RDF-S) é uma extensão do RDF. O RDF-S permite a representação de conceitos,taxonomias e relações binárias .

A SHOE (Simple HTML Ontology Extension)[23] é uma linguagem desenvol-vida em 1996, na Universidade de Maryland, como uma extensão da HTML. Ela utilizamarcações diferentes das especificações da HTML, portanto, permite a inserção de on-tologias em documentos HTML. A SHOE permite representar conceitos, taxonomias,relações n-árias, instâncias e regras de dedução .

A XOL (XML-Based Ontology Exchange Language)[23] é uma linguagem de-senvolvida pelo centro de IA da SRI International, em 1999, como um “XMLization”sendo um subconjunto de primitivas do protocolo OKBC, chamado OKBC-Lite. É umalinguagem muito restrita que aborda o conceito de taxonomias e relações binárias .

A OIL (Ontology Inference Layer)[23] é uma linguagem desenvolvida no projetoeuropeu IST On-To-Knowledge. Ela acrescenta primitivas KR (Knowledge Representa-

tion) baseados em RDF-S, e sua estrutura semântica é a base do NDLS (National Dock

Labour Scheme). E utiliza um classificador para executar as classificações automáticasdos conceitos.

A STELLA[98] é uma linguagem orientada a objetos, fortemente tipada combase no LISP (LISt Processing), projetada para facilitar as tarefas de programação sim-bólicas em aplicações de inteligência artificial. A STELLA tem suporte para estruturasdinâmicas de dados, coleções heterogêneas, símbolos de primeira classe, poderosas cons-truções de iteração, name spaces, protocolo de meta-objeto, manipulação de exceção elinguagem extensível por meio de macros. A STELLA está disponível para programaçãoem C++, LISP Common, ou Java.

A SPARQL[94] é uma linguagem de consulta semântica para RDF. Ela podeser utilizada em diversas bases de dados com recursos para consultar padrões gráficos,conjunções e disjunções. Os resultados das consultas podem ser conjuntos de resultados

Page 28: SABENÇA - um arcabouço computacional baseado na ...repositorio.bc.ufg.br/tede/bitstream/tede/4712/5/Dissertação... · automáticas para a aprendizagem de ontologias a partir de

2.2 Linguagem 25

e gráficos RDF .A OWL[56] é uma linguagem de marcação do W3C que contém um rico

conjunto de operadores, incluindo and, or e negação. Portanto, conceitos complexospodem ser construídos a partir de conceitos mais simples. Além disso, o modelo lógicopermite verificar se são coerentes entre si, as declarações e definições das ontologias,e reconhecer quais conceitos se encaixam sob quais definições, mantendo a hierarquiacorretamente .

2.2.2 Ferramentas

A automatização por completo dos processos da aprendizagem de ontologias apartir de textos é algo buscado por diversos pesquisadores [20]. Para isso, foram desen-volvidas diversas ferramentas que auxiliam na aprendizagem de ontologias. Entretanto,as ferramentas servem de apoio para a aprendizagem semi-automatizada de ontologias apartir de textos [73]. As principais ferramentas são:

• O ASIUM (Acquisition of Semantic knowledge Using Machine Learning Methods)é uma ferramenta que auxilia na aprendizagem de ontologias a partir de textos nalíngua francesa. Seus recursos utilizam agrupamento conceitual e hierárquico paragerar a taxonomia. Os conceitos são formados por objetos indiretos de verbos, oagrupamento conceitual se baseia em verbos e preposições. O processo de validaçãodepende da intervenção do usuário [32].• O Text2Onto é o sucessor do Text-to-Onto [64]. Ele permite ao usuário rastrear as

mudanças de evolução das ontologias. O ambiente utiliza abordagens linguísticase abordagens de aprendizagem de máquina. O Text2Onto é baseado no arcabouçoGATE (General Architecture for Text Engineering) e suporta aprendizado de onto-logias a partir de textos em inglês, espanhol e alemão [20].• O OntoLearn é uma ferramenta para enriquecimento de ontologias de domínio com

conceitos e relações. Seus recursos utilizam abordagens linguísticas e estatísticaspara filtrar os termos na língua inglesa. Ele utiliza a base lexical do WordNet paraa interpretação semântica dos termos, especialmente multi-termos. A ferramentautiliza métodos de aprendizagem indutiva, baseados em regras, para extrair asrelações entre os conceitos. O processo de validação depende da intervenção dousuário [104].• O Protégé é um editor de ontologias que facilita na aprendizagem de ontologias.

Ele está disponível na plataforma WEB (WebProtégé [79]), desktop e API Protégé-OWL. As ontologias podem ser exportadas para OWL, RDF-S e XML Schema[83].

Page 29: SABENÇA - um arcabouço computacional baseado na ...repositorio.bc.ufg.br/tede/bitstream/tede/4712/5/Dissertação... · automáticas para a aprendizagem de ontologias a partir de

2.3 Aprendizagem de ontologias 26

• O OntoLT é um plug-in para o editor de ontologias Protégé, suporta a extraçãode ontologias a partir de textos em alemão e inglês e extensão interativa deontologias. A abordagem do OntoLT provê um conjunto de regras de mapeamentoque associam funcionalmente entidades linguísticas de coleções de textos anotadoscom conceitos e atributos candidatos, sob a supervisão do usuário [14].• O CRCTOL adota uma técnica de análise de texto completo e emprega uma

combinação de abordagens estatísticas e linguísticas (léxico-sintática), incluindoum algoritmo estatístico que extrai conceitos de uma coleção de documentos,um algoritmo baseado em regras que extrai as relações entre os conceitos, e umalgoritmo de mineração de texto [51].• O OntoBroker [76] é um middleware da Web Semântica. É uma máquina de

inferência comercial para ontologias que suporta todas as recomendações da WebSemântica do W3C (OWL, RDF-S, SPARQL, RIF e ObjectLogic) [27].• O Powerloom é o sucessor do sistema de representação do conhecimento Loom. Ele

fornece uma linguagem e ambiente para a construção de aplicações inteligentes,baseadas no conhecimento. Ele utiliza uma linguagem de representação baseadaem lógica expressiva (uma variante do KIF) e um motor de inferência de deduçãonatural e desenvolvido com a linguagem STELLA [80].

2.3 Aprendizagem de ontologias

A aprendizagem de ontologias (ontology learning) é definida como um conjuntode métodos e técnicas para a construção e enriquecimento de ontologias. O termoaprendizagem de ontologias pode ser encontrado como: geração de ontologias (ontology

generation), extração de ontologias (ontology extraction) e utiliza-se de diversos tipos defontes, e.g., dicionários, textos e base de dados [109].

Para Gómez-Pérez e Manzano-Macho [39], as abordagens para aprendizagem deontologias, organizam-se em:

• aprendizagem de ontologias a partir de textos: consiste na extração de ontologiasaplicando técnicas de processamento de linguagem natural em documentos textuais;• aprendizagem de ontologias a partir de dicionários: consiste na utilização de um

dicionário eletrônico para extrair conceitos relevantes e as relações entre eles;• aprendizagem de ontologias a partir de bases de conhecimento: consiste em cons-

truir uma ontologia usando bases de conhecimento existente, e.g., FAQs, diagnósti-cos médicos e etc.;• aprendizagem de ontologias a partir de esquemas semi-estruturados: consiste em

construir ontologias com base em recursos que tenham estruturas predefinidas, e.g.,HTML e XML;

Page 30: SABENÇA - um arcabouço computacional baseado na ...repositorio.bc.ufg.br/tede/bitstream/tede/4712/5/Dissertação... · automáticas para a aprendizagem de ontologias a partir de

2.4 Utilidades das ontologias 27

• aprendizagem de ontologias a partir de esquemas relacionais: consiste em construirontologias com base em recursos de banco de dados relacionais.

2.4 Utilidades das ontologias

Há muitos anos, os pesquisadores produzem ontologias para várias áreas doconhecimento [4, 7, 60, 71, 73, 78] e com isso, contribuíram para o desenvolvimentodas mesmas [11].

As ontologias são importantes para reduzir o problema das ambiguidades 4 exis-tentes em textos e funcionam como um dicionário de conceitos dentro de um determinadodomínio [45].

A criação de ontologias é um importante passo no desenvolvimento de sistemasbaseados em conhecimento, uma vez que as ontologias permitem a formalização e apartilha do conhecimento entre humanos e sistemas computacionais [66].

A disponibilização de ontologias tem contribuído para resolver diversos proble-mas e servem basicamente para [102]:

• Comunicação entre as pessoas com diferentes necessidades e visões em diferentescontextos.• Interoperabilidade semântica entre aplicações.• Reutilização de informações.• Mapeamento de regras do domínio.• Enriquecimento das buscas na internet.• Construção de biblioteca digital.• Modelagem dos processos de negócio.• Web Semântica.• Raciocínio Automático.

Em nossas pesquisas, encontramos grande quantidade de ontologias de domínio.As ontologias de domínio atendem a temas específicos e estas são utilizadas no desenvol-vimento de aplicações [11].

As áreas de aplicação abrangem a Inteligência Artificial, à Web Semântica, aEngenharia de Software, a Saúde, o Comércio Eletrônico, a Gestão de Conhecimento, aEducação, entre outras [66].

4Significa obscuridade das palavras ou expressões, que pode causar várias interpretações [106]

Page 31: SABENÇA - um arcabouço computacional baseado na ...repositorio.bc.ufg.br/tede/bitstream/tede/4712/5/Dissertação... · automáticas para a aprendizagem de ontologias a partir de

2.5 Discussão 28

2.5 Discussão

Neste capítulo, fizemos um breve estudo sobre ontologias, tipos de ontologias,linguagens, ferramentas, aprendizagem de ontologias e as suas principais aplicações.

Percebemos a existência de diversos pesquisadores, de áreas distintas, interessa-dos na temática “ontologias”. Essa diversidade, demonstra a importância que as ontolo-gias desempenham nos tempos modernos.

No próximo capítulo, discutiremos sobre a aprendizagem de ontologias a partirde textos, que é a base do nosso trabalho.

Page 32: SABENÇA - um arcabouço computacional baseado na ...repositorio.bc.ufg.br/tede/bitstream/tede/4712/5/Dissertação... · automáticas para a aprendizagem de ontologias a partir de

CAPÍTULO 3Aprendizado de ontologias a partir de texto

A aprendizagem de ontologias a partir de texto é o processo de identificação determos, conceitos, relações, e opcionalmente axiomas para construir e manter ontologias[108].

A primeira etapa desse processo de aprendizagem é a escolha do corpus 1 queserá usado como fonte de dados na construção da estrutura conceitual. A qualidade e ariqueza do corpus são fundamentais para o bom desempenho da extração de informaçõesa partir de textos [62, 73].

Nos últimos anos, o campo da aprendizagem de ontologias a partir de texto tematraído diversos pesquisadores, resultando numa variedade de abordagens para a extraçãode conhecimento a partir de dados textuais [13], tais como [39, 47]: métodos linguísticos[64], método estatísticos [88], baseados em padrões [9], processamento de linguagemnatural (PLN) [87], aprendizagem de máquina [32] e integrado2 [20].

As técnicas de PLN são utilizadas na anotação de corpus para posterior processa-mento. As técnicas de extração de informação (EI) são utilizadas no processo de extraçãodas anotações e possíveis relações [91].

Como as ontologias modelam domínios, é comum que os corpora 3 sejamdefinidos especialmente para construí-las. Entretanto, em abordagens automáticas ousemi-automáticas, o mais usual é constituir o corpus a partir de documentos textuais ou apartir de recursos baseados na web [73].

Com o corpus construído, a próxima etapa é a construção da estrutura ontológica.Para isso, será necessário realizar várias tarefas, tais como: a extração e estruturação deprimitivas de representação [73].

Atualmente, existem muitos trabalhos na literatura científica sobre a aprendiza-gem semi-automatizada de ontologias a partir de textos e seu enriquecimento. Entretanto,os processos de aprendizagem de ontologias continuam sendo manual ou semi-automático

1O corpus pode ser composto por textos não estruturados (em formato livre), com algum formato(HTML, XML, ...) ou, ainda, com algum tipo de anotação morfossintática ou semântica [73].

2Combina um ou mais mecanismos de extração de conhecimento a partir de dados textuais3Plural de corpus

Page 33: SABENÇA - um arcabouço computacional baseado na ...repositorio.bc.ufg.br/tede/bitstream/tede/4712/5/Dissertação... · automáticas para a aprendizagem de ontologias a partir de

3.1 Tarefas em aprendizado de ontologias a partir de texto 30

[73]. Além disso, os processos são complexos e demorados, sendo desenvolvidos segundopadrões e métodos da engenharia de ontologias, não existindo uma solução universal [69].

Nas próximas seções, detalharemos sobre os recursos necessários para realizar aaprendizagem de ontologias a partir de textos.

3.1 Tarefas em aprendizado de ontologias a partir detexto

O processo de aprendizagem de ontologias a partir de textos, proposto porPhilipp Cimiano [18], está organizado em etapas (Figura 3.1) e são descritas a seguir:

• Termos: a extração de termos é o começo de todo o processo de aprendizagemde ontologias a partir de textos. Os termos são realizações linguísticas de umdeterminado domínio e constituem-se na parte mais complexa da tarefa de aprender;• Sinônimos: a tarefa de identificação de sinônimos consiste em encontrar palavras

que denotem os mesmos conceitos;• Conceitos: a formação de conceitos deve incluir preferencialmente uma definição

intencional, prover extensões dos conceitos e representações simbólicas;• Hierarquia de conceitos: inclui indução, extensão e refinamento da estrutura con-

ceitual. A tarefa de indução corresponde à geração da hierarquia propriamente ditana qual os conceitos são organizados segundo uma relação de ordem. A tarefa derefinamento consiste em estender a hierarquia incluindo sub-conceitos. E a tarefade extensão se destina a encontrar novas representações lexicais para um mesmoconceito;• Relações e Hierarquia de relações: muitas vezes, restringem a relações binárias e in-

cluem tarefas como: encontrar os conceitos que possuem algum tipo de relação nãotaxonômica; especificar essas relações, propondo rótulos e definições adequadas; eaprender uma ordem hierárquica para essas relações;• Esquemas de axiomas: A tarefa é aprender quais conceitos, relações ou pares de

conceitos aplicam os axiomas, ou seja, nós podemos querer aprender quais paresde conceitos são disjuntos, quais as relações são simétricas, e a cardinalidademínima/máxima de uma relação;• Axiomas gerais: O axioma é fortemente dependente do uso formal da lógica. A

lógica interfere diretamente na interpretação dos conceitos e relações.

Atualmente, existe uma variedade de recursos e técnicas disponíveis para exe-cutar as tarefas de aprendizagem de ontologias [73]. Nas próximas seções, discutiremosas etapas, propostas por Philipp Cimiano, acrescidas de detalhes dos recursos e técnicasreferenciadas em trabalhos científicos que serão a base para concretização deste trabalho.

Page 34: SABENÇA - um arcabouço computacional baseado na ...repositorio.bc.ufg.br/tede/bitstream/tede/4712/5/Dissertação... · automáticas para a aprendizagem de ontologias a partir de

3.2 Extração de termos 31

Figura 3.1: Ilustra as etapas da aprendizagem de ontologias dePhilipp Cimiano [18]. Utilizou-se a representação dodomínio Geografia.

3.2 Extração de termos

Um termo é uma palavra ou um conjunto de palavras com algum significadoassociado ao domínio de interesse. Os termos podem ser recuperados através de técnicasde recuperação de informação (information retrieval), termos indexados, terminologias ePLN [110].

A extração dos termos é um pré-requisito para todos os outros passos da aprendi-zagem de ontologias a partir de textos. Os termos estão intrinsecamente ligados ao domí-nio, por isso, esta etapa é a mais complexa de todas [109]. Além disso, serve como basepara várias outras tarefas, tais como: construção de dicionários e taxonomias, e a traduçãoe organização de textos [22].

Os candidatos a termos são extraídos a partir da identificação dos sintagmasnominais 4 das orações. O objetivo é obter os substantivos e seus modificadores (adjetivose advérbios) [7]. Como resultado, as unidades identificadas são denominadas “termoscandidatos”, e geralmente passam por uma etapa manual de validação, realizada porespecialista de domínio. Somente após este processo os candidatos validados podem ser“chamados de termos” [22].

Durante a extração de termos surgem os termos simples – formados por uma pa-lavra – e os termos compostos – formados por duas ou mais palavras que têm significadocomum – sendo este por sua natureza mais difíceis de detectar [60].

3.2.1 Abordagens para extração de termos

Os pesquisadores da extração de termos buscam aperfeiçoar constantemente aqualidade da extração dos termos. Para isso, empregam abordagens estatísticas, linguísti-

4O núcleo da oração é um nome e seus determinantes [106]

Page 35: SABENÇA - um arcabouço computacional baseado na ...repositorio.bc.ufg.br/tede/bitstream/tede/4712/5/Dissertação... · automáticas para a aprendizagem de ontologias a partir de

3.2 Extração de termos 32

cas, lógicas, aprendizagem de máquina e híbridas [108].

Abordagens estatísticas

Os métodos baseados em abordagem estatística geralmente detectam as unidadesterminológicas de acordo com a frequência de termos simples e compostos, com o intuitode identificar os termos candidatos [108]. Podemos destacar os populares tf-idf [86], log-

likelihood [84], tf-icf [85], tf-dcf [60] e as abordagens dice e c-value [100].Em abordagens estatísticas são comuns o descarte dos termos menos relevantes

para o domínio. Para isso, são utilizados os recursos de listas de stopwords ou stoplist

[60].A falta de consideração com a semântica e as relações entre os componentes de

um texto, faz com que as abordagens estatísticas sejam mais utilizadas nas fases iniciaisda aprendizagem de ontologias [108].

Por fim, destacamos outras técnicas encontradas na utilização da extração determos, tais como: agrupamento [107], análise semântica [101], análise de (co-)ocorrência[5], subsunção 5 do termo [36], análise contrastiva 6 [103] e descoberta de regras deassociação [96].

Abordagens linguísticas

De acordo com Lucelene Lopes [60]:

“... as abordagens baseadas em informações linguísticas tendem a ofere-cer bons resultados na extração de termos. Ainda que tenham como desvan-tagem o fato de precisarem de ferramentas de anotação linguística eficazes, eque sejam, quase sempre, específicas para textos em um único idioma.”

Os sistemas baseados em conhecimento linguístico, utilizam recursos que con-têm diferentes informações linguísticas para a extração dos termos, que são [108]:

• Lexicográficas: dicionários de termos e lista de palavras auxiliares (stopwords);• Morfológicas: padrões de estrutura interna da palavra;• Morfossintáticas: categorias morfossintáticas e funções sintáticas;• Semânticas: classificações semânticas;• Pragmáticas: representações tipográficas e informações de disposição do termo no

texto.

5Ação ou resultado de subsumir; ação ou consequência de colocar (algo) num contexto mais amplo[106]

6estuda e compara duas ou mais línguas (ou variantes linguísticas) [106]

Page 36: SABENÇA - um arcabouço computacional baseado na ...repositorio.bc.ufg.br/tede/bitstream/tede/4712/5/Dissertação... · automáticas para a aprendizagem de ontologias a partir de

3.2 Extração de termos 33

Os tipos de conhecimentos utilizados fazem com que as abordagens em informa-ções linguísticas se apliquem a uma língua e suas variantes. Portanto, sua utilização emtextos de idioma diferentes, exigem um estudo linguístico prévio e adequações [100].

Além disso, Wilson Wong [108], descreve que as técnicas de base linguísticasão aplicáveis em quase todas as tarefas no processo de aprendizagem de ontologias econfirma que são dependentes da língua para a qual foram implementadas.

Por fim, destacamos as técnicas encontradas na utilização de abordagem linguís-tica, tais como: part-of-speech tagging [21], sentence parsing [77], syntactic structure

analysis [95], and dependency analysis [17].

Abordagens lógicas

As técnicas baseadas em lógica são menos comuns na aprendizagem de ontolo-gias e são adotadas para as tarefas que envolvem as relações de conceitos e axiomas. Asduas principais técnicas empregadas são [108]:

• Programação lógica indutiva [55, 58]: as regras são derivadas de uma coleçãoexistente de conceitos e as relações que são divididas em exemplos positivos enegativos.• Inferência lógica [92]: as relações implícitas são derivadas de regras existentes, tais

como: transitividade 7 e herança.

Abordagens de aprendizagem de máquina

As técnicas de aprendizagem de máquina associadas com medidas de distânciasemântica são usadas em diferentes tarefas do processo da aprendizagem de ontologias,sendo utilizadas para [73]:

• Aprendizagem de conceitos;• Extração de relações e construção de hierarquias conceituais;• Enriquecimento de ontologias.

Existem diversas técnicas aplicadas na aprendizagem de máquina, tais como:coeficiente Dice, Jaccard, Cosseno, distância euclidiana, entropia, informação mútua,entre outras [73].

7Possibilidade de dar-se aos verbos transitivos a forma passiva [106].

Page 37: SABENÇA - um arcabouço computacional baseado na ...repositorio.bc.ufg.br/tede/bitstream/tede/4712/5/Dissertação... · automáticas para a aprendizagem de ontologias a partir de

3.2 Extração de termos 34

Abordagens híbridas

As abordagens híbridas combinam os métodos estatísticos e linguísticos. A apli-cação do conhecimento híbrido torna o sistema mais eficiente, visto que ele condicionaos resultados de cada técnica. São abordados os métodos híbridos que aplicam o conhe-cimento estatístico primeiro e depois o linguístico e os que utilizam a estatística apenascomo um complemento da linguística. No primeiro caso, é mantido o problema encon-trado nos sistemas de abordagem estatística. O segundo apresenta melhores resultados emrazão da estatística auxiliar na detecção, refinamento e retirada de termos de uma unidadelinguística [100].

3.2.2 Métodos para a extração de termos

Na literatura científica são encontrados diversos métodos para extração de ter-mos, tais como: TF-IDF, Log-likelihood, TF-ICF, TF-DCF, e C-value.

O TF-IDF (Term Frequency-Inverse Document Frequency) determina a frequên-cia de um termo em um documento. O termo que possuir uma alta frequência de ocor-rência em um conjunto limitado de documentos é relevante para o domínio [109]. Paracalcular esta medida usa-se a fórmula ( 3-1):

tfidfl,d = lefl,d ∗ log(|D|dfl

)(3-1)

onde,

• le fl,d é a frequência da entrada lexical ‘l’ em um documento ‘d’.• dfl é o número de documentos do corpus ‘D’ em que ‘l’ ocorre.• ‘D’ é a quantidade de documentos no corpus.

Para calcular o valor tfidf para uma entrada lexical no corpus inteiro, basta fazero somatório das frequências desta entrada em cada documento do corpus. A fórmula ( 3-2)é utilizada para este cálculo:

tfidfl,d = ∑d∈D

tfidfl,d (3-2)

O Log-likelihood é uma medida que calcula a relevância de um termo com basena sua frequência no corpus do domínio e na lista de referência [109]. Para calcular amedida Log-Likelihood usa-se a fórmula ( 3-3):

G2 = 2∗((

a∗ ln( a

E1

))+

(b∗ ln

(b

E2

)))(3-3)

onde,

Page 38: SABENÇA - um arcabouço computacional baseado na ...repositorio.bc.ufg.br/tede/bitstream/tede/4712/5/Dissertação... · automáticas para a aprendizagem de ontologias a partir de

3.2 Extração de termos 35

• E1 = c∗ (a+b)(c+d) .

• E2 = d ∗ (a+b)(c+d) .

• a é a frequência do termo na lista de referência.• b corresponde à frequência do termo no corpus de domínio.• c indica o total de termos na lista de referência.• d indica o total de termos no corpus de domínio.

O TF-ICF (Term Frequency – Inverse Corpus Frequency), é um novo sistema deponderação em documentos baseado no TF-IDF, em que o peso de cada termo é calculadoconforme a fórmula ( 3-4) [85]:

wi j = log(1+ fi, j

)∗ log

(N+1n j +1

)(3-4)

onde,

• fi, j é o número de ocorrências do termo j em um documento i.• N é o número total de documentos no corpus de domínio.• n j é o número de documentos no corpus quando um termo j ocorre uma ou mais

vezes.

O Term Frequency-Disjoint Corpora Frequency (TF-DCF), baseia-se na frequên-cia do termo absoluto e pela sua frequência em outros corpora (contrastante). O índice ématematicamente definido para cada termo t, para cada documento d, pertencentes a umcorpus c que tem pelo menos uma ocorrência de t, conforme a fórmula ( 3-5) [61]:

t f dc ft,d = (1+ log(t ft,d))︸ ︷︷ ︸t f part

∗ log

1+

∣∣D(c)∣∣∣∣∣D(c)

t

∣∣∣

︸ ︷︷ ︸id f part

(3-5)

onde,

• t ft,d é o número de ocorrências do termo t em um documento d.• D(c) é conjunto de todos os documentos de um dado corpus c.• D(c)

t é subconjunto destes documentos enquanto o termo t ocorre pelo menos umavez.

O C-value é um método independente de domínio que visa melhorar a extraçãode termos compostos aninhados. O método utiliza como entrada um corpus e produz umalista de termos candidatos de várias palavras, conforme a fórmula 3-6 [37]:

Page 39: SABENÇA - um arcabouço computacional baseado na ...repositorio.bc.ufg.br/tede/bitstream/tede/4712/5/Dissertação... · automáticas para a aprendizagem de ontologias a partir de

3.3 Identificações de termos 36

C− value(a) =

log2 |a| · f (a)

não está aninhado,

log2 |a|(

f (a)− 1P(Ta)

∑bεTa f (b))

caso contrário

(3-6)

onde,

• a é o termo candidato• c-value(a) = log2|a|, |a| é número de palavras em a.• f(a) é o frequência de a em um único documento.• Ta é o conjunto de termos que contêm a.• P(Ta) é o número de termos em Ta.

3.3 Identificações de termos

A partir dos sintagmas nominais, identificados no pré-processamento, são extraí-dos os candidatos a termos. Com o objetivo de obter somente a forma singular dos subs-tantivos e seus modificadores adjetivais, são aplicados filtros sintáticos e morfológicos acada sintagma nominal. Por fim, dentre os termos candidatos que ficam, são selecionadostodos aqueles que aparecem pelo menos duas vezes em um dos documentos da coleção,ou aparecem em múltiplos documentos [7].

As relações como hiponímia 8 e hiperonímia 9 são difíceis de extrair a partirde um corpus. Sendo assim, relações entre sujeito, verbo e objeto são mais facilmentedetectadas a partir de técnicas de mineração de texto [7].

Na literatura científica, são encontradas diversas técnicas para identificação determos. Podemos citar as principais técnicas, tais como [108]:

• O part-of-speech tagging: é a técnica que fornece marcações nas estruturas sintáti-cas e informações de dependência, necessárias para posterior análise linguística nadescoberta de termos e relações. Encontramos diversos exemplos de part-of-speech

tagging, tais como: Brill Tagger [12], TreeTagger [89], Penn Treebank [67], FrenchTreeBank [1], entre outros.• A syntactic structure analysis: é a técnica que examina sintaticamente as dependên-

cias de informações para descobrir relações em nível de frases e termos. Na análiseda estrutura sintática, palavras e modificadores em estruturas sintáticas (sintagmas,

8Na estruturação do vocabulário, subordinação de um termo a outro. Por exemplo, gato subordina-se afelino [106].

9Na estruturação do vocabulário, superordenação de um termo a outro. Por exemplo, felino é superor-denado em relação a gato [106].

Page 40: SABENÇA - um arcabouço computacional baseado na ...repositorio.bc.ufg.br/tede/bitstream/tede/4712/5/Dissertação... · automáticas para a aprendizagem de ontologias a partir de

3.4 Definições de conceitos 37

expressões verbais e frases preposicionais) são analisadas para descobrir potenciaistermos e relações.• A dependency analysis: é a técnica que analisa as relações gramaticais (sujeitos,

objetos, adjuntos e complementos) para determinar as relações mais complexas.

Por fim, Wilson Wong [108] alerta que outras técnicas dependem do uso desemântico-lexical, padrões léxico-sintáticos, modelos semânticos, subcategorization fra-

mes, e seed words.

3.4 Definições de conceitos

Conceitos podem ser abstratos ou concretos, reais ou fictícios e são formadospelo agrupamento de termos semelhantes. As principais tarefas são identificar conceitose etiquetá-los [108].

A identificação de conceitos se inicia a partir dos sintagmas nominais, identifi-cados no pré-processamento. O objetivo é obter a forma singular dos substantivos e seusmodificadores, então, são aplicados filtros sintáticos e morfológicos a cada sintagma no-minal [7]. Além disso, envolve descobrir as variantes (conhecimento empírico, análise deestruturas sintáticas ou baseado em agrupamento) de um termo e agrupá-los [108].

Na aprendizagem de conceitos, existem vários algoritmos com diferentes para-digmas. Alguns algoritmos utilizam Redes Naïve Bayes, K-Means e SVM (Support Vector

Machine) com o objetivo de descobrir regras no corpus que identifiquem conceitos [73].Na identificação de conceitos, encontramos pesquisas científicas que utilizam

abordagens linguísticas e estatísticas para construir um glossário terminológico específicodo domínio. As expressões terminológicas são capturadas por meio de técnicas, taiscomo: etiquetagem de categorias gramaticais, chunking, comparação de estruturas deargumentos de verbos e análise gramatical superficial [7].

3.4.1 Etiquetagens

As etiquetas morfossintáticas são, em geral, escritas após cada palavra e sepa-radas da palavra em si, por meio de um separador (um código ou caractere incomumna ortografia, por exemplo, “casa-s”, “onde-s” significa “etiqueta de substantivo”) [68],sinais de pontuação e de sentenças como substantivos, verbos, adjetivos, entre outros [28].

A etiquetagem auxilia na desambiguação lexical. Por exemplo, pela etiquetagemgramatical é possível saber se a palavra casa, isolada, refere-se ao substantivo “moradia”ou à forma do verbo “casar” [68].

Page 41: SABENÇA - um arcabouço computacional baseado na ...repositorio.bc.ufg.br/tede/bitstream/tede/4712/5/Dissertação... · automáticas para a aprendizagem de ontologias a partir de

3.4 Definições de conceitos 38

Existem vários conjuntos de etiquetas (tag sets) em utilização. Visando a padro-nização, o Expert Advisory Group on Language Engineering Standards (EAGLES) sugere13 etiquetas básicas [68], conforme na Tabela 3.1.

Etiqueta SignificadoN SubstantivoV VerboAJ AdjetivoPD Pronome/DeterminanteAT ArtigoAV AdvérbioAP AposiçãoC Conjunção

NU NumeralI InterjeiçãoU ÚnicoR Residual

PU Pontuação

Tabela 3.1: Conjunto básico de etiquetas segundo EAGLES [68]

Na prática, os conjuntos de etiquetas são definidos de acordo com os propósitosdos criadores [68]. Na Tabela 3.2, visualizamos os principais corpora e a quantidade deetiquetas existentes.

Corpus Língua EtiquetasSusanne Inglês 425Claws-7 Inglês 166Brown Inglês 77

Jornal Público Português 150Etiquetador Xerox Português 66

Radiobrás Português 34Palavra Português e Inglês 14

Tabela 3.2: Quantidade de etiquetas por corpora adaptado [68]

A etiquetagem automática emprega recursos computacionais para a classificaçãodas unidades do texto em diferentes níveis da análise linguística, por exemplo: morfossin-táticas (etiquetadores morfossintáticos), sintáticas (analisadores gramaticais), semânticas(analisador semântico ou interpretador), discursivas (analisador discursivo) [28]. Por serexecutada por computador, a etiquetagem automática permite o tratamento de grandesquantidades de textos rapidamente e estão separados em três tipos básicos [68]:

• Etiquetadores regidos por regras (rule-based taggers): a desambiguação é feita pormeio de aplicação de regras estruturais.

Page 42: SABENÇA - um arcabouço computacional baseado na ...repositorio.bc.ufg.br/tede/bitstream/tede/4712/5/Dissertação... · automáticas para a aprendizagem de ontologias a partir de

3.5 Relações e Hierarquia de conceitos 39

• Etiquetadores probabilísticos (probabilistic): a desambiguação é efetuada pela ob-servação das ocorrências de etiquetas em um corpus.• Etiquetadores híbridos (hybrid): utilizam uma combinação de regras e probabilida-

des para desambiguação.

Os etiquetadores regidos por regras, inicialmente, utilizavam regras codificadasmanualmente e, posteriormente, pela aplicação de abordagens semi-automatizadas. Osetiquetadores probabilísticos, utilizam métodos de etiquetagem estatísticos como Hidden

Markov Model (HMM), Árvore de Decisão, Maximum Entropy, Memory-based, entreoutros. A partir das abordagens anteriores, surge a híbrida que combina duas ou maistarefas de etiquetagem [28].

A hipótese de que a probabilidade de uma palavra depende apenas da palavraanterior é chamada de hipótese de Markov. Os bigramas, em que se analisa apenasa palavra anterior, são conhecidos como modelos de Markov de primeira ordem. Ostrigramas, em que são analisados as duas palavras anteriores, são chamados de modelosde Markov de segunda ordem, e assim sucessivamente [28].

3.5 Relações e Hierarquia de conceitos

O processo de construção de hierarquia pode ser realizado de várias maneiras,com o uso de relações predefinidas do conhecimento existente, utilizando modelosestatísticos, baseando-se na similaridade semântica entre conceitos, e utilizando regraslinguísticas ou lógicas ou padrões [108].

Apesar da variedade de relações que podem existir entre conceitos, na maioriados casos, ontologias são estruturadas como hierarquias de conceitos (taxonomias). Aseguir, descrevemos os tipos de relações extraídas no processo [7]:

• Relações hierárquicas: são extraídas do texto usando padrões léxico-sintáticos pré-definidos por Marti Hearst [48].• Relações de equivalência: pelo uso de padrões parentéticos podem ser extraídas

relações de equivalência entre dois termos, ou um termo e seu acrônimo.

Na construção de hierarquias conceituais, é mais frequente o uso de algoritmoscom abordagens não supervisionadas, tais como: redes neurais SOM (Self-Organizing

Map), regras de associação, k-Means, algoritmos de agrupamento conceitual e método deanálise formal de conceitos [7].

As relações são usadas para modelar as interações entre os conceitos de ontolo-gias. Existem dois tipos de relações: taxonômicas e não-taxonômicas [7].

Page 43: SABENÇA - um arcabouço computacional baseado na ...repositorio.bc.ufg.br/tede/bitstream/tede/4712/5/Dissertação... · automáticas para a aprendizagem de ontologias a partir de

3.5 Relações e Hierarquia de conceitos 40

3.5.1 Relações taxonômicas

A principal tarefa que envolve as relações taxonômicas é a construção dashierarquias. Isso exige a descoberta das relações is-a (ou seja, hiperonímia/hiponímia),equivalências, atributos gerais de termos (inclusive relações has-a (tem um) ou part-of

(parte de)), e outras relações gerais entre termos [108].Para a tarefa de identificação de relações taxonômicas são utilizados os termos

extraídos e avaliados. São utilizados diversos métodos para essa tarefa de identificação,tais como: identificação de relações taxonômicas com base em termos complexos eatravés de padrões (Hearst, Morin/Jacquenin, entre outros) [7].

Os termos complexos são definidos através da técnica de n-gramas que corres-ponde a uma sequência de n itens (termo e pontuação) contidos na frase e a sua classifi-cação é determinada de acordo com a quantidade de termos contidos [7]. O n-grama quecontêm somente um termo é chamado de unigrama, dois termos é chamado de bigrama,três termos é chamado de trigrama e a partir de quatro termos é chamado de n-grama[105]. Na Tabela 3.3, visualizamos um exemplo de n-gramas.

FraseDeus é brasileiro e não desisto nunca!unigrama#Deus #é #brasileiro #e #não #desisto #nunca #!bigrama#Deus é #é brasileiro #brasileiro e #e não #não desisto #desisto nunca #nunca !trigrama#Deus é brasileiro #é brasileiro e #brasileiro e não #e não desisto #não desisto nunca#desisto nunca!4-grama#Deus é brasileiro e #é brasileiro e não #brasileiro e não desisto #e não desisto nunca#não desisto nunca!

Tabela 3.3: Exemplo de implementação da técnica de n-grama

Marti Hearst [48], propôs o método de extração automática de relações léxico-sintáticas. O objetivo do método proposto é a extração de relações de hiponímia (relação“é-um”) dos textos [109]. Além disso, compara os resultados obtidos automaticamentecom os obtidos manualmente pela equipe de lexicógrafos da WordNet [7], sendo, inici-almente, propostos para textos escritos na língua inglesa [7, 109]. A seguir, veremos ospadrões propostos por Marti Hearst [48]:

(1) NP such as (NP,)*(and|or) NP

... authors such as Herrick, Goldsmith, and Shakespeare.

hyponym(“author”, “Herrick”)hyponym(“author”, “Goldsmith”)hyponym(“author”, “Shakespeare”)

Page 44: SABENÇA - um arcabouço computacional baseado na ...repositorio.bc.ufg.br/tede/bitstream/tede/4712/5/Dissertação... · automáticas para a aprendizagem de ontologias a partir de

3.5 Relações e Hierarquia de conceitos 41

(2) such NP as (NP,)*(or|and) NP

... works by such authors as Herrick, Goldsmith, and Shakespeare.

hyponym(“author”, “Herrick”),hyponym(“author”, “Goldsmith”),hyponym(“author”, “Shakespeare”)(3) NP , NP* , or other NPBruises, wounds, broken bones or other injuries ...

hyponym(“bruise”, “injury”),hyponym(“wound”, “injury”),hyponym(“bronken bone”, “injury”)(4) NP , NP* , and other NP... temples, treasuries, and other important civic building

hyponym(“temple”, “civic building”),hyponym“treasury′′,“civicbuilding′′

(5) NP , including NP,*or|and NPAll common-law countries, including Canada and England ...

hyponym(“Canada”, “common-law country”),hyponym(“England”, “common-law country”)(6) NP , especially NP,*or|and NP... most European countries, especially France, England, and Spain.

hyponym(“France”, “European country”),hyponym(“England”, “European country”),hyponym(“Spain”, “European country”)onde,

• NP = Noun Phrase - Sintagma Nominal• | = separador de alternativas (ou)• = agrupamento• () = agrupamento• * = zero ou mais ocorrências do elemento precedente

O método de Morin e Jacquemin [74] utiliza padrões léxico-sintáticos. Ospadrões foram propostos para textos escritos na língua francesa. A seguir, veremos ospadrões propostos:

(1) deux|trois...|2|3|4... NP1 (LIST2)(2) certain|quelque|de autre... NP1 (LIST2)(3) deux|trois...|2|3|4... NP1: LIST2(4) certain|quelque|de autre... NP1: LIST2(5) de autre? NP1 tel que LIST2

Page 45: SABENÇA - um arcabouço computacional baseado na ...repositorio.bc.ufg.br/tede/bitstream/tede/4712/5/Dissertação... · automáticas para a aprendizagem de ontologias a partir de

3.5 Relações e Hierarquia de conceitos 42

(6) NP1, particulièrement NP2(7) de autre? NP1 comme LIST2(8) NP1 tel LIST2(9) NP2 et|ou de autre NP1(10) NP1 et notamment NP2onde,

• NP = Noun Phrase (Sintagma Nominal)• LIST = lista de sintagmas nominais separados por vírgula (“,” )• | = separador de alternativas (ou)• = agrupamento• () = agrupamento• ? = zero ou uma ocorrência do elemento precedente

3.5.2 Relações não-taxonômicas

As relações não-taxonômicas são as interações entre os conceitos (por exemplo,meronímia, papéis temáticos, atributos, posse, e o nexo de causalidade) que não sejamhiperonímia. Neste aspecto, os verbos são bons indicadores de relações não-taxonômicas[108]. Eles são responsáveis por especificar a interação entre os participantes de uma açãoou evento, expressando a relação entre eles [35].

As relações não-taxonômicas não estão relacionadas com a hierarquia. Elascontribuem na estruturação de um domínio e na classificação de conceitos, diferentementedas relações taxonômicas [35].

A descoberta de relações não-taxonômicas entre conceitos de ontologias podeser dividida em duas atividades [35]:

1. Descobrir quais conceitos se relacionam e2. Nomear a relação.

As relações não-taxonômicas são classificadas, como [91]:

• As relações independentes de domínio - são subdivididas em: agregação e proprie-dade.

Na agregação, é representada a relação de “parte-todo”. Por exemplo, na frase“a roda do carro está fora de ordem” existe uma relação não-taxonômica deagregação entre “carro” e “roda”. A realização linguística do relacionamento deagregação ocorre em duas formas: a forma possessiva e o verbo "ter"em qualquerconjugação. No entanto, o inverso não é verdadeiro, isto é, a ocorrência de taisrealizações linguísticas não implica uma relação de agregação.

Page 46: SABENÇA - um arcabouço computacional baseado na ...repositorio.bc.ufg.br/tede/bitstream/tede/4712/5/Dissertação... · automáticas para a aprendizagem de ontologias a partir de

3.6 Validação de ontologias 43

Na propriedade, temos como exemplo: “pai e mãe irão aguardar a decisão doTribunal”. No caso, existe uma relação de propriedade entre “Tribunal” e “decisão”.• As relações de dependentes de domínio - são expressas por termos específicos de

uma área de interesse. Por exemplo, a frase “O Tribunal julgará a custódia em trêsdias...” contém a relação de “juiz” entre “Tribunal” e “custódia”, que é característicado campo jurídico.

3.6 Validação de ontologias

A validação é um aspecto importante na aprendizagem de ontologia [108].Entretanto, é um processo complexo e uma área em constante evolução [49].

A validação de ontologias, é agrupada em categorias, dependendo do tipo deontologia e a finalidade da avaliação [108]:

• Abordagem contextual: avalia a adequação das ontologias no contexto de outrasaplicações.• Abordagem de cobertura: utiliza fontes de dados, específicas de domínio, para

determinar o que estender nas ontologias.• Abordagem baseada em comparação: o modelo construído usa uma ontologia de

referência (gold standard) para comparação [73].• Abordagem avaliativa: contam com especialistas de domínio para avaliar quão

bem uma ontologia reúne um conjunto de critérios pré-definidos. Podendo, serdistinguida por camadas da ontologia (e.g. termo, conceito e relação).• Abordagem estrutural: analisam as ontologias enquanto grafos, geralmente de

forma mais quantitativa, sem necessariamente medir aspectos semânticos ou deconteúdo [73].• Abordagem funcional: têm como foco os aspectos semânticos, procuram avaliar o

modelo conceitual caracterizado pela ontologia.

Na validação dos resultados de uma ferramenta de aprendizagem de ontologias,são comumente utilizadas: avaliação manual por especialistas do domínio e comparaçãodos resultados com uma ontologia de referência [108].

Uma ontologia é uma estrutura bastante complexa e é frequentemente maisprático avaliar as diferentes camadas da ontologia separadamente, em vez de tentaravaliar diretamente a ontologia como um todo [10]. O objetivo de avaliar, as camadas daontologia, é determinar a relevância do termo para o domínio e se está conceitualmentecorreto [108].

Page 47: SABENÇA - um arcabouço computacional baseado na ...repositorio.bc.ufg.br/tede/bitstream/tede/4712/5/Dissertação... · automáticas para a aprendizagem de ontologias a partir de

3.7 Trabalhos Relacionados 44

A avaliação da qualidade de ontologias, proposta por Guarino e Welty [44], deno-minada metodologia OntoClean, utiliza critérios formais derivados de noções filosóficase permite a construção de ontologias mais adequadas ao domínio [99].

Não existe medida padrão para avaliar ontologias extraídas de texto [64]. Entre-tanto, são utilizadas algumas formas de referência léxica ou valores de referência [108].Comumente, utilizam-se medidas de precisão e abrangência para avaliar extração de ter-mos e relações taxonômicas [7, 52].

As medidas de precisão léxica e abrangência léxica refletem o quão boa é aextração de termos em relação ao domínio [108].

A medida de abrangência léxica (AL), avalia a quantidade de termos corretosextraídos pelo método [52]. Na equação 3-7, o número de termos corretos (Tcorretos)dividido pelo número dos termos relevantes (Trelevantes) [108].

AL =Tcorretos

Trelevantes(3-7)

A medida de precisão léxica (PL), indica a capacidade do método de identificaros termos corretos, considerando a lista de referência [52]. Na equação 3-8, o número determos corretos (Tcorretos) dividido pelo número de termos extraídos (Textrados) [108].

PL =Tcorretos

Textrados(3-8)

Alguns pesquisadores acrescentam a medida f (F-meansure) para expressar oequilíbrio entre os valores da precisão (P) e abrangência (A), conforme visualizamos naequação 3-9 [60].

P =2xPxAP+A

(3-9)

Outros tipos de métricas de avaliação são encontradas na literatura, tais como:Taxonomic Overlap, Lexical Overlap, Ontological Improvement, Ontological Loss, eCommon Semantic Cotopy [108].

3.7 Trabalhos Relacionados

Túlio Baségio [7] propôs, em sua dissertação de mestrado, uma abordagem deaprendizagem semi-automatizada de ontologias a partir de textos, mais especificamenteas fases de extração de conceitos e relações taxonômicas em língua portuguesa do Brasil.Para isso, desenvolveu um protótipo, em Java, que incorpora mecanismos de importaçãode corpus, identificação de termos relevantes, identificação de relações taxonômicas entreesses termos e geração da estrutura ontológica em OWL com o auxílio do framework Jena.

Page 48: SABENÇA - um arcabouço computacional baseado na ...repositorio.bc.ufg.br/tede/bitstream/tede/4712/5/Dissertação... · automáticas para a aprendizagem de ontologias a partir de

3.7 Trabalhos Relacionados 45

Na visualização, utilizou a ferramenta de edição de ontologias Protégé. No estudo de caso,realizou um estudo sobre o domínio Turismo. Por fim, realizou-se a validação manual,por um especialista, dos resultados de cada etapa (termos relevantes, termos compostos,relações baseadas no padrão Hearst e, Morin e Jacquemin), com medida de precisão. Naestruturação da ontologia, utilizou-se termos e relações taxonômicas avaliadas.

Luiz Carlos [52] propôs, em sua dissertação de mestrado, um plug-in, em Java,para auxiliar na aprendizagem semi-automatizada de ontologias a partir de textos emlíngua portuguesa do Brasil, integrada ao editor de ontologias Protégé. No estudo decaso, realizou um estudo sobre o domínio Ecologia, Nanotecnologia e Nanociência,e Pediatria. Por fim, realizou-se a validação manual, por um especialista, dos termosrelevantes, termos compostos, relações baseadas no padrão Hearst e, Morin e Jacquemin,com medidas de precisão, abrangência e medida f. Na estruturação da ontologia, utilizou-se termos e relações taxonômicas avaliadas.

Eduardo Motta [75] propôs, em sua dissertação de mestrado, um processode geração semi-automatizada de ontologias de domínio a partir de textos em línguaportuguesa. Para isso, desenvolveu um sistema, em Python, que incorpora mecanismosde delimitação de frases, tokenização, normalização, etiquetagem sintática, etiquetagemmorfológica, análise sintática, REM, identificação de sintagmas nominais e geração daestrutura ontológica em OWL. Contudo, foram utilizadas ferramentas (PALAVRAS,SENTER, Jambalaya, Pellet, LXSuite, NTLK e FEXTWS) que auxiliaram no processo.Na visualização, utilizou a ferramenta de edição de ontologias Protégé. No estudo de caso,realizou-se um estudo sobre o domínio História com ênfase na música popular brasileira.Por fim, realizou a validação manual, por um especialista, na extração de conceitos,relações e eventos, com medidas de precisão, abrangência e medida f. Na estruturaçãoda ontologia, utilizou-se termos, eventos e relações taxonômicas avaliadas.

Faruk Zahra [109] propôs, em sua dissertação de mestrado, uma aplicaçãoweb de extração semi-automática de estruturas ontológicas a partir de textos em línguaportuguesa. Para isso, desenvolveu um sistema, em JSF, que incorpora mecanismosde criação do corpus, extração de termos simples e compostos, seleção de sinônimos,seleção de termos, extração de termos e geração da estrutura ontológica em OWL e XLS.Contudo, foram utilizadas ferramentas (TreeTagger, Text-to-Onto, OpenThesaurusPT,Apache POI, PDFBox e Jena) que auxiliaram no processo. Para visualizar a ontologiautilizou a ferramenta de edição de ontologias Protégé. No estudo de caso, realizou umestudo de caso sobre o domínio Saúde com ênfase no câncer de mana. Por fim, realizou-se a validação manual, por especialistas, nos termos relevantes e termos compostos, commedida de precisão. Na estruturação da ontologia, utilizou-se termos simples e compostos.

Gabriel Gonçalves et. al. [40], propuseram uma aplicação de aprendizado deontologias a partir de texto, focando na identificação de conceitos e relações. Para isso,

Page 49: SABENÇA - um arcabouço computacional baseado na ...repositorio.bc.ufg.br/tede/bitstream/tede/4712/5/Dissertação... · automáticas para a aprendizagem de ontologias a partir de

3.8 Discussão 46

este trabalho investiga abordagens para o aprendizado de ontologias e apresenta umaproposta baseada em métricas de grafos para identificar conceitos, e análise dos conceitospara obter relações. Não foram descritos detalhes de ferramentas de auxílio no processo.Por fim, realizou-se um estudo de caso sobre o domínio Biologia.

Lucelene Lopes et. al. [59], propuseram uma aplicação para extração de termosrelevantes a partir de corpus em língua portuguesa. Para isso, desenvolveram uma fer-ramenta, em Java, que incorpora mecanismos de identificação de termos relevantes, eti-quetagem morfossintática, concordância, frequência de termos, marcações conceituais ehierarquia de conceitos. Contudo, foram utilizadas ferramentas (PALAVRAS, LX-center)que auxiliaram no processo. No estudo de caso, realizou-se um estudo sobre o domínioPediatria. Por fim, realizou-se a validação manual dos termos resultantes, com medidasde precisão e abrangência.

3.8 Discussão

Neste capítulo, fizemos um estudo sobre ontologias e abordamos a aprendizagemde ontologias a partir de documentos textuais, proposto por Philipp Cimiano [18].

Realizamos um estudo sobre o estado da arte das melhores práticas utilizadas emtrabalhos científicos, para aprendizagem de ontologias a partir de documentos textuais.

No Brasil, encontramos poucos grupos de pesquisas em aprendizagem de ontolo-gias a partir de textos. Em comparação com as pesquisas internacionais, na língua inglesa,verificamos que existem diversas proposta de ferramentas, metodologias, métodos e lin-guagens desenvolvidas para essa temática. Mas, como a aprendizagem de ontologias apartir de textos depende da língua, então, precisamos de maiores investimentos em pes-quisas científicas que contribuam com a aprendizagem de ontologias a partir de textos nalíngua portuguesa.

Consequentemente, existem poucas estruturas ontológicas de domínio – na lín-gua portuguesa – disponíveis e os trabalhos estão concentrados na elaboração de meto-dologias ou métodos e ferramentas de atuação específicas nas etapas da aprendizagem deontologias, e, todas são semi-automatizadas.

Em nossa proposta, procuramos analisar as melhores ferramentas desenvolvi-das para a aprendizagem de ontologias a partir de texto na língua portuguesa. Buscamosos detalhes do desenvolvimento das aplicações, os aplicativos integrados, as formas deavaliação e estruturação. A nossa proposta, permite que outros engenheiros de softwarepossam construir ferramentas que auxiliem os engenheiros de ontologia. A grande dife-rença da nossa proposta com os trabalhos relacionados é a possibilidade de extensão eexpansão do arcabouço computacional, algo não presente nos trabalhos relacionados ana-lisados. Com nosso estudos, percebemos que o editor de ontologias Protégé, a linguagem

Page 50: SABENÇA - um arcabouço computacional baseado na ...repositorio.bc.ufg.br/tede/bitstream/tede/4712/5/Dissertação... · automáticas para a aprendizagem de ontologias a partir de

3.8 Discussão 47

Java, a linguagem OWL, as medidas de avaliação (abrangência, precisão e medida f) sãocomumente utilizadas.

No próximo capítulo, discutiremos a proposta do arcabouço computacional paraa aprendizagem semi-automatizada de ontologias a partir de documentos textuais nalíngua portuguesa.

Page 51: SABENÇA - um arcabouço computacional baseado na ...repositorio.bc.ufg.br/tede/bitstream/tede/4712/5/Dissertação... · automáticas para a aprendizagem de ontologias a partir de

CAPÍTULO 4Sabença: um arcabouço computacional

O arcabouço computacional, denominado Sabença, tem como objetivo fornecerum mecanismo para os Engenheiros de Software desenvolverem aplicações computaci-onais que baseiam-se na aprendizagem de ontologias a partir de textos em português. Odesenvolvimento do arcabouço computacional, baseou-se nos fundamentos da Engenha-ria de Software [54] e com base nos conhecimentos adquiridos sobre aprendizagem deontologias a partir de textos, descritos no capítulo 3. Em seguida, realizamos a elicitaçãodos requisitos e a diagramação dos artefatos do projeto (design) em Unified Modeling

Language (UML). Por fim, realizamos a codificação e validação.

4.1 Definição

O arcabouço computacional é um conjunto de classes cooperantes que compõemum projeto de software reutilizável [38].

O arcabouço computacional, por ser um sistema incompleto, pode ser adaptadopara implementar aplicações completas em um determinado domínio, reduzindo o esforçona implementação de aplicativos [33].

Na estrutura do arcabouço computacional, podemos utilizar a orientação a obje-tos visando a reutilização dos artefatos do desenvolvimento de software [70]. Entretanto,um arcabouço computacional pode ser classificado como: aplicação orientada a objetos 1

e componentes 2 [3].Além disso, existem dois tipos de arcabouços computacionais [33]:

• Os frozen spots: são serviços disponíveis no arcabouço computacional que geral-mente realizam chamadas indiretas.• Os hot spots: são funcionalidades ou serviços, que devem ser implementados,

com base nas características das classes abstratas, pelos desenvolvedores, inserindocódigos referentes ao domínio da aplicação.

1definem uma solução inacabada que gera uma família de aplicações [3]2estabelece um contrato para plugar componente [3]

Page 52: SABENÇA - um arcabouço computacional baseado na ...repositorio.bc.ufg.br/tede/bitstream/tede/4712/5/Dissertação... · automáticas para a aprendizagem de ontologias a partir de

4.2 Análise do problema/domínio 49

A combinação dos padrões de projetos, bibliotecas de classes e componentes,aumenta a qualidade de software e reduz o esforço de desenvolvimento [33].

A qualidade de um arcabouço computacional, depende da arquitetura e suasinterfaces de comunicação que permitam suas funções básicas serem chamadas por outrasaplicações ou serem estendidas [54].

A evolução de um arcabouço computacional, pode ser feita gradualmente e/ouem partes, dependendo dos objetivos da organização e da intenção de uso dos compo-nentes. Um componente, implementado na arquitetura, representa uma funcionalidadeparticular do domínio [70].

Para Erich Larman et.al. [54], um arcabouço computacional deve atender aosseguintes princípios:

• Ter um conjunto coeso de interfaces e classes para fornecer serviços;• Conter classes concretas e abstratas, que definem interfaces a serem seguidas;• Permitir que o usuário personalize e estenda os serviços existentes;• Possuir classes abstratas com métodos concretos;• Depender do Princípio de Hollywood (“Não ligue, nós ligaremos para você”), ou

seja, as classes definidas pelo usuário recebem mensagens das classes predefinidasno arcabouço computacional.

Primando a qualidade do arcabouço computacional, neste trabalho, utilizaremosa combinação de componentes existentes, bem como, características hot spots e frozen

spots.Os processos de desenvolvimento, usualmente utilizados em arcabouço compu-

tacional, compreendem em: análise do problema/domínio, projeto, codificação e instanci-ação [70].

4.2 Análise do problema/domínio

A análise do problema é uma tarefa da engenharia de software que efetua aligação entre a alocação do software em nível de sistema e o projeto de software. Elapode ser dividida em cinco áreas de esforço: reconhecimento do problema, avaliação esíntese, modelagem, especificação e revisão [82].

4.2.1 Requisitos funcionais

Os requisitos funcionais, descrevem as funcionalidades do sistema. A partirdeles, identificamos as ações que serão executadas e, servem de subsídios para as regrasde negócio e casos de uso [8].

Page 53: SABENÇA - um arcabouço computacional baseado na ...repositorio.bc.ufg.br/tede/bitstream/tede/4712/5/Dissertação... · automáticas para a aprendizagem de ontologias a partir de

4.2 Análise do problema/domínio 50

Na etapa de elicitação dos requisitos funcionais, analisamos os fundamentos daaprendizagem de ontologias a partir de texto e arcabouços computacionais. Em seguida,documentamos os requisitos funcionais necessários para realizar a aprendizagem deontologias a partir de textos, que são:

• RF 01: O sistema deve importar documentos textuais;• RF 02: O sistema deve converter os documentos textuais para um formato padrão;• RF 03: O sistema deve extrair termos;• RF 04: O sistema deve identificar os conceitos;• RF 05: O sistema deve etiquetar os termos;• RF 06: O sistema deve hierarquizar os conceitos;• RF 07: O sistema deve montar a estrutura ontológica;• RF 08: O sistema deve exportar as estruturas ontológicas;• RF 09: O sistema deverá visualizar estruturas ontológicas;• RF 10: O sistema deverá parametrizar as funções básicas;• RF 11: O sistema deve calcular a frequência do termo;• RF 12: O sistema deve identificar tipos de documentos textuais;• RF 13: O sistema deverá mapear diretórios compartilhados;• RF 14: O sistema deve persistir em documento texto;• RF 15: O sistema deve eliminar termos não relevantes;• RF 16: O sistema deve manter lista de parada.

4.2.2 Requisitos não funcionais

Os requisitos não funcionais definem parâmetros de qualidade, restrições, fina-lidade do produto, questões de usabilidade, características relacionadas ao desempenho,manutenção e qualidade do sistema [8].

Em nossa proposta, documentamos os seguintes requisitos não funcionais:

• RNF 01: O sistema deverá ser desenvolvido na linguagem Java;• RNF 02: O sistema deverá interagir com outra aplicação;• RNF 03: O sistema deverá rodar em qualquer plataforma computacional;• RNF 04: O sistema deverá reconhecer os padrões de documentos textuais, exemplo

PDF, DOC, DOCx, entre outros;• RNF 05: O sistema deverá processar documentos no padrão de codificação ISO-

8859-1;• RNF 06: O sistema deverá utilizar programação orientada a objetos;• RNF 07: O sistema deverá utilizar arquitetura baseada em padrões de projetos;• RNF 08: O sistema deverá utilizar a UML como padrão da documentação;• RNF 09: O sistema deverá permitir inclusão de novos componentes.

Page 54: SABENÇA - um arcabouço computacional baseado na ...repositorio.bc.ufg.br/tede/bitstream/tede/4712/5/Dissertação... · automáticas para a aprendizagem de ontologias a partir de

4.3 Modelagem do Projeto 51

4.2.3 Modelo de caso de uso

O modelo de caso de uso é o conjunto de todos os casos de uso e serve como ummodelo da funcionalidade e do ambiente do sistema. Para documentar os casos de usos,utilizamos o diagrama da UML que fornece a notação para ilustrar os nomes dos casos deuso e de atores, bem como os relacionamentos entre eles [54].

Durante a etapa de análise do problema, definimos dois atores (arcabouço eaplicação externa) e 09 casos de uso, conforme ilustra a Figura 4.1.

Figura 4.1: Ilustra o diagrama de casos de uso elaborado na fer-ramenta Jude Community

A matriz de rastreabilidade auxilia no mapeamento das relações entre os artefatosde software [54]. E, na Tabela 4.1, descrevemos a relação entre os casos de usos e osrequisitos funcionais.

4.3 Modelagem do Projeto

A modelagem do projeto é a fase mais importante durante o desenvolvimentode sistemas computacionais [93]. Nesta seção, detalharemos as etapas de projeto e daarquitetura.

Page 55: SABENÇA - um arcabouço computacional baseado na ...repositorio.bc.ufg.br/tede/bitstream/tede/4712/5/Dissertação... · automáticas para a aprendizagem de ontologias a partir de

4.3 Modelagem do Projeto 52

Caso de uso Requisito funcionalUC 01: Manter Fachada RF 01, RF 10, RF 12 e RF 13UC 02: Converter Documentos RF 02, RF 12 e UC 03UC 03: Persistir Documentos RF 14UC 04: Extrair Termos RF 05, RF 15, RF 16, UC 03 e RF 11UC 05: Identificar Conceitos RF 04 e UC 03UC 06: Hierarquizar Conceitos RF 06 e UC 03UC 07: Estruturar Ontologias RF 07 e UC 03UC 08: Exportar Ontologias RF 08 e UC 03UC 09: Visualizar Ontologias RF 09

Tabela 4.1: Matriz de rastreabilidade entre os casos de uso e os re-quisitos funcionais. Na primeira coluna, visualizamosa lista de caso de uso e na segunda coluna, visualiza-mos os requisitos funcionais e o caso de uso UC 03 éreaproveitado para outros casos de uso.

Inicialmente, definimos a visão geral do arcabouço com suas interações (internase externas), conforme ilustra a Figura 4.2. Em seguida, definimos a arquitetura doarcabouço computacional com base nos requisitos funcionais e não funcionais, bem comoa modelagem dos módulos. Para isso, utilizamos os diagramas de classes e sequência daUML.

Figura 4.2: Ilustra uma visão abstrata do arcabouço computacio-nal, que tem como entrada documentos textuais e exe-cuta as tarefas necessárias para aprendizagem de on-tologias a partir de textos, tendo como saída um docu-mento textual, codificado em OWL. Para visualizar aestrutura ontológica, utiliza-se a ferramenta Protégé

Page 56: SABENÇA - um arcabouço computacional baseado na ...repositorio.bc.ufg.br/tede/bitstream/tede/4712/5/Dissertação... · automáticas para a aprendizagem de ontologias a partir de

4.3 Modelagem do Projeto 53

4.3.1 Arquitetura

Por se tratar de um arcabouço computacional, a arquitetura é modular, conformeilustra a Figura 4.3. Cada módulo têm funcionalidades distintas e podem ser classificadoscomo hot spots ou frozen spots.

Figura 4.3: Ilustra a arquitetura em módulos de domínio. Cadamódulo tem sua função baseada nas etapas da apren-dizagem de ontologias a partir de textos. Nesta fi-gura, não é possível visualizar a comunicação entre osmódulos e será necessária a utilização de diagramascomplementares da UML.

Na arquitetura, definimos os módulos construtor, analisador, conversor, etiqueta-dor, pesador, extrator e exportador. A seguir, descrevemos em detalhes sobre os módulosdo arcabouço computacional.

Módulo construtor

O módulo construtor tem a função de fachada do arcabouço computacional erealiza as seguintes funções:

• Controlar o fluxo de comunicação entre os módulos;• Receber as chamadas das aplicações externas;• Controlar o mapeamento dos diretórios utilizados;• Controlar as parametrizações e personalizações;• Controlar a importação de todos os documentos.

Módulo analisador

O módulo analisador realiza o pré-processamento dos tipos de documentostextuais não estruturados. Para isso, temos as seguintes funções:

Page 57: SABENÇA - um arcabouço computacional baseado na ...repositorio.bc.ufg.br/tede/bitstream/tede/4712/5/Dissertação... · automáticas para a aprendizagem de ontologias a partir de

4.3 Modelagem do Projeto 54

• Listar todos os documentos existentes no diretório compartilhado;• Selecionar e encaminhar os documentos para a conversão textual de acordo com o

tipo de arquivo;• Identificar os documentos que estão protegidos por senha.

Módulo conversor

O módulo conversor realiza a conversão textual dos documentos para docu-mento textual puro (.txt) na codificação ASCII 3. Esta padronização, requer a identi-ficação de estruturas textuais sem a formatação. Com isso, a remoção da formataçãodo texto pode causar uma perda de informação valiosa, uma vez que, as formatações,na sua maioria, contêm estruturas que podem indicar relações entre os termos [7]. Porfim, é gerado um arquivo convertido para cada documento com a nomenclatura “docu-mento<TIPO>_<ID>.txt”, onde, o <TIPO> é a extensão do arquivo e o <ID> é a ordemna fila, e armazenados no diretório padrão.

Módulo etiquetador

O módulo etiquetador realiza a etiquetagem morfossintática 4. A etiquetagemmorfossintática requer a marcação dos termos com anotações e depende do idioma. Paraisso, utilizamos os modelos disponíveis no site do OpenNLP [77], conforme descritona Tabela 4.2, para a língua portuguesa e geramos um arquivo etiquetado para cadadocumento com a nomenclatura “etiquetado<TIPO>_<ID>.txt”, onde, o <TIPO> é aextensão do arquivo e o <ID> é a ordem na fila.

A próxima etapa será a criação da lista de termos menos relevantes. Para isso, uti-lizamos o recurso de listas de stopwords que contêm as palavras com significados semân-ticos irrelevantes para o domínio, tais como: artigos, pronomes, preposição, conjunções,numerais, advérbios, caracteres não alfabéticos (números e símbolos) e os termos indefini-dos [60] e geramos um único arquivo de stopwords com a nomenclatura “stopWords.txt”.

Módulo pesador

O módulo pesador realiza a pesagem dos termos selecionados. Para isso, utiliza ométodo Term Frequency–inverse document frequency (TF-idf), que se baseia na frequên-

3do inglês American Standard Code for Information Interchange; código padrão americano para ointercâmbio de informação.

4A etiquetagem morfossintática é uma tarefa da PLN (Programação de Linguagem Natural) que rotulapalavras, expressões e sinais de pontuação de uma sentença como substantivos, adjetivos, verbos, advérbios,entre outros [28].

Page 58: SABENÇA - um arcabouço computacional baseado na ...repositorio.bc.ufg.br/tede/bitstream/tede/4712/5/Dissertação... · automáticas para a aprendizagem de ontologias a partir de

4.3 Modelagem do Projeto 55

Significado Etiquetaartigo artsubstantivo nadjetivo adjnome próprio propverbo finito v-finpreposição prppontuação puncnumeral numadvérbio advverbo no particípio v-pcppronome independente pron-indpverbo no infinitivo v-infconjunção coordenativa conj-cpronome pessoal pron-persconjunção subordinativa conj-spronome possessivo ppverbo no gerúndio v-gerinterjeição inelemento composto ecindefinido ?

Tabela 4.2: Lista as categorias gramaticais utilizadas no módulode etiquetagem, baseado nos modelos em língua por-tuguesa, disponíveis no Apache OpenNLP[77].

cia do termo absoluto de cada termo [86], sendo utilizado o lema para evitar a repetiçãode termos. Por fim, é gerado um único arquivo com a nomenclatura “termosPesagem.txt”.

Módulo extrator

O módulo extrator realiza a extração de relações taxonômicas. Na extração derelações taxonômicas, utilizamos o método de Hearst [48] e os termos complexos.

O método Hearst, a priori, está preparado para utilização na língua inglesa eé necessária a adaptação para a língua portuguesa. Para isso, escolhemos a adaptaçãoproposta por Baségio [7]. Na Tabela 4.3, veremos a adaptação proposta do método Hearst.

Após a aplicação dos métodos de Hearst, encontramos as relações de hiperonímiae hiponímia entre os termos. Por fim, geramos um único arquivo com a nomenclatura“padraoHearst.txt”, contendo as relações encontradas.

Os termos complexos são encontrados a partir da geração dos n-gramas. Durantenossos estudos, não encontramos trabalhos científicos que utilizassem n-gramas de 5níveis, sendo assim, entendemos que n-gramas de 4 níveis são suficientes para encontrartermos complexos que agreguem valor na aprendizagem de ontologias a partir de textos.

Page 59: SABENÇA - um arcabouço computacional baseado na ...repositorio.bc.ufg.br/tede/bitstream/tede/4712/5/Dissertação... · automáticas para a aprendizagem de ontologias a partir de

4.3 Modelagem do Projeto 56

Original Adaptação1 NP such as (NP,)*(or|and) NP SUB como (SUB,)*(ou|e) SUB

SUB tal(is) como (SUB,)*(ou|e) SUB2 such NP as (NP,)*(or|and) NP tal(is) SUB como (SUB,)*(ou|e) SUB3 NP , NP * , or other NP SUB , SUB * , ou outro(s) SUB4 NP , NP * , and other NP SUB , SUB * , e outro(s) SUB5 NP , including NP, * or|and NP SUB, incluindo SUB, * ou|e SUB6 NP , especially NP, * or|and NP SUB , especialmente SUB, * ou|e SUB

SUB , principalmente SUB, * ou|e SUBSUB , particularmente SUB, * ou|e SUBSUB , em especial SUB, * ou|e SUBSUB , em particular SUB, * ou|e SUBSUB , de maneira especial SUB, * ou|e SUBSUB , sobretudo SUB, * ou|e SUB

Tabela 4.3: Adaptação do método Hearst proposto por Baségio [7]

Para isso, geramos um único arquivo com o padrão de nomenclatura “ngrama.txt”,contendo os 4-gramas encontrados.

Após a geração dos n-gramas, são encontrados os termos complexos, conformeas regras definidas na Tabela 4.4. Por fim, geramos um único arquivo com a nomenclatura“termoComposto.txt”, contendo os termos compostos encontrados.

Regras1 _SUB _ADJ _PRP _SUB _ADJ2 _SUB _ADJ _PRP _SUB3 _SUB _PRP _SUB _ADJ4 _SUB _PRP _SUB5 _SUB _ADJ

Tabela 4.4: Regras para encontrar os termos complexos adaptadode [7], onde _SUB = substantivo; _ADJ = adjetivo e_PRP = preposição

Para encontrar as relações taxonômicas, utilizamos os termos relevantes, ostermos compostos e as relações do método Hearst em uma única estrutura taxonômica.Por fim, é gerado um único arquivo com a nomenclatura “arquivo.xml”.

Módulo exportador

O módulo exportador realiza a construção das estruturas ontológicas na lingua-gem OWL. Para isso, são utilizadas as relações taxonômicas geradas no módulo anteriore é gerada uma estrutura ontológica contendo os termos simples, os termos compostos eas relações baseadas no padrão Hearst. Por fim, são gerados dois arquivos com a nomen-clatura “ontologia.owl” e “ontologia.rdf”.

Page 60: SABENÇA - um arcabouço computacional baseado na ...repositorio.bc.ufg.br/tede/bitstream/tede/4712/5/Dissertação... · automáticas para a aprendizagem de ontologias a partir de

4.3 Modelagem do Projeto 57

4.3.2 Diagramas de classes e sequência

O diagrama de sequência tem a finalidade de representar os comportamentos, asequência de interações entre os objetos e determinar o fluxo de execução do sistema [54].

Na elaboração do diagrama de sequência, identificamos os fluxos de atividadesprincipais. Na Figura 4.4, visualizamos a sequência de processos necessários para realizara aprendizagem de ontologias a partir de textos, padrão do arcabouço computacional.

Figura 4.4: Realiza o cenário padrão

O diagrama de classe tem a finalidade de representar as estruturas e relações entreclasses. Na Figura 4.5, ilustramos as classes que compõem o arcabouço computacional eos atributos e métodos das principais classes.

Page 61: SABENÇA - um arcabouço computacional baseado na ...repositorio.bc.ufg.br/tede/bitstream/tede/4712/5/Dissertação... · automáticas para a aprendizagem de ontologias a partir de

4.3M

odelagemdo

Projeto58

Figura 4.5: Diagrama de classes do arcabouço computacional

Page 62: SABENÇA - um arcabouço computacional baseado na ...repositorio.bc.ufg.br/tede/bitstream/tede/4712/5/Dissertação... · automáticas para a aprendizagem de ontologias a partir de

4.4 Codificação do arcabouço computacional 59

4.4 Codificação do arcabouço computacional

Esta seção, destina-se a descrever as principais tarefas realizadas no desenvol-vimento do arcabouço computacional. Na implementação, baseamos na análise e projetorealizados nas seções anteriores, bem como, nos conceitos descritos nos Capítulos 2 e 3.As principais classes e métodos são exemplificados. São descritas, também, as ferramen-tas e tecnologias utilizadas. Por fim, são exibidos exemplos de utilização.

Para desenvolver o arcabouço computacional, utilizamos: computador Intel CoreI3 2.4GHz, 4GB de RAM com sistema operacinal Microsoft Windows 7 SP1 64bits,ambiente de desenvolvimento Eclipse Kepler [53] e a máquina virtual Java 1.7. A versão1.0 do arcabouço computacional, integra os componentes: Apache POI 3.10, IText 5.5.2,OpenNLP 1.5.3 e seus modelos, JDom 2.0.5, PTStemmer 2.0, Apache JENA 2.12. Sendo,todos de distribuição livre.

Na implementação, dividimos em partes, de acordo com os módulos projetados,conforme a Figura 4.6.

Figura 4.6: Ilustra a organização dos pacotes (módulos) imple-mentados na ferramenta Eclipse Kepler do arcabouçocomputacional. Além dos módulos descritos no pro-jeto, também aparece os sub-pacotes dentro do etique-tador referentes aos modelos do OpenNLP e um pacoteutil para classes comuns aos outros módulos.

Page 63: SABENÇA - um arcabouço computacional baseado na ...repositorio.bc.ufg.br/tede/bitstream/tede/4712/5/Dissertação... · automáticas para a aprendizagem de ontologias a partir de

4.4 Codificação do arcabouço computacional 60

4.4.1 Módulo construtor

As classes presentes no pacote br.ufg.inf.sabenca.construtor são responsáveispor representar a fachada do arcabouço. Para isso, implementamos o padrão Façade [38].A principal classe responsável por realizar essa função de fachada é a SabencaFacade.

Código 4.1 Ilustra o código fonte da classe SabencaFacade1 package br.ufg.inf.sabenca.construtor;

2 import br.ufg.inf.sabenca.*;

3

4 public class SabencaFacade extends AbstractPropriedades {

5 public void sabencaFacade(String propriedades) throws Exception {

6 setCaminhoPropriedades(propriedades);

7 }

8

9 public boolean doOntologia() throws Exception {

10 }

11 }

Como visto no Código 4.1, a classe SabencaFacade herda da classe abstrataAbstractPropriedades e, através do método sabencaFacade(String propriedades) recebeo arquivo de propriedades com as parametrizações necessárias para o funcionamentodo arcabouço computacional. Na Figura 4.13, visualizamos o conteúdo do arquivo depropriedades padrão.

A classe SabencaFacade tem o método doOntologia que realiza a comunicaçãocom os outros módulos para construção da ontologia. Na Figura 4.7, visualizamos a classeSabencaFacade e seus métodos.

Figura 4.7: Ilustra a classe AbstractSabenca.

A classe Importador realiza a importação dos documentos entre o diretórioorigem e o diretório compartilhado, conforme no Código 4.2.

Page 64: SABENÇA - um arcabouço computacional baseado na ...repositorio.bc.ufg.br/tede/bitstream/tede/4712/5/Dissertação... · automáticas para a aprendizagem de ontologias a partir de

4.4 Codificação do arcabouço computacional 61

Código 4.2 Ilustra o código fonte da classe Importador1 public class Importador extends AbstractPropriedades {

2 public void importar() throws IOException {

3 System.out.println("Inicio Importação");

4

5 File diretorioOrigem = new File(getProp().getProperty(

6 "prop.diretorio.origem"));

7 File diretorioCompartilhado = new File(getProp().getProperty(

8 "prop.diretorio.compartilhado"));

9

10 if (!existeDiretorio(diretorioCompartilhado)) {

11 criaDiretorio(diretorioCompartilhado.getAbsolutePath());

12 } else {

13 System.out.println(deletaDiretorio(diretorioCompartilhado

14 .getAbsolutePath()));

15 criaDiretorio(diretorioCompartilhado.getAbsolutePath());

16 }

17

18 if (existeDiretorio(diretorioOrigem)) {

19 copiarArquivosDePara(diretorioOrigem, diretorioCompartilhado, true);

20 } else {

21 System.out.println("Diretório Origem não encontrado! "

22 + diretorioOrigem);

23 }

24

25 System.out.println("Fim Importação");

26 }

27 }

4.4.2 Módulo analisador

No módulo analisador, implementamos o padrão de projeto Abstract Fac-

tory[38], como pode ser visualizado na Figura 4.8.A função principal do módulo analisador é identificar os tipos de arquivos

e encaminhar para a classe correspondente ao tipo no módulo conversor. A classeabstrata AbstractTipo é a classe principal do módulo analisador, sendo a única classeque o módulo construtor tem acesso. Também estão presentes no módulo analisador asclasses correspondentes aos tipos de documentos aceitos, tais como: TipoDoc, TipoDocx

e TipoPDF.

4.4.3 Módulo conversor

O módulo conversor tem a função de transformar o conteúdo dos documentosem texto puro. Para isso, utilizamos componentes de terceiros que realizam esse tipo deconversão. Para converter os documentos de tipo .doc e .docx, utilizamos o Apache POI,como podemos visualizar no Código 4.3, e, para converter os documentos de tipo .pdf,utilizamos o IText, como podemos visualizar no Código 4.4.

Page 65: SABENÇA - um arcabouço computacional baseado na ...repositorio.bc.ufg.br/tede/bitstream/tede/4712/5/Dissertação... · automáticas para a aprendizagem de ontologias a partir de

4.4 Codificação do arcabouço computacional 62

Figura 4.8: Ilustra as classes dos módulos analisador e conversor

Código 4.3 Ilustra o código do Apache POI implementado no arcabouçocomputacional1 public class Importador extends AbstractPropriedades {

2 public void importar() throws IOException {

3 System.out.println("Inicio Importação");

4

5 File diretorioOrigem = new File(getProp().getProperty(

6 "prop.diretorio.origem"));

7 File diretorioCompartilhado = new File(getProp().getProperty(

8 "prop.diretorio.compartilhado"));

9

10 if (!existeDiretorio(diretorioCompartilhado)) {

11 criaDiretorio(diretorioCompartilhado.getAbsolutePath());

12 } else {

13 System.out.println(deletaDiretorio(diretorioCompartilhado

14 .getAbsolutePath()));

15 criaDiretorio(diretorioCompartilhado.getAbsolutePath());

16 }

17

18 if (existeDiretorio(diretorioOrigem)) {

19 copiarArquivosDePara(diretorioOrigem, diretorioCompartilhado, true);

20 } else {

21 System.out.println("Diretório Origem não encontrado! "

22 + diretorioOrigem);

23 }

24

25 System.out.println("Fim Importação");

26 }

27 }

Page 66: SABENÇA - um arcabouço computacional baseado na ...repositorio.bc.ufg.br/tede/bitstream/tede/4712/5/Dissertação... · automáticas para a aprendizagem de ontologias a partir de

4.4 Codificação do arcabouço computacional 63

Código 4.4 Ilustra o código do IText implementado no arcabouçocomputacional1 public class Importador extends AbstractPropriedades {

2 public void importar() throws IOException {

3 System.out.println("Inicio Importação");

4

5 File diretorioOrigem = new File(getProp().getProperty(

6 "prop.diretorio.origem"));

7 File diretorioCompartilhado = new File(getProp().getProperty(

8 "prop.diretorio.compartilhado"));

9

10 if (!existeDiretorio(diretorioCompartilhado)) {

11 criaDiretorio(diretorioCompartilhado.getAbsolutePath());

12 } else {

13 System.out.println(deletaDiretorio(diretorioCompartilhado

14 .getAbsolutePath()));

15 criaDiretorio(diretorioCompartilhado.getAbsolutePath());

16 }

17

18 if (existeDiretorio(diretorioOrigem)) {

19 copiarArquivosDePara(diretorioOrigem, diretorioCompartilhado, true);

20 } else {

21 System.out.println("Diretório Origem não encontrado! "

22 + diretorioOrigem);

23 }

24

25 System.out.println("Fim Importação");

26 }

27 }

A interface IConversor é a principal classe do módulo conversor que contém ométodo converter(int i, File documento) que é executado pelo módulo analisador.

4.4.4 Módulo etiquetador

O módulo etiquetador tem a função de marcar as palavras com seus sintagmasgramaticais (adjetivo, substantivo e etc.). Para isso, utilizamos as técnicas de PLN. O PLNé fundamental para o sucesso no aprendizado de ontologias a partir de textos [18].

Encontramos algumas ferramentas (TreeTagger, NLTK, Gate, Apache Lucene,OpenNLP e TT4J) de uso livre que implementam as técnicas do PLN. Efetuamosalguns testes de implementação e verificamos os resultados com documentos na línguaportuguesa. Por fim, escolhemos o Apache OpenNLP que melhor se adequou ao propósitodeste trabalho.

A principal classe deste módulo é a AbstractEtiquetador que determina o con-trato para as outras classes realizarem a etiquetagem. Na Figura 4.9, visualizamos osmétodos desta classe.

O Apache OpenNLP utiliza modelos para suportar a multilinguagem. Para alíngua portuguesa, temos os modelos de Tokenizer, Sentence Detector e POS Tagger. Os

Page 67: SABENÇA - um arcabouço computacional baseado na ...repositorio.bc.ufg.br/tede/bitstream/tede/4712/5/Dissertação... · automáticas para a aprendizagem de ontologias a partir de

4.4 Codificação do arcabouço computacional 64

Figura 4.9: Ilustra o código do IText implementado no arcabouçocomputacional

modelos Chunker, Name Finder não estão disponíveis na língua portuguesa. Então, paratermos todas as funcionalidades do OpenNLP na língua portuguesa, tivemos que geraros modelos que faltavam. Para isso, seguimos as orientações no site do OpenNLP [77] etreinamos os modelos “pt-chunker.bin” e “pt-ner-person.bin”.

Durante a etiquetagem, realizamos a criação automática do arquivo de StopWords

de acordo com as regras descritas no capítulo 3.

4.4.5 Módulo pesador

O módulo pesador tem a função de encontrar os termos mais relevantes. Paraisso, utilizamos o método estatístico TF-idf, descrito na seção 3.2.2.

A classe AbstractPesador determina quais métodos devem ser utilizados, imple-mentados e sobrecarregados, sendo assim, a classe que determina o “contrato”. Na Figura4.10, visualizamos a classe em detalhes. O método calcularPesadorTermos(), da classeAbstractPesador, tem a função de realizar o cálculo estatístico TF-idf.

A classe FrequenciaTFIDF, implementa o método TF-idf e herda os métodos daclasse AbstractPesador.

4.4.6 Módulo extrator

No módulo extrator, realizamos a extração das relações taxonômicas a partir dosartefatos gerados nos módulos anteriores. Para isso, será necessária a geração dos termosrelevantes, dos termos compostos e das relações do Padrão Hearst.

Page 68: SABENÇA - um arcabouço computacional baseado na ...repositorio.bc.ufg.br/tede/bitstream/tede/4712/5/Dissertação... · automáticas para a aprendizagem de ontologias a partir de

4.4 Codificação do arcabouço computacional 65

Figura 4.10: Ilustra o pacote pesador com as classes AbstractPe-sador e FrequenciaTFIDF.

Os termos compostos são gerados a partir da classe TermoComposto e as relaçõesdo padrão Hearst são geradas a partir da classe PadraoHearst, com base na regrasdescritas na seção 3.5.1. Na Figura 4.11, visualizamos em detalhes as classes pertencentesao módulo extrator.

Figura 4.11: Ilustra o pacote extrator com as classes TermoCom-posto, PadraoHearst e RelacoesTaxonomicas.

4.4.7 Módulo exportador

O módulo exportador tem a função de gerar a estrutura ontológica para ser visua-lizada na ferramenta Protegé. A classe ExportadorJena converte as relações taxonômicasgeradas no módulo anterior e tem como saída os arquivos na extensão .owl e .rdf. Paraisso, utilizamos o componente Apache Jena que está implementado na classe Exportador-

Jena. Na Figura 4.12, visualizamos as classes pertencentes ao módulo exportador.

Page 69: SABENÇA - um arcabouço computacional baseado na ...repositorio.bc.ufg.br/tede/bitstream/tede/4712/5/Dissertação... · automáticas para a aprendizagem de ontologias a partir de

4.5 Exemplo de utilização do Sabença 66

Figura 4.12: Ilustra o pacote exportador com as classes Exporta-dorJena.

4.4.8 Injeção de dependência

A injeção de dependência, é um padrão de projeto, que permite executar umaclasse dentro de outra classe. Basicamente, a injeção de dependência pode ser implemen-tada de três formas [81]:

• Construtor: as dependências do objeto são injetadas diretamente em seu construtor.• Propriedade: dependências do objeto são injetadas via setter em propriedades.• Interface: o objeto a ser injetado oferece uma abstração de seus serviços.

O Sabença, utiliza a injeção de dependência para manter o acoplamento baixo ea coesão alta, entre as classes e componentes, e permitir a extensão dos módulos de formaflexível [54, 81]. Com isso, facilitamos a substituição de recursos existentes.

4.5 Exemplo de utilização do Sabença

Para utilizar o arcabouço computacional, primeiramente teremos que verificaras configurações necessárias para o seu funcionamento. Por padrão, utilizamos o arquivo“sabenca.propriedades”, localizado no módulo construtor, que contêm as propriedades,conforme visualizamos na Figura 4.13.

Na instanciação do arcabouço computacional, poderemos passar como parâme-tro o endereço do arquivo de propriedades customizado, desde que, não sejam alteradosos nomes das propriedades.

A seguir, veremos os detalhes da customização do arquivo de propriedades.

4.5.1 Configuração do arquivo de propriedades

O arcabouço computacional é dependente do arquivo de propriedades “sa-benca.properties”. Podemos reconfigurar o arquivo de configurações para substituir al-

Page 70: SABENÇA - um arcabouço computacional baseado na ...repositorio.bc.ufg.br/tede/bitstream/tede/4712/5/Dissertação... · automáticas para a aprendizagem de ontologias a partir de

4.5 Exemplo de utilização do Sabença 67

Figura 4.13: Ilustra as propriedades do arquivo sa-benca.propriedades.

guns componentes existentes.Cada módulo, produz um resultado de saída com layouts exclusivo, documen-

tados no Apêndice C, que não poderá ser alterado. A alteração do layout dos artefatosproduzidos impactará negativamente no funcionamento do arcabouço computacional. NaTabela 4.5, descrevemos todas as propriedades que poderão ser alteradas pelo desenvol-vedor e na Tabela 4.6, descrevemos as propriedades que são fixas, ou seja, não poderãoser alteradas.

Propriedade Descriçãoprop.diretorio.compartilhado representa o diretório que receberá todos os arquivos

gerados e importados pelo arcabouço computacional.prop.diretorio.origem representa o diretório de origem dos arquivos que

serão a base do corpus.prop.convertido.nome prefixo do nome do arquivo que passou pelo conver-

sor.prop.stopwords.nome nome do arquivo de saída de stopwords.prop.etiquetado.nome prefixo dos arquivos etiquetados.prop.etiquetador.padrao classe responsável pela etiquetagem.prop.etiquetador.caminho.modelo local dos modelos utilizados para etiquetagem.prop.etiquetador.ngrama tamanho do método n-grama.prop.pesador.tipo classe responsável pela pesagem do método TF-IDF.prop.pesador.MIN mínimo na pesagem do método TF-IDF.prop.pesagem nome do arquivo de saída da pesagem.prop.exportador.padrao classe responsável pela exportação dos relacionamen-

tos para a OWL.

Tabela 4.5: Descreve as propriedades que podem ser alteradas

As propriedades que não poderão ser alteradas, são:

Page 71: SABENÇA - um arcabouço computacional baseado na ...repositorio.bc.ufg.br/tede/bitstream/tede/4712/5/Dissertação... · automáticas para a aprendizagem de ontologias a partir de

4.5 Exemplo de utilização do Sabença 68

Propriedade Descriçãoprop.linguagem idioma reconhecido pelo arcabouço computacional.prop.importador classe responsável pela importação dos arquivos do corpus.prop.extrator classes participantes da formação das relações taxonômicas.prop.extrator.formatoXML padrão de codificação dos artefatos XML e OWL.prop.extensao.padrao.saida extensão padrão de saída dos artefatos de cada módulo.prop.conversor.doc classe responsável pela conversão dos arquivos do tipo Doc.prop.conversor.pdf classe responsável pela conversão dos arquivos do tipo PDF.prop.conversor.docx classe responsável pela conversão dos arquivos do tipo Docx.

Tabela 4.6: Descreve as propriedades que não podem ser alteradas

4.5.2 Exemplo de customização

Para exemplificar a utilização do arcabouço computacional Sabença, iremoscustomizar o módulo Exportador para verificar como efetuar a substituição da classeExportadorJena existente.

Primeiramente, criamos um projeto Java na IDE Eclipse denominado “OntoA-gri”. Posteriormente, adicionamos duas classes “OntoAgriTela” e “NovoExportador”. Porfim, referenciamos no projeto o arcabouço “sabenca.jar”.

No caso, do módulo Exportador, conforme diagrama de classe 4.5, as classesdevem herdar da classe “AbstractExportador” e implementar o método “geraOWLRDF”.Vejamos no Código 4.5 a inclusão da herança na classe NovoExportador e a implementa-ção do método “geraOWLRDF”.

Código 4.5 Ilustra a classe NovoExportador implementada1 import br.ufg.inf.sabenca.exportador.*;

2

3 public class NovoExportador extends AbstractExportador {

4

5 @Override

6 public void gerarOWLeRDF() throws Exception {

7 System.out.println("Busca C:/temp/importados/arquivo.xml");

8 System.out.println("Escreve a ontologia");

9 }

10

11 }

Para utilizar a nova classe que realizará a exportação, basta alterar o valor dapropriedade “prop.exportador.padrao” para “prop.exportador.padrao=NovoExportador”.

Após a configuração do arquivo de propriedades, poderemos implementara classe “OntoAgriTela” que deverá informar o caminho físico do arquivo “sa-benca.properties” devidamente configurado, conforme descrito na seção anterior. No Có-digo 4.6, visualizamos a classe “OntoAgriTela” implementada para executar o arcabouçocomputacional.

Page 72: SABENÇA - um arcabouço computacional baseado na ...repositorio.bc.ufg.br/tede/bitstream/tede/4712/5/Dissertação... · automáticas para a aprendizagem de ontologias a partir de

4.6 Discussão 69

Código 4.6 Ilustra o exemplo de instanciação do arcabouço computacional1 import br.ufg.inf.sabenca.construtor.*;

2

3 public class OntoAgriTela{

4

5 public static void main(String[] arg0) throws Exception{

6 SabencaFacade ontologia = new SabencaFacade();

7 ontologia.sabencaFacade("C:\\temp\\sabenca.properties");

8 ontologia.doOntologia();

9 }

10 }

Para customizar os outros módulos, basta seguir a documentação do diagramade classe e implementar os métodos das classes abstratas de cada módulo que permitealteração. Alguns módulos exigem a entrada de arquivos com layout padronizado. Oslayouts dos arquivos estão disponíveis no Apêndice C.

4.6 Discussão

Neste capítulo, apresentamos em detalhes as fases da aprendizagem de ontolo-gias que foram implementadas no arcabouço computacional.

Para chegarmos nesta proposta, tivemos que analisar as principais ferramentas,métodos e técnicas utilizadas em diversos trabalhos científicos com a finalidade de realizara aprendizagem semi-automatizada de ontologias a partir de textos.

O arcabouço computacional, permite a inclusão de ferramentas de terceiros ecustomização de classes desenvolvidas. Nessa versão, utilizamos ferramentas de terceirosque realizam as etapas necessárias para integralização da nossa proposta de implementara aprendizagem de ontologias a partir de textos na língua portuguesa. Tivemos o cuidadode escolher as ferramentas que mais se adequavam a essa proposta. Mas, nem todas asetapas da aprendizagem de ontologias a partir de textos utilizamos ferramentas de ter-ceiros. Tivemos que implementar propostas conceituais existentes, tais como: N-Gramas,Padrões Hearst, Padrão Facade, Padrão Abstract Factory, Análise de Documentos, entreoutros.

Para desenvolver, o arcabouço computacional, tivemos que controlar a gerênciado projeto com a metodologia ágil SCRUM e a gerência de configuração com a ferra-menta GIT disponível no Eclipse. Toda a documentação UML foi desenvolvida com aferramenta Jude Community. Percebemos que sem controle das atividades seria impossí-vel desenvolver a proposta de um arcabouço computacional dentro do tempo disponível.

Entendemos que algumas fases da aprendizagem de ontologias requerem a in-tervenção humana. A total automatização deste processo de aprendizagem é considerada

Page 73: SABENÇA - um arcabouço computacional baseado na ...repositorio.bc.ufg.br/tede/bitstream/tede/4712/5/Dissertação... · automáticas para a aprendizagem de ontologias a partir de

4.6 Discussão 70

utópica [108]. Na Tabela 4.7, visualizamos todas as fases implementadas, com base naproposta de Philipp Cimiano [19].

Etapa Implementação ModuloPré-Processamento automática Construtor, Analisador e ConversorExtração de Termos automática PesadorIdentificação de Conceitos automática ExtratorExtração de Relações automática ExtratorEstruturação das Ontologias automática ExportadorValidação manual -Visualização manual -

Tabela 4.7: Lista as etapas da aprendizagem de ontologias a partirde textos implementadas no arcabouço computacional.

Por fim, realizamos um estudo de caso para validar a proposta do arcabouçocomputacional e os detalhes são descritos no próximo capítulo.

Page 74: SABENÇA - um arcabouço computacional baseado na ...repositorio.bc.ufg.br/tede/bitstream/tede/4712/5/Dissertação... · automáticas para a aprendizagem de ontologias a partir de

CAPÍTULO 5Estudo de Caso no domínio da SegurançaPública

Com a finalidade de validar o arcabouço computacional, definimos um estudode caso que gerasse a estrutura ontológica a partir de documentos textuais do domínioSegurança Pública. Para isso, utilizamos documentos textuais sobre segurança pública. Avalidação ocorreu manualmente com o auxílio de especialistas no domínio.

Os avaliadores que participaram do estudo de caso são altamente especializados1

na área da Segurança Pública.O processo de avaliação, ocorreu mediante o envio, por e-mail, de uma planilha

para cada avaliador. Na planilha de avaliação, contêm três abas (Padrão Hearst, TermosRelevantes, Termos Compostos) com duas colunas (Termos e Correto), onde, o avaliadordeverá marcar com um “X” na coluna “Correto”, para cada valor correspondente, somentese, entender que o termo ou padrão pertence ao domínio segurança pública. No corpo doe-mail, estava as instruções de como preencher a planilha de avaliação. Na Figura 5.1,visualizamos uma parte da planilha de avaliação.

Os dados validados, serviram de entrada para a estruturação da ontologia. Paraisso, analisamos as informações marcadas por cada avaliador e fizemos a seleção dostermos que eram comuns em todas as planilhas avaliadas. Posteriormente, substituímosmanualmente os valores gerados no arcabouço computacional pelos resultados seleciona-dos na avaliação e geramos a estrutura ontológica.

Nas próximas seções, descreveremos os resultados encontrados.

5.1 Aquisições dos documentos textuais

Para realizar o estudo de caso, selecionamos documentos textuais (.pdf, .doc e.docx) provenientes da biblioteca da academia da polícia militar do estado de Goiás e da

1Major PM Francisco Leônidas da Silva, com 27 anos de experiência; 2o Sargento PM R/R José AlvesGomes, com 30 anos de experiência; 1o Sargento PM R/R Gilserone Ferreira Olerante, com 30 anos deexperiência

Page 75: SABENÇA - um arcabouço computacional baseado na ...repositorio.bc.ufg.br/tede/bitstream/tede/4712/5/Dissertação... · automáticas para a aprendizagem de ontologias a partir de

5.1 Aquisições dos documentos textuais 72

Figura 5.1: Ilustra a planilha de avaliação utilizada.

Revista Brasileira de Estudos em Segurança Pública (REBESP), 2 que compôs o corpuscom 152 documentos textuais, num total de 3958 páginas.

A seleção dos documentos ocorreu manualmente com o auxílio dos profissionaisda biblioteca da academia da polícia militar do estado de Goiás. Neste acervo, estãodisponíveis artigos científicos e monografias sobre segurança pública.

Durante a realização do estudo de caso, percebemos que os documentos selecio-nados continham termos de outros domínios, não relacionados com a segurança pública,tais como: educação, marketing, administração e outros. Segundo Lucelene Lopes [62], aqualidade do corpus influência na estrutura da ontologia.

Na Tabela 5.1, apresentamos a quantidade de documentos utilizados no estudo decaso. Na coluna “Ano”, refere-se a data dos documentos utilizados. Nas colunas “Doc”,“Docx” e “PDF”, apresentamos a quantidade de documento encontrados pela extensãodos documentos.

A organização dos documentos ocorreu manualmente. Eles foram distribuídosem diretórios e organizados por ano de publicação. Em seguida, configuramos as propri-edades conforme ilustra a Figura 4.13. Por fim, executamos o arcabouço computacional eaguardamos aproximadamente 12 horas.

Na Tabela 5.2, descrevemos os tempos gastos em cada módulo do arcabouçocomputacional. Na coluna “Módulo”, refere-se aos módulos do arcabouço computacional.

2disponível no endereço http://revista.ssp.go.gov.br/index.php/rebesp

Page 76: SABENÇA - um arcabouço computacional baseado na ...repositorio.bc.ufg.br/tede/bitstream/tede/4712/5/Dissertação... · automáticas para a aprendizagem de ontologias a partir de

5.2 Análise dos dados 73

Ano Doc Docx PDF2003 3 0 02004 0 0 02005 1 0 02006 33 0 02007 16 0 02008 18 1 142009 0 0 92010 1 0 202011 1 0 192012 0 0 02013 0 0 52014 0 0 11Total 73 1 78

Tabela 5.1: Representa a quantidade de documentos utilizados nosexperimentos desde estudo de caso.

Na coluna “Tempo”, apresentamos a quantidade de tempo gasto, para executar as tarefas,em cada módulo. Na coluna “Qtd.”, apresentamos a quantidade de artefatos utilizados.

Módulo Tempo Qtd.construtor 8s 144 arquivosanalisador e conversor 24s 144 arquivosetiquetador 3hs 01min 18s 1.283.064 termospesador 7hs 33min 13s 20.076 termosextrator 56min 1.945 relaçõesexportador 6s 194 entidades

Tabela 5.2: Descreve os tempos de execução de cada módulo doarcabouço computacional.

5.2 Análise dos dados

O arcabouço converte somente documentos que estejam desprotegidos. Durantea importação, encontramos 8 arquivos protegidos e, portanto, convertemos somente 144documentos.

5.2.1 Identificação dos Termos

Após a conversão, iniciamos a tarefa de etiquetagem morfossintática. Conside-ramos, a etiquetagem morfossintática a etapa principal da aprendizagem de ontologias apartir de textos e seus resultados influenciam nos módulos subsequentes. Na Tabela 5.3,descrevemos a quantidade de termos etiquetados de acordo com o sintagma gramatical.

Page 77: SABENÇA - um arcabouço computacional baseado na ...repositorio.bc.ufg.br/tede/bitstream/tede/4712/5/Dissertação... · automáticas para a aprendizagem de ontologias a partir de

5.2 Análise dos dados 74

Sintagma Qtd.artigo 92281substantivo 367060adjetivo 163362nome próprio 5231verbo finito 95235preposição 156132pontuação 65726numeral 4520advérbio 62490verbo particípio 93402pronome indefinido 17655verbo infinitivo 32726conjunção coordenativa 46607pronome pessoal 20287conjunção subordinativa 10792pronome possessivo 4357verbo gerúndio 11867interjeição 10elemento composto 75indefinido 0pronome demonstrativo 33249Total 1283064

Tabela 5.3: Representa as quantidades de termos encontrados. Es-tão descritos os sintagmas gramaticais, a quantidadede termos etiquetados, a quantidade gerada automati-camente pelo Apache OpenNLP.

Para eliminar os termos não relevantes para o domínio, utilizamos a lista destopwords. A lista de stopwords, é gerada automaticamente após a etiquetagem dostermos, e ao final tivemos um total de 5.934 termos não relevantes para o domínio.

Para definir os termos relevantes, removemos todos os termos existentes na listade stopwords e posteriormente, agrupamos os termos por substantivos e, em seguida,aplicamos a pesagem dos termos com o método TF-idf, descrito na seção 3.2.2. Oresultado da pesagem gerou 20.076 termos extraídos.

A medida TF-idf retorna uma quantidade muito grande de termos não relevantespara ser apresentado ao engenheiro de ontologia e não existe uma regra padrão de podapara seleciona-los [7]. Sendo assim, analisamos a lista de termos, classificada na ordemdecrescente do índice TF-idf e percebemos a existência de termos com índice TF-idf =0.0. E estes, foram caracterizados como não relevantes para o domínio.

Para selecionar os termos relevantes, utilizamos a frequência mínima do TF-idf3

3O valor da frequência mínima do TF-idf pode ser alterada no arquivo de propriedades de acordo com a

Page 78: SABENÇA - um arcabouço computacional baseado na ...repositorio.bc.ufg.br/tede/bitstream/tede/4712/5/Dissertação... · automáticas para a aprendizagem de ontologias a partir de

5.2 Análise dos dados 75

>= 0.14 que resultou na redução da lista. Com isso, obtivemos 314 termos relevantes parao domínio.

Na Tabela 5.4, descrevemos os resultados das avaliações. A coluna “Avaliado-res”, apresenta um código para cada avaliador. A coluna “Corretos”, apresenta a quanti-dade de termos selecionados por cada avaliador, referentes aos 314 termos relevantes en-contrados automaticamente. As colunas “Precisão”, “Abrangência”, “medida f”, referem-se as medidas utilizadas para avaliação dos resultados.

Avaliadores Corretos Precisão Abrangência medida fA1 191 0,010 0,608 0,019A2 240 0,012 0,764 0,024A3 228 0,011 0,726 0,022Intersecção 170 0,008 0,541 0,017

Tabela 5.4: Representa a avaliação dos especialistas nos termosrelevantes. No avaliador “A1”, obtivemos o maior nú-mero de termos selecionados. Por outro lado, a “Inter-secção” resultou no menor valor de termos seleciona-dos.

Na “Intersecção”, temos a intersecção dos conjuntos de termos relevantes sele-cionados pelos avaliadores. Para isso, unimos os resultados de cada avaliador e aplica-mos a fórmula “CONT.SE(CONT.SE(Correto),3)”, ou seja, a quantidade de vezes que otermo aparece correto e selecionamos somente os que contêm valor = 3. Posteriormente,substituímos a lista de termos relevantes geradas automaticamente pela lista de termosrelevantes da “Intersecção”.

5.2.2 Identificação dos Termos Compostos

Na identificação dos termos compostos, utilizamos o método de Markov, descritona seção 3.5.1. Para isso, selecionamos somente os termos compostos contidos na lista determos relevantes, extraída na seção anterior e, como resultado, extraímos 1.516 termoscompostos relevantes, do total de 18678 termos compostos gerados.

Na Tabela 5.5, visualizamos a quantidade de termos compostos relevantes porregras. A coluna “Regras”, representa a regra utilizada para definir os termos compostos,e.g, “polícia de primeiro mundo” será selecionado pela regra “sub+prp+sub+adj”, onde,“suj” = substantivo, “prp” = preposição e “adj” = adjetivo. A coluna “Qtd.”, apresenta aquantidade de cada termo encontrado na determinada regra.

Na Tabela 5.6, visualizamos os resultados da avaliação. A coluna “Avaliadores”,apresenta um código para cada avaliador. A coluna “Corretos”, apresenta a quantidade de

necessidade do engenheiro de ontologias.4O índice TF-idf = 0.1, significa que existe pelo menos duas repetições do termo no corpus utilizado

Page 79: SABENÇA - um arcabouço computacional baseado na ...repositorio.bc.ufg.br/tede/bitstream/tede/4712/5/Dissertação... · automáticas para a aprendizagem de ontologias a partir de

5.2 Análise dos dados 76

Regras Qtd.1 _SUB _ADJ _PRP _SUB _ADJ 02 _SUB _ADJ _PRP _SUB 2353 _SUB _PRP _ADJ _SUB 1294 _SUB _PRP _SUB _ADJ 105 _SUB _PRP _SUB 5506 _SUB _ADJ 592

Tabela 5.5: Representa a quantidade de termos compostos encon-trados por regra

termos selecionados por cada avaliador. As colunas “Precisão”, “Abrangência”, “medidaf”, referem-se as medidas utilizadas para avaliação dos resultados.

Avaliadores Selecionados Precisão Abrangência medida fA1 507 0,027 0,334 0,050A2 891 0,048 0,588 0,088A3 500 0,027 0,330 0,050Intersecção 260 0,014 0,172 0,026

Tabela 5.6: Representa a avaliação dos especialistas nos termoscompostos. No avaliador “A2”, obtivemos o maiornúmero de termos compostos corretos. Por outro lado,a “Intersecção” resultou no menor valor de termosselecionados.

Na “Intersecção”, temos a intersecção dos conjuntos de termos relevantes seleci-onados pelos avaliadores. Para isso, unimos os resultados de cada avaliador e aplicamos afórmula “CONT.SE(CONT.SE(Correto),3)”, ou seja, a quantidade de vezes que o termocomposto aparece correto e selecionamos somente os que contêm valor = 3. Posterior-mente, substituímos a lista de termos compostos relevantes, gerada automaticamente, pelalista de termos compostos da “Intersecção”.

5.2.3 Padrões de Hearst

Através dos padrões de Hearst, buscamos encontrar a hiperonímia e hiponímiaentre os termos. Para isso, aplicamos as regras, descritas na seção 3.5.1 e, encontramos104 relações taxonômicas.

Na Tabela 5.7, visualizamos as quantidades encontradas por padrão Hearst. Nacoluna “Padrão”, apresenta os padrões Hearst adaptados por Tulio Baségio [7]. Na coluna“Qtd.”, apresenta a quantidade encontrados a partir da aplicação dos padrões Hearst, nosdocumentos do corpus.

Na Tabela 5.8, visualizamos os resultados da avaliação. A coluna “Avaliadores”,apresenta um código para cada avaliador. A coluna “Corretos”, apresenta a quantidade

Page 80: SABENÇA - um arcabouço computacional baseado na ...repositorio.bc.ufg.br/tede/bitstream/tede/4712/5/Dissertação... · automáticas para a aprendizagem de ontologias a partir de

5.2 Análise dos dados 77

Padrão Qtd.SUB como (SUB,)*(ou|e) SUB 33SUB tal(is) como (SUB,)*(ou|e) SUB 3tal(is) SUB como (SUB,)*(ou|e) SUB 0SUB , SUB * , ou outro(s) SUB 6SUB , SUB * , e outro(s) SUB 59SUB, incluindo SUB, * ou|e SUB 0SUB , especialmente SUB, * ou|e SUB 0SUB , principalmente SUB, * ou|e SUB 1SUB , particularmente SUB, * ou|e SUB 0SUB , em especial SUB, * ou|e SUB 2SUB , em particular SUB, * ou|e SUB 0SUB , de maneira especial SUB, * ou|e SUB 0SUB , sobretudo SUB, * ou|e SUB 0

Tabela 5.7: Representa a quantidade de relações taxonômicas en-contradas por padrão Hearst.

de termos selecionados por cada avaliador. A coluna “Abrangência”, referem-se a medidautilizada para avaliação dos resultados.

Avaliadores Corretos AbrangênciaA1 15 0,144A2 50 0,481A3 57 0,548Intersecção 10 0,096

Tabela 5.8: Representa a avaliação dos especialistas no padrãoHearst. No avaliador “A3”, obtivemos o maior númerode relações taxonômicas corretas. Por outro lado, a“Intersecção” resultou no menor valor de relaçõestaxonômicas.

Na “Intersecção”, temos a intersecção dos conjuntos de relações taxonômicasselecionadas pelos avaliadores. Para isso, unimos os resultados de cada avaliador eaplicamos a fórmula “CONT.SE(CONT.SE(Correto),3)”, ou seja, a quantidade de vezesque a relação taxonômica aparece correta e selecionamos somente as que contêm valor =3. Posteriormente, substituímos a lista de relações taxonômicas, gerada automaticamente,pela lista de relações taxonômicas da “Intersecção”.

5.2.4 Estruturação da ontologia de domínio

Na estruturação de ontologias de domínio, foram encontrados diversos trabalhos,descritos na seção 3.7, que utilizam termos relevantes, termos compostos e padrão Hearstpara encontrar as relações taxonômicas.

Page 81: SABENÇA - um arcabouço computacional baseado na ...repositorio.bc.ufg.br/tede/bitstream/tede/4712/5/Dissertação... · automáticas para a aprendizagem de ontologias a partir de

5.2 Análise dos dados 78

Para identificar relações taxonômicas a partir do núcleo do sintagma dos termoscompostos utiliza-se o relacionamento de cada termo composto ao termo relevante [7].Sendo assim, primeiramente buscamos relacionar os termos compostos com os termosrelevantes, onde, o termo composto encontrado recebe a anotação <TIPO>, indicando arelação taxonômica. Na Figura 5.2, visualizamos uma parte dos resultados gerados. NoApêndice A, apresentamos todos os termos selecionados pelos especialistas.

Figura 5.2: Ilustra o resultado das relações taxonômicas encontra-das a partir dos termos relevantes e compostos.

Posteriormente, adicionamos os resultados do padrão Hearst nas relações taxonô-micas existentes. No Apêndice B, apresentamos os resultados do padrão Hearst selecio-nados pelos especialistas.

Por fim, exportamos as relações taxonômicas para a OWL Lite e o padrão RDF

n-Triple. Na Figura 5.3, visualizamos parte da ontologia na linguagem OWL.

Figura 5.3: Ilustra o resultado das relações taxonômicas encontra-das a partir dos termos relevantes e compostos.

Page 82: SABENÇA - um arcabouço computacional baseado na ...repositorio.bc.ufg.br/tede/bitstream/tede/4712/5/Dissertação... · automáticas para a aprendizagem de ontologias a partir de

5.3 Discussão 79

O resultado da exportação gerou um arquivo na linguagem OWL, que pode servisualizada pela ferramenta Protégé, permitindo a posterior manutenção da ontologia porespecialistas no domínio. Na Figura 5.4, visualizamos o resultado dos nós e arestas daontologia de domínio.

Figura 5.4: Ilustra a ontologia gerada a partir dos documentostextuais no domínio de segurança pública visualizadana ferramenta Protégé. A ontologia é composta de 2níveis e um total de 194 entidades.

A avaliação realizada por especialistas dos elementos que compõem a estruturaontológica podem obter resultados relevantes na estruturação da ontologia [7, 52]. Porisso, neste trabalho, não realizamos a avaliação na estrutura ontológica gerada na lingua-gem OWL.

5.3 Discussão

Neste capítulo, apresentamos em detalhes os resultados da execução do arca-bouço computacional no estudo de caso sobre segurança pública. Para isso, utilizamosdocumentos disponibilizados pela biblioteca da academia da polícia militar de Goiás,proveniente do convênio firmado entre a Universidade Federal de Goiás e Secretaria deSegurança Pública de Goiás.

Em respeito ao acordo firmado, não disponibilizamos informações de naturezapessoal ou sigilosa dos documentos cedidos e somente resultados estatísticos para valida-ção da pesquisa.

Verificamos que existem algumas inconsistências na etiquetagem, tais como:termos na língua inglesa e etiquetagem incorretas. Porém, entendemos que a qualidadeda etiquetagem comprometeu o resultado final da ontologia.

No estudo de caso, demonstramos que o arcabouço computacional realiza aaprendizagem semi-automática de ontologias a partir de documentos textuais na língua

Page 83: SABENÇA - um arcabouço computacional baseado na ...repositorio.bc.ufg.br/tede/bitstream/tede/4712/5/Dissertação... · automáticas para a aprendizagem de ontologias a partir de

5.3 Discussão 80

portuguesa. Entretanto, os resultados de suas etapas, avaliadas por especialistas, apre-sentaram uma abrangência abaixo de 50%. Com isso, podemos concluir que a utilizaçãode documentos textuais produzem ruídos que interferem nos resultados dos módulos doarcabouço computacional.

Page 84: SABENÇA - um arcabouço computacional baseado na ...repositorio.bc.ufg.br/tede/bitstream/tede/4712/5/Dissertação... · automáticas para a aprendizagem de ontologias a partir de

CAPÍTULO 6Conclusões

Para realizar este trabalho, fizemos um estudo sobre ontologias e suas aplicações.Este estudo nos mostrou a importância da ontologia na representação do conhecimento.Posteriormente, fizemos um estudo sobre a aprendizagem de ontologias a partir de textosque nos permitiu compreender a temática e constatamos que as etapas para automatizar aaprendizagem de ontologias a partir de textos são complexas. E, para cada etapa, fizemosum estudo sobre as diversas técnicas, métodos, metodologias e ferramentas existentes.

O conhecimento adquirido sobre aprendizagem de ontologias a partir de textos,conforme proposto por Philipp Cimiano [20], permitiu estruturar a proposta de desenvol-ver um arcabouço computacional que semi-automatiza suas etapas.

Definido o tema, deste trabalho, fizemos o planejamento do projeto e definimosas tarefas necessárias para concretizar nosso objetivo.

Durante a realização da análise, nos deparamos com a falta de corpus anotadosobre segurança pública, na língua portuguesa e, então, decidimos utilizar documentos emformato não estruturado como entrada do arcabouço computacional. Um ponto importantea ser considerado é o fato de que textos de documentos, como os utilizados no estudo decaso, podem gerar distorções nos resultados, tanto na identificação de termos quanto naidentificação de relações.

A partir dos documentos selecionados manualmente, geramos um corpus ano-tado não validado, que utilizamos no estudo de caso. O corpus tem mais de 1 milhão determos, proveniente da extração dos textos nos documentos.

Durante a realização do projeto, testamos os diversos frameworks disponíveispara conversão de texto, etiquetagem, lematização, identificação de nomes próprios eescrita de linguagem ontológica, sendo estes, na sua maioria, preparados para a línguainglesa. Escolhemos as ferramentas que tiveram resultados satisfatórios na língua portu-guesa. Vale salientar que o uso de ferramentas de terceiros, nos torna dependentes dosresultados das mesmas e interferem na qualidade dos resultados.

A tarefa de identificar relações taxonômicas, nos mostrou resultados satisfató-rios. Podemos concluir que identificar relações taxonômicas a partir dos termos compos-tos com n-gramas de 4 níveis, obtiveram melhores resultados dentre as técnicas utilizadas.

Page 85: SABENÇA - um arcabouço computacional baseado na ...repositorio.bc.ufg.br/tede/bitstream/tede/4712/5/Dissertação... · automáticas para a aprendizagem de ontologias a partir de

6.1 Contribuições 82

O arcabouço computacional semi-automatizado demonstrou reduzir o esforçono processo de estruturação das ontologias de domínio quando comparamos com o pro-cesso manual da engenharia de ontologias. Podemos considerar que a implementação de5 etapas da aprendizagem de ontologias a partir de textos, nos permitiu estruturar umaontologia na língua portuguesa. Entretanto, entendemos que ontologias são representa-ções de realidades compartilhadas e, conforme mudamos os conhecimentos adquiridos,mudamos a estruturação das ontologias. Sendo assim, não existem ontologias completas.

O tempo de execução do arcabouço computacional tornou-se uma grande difi-culdade durante os testes efetuados na fase de desenvolvimento.

A validação demonstrou ser importante no resultado final. O baixo índice deseleção dos resultados nos mostrou que documentos textuais trazem muitos ruídos, e quenecessitamos de mais investimentos, em pesquisas, para melhorar as técnicas de PLNutilizadas para a língua portuguesa do Brasil.

Analisando os trabalhos relacionados, percebemos que foram desenvolvidasferramentas para auxiliar engenheiros de ontologias e suas ontologias eram compostassomente de hierarquias de conceitos. Entretanto, nossa proposta atende aos engenheirosde software, que necessitem desenvolver aplicações para realizar as etapas, propostas porPhilipp Cimiano [18], da aprendizagem de ontologias a partir de textos.

Pretendemos evoluir o arcabouço computacional para melhorar os resultadosapresentados. A seguir, serão abordadas algumas contribuições. Por fim, são elencadassugestões que poderão ser implementadas em trabalhos futuros.

6.1 Contribuições

A principal contribuição, deste trabalho, está no desenvolvimento do arcabouçocomputacional que realiza a aprendizagem semi-automatizada de ontologias a partir dedocumentos textuais, oferecendo apoio na estruturação de ontologias de domínio.

Podemos especificar outras contribuições deste trabalho, que são:

• 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.• Descrição detalhada do desenvolvimento do arcabouço computacional.

6.2 Limitações e Trabalhos futuros

Podemos destacar algumas limitações para esta pesquisa:

• Utilização de somente documentos textuais dos tipos .doc, docx e pdf.• Dependência dos frameworks utilizados.

Page 86: SABENÇA - um arcabouço computacional baseado na ...repositorio.bc.ufg.br/tede/bitstream/tede/4712/5/Dissertação... · automáticas para a aprendizagem de ontologias a partir de

6.2 Limitações e Trabalhos futuros 83

• Estudo de caso de apenas um domínio.• Falta de um corpus anotado validado sobre segurança pública.

Entre os trabalhos relacionados a essa pesquisa que poderão ser desenvolvidos,podemos destacar:

• Extensão do módulo conversor para outros tipos de arquivos, e.g, rtf, odt, xls, xlsx,epud etc.• Extensão do módulo analisador para extrair textos de áudio e vídeo.• Permitir que o arcabouço computacional trabalhe com outros idiomas.• Inclusão de reconhecimento de relações não-taxonômicas.• Inclusão de classificador automático de documentos por domínio.• Realizar novos estudos de caso em domínios distintos.• Desenvolvimento de aplicações que utilizem o arcabouço computacional.• Incluir dicionário de sinônimos para enriquecer as ontologias.• Incluir módulo para construção automatizada de axiomas.• Incluir processamento paralelo para reduzir o tempo de execução.• Disponibilizar novas versões para outras linguagens, e.g, C#, F#, Ruby, Python etc.• Construção de corpus anotado e validado na área de segurança pública.• Incluir módulo para mesclagem de ontologias.• Incluir módulo para avaliação automática de ontologias de domínio.

Page 87: SABENÇA - um arcabouço computacional baseado na ...repositorio.bc.ufg.br/tede/bitstream/tede/4712/5/Dissertação... · automáticas para a aprendizagem de ontologias a partir de

Referências Bibliográficas

[1] ABEILLÉ, A.; CLÉMENT, L.; TOUSSENEL, F. Building a treebank for french.

In: Abeillé, A., editor, Treebanks, volume 20 de Text, Speech and Language

Technology, p. 165–187. Springer Netherlands, 2003.

[2] ALMEIDA, M.; BAX, M. Uma visão geral sobre ontologias: pesquisa sobre

definições, tipos, aplicações, métodos de avaliação e de construção. Ci. Inf.,

32(3):7–20, set./dez. 2003.

[3] AREVALO, G. B. Object oriented architectural description of frameworks,

2000. Tese (Doutorado em Ciência e Tecnologia da Informação e de Matemática) –

École des Mines de Nantes, Nantes, França. Disponível em: <http://www.emn.fr/z-

info/emoose/alumni/>. Acesso em: 18 out. 2014.

[4] BAKER, C. F.; FILLMORE, C. J.; LOWE, J. B. The berkeley framenet project.

In: Proceedings of the 36th Annual Meeting of the Association for Computational

Linguistics and 17th International Conference on Computational Linguistics - Volume

1, ACL ’98, p. 86–90, Stroudsburg, PA, USA, 1998. Association for Computational

Linguistics.

[5] BANERJEE, S.; PEDERSEN, T. The design, implementation, and use of the

ngram statistics package. In: GELBUKH, A., editor, Computational Linguistics and

Intelligent Text Processing, volume 2588 de Lecture Notes in Computer Science,

p. 370–381. Springer Berlin Heidelberg, 2003.

[6] BAONZA, M. D. C. S. D. F. Neon methodology for building on-

tology networks: Specification, scheduling and reuse, 2010. Tese

(Doutorado em Informática) – Facultad de Informática, Universidad Politéc-

nica de Madrid, Madrid. Disponível em: <http://oa.upm.es/3879/2/MARIA_DEL-

_CARMEN_SUAREZ_DE_FIGUEROA_BAONZA.pdf>. Acesso em: 29 abr. 2014.

[7] 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) –

Page 88: SABENÇA - um arcabouço computacional baseado na ...repositorio.bc.ufg.br/tede/bitstream/tede/4712/5/Dissertação... · automáticas para a aprendizagem de ontologias a partir de

Referências Bibliográficas 85

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.

[8] BEZERRA, E. Princípios de Análise e Projeto de Sistemas com UML 2. Elsevier

Brasil, Rio de Janeiro, RJ, Brasil, 2 edition, 2008.

[9] BLOMQVIST, E. Pattern ranking for semi-automatic ontology construction.

In: Proceedings of the 2008 ACM Symposium on Applied Computing, SAC ’08, p.

2248–2255, New York, NY, USA, 2008. ACM.

[10] BRANK, J.; GROBELNIK, M.; MLADENIC, D. A survey of ontology evaluation

techniques. In: Proc. of 8th Int. multi-conf. Information Society, p. 166–169, 2005.

[11] BREWSTER, C. Mind the gap: Bridging from text to ontologi-

cal knowledge, 2008. Tese (Doutorado em Filosofia) – Department

of Computer Science, University of Sheffield, Sheffield. Disponível em:

<http://nlp.shef.ac.uk/Completed_PhD_Projects/brewster.pdf>. Acesso em: 20 jun.

2014.

[12] BRILL, E. A simple rule-based part of speech tagger. In: Proceedings of the

Third Conference on Applied Natural Language Processing, ANLC ’92, p. 152–155,

Stroudsburg, PA, USA, 1992. Association for Computational Linguistics.

[13] BUITELAAR, P.; CIMIANO, P. Ontology Learning and Population: Bridging

the Gap between Text and Knowledge - Volume 167 Frontiers in Artificial

Intelligence and Applications. IOS Press, Amsterdam, The Netherlands, 2008.

[14] BUITELAAR, P.; OLEJNIK, D.; SINTEK, M. A protégé plug-in for ontology

extraction from text based on linguistic analysis. In: Proceedings of the 1st

European Semantic Web Symposium (ESWS), Heraklion, Greece, 2004.

[15] CAO, Y.; WANG, X.; ZHANG, F.; YANG, W. Ontology-based domain kno-

wledge acquisition technology. In: Computational Intelligence and Design (IS-

CID), 2012 Fifth International Symposium on, volume 2, p. 487–490, Oct 2012.

[16] CARVALHEIRA, L. C. D. C. Método semi-automático de construção de

ontologias parciais de domínio com base em textos, 2007. Disserta-

ção (Mestrado em Engenharia) – Departamento de Engenharia da Computa-

ção e Sistemas Digitais, Escola Politécnica da Universidade de São Paulo,

São Paulo. Disponível em: <http://www.teses.usp.br/teses/disponiveis/3/3141/tde-

10012008-094436/pt-br.php>. Acesso em: 29 abr. 2013.

Page 89: SABENÇA - um arcabouço computacional baseado na ...repositorio.bc.ufg.br/tede/bitstream/tede/4712/5/Dissertação... · automáticas para a aprendizagem de ontologias a partir de

Referências Bibliográficas 86

[17] CIARAMITA, M.; GANGEMI, A.; RATSCH, E.; ŠARIC, J.; ROJAS, I. Unsuper-

vised learning of semantic relations between concepts of a molecular biology

ontology. In: Proceedings of the 19th International Joint Conference on Artificial In-

telligence, IJCAI’05, p. 659–664, San Francisco, CA, USA, 2005. Morgan Kaufmann

Publishers Inc.

[18] CIMIANO, P. Ontology Learning and Population from Text: Algorithms, Eva-

luation and Applications. Springer-Verlag New York, Inc., Secaucus, NJ, USA,

2006.

[19] CIMIANO, P.; HOTHO, A.; STAAB, S. Learning concept hierarchies from text

corpora using formal concept analysis. J. Artif. Int. Res., 24(1):305–339, Aug.

2005.

[20] CIMIANO, P.; VÖLKER, J. Text2onto: A framework for ontology learning

and data-driven change discovery. In: Proceedings of the 10th International

Conference on Natural Language Processing and Information Systems, NLDB’05,

p. 227–238, Berlin, Heidelberg, 2005. Springer-Verlag.

[21] COLLINS, M. Discriminative training methods for hidden markov models:

Theory and experiments with perceptron algorithms. In: Proceedings of the

ACL-02 Conference on Empirical Methods in Natural Language Processing - Volume

10, EMNLP ’02, p. 1–8, Stroudsburg, PA, USA, 2002. Association for Computational

Linguistics.

[22] CONRADO, M. D. S.; FELIPPO, A. D.; PARDO, T. A. S.; REZENDE, S. O. A

survey of automatic term extraction for brazilian portuguese. Journal of the

Brazilian Computer Society, 20(1):12, 2014.

[23] CORCHO, O.; FERNÁDEZ-LÓPEZ, M.; GÓMEZ-PÉREZ, A. Methodologies,

tools and languages for building ontologies: where is their meeting point?

Data Knowl. Eng., 46(1):41–64, July 2003.

[24] CORREIRA, J. D. S. S. Um processo para a aquisição de relações taxonômi-

cas de uma ontologia, 2011. Dissertação (Mestrado em Engenharia de Eletrici-

dade) – Centro de Ciências exatas e tecnologia, Universidade Estadual do Mara-

nhão, São Luís. Disponível em: <http://www.tedebc.ufma.br/tde_arquivos/10/TDE-

2011-08-04T090242Z-583/Publico/JoneAcesso em: 29 abr. 2014.

[25] DE FARIA, C. G.; DEL ROSARIO GIRARDI GUTIERREZ, M. Um processo semi-

automático para o povoamento de ontologias a partir de fontes textuais. In:

iSys - Revista Brasileira de Sistemas de Informação, volume 3, 2010.

Page 90: SABENÇA - um arcabouço computacional baseado na ...repositorio.bc.ufg.br/tede/bitstream/tede/4712/5/Dissertação... · automáticas para a aprendizagem de ontologias a partir de

Referências Bibliográficas 87

[26] DE NICOLA, A.; MISSIKOFF, M.; NAVIGLI, R. A software engineering appro-

ach to ontology building. Inf. Syst., 34(2):258–275, Apr. 2009.

[27] DECKER, S.; ERDMANN, M.; FENSEL, D.; STUDER, R. How to use onto-

broker. In: Proceedings of the 11th Workshop on Knowledge Acquisition, Modeling,

and Management (KAW ’98), Banff, Canada, April 1998.

[28] DOMINGUES, M. L. C. S. Abordagem para desenvolvimento de um etique-

tador de alta acurácia para o português do brasil, 2011. Tese (Doutorado em

Engenharia Elétrica) – Instituto de Tecnologia, Universidade Federal do Pará, Be-

lém. Disponível em: <repositorio.ufpa.br/jspui/handle/2011/2828>. Acesso em: 29

abr. 2014.

[29] DRUMOND, L. R. Aquisição automatizada de hierarquias de conceitos

de ontologias utilizando aprendizagem estatística relacional, 2009. Dis-

sertação (Mestrado em Engenharia e Eletricidade) – Centro de Ciências exa-

tas 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.

[30] EIBEN, A.; SMITH, J. E. Introduction to Evolutionary Computing, volume XV

de Natural Computing. Springer, 2 edition, 2008.

[31] FACHIN, G. R. B. Ontologia de referência para periódico científico digital,

2011. Tese (Doutorado em Engenharia e Gestão do Conhecimento) – Centro

Tecnológico, Universidade Federal de Santa Catarina, Florianópolis. Disponível em:

<repositorio.ufsc.br/handle/123456789/95827>. Acesso em: 29 abr. 2014.

[32] FAURE, D.; NEDELLEC, C. Asium: Learning subcategorization frames and

restrictions of selection. In: Proceedings of the 10th Conference on Machine

Learning (ECML), Germany, 1998.

[33] FAYAD, M. E.; SCHMIDT, D. C.; JOHNSON, R. E. Implementing Application

Frameworks: Object-oriented Frameworks at Work. John Wiley & Sons, Inc.,

New York, NY, USA, 1999.

[34] FENSEL, D.; HARMELEN, F. V.; KLEIN, M.; AKKERMANS, H. On-to-

knowledge: Ontology-based tools for knowledge management. In: In Proce-

edings of the eBusiness and eWork 2000 (EMMSEC 2000) Conference, 2000.

[35] FERREIRA, V. H. Uma proposta para descoberta automática de relações

não-taxonômicas a partir de corpus em língua portuguesa, 2012. Disserta-

Page 91: SABENÇA - um arcabouço computacional baseado na ...repositorio.bc.ufg.br/tede/bitstream/tede/4712/5/Dissertação... · automáticas para a aprendizagem de ontologias a partir de

Referências Bibliográficas 88

ção (Mestrado em Ciência da Computação) – Faculdade de Informática, Ponti-

fícia Universidade Católica do Rio Grande do Sul, Porto Alegre. Disponível em:

<http://hdl.handle.net/10923/1526>. Acesso em: 29 abr. 2014.

[36] FOTZO, H.; GALLINARI, P. Learning generalizationspecialization relations

between concepts - application for automatically building thematic document

hierarchies. In: Proceedings of the 7th International Conference on Computer-

Assisted Information Retrieval (RIAO), Vaucluse, France, 2004.

[37] FRANTZI, K.; ANANIADOU, S.; TSUJII, J. The c-value/nc-value method

of automatic recognition for multi-word terms. In: Research and Advanced

Technology for Digital Libraries, volume 1513 de Lecture Notes in Computer

Science, p. 585–604. Springer Berlin Heidelberg, 1998.

[38] GAMMA, E.; JOHNSON, R.; HELM, R.; VLISSIDES, J. Padrões de Projetos:

Soluções Reutilizáveis. Bookman, Porto Alegre, RS, Brasil, 2006.

[39] 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.

[40] GONÇALVES, G.; WILKENS, R.; VILLAVICENCIO, A. Sistema de aquisição

semi-automá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.

[41] GRUBER, T. Toward principles for the design of ontologies used for kno-

wledge sharing. International Journal Human-Computer Studies Vol. 43, Issues

5-6,Novemer 1995, p.907-928., 1995.

[42] GRUBER, T. Ontology (computer science) - definition in encyclopedia of

database systems. In: Liu, L.; Özsu, T. M., editors, Encyclopedia of Database

System, 2008.

[43] GUARINO, N. Understanding, building and using ontologies. International

Journal of Human-Computer Studies, 46(2-3):293–310, Feb. 1997.

[44] GUARINO, N.; WELTY, C. Evaluating ontological decisions with ontoclean.

Commun. ACM, 45(2):61–65, Feb. 2002.

[45] GUIMARÃES, F. J. Z. Utilização de ontologias no domínio b2c, 2002.

Dissertação (Mestrado em Informática) – Departamento de Informática, Ponti-

fícia Universidade Católica do Rio de Janeiro, Rio de Janeiro. Disponível em:

Page 92: SABENÇA - um arcabouço computacional baseado na ...repositorio.bc.ufg.br/tede/bitstream/tede/4712/5/Dissertação... · automáticas para a aprendizagem de ontologias a partir de

Referências Bibliográficas 89

<www2.dbd.pucrio.br/pergamum/tesesabertas/0024134_02_pretexto.pdf>. Acesso

em: 29 abr. 2014.

[46] GUPTA, A.; LUDÄSCHER, B.; MARTONE, M. E. Knowledge-based integra-

tion of neuroscience data sources. In: Proceedings of the 12th International Con-

ference on Scientific and Statistical Database Management, SSDBM ’00, p. 39–,

Washington, DC, USA, 2000. IEEE Computer Society.

[47] HAZMAN, M.; EL-BELTAGY, S. R.; RAFAE, A. Article: A survey of ontology

learning approaches. International Journal of Computer Applications, 22(8):36–43,

May 2011.

[48] 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 Computati-

onal Linguistics.

[49] HLOMANI, H.; STACEY, D. Approaches, methods, metrics, measures, and

subjectivity in ontology evaluation: A survey. Semantic Web Journal, p. 1–5,

2014.

[50] IZZA, S. Integration of industrial information systems: From syntactic to

semantic integration approaches. Enterp. Inf. Syst., 3(1):1–57, Feb. 2009.

[51] JIANG, X.; TAN, A.-H. Crctol: A semantic-based domain ontology learning

system. Journal of the American Society for Information Science and Technology,

61(1):150–168, 2010.

[52] 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.

[53] KEPLER. Eclipse ide for java ee developers. Disponível em:

<http://eclipse.org/downloads/packages/release/Kepler/SR2>. Acesso em: 30 nov.

2014.

[54] LARMAN, C. Utilizando UML e Padrões: uma introdução à análise e ao projeto

orientados a objetos e ao Processo Unificado. Bookman, Porto Alegre, RS,

Brasil, 2 edition, 2004.

Page 93: SABENÇA - um arcabouço computacional baseado na ...repositorio.bc.ufg.br/tede/bitstream/tede/4712/5/Dissertação... · automáticas para a aprendizagem de ontologias a partir de

Referências Bibliográficas 90

[55] LAVRAC, N.; DZEROSKI, S. Inductive Logic Programming: Techniques and

Applications. Routledge, New York, NY, 10001, 1993.

[56] LEE, C.-S.; KAO, Y.-F.; KUO, Y.-H.; WANG, M.-H. Automated ontology

construction for unstructured text documents. Data Knowl. Eng., 60(3):547–

566, Mar. 2007.

[57] LENAT, D. B.; GUHA, R. V. Building Large Knowledge-Based Systems:

Representation and Inference in the CYC Project. Addison-Wesley, Reading,

Massachusetts, 1990.

[58] LIMA, R. J. D. Ontoilper: An ontology- and inductive logic programming-

based method to extract instances of entities and relations from texts,

2014. Tese (Doutorado em Ciência da Computação) – Centro de In-

formática, Universidade Federal de Pernambuco, Recife. Disponível em:

<http://www.lsis.org/espinasseb/Theses/These-R.Lima-2014.pdf>. Acesso em: 23

abr. 2015.

[59] LOPES, L.; VIEIRA, R.; FERNANDES, P.; COUTO, G. Exatolp-an automatic

tool for term extraction from portuguese language corpora. In: International

Conference on Computational Processing of the Portuguese Language - PROPOR,

p. 45–47, 2012.

[60] 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.

[61] LOPES, L.; FERNANDES, P.; VIEIRA, R. Domain term relevance through tf-

dcf. In: Proceedings of the 2012 International Conference on Artificial Intelligence

(ICAI 2012), ICAI 2012, p. 1001–1007, Las Vegas, USA, 2012. CSREA Press.

[62] LOPES, L.; FERNANDES, P.; VIEIRA, R.; FEDRIZZI, G. Exatolp-an automa-

tic tool for term extraction from portuguese language corpora. In: Proceedings

of the LTC’09, Pozna?, Poland, 2009.

[63] 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.

Page 94: SABENÇA - um arcabouço computacional baseado na ...repositorio.bc.ufg.br/tede/bitstream/tede/4712/5/Dissertação... · automáticas para a aprendizagem de ontologias a partir de

Referências Bibliográficas 91

[64] MAEDCHE, A.; MAEDCHE, E.; STAAB, S. The text-to-onto ontology learning

environment. In: Software Demonstration at ICCS-2000 - Eight International

Conference on Conceptual Structures, 2000.

[65] MAEDCHE, A.; STAAB, S. Ontology learning for the semantic web. IEEE

Intelligent Systems, 16(2):72–79, Mar. 2001.

[66] MAIA, M. F. D. Ontomed - ontologias de conceitos médicos e de saúde

para o português, 2010. Dissertação (Mestrado em Engenharia Electrónica e

Telecomunicações) – Instituto de Engenharia Electrónica, Universidade de Aveiro,

Aveiro. Disponível em: <http://hdl.handle.net/10773/3563>. Acesso em: 29 abr.

2014.

[67] MARCUS, M. P.; SANTORINI, B.; MARCINKIEWICZ, M. A. Building a large

annotated corpus of english: The penn treebank. COMPUTATIONAL LINGUIS-

TICS, 19(2):313–330, 1993.

[68] MATOS, F. G. D. Linguística de corpus. DELTA: Documentação de Estudos em

Linguística Teórica e Aplicada, 20:364 – 365, 12 2004.

[69] MATOS, H. C. D. O. Uma metodologia para a construção semiautomatizada

de ontologias a partir de documentos textuais, 2009. Dissertação (Mestrado em

Ciência da Computação) – Instituto de Informática, Universidade Federal de Goiás,

Goiânia. Disponível em: <http://repositorio.bc.ufg.br/tede/handle/tde/501>. Acesso

em: 29 abr. 2013.

[70] MATTSSON, M.; BOSCH, J. Stability assessment of evolving industrial

object-oriented frameworks. Journal of Software Maintenance, 12(2):79–102,

Mar. 2000.

[71] MELO, G. D.; SUCHANEK, F.; PEASE, A. Integrating yago into the suggested

upper merged ontology. In: Proceedings of the 2008 20th IEEE International

Conference on Tools with Artificial Intelligence - Volume 01, ICTAI ’08, p. 190–193,

Washington, DC, USA, 2008. IEEE Computer Society.

[72] MENDONÇA, F.; ALMEIDA, M. B.; SOUZA, R. R.; SILVA, D. L. Extração au-

tomática de termos candidatos às ontologias: um estudo de caso no domínio

da hemoterapia. In: Malucelli, A.; Bax, M. P., editors, ONTOBRAS-MOST, volume

938 de CEUR Workshop Proceedings, p. 170–175. CEUR-WS.org, 2012.

[73] MORAES, S. M. W. Construção de estruturas ontológicas a partir de textos:

Um estudo baseado no método formal concept analysis e em papéis semânti-

Page 95: SABENÇA - um arcabouço computacional baseado na ...repositorio.bc.ufg.br/tede/bitstream/tede/4712/5/Dissertação... · automáticas para a aprendizagem de ontologias a partir de

Referências Bibliográficas 92

cos, 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/1609>. Acesso em: 29 abr. 2014.

[74] MORIN, E.; JACQUEMIN, C. Automatic acquisition and expansion of hy-

pernym links. Computers and the Humanities, 38(4):363–396, 2004.

[75] 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 Infor-

má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-de-

dissertacoes-ppgi-unirio/ano-2009/preenchimento-semi-automatico-de-ontologias-

de-dominio-a-partir-de-textos-em-lingua-portuguesa/view>. Acesso em: 29 abr.

2014.

[76] ONTOBROKER. Semantic web middleware. version 6.1, 2012. Disponível em:

<http://www.semafora-systems.com/en/products/ontobroker/>. Acesso em: 29 nov.

2014.

[77] OPENNLP. Toolkit for the processing of natural language text. version 1.5,

2010. Disponível em: <http://opennlp.apache.org>. Acesso em: 29 nov. 2014.

[78] PALMER, M.; GILDEA, D.; KINGSBURY, P. The proposition bank: An annota-

ted corpus of semantic roles. Comput. Linguist., 31(1):71–106, Mar. 2005.

[79] PERONI, S.; SHOTTON, D.; VITALI, F. Tools for the automatic generation

of ontology documentation: A task-based evaluation. Int. J. Semantic Web Inf.

Syst., 9(1):21–44, 2013.

[80] POWERLOOM. Knowledge representation & reasoning system. version 4.0,

2010. Disponível em: <http://www.isi.edu/isd/LOOM/PowerLoom/>. Acesso em: 28

nov. 2013.

[81] PRASANNA, D. R. Dependency Injection. Manning Publications Co., Greenwich,

CT, USA, 1st edition, 2009.

[82] PRESSMAN, R. S. Engenharia de Software - Uma Abordagem Profissional.

Bookman, Porto Alegre, RS, Brasil, 7 edition, 2011.

[83] PROTÉGÉ. Rich ontology editing. version 5.0, 2014. Disponível em:

<http://protege.stanford.edu>. Acesso em: 29 nov. 2014.

Page 96: SABENÇA - um arcabouço computacional baseado na ...repositorio.bc.ufg.br/tede/bitstream/tede/4712/5/Dissertação... · automáticas para a aprendizagem de ontologias a partir de

Referências Bibliográficas 93

[84] RAYSON, P.; BERRIDGE, D.; FRANCIS, B. Extending the cochran rule for

the comparison of word frequencies between corpora. In: In Proceedings of the

7th International Conference on Statistical analysis of textual data (JADT 2004, p.

926–936, 2004.

[85] REED, J. W.; JIAO, Y.; POTOK, T. E.; KLUMP, B. A.; ELMORE, M. T.; HUR-

SON, A. R. Tf-icf: A new term weighting scheme for clustering dynamic data

streams. In: Proceedings of the 5th International Conference on Machine Lear-

ning and Applications, ICMLA ’06, p. 258–263, Washington, DC, USA, 2006. IEEE

Computer Society.

[86] ROELLEKE, T.; WANG, J. Tf-idf uncovered: A study of theories and probabi-

lities. In: Proceedings of the 31st Annual International ACM SIGIR Conference on

Research and Development in Information Retrieval, SIGIR ’08, p. 435–442, New

York, NY, USA, 2008. ACM.

[87] 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.

[88] SAINCHEZ, D.; MORENO, A. Learning non-taxonomic relationships from

web documents for domain ontology construction. Data and Knowledge En-

gineering, 64(3):600 – 623, 2008.

[89] SCHMID, H. Probabilistic part-of-speech tagging using decision trees. In:

International Conference on New Methods in Language Processing, p. 44–49,

Manchester, UK, 1994.

[90] SCHNEIDER, V. Método de modelagem do contexto estratégico

para sistemas baseados em conhecimento, 2013. Dissertação (Mes-

trado em Engenharia e Gestão do Conhecimento) – Faculdade de Enge-

nharia, Universidade Federal de Santa Catarina, Florianópolis. Disponível em:

<https://repositorio.ufsc.br/handle/123456789/107185>. Acesso em: 29 abr. 2014.

[91] SERRA, I.; GIRARD, R.; NOVAIS, P. The problem of learning non-taxonomic

relationships of ontologies from text. In: Omatu, S. e. a., editor, Distributed

Computing and Artificial Intelligence, volume 151 de Advances in Intelligent and

Soft Computing, p. 485–492. Springer Berlin Heidelberg, 2012.

[92] SHAMSFARD, M.; BARFOROUSH, A. A. Learning ontologies from natural

language texts. International Journal of Human–Computer Studies, 60:17–63,

2004.

Page 97: SABENÇA - um arcabouço computacional baseado na ...repositorio.bc.ufg.br/tede/bitstream/tede/4712/5/Dissertação... · automáticas para a aprendizagem de ontologias a partir de

Referências Bibliográficas 94

[93] SOMMERVILLE, I. Software Engineering. Addison-Wesley, 9 edition, 2011.

[94] SPARQL. Sparql query language for rdf. version 1.1, 2008. Disponível em:

<http://www.w3.org/TR/rdf-sparql-query/>. Acesso em: 29 nov. 2014.

[95] SPILIOPOULOU, M.; MÜLLER, R. M.; BRUNZEL, M.; RINALDI, F.; HESS,

M.; DOWDALL, J.; BLACK, W. J.; THEODOULIDIS, B.; MCNAUGHT, J.;

BERNARD, L.; ZARRI, G. P.; ORPHANOS, G.; KING, M.; PERSIDIS, A.

Coupling information extraction and data mining for ontology learning in

parmenides. In: Fluhr, C.; Grefenstette, G.; Croft, W. B., editors, RIAO, p. 156–

169. CID, 2004.

[96] SRIKANT, R.; AGRAWAL, R. Mining generalized association rules. Future

Generation Computer Systems, 13(2013):161 – 180, 1997. Data Mining.

[97] STEELE, JR., G. L. Common LISP: the language (2nd ed.). Digital Press,

Newton, MA, USA, 1990.

[98] STELLA. Lisp–style symbolic programming with delivery in

common–lisp, c++ and java. version 3.5, 2014. Disponível em:

<http://www.isi.edu/isd/LOOM/Stella/>. Acesso em: 29 nov. 2014.

[99] TACLA, C. A.; FREDDO, A. R.; DALLÁGNOL, J. M. H. Desenvolvimento de

ontologias limpas a partir de etiquetagens. In: 3oONTOBRAS, p. 203–212. III

Seminário de Pesquisa em Ontologias no Brasil, 2010.

[100] TELINE, M. F. Avaliação de métodos de extração automática de

terminologias para textos em portugues, 2004. Dissertação (Mes-

trado em Ciências) – Instituto de Ciências Matemáticas e de Compu-

tação, Universidade Estadual de São Paulo, São Carlos. Disponível em:

<www.nilc.icmc.usp.br/nilc/download/dissertacao_fernanda.pdf>. Acesso em: 29

abr. 2014.

[101] TURNEY, P. D. Mining the web for synonyms: Pmi-ir versus lsa on toefl. In:

Proceedings of the 12th European Conference on Machine Learning, EMCL ’01, p.

491–502, London, UK, UK, 2001. Springer-Verlag.

[102] USCHOLD, M.; KING, M. Towards a methodology for building ontologies. In:

In Workshop on Basic Ontological Issues in Knowledge Sharing, held in conjunction

with IJCAI-95, 1995.

Page 98: SABENÇA - um arcabouço computacional baseado na ...repositorio.bc.ufg.br/tede/bitstream/tede/4712/5/Dissertação... · automáticas para a aprendizagem de ontologias a partir de

Referências Bibliográficas 95

[103] VELARDI, P.; FABRIANI, P.; MISSIKOFF, M. Using text processing techni-

ques to automatically enrich a domain ontology. In: Proceedings of the Inter-

national Conference on Formal Ontology in Information Systems (FOIS), Ogunquit,

Maine, USA, 2001.

[104] VELARDI, P.; NAVIGLI, R.; CUCCHIARELLI, A.; NERI, F. Evaluation of

OntoLearn, a methodology for automatic population of domain ontologies.

In: Buitelaar, P.; Cimiano, P.; Magnini, B., editors, Ontology Learning from Text:

Methods, Applications and Evaluation. IOS Press, 2006.

[105] VILELA, P. D. C. S. Classificação de sentimentos para notícias so-

bre a petrobras no mercado financeiro, 2011. Dissertação (Mestrado

em Informática) – Departamento de Informática, Pontifícia Universidade Cató-

lica do Rio de Janeiro, Rio de Janeiro. Disponível em: <http://www2.dbd.puc-

rio.br/pergamum/tesesabertas/0912855_2011_pretextual.pdf>. Acesso em: 02 fev.

2015.

[106] WEISZFLOG, W. Michaelis dicionário prático : Ingles-Portugues, Portugues-

Ingles. Editora Melhoramentos, São Paulo, 2a. ed. edition, 2009.

[107] WONG, W.; LIU, W.; BENNAMOUN, M. Tree-traversing ant algorithm for

term clustering based on featureless similarities. Data Mining and Knowledge

Discovery, 15(3):349–381, 2007.

[108] 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.

[109] 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.

[110] ZAHRA, F. M.; MALUCELLI, A.; FREDDO, A. R.; TACLA, C. A. Ferramentas

para aprendizagem de ontologias a partir de textos. In: Perspectivas em Ciência

da Informação, volume 19, p. 3–21, 2014.

Page 99: SABENÇA - um arcabouço computacional baseado na ...repositorio.bc.ufg.br/tede/bitstream/tede/4712/5/Dissertação... · automáticas para a aprendizagem de ontologias a partir de

APÊNDICE ATermos relevantes e compostos selecionadospelos especialistas

Tabela A.1: Representa as entidades utilizadas para compôr a es-trutura ontológica

Termo Relevante Termo Composto

academia ações administrativas

ação ações assistenciais

administração ações básicas

administrativa ações complementares

administrativo ações concretas

ambiente ações conjuntas

análise ações coordenadoras

aplicação ações corretas

apoio ações corretivas

área ações cotidianas

áreas ações criminosas

atendimento ações criminosas a preservação

ativa ações de caráter repressivo

ativas ações de comandos

atividade ações de confrontos diretos

atividades ações de controle

ativo ações de fiscalização policiamento

ativos ações de inteligência

atos ações de inteligência interna

atuação ações de levantamento

autoridade ações de organização

avaliação ações de patrulhamento

características ações de polícia militar

Page 100: SABENÇA - um arcabouço computacional baseado na ...repositorio.bc.ufg.br/tede/bitstream/tede/4712/5/Dissertação... · automáticas para a aprendizagem de ontologias a partir de

Apêndice A 97

caso ações de polícia ostensiva

casos ações de policia repressiva

cidadão ações de policiamento

código ações de policiamento ostensivo

comandante ações de policiamento preventivas

comando ações de segurança pública

combate ações de subordinados

comunidade ações defensivas

comunitária ações didáticas

comunitário ações distintas

condições ações diversas

constituição ações efetivas

controle ações em levantamentos

corporação ações emergenciais

crime ações enérgicas

crimes ações especiais em goiás

criminalidade ações especial

curso ações específicas

cursos ações estrategicamente

decisões ações estratégicas

defesa ações estratégicas para projetos

desempenho ações ilegais

desenvolvimento ações inovadoras

direito ações inovadores

direitos ações integradoras

disciplina ações menores

disciplinar ações necessária

drogas ações necessárias

efetivo ações necessárias ao funcionamento

eficiência ações necessário

elaboração ações operacionais

empenho ações operacionais de combate

emprego ações ostensivas

ensino ações pedagógicas

envolvimento ações pm comunitários

especialização ações policiais

Page 101: SABENÇA - um arcabouço computacional baseado na ...repositorio.bc.ufg.br/tede/bitstream/tede/4712/5/Dissertação... · automáticas para a aprendizagem de ontologias a partir de

Apêndice A 98

estado ações policial

estados ações positivas de segurança

estadual ações práticas

estrutura ações práticas de trabalho

estudo ações prevenindo

estudos ações preventivas

execução ações preventivas em andamento

exemplo ações preventivas para perícia

exercício ações proativas

fato ações próativas

força ações projetos

forças ações própria

formação ações públicas

formações ações reativas

função ações repreensivas

funções ações repressivas

gente ações repressoras

gerenciamento ações rigorosas de combate

gestão ações rotineiras

goiás ações sociais de prevenção

gráfico ações táticas

grupo ações violentas

homicídios estado de calamidade pública

humanos estado de emergência

importância estado de flagrante delito

informação estado de goias

informações estado de goiás

instituição estado de goiás polícia

instituições estado de goiás rdpmgo

instrução estado de goiás recursos

inteligência estado de goiáspmgo

justiça estado de goiásrdpmego

legislação estado democrático

leis estado democrático de direito

local estado disponível

medidas estado em comandos regionais

Page 102: SABENÇA - um arcabouço computacional baseado na ...repositorio.bc.ufg.br/tede/bitstream/tede/4712/5/Dissertação... · automáticas para a aprendizagem de ontologias a partir de

Apêndice A 99

militar estado goiano

militares estado governo

missão estado prestador de serviços

natureza estado provedor

necessário estado social a igualdade

necessidades militar atuante

normas militar com comunidade

número militar em dupla

objetivo militar estadual

objetivos militar goiano

ocorrências militar importante

oficiais militar para inatividade

oficial militar para missão

operacional militar por viatura

operações militar profissional

ordem militar responsável

organização militar transgressor

organizações polícia a manifestação

órgãos polícia a serviço

patrulhamento polícia administrativa

penas polícia administrativo

pessoal polícia agindo de ofício

pessoas polícia ambiental

planejamento polícia atenta

pmgo polícia cidadã

poder polícia com ascensão hierárquica

polícia polícia com comunidade

policiais polícia com missão

policial polícia competente

policiamento polícia comunitária

polícias polícia comunitária a implantação

políticas polícia comunitária em goiás

população polícia contemporânea

posição polícia de choque

posto polícia de forma direta

prática polícia de guarda

Page 103: SABENÇA - um arcabouço computacional baseado na ...repositorio.bc.ufg.br/tede/bitstream/tede/4712/5/Dissertação... · automáticas para a aprendizagem de ontologias a partir de

Apêndice A 100

preservação polícia de inteligência

prevenção polícia de interesse coletivo

princípio polícia de segurança

princípios polícia de segurança pública

problema polícia de trânsito

problemas polícia de trânsito evidentemente

produção polícia democrática

profissionais polícia diversas

profissional polícia educativa

programa polícia eficiente

projeto polícia em atividade plenamente

projetos polícia escalonamento

pública polícia estadual

públicas polícia fiscal

público polícia florestal

públicos polícia goiana

qopm polícia interativa

realização polícia militar

recursos polícia militar a ostensividade

respeito polícia militar de choque

responsabilidade polícia militar de goiás

resultados polícia militar de normas padrão

risco polícia militar de trânsito

segurança polícia militar em apoio

serviço polícia militar em conformidade

serviços polícia militar em convênio

sistemas polícia militar em geral

situação polícia militar em goiás

sociais polícia militar em ocorrências

social polícia militar para atendimento

sociedade polícia militar para atuação

superior polícia militarcegesp

trabalho polícia militares

trânsito polícia modelo

unidade polícia moderna

unidades polícia modernas

Page 104: SABENÇA - um arcabouço computacional baseado na ...repositorio.bc.ufg.br/tede/bitstream/tede/4712/5/Dissertação... · automáticas para a aprendizagem de ontologias a partir de

Apêndice A 101

vida polícia motorista

vidas polícia oficiais

violência polícia operante

polícia ostensiva

polícia ostensiva a exemplo

polícia ostensiva a preservação

polícia ostensiva com atribuições

polícia ostensiva com ocorrências

polícia ostensiva de preservação

polícia ostensiva de prevenção

polícia ostensivo

polícia para estatísticas

polícia para sociedade

polícia patrulhamento

polícia polícia

polícia política

polícia presente

polícia preventiva

polícia próativa

polícia pública

polícia quartéis

polícia reativa

polícia repressiva

polícia repressivo

polícia repressora

polícia reserva

polícia serviço

polícia sigilosas

polícia sigiloso

pública sem homofobia

segurança ambiental

segurança ao policial militar

segurança ao serviço policial

segurança cidadã

segurança coletiva

segurança com participação efetiva

Page 105: SABENÇA - um arcabouço computacional baseado na ...repositorio.bc.ufg.br/tede/bitstream/tede/4712/5/Dissertação... · automáticas para a aprendizagem de ontologias a partir de

Apêndice A 102

segurança comunitária

segurança de bairro

segurança de eventos

segurança de policiamento urbano

segurança de trânsito

segurança efetiva

segurança efetiva de combate

segurança em linhas gerais

segurança em zonas urbanas

segurança escolar

segurança escolar em andamento

segurança estaduais

segurança indispensável

segurança indispensável ao exercício

segurança infoseg

segurança interna

segurança judiciária

segurança locais

segurança melhorar

segurança militar

segurança nacional

segurança necessária

segurança necessária com policiais

segurança oficial

segurança ostensiva

segurança para combate

segurança para espetáculo

segurança participativa

segurança periférica

segurança pessoal de autoridade

segurança polícia

segurança preventiva

segurança púbica

segurança publica

segurança pública

segurança pública a aplicação

Page 106: SABENÇA - um arcabouço computacional baseado na ...repositorio.bc.ufg.br/tede/bitstream/tede/4712/5/Dissertação... · automáticas para a aprendizagem de ontologias a partir de

Apêndice A 103

segurança pública a comunidade

segurança pública a constituição

segurança pública a garantia

segurança pública a ouvidoriageral

segurança pública a setorização

segurança pública a sindicância

segurança pública ao cidadão

segurança pública com cidadania

segurança pública com competência

segurança pública com qualidade

segurança pública de goiás

segurança pública de qualidade

segurança pública em conjunto

segurança pública em goiás

segurança pública em parceria

segurança pública sem homofobia

segurança públicapolícia

segurança públicas

segurança responsável

segurança social

segurança viária

Page 107: SABENÇA - um arcabouço computacional baseado na ...repositorio.bc.ufg.br/tede/bitstream/tede/4712/5/Dissertação... · automáticas para a aprendizagem de ontologias a partir de

APÊNDICE BRelações Taxonômicas a partir dos padrõesHearst

Tabela B.1: Representa os padrões Hearst selecionados

Padrão Hearsthyponym(academia | escola moderna e produtiva)hyponym(comunidade | setores)hyponym(crime | estudos)hyponym(crimes | problemas)hyponym(drogas | crimes)hyponym(drogas | tipos)hyponym(humanos | mulheres e criança)hyponym(laudos | documentos)hyponym(policial | um bom e eficiente)hyponym(traficantes | crimes)

Page 108: SABENÇA - um arcabouço computacional baseado na ...repositorio.bc.ufg.br/tede/bitstream/tede/4712/5/Dissertação... · automáticas para a aprendizagem de ontologias a partir de

APÊNDICE CLayout dos arquivos

Tabela C.1: Layout do arquivo “etiquetado<TIPO>_<ID>.txt”

Campo Descrição Tipo Obrig Nulo RegraTermo Palavra individual separada

para etiquetagemalfanumérico sim não sem espaços

em branco com“Tab” ao final

Lema Representa o termo, igno-rando o tempo verbal casoseja um verbo, o gênero dapalavra, o plural e etc.

alfanumérico sim não sem espaçosem branco com“Tab” ao final

Etiqueta Etiqueta gerada pelo etiqueta-dor

alfanumérico sim não sem espaços embranco

Tabela C.2: Layout do arquivo “termosPesagem.txt”

Campo Descrição Tipo Obrig Nulo RegraTermo Palavra individual separada

para etiquetagemalfanumérico sim não sem espaços

em branco com“Tab” ao final

Lema Representa o termo, igno-rando o tempo verbal casoseja um verbo, o gênero dapalavra, o plural e etc.

alfanumérico sim não sem espaçosem branco com“Tab” ao final

Índice Resultado da medida deFrequência

decimal sim não sem espaços embranco

Tabela C.3: Layout do arquivo “termoComposto.txt”

Campo Descrição Tipo Obrig Nulo RegraTermo Termo composto alfanumérico sim não sem espaços

em branco com“Tab” ao final

Regra Regra utilizada para encon-trar o termo composto

literal sim não

Page 109: SABENÇA - um arcabouço computacional baseado na ...repositorio.bc.ufg.br/tede/bitstream/tede/4712/5/Dissertação... · automáticas para a aprendizagem de ontologias a partir de

Apêndice C 106

Tabela C.4: Layout do arquivo “padraoHearst.txt”

Campo Descrição Tipo Obrig Nulo RegraRelação Relação taxonômica de

pai/filhoalfanumérico sim não (pai‖filhos) com

“Tab” ao finalobs.: os termosfilhos são separa-dos por “e”, casoexista mais deum.

Frase A frase encontrada pelo pa-drão Hearst

literal sim não com “Tab” ao fi-nal

ID Código do padrão Hearst literal sim não na Tabela C.6

Tabela C.5: Layout do arquivo “arquivo.xml”

Campo Descrição Tipo Obrig Nulo RegraRaiz O nó raiz do xml alfanumérico sim não <raiz></raiz>Pai O termo relevante alfanumérico sim não <ValorTermo/>Filho Relação de “is-a” dos termos alfanumérico sim não <ValorTermo>

<tipo> valorTer-moComposto</tipo> </Valor-Termo>

Tabela C.6: ID dos Padrões Hearst

ID Expressão Regularcomo ([A-Za-z]+) como ([A-Za-z,]* [A-Za-z]+ (e|ou) [A-Za-z]+)tais como ([A-Za-z,]+) tais como ([A-Za-z,]* [A-Za-z]+ (e|ou) [A-Za-z]+)tais & como tais ([A-Za-z]+) como ([A-Za-z,]* [A-Za-z]+ (e|ou) [A-Za-z]+)e outros ([A-Za-z,]*) e outros ([A-Za-z]+)incluindo ([A-Za-z,]+) incluindo ([A-Za-z,]* (e|ou) [A-Za-z]+)especialmente ([A-Za-z,]+) especialmente ([A-Za-z,]* (e|ou) [A-Za-z]+)principalmente ([A-Za-z,]+) principalmente ([A-Za-z,]* (e|ou) [A-Za-z]+)particularmente ([A-Za-z,]+) particularmente ([A-Za-z,]* (e|ou) [A-Za-z]+)em especial ([A-Za-z,]+) em especial ([A-Za-z,]* (e|ou) [A-Za-z]+)em particular ([A-Za-z,]+) em particular ([A-Za-z,]* (e|ou) [A-Za-z]+)de maneira especial ([A-Za-z,]+) de maneira especial ([A-Za-z,]* (e|ou) [A-Za-z]+)sobretudo ([A-Za-z,]+) ([A-Za-z,]+) sobretudo ([A-Za-z,]* (e|ou) [A-Za-z]+)ou outros ([A-Za-z,]*) ou outros ([A-Za-z]+)