Pós-Graduação em Ciência da Computação “Um Método Não Supervisionado para o Povoamento de Ontologias na Web” Por Hilário Tomaz Alves de Oliveira Dissertação de Mestrado Universidade Federal de Pernambuco [email protected] www.cin.ufpe.br/~posgraduacao RECIFE, ABRIL/2013 0 Universidade Federal de Pernambuco Centro de Informática Pós-graduação em Ciência da Computação HILÁRIO TOMAZ ALVES DE OLIVEIRA “Um Método Não Supervisionado para o Povoamento de Ontologias na Web" ESTE TRABALHO FOI APRESENTADO AO PROGRAMA DE PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO DO CENTRO DE INFORMÁTICA DA UNIVERSIDADE FEDERAL DE PERNAMBUCO COMO REQUISITO PARCIAL PARA OBTENÇÃO DO GRAU DE MESTRE EM CIÊNCIA DA COMPUTAÇÃO. ORIENTADOR: Prof. Dr. Frederico Luiz Gonçalves de Freitas RECIFE, ABRIL/2013 1 Catalogação na fonte Bibliotecária Jane Souto Maior, CRB4-571 Oliveira, Hilário Tomaz Alves de Um método não supervisionado para o povoamento de ontologias na web. / Hilário Tomaz Alves de Oliveira. Recife: O Autor, 2013. 146 folhas: fig., tab. Orientador: Frederico Luiz Gonçalves de Freitas. Dissertação (mestrado) - Universidade Federal de Pernambuco. CIn, Ciência da Computação, 2013. Inclui bibliografia e anexo. 1. Inteligência artificial. 2. Processamento de linguagem natural. I. Freitas, Frederico Luiz Gonçalves de (orientador). II. Título. 006.3 CDD (23. ed.) MEI2013 – 066 2 Dissertação de Mestrado apresentada por Hilário Tomaz Alves de Oliveira à Pós Graduação em Ciência da Computação do Centro de Informática da Universidade Federal de Pernambuco, sob o título “Um Método Não Supervisionado para o Povoamento de Ontologias na Web” orientada pelo Prof. Frederico Luiz Gonçalves de Freitas e aprovada pela Banca Examinadora formada pelos professores: ______________________________________________ Prof. Rafael Dueire Lins Centro de Informática / UFPE ______________________________________________ Profa. Laís do Nascimento Salvador Departamento de Ciência da Computação / UFBA _______________________________________________ Prof. Frederico Luiz Gonçalves de Freitas Centro de Informática / UFPE Visto e permitida a impressão. Recife, 3 de abril de 2013 ___________________________________________________ Profa. Edna Natividade da Silva Barros Coordenadora da Pós-Graduação em Ciência da Computação do Centro de Informática da Universidade Federal de Pernambuco. 3 Dedico este trabalho à minha família, aos professores e amigos que conheci ao longo de toda minha vida. 4 AGRADECIMENTOS Primeiramente agradeço a Deus pela saúde que me proporcionou ao longo de toda à minha vida, pela força e coragem que me fizeram nunca desistir e a cada dia mais superar novos desafios. À minha família, especialmente aos meus pais, Francisco Tomaz e Luzineida Ferreira, e aos meus irmãos Daniel Tomaz e Danielle Tomaz por todo o apoio proporcionado e por sempre me fazer sentir que onde quer que eu esteja sempre terei uma casa para voltar. Ao meu orientador, Prof. Fred Freitas, pela confiança, competência, palavras de incentivo, dedicação e paciência em cada passo na construção deste trabalho. Ao meu coorientador Rinaldo pela ajuda, confiança, incentivo, paciência, dias de discussões e atenção prestada ao longo do desenvolvimento deste trabalho. Aos meus amigos João Emanoel e Renê Gadelha pela grande convivência ao longo desses dois anos de mestrado, cujos momentos memoráveis lembrarei pelo resto da minha vida. A todos os meus amigos de infância em especial Jefferson Filgueira, Sérgio, Artur, Paulo, Breitner, Leônidas, Ewerton e Bruno Cesarino que apesar da distância e do tempo nunca deixaram a amizade acabar. A todos os meus amigos que tive a oportunidade conhecer ao longo de toda a minha vida, em especial os amigos que fiz durante esses dois anos de mestrado. A todos os professores que tive oportunidade de conhecer desde o ensino fundamental até o curso de mestrado. Em especial ao professor e amigo Ryan por ter sempre incentivado e encorajado o meu interesse pela vida acadêmica. Ao Centro de Informática da Universidade Federal de Pernambuco - CIN-UFPE, pela excelente estrutura física e pessoal proporcionada a todos os seus alunos. 5 Resumo A Web Semântica proposta por Berners-Lee tem o objetivo de tornar explícito o significado dos dados disponíveis na Web. Com isso, é possível que esses dados sejam processados tanto por pessoas quanto por agentes inteligentes que passam a ter acesso à semântica dos dados presentes na Web. Entretanto, para que a Web Semântica se torne uma realidade, é necessário que grande parte desses dados estejam anotados semanticamente, algo que não ocorre atualmente. Como forma de solucionar esse problema, é crescente o interesse no desenvolvimento de sistemas capazes de extrair conteúdo semântico automaticamente a partir de fontes de dados não estruturados. Nesse contexto, o objetivo desta dissertação é definir um método automático, não supervisionado e independente de domínio capaz de extrair instâncias de classes ontológicas a partir de fontes de dados não estruturados escritos em linguagem natural disponíveis na Web. A metodologia proposta é guiada por uma ontologia de entrada que define quais conceitos devem ser povoados, e por um conjunto de padrões linguísticos independentes de domínio usados para extrair e classificar os candidatos a instâncias. Com o objetivo de obter uma alta taxa de precisão, neste trabalho é proposto uma Medida de Confiança Combinada (MCC), cujo objetivo é integrar diferentes medidas e heurísticas para classificar os candidatos a instâncias extraídos. Essa medida de confiança combinada foi definida a partir dos resultados de uma exaustiva análise comparativa entre vários parâmetros analisados. O método proposto é capaz ainda de extrair novos padrões linguísticos expandindo o conjunto inicial de padrões adotados. Os resultados obtidos com os experimentos realizados em diferentes domínios indicam que a metodologia proposta é capaz de extrair uma grande quantidade de instâncias de classes, além de integrar novos padrões linguísticos a cada iteração executada. Palavras-chave: Web Semântica, Ontologias, Povoamento de Ontologias, Extração de Informação baseada em Ontologias. 6 Abstract The Semantic Web proposed by Berners-Lee, aims to make explicit the meaning of the data available on the Web. Thus, it is possible that these data are processed both by people and by intelligent agents that now have access to the semantics of the data present on the Web. However, for the Semantic Web becomes a reality, it is necessary that most of these data are semantically annotated, something that nowadays does not happen. To overcome this problem there is a growing interest in developing systems capable of automatically extracting semantic content from unstructured data sources. In this context, this work aims to define an automatic, unsupervised and domain independent method capable of extracting instances of ontological classes from unstructured data sources written in natural language available on the Web. The proposed methodology is guided by an input ontology that defines concepts which must be populated, and a set of domain independent linguistic patterns used to extract and classify the candidate instances. Aiming to reach a high precision, this work proposes a Confidence Combined Measure (CCM), whose the goal is to integrate different metrics and heuristics to rank the candidate instances extracted. This combined measure of confidence was defined from the results of a comprehensive comparative analysis of various parameters. The proposed method is also able to extract new linguistic patterns expanding the initial set of adopted patterns. The achieved results with the conducted experiments in different domains suggest that the proposed methodology is able to extract a large amount of instances of classes, and integrate new linguistic patterns in each new iteration. Keywords: Semantic Web, Ontologies, Ontology Population, Ontology-based Information Extraction. 7 Sumário 1 2 Introdução ___________________________________________________________ 15 1.1 Objetivos do Trabalho ...................................................................................................17 1.2 Metodologia.....................................................................................................................18 1.3 Hipóteses .........................................................................................................................19 1.4 Organização do Texto ....................................................................................................20 Ontologias ____________________________________________________________ 22 2.1 Definição..........................................................................................................................22 2.2 Tipos de Ontologias ........................................................................................................24 2.3 Por que utilizar Ontologias? .........................................................................................25 2.4 Linguagens para Representação de Ontologias ..........................................................26 2.4.1 RDF e RDFS ..............................................................................................................26 2.4.2 OIL e OIL-DAML .....................................................................................................27 2.4.3 OWL ..........................................................................................................................28 2.5 Áreas de Aplicação das Ontologias ...............................................................................29 2.5.1 Web Semântica ..........................................................................................................29 2.5.2 Processamento de Linguagem Natural ......................................................................30 2.5.3 Gestão do Conhecimento ...........................................................................................30 2.5.4 Comércio Eletrônico ..................................................................................................31 2.6 3 Conclusão do Capítulo ...................................................................................................32 Extração de Informação ________________________________________________ 33 3.1 Estrutura dos Documentos ............................................................................................34 3.2 Tipos de Sistemas de Extração de Informação ............................................................36 3.2.1 Extração de Informação usando Wrappers ................................................................37 3.2.2 Extração de Informação usando Processamento de Linguagem Natural ..................38 3.2.2.1 Tokenização .............................................................................................................39 3.2.2.2 Processamento Léxico/Morfológico ........................................................................40 3.2.2.3 Análise Sintática ......................................................................................................41 3.2.2.4 Análise Semântica ..................................................................................................41 3.2.2.5 Análise de Discurso .................................................................................................42 4 3.3 Medidas para Avaliação de Sistema de Extração de Informação ............................42 3.4 Desafios da área de Extração de Informação ..............................................................43 3.5 Conclusões do Capítulo..................................................................................................46 Extração de Informação Baseado em Ontologias ____________________________ 47 4.1 Povoamento de Ontologia ..............................................................................................48 4.2 Classificação das Atuais Abordagens de EIBO ...........................................................50 4.2.1 Regras Linguísticas representadas por Expressões Regulares ..................................50 4.2.2 Gazetteers ..................................................................................................................52 8 4.2.3 4.2.4 4.2.5 4.2.6 5 Técnicas de Classificação ..........................................................................................52 Construção de Árvores de Análise Parcial (Partial Parse Trees) .............................53 Analisando Etiquetas HTML/XML ...........................................................................54 Métodos Baseados em Pesquisas na Web ..................................................................54 4.3 Medidas de Avaliação ....................................................................................................58 4.4 Direções Futuras .............................................................................................................59 4.5 Conclusões do Capítulo..................................................................................................60 Método Não Supervisionado para o Povoamento de Ontologias na Web ________ 62 5.1 Extração dos Candidatos a Instâncias..........................................................................64 5.2 Classificação dos Candidatos a Instâncias ...................................................................68 5.2.1 Pontuação de Informação Mútua ...............................................................................70 5.2.2 Similaridade Semântica no WordNet .........................................................................73 5.2.3 Número de Padrões Extra e Correspondência Direta ................................................74 6 5.3 Povoamento da Ontologia de Entrada .........................................................................75 5.5 Conclusões do Capítulo..................................................................................................77 Experimentos e Resultados ______________________________________________ 78 6.1 Descrição do Corpus .......................................................................................................79 6.2 Medida de Avaliação ......................................................................................................80 6.3 Experimento 1: Avaliação entre as Variações das Medidas de PMI e a MCC.........82 6.3.1 Configurações do Experimento .................................................................................82 6.3.2 Variações das Medidas de PMI e MCC Avaliadas ...................................................84 6.3.3 Resultados e Discussões ............................................................................................87 6.3.4 Conclusões do Experimento ......................................................................................92 6.4 Experimento 2: Avaliação dos Constituintes da Medida de Confiança Combinada (MCC) ........................................................................................................................................93 6.4.1 Configurações do Experimento .................................................................................93 6.4.2 Análise da Medida de PMI ........................................................................................94 6.4.3 Análise da Medida de SWN...........................................................................................98 6.4.4 Análise da Heurística de NPE .................................................................................100 6.4.5 Comparações entre os constituintes PMI, SWN e NPE ...............................................101 6.4.6 Conclusões do Experimento ....................................................................................104 7 8 6.5 Experimento 3: Avaliação das Variações da MCC ...................................................105 6.6 Conclusões do Capítulo................................................................................................ 109 Aprendizagem de Padrões Linguísticos Específicos _________________________ 110 7.1 Extração de Padrões Linguísticos Específicos ...........................................................111 7.2 Classificação dos Padrões Linguísticos Específicos...................................................113 7.3 Avaliação da execução de duas Iterações do Método Proposto ...............................115 7.4 Conclusões do Capítulo................................................................................................ 119 Conclusões e Trabalhos Futuros ________________________________________ 121 8.1 Hipóteses .......................................................................................................................122 9 8.2 Limitações do Método e Desafios Enfrentados ..........................................................124 8.3 Conclusões .....................................................................................................................128 8.4 Contribuições ................................................................................................................130 8.5 Trabalhos Futuros ........................................................................................................131 8.6 Artigos Publicados........................................................................................................132 Anexo A: Medidas de Similaridade Semântica Baseadas no WordNet Avaliadas ____ 133 Referências _____________________________________________________________ 137 10 Lista de Figuras Figura 3.1 Exemplo de um SEI para extrair informações sobre autores ________________ 33 Figura 3.2 Trecho de um documento XML representado um artigo científico ___________ 35 Figura 3.3 Trecho de código HTML representando informações sobre um artigo científico 35 Figura 4.1 Processo de Povoamento de Ontologia adaptado de (Petasis et al., 2011). _____ 49 Figura 5.1 Visão simplificada do método proposto _______________________________ 63 Figura 5.2 Ontologia de entrada antes do processo de povoamento ___________________ 76 Figura 5.3 Ontologia de entrada após o processo de povoamento ____________________ 76 Figura 6.1 Snippets recuperados pela consulta cities such as aplicados ao mecanismo de busca Bing ____________________________________________________________________ 79 Figura 6.2 Comparação entre as medidas de PMIStrength e MCCStrength _________________ 87 Figura 6.3 Comparação entre as medidas de PMIStr INorm e MCCStr INorm _______________ 88 Figura 6.4 Comparação entre as medidas de PMIStr ICNorm e MCCStr ICNorm ______________ 88 Figura 6.5 Comparação entre as medidas de PMIStr INorm Hits0 e PMIStr INorm _____________ 95 Figura 6.6 Comparação entre as medidas de PMIStr INorm Hits0 and e PMIStr INorm Hits0 _______ 97 Figura 6.7 Avaliações das medidas de similaridade semântica no WordNet ____________ 99 Figura 6.8 Resultados da avaliação da medida de SWN ___________________________ 100 Figura 6.9 Resultados da avaliação da heurística de NPE__________________________ 101 Figura 6.10 Comparação entre a medida de PMIStr INorm Hits0 and e a heurística de NPE ____ 102 Figura 6.11 Comparação entre as medidas de PMIStr INorm Hits0 and e SWN _____________ 103 Figura 6.12 Comparação entre a medida de SWN e a heurística de NPE ______________ 104 Figura 6.13 Comparação entre as versões MCCvar1 e MCCvar2 ______________________ 107 Figura 6.14 Comparação entre as versões MCCvar2 e MCCvar3 ______________________ 108 Figura 7. 1 Comparação entre os resultados da primeira e a segunda iteração do método _ 118 Figura 8.1 Comparação entre a medida de PMIStr INorm Hits0 and e a variação MCCvar2 _____ 123 11 Lista de Tabelas Tabela 5.1 Padrões Linguísticos adaptados de (Hearst, 1992) e suas respectivas consultas _ 65 Tabela 5.2 Exemplo da lista de candidatos a instâncias extraídos para a classe City ______ 68 Tabela 5.3 Exemplo de consultas formuladas para o cálculo do PMI utilizando a classe Disease e o candidato a instância Pox _________________________________________________ 70 Tabela 6.1 Padrões linguísticos definidos por (Hearst, 1992) ________________________ 83 Tabela 6.2 Configurações utilizadas na MCC ___________________________________ 106 Tabela 7. 1 Novos padrões linguísticos específicos extraídos _______________________ 117 12 Lista de Abreviaturas e Siglas AP - Augmented Precision AR - Augmented Recall AM - Aprendizagem de Máquina B2B - Business to Business B2C - Business to Consumer CD - Correspondência Direta CE - Cobertura Estimada CI - Conteúdo de Informação CMEC - Conceito Mais Específico em Comum DARPA - Defense Advanced Research Projects Agency DAML - Defense Advanced Research Projects Agency Agent Markup Language EI - Extração de Informação EIBO - Extração de Informação Baseada em Ontologias GATE - O General Architecture for Text Engineering HTML - HyperText Markup Language IA - Inteligência Artificial LA - Learning Accuracy LIEP - Learning Information Extraction Patterns MCC - Medida de Confiança Combinada MUCs - Message Understanding Conferences NP - Noun Phrase NPE - Número de Padrões Extra OIL - Ontology Inference Layer OWL - Web Ontology Language PE - Precisão Estimada PLN - Processamento de Linguagem Natural PMI - Pointwise Mutual Information POS - Part-of-Speech QL - Query Language RDF - Resource Description Framework RDFS - Resource Description Framework Schema 13 RL - Rule Language SEI - Sistema de Extração de Informação SEIBOs - Sistemas de Extração de Informação Baseados em Ontologias SQL - Structured Query Language SOBA - SmartWeb Ontology-Based Annotation SWN - Medida de Similaridade no WordNet XML - Extensible Markup Language WebOnt - Web Ontology Working Group W3C - World Wide Web Consortium 14 1 Introdução Atualmente, a Web pode ser considerada como o maior repositório de informações no mundo, tornando-se referencia para consulta de conhecimento. A maioria dessas informações está representada em formato textual, escritas em linguagem natural, sendo destinada à consulta, análise e interpretação por pessoas. Apesar do crescente aumento no volume de dados disponíveis na Web, a capacidade humana de processamento e absorção dessas informações permanece constante e limitada (Ben-Dov e Feldman, 2005), surgindo assim a necessidade de sistemas computacionais que automatizem o processamento de grandes volumes de dados. O armazenamento de informações em formato textual não é a mais apropriada para o processamento computacional, uma vez que não é estruturada e não expressa explicitamente os aspectos semânticos de seu conteúdo. Esta falta de organização dificulta a exploração e a interpretação semântica das informações por agentes computacionais (Fensel et al. 2002). Segundo Feldman e Sanger (2007), atualmente a Web encontra-se em um nível sintático, ou seja, seu conteúdo pode ser lido por máquinas, apenas considerando palavras chave e combinações dessas, e não em um nível semântico, no qual sistemas computacionais podem interpretar de maneira não ambígua as informações disponíveis. Essa característica constitui uma limitação da Web atual. Com isso, a tarefa de encontrar automaticamente informações relevantes a necessidades específicas, principalmente as que exigem certo nível de interpretação semântica, torna-se árdua, demandando tempo e custo, sendo em muitos casos impraticáveis. Com o objetivo de suprir essas limitações, a Web Semântica (Berners-Lee et al., 2001) foi proposta como uma iniciativa global, caracterizando-se como uma evolução do atual cenário da Web. O principal objetivo da Web Semântica é tornar explícito o significado dos dados disponíveis em seu conteúdo. Com isso, é possível que esses dados sejam processados tanto por pessoas, quanto por agentes computacionais que passam a ter acesso à semântica dos dados. A Web Semântica se baseia em uma arquitetura organizada em camadas, no qual cada camada acrescenta um maior nível de expressividade e inferência (Koivunen e Miller, 2001). Uma das camadas fundamentais no desenvolvimento da Web Semântica é a composta por ontologias, sendo elas 15 responsáveis por fornecer a expressividade necessária à representação do conhecimento relevante sobre um domínio (Freitas, 2003). No contexto da Ciência da Computação, ontologias podem ser definidas como especificações explícitas e formais de uma conceitualização compartilhada (Studer et al 1998). Uma ontologia representa um domínio através de seus conceitos (classes), propriedades, relações, axiomas, hierarquia de conceitos (taxonomia de conceitos) e hierarquia de relações (taxonomia de relações). Para que os objetivos da Web Semântica sejam alcançados, computadores devem ter acesso a um conjunto de ontologias que permitam representar e compartilhar o conhecimento de diferentes domínios, e um processo de mapeamento entre essas ontologias e o conteúdo presente na Web (Anotação Semântica) (Berners-Lee et al., 2001). Além disso, um dos principais problemas da Web Semântica é a necessidade que grande parte das informações presentes na Web esteja anotada semanticamente, algo que não ocorre atualmente (Monllaó, 2011). Diante da necessidade do uso de ontologias, outro fator essencial para a Web Semântica é o processo de extração de conteúdo semântico em forma de ontologias. Esse processo é diretamente relacionado à Construção de Ontologias, atividade que envolve a aquisição de conhecimento complexo, tornando-a uma tarefa usualmente não trivial, demandando tempo e esforço (Zhou, 2007). A construção de ontologias envolve basicamente três tarefas: (1) Aprendizagem de Ontologias: tem por objetivo criar um esquema de uma ontologia a partir de uma base de dados; (2) Enriquecimento de Ontologias: cujo objetivo é atualizar uma ontologia existente com novas classes, relações e propriedades; (3) Povoamento de Ontologias: visa povoar uma ontologia existente com novas instâncias de classes, relações e propriedades. Como forma de automatizar os processos de Anotação Semântica e Construção de Ontologias, é crescente o interesse no desenvolvimento de métodos semiautomáticos ou automáticos para extração de conteúdo semântico a partir de fontes de dados não estruturados, como, por exemplo, textos simples escritos em linguagem natural e páginas web (McDowell e Cafarellab, 2008). Nesse cenário, Sistemas de Extração de 16 Informação Baseados em Ontologias (SEIBOs) podem auxiliar tanto no processo de Anotação Semântica, quanto na Construção de Ontologias a partir de bases não estruturadas. A Extração de Informação Baseada em Ontologias (EIBO) é uma subárea da Extração de Informação (EI) no qual ontologias são usadas para guiar o processo de identificação e extração de informações, ou seja, as ontologias descrevem o que é relevante para o processo de extração de informação em um domínio (Wimalasuriya e Dou, 2010). Além disso, ao final do processo de extração, as informações extraídas são usadas para atualizar a ontologia de entrada usada para guiar o processo. Diante disso, o objetivo desta dissertação é propor e avaliar um método não supervisionado, automático e independente de domínio capaz de auxiliar o processo de Povoamento de Ontologias. A metodologia proposta é capaz de extrair instâncias de classes ontológicas a partir de fontes de dados não estruturados escritos em linguagem natural disponíveis na Web. O método proposto é guiado por uma ontologia de entrada que define quais conceitos devem ser povoados, e por um conjunto de padrões linguísticos usados para extrair e classificar os candidatos a instancias extraídos. Com o objetivo de extrair uma grande quantidade de instâncias corretas, o presente trabalho propõe e avalia (através de vários experimentos) uma Medida de Confiança Combinada (MCC), cujo objetivo é integrar diferentes medidas e heurísticas para classificar os candidatos a instâncias. Além disso, o método proposto é capaz ainda de extrair novos padrões linguísticos expandindo o conjunto inicial de padrões adotados, aumentando a abrangência de instâncias passíveis de serem extraídas pelo método. 1.1 Objetivos do Trabalho O objetivo geral desta dissertação é propor e avaliar um método não supervisionado, automático e independente de domínio para o povoamento de ontologias na Web. A metodologia proposta é capaz de extrair instâncias de classes ontológicas a partir de textos simples escritos em linguagem natural presentes na Web. Com o objetivo de obter uma alta taxa de precisão na extração de instâncias, neste trabalho é proposto uma Medida de Confiança Combinada (MCC), cujo objetivo é integrar diferentes medidas e heurísticas para classificar os candidatos a instâncias extraídos. Para alcançar esse objetivo geral, os seguintes objetivos específicos foram definidos e alcançados: 17 Propor uma metodologia não supervisionada, automática e independente de domínio para a extração de instâncias de classes ontológicas a partir de textos escritos em linguagem natural presentes na Web; Definir uma Medida de Confiança Combinada (MCC) que integre diferentes medidas e heurísticas identificadas na literatura para avaliar os candidatos a instâncias extraídos; Propor uma sistemática para extração de novos padrões linguísticos específicos a partir da Web. Essa sistemática deve ser capaz extrair novos padrões linguísticos específicos por classe. Esses padrões posteriormente serão usados em futuras iterações do método proposto; Desenvolvimento de um Sistema de Extração de Informação Baseado em Ontologias (SEIBO) instanciando o método definido neste trabalho, integrando a metodologia de extração de instâncias, com a sistemática de aprendizagem de novos padrões linguísticos; Realização de diversos experimentos com o objetivo de avaliar todas as etapas do método proposto. Nesses experimentos, exaustivas análises devem ser realizadas nas medidas e heurísticas que compõem a MCC, buscando identificar a melhor configuração para classificação dos candidatos a instâncias extraídos. 1.2 Metodologia Para alcançar os objetivos delineados na seção anterior, o desenvolvimento deste trabalho dividiu-se em cinco fases: 1. Revisão Bibliográfica: nesta fase, foi realizada uma extensa revisão bibliográfica em diversas fontes da literatura, visando adquirir embasamento teórico suficiente para o desenvolvimento desta dissertação. As fontes pesquisadas foram livros, teses, dissertações e artigos, publicados em eventos e periódicos coletados das seguintes fontes de busca: ScinceDirect1, IEEE Digital Library2, ACM Digital Library3 e Google Acadêmico4; 1 http://www.sciencedirect.com/ 2 http://ieeexplore.ieee.org/Xplore/guesthome.jsp 18 2. Identificação de técnicas utilizadas em SEIBOs: nesta etapa, foi realizado um levantamento na literatura sobre os principais SEIBOs visando identificar as principais arquiteturas, ferramentas e técnicas utilizadas. Os SEIBOs que utilizam a Web como corpus foram destacados como trabalhos relacionados; 3. Definição de uma metodologia para EIBO na Web: tomando como base os artigos analisados na segunda fase, nesta etapa, foi definida uma abordagem não supervisionada, automática e independente de domínio capaz de extrair instâncias de classes ontológicas a partir de textos escritos em linguagem natural, encontrados na Web. Além disso, nesta fase foi definida a sistemática para extração de novos padrões linguísticos; 4. Desenvolvimento de um SEIBO: nesta etapa, foi realizado o desenvolvimento de um SEIBO seguindo a metodologia proposta na terceira fase; 5. Avaliação: nesta última etapa, foram realizados experimentos com o objetivo de avaliar todas as etapas da metodologia proposta. Para isso, diversos experimentos foram executados, e os resultados obtidos foram mensurados utilizando a tradicional medida de Precisão, analisando a variação de diferentes limiares para aceitação das instâncias extraídas. 1.3 Hipóteses O método não supervisionado para o povoamento de ontologias na Web proposto neste trabalho, fundamenta-se em duas hipóteses bases que posteriormente são avaliadas ao final do trabalho, sendo elas: Hipótese 1: A Combinação de diferentes medidas e heurísticas aplicadas para a classificação dos candidatos a instância. O método de classificação proposto para avaliar os candidatos a instâncias, parte da hipótese de que, utilizando uma combinação de diferentes medidas e heurísticas, melhores resultados em termos da medida de Precisão podem ser alcançados se comparados com a utilização desses isoladamente. O princípio básico é que as medidas utilizadas podem ser complementares, ou seja, cada 3 http://dl.acm.org/ 4 http://scholar.google.com.br/ 19 uma fornece um indício do grau de confiança de que um candidato seja ou não uma instância para a classe selecionada. Segundo Cimiano et al. (2005b) em seu estudo inicial, mesmo uma combinação simples de diferentes fontes de evidência demonstrou obter ganhos em termos das medidas de Cobertura e Precisão no processo de extração de conceitos hierárquicos em comparação com a utilização isolada de diferentes medidas e heurísticas. Hipótese 2: Futuras iterações do método proposto devem extrair novas instâncias, sem que ocorra um grande declínio na precisão dos resultados. Devido a sua natureza iterativa, o método proposto é capaz de utilizar o conhecimento adquirido (instâncias e padrões linguísticos específicos) em iterações anteriores para melhorar o processo de extração da iteração atual. O uso do conhecimento prévio adquirido pode ser útil, pois: (1) evita a presença de informações repetidas, ou seja, elimina candidatos que já são instâncias existentes; (2) instâncias de classes disjuntas eliminam falsos candidatos; (3) novos padrões linguísticos específicos aumentam a cobertura da extração, ou seja, um maior número de instâncias pode ser extraído; e (4) a utilização dos padrões específicos no cálculo da medida de PMI (seção 5.2.1) pode melhorar a avaliação dos candidatos a instância, já que esses padrões por serem específicos, fornecem um melhor contexto para a classe em povoamento. 1.4 Organização do Texto Está dissertação está organizada em mais sete capítulos. No Capítulo 2 são apresentados os conceitos fundamentais sobre ontologias. São discutidos os principais tipos de ontologias, qual a importância do uso de ontologias, principalmente para representação do conhecimento, principais linguagens de representação adotadas e, por fim, algumas de suas principais áreas de aplicação. É apresentada no Capítulo 3 uma introdução à área de Extração de Informação (EI), apresentando os conceitos básicos, abordagens, técnicas, medidas para avaliação e desafios da área de EI. No Capítulo 4 é apresentada uma introdução à área de Extração de Informação Baseada em Ontologia (EIBO). Uma vez que esse trabalho concentra-se principalmente nessa área, uma revisão das abordagens, técnicas e trabalhos anteriores realizados nesta área é necessária para o bom entendimento do método proposto e das contribuições alcançadas. No Capítulo 5 o método para o Povoamento de Ontologias na Web proposto neste trabalho 20 é apresentado. As duas primeiras etapas referentes a Extração e Classificação de Candidatos a Instâncias que compõem a metodologia proposta são discutidas. No Capítulo 6 são apresentados os experimentos realizados com o objetivo de avaliar as fases de Extração e Classificação de Candidatos a Instâncias do método proposto. No Capítulo 7, é apresentada a etapa de Aprendizagem de Novos Padrões Linguísticos Específicos, cujo objetivo é extrair novos padrões linguísticos, expandindo a cada iteração o conjunto inicial de padrões adotados no método proposto. Ao final desse capítulo, é apresentado e discutido os resultados obtidos com o experimento realizado para avaliar a realização de duas iterações no método proposto, analisando qual o impacto da inclusão dos novos padrões extraídos nas etapas de Extração e Classificação de Candidatos a Instâncias. No Capítulo 8, as hipóteses apresentadas neste trabalho são discutidas, as limitações do método e as lições aprendidas com o seu desenvolvimento são realçados. As conclusões identificadas com os experimentos realizados são expostas, além das contribuições alcançadas, e dos trabalhos futuros sugeridos para melhorar e expandir o método proposto. Por fim, no Anexo A, são apresentadas as seis medidas de similaridade semântica baseadas no WordNet avaliadas nos experimentos descritos no Capítulo 6. 21 2 Ontologias O termo Ontologia surgiu originalmente na Filosofia, como uma área que trata da natureza e organização dos seres (Maedche e Staab, 2001). Filósofos como Aristóteles e Platão buscavam identificar características fundamentais dos seres e como classificar se um item pertencente a essa categoria poderia ser definido com um ser. Posteriormente, pesquisas envolvendo o uso de ontologias ganharam destaque na comunidade da Ciência da Computação, principalmente nas áreas de Inteligência Artificial, Representação do Conhecimento e Banco de Dados (Welty e Guarino, 2001). Para essas áreas, a ideia de possuir um mecanismo capaz de representar categorias fundamentais de um domínio específico para proporcionar um entendimento comum entre diferentes desenvolvimento partes de interessadas sistemas apresentava computacionais um grande valor capazes de raciocinar para o sobre conhecimentos do mundo real (Azevedo, 2008). Neste capítulo são apresentados os conceitos fundamentais, tipos de ontologias, importância do uso de ontologias, principais linguagens de representação adotadas e por fim algumas de suas principais áreas de aplicação. 2.1 Definição A literatura sobre ontologias traz diversas definições distintas e muitas vezes complementares. Uma das definições mais conhecidas é proferida por Studer et al (1998), no qual ele define uma ontologia como "uma especificação explícita e formal de uma conceitualização compartilhada". Nessa definição, destacam-se alguns termos fundamentais: (1) explícita significa que os elementos de uma ontologia devem ser claramente definidos; (2) formal indica que a ontologia deve ser representada de forma que seja passível de ser processada por sistemas computacionais; (3) conceitualização refere-se a um modelo abstrato que represente conceitos relevantes de uma área de conhecimento ou de um universo limitado; e (4) compartilhada, uma ontologia deve representar um conhecimento consensual, isto é, esse conhecimento não deve ser restrito a alguns indivíduos, mas aceito por um grupo de pessoas. 22 Uma ontologia é formada basicamente por conceitos (classes) relevantes para o domínio em questão organizados taxonomicamente, propriedades que definem atributos pertencentes aos conceitos, um conjunto de relações entre esses conceitos, axiomas que descrevem regras pertinentes para o domínio, e instâncias utilizadas para representar elementos específicos de um conceito (Noy e McGuiness, 2001). Uma definição mais formal do conceito de ontologia e principalmente de seus componentes pode ser encontrada em (Maedche e Staab, 2001). Essa definição não leva em consideração as propriedades que podem ser definidas para os conceitos representados em uma ontologia. Definição: Uma ontologia é quíntupla O = {C, R, HC e HR, IC e IR, AO}, no qual: C: representa um conjunto de conceitos (classes) relevantes para um domínio específico; R: define um conjunto de relações entre os conceitos. HC: descreve uma hierarquia de conceitos da forma e ; , no qual Hc (C1, C2) significa que C1 é uma subclasse de C2; e HR representa uma hierarquia de relações da forma , no qual HR (R1, R2) significa que R1 é uma subrelação de R2; IC e IR: simboliza dois conjuntos distintos de instâncias de classes IC e relações IR; AO: representa um conjunto de axiomas expressos em uma linguagem lógica apropriada, por exemplo, Lógica de Descrição ou Lógica de Primeira Ordem. Segundo Sowa (2000) o objetivo de uma ontologia é classificar as coisas existentes ou as que podem existir em um domínio D utilizando uma linguagem de representação R. Para Guarino (1998), no contexto da Ciência da Computação, ontologias são tratadas como um artefato computacional composto de um vocabulário de conceitos, suas definições e suas possíveis propriedades. As ontologias estabelecem uma terminologia comum e não ambígua para a representação do conhecimento de um domínio. Portanto, caso exista uma ontologia que modele adequadamente um determinado domínio do conhecimento, essa pode ser 23 compartilhada e reutilizada por pessoas que desenvolvam aplicações nesse contexto e por sistemas computacionais que atuam sobre o mesmo domínio. O processo de construção de uma ontologia é uma tarefa complexa e custosa, devido ao fato das ontologias serem criadas através de um consenso de diferentes visões em relação a uma área de conhecimento (Azevedo, 2008). Além disso, é necessário que um ou mais especialistas do domínio de conhecimento em questão validem os conceitos, propriedades, relações, instâncias e axiomas representados (Freitas, 2003). Diante disso, a construção de ontologias de maneira semiautomática ou automática a partir de grandes bases de dados é uma alternativa que vem sendo investigada nos últimos anos (Cimiano et al., 2004; Etzioni et al., 2004a; Cimiano et al., 2005a; Zhou, 2007; McDowell e Cafarella, 2008). No capítulo 4, são apresentados diversos trabalhos que propõem métodos para construção de ontologias de forma automática ou semiautomática. 2.2 Tipos de Ontologias Diferentes classificações para ontologias podem ser encontradas na literatura conforme seu nível de especificidade. Segundo Guarino (1998), destacam-se pelo menos quatro tipos de ontologias, de acordo com sua tarefa e sua aplicabilidade. Ontologias de Alto Nível (Genéricas): descrevem conceitos gerais, que são independentes de domínio ou aplicação específica, tais como, Espaço, Evento, Tempo, dentre outros. Ontologias de Domínio: representam um vocabulário relacionado a um domínio específico, através da especialização dos termos estabelecidos na ontologia de alto nível. Por exemplo, ontologias sobre a medicina, segurança da informação, dentre outros domínios. Ontologias de Tarefa: descreve um vocabulário para a realização de tarefas ou atividades específicas, tais como, diagnosticar ou vender. Ontologias de Aplicação: representam um vocabulário relacionado a um domínio ou uma tarefa específica, através da especialização de conceitos definidos nas ontologias de alto nível. Esse tipo de ontologia, expressa 24 conceitos sobre a solução de problemas específicos de um domínio, por exemplo, identificar doenças do coração, a partir de uma ontologia sobre o domínio da cardiologia (Freitas, 2003). As classificações para as ontologias não se limitam aos quatro tipos supracitados, existem outros tipos de ontologias, por exemplo, Ontologias de Núcleo (Core), Ontologias de Representação, dentre outras (Guizzardi, 2000). 2.3 Por que utilizar Ontologias? As ontologias fornecem um vocabulário comum para a representação do conhecimento de um domínio. Portanto, elas podem ser interpretadas por diferentes agentes, sejam eles humanos ou sistemas computacionais. Diversas vantagens para a utilização de ontologias têm sido apresentadas pela comunidade da Ciência da Computação. Dentre elas, ressaltam-se (Freitas, 2003; Azevedo, 2008): Entendimento: ontologias fornecem uma representação formal do conhecimento de um domínio, evitando assim interpretações ambíguas. Comunicação: ontologias permitem o compartilhamento de conhecimento entre diferentes pessoas interessadas no domínio representado. Portanto, uma ontologia modelada adequadamente pode ser compartilhada por pessoas que desenvolvam aplicações desse domínio e por sistemas computacionais que atuam em um mesmo domínio. Interoperabilidade: assim como as pessoas, os sistemas computacionais podem utilizar as ontologias como uma representação compartilhada de um domínio. Permitindo assim, que sistemas desenvolvidos em tecnologias diferentes possam se comunicar de maneira consistente. Reuso: pesquisadores podem reutilizar outras ontologias, ou mesmo fazer adaptações e extensões. A construção de bases de conhecimento é uma tarefa complexa e que demanda muito tempo (Freitas, 2003). Portanto, reusar ontologias promove um ganho significativo nos esforços gastos. 25 Diante do potencial apresentado com o uso de ontologias, pesquisas envolvendo o seu uso são constantes em diferentes subáreas da Ciência Computação, como: Engenharia de Software, Banco de Dados e Inteligência Artificial. Um dos principais responsáveis por essa demanda é a proposta da Web Semântica apresentada por (Berners-Lee et al., 2001 ). 2.4 Linguagens para Representação de Ontologias Dependendo da tarefa requerida, diferentes tipos de conhecimento precisam ser representados. Diante disso, diversas linguagens utilizadas para a criação de ontologias podem ser encontradas na literatura. A escolha de qual linguagem será utilizada para criação de uma ontologia é uma importante decisão a ser tomada, já que ela afeta todo ciclo de vida dessa ontologia (Yildiz, 2007). Segundo Grigoris e Harmelen (2004) os principais requisitos para a escolha de uma linguagem de representação de ontologias são: sintaxe e semântica bem definida; apoio ao raciocínio de forma eficiente e expressividade suficiente para a tarefa a ser desenvolvida. A seguir é apresentada uma visão geral das principais linguagens usadas para representação, busca e inferência no contexto de ontologias e Web Semântica. 2.4.1 RDF e RDFS O RDF (Resource Description Framework, Linguagem de Descrição de Recursos) é uma linguagem de propósito geral para representação de informações sobre recursos na Web. Essa linguagem permite aos computadores representar e compartilhar dados semânticos na Web. Desenvolvido pelo W3C - World Wide Web Consortium5, o RDF é o padrão para metadados na Web. Alguns exemplos de áreas de aplicação dessa linguagem são: (1) busca de recursos para melhorar os mecanismos de busca na Web; (2) bibliotecas virtuais descrevendo o conteúdo disponível; e (3) no comércio eletrônico, principalmente relacionado a segurança das informações. 5 http://www.w3c.br 26 O RDF em si é uma linguagem simples que é capaz de realizar relacionamentos entre informações, porém ainda é necessário fornecer um mecanismo para definição dos dados. Diante dessa necessidade, a W3C criou o RDF Schema. O RDF Schema (RDFS) é uma extensão do RDF responsável por promover mecanismos para representação de relacionamentos entre recursos. Um esquema não define somente as propriedades dos recursos, mas também os tipos de recursos que estão sendo descritos. O RDFS é considerado uma linguagem primitiva, pois, o tipo de conhecimento representado, usando-o, é muito limitado (Yildiz, 2007). Por exemplo, usando RDFS não é possível fazer restrições de cardinalidade ou de propriedades, disjunção de classes, dentre outras limitações. 2.4.2 OIL e OIL-DAML O OIL (Ontology Inference Layer, Camada de Inferência para Ontologias) é o resultado do projeto On-To-Knowledge Project patrocinado pela Comunidade Europeia. A vantagem da OIL era fornecer uma linguagem de representação do conhecimento que combina lógica de descrição, sistemas baseados em frames (quadros) e linguagens baseadas em Extensible Markup Language (XML) e RDF (Fensel et al., 2001). Atualmente, essa linguagem está em desuso. O objetivo do OIL era fornecer uma linguagem com uma semântica bem definida, usando lógica de descrição, ser altamente intuitiva para os seres humanos e possuir uma conexão com linguagens já existentes na Web, por exemplo, com o XML (Yildiz, 2007). Quase que simultaneamente ao desenvolvimento da OIL, o DARPA (Defense Advanced Research Projects Agency, Agência Avançada de Projetos de Pesquisa de Segurança) patrocinou o programa DAML (DARPA Agent Markup Language). O objetivo do DAML era concentrar esforços no desenvolvimento de uma linguagem que estendesse o RDF e o RDFS, com ferramentas que usassem o conceito de Web Semântica. Essas duas linguagens a OIL e a DAML posteriormente foram agrupadas em uma única linguagem, chamada de DAML+OIL. Essa linguagem foi submetida ao W3C como ponto inicial da WebOnt (Web Ontology Working Group, Grupo de Trabalho de Ontologias), cuja proposta de trabalho era definir uma nova linguagem de descrição 27 para a Web Semântica. Posteriormente, essa linguagem foi desativada, sendo substituída pela linguagem OWL (Web Ontology Language, Linguagem de Ontologias para Web). 2.4.3 OWL A linguagem OWL (OWL 2.0, 2012) definida pelo W3C, permite expressividade de alto nível e inferência explícita, sendo uma revisão da linguagem DAML+OIL. Usando OWL é possível descrever classes, propriedades e relacionamentos entre objetos visando facilitar e permitir a interoperabilidade de conteúdo na Web (Breitman, 2005). Entre as funcionalidades dessa linguagem estão: a construção de ontologias, explicitação de fatos a respeito de um determinado domínio e raciocínio sobre ontologias e fatos. A linguagem OWL 2.0 possui três sublinguagens independentes, variando em termos de expressividade, processamento computacional e vantagens que dependem do cenário de aplicação. A escolha de qual sublinguagem utilizar irá depender da estrutura da ontologia a ser criada e das tarefas de raciocínio que se deseja realizar (OWL 2.0, 2012). A primeira sublinguagem, a OWL EL, é adequada para aplicações que utilizam ontologias que possuem uma grande quantidade de propriedades e/ou classes e que priorizem garantias de desempenho ao invés de poder de expressividade. Essa sublinguagem possui expressividade para ontologias que apresentam problemas de raciocínio básicos, podendo ser realizados em tempo polinomial levando em consideração o tamanho da ontologia. Algoritmos de raciocínio dedicados a essa sublinguagem estão disponíveis e são passíveis de serem desenvolvidos com um alto grau de escalabilidade. A sigla EL reflete a base dessa sublinguagem na família de linguagens de lógica de descrição EL (EL++), que proporcionam apenas quantificadores existenciais (OWL 2.0, 2012). A segunda sublinguagem, a OWL QL, é destinada para aplicações que utilizam grandes volumes de instâncias, no qual o tratamento das consultas é a tarefa mais importante do raciocínio. Usando a OWL QL, consultas podem ser desenvolvidas utilizando um sistema convencional de banco de dados relacional. Essa sublinguagem permite que consultas sejam respondidas usando uma tecnologia de banco de dados relacional padrão. A união de ontologias com tecnologias de banco de dados relacional 28 é particularmente importante para aplicações nas quais ontologias relativamente pequenas são usadas para organizar um grande número de indivíduos e onde é necessário acessar os dados diretamente através de consultas relacionais, por exemplo, usando Structured Query Language (SQL). O acrônimo QL faz referência a característica dessa sublinguagem possibilitar responder consultas reescrevendo essas utilizando uma linguagem de consulta relacional (OWL 2.0, 2012). A última sublinguagem, a OWL RL, é adequada para aplicações que necessitam de escalabidade na tarefa de raciocínio sem prejudicar muito seu poder de expressividade. A OWL RL permite o desenvolvimento de algoritmos de raciocínio com tempo polinomial usando tecnologias de banco de dados com regras estendidas operando diretamente em triplas RDF. O acrônimo RL (Rule Language) reflete o fato de que o raciocínio nesta sublinguagem pode ser desenvolvido usando uma linguagem de regra padrão (OWL 2.0, 2012). 2.5 Áreas de Aplicação das Ontologias Segundo Maedche e Staab (2001) dentre as principais áreas de aplicação de ontologias destacam-se a Web Semântica, Processamento de Linguagem Natural (PLN), Gestão do Conhecimento, Integração de Informações e o Comércio Eletrônico. A seguir são apresentadas algumas das principais áreas que utilizam ontologias. 2.5.1 Web Semântica A Web Semântica (Berners-Lee et al., 2001) caracteriza-se com uma evolução do atual cenário da Web, cujo objetivo é tornar explícito a semântica dos dados disponíveis em seu conteúdo, criando um ambiente no qual agentes computacionais e usuários possam trabalhar de forma cooperativa. Essa mudança possibilita que agentes computacionais possam interpretar essas informações e assim resolver problemas complexos de recuperação de informação. A Web Semântica baseia-se em uma arquitetura organizada em camadas, no qual cada camada acrescenta um maior nível de expressividade e inferência (Koivunen e Miller, 2001). Uma das camadas fundamentais no desenvolvimento da Web Semântica é 29 a composta por ontologias, sendo elas responsáveis por fornecer a expressividade necessária à representação do conhecimento relevante sobre um domínio (Freitas, 2003). Para que os objetivos da Web Semântica sejam alcançados, computadores devem ter acesso a um conjunto de modelos que permitam representar o conhecimento de um domínio. Nesse cenário, o uso de ontologias torna-se essencial para realizar essa função. Segundo Freitas (2003), as ontologias possuem um papel fundamental no desenvolvimento da Web Semântica, já que elas são responsáveis por fornecer a expressividade necessária à representação do conhecimento relevante sobre um domínio. 2.5.2 Processamento de Linguagem Natural Processamento de Linguagem Natural (PLN) é uma subárea da Inteligência Artificial (IA) cujo objetivo é desenvolver técnicas que possibilitem interpretar e gerar textos escritos ou diálogos em linguagem natural (Barros e Robin, 1996). Para a tarefa de processamento de linguagem natural é muito importante ter uma compreensão coerente do texto. Esse conhecimento pode ser representado por meio de uma ontologia. Nesse contexto, o uso de ontologias é importante para: Auxiliar na desambiguação durante o processo de interpretação do texto; Proporcionar um dicionário de conceitos relevantes para o domínio do texto. 2.5.3 Gestão do Conhecimento As organizações são baseadas em informações e conhecimento com valor agregado que resultam no desenvolvimento de estratégias que apoiam a geração de ideias e a tomada de decisão. Diante disso, encontrar a informação certa o mais rápido possível é essencial como diferencial competitivo. Sistemas de gestão do conhecimento lidam com a aquisição, manutenção e acesso ao conhecimento dentro de uma organização (Maedche e Staab, 2001). Nesse contexto, o uso de ontologias pode auxiliar das seguintes formas: 30 Ontologias fornecem a estrutura base para a construção de bases de conhecimento; Segundo Kaiser e Miksch (2005) 80% (oitenta por cento) das informações presentes nas organizações encontram-se em formato não estruturado, por exemplo, em fontes textuais escrita em linguagem natural. Esse fator é uma dificuldade enfrentada por sistemas de gestão de conhecimento. Utilizando ontologias, é possível anotar informações semânticas em fontes de informação não estruturadas, visando assim a obtenção de resultados mais precisos na tarefa de encontrar informações relevantes. O On-to-Knowledge (Fensel et al., 2000) é um exemplo de aplicação que utiliza ontologias na área de gestão de conhecimento. Esse sistema é resultado de um projeto europeu que visa o desenvolvimento de um ambiente baseado em ontologias para o gerenciamento do conhecimento em grandes bases de dados heterogêneas e distribuídas encontradas na Web ou na intranet de empresas. 2.5.4 Comércio Eletrônico Na área de Business to Business (B2B), a automatização de transações muitas vezes requer uma descrição formal de produtos além de formatos de trocas sintáticas. Um entendimento comum dos termos e suas interpretações podem ser capturados na forma de uma ontologia, permitindo assim interoperabilidade e mecanismos para uma integração inteligente de informações (Maedche e Staab, 2001). Já na área de Business to Consumer (B2C), o uso de ontologias pode solucionar as dificuldades existentes na construção de agentes de busca na Web para pesquisa de informações sobre produtos e serviços. Atualmente, grande parte das informações sobre produtos e serviços está escrita em linguagem natural, dificultando a compreensão por sistemas computacionais. Ontologias podem ser utilizadas para descrever os produtos e serviços, facilitando assim a visualização e recuperação automática de informação. 31 2.6 Conclusão do Capítulo Neste capítulo foi apresentado um embasamento teórico sobre o conceito de ontologias sob a visão da comunidade de Ciência da Computação. Foi discutida a definição do termo ontologia, suas diferentes classificações, importância, linguagens de representação e por fim algumas das suas principais áreas de aplicação. Segundo Freitas (2003), as ontologias desempenham um papel fundamental para a Web Semântica, fornecendo um conhecimento estruturado, compreensivo e disponível para reuso em larga escala tanto por pessoas quanto por sistemas computacionais. Pesquisas envolvendo o uso de ontologia no contexto da Web Semântica são constantes. No próximo capítulo são apresentados os conceitos básicos sobre a área de Extração de Informação. 32 3 Extração de Informação Extração de Informação (EI) pode ser definida como o processo de identificar e recuperar informações relevantes a partir de um conjunto de textos escritos em linguagem natural e apresentá-las em um formato estruturado (Riloff, 1994; Kaiser e Miksch, 2005). O principal objetivo de um Sistema de Extração de Informação (SEI) é identificar fragmentos de texto em um conjunto de documentos (corpus) que preencham corretamente campos de informação (slot) definidos previamente. Esses campos formam uma saída estruturada (template) que determina quais informações deverão ser encontradas. Um exemplo clássico de um SEI, é um sistema capaz de processar um conjunto de artigos científicos e extrair informações sobre cada autor e seu respectivo email. É ilustrado na Figura 3.1 um possível tratamento das informações do sistema descrito anteriormente. Figura 3.1 Exemplo de um SEI para extrair informações sobre autores Uma significativa evolução no desenvolvimento de SEIs pode ser observada principalmente devido ao incentivo proporcionado pela Message Understanding Conferences (MUCs) (Kaiser e Miksch, 2005). Esse termo se refere a um conjunto de conferências cujo objetivo é avaliar e comparar trabalhos e resultados de diferentes grupos de pesquisa visando impulsionar pesquisas na área de EI. Além disso, devido ao 33 constante aumento na produção de informações digitais, principalmente escritas em linguagem natural, é crescente o interesse no desenvolvimento de sistemas que automatizem o processo de identificação e extração de informações relevantes com um alto grau de precisão. Neste capítulo, são apresentados os conceitos básicos sobre técnicas, abordagens, medidas para avaliação e desafios da área de Extração de Informação. 3.1 Estrutura dos Documentos Um importante elemento utilizado pelos SEIs é o conjunto de documentos (corpus) usado como fonte de informações para iniciar o processo de extração. Diante da grande quantidade de informações disponíveis em formato digital, diferentes formas de estruturação desses documentos podem ser encontradas. Os SEIs utilizam elementos presentes nesses documentos para auxiliar o processo de identificação da informação relevante. Por isso, as técnicas usadas para realizar o processo de identificação da informação desejada dependem da estrutura da fonte de informação processada. Três tipos de formato de fontes de dados podem ser identificados, sendo eles: Fontes Estruturadas: este tipo de fonte está associado com banco de dados relacionais. Por meio da estruturação dos dados, um significado pode ser facilmente atribuído aos mesmos. Neste tipo de fonte, a extração de informação relevante é uma tarefa simples. Informações armazenadas em arquivos escrito em Extensible Markup Language (XML) são exemplos de fonte de dados estruturados. Na Figura 3.2 é apresentado um exemplo de um trecho de um documento escrito em XML. 34 Figura 3.2 Trecho de um documento XML representado um artigo científico Como pode ser observado na Figura 3.2 o processo de extração de informações sobre os autores (nome e email) pode ser realizado facilmente, apenas explorando as etiquetas <Autor>, <Nome> e <Email> descritas em XML. Fontes Semiestruturadas: a extração de informação relevante neste tipo de fonte utiliza certas estruturas presentes nos documentos como indicadores para encontrar as informações desejadas. Exemplos de fontes semiestruturas são páginas escritas em HyperText Markup Language (HTML). Por exemplo, um SEI pode ser desenvolvido para processar um conjunto páginas web que sempre possuam o mesmo padrão de formatação, com isso, o sistema pode explorar as etiquetas HTML para localizar as informações desejadas. É ilustrado na Figura 3.3 um trecho de código HTML. Figura 3.3 Trecho de código HTML representando informações sobre um artigo científico 35 Pode-se observar na Figura 3.3 que a página HTML ilustrada possui certo nível de estruturação. Explorando as etiquetas HTML, é possível identificar as informações sobre os artigos e seus autores (nome e email). Essa identificação não é realizada de forma tão trivial como acontece em fontes estruturadas (Figura 3.2). Além disso, um problema que ocorre com as páginas web é a falta de padronização no seu desenvolvimento, ou seja, cada desenvolvedor pode utilizar um padrão de etiquetas de maneira totalmente diferente. Isso implica que um sistema desenvolvido para uma página específica não tem garantias de seu funcionamento correto em outras páginas, caso elas não sigam exatamente o mesmo padrão de etiquetas. Fontes Desestruturadas: este tipo de fonte não possui nenhuma estruturação que possa guiar o processo de extração de informação. Em geral, são representados por textos simples escritos em linguagem natural. O processo de extração nesse tipo de fonte necessita utilizar um conjunto de técnicas de Processamento de Linguagem Natural (PLN) para a identificação da informação desejada. 3.2 Tipos de Sistemas de Extração de Informação Segundo Freitas (2002) existem basicamente dois tipos de SEIs: os Wrappers (Kaiser e Miksch, 2005) e os sistemas baseados em Processamento de Linguagem Natural (PLN) (Barros e Robin, 1996). Ambos os tipos podem aplicar técnicas de Aprendizagem de Máquina (AM) (Mitchell, 1997) para garantir escalabilidade e portabilidade, proporcionando um rápido desenvolvimento parcial ou total de novos extratores para aquisição de conhecimento (Freitas, 2002). Diversas técnicas da área de Inteligência Artificial (IA) são utilizadas com o objetivo de minimizar a complexidade no desenvolvimento de SEIs, dentre elas, destacam-se técnicas de AM e PLN. Tais dificuldades encontradas na construção de SEIs possuem intensidades diferentes, variando dependendo da estrutura dos documentos que formam o corpus utilizado. Para textos estruturados ou semiestruturados os problemas concentram-se no desenvolvimento de regras de extração que explorem a estrutura dos documentos que indicam onde encontrar as informações desejadas. Já em textos não estruturados, é necessário desenvolver mecanismos capazes de identificar fragmentos de texto, classificá-los e combiná-los para formar as informações requeridas. 36 Nas subseções a seguir maiores detalhes sobre as abordagens de SEIs baseadas em Wrappers e PLN são discutidas. 3.2.1 Extração de Informação usando Wrappers A abordagem baseada em Wrappers é indicada para fontes de dados estruturados ou semiestruturados, sendo o processo de extração da informação desejada realizado através da exploração da estruturação dos documentos. Os Wrappers exploram a regularidade na estrutura apresentada em documentos estruturados ou semiestruturados para identificar as informações requeridas. Um Wrapper é um sistema responsável por identificar, extrair e unificar informações relevantes a partir de diferentes repositórios (Kaiser e Miksch, 2005). Em geral um Wrapper tem o objetivo principal de extrair informações presente em documentos e exportá-las como parte de uma estrutura de dados, por exemplo, um Banco de Dados. A maior área de aplicação dos Wrappers é a Web devido ao seu conteúdo ser formado em grande parte por documentos semiestruturados que apresentam um grau de regularidade em sua estrutura (Kaiser e Miksch, 2005). Contudo, devido à falta de padronização na estrutura entre diferentes páginas web e as constantes mudanças que podem acontecer em seu conteúdo, tornam a tarefa de desenvolver Wrappers complexa. A arquitetura utilizada no desenvolvimento de Wrappers varia de acordo com a estrutura dos documentos utilizados. Devido a isso, não existe uma arquitetura padrão utilizada na construção de Wrappers. Já o processo de geração de Wrappers pode ser realizado de forma automática aplicando técnicas de aprendizagem de máquina não supervisionadas, semiautomática usando abordagens de aprendizagem de máquina supervisionadas ou manualmente utilizando regras de extração escritas por um especialista humano no domínio do corpus. A abordagem automática para geração de Wrappers por utilizar técnicas de Aprendizagem de Máquina não supervisionadas, não necessita de nenhum esforço para anotação de um corpus de treinamento. Contudo, após a geração é preciso fazer alguns ajustes no Wrappers gerado dependendo do corpus a ser processado e das informações desejadas (Kaiser e Miksch, 2005). 37 A construção semiautomática de Wrappers utiliza um conjunto de técnicas de Aprendizagem Máquina supervisionada. Nessa abordagem é necessário um conjunto de treinamento que auxilie o processo de aprendizagem de regras de extração. Além disso, alguns sistemas fornecem uma interface que permite que os usuários informem o que deve ser extraído. Desenvolver manualmente um Wrapper requer escrever todo o código do sistema. Essa abordagem é a mais demorada e complexa, porém em geral apresenta os melhores resultados (Kaiser e Miksch, 2005). Diversas técnicas foram sugeridas e avaliadas para essa abordagem ao longo dos anos. Existem Wrappers que usam gramáticas de compilação (Ashish e Knoblock, 1997), autômatos finitos (Appelt e Israel, 1999) ou mesmo regras de formatação (Kushmerick, 1999). Alguns domínios nos quais esses Wrappers foram aplicados incluem: dados geográficos (Ashish e Knoblock, 1997), previsão de tempo e programação de cinemas (Kushmerick, 1999), páginas web de lojas (Doorenbos et al., 1997), dentre outros. Alguns exemplos de sistemas propostos que seguem essa abordagem são: Finite State Automaton Text Understanding System (FASTUS) (Hobbs et al., 1992), Wrapper Induction ENvironment (WIEN) (Kushmerick et al, 1997), WHISK (Soderland, 1999), RoadRunner (Crescenzi et al., 2001) e o Lixto (Baumgartner et al., 2001). 3.2.2 Extração de Informação usando Processamento de Linguagem Natural Processamento de Linguagem Natural (PLN) é uma subárea da Inteligência Artificial (IA) cujo objetivo é desenvolver técnicas que possibilitem interpretar e gerar textos escritos ou diálogos em linguagem natural (Barros e Robin, 1996). O termo natural é utilizado para distinguir linguagens pertencentes a um idioma humano (inglês, português, espanhol, dentre outras) de linguagens mais formais, por exemplo, linguagens matemáticas, notações lógicas e linguagens de programação. Pesquisadores da área de PLN buscam analisar como os seres humanos interpretam e utilizam a linguagem natural, vislumbrando desenvolver técnicas e sistemas computacionais capazes de manipular e interpretar linguagens naturais. A subárea de 38 PLN é multidisciplinar e envolve estudos de áreas como Ciência da Computação, Linguística e Ciências Cognitivas. Os SEIs baseados em PLN são indicados para fonte de dados desestruturados, ou seja, textos sem nenhuma marcação que possa indicar a semântica de seu conteúdo. Esse tipo de abordagem utiliza técnicas de PLN para identificar e extrair as informações requeridas. Os extratores baseados em PLN utilizam regras de extração para reconhecer características sintáticas e semânticas no texto. Alguns exemplos de SEIs baseados em PLN são: AutoSlog (Riloff, 1994), LASIE (Gaizauskas et al., 1995) e o LIEP (Learning Information Extraction Patterns) (Huffman, 1996). Segundo Applet e Israel (1999), é possível identificar cinco fases comuns em SEIs baseados em PLN: Tokenização, Processamento Léxico e/ou Morfológico, Análise Sintática, Análise Semântica, Análise de Discurso. Além disso, existe uma última etapa responsável pelo preenchimento do template com os resultados do processo de extração. Dependendo da aplicação a ser desenvolvida nem todas essas fases precisam ser realizadas. Um grande desafio dos SEIs baseados em PLN é a característica de que um fato pode ser expresso de várias maneiras utilizando linguagem natural (Gaziauskas e Robertson, 1997). Por isso, uma adequada modelagem do domínio é essencial. A análise semântica (subseção 3.2.2.4) para qual servirá essa modelagem, irá demonstrar resultados consistentes na medida em que (Freitas, 2002): (1) forem escolhidas as partes adequadas de um dicionário semântico, por exemplo, o WordNet6, que possa ser aplicado ao domínio; e (2) sejam criados templates suficientes para instanciar as diversas formas de expressão dos fatos que deseja-se extrair. Nas subseções a seguir maiores detalhes sobre cada uma das cinco fases são apresentados. 3.2.2.1 Tokenização Esta fase é responsável por dividir o texto de entrada em sentenças (Sentence Splitter) e/ou palavras (tokens). Em geral o processo de tokenização fragmenta o texto utilizando os caracteres de espaço em branco, vírgula, ponto, dentre outros caracteres O WordNet (Fellbaum, 1998) é um repositório semântico eletrônico de propósito geral para o idioma inglês. 6 39 como delimitadores de palavras. Já a tarefa de divisão de sentenças utiliza em geral como delimitadores os caracteres de ponto, exclamação, interrogação, dentre outros. A divisão de palavras e sentenças baseada em caracteres delimitadores é uma estratégia simples e que apresenta bons resultados. Entretanto, a tarefa de identificação de palavras, que é relativamente simples para o ser humano, pode ser complexa de ser executada computacionalmente. Os caracteres geralmente usados como delimitadores podem desempenhar papeis distintos. Por exemplo, o caractere de ponto pode ser usado para marcar o fim de uma sentença, mas também pode ser usado em abreviações e números, por exemplo, na frase "A Av. Caxangá possui aproximadamente 6 km de extensão". Além disso, a tokenização não é uma tarefa trivial para idiomas como chinês, japonês e alemão, nas quais os limites das palavras não são bem definidos (Kaiser e Miksch, 2005). Para esses idiomas, é necessário a execução a uma etapa para segmentação de palavras (Applet e Israel, 1999). 3.2.2.2 Processamento Léxico/Morfológico Esta fase é responsável por atribuir a cada palavra gerada pela fase de Tokenização sua classe gramatical (substantivo, adjetivo, verbo, dentre outras). Esse processo também é conhecido por Etiquetagem de Partes do Discurso, do inglês, Part-of-Speech (POS) Tagging. Além da atribuição das classes gramáticas outras características como gênero, número e tempo para o caso dos verbos são atribuídos (Barros e Robin, 1996). Consultas a um dicionário léxico auxiliam o processo de identificação morfológica, reconhecendo o sentido em que uma palavra é utilizada, de acordo com sua posição no texto (Freitas, 2002). Em um texto é possível observar muitas palavras flexionadas nas mais diversas formas. Na língua Portuguesa, por exemplo, um substantivo pode ser flexionado em gênero, número e grau, mesmo apresentando o mesmo sentido. Nesse contexto, outra tarefa que pode ser realizada por essa fase é o processo retirar a flexão das palavras. A técnica de Lematização ou Stemming é muito aplicada nessa fase, pois ela realiza o processo de reduzir ao radical original as palavras derivadas ou flexionadas dessa. Por exemplo, essa técnica identifica que as palavras Casa e Casas possuem o mesmo radical, sendo apenas a segunda forma uma flexão de número da primeira. 40 3.2.2.3 Análise Sintática Na análise sintática, as palavras são analisadas como constituintes das frases, e o papel de cada uma delas é determinado através de gramáticas. Essa fase é responsável por atribuir etiquetas às palavras e partes do texto, denotando seus papéis sintáticos. Através da gramática da linguagem a ser analisada e das informações obtidas pelo analisador léxico/morfológico, o analisador sintático constrói árvores de derivações para cada sentença presente no texto, mostrando como as palavras estão relacionadas entre si. Durante a construção da árvore de derivação, é realizada a verificação da sequência de palavras comparando-as com as regras de construção impostas pela linguagem, na composição de frases, períodos ou orações. Dentre essas regras, pode-se citar a concordância e a regência nominal e/ou verbal, bem como o posicionamento das palavras nas frases. Em geral, SEIs realizam apenas uma análise sintática superficial (Shallow Sintatic Parser), o que já apresenta boa performance (Kaiser e Miksch, 2005). 3.2.2.4 Análise Semântica A Análise Sintática é uma fase importante em qualquer SEI baseado em PLN. Contudo, esse nível de interpretação, dependendo da tarefa desejada, ainda não é suficiente no processo de construção de um SEI que necessite de um maior nível de interpretação do texto analisado (Barros e Robin, 1996). Para isso, é necessário um modelo de domínio para apoiar à análise semântica. Para que um SEI realize uma correta interpretação do conteúdo das frases e seja capaz de inferir fatos triviais ou complexos a partir delas, muitas vezes é necessário que SEIs baseados em PLN possuam um conhecimento de senso comum sobre o domínio modelo, enumerando os papéis temáticos das entidades presentes na frase (Barros e Robin, 1996). Por exemplo, com exceção da voz passiva, o papel temático agente é realizado pelo sujeito, existindo ainda coagentes, beneficiários e temas, entre outros papéis. Segundo Barros e Robin (1996), existem dois tipos formalismos para representação semântica das palavras: (1) os formalismos fracos, que fornecem apenas a forma de representar o conhecimento, por exemplo, redes semânticas e frames; e (2) os fortes, 41 como gramáticas de casos, dependência conceitual e scripts, que além da forma de representação, possuem também parte do conhecimento a representar pré-definido. 3.2.2.5 Análise de Discurso Ao contrário das fases anteriores, esta fase analisa o texto por completo tentando identificar qual a influência de uma ou mais frases na interpretação de frases subsequentes. Fatores como coerência e coesão são analisados (Barros e Robin, 1996). Uma problemática comum nesta fase é o tratamento de correferência. Por exemplo, na frase "Maria viajou ontem. Ela foi visitar seus pais.", o sujeito da segunda frase ("Ela") faz referencia ao sujeito da primeira frase ("Maria"). Esse problema é conhecido na área de PLN como anáfora, e na área de EI como correferência, apresentando grande complexidade e demandando extensa pesquisa, no qual técnicas baseadas em conhecimento e em aprendizagem automática são utilizadas, porém ainda sem solução geral (Freitas, 2002). No sistema FASTUS (Hobbs et al., 1992) é utilizado uma abordagem baseada em conhecimento para realizar o processo de correferência para menções de variações de nomes de pessoas. Por exemplo, caso em uma frase exista uma referência ao nome do autor Hilário Tomaz Alves de Oliveira, e em outra frase seja feita uma menção a esse autor usando apenas o sobrenome como Mr. Oliveira, o FASTUS entende que são duas menções para uma mesma entidade. 3.3 Medidas para Avaliação de Sistema de Extração de Informação As medidas usadas para avaliar SEIs foram definidas a partir das conferências MUC, quando surgiu a necessidade da criação de medidas padronizadas para tornar possível a comparação entre SEIs existentes. Várias medidas foram propostas para avaliação de SEIs (Lavelli el al., 2004), entretanto, as medidas de Precisão e Cobertura são amplamente utilizadas para avaliação de SEIs (Yildiz, 2007). A Cobertura avalia a completude de um SEI, sendo determinado pela relação entre o total de informações corretas extraídas e o total de informações corretas presente no corpus processado. Já a Precisão é utilizada para avaliar a corretude em SEIs, sendo 42 calculado, pela relação entre a quantidade de informações extraídas e o número total de informações extraídas (corretas + incorretas). São apresentadas nas Equações 3.1 e 3.2 as fórmulas utilizadas para calcular a Cobertura e a Precisão respectivamente. (3.1) (3.2) Um alto valor na medida de Cobertura significa que o sistema consegue extrair a maioria das informações corretas disponíveis no corpus processado. Já um alto valor nos resultados da medida de Precisão indica que a maioria das informações extraídas pelo sistema são corretas. A Cobertura e Precisão são inversamente relacionadas, ou seja, é complexo aperfeiçoar ambas ao mesmo tempo. Se um alto valor de precisão for priorizado, devem-se extrair poucas informações que possuam um alto valor de certeza de serem corretas. Com isso, é possível que informações corretas no corpus processado sejam ignoradas. Por outro lado, se um alto valor de cobertura é almejado, uma quantidade maior de informações deve ser extraída, com isso, o risco de extrair informações erradas também é maior. Portanto, é necessário tomar a decisão de qual aspecto será priorizado (Completude ou Corretude) dependendo da tarefa de extração desejada. Diante do conflito entre a Cobertura e Precisão, uma terceira medida muito utilizada é a Medida-F. Essa media é utilizada para mensurar o impacto da Cobertura e da Precisão em uma única medida. É apresentado na Equação 3.3 como é calculada a Medida-F. (3.3) 3.4 Desafios da área de Extração de Informação Apesar dos avanços obtidos nas últimas décadas, principalmente impulsionado pelo MUC, a área de Extração de Informação enfrenta alguns importantes desafios 43 (Wimalasuriya e Dou, 2010). Alguns fatores que influenciam diretamente na complexidade da tarefa de extração de informação são (Yildiz, 2007): Idioma: o idioma dos textos que formam o corpus de trabalho influencia diretamente nas técnicas de PLN utilizadas. Dependendo do idioma, algumas fases adicionais são necessárias para capturar a ortografia e a morfologia das palavras. Além disso, em alguns idiomas, como o alemão, tarefas como a tokenização requerem a utilização de técnicas mais avançadas para identificar o limite entre as palavras. Estrutura dos Documentos: a estrutura dos documentos de entrada representam diferentes desafios no desenvolvimento de um SEI. Documentos estruturados, semiestruturados e desestruturados, necessitam de diferentes formas de manipulação. Dados em formato estruturado não apresentam grande complexidade para identificação das informações requeridas, enquanto que, dados desestruturados necessitam da utilização de técnicas de PLN para realizar essa identificação. Tipo dos Documentos: o tipo dos documentos de entrada deve ser analisado antes da construção de SEI. Diferentes tipos de documentos necessitam de formas distintas de manipulação. Por exemplo, enquanto um email é um texto livre sem nenhuma estrutura, um artigo científico apresenta certo formato, que pode ser utilizado para facilitar o processo de extração de informação. Além desses fatores, outros desafios da área EI são (Grishman, 1997; Sarawagi, 2007; Yildiz, 2007; Wimalasuriya e Dou, 2010): Portabilidade: Ao longo do tempo, as informações requeridas para extração podem variar, sendo necessário adaptar o SEI para os novos campos de interesse. Essa adaptação pode necessitar mudanças no domínio de aplicação e no corpus utilizado. SEIs são geralmente desenvolvidos como sistemas monolítico, não possuindo uma clara separação entre informações do domínio e do corpus analisado. Isto faz com que a aplicação de um SEI para um novo domínio ou mesmo para processar um novo corpus se torne complexa, demandado tempo e recursos para a adaptação (Grishman, 1997; Wimalasuriya e Dou, 2010). 44 Escalabilidade: o problema de escalabilidade pode ser visualizado em duas dimensões (Yildiz, 2007). A primeira é relacionada com a quantidade de informações que o SEI é capaz de processar, enquanto a segunda trata da estrutura dos documentos que o SEI pode manipular. Diante do grande volume de informações digitais disponíveis e nos mais variados formatos, é essencial desenvolver SEIs que possibilitem a manipulação do maior volume de informações possíveis e nos mais diversos formatos. Necessidade da definição do Template: SEIs normalmente requerem a definição prévia de um conjunto de templates para um domínio particular. Após isso, a tarefa dos SEIs é preencher esses templates com as informações requeridas. O processo de geração desses templates manualmente não é uma tarefa trivial, em alguns domínios é complexo expressar de forma clara que informações são relevantes para um domínio. Como forma de solucionar esse problema, o paradigma de Extração de Informação Aberta (Open Information Extraction), visa descobrir diversas relações de interesse a partir de textos sem a necessidade de uma definição prévia de quais informações necessitam ser extraídas (Banko, 2009). O TextRunner (Banko et al., 2007) que adota esse paradigma, é um sistema capaz de extrair tuplas relacionais a partir de textos. Apesar desse paradigma apresentar uma evolução para área, ele não soluciona o problema por completo, principalmente as questões referentes aos problemas de portabilidade. Modelos apropriados para representação das informações extraídas: em geral as informações extraídas por SEIs são utilizadas por outras aplicações e por isso devem ser armazenadas em um formato que possibilite um processamento rápido e eficiente dessas informações. Por essa característica, alguns autores definem EI como o processo de criação de bases de dados a partir de texto (Russell e Norvig, 2003). A utilização de modelos relacionais, como, por exemplo, banco de dados não são suficientes para algumas aplicações que manipulam as informações extraídas. O uso de ontologias nesse contexto proporciona uma série de vantagens, dentre elas, possibilita o raciocínio automático baseado em lógica. 45 3.5 Conclusões do Capítulo Esse capítulo apresentou uma introdução sobre conceitos básicos relacionados a área de Extração de Informação. Conforme abordado, SEIs podem ser desenvolvidos baseados em duas abordagens: os Wrappers, indicados para processar documentos estruturados ou semiestruturados; e aqueles baseados em PLN, mais adequados para extração em textos escritos em linguagem natural. Ao final do capítulo foram apresentados alguns dos principais desafios da área de EI. No próximo capítulo é apresentada uma introdução ao uso de ontologias no contexto de EI, área conhecida como Extração de Informação Baseada em Ontologias (EIBO). 46 4 Extração de Informação Baseado em Ontologias Conforme foi discutido no Capítulo 3, SEIs possuem um alto acoplamento com o domínio a ser analisado. Esse problema de portabilidade representa um dos maiores desafios para a área de EI (Yildiz e Miksch, 2007; Wimalasuriya e Dou, 2010). Apesar dos avanços obtidos com a utilização de técnicas de AM, muitas das tarefas executadas por SEIs possuem uma forte dependência com o domínio a ser processado. A portabilidade de SEIs para novos domínios de forma simples ainda é um problema em aberto (Petasis et al., 2011). Nesse contexto, pesquisas envolvendo o uso de ontologias integradas a SEIs visam solucionar esse tipo de problema. Uma ontologia pode ser considerada um artefato computacional utilizado para representar um conhecimento consensual sobre um ou mais domínios, enquanto que, Extração de Informação (EI) é o processo de analisar textos em linguagem natural visando extrair informações relevantes. Segundo Nédellec e Nazarenko (2005), esses dois conceitos (ontologias e EI) podem interagir em um processo de contribuição mútuo, pois: (1) SEIs necessitam fazer uso de ontologias como parte do processo de entendimento do mundo real, guiando assim o processo de extração de informações relevantes sobre um domínio. O uso de ontologias no contexto de extração de informação pode ser útil para apoiar o processo de extração, fornecendo um mecanismo capaz de representar diferentes tipos de conhecimentos complexos sobre um domínio alvo (Yildiz e Miksch ,2007); (2) O corpus utilizado no processo de extração de informação é uma importante fonte de conhecimento, podendo ser utilizado para auxiliar o processo de Construção de Ontologias. Pensando nisso, SEIs podem ser usados para auxiliar as tarefas de: (a) criação de ontologias, também conhecido como Aprendizagem de Ontologias (Buitelaar e Cimiano, 2008); (b) extensão de uma ontologia existente com novas classes e relações organizadas taxonomicamente, tarefa conhecida como Enriquecimento de Ontologias (Petasis et al., 2011); (c) aprendizagem de novas instâncias de classes, relações e propriedades, tarefa chamada de Povoamento de Ontologias (Petasis et al., 2011); e (d) correlacionar o conhecimento representado 47 por meio de ontologias a fragmentos encontrados em textos, processo conhecido como Anotação Semântica (Bontcheva e Cunningham, 2011). Essas tarefas usualmente são executadas em um processo cíclico no qual ontologias são usadas para descrever quais informações são relevantes para o domínio em análise, ou seja, elas auxiliam no processo de interpretação do corpus em um nível adequado para a tarefa de extração. Por sua vez, o novo conhecimento extraído pode ser integrado à ontologia de entrada. Logo, entende-se que a tarefa de extração de informação pode ser vista como um processo que pode ser guiado por ontologias. Diante desse cenário, a Extração de Informação Baseada em Ontologias (EIBO) surge como uma recente e emergente subárea da EI, no qual as ontologias desempenham um papel fundamental no processo de EI. EIBO é uma área multidisciplinar que envolve conceitos de áreas como Web Semântica (Berners-Lee et al., 2001), Extração de Informação (Riloff, 1994), Processamento de Linguagem Natural (Barros e Robin, 1996), Aprendizagem de Máquina (Mitchell, 1997), dentre outras. Segundo Wimalasuriya e Dou (2010), um Sistema de Extração de Informação Baseado em Ontologias (SEIBO) é um sistema que processa textos oriundos de uma fonte de dados não estruturado ou semiestruturada, através de um mecanismo guiado por ontologias para extrair certos tipos de informações, além de apresentar sua saída usando ontologias. Neste capítulo é apresentada uma introdução à área de EIBO. Uma vez que essa área é o cerne deste trabalho, uma revisão é necessária para o bom entendimento do método proposto e das contribuições alcançadas. 4.1 Povoamento de Ontologia Povoamento de Ontologias é o processo de inserção de novas instâncias de classes, propriedades e/ou relações em uma ontologia existente (Petasis et al., 2011). Relembrando e complementando a definição apresentada por (Maedche e Staab, 2001), no qual uma ontologia é formada por um conjunto de conceitos C, relações RC e propriedades P. Diante disso, o objetivo do processo de povoamento de ontologias é 48 extrair a partir de uma fonte de dados um conjunto de instâncias de conceitos IC, relações IR e propriedades IP. O processo de povoamento de ontologias não altera a estrutura da ontologia, ou seja, nenhuma alteração na hierarquia das classes e/ou relações é realizada. O que é atualizado é o conjunto de instâncias de conceitos, relações e propriedades. Um típico processo de Povoamento de Ontologias é ilustrado na Figura 4.1. Figura 4.1 Processo de Povoamento de Ontologia adaptado de (Petasis et al., 2011) Observando a Figura 4.1, é possível perceber que o processo de povoamento de ontologias necessita de uma ontologia de entrada que será povoada, de um mecanismo de extração (Extrator) que é responsável por processar o corpus identificando instâncias de classes, relações e propriedades definidas na ontologia. Posteriormente, ao final do processo a lista de instâncias extraída é utilizada para povoar a ontologia. A tarefa de Povoamento de Ontologias possui um papel crucial para construção e manutenção de bases de conhecimento (Maynard et al., 2008). Além disso, essa tarefa permite relacionar conhecimento descrito em linguagem natural com ontologias, auxiliando o processo de geração de conteúdo semântico (Wimalasuriya e Dou, 2010). Por fim, a ontologia povoada pode ser usada em diversas aplicações, como gerenciamento de conteúdo, recuperação de informação, raciocínio automático, dentre outras. 49 4.2 Classificação das Atuais Abordagens de EIBO Wimalasuriya e Dou (2010) apresentam uma classificação dos atuais SEIBO ao longo de um conjunto de dimensões. Essa classificação visa proporcionar um melhor entendimento das técnicas, ferramentas e abordagens propostas. Nesta seção, é apresentada a classificação proposta por Wimalasuriya e Dou (2010) baseada no método de extração utilizado pelos SEIBOs. Os autores identificaram seis métodos principais de extração utilizados por SEIBOs ao longo dos anos. Parte destas técnicas foram originalmente aplicadas por tradicionais SEIs. É importante mencionar que essas técnicas não são mutuamente exclusivas, ou seja, mais de uma técnica de extração pode ser combinada entre si. Além disso, estas técnicas foram aplicadas nas tarefas de Aprendizagem de Ontologias, Enriquecimento de Ontologias, Povoamento de Ontologias e Anotação Semântica. A seguir, são apresentados os seis métodos de EIBO identificados por Wimalasuriya e Dou (2010) e exemplos de sistemas que os utilizam. 4.2.1 Regras Linguísticas representadas por Expressões Regulares A ideia central desta técnica é utilizar expressões regulares para capturar certos tipos de informação. Por exemplo, a expressão regular (watched | seen) <NP>, onde <NP> denota um Sintagma Nominal7 (Noun Phrase). Esse sintagma nominal é então extraído como nome de filme em um texto. Utilizando um conjunto de regras como o exemplo anterior, é possível extrair uma grande quantidade de informação. Esse conjunto de expressões regulares, em geral, é desenvolvido utilizando um conjunto de autômatos finitos, denominados Transdutores de Estados Finitos (Finite-State Transducers). Apesar de ser uma técnica simples, experimentos têm demonstrado que essa técnica consegue obter bons resultados (Wimalasuriya e Dou, 2010). O sistema FASTUS IE (Appelt et al., 1993) é um dos primeiros sistemas a adotar essa técnica. O General Architecture for Text Engineering (GATE) (Cunningham, 2002) é uma ferramenta de 7 Um sintagma nominal é um grupo de palavras que tem como base ou núcleo um substantivo ou termo equivalente. Por exemplo, na frase This sentence contains two noun phrases. (Esta frase possui dois sintagmas nominais.), os fragmentos This sentence (Esta frase) e two noun phrases (dois sintagmas) representam dois sintagmas nominais. 50 PLN muito utilizada no desenvolvimento de aplicações de EI. O GATE proporciona uma plataforma que facilita o desenvolvimento de sistemas que utilizam expressões regulares. Embley (2004) apresentada um dos primeiros SEIBO que adotou essa técnica. Nesse trabalho o autor combina regras linguísticas usando expressões regulares com elementos da ontologia como classes e propriedades, resultando no que o autor denominou Ontologias de Extração. Seguindo o mesmo princípio, Yildiz e Miksch (2007) aplicaram um conjunto de regras linguísticas para extração de valores de propriedades no domínio de câmeras de vídeo. Tais expressões regulares também foram usadas no Textpresso (Müller et al., 2004) para o domínio biológico. Os sistemas descritos acima usam regras linguísticas definidas manualmente. Essa tarefa em geral demanda tempo e esforço, já que uma ou mais pessoas precisam ler um conjunto de documentos para poder definir regras adequadas para o domínio analisado. Tentando resolver esse problema, alguns sistemas adotaram técnicas para aprender regras linguísticas automaticamente. Em Vargas-Vera et al. (2001), os autores desenvolveram um SEIBO que utiliza uma ferramenta de indução, chamada Crystal (Soderland et al., 1995), para identificar regras de extração. Essa ferramenta funciona baseada nos princípios dos Algoritmos de Aprendizagem Indutiva (Mitchell, 1982) e procura por generalizações mais específicas que abrangem todas as instâncias. Essas instâncias, ou seja, palavras no texto que identificam instâncias ou valores de propriedades da ontologia de entrada são especificadas manualmente usando uma ferramenta de marcação. O sistema desenvolvido por (Romano et al., 2006) é um SEI genérico e não é considerado um SEIBO. Apesar disso, a abordagem proposta pode ser utilizada por um SEIBO. A sistemática desenvolvida utiliza um algoritmo para o problema da subsequência mais longa em comum (Myers, 1986). O primeiro passo da abordagem é identificar um conjunto de frases que contém a ocorrência do tipo de informação desejada. Essas frases são analisadas como um conjunto de palavras. Após isso, procura-se pela sequencia de palavras mais longa em comum entre as frases analisadas usando o algoritmo mencionado anteriormente. No final, as regras linguísticas são extraídas analisando a subsequência de palavras mais longa em comum e o número de caracteres que ocorrem entre as palavras individuais na subsequência. 51 4.2.2 Gazetteers Esta técnica utiliza autômatos finitos para reconhecer palavras ou frases nos documentos. As palavras a serem reconhecidas são previamente fornecidas ao sistema em forma de lista, conhecido como Gazetteers List. Essa técnica é muito utilizada para a tarefa de reconhecimento de entidades de uma categoria em particular. Por exemplo, uma lista pode ser usada para reconhecer países ou cidades do Brasil. Diversos SEIBOs propostos utilizam essa técnica. Esses sistemas geralmente usam listas que contém todas as instâncias de uma classe presente na ontologia de entrada. Essa técnica foi utiliza em diversos trabalhos, dentre eles, pelo sistema SOBA (Buitelaar e Siegel, 2006), parar capturar detalhes sobre partidas de futebol; e por (Saggion et al., 2007) para obter informações sobre países e regiões. Segundo Wimalasuriya e Dou (2010), duas boas práticas para evitar o mau uso dessa técnica são: (1) Especificar de forma clara o que está sendo identificado pelo Gazetteer; e (2) Especificar onde as informações para construção do Gazetteer foram obtidas. A fonte de informações deve ser confiável, pública e deve exigir pouco ou nenhum processamento. Por exemplo, uma lista com diversos países e cidades do mundo pode ser encontrada no site (http://www.world-gazetteer.com). 4.2.3 Técnicas de Classificação Diferentes técnicas de Aprendizagem de Máquina, tais como Máquina de Vetores de Suporte (Support Vector Machines SVM), Máxima Entropia (ME) (Maximum Entropy Models), Árvores de Decisão (Decision Trees), Cadeias de Markov (Hidden Markov Models) e Campos Aleatórios Condicionais (Conditional Random Fields) têm sido utilizados no desenvolvimento de SEIs. Um estudo detalhado do uso dessas técnicas pode ser encontrado em (Moens, 2003). Diversas características linguísticas como etiquetas de POS, informação sobre capitalização e palavras individuais são usadas como atributos para algoritmos de classificação. Nessa técnica, a tarefa de extração de informação é vista como um conjunto de tarefas de classificação. 52 O processo de classificação no contexto de EIBO consiste em treinar classificadores para identificar diferentes componentes de uma ontologia, dentre eles instâncias de classes e relação, como também valores de propriedades. O sistema Kylin (Wu e Weld, 2008) utiliza duas técnicas de classificação, Campos Aleatórios Condicionais para identificar propriedades (nome, tamanho, dentre outros) em uma frase, e o algoritmo de Máxima Entropia para identificar que valores de propriedades estão presentes em uma frase. O trabalho de (Li e Bontcheva, 2007) utiliza o algoritmo de Hieron Large Margin (Grande Margem de Hieron) para extração de instâncias aplicando uma classificação com base na hierarquia da ontologia de entrada. 4.2.4 Construção de Árvores de Análise Parcial (Partial Parse Trees) Alguns SEIBOs constroem uma árvore de análise semanticamente anotada para representar as relações entre as palavras do texto durante o processo de EI. Essa árvore não tem o objetivo de fornecer uma compreensão aprofundada da semântica do texto, mas sim, proporcionar uma análise mais minuciosa do que apenas procurar a ocorrência de uma expressão regular. O SEIBO desenvolvido por (Maedche et al., 2003) usa uma ferramenta de PLN para o idioma alemão, chamado de Saarbücker Message Extracting System (SMES). Essa ferramenta permite a construção de uma árvore de dependência (Dependency Tree) como saída, o que é basicamente uma árvore de análise parcial. Essa árvore é usada durante o processo de extração de informação para a tarefa de Aprendizagem de Ontologias. Utilizando essa mesma abordagem o sistema Text-To-Onto (Maedche e Staab, 2000) faz uso da ferramenta SMES para construção de ontologias a partir de um conjunto de textos de entrada. O sistema Vulcain desenvolvido por (Todirascu et al., 2002) combina as técnicas de regras de extração linguísticas (subseção 4.2.1) com a construção de uma árvore de análise parcial. Os autores utilizaram o analisador Lexical Tree Adjoining Grammars (LTAG) (Lopez, 1999), para construção da árvore, além de um conjunto de entradas léxicas para os conceitos da ontologia que podem ser classificadas como regras de extração linguísticas. 53 4.2.5 Analisando Etiquetas HTML/XML Assim como os SEIs, os SEIBOs que usam documentos semiestruturados, por exemplo, páginas HTML ou documentos XML, podem explorar as etiquetas presentes nesse tipo de fonte para encontrar as informações desejadas. Conforme visto na subseção 2.2.1, os Wrappers são sistemas que executam esse tipo de identificação. Um sistema que utiliza essa técnica, por exemplo, pode identificar tabelas presentes em páginas HTML e ser capaz de explorar suas etiquetas tendo a percepção que a primeira linha denota atributos (propriedades) e que as próximas linhas da tabela representam instâncias desses atributos. O SmartWeb Ontology-Based Annotation (SOBA) (Buitelaar e Siegel, 2006) é um SEIBO que automaticamente povoa uma base de conhecimento extraindo informações sobre partidas de futebol a partir de documentos encontrados na Web. O SOBA é capaz de extrair informações explorando as etiquetas presentes em tabelas nas páginas HTML. 4.2.6 Métodos Baseados em Pesquisas na Web O princípio básico desta técnica é utilizar a Web como fonte de informações. Para isso, regras linguísticas de extração são transformadas em consultas e aplicadas a mecanismos de buscas na Web para auxiliar o processo de EI (Wimalasuriya e Dou, 2010). Muitas técnicas clássicas de extração de informação apresentam limitações devido ao tamanho do corpus utilizado (Brill, 2003). Além disso, diversos estudos sociais apontam que conhecimento coletivo é mais valioso do que conhecimento individual (Surowiecki, 2004). Diante do fato de que a Web pode ser considerada o maior repositório de informações disponíveis (Brill, 2003), essa característica faz com que ela seja uma importante fonte de conhecimento, sendo útil para tarefas como extração de informação. Além da grande quantidade de informações disponíveis na Web, outra importante característica é a alta redundância presente em seu conteúdo. Esse fator tem sido apontado por muitos autores (Brill, 2003; Etzioni et al., 2004a; McDowell e Cafarella, 2008) como uma importante propriedade, já que a quantidade de repetições de uma informação pode representar um medida de sua relevância. Devido a essas 54 características, a Web tem sido utilizada efetivamente como corpus em diversos trabalhos (Cimiano et al., 2004; Cimiano et al., 2005a; Etzioni et al., 2004a; McDowell e Cafarella, 2008; Carlson et al., 2010a). Apesar das vantagens apresentadas, a utilização da Web como corpus apresenta alguns problemas e desafios, tais como: falta de estrutura, informações não confiáveis, ruído devido a representações visuais, além do tradicional problema de ambiguidade encontrado em linguagem natural (Sánchez e Moreno, 2008). Em Cimiano et al. (2004), os autores desenvolveram o Pattern-based Annotation through Knowledge on the Web (PANKOW), um SEIBO que anota semanticamente páginas web utilizando consultas aplicadas à Web. O PANKOW extrai todos os substantivos próprios presentes no documento e posteriormente consultas são formuladas para cada combinação de substantivo próprio extraído com cada classe presente em uma ontologia de entrada usando um conjunto de padrões linguísticos. Tais padrões incluem os definidos por Hearst (1992), por exemplo, class such as instance (classes tais como), onde class é cada classe da ontologia de entrada e instance é cada substantivo próprio analisado. A anotação dos substantivos próprios é realizada com base na soma do número de ocorrências retornado por cada consulta formulada, a combinação class e instance com maior valor indica que o substantivo próprio analisado é instância da classe que originou as consultas. Posteriormente, uma versão melhorada do PANKOW foi desenvolvida. O CPANKOW (Cimiano et al., 2005a) funciona da mesma forma que seu antecessor, mas apresenta melhorias nos resultados das classificações, principalmente por levar em consideração o contexto dos documentos analisados. Além disso, a eficiência computacional foi aprimorada, através da redução do número de consultas realizadas. Ambos o PANKOW e o C-PANKOW utilizam como medida de classificação uma variação da medida de Pontuação de Informação Mútua (Pointwise Mutual Information) (PMI). O PMI é uma medida estatística cujo objetivo é mensurar o grau de relação entre dois termos. Mais detalhes dessa medida encontra-se na subseção 5.2.1. O sistema KnowItAll (Etzioni et al., 2004a) extrai instâncias de classes e relações a partir da Web utilizando um conjunto de padrões linguísticos independentes de domínio adaptados de Hearst (1992). Para avaliar os candidatos a instância extraídos, o KnowItAll usa a medida de PMI para calcular o grau de correlação entre cada candidato a instância extraído e a classe ao qual ele é candidato. Posteriormente, essas 55 distribuições de valores (padrão linguístico x web hits) são usadas como atributos para o classificador Naive Bayes (Mitchell, 1997) que é usado para estimar a probabilidade de cada candidato a instância ser uma real instância para a classe analisada. Baseado na ideia de automatizar o processo de extração de padrões linguísticos, em (Downey et al., 2004) os autores apresentam uma abordagem para aprendizagem de novos padrões para ser integrado ao KnowItAll. O algoritmo de aprendizagem de padrões proposto baseia-se na ideia de utilizar padrões linguísticos como extratores e discriminadores de candidatos a instâncias, utilizando a Web como fonte de informações. Para avaliar os padrões extraídos, os autores defiram as medidas de Precisão Estimada e Cobertura Estimada. Essas duas medidas têm por objetivo mensurar a corretude e completude de cada padrão linguístico extraído. Os experimentos realizados analisaram o impacto do uso dos novos padrões linguísticos integrado com o conjunto inicial de padrões utilizados pelo KnowItAll. Resultados encorajadores foram encontrados, indicando que a integração de um componente específico para aprendizagem de novos padrões linguísticos de extração é particularmente útil para aumentar a abrangência da extração. Em (Etzioni et al., 2005) os autores apresentam diversos experimentos com a integração do algoritmo de aprendizagem de padrões linguístico com o sistema KnowItAll. Em (Cimiano et al., 2005b) os autores propõem uma abordagem para aprendizagem de relações taxonômicas (é-um) que explora diferentes fontes de evidências. As duas primeiras fontes de evidências utilizadas são: (1) padrões linguísticos de Hearst (1992) aplicados a um corpus local e (2) aplicá-los usando a Web como corpus. Os resultados obtidos apontaram que utilizando o corpus local foi possível obter uma maior precisão do que utilizando a Web como corpus. Entretanto, usando a Web foi possível alcançar uma maior cobertura. Outra fonte de evidência avaliada foi a utilização do WordNet como fonte de informação para classificar os termos candidatos a instâncias. Os autores avaliaram duas variações, uma usando todos os sentidos de um termo presente no WordNet, e outra usando apenas o sentido mais usado. Basicamente essa medida explora os sentidos entre dois termos presente no WordNet buscando identificar se existe uma relação taxonômica entre eles. Por fim, outra evidência usada consiste em uma simples heurística baseada em variações sintáticas entre dois termos para avaliar se existe uma relação taxonômica entre eles. Os autores concluíram que a combinação 56 simples de diferentes fontes de evidência obtiveram melhores resultados em termos das medidas de Precisão, Cobertura e Medida-F do que utilizá-las isoladamente. O sistema OntoSyphon (McDowell e Cafarella, 2008) utiliza uma abordagem similar ao PANKOW, contudo, o objetivo é extrair todas as instâncias possíveis de uma classe ontológica ao invés de extrair informações apenas de um documento de entrada. Para isso, os autores utilizam a Web como fonte de informações durante o processo de extração e classificação dos candidatos a instâncias. Os autores realizaram diversos experimentos avaliando diferentes fórmulas para o cálculo da medida de PMI para a tarefa de classificação dos candidatos a instâncias extraídos utilizando um corpus local, e posteriormente a Web como corpus. O Never-Ending Language Learning (NELL) (Carlson et al., 2010a) é um agente inteligente que funciona ininterruptamente visando: (1) extrair e processar informações na Web para povoar uma base de conhecimento estruturada (Ontologia) com novas instâncias de conceitos e relações, e (2) aprender a executar essa tarefa melhor do que no anterior dia. Para isso o NELL possui diferentes módulos que utilizam técnicas de Aprendizagem de Máquina, Wrappers e padrões linguísticos aplicados na Web. Cada módulo é responsável por atribuir um grau de confiança para cada candidato a instância extraído. Ao final o NELL só promove um candidato a real instância caso ele obtenha um alto valor de confiança. Além disso, os autores desenvolveram um módulo que infere novas relações a partir das relações já existentes na base de conhecimento. O NELL possui um subcomponente específico para aprendizagem de novos padrões linguísticos de extração (Carlson et al., 2010b). Esse subcomponente é executado após o processo de aprendizagem de instâncias. A abordagem adotada consiste em extrair N palavras antes e depois de cada instância extraída como candidato a novo padrão linguístico. Posteriormente, utilizando um conjunto de expressões regulares esses candidatos são filtrados e ordenados com base na medida de PMI entre cada candidato a padrão linguístico e as instâncias extraídas na última execução do algoritmo de extração de instâncias. O método proposto neste trabalho é classificado nesta categoria de métodos de extração, já que utiliza a Web como corpus, e aplica um conjunto de padrões linguísticos na Web para extrair e classificar candidatos a instâncias de classes ontológicas. 57 4.3 Medidas de Avaliação Na área de EI, Precisão e Cobertura são as medidas mais utilizadas para avaliação de SEIs (Yildiz, 2007). Devido ao conflito existente entre elas, uma terceira medida muito usada é a Medida-F. Essa medida é utilizada para mensurar o impacto das medidas de Cobertura e Precisão em uma única medida. Assim como em SEI, diversos SEIBOs (Cimiano et al., 2004; Cimiano et al., 2005a; Etzioni et al., 2004a; McDowell e Cafarella, 2008; Carlson et al., 2010a) utilizam as tradicionais medidas de Cobertura, Precisão e Medida-F para avaliar os resultados obtidos. Contudo, segundo Maynard et al. (2006) a utilização das medidas de Precisão e Cobertura para avaliar SEIBOs pode ser problemática devido à sua natureza binária. Essas medidas avaliam se cada item extraído está certo ou errado. Maynard et al. (2006) apontam ainda que SEIBOs devem ser avaliados de maneira escalar, permitindo diferentes níveis de corretude. Por exemplo, medidas que usassem esse conceito de avaliação escalar seriam úteis para avaliar a precisão da tarefa de extração de instâncias de conceitos. A precisão, nesse caso, levaria em consideração a proximidade da classe ao qual a instância foi atribuída para a classe correta na taxonomia da ontologia. Uma abordagem similar poderia ser usado para extração de instâncias de relações. Em (Cimiano et al., 2005a), a avaliação do C-PANKOW foi baseada nas medidas de Precisão, Cobertura e Medida-F, mas também por uma quarta medida chamada de Precisão de Aprendizagem (Learning Accuracy) (LA) (Hahn e Schnattinger, 1998). Essa medida mensura a proximidade da classe atribuída ao candidato a instância para a classe correta baseado na hierarquia de conceitos da ontologia. Como resultado dessa avaliação um número entre 0 e 1 é produzido, onde 1 indica que todas as atribuições estão corretas. Maynard et al. (2006) definiram outras duas medidas que podem ser utilizadas para avaliação de SEIBOs, chamadas de Precisão Aumentada (Augmented Precision) (AP) e Cobertura Aumentada (Augmented Recall) (AR). Essas medidas combinam os conceitos das tradicionais de Precisão e Cobertura com medidas baseadas em esforço. Experimentos realizados pelos autores demonstraram que as medidas de AP e AR são tão efetivas quanto a medida de LA. Em particular a medida de AC pode ser útil já que a LA é mais voltada para medir a precisão do sistema. 58 Vale ressaltar que as medidas de avaliação LA, AP e AR são usadas em geral somente para as tarefas de Povoamento de Ontologias e Anotação Semântica. A avaliação da qualidade de uma ontologia construída, nas tarefas de Aprendizagem de Ontologias e Enriquecimento de Ontologias, é mais complexa e subjetiva, principalmente devido à dificuldade de construir um modelo ideal para a comparação (Wimalasuriya e Dou, 2010). Apesar da discussão apresentada em (Maynard et al., 2006), assim como em outros trabalhos (McDowell e Cafarella, 2008; Carlson et al., 2010a) que utilizam a Web como corpus, este trabalho utilizará como medida de avaliação somente a tradicional medida de Precisão. Uma discussão sobre o porquê dessa decisão será apresentada na seção 6.2. Além disso, pode-se observar que as medidas de Precisão e Cobertura são mais rígidas que as medidas AP e AR, com isso, caso um sistema consiga um alto valor nas medidas de Precisão e Cobertura, ele também irá conseguir uma boa avaliação nas medidas de AP e AR. 4.4 Direções Futuras EIBO é uma área de pesquisa multidisciplinar apresentando grande potencial em diferentes campos de pesquisa. Diversos autores apresentam oportunidades e direções futuras para a área de EIBO (Cimiano et al, 2004; Yildiz e Miksch, 2007; Wu e Weld, 2007; Wimalasuriya e Dou, 2010; Petasis et al., 2011): a) Melhorar a eficiência de SEI: o uso ontologias em conjunto com SEI apresenta diversas vantagens, por exemplo, possibilita o desenvolvimento de sistemas de extração de informação independentes de domínio, com maior escalabilidade e portabilidade (Yildiz e Miksch, 2007). Além disso, o uso de ontologias possibilita que SEIs tenham um modelo adequado do domínio a ser analisado e que as informações extraídas sejam representadas em forma de ontologias. Com isso, é possível obter uma clara separação do que é conhecimento do domínio e o que é conhecimento operacional do sistema. Isso possibilita que essas informações sejam utilizadas em futuras aplicações, por exemplo, para o raciocínio automático. 59 b) Integração de SEIBOs com a Web Semântica: SEIBOs proporcionam um mecanismo automático para geração de conteúdo semântico convertendo informações desestruturadas em ontologias (Wimalasuriya e Dou, 2010). Para que a Web Semântica se torne realidade, é necessário que uma grande quantidade de informações presentes na Web esteja anotada semanticamente, algo que não ocorre atualmente (Monllaó, 2011). Devido à grande quantidade de informações existentes, o processo de geração de conteúdo semântico manualmente se torna uma tarefa impraticável. O potencial de SEIBOs para geração de conteúdo semântico automaticamente é apontado por diversos autores como uma importante característica que pode impulsionar o desenvolvimento da Web Semântica (Cimiano et al., 2004; Wu e Weld, 2007; Yildiz, 2007; Wimalasuriya e Dou, 2010; Petasis et al., 2011). c) Melhorar a Qualidade das Ontologias: SEIBOs fornecem um mecanismo natural para avaliar a qualidade de ontologias. O princípio básico é que se uma ontologia de domínio for utilizada com sucesso por um SEIBO, pode-se deduzir que essa ontologia é uma boa representação desse domínio. Além disso, os pontos fracos da ontologia podem ser identificados através da análise dos tipos de conteúdo semântico que não foram extraídos (Wimalasuriya e Dou, 2010). Outro aspecto interessante a ser investigado é o número de ontologias utilizadas nos SEIBOs. Todos os trabalhos discutidos neste capítulo utilizam uma única ontologia. Entretanto, não existe nenhuma restrição quanto ao uso de múltiplas ontologias. Nesse contexto, alguns trabalhos apresentam estudos envolvendo o uso de múltiplas ontologias (Grau et al., 2004; Dou et al., 2005; Wimalasuriya e Dou, 2009; Wimalasuriya, 2011). Contudo experimentos e análises adicionais precisam ser realizados para explorar melhor as vantagens e desvantagens de utilizar múltiplas ontologias. 4.5 Conclusões do Capítulo Neste capítulo, foram apresentados conceitos básicos da área de EIBO. Inicialmente, uma introdução da área de EIBO foi apresentada e em seguida uma discussão sobre a tarefa de Povoamento de Ontologia foi realizada. Posteriormente diversos métodos de 60 extração e exemplos de SEIBOs foram apresentados e discutidos. Ao final algumas direções futuras envolvendo a área de EIBO foram introduzidas. Um importante aspecto identificado nos SEIBOs apresentados, exclusivamente nos sistemas que usam a Web como fonte de informações, foi que a maioria deles utiliza uma única medida para avaliar os candidatos a instâncias extraídos. Por exemplo, nos trabalhos de (Cimiano et al., 2004; Cimiano et al., 2005; McDowell e Cafarella, 2006; Etzioni et al., 2004a) diferentes variações da medida de PMI são utilizadas. Em (Etzioni et al., 2004a) a medida de PMI é usada em conjunto com o classificador Naive Bayes (Mitchell, 1997). Embora o NELL (Carlson et al., 2010a) utilize diferentes módulos de extração, no módulo que utiliza padrões linguísticos a única medida de avaliação utilizada também é o PMI. Diferentemente dos outros trabalhos apresentados, em (Cimiano et al., 2005b), os autores apresentam uma abordagem que utiliza diferentes fontes de evidência para aprendizagem de relações taxonômicas. Os autores discutem e concluem que a combinação de diferentes medidas para classificação de candidatos a instâncias podem obter melhores resultados do que usá-las isoladamente. Este trabalho, objetiva propor um método não supervisionado para o povoamento de ontologia na Web, focando na tarefa de aprendizagem de instâncias de classes. O método proposto utiliza um conjunto de padrões linguísticos independentes de domínio para extrair e avaliar os candidatos a instâncias utilizando a Web como grande fonte de informações. Adotando a mesma ideia apresentada em (Cimiano et al., 2005b), o método proposto visa utilizar uma combinação de diferentes medidas e heurísticas para compor um medida final para avaliar os candidatos a instâncias extraídos. Vislumbra-se com isso obter melhores resultados na tarefa de extração de instâncias do que utilizar medidas isoladas. Além disso, buscando expandir o conjunto inicial de padrões linguísticos independentes de domínio, o método proposto, possui uma etapa para aprendizagem de novos padrões linguísticos específicos para cada classe aplicada ao método. O objetivo é que os novos padrões linguísticos extraídos aumentem a cobertura de instâncias passíveis de serem extraídas pelo método sem que ocorra uma grande perda na precisão das instâncias extraídas. No próximo capítulo, o método de Povoamento de Ontologias na Web proposto neste trabalho é apresentado. 61 5 Método Não Supervisionado para o Povoamento de Ontologias na Web Neste capítulo é descrito o método não supervisionado para povoamento de ontologias na Web proposto neste trabalho. O objetivo principal desse método é extrair instâncias de classes ontológicas a partir de textos escritos em linguagem natural (não estruturado) encontrados na Web. O processo de extração utilizado é guiado por uma ontologia de entrada que define os conceitos que devem ser povoados, e por um conjunto de padrões linguísticos usados para extrair e classificar instâncias para os conceitos selecionados na ontologia. O método proposto utiliza a alta redundância de informações presente no conteúdo da Web, considerando-a como grande fonte de informações. Conforme apontado em diversos trabalhos (Hearst, 1992; Etzioni et al., 2004a; McDowell e Cafarella, 2008; Sánchez e Moreno, 2008), a repetição de informações pode representar uma medida de sua relevância. Além disso, outro aspecto levado em consideração é a portabilidade, ou seja, o método funciona de forma independente do domínio da ontologia de entrada. Como ponto de partida, o método utiliza um conjunto de padrões linguísticos independente de domínio que exercem dois papéis fundamentais: (1) extratores, os padrões guiam o processo de extração de candidatos a instâncias (seção 5.1); e (2) discriminadores, os padrões são utilizados durante a etapa de Classificação dos Candidatos a Instâncias (seção 5.2). A ideia de utilizar padrões linguísticos independentes de domínio para extração de informação a partir de textos na Web tem sido aplicada com sucesso em diversos trabalhos (Hearst, 1992; Cimiano et al., 2004; Cimiano et al., 2005a; Etzioni et al., 2004a; Sánchez e Moreno, 2008; McDowell e Cafarella, 2008; Carlson et al., 2010a). Contudo, a utilização apenas de um conjunto inicial de padrões linguísticos implica em uma abrangência limitada em número de instâncias passíveis de serem extraídas (Downey et al., 2004; Geleijnse e Korst, 2006). Isso acontece devido as diferentes formas de se expressar utilizando linguagem natural. Com o objetivo de solucionar esse problema, o método proposto além de extrair instâncias de classes, é capaz de expandir o conjunto inicial de padrões linguísticos independentes de domínio, fazendo uso da 62 Web para extrair novos padrões linguísticos específicos para cada classe aplicada ao processo (Tomaz et al., 2012). A execução do método é composta por cinco etapas principais, como pode ser observado na Figura 5.1. É razoável partir da premissa que é impossível adquirir todas as instâncias possíveis para uma classe em uma única iteração. Por isso, a abordagem proposta consiste em um ciclo iterativo que é executado para cada classe selecionada na ontologia de entrada. A ideia é dividir o processamento em etapas, no qual cada nova iteração possa utilizar o conhecimento extraído por iterações anteriores visando obter uma melhor cobertura através da extração, classificação e integração de novos padrões linguísticos (Tomaz et al., 2012). Extração de Candidatos a Instâncias Classificação dos Candidatos a Instâncias Classificação dos Novos Padrões Linguísticos Extração de Novos Padrões Linguísticos Povoamento da Ontologia Figura 5.1 Visão simplificada do método proposto Por ser um método não supervisionado, não é necessário nenhum esforço para anotação e treinamento inicial. Entretanto, para uma correta execução pressupõe-se a existência de alguns elementos fundamentais, sendo eles: 1. Uma ontologia para guiar o processo de extração e ser povoada com as instâncias extraídas ao final do processo; 2. Um conjunto de padrões linguísticos independentes de domínio utilizados como extratores (seção 5.1) e discriminadores (seção 5.2) dos candidatos a instâncias; 63 3. Um ferramenta para execução das tarefas de processamento de linguagem natural: tokenização, divisão de sentenças, etiquetagem de POS, stemming e identificação de sintagmas nominais. No protótipo desenvolvido para avaliação do método proposto foi utilizado a ferramenta OpenNLP8; 4. Um serviço que possibilite o acesso a algum mecanismo de busca na Web. Esse serviço será utilizado como meio de acesso as informações presentes na Web. Neste trabalho o buscador Bing9 foi utilizado; 5. Um dicionário léxico; neste trabalho o WordNet (Fellbaum, 1998) foi utilizado. Nas seções a seguir as duas primeiras etapas responsáveis pela extração e classificação dos candidatos a instâncias são apresentadas na Figura 5.1 e como elas interagem com os elementos listados acima são descritas em detalhes. No capítulo 7 as duas últimas etapas responsáveis pela extração de novos padrões linguísticos são apresentadas e discutidas. Ressalta-se que o método proposto foi avaliado para o idioma inglês, por isso, todos os exemplos usados estão nesse idioma. 5.1 Extração dos Candidatos a Instâncias A primeira tarefa da metodologia proposta é selecionar uma classe c na ontologia de entrada. Após isso, utilizando um conjunto de padrões linguísticos independentes de domínio, consultas são formuladas e aplicadas a um mecanismo de busca na Web para recuperação de um conjunto de documentos relevantes. São apresentados na Tabela 5.1, na 1ª coluna os sete padrões linguísticos independentes de domínio adaptados de (Hearst, 1992) para o idioma inglês; e na 2ª coluna, exemplos de consultas formuladas para a classe City (Cidade). 8 9 http://opennlp.apache.org/ http://br.bing.com/ 64 Tabela 5.1 Padrões Linguísticos adaptados de (Hearst, 1992) e suas respectivas consultas (1) PADRÕES LINGUÍSTICOS (2) CONSULTAS FORMULADAS CANDIDATE is ART CLASS is a city CLASS(s) such as CANDIDATES cities such as such CLASS(s) as CANDIDATES such cities as CLASS(s) and other CANDIDATES and other cities CLASS(s) or other CANDIDATES or other cities CLASS(s) especially CANDIDATES cities especially CLASS(s) including CANDIDATES cities including Os padrões linguísticos listados na Tabela 5.1, em geral, são precedidos ou seguidos de instâncias para a classe selecionada. O processo de formulação das consultas apresentadas na 2ª coluna da Tabela 5.1 é realizado da seguinte maneira: (1) o elemento CLASS é substituído pelo rótulo da classe selecionada, o elemento CLASS(s) é substituído pela forma plural do rótulo da classe, já o elemento CLASS usa o singular; (2) o elemento CANDIDATE(S) é removido; e (3) o elemento ART é substituído pelos artigos indefinidos a ou an de acordo com as regras gramaticais do idioma inglês10. Para o correto funcionamento do método proposto, todos os rótulos das classes selecionadas na ontologia de entrada devem estar inicialmente no singular. Após a formulação das consultas, essas são aplicadas a um mecanismo de buscas na Web para recuperação de N documentos relevantes para cada consulta apresentada na Tabela 5.1. Após o processo de coleta, cada documento recuperado é processado. O objetivo é extrair sentenças relevantes, ou seja, são extraídas apenas sentenças que possuem o padrão linguístico que originou a consulta, no qual CANDIDATES denota um conjunto de sintagmas nominais extraídos como candidatos a instâncias. Por exemplo, na sentença Why did cities such as Pittsburgh, Cincinnati grow rapidly? (Por que cidades como Pittsburgh, Cincinnati crescem rapidamente?), os sintagmas nominais Pittsburgh e Cincinnati são extraídos como candidatos a instâncias para a classe City. Para o caso do padrão CANDIDATE is ART CLASS, o elemento CANDIDATE denota um único sintagma nominal. Cada candidato a instância extraído, mantém uma lista distinta de padrões linguísticos responsáveis por sua extração. Essa informação será usada posteriormente na fase de classificação dos candidatos a instâncias. 10 Regras disponíveis em http://www.inglesonline.com.br/gramatica-basica-resumida/artigos-indefinidosa-e-an/ 65 Usando sintagmas nominais, é possível realizar a extração de palavras simples e compostas, aumentando assim a cobertura dos candidatos a instâncias extraídos. Outros trabalhos (Etzioni et al., 2004a; McDowell e Cafarella, 2008) também utilizaram com sucesso sintagmas nominais como candidatos a instâncias na tarefa de Povoamento de Ontologias. Com o objetivo de eliminar candidatos a instâncias inválidos ou repetidos, alguns filtros são aplicados, sendo eles: a) Filtro de Informações Repetidas: esse filtro tem o objetivo de eliminar candidatos a instâncias que representam informações já existentes na ontologia de entrada. Por exemplo, dada a classe City e um possível candidato a instância também City, ou variações, por exemplo, cities (cidades), a city (uma cidade), the city (a cidade), in city (na cidade), esses candidatos são eliminados, pois representam a própria classe selecionada. Candidatos a instâncias que sejam instâncias já presentes na classe em povoamento ou que sejam instâncias de classes disjuntas também são eliminados. Para aumentar a cobertura desse filtro, o algoritmo de stemming é aplicado. Além disso, candidatos a instância que são sinônimos da classe ao qual ele é candidato também são removidos. Para isso, o Wordnet é utilizado para recuperação dos sinônimos. A filtragem usando sinônimos é limitada apenas para classes e candidatos a instâncias que possuem informações no Wordnet. b) Filtro de Candidatos a Instância sem valor semântico: o objetivo deste filtro é eliminar candidatos a instâncias que não possuem valor semântico. No método proposto, candidatos que não possuem substantivo são removidos. Por exemplo, candidatos a instâncias tais como Those (Aqueles), the following (a seguir), What (O quê) e Although (Embora) são eliminados nessa filtragem. c) Filtro Sintático: a lista de candidatos a instâncias produzida por essa etapa não deve possuir candidatos repetidos. Caso um candidato seja extraído mais de uma vez, esse é inserido uma única vez na lista de candidatos a instâncias, sendo atualizada apenas a lista de padrões linguísticos distintos que o extraiu. Para aumentar a identificação de redundâncias, aplica-se o algoritmo de stemming para evitar variações do singular e do plural. Além disso, 66 candidatos que se diferem apenas pela presença de artigos, preposições e pronomes antes do primeiro substantivo, são mapeados para apenas uma única forma. Por exemplo, os candidatos a instâncias The horse (O cavalo), a horse (um cavalo), his horse (seu cavalo), horse (cavalo) e horses (cavalos), são identificados como um único candidato a instância. A decisão de qual representação deve permanecer é realizada mensurando o grau de coocorrência entre cada candidato a instância e a classe selecionada. Para realizar esse cálculo, os padrões linguísticos listados na Tabela 5.1 são transformados em consultas e aplicados a um mecanismo de busca na Web (maiores detalhes na seção 5.2.1). O candidato com maior valor de coocorrência é inserido na lista de candidatos a instâncias, além disso, a lista de padrões linguísticos do candidato removido é adicionada na lista de padrões do candidato a instância inserido. d) Filtro Semântico: dois candidatos a instâncias podem ser sintaticamente diferentes, mas semanticamente iguais, por exemplo, sinônimos e acrônimos. Para evitar essa redundância, utilizando o WordNet é executada a filtragem dos candidatos a instâncias que são sinônimos e acrônimos. Um exemplo que ilustra esse cenário são os candidatos a instâncias da classe Country (Pais), USA e United States of America (Estados Unidos da América). Neste caso, todas as formas de representação são inseridas como um único candidato a instância. O que é necessário é decidir qual é a forma de representação principal, para isso, o mesmo processo do Filtro Sintático é realizado. Ressalta-se que esse filtro só pode ser aplicado para classes e candidatos a instâncias que possuem informações no WordNet. Após o processamento de todos os documentos coletados, uma lista formada pelos candidatos a instâncias extraídos para a classe selecionada e os padrões linguísticos que o extraíram é produzida. É ilustrado na Tabela 5.2 um exemplo de como é representado a lista de candidatos a instâncias ao final da fase Extração de Candidatos a Instância. 67 Tabela 5.2 Exemplo da lista de candidatos a instâncias extraídos para a classe City CANDIDATO A INSTÂNCIA PADRÕES LINGUÍSTICOS QUE O EXTRAÍRAM Milan Recife [CANDIDATE is ART CLASS] - [such CLASS(S) as CANDIDATES] - [CLASS(S) such as CANDIDATES] - [CANDIDATES or other CLASS(S)] - [CLASS(S) including CANDIDATES] [CANDIDATE is ART CLASS] - [CLASS(S) especially CANDIDATES] New York [CANDIDATE is ART CLASS] - [such CLASS(S) as CANDIDATES] - [CLASS(S) such as CANDIDATES] João Pessoa [CANDIDATE is ART CLASS] Após a extração dos candidatos a instâncias, é necessário classificá-los. O objetivo é avaliar quais candidatos são realmente instâncias da classe selecionada. Para isso, é descrita na seção a seguir a Medida de Confiança Combinada (MCC) (Oliveira et al., 2012a; Oliveira et al., 2012b) proposta neste trabalho para avaliar cada candidato a instância extraído. 5.2 Classificação dos Candidatos a Instâncias Após a extração dos candidatos a instâncias, é necessário avaliar qual o grau de confiança de cada candidato ser realmente uma instância para a classe selecionada. Esta etapa tem por objetivo avaliar cada candidato extraído pela etapa de Extração de Candidatos a Instância e atribuir um grau de confiança a cada candidato a instância extraído. Com o objetivo de alcançar uma alta taxa de assertividade, neste trabalho, é proposto uma Medida de Confiança Combinada (MCC) que combina uma medida estatística na Web, medidas de similaridade semântica utilizando o WordNet e outras heurísticas para classificação de cada candidato a instância extraído (Oliveira et al., 2012a; Oliveira et al., 2012b). É apresentado na Equação 5.1 como é calculado a MCC para cada candidato a instância avaliado. (5.1) Onde, 68 c é a classe selecionada na ontologia de entrada; ci é o candidato a instância em avaliação; P é o conjunto de padrões linguísticos utilizados; PMI representa o valor da medida de Pontuação de Informação Mútua (Turney, 2001) descrita na subseção 5.2.1; SWN corresponde a medida de Similaridade Semântica no WordNet (SWN) entre c e ci descrita na subseção 5.2.2; NPE representa a heurística de Número de Padrões Extra (NPE) descrita na subseção 5.2.3; CD consiste na heurística de Correspondência Direta (CD) descrita na subseção 5.2.3; As variáveis α, β, γ e correspondem aos pesos atribuídos as medidas de PMI, SWN e as heurísticas de NPE e CD respectivamente. Esses pesos representam o impacto de cada medida e heurística utilizada para compor a confiança final do candidato a instância em avaliação. A soma dos pesos é normalizada de forma que α + β + γ + sempre é igual a 1. Todos os valores dos constituintes que compõem a confiança combinada (PMI, SWN, NPE e CD), assim como o valor final da confiança são normalizados e variam entre 0 e 1. Essa normalização possibilita a mensuração clara do impacto de cada constituinte utilizado para compor a MCC. De maneira semelhante a Cimiano et al. (2005b), a Equação 5.1 reflete a hipótese inicial apresentada neste trabalho (seção 1.4) de combinar diferentes medidas e heurísticas com objetivo de obter melhores resultados em termos da medida de Precisão do que utilizar a somente a tradicional medida de PMI como usado em outros trabalhos (Cimiano et al., 2004; Cimiano et al., 2005a; Etzioni et al., 2004a; McDowell e Cafarella, 2008; Carlson et al., 2010a). A seguir cada constituinte utilizado para compor a MCC apresentada na Equação 5.1 é descrito em detalhes. 69 5.2.1 Pontuação de Informação Mútua A primeira medida utilizada, a Pontuação de Informação Mútua (Pointwise Mutual Information) (PMI) (Turney, 2001), caracteriza-se como uma medida estatística cujo objetivo é mensurar o grau de correlação entre dois termos. Em geral, as medidas estatísticas sofrem com o tradicional problema da esparsidade dos dados (Cimiano et al., 2005b), ou seja, dependendo da fonte de informação utilizada, os dados disponíveis nem sempre apresentam um indicativo de sua relevância, refletindo assim em uma baixa performance principalmente quando utiliza-se palavras relativamente raras. Buscando resolver o problema da esparsidade dos dados, diversos autores (Cimiano et al., 2004; Etzioni et al., 2004a; Cimiano et al., 2005b; McDowell e Cafarella, 2008) demonstraram que a utilização de medidas estatísticas explorando a grande quantidade de dados disponíveis na Web apresenta-se como um solução viável. Diante disso, a medida de PMI utilizada neste trabalho objetiva mensurar o grau de coocorrência entre uma classe (c) e cada um dos seus candidatos a instâncias (ci) usando um conjunto de padrões linguísticos (P). Para isso, consultas são formuladas utilizando c, ci e cada padrão linguístico p pertencente ao conjunto P. Posteriormente, essas consultas são aplicadas a algum mecanismo de busca na Web com o objetivo de obter a quantidade de ocorrências de cada consulta executada. São ilustradas na Tabela 5.3 as consultas formuladas para o cálculo do PMI utilizando a classe Disease (Doença), o candidato a instância Pox (Varíola) e os padrões linguísticos apresentados na Tabela 5.1. Tabela 5.3 Exemplo de consultas formuladas para o cálculo do PMI utilizando a classe Disease e o candidato a instância Pox (1) Padrões Linguísticos (2) Consultas CANDIDATES is ART CLASS pox is a disease CLASS(s) such as CANDIDATES diseases such as pox and such CLASS(s) as CANDIDATES such diseases as pox and CLASS(s) and other CANDIDATES and pox and other diseases CLASS(s) or other CANDIDATES and pox or other diseases CLASS(s) especially CANDIDATES diseases especially pox and CLASS(s) including CANDIDATES diseases including pox and 70 O processo de formulação das consultas apresentadas na Tabela 5.3 é realizado de maneira semelhante à etapa de Extração de Candidatos apresentada na seção 5.1. A diferença está no uso do elemento CANDIDATES que é substituído pelo candidato a instância em avaliação e pela presença da palavra and (e) em alguns padrões. No final dessa seção uma explicação sobre o porquê do uso dessa palavra em alguns padrões será discutido. Diversos trabalhos utilizam diferentes variações de fórmulas aplicadas no cálculo do PMI (Turney, 2001; Etzioni et al., 2004a; Cimiano et al., 2004; McDowell e Cafarella, 2008). Em particular, McDowell e Cafarella (2008) apresentam um estudo realizado para comparar diferentes variações para o cálculo do PMI aplicados no Povoamento de Ontologias na Web. Seguindo a mesma ideia, um experimento foi realizado com o objetivo de avaliar as três principais variações do PMI previamente investigadas por (McDowell e Cafarella, 2008), analisando-as em conjunto com a MCC proposta neste trabalho (Oliveira et al., 2012a; Oliveira et al., 2012b). A descrição desse experimento pode ser observada na seção 6.4. A Equação 5.2 demonstra a fórmula de cálculo do PMI que apresentou os melhores resultados nos experimentos realizados. (5.2) Na Equação 5.1, o hits(c,ci,p) representa o número de ocorrências retornado por uma consulta formada por uma classe c, um candidato a instância ci e um padrão linguístico p, conforme ilustrado na Tabela 5.3. O dividendo da Equação 5.2 representa o somatório de todas as ocorrências utilizando-se cada padrão linguístico p pertencente ao conjunto de padrões linguísticos P. A variável qtdeHits0 representa a quantidade de consultas do tipo hits(c,ci,p) que retornaram o valor 0. Com o objetivo de normalizar o numerador da Equação 5.2, procede-se da seguinte forma: a) Calcula-se o hits(ci) para cada candidato a instância pertencente ao conjunto de candidatos a instância extraídos para a classe em povoamento; b) Ordena-se esse conjunto de candidatos a instância com base no valor do hits(ci); 71 c) Calcula-se o valor do 25º percentil (Cont25) que é resultante da subtração entre o maior e o menor valor de hits(ci) do conjunto de candidatos a instancia, divido por quatro (25%); d) Por último, escolhe-se como dividendo o maior valor entre o hits(ci) do candidato a instância em avaliação e o Cont25. Essa variação PMI foi adaptada do trabalho de (McDowell e Cafarella, 2008). A diferença está na inclusão da variável qtdeHits0, cujo objetivo é penalizar candidatos a instância que possui a maior quantidade de valores zero para as consultas hits(c,ci,p). A ideia de usar essa penalização é evitar a presença de candidatos a instâncias que possuem um alto valor de hits(c,ci,p) apenas para poucos padrões linguístico específicos. Uma discussão sobre o motivo dessa formula obter melhores resultados em termos da medida de Precisão pode ser encontrado nas subseções 6.3.2 e 6.4.2. O valor final do PMI é normalizado, portanto seu intervalo de valores varia entre 0 e 1. Essa normalização é realizada através da divisão do PMI de cada candidato a instância do conjunto de candidatos da classe selecionada dividido pelo maior valor de PMI dessa amostra. Candidatos a instância que obtiverem o PMI igual a zero são eliminados. Retomando a discussão sobre a utilização da palavra and (e) em alguns padrões linguísticos, conforme apontado por (Geleijnse e Korst, 2006), o uso dessa palavra em conjunto com alguns padrões, objetiva evitar alguns problemas de classificação. Por exemplo, dada a classe City, se o método extraísse o candidato Los ao invés de Los Angeles, esse candidato a instância Los representaria um problema para a medida de classificação proposta, pois o valor do hits(c,ci,p) do real candidato Los Angeles está contido no valor do hits(c,ci,p) do candidato Los. Levando em consideração que o PMI possui um grande peso na classificação dos candidatos a instâncias, isso implicaria na atribuição de um alto valor na medida de confiança para o candidato Los, ocasionando uma classificação errada. Contudo, uma desvantagem da utilização do and em conjunto com padrões linguísticos é a perda na cobertura de instâncias que podem ser extraídas pelo padrão. Além do cenário descrito acima, o uso da palavra and tenta resolver o problema da atribuição de um alto valor de PMI para os candidatos a instâncias que são formados por instâncias da classe, sendo unidos pela presença das conjunções and e or. Por exemplo, 72 dada a sentença cities such as New York and California (cidades tais como Nova Iorque e California), o sintagma nominal New York and California, é extraído como um único candidato a instância para a classe City. Esse tipo de candidato em geral apresenta um alto valor de PMI, o que pode levar o método a atribuir uma alta confiança a esse candidato. Um experimento realizado e descrito na subseção 6.4.2 justifica a decisão de utilizar a palavra and em conjunto com a medida de PMI. 5.2.2 Similaridade Semântica no WordNet Medidas de similaridade semântica baseadas nas informações presentes no WordNet são frequentemente utilizadas em aplicações de PLN para medir o grau de similaridade entre dois termos (Pederson, 2010). Essas medidas são técnicas automáticas que tentam simular a interpretação humana de estimar o grau de relacionamento entre dois conceitos. Por exemplo, essas medidas devem ser capazes de atribuir uma maior similaridade aos conceitos Dog (Cachorro) e Cat (Gato), tendo em vista que ambos são mamíferos, do que a similaridade entre eles com o conceito Country (Pais). Diversas medidas de similaridade semântica têm sido propostas, explorando conhecimentos explícitos, por exemplo, estruturas taxonômicas; ou conhecimentos implícitos, como a distribuição de informações (Sánchez e Batet, 2010). Diante disso, com o objetivo de mensurar a similaridade entre uma classe c selecionada na ontologia de entrada e cada candidato a instância ci extraído da fase de Extração de Candidatos a Instância (seção 5.1), a metodologia proposta faz uso de duas medidas de similaridade: (1) a Wu and Palmer (Wu e Palmer, 1994) que explora conhecimentos explícitos; e (2) a Resnik (Resnik, 1995) que utiliza o conceito de distribuição de informações. A primeira medida a Wu and Palmer (Wu e Palmer, 1994) explora a ideia de encontrar o conceito mais específico que generaliza ambos os conceitos mensurados. A similaridade entre dois conceitos é definida pelo tamanho do caminho entre esse conceito compartilhado e a raiz da arvore do WordNet, dividido pela soma dos caminhos entre a raiz e cada conceito individualmente. A segunda medida, proposta por Resnik (Resnik, 1995), mensura a similaridade entre dois conceitos computando a quantidade de informações compartilhadas entre eles. Essa quantidade de informações compartilhadas é determinada pela medida de Conteúdo de Informação (CI) do 73 Conceito Mais Específico em Comum (CMEC) entre os dois conceitos. Para isso, as definições e sinônimos presentes no WordNet são usadas para calcular a similaridade entre eles. Maiores informações sobre essas medidas podem ser encontradas no Anexo A. As medidas de Wu and Palmer (Wu e Palmer, 1994) e Resnik (Resnik, 1995), foram escolhidas empiricamente através de um experimento no qual as seis medidas apresentadas no Anexo A foram avaliadas para o cenário de povoamento de ontologias em termos da medida de Precisão. A descrição desse experimento pode ser encontrada na subseção 6.4.3. Por fim, a medida de Similaridade Semântica no WordNet (SWN) é dada pela soma das similaridades resultantes entre as medidas Wu and Palmer (Wu e Palmer, 1994) e a Resnik (Resnik, 1995) conforme apresentada na Equação 5.3. (5.3) A ideia de combinar essas duas medidas é explorar os dois tipos de informações usadas por elas: (1) o caminho da estrutura do WordNet entre dois conceitos para estimar a similaridade entre eles, e (2) o conceito de informações compartilhada entre dois conceitos para o cálculo da similaridade entre eles. Ressalta-se que a medida SWN só funciona para classes e candidatos a instância que possuem informações no WordNet. Assim como os demais constituintes da MCC, o valor final da medida SWN é normalizado e varia entre 0 e 1. 5.2.3 Número de Padrões Extra e Correspondência Direta A heurística de Número de Padrões Extra (NPE) é baseada na hipótese de quanto mais padrões linguísticos distintos forem responsáveis pela extração de um candidato a instância, mais forte é a evidência de que esse candidato seja realmente uma instância válida para a classe em povoamento. Baseado nessa hipótese, a heurística de NPE mensura quantos padrões linguísticos distintos extraíram o candidato a instância avaliado. O intervalo de valores que essa heurística pode assumir varia de 1 ao total de padrões linguísticos utilizados pelo método para a classe selecionada. Por exemplo, na Tabela 5.2, o candidato a instância Milan possui NPE = 5 já que foi extraído por 5 74 padrões linguísticos, enquanto que o candidato a instância Recife possui NPE = 2. Para simplificar o processo de atribuição de pesos, o valor final do NPE também é normalizado. A heurística de Correspondência Direta (CD) é baseada no trabalho de (Monllaó, 2011), cuja ideia é encontrar uma ocorrência parcial da classe dentro do candidato a instância. Por exemplo, dada à classe University (Universidade) e o candidato a instância Federal University of Pernambuco (Universidade Federal de Pernambuco), é possível encontrar uma ocorrência da classe dentro do candidato a instância. Com o objetivo de obter uma maior abrangência durante o processo de identificação da ocorrência, aplicou-se o algoritmo de stemming para eliminar variações nas palavras. Quando uma ocorrência é encontrada o valor da heurística de CD é 1, caso contrário o valor 0 é atribuído. 5.3 Povoamento da Ontologia de Entrada Ao final da etapa de Classificação de Candidatos a Instância, uma lista de candidatos a instância ordenados por seus graus de confiança (MCC(c,ci)) é produzida. Nesta etapa, o objetivo é decidir quais desses candidatos a instâncias serão promovidas a instâncias da classe selecionada, sendo assim utilizadas para povoar a ontologia de entrada. Diante disso, a escolha de um limiar é muito importante principalmente levando em consideração que essa escolha impacta diretamente nas medidas de Precisão e Cobertura. Levando em consideração dois aspectos importantes da utilização da Web como corpus, (1) grande volume de informações, e (2) a grande presença informações erradas, decidiu-se priorizar pela medida de Precisão. Por isso, a cada iteração do método apenas candidatos a instâncias com um alto valor de confiança na medida MCC são promovidas a instâncias para a classe selecionada. Em geral a escolha do limiar é realizada empiricamente, sendo promovida a instância apenas candidatos que possuem um valor maior do que o limiar escolhido. Tendo em vista que a medida de PMI possui valores variando em ordem de grandeza diferentes dependendo da classe selecionada, do candidato a instância em avaliação e dos padrões linguísticos utilizados, estimar um valor número para o limiar tornou-se 75 inviável. Ao invés disso, optou-se por promover a cada iteração os N melhores candidatos a instâncias (Top N) ordenados com base nos valores de confiança da MCC. São ilustrados nas Figuras 5.2 e 5.3 respectivamente um exemplo de uma ontologia de entrada antes e depois de aplicada ao processo de povoamento. Pode-se observar na Figura 5.3 que dez instâncias da classe Country (Pais) foram inseridas na ontologia de entrada ao final do processo de povoamento. Figura 5.2 Ontologia de entrada antes do processo de povoamento Figura 5.3 Ontologia de entrada após o processo de povoamento 76 Ao final desta etapa os N melhores candidatos a instâncias baseados na MCC são promovidos a instâncias e utilizadas para povoar a classe selecionada. No exemplo apresentado nas Figuras 5.2 e 5.3 definiu-se N = 10. As novas instâncias extraídas nesta etapa são posteriormente utilizadas como conhecimento prévio pela etapa de Aprendizagem de Padrões Linguísticos Específicos, descrita no Capítulo 7. 5.5 Conclusões do Capítulo Neste capítulo foi apresentado o método não supervisionado para o povoamento de ontologias na Web proposto neste trabalho. O processo de povoamento proposto é guiado por uma ontologia de entrada e por um conjunto de padrões linguísticos usados para guiar o processo de Extração de Candidatos a Instâncias (seção 5.1) e Classificação dos Candidatos a Instâncias (seção 5.2). O método proposto possui algumas características importantes: (1) aplica-se a qualquer domínio no qual suas instâncias são compostas por pelo menos um substantivo; (2) utiliza a Web como grande fonte de informações; (3) apresenta uma nova técnica para classificação dos candidatos a instâncias através da combinação de diferentes medidas e heurísticas; (4) apresenta uma fase para aprendizagem de novos padrões linguísticos específicos na Web, descrita no Capítulo 7; e (5) consiste em um ciclo iterativo no qual cada iteração utiliza o conhecimento prévio adquirido em iterações anteriores para melhor a extração atual. Com o objetivo de avaliar as etapas de Extração de Candidatos a Instâncias (seção 5.1) e Classificação dos Candidatos a Instâncias (seção 5.2), no próximo capítulo são apresentados os experimentos realizados e os resultados obtidos. 77 6 Experimentos e Resultados Neste capítulo são descritos os experimentos realizados com o objetivo de avaliar o método para o povoamento de ontologias na Web proposto neste trabalho. Os experimentos realizados avaliam todas as fases do método, além de cada constituinte da medida MCC individualmente. Os experimentos foram divididos em três partes: 1) Experimento 1 (seção 6.3): O objetivo deste experimento é avaliar três variações da medida de PMI, comparando-as com a primeira versão da Medida de Confiança Combinada (MCC) proposta. Espera-se ao final deste experimento: (1) identificar qual a variação da medida de PMI apresenta os melhores resultados na extração de instâncias de classes, e (2) verificar se a proposta de combinar diferentes medidas e heurísticas para classificação dos candidatos a instâncias apresenta melhores resultados do que usar individualmente a tradicional medida de PMI. 2) Experimento 2 (seção 6.4): Neste experimento, cada constituinte (PMI, SWN e NPE) da medida MCC será avaliado individualmente. O objetivo é identificar qual constituinte apresenta os melhores resultados para a extração de instâncias de classes. Além disso, os experimentos analisaram soluções propostas para alguns problemas identificados na medida de PMI no primeiro experimento descrito na seção 6.3 3) Experimento 3 (seção 6.5): Com base nos resultados obtidos no segundo experimento descrito na seção 6.4, três versões da MCC foram propostas e avaliadas. O objetivo deste experimento é identificar qual configuração da MCC apresenta os melhores resultados na extração de instâncias de classes. A seguir é descrito como está estruturado o corpus utilizado nos experimentos realizados. 78 6.1 Descrição do Corpus O método para o povoamento de ontologias proposto neste trabalho utiliza a Web como grande fonte de informações. Neste sentido, nenhum corpus local é usado. Todos, os documentos utilizados serão coletados com auxílio de um mecanismo de busca na Web. O conteúdo presente na Web é formado por diversos formatos de documentos, por exemplo, páginas HTML, documentos XML, dentre outros. Com o objetivo de reduzir o processamento computacional dos experimentos realizados e ao mesmo tempo tentando utilizar a menor quantidade de informação, neste trabalho os documentos coletados serão apenas prévias das páginas web originais. Os web snippets (fragmentos), ou simplesmente snippets, são fragmentos de texto retornados quando consultas são aplicadas a mecanismos de buscas na Web. Os snippets são textos simples que em geral possuem as palavras chave que formam a consulta aplicada, apresentando uma prévia da informação contida nos documentos recuperados. Essas prévias (snippets), mesmo possuindo um tamanho reduzido, são informativos o suficiente para extrair conhecimento relacionado com a consulta aplicada sem a necessidade de processar o documento inteiro coletado (Monllaó, 2011). A Figura 6.1 apresenta exemplos de snippets coletados por um mecanismo de busca na Web. Figura 6.1 Snippets recuperados pela consulta cities such as aplicados ao mecanismo de busca Bing11 Neste trabalho, o texto destacado em vermelho nos snippets apresentados na Figura 6.1 é utilizado como documento para formar o corpus usado nos experimentos. É 11 http://br.bing.com/ 79 importante observar na Figura 6.1 que os snippets possuem o padrão linguístico de extração que originou a consulta aplicada, possibilitando a realização do processo de extração de instâncias descrito na seção 5.1. Além do corpus, outro elemento importante para a realização dos experimentos é a medida de avaliação utilizada, a seguir é apresentado a medida adotada neste trabalho. 6.2 Medida de Avaliação Conforme foi discutido na seção 4.3, SEIBOs podem ser avaliados utilizando as tradicionais medidas de Precisão, Cobertura e Medida-F. A medida de Precisão avalia a corretude de um SEIBO e, no contexto deste trabalho, pode ser definida pela razão entre a quantidade de instâncias corretas extraídas pelo total de instâncias recuperadas. Para o cálculo da Precisão é necessário analisar cada instância extraída e verificar se ela é realmente uma instância para a classe ao qual foi atribuída. Já a medida de Cobertura avalia a completude de um SEIBO, ou seja, é a razão entre quantidade de instâncias corretas extraídas pelo total de instâncias corretas disponíveis no corpus processado. Para computar a medida de Cobertura é necessário conhecer previamente todas as instâncias possíveis de uma classe que podem ser extraídas do corpus. Para isso, é necessário analisar todo o corpus identificando todas as instâncias possíveis para cada classe na ontologia de entrada. Esse processo, em geral, é realizado manualmente e dependendo do tamanho do corpus demanda muito tempo. Diante do fato que o método proposto neste trabalho utiliza a Web como corpus, e devido à demanda de esforço para calcular a medida de Cobertura, este trabalho limitase a avaliar a precisão do método proposto. Outros trabalhos (McDowell e Cafarella, 2008; Carlson et al., 2010) que também adotaram a Web como corpus avaliaram seus experimentos utilizando somente a medida de Precisão. A avaliação da precisão nos experimentos descritos nas seções 6.3, 6.4, 6.5 e 6.6 é realizada variando diferentes limiares. Nos experimentos realizados, o limiar irá definir o valor dos N candidatos a instâncias (TopN) ordenados com base na medida MCC (seção 5.2) que serão promovidos a instâncias e usados para povoar a ontologia de entrada (seção 5.3). Após a definição do limiar (TopN), calcula-se a precisão na amostra retornada. Por exemplo, caso N seja igual a 10, computa-se a precisão nos 10 primeiros 80 candidatos a instâncias com base no valor na MCC. A Equação 6.1 é usada para calcular a precisão nos experimentos descritos neste capítulo. (6.1) Onde: N é a quantidade de candidatos a instâncias promovidos a instâncias com base no valor da MCC O processo de avaliação dos candidatos a instâncias para o cálculo da medida de Precisão nos experimentos executados foi realizado manualmente por três avaliadores humanos. Em caso de dúvida de um avaliador, um processo de votação para decidir se o candidato a instância estava correto ou não foi realizado. Em todos os experimentos, a avaliação dos resultados obtidos levou em consideração quatro limiares: Top10, Top50, Top100 e Top300. Os dois primeiros limiares Top10 e Top50 são mais restritivos, ou seja, poucas instâncias são extraídas por iteração, já nos limiares Top100 e Top300 um número maior de instâncias é promovido por iteração. A escolha desses limiares possibilita a análise da precisão do método promovendo poucas instâncias, mas com um alto valor de confiança, ou priorizando extrair mais instâncias por iteração. Nos experimentos realizados nenhuma comparação com os trabalhos relacionados (Cimiano et al., 2004; Cimiano et al., 2005a; Etzioni et al., 2004a; McDowell e Cafarella, 2008; Carlson et al., 2010a) foi realizada. Para que ocorra uma comparação justa entre dois SEIBOs, na execução da tarefa de povoamento de ontologias, ambos tem que usar as mesmas configurações, ou seja, usar a mesma ontologia e o mesmo corpus. Diante do fato que o método proposto nesta dissertação e que os trabalhos relacionados utilizam a Web como corpus não mantendo nenhum documento local, essa comparação não foi possível. Como trabalho futuro, vislumbra-se a construção de um corpus anotado utilizando os documentos usados nos experimentos descritos no Capítulo 6, permitindo assim que outros autores possam comparar suas abordagens com o método proposto neste trabalho. 81 6.3 Experimento 1: Avaliação entre as Variações das Medidas de PMI e a MCC O objetivo deste experimento é avaliar três variações da medida de PMI, previamente analisadas por (McDowell e Cafarella, 2008). Uma análise foi conduzida para avaliar a utilização dessas três variações de PMI isoladamente na classificação dos candidatos a instâncias extraídos, comparando-as com sua utilização para compor a MCC (seção 5.2). Vislumbra-se com isso, identificar se existe algum ganho de precisão com a proposta de combinar diferentes medidas e heurísticas em uma única medida para classificar os candidatos a instâncias. Além disso, espera-se identificar qual variação de PMI apresenta os melhores resultados. Nas subseções a seguir, são apresentadas as configurações dos experimentos (subseção 6.3.1), seguida da discussão dos resultados obtidos (subseção 6.3.2). 6.3.1 Configurações do Experimento Conforme foi apresentada no capítulo 5 (subseção 5.2.1), a medida de PMI mensura o grau de correlação entre dois termos. Neste trabalho, essa medida é utilizada para calcular a coocorrência entre uma classe c e um candidato a instância ci usando um conjunto de padrões linguísticos P. Esses padrões são transformados em consultas e aplicados a um mecanismo de busca na Web. O objetivo é calcular o total de ocorrência hits(c,ci,p) através de consultas formadas entre c, ci e cada padrão linguístico p pertencente ao conjunto P. É apresentado na Tabela 6.1 o conjunto de padrões linguísticos utilizados neste experimento. Esses padrões foram previamente definidos por (Hearst, 1992) e utilizados em diversos outros trabalhos (Cimiano et al., 2004; Cimiano et al., 2005a; Etzioni et al., 2004a; McDowell e Cafarella, 2008). 82 Tabela 6.1 Padrões linguísticos definidos por (Hearst, 1992) PADRÕES LINGUÍSTICOS CLASS(s) such as CANDIDATES such CLASS(s) as CANDIDATES CLASS(s) and other CANDIDATES CLASS(s) or other CANDIDATES CLASS(s) especially CANDIDATES CLASS(s) including CANDIDATES O corpus utilizado neste experimento é formado por um conjunto de snippets coletados através de um mecanismo de busca na Web, utilizando os padrões linguísticos apresentados na Tabela 6.1. Para a execução do método, é necessário informar previamente, a quantidade de snippets que irão formar o corpus. Neste primeiro experimento, definiu-se 500 snippets por padrão linguístico. Como são usados 6 padrões linguísticos, um total de 3000 snippets constituem o corpus para cada classe selecionada. Para este experimento dez classes foram selecionadas em uma ontologia customizada: Mammal (Mamífero), Bird (Ave), City (Cidade), Disease (Doença), Food (Comida), Fruit (Fruta), Movie (Filme), Sport (Esporte), TV Series (Série de TV), e University (Universidade). Esses conceitos foram escolhidos por representarem domínios diferentes e por terem sido utilizados em outros trabalhos (Cimiano et al., 2004; Cimiano et al., 2005a; Etzioni et al., 2004a; McDowell e Cafarella, 2008). A análise dos candidatos a instâncias extraídos levou em consideração alguns critérios para a decisão de aceitar ou não um candidato a instância como instância. Esses critérios variam dependendo do domínio da classe selecionada, sendo eles: a) As classes Movie, Sport, TV Series, University, e City possuem instâncias de fácil de identificação, não apresentando dificuldade durante a avaliação. Já as classes Food e Fruit apresentaram um grau maior de dificuldade. Nenhum candidato a instância que represente um conjunto de ocorrências específicas dessas classes foi considerada correta durante a avaliação. No caso da classe Food, nenhum marca de comida foi considerada correta. 83 b) A análise das classes Mammal, Bird e Disease foi mais complexa. Para essas classes termos como, por exemplo, cat (gato) e dog (chachorro) para a classe Mammal, owl (Coruja) e duck (Pato) para a classe Bird, e cancer para a classe Disease, foram considerados corretos devido a complexidade do domínio. Segundo Sánches e Moreno (2008) a diferenciação se termos como esses são classes ou subclasses é complexa até mesmo para um ser humano. Soma-se a isso o fato de que a Web não é um corpus especializado em um domínio particular e que pode ter sido escrito por qualquer pessoa. Termos que representam nomes próprios de animais como Pluto, Lasie, Louro José, dentre outros, não foram considerados instâncias. Na subseção a seguir são apresentadas as variações da medida de PMI avaliadas e a primeira versão da medida MCC proposta. 6.3.2 Variações das Medidas de PMI e MCC Avaliadas Nas Equações 6.2, 6.3 e 6.4 são apresentadas as três variações da medida de PMI analisadas neste experimento. Nestas equações, hits (ci, c, p) representa o número de ocorrências retornadas pelo mecanismo de busca na Web para a consulta formada por um candidato a instância ci, uma classe c, usando o padrão linguístico p. Enquanto isso, hits (ci) e hits(c) representam o total de ocorrência do candidato a instância ci e da classe c isoladamente. 1. Strength: Essa variação do PMI é calculado pelo somatório de todas as coocorrência retornados pela consulta hits(c,ci,p). Para isso, consultas são formuladas para o par (c, ci) e cada padrão linguístico p pertencente ao conjunto de padrões P apresentado na Tabela 6.1. Na Equação 6.2 é apresentado como é realizado o cálculo desta variação de PMI. (6.2) 2. Str-INorm-Thresh: Segundo McDowell e Cafarella (2008), a variação Strength é tendenciosa para instâncias muito frequentes. Outras instâncias para a classe selecionada podem não ser tão frequentes. Tentando solucionar esse problema, algumas variações normalizam a variação PMIStrength. 84 Algumas dessas variações utilizam, como fator de normalização, o total de ocorrência retornado por hits(ci). Contudo, mesmo usando esse fator de normalização em casos onde o candidato a instância é raro, o problema da tendenciosidade persiste. Diante disso, o fator de normalização precisa ter um valor mínimo definido. Nesta variação, esse valor é calculado da seguinte maneira: a) Calcula-se o hits(ci) para cada candidato a instância pertencente ao conjunto de candidatos a instâncias extraídos para classe em execução; b) Ordena-se esse conjunto de candidatos a instâncias com base no valor dos hits(ci); c) Calcula-se o valor do 25º percentil (Cont25) que é resultante da subtração entre o maior e o menor valor de hits(ci) do conjunto de candidatos a instancias, divido por quatro (25%); d) Por último, escolhe-se como fator de normalização o maior valor entre o hits(ci) do candidato a instância em avaliação e o Cont25. É apresentado na Equação 6.3 com é realizado o calculo do PMI desta variação. (6.3) 3. Str-ICNorm-Thresh: Seguindo a mesma ideia de normalização do PMIStr INorm, esta variação utiliza, como fator de normalização, ambos o candidato a instância ci e a classe c. Na Equação 6.4 é apresentado como é calculada esta variação. (6.4) Neste experimento, a primeira versão da MCC (seção 5.2) foi avaliada utilizando cada uma das variações de PMI supracitadas. A variação da MCC analisada neste experimento difere da versão apresentada na seção 5.2 pela maneira como ela é calculada, e pelas medidas de similaridade semântica no WordNet usadas para compor a 85 medida SWN. A Equação 6.5 demonstra como é calculada a versão da MCC avaliada neste experimento. (6.5) Onde: PMI_Var representa a variação da medida de PMI usada; NPE é a heurística de Número de Padrões Extra (subseção 5.2.3). Já NPEMax representa o valor máximo que essa medida pode assumir. Neste experimento esse valor é o total de padrões linguísticos utilizados (NPEMax = 6); SWN é a medida de similaridade semântica no WordNet (subseção 5.2.2). Neste experimento essa medida foi composta pelas medidas de similaridade Lin (Lin, 1998) e Wu and Palmer (Wu e Palmer, 1994). Uma explicação sobre essas medidas pode ser encontrada no Anexo A. A variável SWNMax representa valor máximo que essa medida pode assumir. Neste experimento, SWNMax = 2. CD corresponde a heurística de Correspondência Direta (subseção 5.2.3). O valor que essa heurística pode assumir é 1, caso ocorra a correspondência; ou 0, caso contrário. Portanto, o valor da variável CDMax = 1. A Equação 6.5 reflete a ideia inicial de combinar diferentes medidas e heurísticas para classificar os candidatos a instâncias extraídos, vislumbrando obter melhores resultados do que utilizar as medidas isoladamente. Diante da constante utilização da medida de PMI em outros trabalhos, esse possui o maior peso para o valor final da MCC. Os demais constituintes (NPE, SWN e CD) são usados como pesos multiplicados ao valor do PMI. Na próxima subseção são apresentados os resultados alcançados, as discussões geradas, as dificuldades enfrentadas e as questões que surgiram após a execução deste experimento. 86 6.3.3 Resultados e Discussões O experimento iniciou com a execução da etapa de Extração de Candidatos a Instância (seção 5.1). Essa etapa foi responsável por extrair um conjunto de candidatos a instâncias para cada uma das dez classes selecionadas neste experimento. Após a extração dos candidatos a instâncias, foram realizadas seis execuções (PMIStrength, MCC Strength, PMIStr INorm, MCC Str INorm, PMIStr ICNorm e MCCStr ICNorm) da etapa de Classificação dos Candidato a Instância (seção 5.2). Com objetivo de promover uma comparação justa, todas as execuções utilizaram o mesmo conjunto de candidatos a instâncias extraídos na etapa de Extração de Candidatos a Instância para cada classe selecionada. Cada execução realizou o processo de classificação utilizando uma variação da medida de PMI isoladamente como medida de classificação única, e depois a MCC. Os gráficos apresentados nas Figuras 6.2, 6.3 e 6.4 demonstram os resultados obtidos para as dez classes selecionadas. Em todos os gráficos são feitas comparações em termos da medida de Precisão para cada variação do PMI com sua respectiva utilização para compor a medida MCC apresentada na Equação 6.5. 100% TOP 10 - MCC Strength 90% Precisão 80% TOP 10 - PMI Strength 70% TOP 50 - MCC Strength 60% 50% TOP 50 - PMI Strength 40% TOP 100 - MCC Strength 30% TOP 100 - PMI Strength 20% 10% TOP 300 - MCC Strength 0% TOP 300 - PMI Strength Figura 6.2 Comparação entre as medidas de PMIStrength e MCCStrength 87 Precisão 100% 90% TOP 10 - MCC Str INorm 80% TOP 10 - Str INorm 70% 60% TOP 50 - MCC Str INorm 50% TOP 50 - Str INorm 40% TOP 100 - MCC Str INorm 30% TOP 100 - Str INorm 20% 10% TOP 300 - MCC Str INorm 0% TOP 300 - Str INorm Figura 6.3 Comparação entre as medidas de PMIStr INorm e MCCStr INorm Precisão 100% 90% TOP 10 - MCC Str ICNorm 80% TOP 10 - Str ICNorm 70% 60% TOP 50 - MCC Str ICNorm 50% TOP 50 - Str ICNorm 40% TOP 100 - MCC Str ICNorm 30% TOP 100 - Str ICNorm 20% 10% 0% TOP 300 - MCC Str ICNorm TOP 300 - Str ICNorm Figura 6.4 Comparação entre as medidas de PMIStr ICNorm e MCCStr ICNorm Analisando os resultados apresentados nas Figuras 6.2, 6.3 e 6.4, é possível observar que o método proposto é capaz de extrair uma grande quantidade de instâncias corretas para a maioria das classes selecionadas. Os limiares mais restritivos Top10 e Top50 apresentaram os maiores valores de precisão, enquanto que nos limiares mais abrangentes (Top100 e Top300) houve uma tendência natural de perca de precisão. Podese também observar uma variação de precisão entre as classes selecionadas, isso ocorreu devido a fatores como complexidade do domínio e coocorrência de instâncias da classe selecionada com os padrões linguísticos independentes de domínio utilizados. 88 Um fator importante a ser ressaltado é a falta de confiabilidade das informações presentes na Web. A maioria dessas informações é escrita por pessoas que em geral não são especialistas do domínio abordado. Quanto mais complexo o domínio analisado, maior a probabilidade de informações erradas sejam encontradas. Classes como City, TV Serie e Movie obtiveram sempre uma alta precisão, obtendo um valor de no mínimo 60%. Essas classes são de conhecimento geral e de fácil interpretação, ou seja, poucas informações erradas foram encontradas. Enquanto isso, os conceitos Mammal, Fruit e Bird não obtiveram resultados equivalentes. Para a classe Fruit, por exemplo, foi identificada uma precisão mínima de aproximadamente 28% analisando o limiar Top300. Devido à complexidade dos domínios, muitas informações erradas foram encontradas. Por exemplo, muitos snippets analisados apresentavam erros, no qual os autores confundiam certas espécies da classe Bird com espécies da classe Mammal, o inverso também foi encontrado. O mesmo aconteceu com a classe Fruit onde foram encontrados muitos termos relacionados com a classe Food. Esse erro é até compreensível já que a classe Fruit pode ser considerada subclasse de Food. A grande coocorrência de informações erradas levou o método de classificação a extrair falsos candidatos a instâncias, devido ao alto valor que esses candidatos obtiveram na medida de PMI. Quatro problemas principais que geraram um impacto negativo nos resultados obtidos foram identificados, sendo eles: 1) O primeiro problema foi gerado por alguns falsos candidatos a instâncias que possuem um alto valor de coocorrência apenas para um ou dois padrões linguísticos e valor zero nos demais. Por exemplo, na classe Disease, o candidato a instância Multiple presente no Top50 obteve um alto valor de coocorrência em três padrões linguísticos, e valor zero nos outros três. Muitos falsos candidatos a instâncias obtiveram alto valor de PMI por causa desse problema. Uma possível solução a ser analisada é penalizar cada consulta hit(c, ci,p) que retornar valor zero. 2) O segundo problema identificado é a presença de candidatos a instâncias incompletos. Por exemplo, na classe City, foi identificada a extração do candidato a instância Los, onde possivelmente o correto seria a extração do candidato a instância Los Angeles. Foi obervado que o valor da coocorrência hits(c, ci, p) do real candidato Los Angeles está contido no valor do candidato Los usando os padrões CLASS(s) such 89 as CANDIDATES, such CLASS(s) as CANDIDATES, CLASS(s) especially CANDIDATES e CLASS(s) including CANDIDATES. Isso resultou na atribuição de um alto valor na medida de PMI para o candidato a instância Los. Esse tipo de problema foi gerado devido a erros na ferramenta identificação de sintagmas nominais ou por causa de fragmentos de texto incompletos. 3) O terceiro problema é presença de candidatos a instância no formato NP and/or NP. Essa estrutura é identificada como um sintagma nominal único, gerando na maioria dos casos um falso candidato a instância formado por duas instâncias corretas. Esse tipo de candidato a instância apresentou um impacto negativo devido ao alto valor obtido na medida de PMI. Na maioria das classes selecionadas foi possível identificar esse problema. Por exemplo, na classe Sport foi possível encontrar candidatos a instâncias como basketball and football (Basquete e Futebol Americano), Football or Rugby (Futebol Americano ou Rúgbi), dentre outros. O problema consiste em identificar quando as conjunções and e or fazem parte do candidato ou apenas estão ligando duas orações independentes. Por exemplo, o candidato a instância Two and Half Men (Dois homens e meio) possui a conjunção and e é uma instância válida da classe TV Series. 4) O quarto problema é relacionado a presença de termos pertencentes ao domínio, mas não são instâncias para a classe selecionada. Por exemplo, para a classe Disease os candidatos a instâncias Heart (Coração) e HIV (Human Immunodeficiency Vírus) (Vírus da Imunodeficiência Humana) representam termos relevantes para o domínio de doenças, mas não são instâncias dessa classe. Contudo, por serem termos importantes para o domínio, eles obtiveram um alto valor nas medidas de PMI, SWN e na heurística de NPE. Esse problema levou o método de classificação a promover falsos candidatos a instâncias principalmente quando se utilizou os limiares mais abrangentes (Top100 e Top300). Todos os problemas supracitados foram identificados em todas as variações da medida de PMI analisadas bem como com a utilização da MCC. Contudo, esses problemas apresentam um impacto maior nas variações que utilizaram a medida de PMI isoladamente. Analisando os gráficos apresentados nas Figuras 6.2, 6.3 e 6.4, é possível observar que, na maioria das comparações realizadas independente do limiar adotado, a medida de MCC proposta obteve melhor precisão do que as variações de PMI usadas isoladamente. 90 Para avaliar se houve realmente uma diferenciação significativa entre os resultados obtidos pela medida MCC, foi aplicado o teste de significância estatística T-Student12. Esse teste estatístico foi realizado em doze comparações, levando em consideração os quatro limiares analisados (Top10, Top50, Top100 e Top300) e cada uma das três variações de PMI analisadas (PMIVariação x MCCVariação). Em todas as comparações realizadas a MCCVariação obteve a melhor precisão média para as dez classes selecionadas e, em cinco delas, houve uma diferença estatisticamente significante usando um nível de confiança de 95% (α = 0,05). A MCC por ser uma combinação de quatro constituintes (PMI, SWN, NPE e CD) minimizou os problemas encontrados com a medida de PMI. A MCC obteve melhores resultados principalmente nos limiares mais restritivos Top10 e Top50. Com isso, pode-se afirmar que a MCC aumentou a confiança de candidatos a instâncias que realmente eram instâncias e penalizou falsos candidatos a instâncias. Classes que possuem informações no WordNet obtiveram bons resultados utilizando as medidas de similaridade semântica (Lin e Wu and Palmer) adotadas para compor a SWN, principalmente nos limiares Top10 e Top50. Nos limiares mais abrangentes (Top100 e Top300) a SWN apresentou problemas atribuindo altos valores de similaridade para falso candidatos ou não possuindo informações para alguns candidatos a instâncias. Isso ocorreu principalmente com termos relevantes ao domínio da classe selecionada, mas não são instâncias dessa classe. A classe TV Serie não sofreu nenhum impacto da SWN, pois, não possui informações no WordNet. O conceito Movie também não obteve um impacto significativo usando a SWN, devido a limitação de informações sobre esse domínio no WordNet. A heurística de NPE obteve um impacto positivo na MCC. Analisando os resultados obtidos, foi possível notar que a maioria dos candidatos a instâncias que foram extraídos por mais de cinco padrões linguísticos (NPE >= 5) comprovaram ser realmente instâncias para as classes selecionadas. Assim como as medidas de PMI e SWN, essa heurística também apresentou problemas com termos relevantes ao domínio que não representam instâncias dessa classe. Devido a sua natureza simplista, a heurística de CD não obteve um grande impacto nos resultados obtidos, a única exceção foi a classe University. 12 http://pt.wikipedia.org/wiki/Teste_t_de_Student 91 Analisando a média de precisão das dez classes selecionadas para cada TopN avaliado, a variação de PMI utilizada isoladamente que obteve melhores resultados neste experimento foi a PMIStr INorm. As duas variações PMIStr INorm e PMIStr ICNorm obtiveram resultados superiores a PMIStrength, demonstrando que o fator de normalização realmente obteve um impacto positivo na precisão dos resultados. Os bons resultados obtidos pela variação PMIStr INorm conduziram também a variação MCCStr INorm a obter os melhores resultados entre as variações da MCC analisadas. A seguir é apresentado um resumo das conclusões obtidas após a realização e análise dos resultados produzidos neste experimento. 6.3.4 Conclusões do Experimento Após a análise dos resultados obtidos neste experimento é possível concluir que o método para o povoamento de ontologias na Web foi capaz de extrair uma grande quantidade de instâncias corretas para a maioria das dez classes selecionadas. Além disso, foi possível observar que dentre as três variações da medida de PMI analisadas, a variação PMIStr INorm produziu os melhores resultados. A ideia de combinar diferentes medidas e heurísticas em uma única Medida de Confiança de Combinada (MCC) obteve melhores resultados do que a tradicional medida de PMI. Contudo, diversos problemas que influenciaram as medidas de PMI e SWN, além da heurística de NPE foram identificados. Em especial, os problemas que atingiram a medida de PMI geraram maior impacto negativo devido ao peso que essa medida possui para o valor final da MCC. Diante disso, algumas questões surgiram: 1) Como diminuir o impacto dos problemas ocorridos com a medida de PMI? 2) Qual o impacto dos principais constituintes (PMI, SWN e NPE) da MCC para os resultados obtidos? 3) Alterações na MCC produziriam melhores resultados do que a variação usada neste experimento? Essas questões motivaram o segundo experimento realizado e descrito na seção 6.4. 92 6.4 Experimento 2: Avaliação dos Constituintes da Medida de Confiança Combinada (MCC) Com o objeto de elucidar as questões que surgiram nos experimentos descritos na seção 6.3, a próxima seção descreve os experimentos realizados com o objetivo de avaliar cada constituinte (PMI, SWN, NPE) da MCC. Devido à sua natureza simplista, a heurística de CD não foi avaliada isoladamente. Nas subseções a seguir são apresentadas as configurações dos experimentos realizados (subseção 6.4.1), os resultados produzidos e discussões geradas (subseção 6.4.2) e por fim é apresentado na subseção 6.4.3 um resumo das conclusões obtidas com este experimento. 6.4.1 Configurações do Experimento Neste experimento, algumas alterações foram realizadas na configuração das variáveis do método em relação ao primeiro experimento descrito na seção 6.3. Os padrões linguísticos utilizados neste experimento são apresentados na Tabela 5.1. A única diferença em relação à lista de padrões linguísticos utilizados no experimento da seção 6.3 é o acréscimo do padrão linguístico CANDIDATE is ART CLASS. Esse padrão provavelmente representa uma das formas mais explícitas de expressar que uma entidade é instância de um conceito. Esse padrão não foi utilizado por (Hearst, 1992) em seu trabalho, mas foi adotado por (Cimiano et al., 2004). Outra alteração é a quantidade de snippets usados para formar o corpus. Neste experimento são usados 700 snippets por padrão linguístico. Como são utilizados 7 padrões linguísticos, um total de 4900 snippets formam o corpus para cada classe selecionada. Uma nova execução da etapa de Extração de Candidatos a Instância (seção 5.1) foi realizada usando os parâmetros escolhidos. Para este experimento quinze classes foram selecionadas: Mammal (Mamífero), Amphibian (Anfíbio), Reptile (Reptil), Bird (Ave), Fish (Peixe), Insect (Inseto), City (Cidade), Country (Pais), River (Rio), Disease (Doença), Symptom (Sintomas), Movie (Filme), Sport (Esporte), TV Serie (Série de TV) e University (Universidade). Assim como no primeiro experimento, essas classes foram selecionadas por representarem 93 domínios distintos e por terem sido usadas em outros trabalhos relacionados (Cimiano et al., 2004; Cimiano et al., 2005a; Etzioni et al., 2004a; McDowell e Cafarella, 2008). Nas subseções a seguir são apresentados os resultados obtidos e as discussões geradas com os experimentos realizados para avaliar cada constituinte da MCC individualmente na tarefa de classificação de candidatos a instância (seção 5.2). Na subseção 6.4.2 a medida de PMI é avaliada buscando solucionar os problemas identificados nos primeiros experimentos realizados (seção 6.3). Na subseção 6.4.3 são apresentados os experimentos executados para avaliar as seis medidas de similaridade semântica no WordNet apresentadas no Anexo A, aplicadas no contexto da tarefa de povoamento de ontologias. Posteriormente outro experimento é executado para avaliar a medida SWN utilizando as duas melhores medidas dentre as seis avaliadas. Na subseção 6.4.4 a heurística de NPE é avaliada. Por fim, na subseção 6.4.5 uma comparação entre os três constituintes é realizada, buscando identificar qual deles produziu os melhores resultados em termos da medida de Precisão. 6.4.2 Análise da Medida de PMI Conforme foi apresentado na subseção 6.3.2, a variação PMIStr INorm obteve os melhores resultados nos primeiros experimentos realizados. Por isso, neste experimento essa variação é utilizada. Apesar dos bons resultados obtidos, quatro problemas principais que influenciaram a medida de PMI foram identificados (subseção 6.3.1). O primeiro problema citado foi identificado em falsos candidatos a instâncias que possuem um alto valor de coocorrência apenas com alguns dos padrões linguísticos e valor zero nos demais. Buscando solucionar esse problema, uma penalização foi atribuída para cada valor zero retornado pela consulta hits(c,ci,p) usada para calcular o valor do PMI. É apresentado na Equação 6.6 como foi adaptada a variação PMIStr INorm para inclusão do fator de penalização. (6.6) A única modificação realizada na Equação 6.6 em relação a variação anterior usada para calcular o PMIStr INorm (Equação 6.3), foi a inclusão da variável qtdeHits0 que é a 94 quantidade de consultas hits(c,ci,p) que retornaram o valor zero. Essa variável é usada como dividendo do somatório de todas as consultas hits(c, ci, p) para cada padrão linguístico p pertencente ao conjunto de padrões P usados. Com isso, o valor do somatório é penalizado a cada valor zero retornado por uma consulta hits(c, ci, p). Um experimento foi realizado para avaliar se houve algum ganho de precisão com a nova variação PMIStr INorm Hits0 apresentada na Equação 6.6 em relação a variação PMIStr INorm. O gráfico apresentado na Figura 6.5 demonstra os resultados obtidos com a comparação entre as variações PMIStr INorm Hits0 e PMIStr INorm. 100% 90% TOP 10 - Str INorm Hits0 80% TOP 10 - Str INorm Precisão 70% 60% TOP 50 - Str INorm Hits0 50% TOP 50 - Str INorm 40% 30% TOP 100 - Str INorm Hits0 20% TOP 100 - Str INorm 10% TOP 300 - Str INorm Hits0 0% TOP 300 - Str INorm Figura 6.5 Comparação entre as medidas de PMIStr INorm Hits0 e PMIStr INorm Em todos os limiares adotados a variação PMIStr INorm Hits0 obteve uma média de precisão maior do que a variação PMIStr INorm, o que foi comprovado usando o teste de significância estatístico T-Student com um nível de confiança de 95% (α = 0,05). Observou-se que o PMIStrINorm Hits0 na maioria das classes selecionadas penalizou corretamente somente falsos candidatos a instâncias, promovendo as instâncias corretas para as primeiras posições na lista de candidatos a instâncias. Por exemplo, uma das classes que obteve maior aumento de precisão com a variação PMIStr INorm Hits0 foi o conceito Mammal no limiar Top10. Usando a variação PMIStr INorm o candidato a instância loons13 (Mergulhões), que não foi considerada uma instância da classe Mammal, foi classificado no Top10. Observando o cálculo do PMI desse 13 grupo de aves aquáticas encontradas em muitas partes da América do Norte e da Eurásia do Norte 95 candidato foi possível notar que as consultas hits(c, ci, p) retornaram valor zero em três padrões linguísticos dos sete usados no experimento. Esse mesmo candidato a instância, quando classificado usando a variação PMIStr INorm Hits0 obteve um valor menor de PMI devido à penalização de consultas hits(c, ci, p) com valor zero. Com isso, o candidato loons saiu do Top10, possibilitando que uma instância correta seja promovida. O segundo problema citado na seção 6.3 foi a presença de candidatos a instâncias incompletos. Em um dos casos identificados, o candidato a instância Los para a classe City foi extraído, onde possivelmente o correto seria a extração do candidato a instância Los Angeles. O problema ocorre porque o valor de coocorrência hits(c, ci, p) do falso candidato Los está presente nos padrões linguísticos: CLASS(s) such as CANDIDATES, such CLASS(s) as CANDIDATES, CLASS(s) especially CANDIDATES e CLASS(s) including CANDIDATES. Devido a isso, esse candidato a instância obteve um alto valor na medida de PMI, induzindo o método ao erro. Geleijnse e Korst (2006) enfrentaram o mesmo problema. Como solução os autores propõem a utilização da palavra and em conjunto com os padrões linguísticos que geram o problema. Baseado nessa ideia, uma alteração nos padrões linguísticos foi realizada durante sua transformação para consulta (subseção 5.2.1). Os padrões linguísticos supracitados que geraram o problema em questão foram alterados para incluir a palavra and. Por exemplo, uma consulta que antes era da forma cities such as Los agora passa a ser cities such as Los and. Essa estratégia também pode solucionar o quarto problema citado na seção 6.3, que é a presença de candidatos a instância no formato NP and/or NP. Para isso, decidiu-se também utilizar a palavra and nos padrões linguísticos CLASS(s) and other CANDIDATES e CLASS(s) or other CANDIDATES. Para avaliar as alterações realizadas, outro experimento foi executado comparando a variação PMIStr INorm Hits0 com e sem a estratégia de utilizar a palavra and em conjunto com os padrões linguísticos supracitados. Na Figura 6.6 são apresentados os resultados obtidos neste experimento. 96 100% 90% TOP 10 - Str INorm Hits0 and 80% TOP 10 - Str INorm Hits0 Precisão 70% TOP 50 - Str INorm Hits0 and 60% 50% TOP 50 - Str INorm Hits0 40% 30% TOP 100 - Str INorm Hits0 and 20% TOP 100 - Str INorm Hits0 10% TOP 300 - Str INorm Hits0 and 0% TOP 300 - Str INorm Hits0 Figura 6.6 Comparação entre as medidas de PMIStr INorm Hits0 and e PMIStr INorm Hits0 A inclusão da palavra and usada pela variação PMIStr INorm Hits0 and obteve um impacto positivo na média geral de precisão obtida em todos os limiares TopN analisados. Analisando o gráfico na Figura 6.6 é possível observar que a maioria das classes obteve um ganho na precisão dos resultados obtidos. Usando o teste de significância estatístico T-Student com um nível de confiança de 95% (α = 0,05) foi possível comprovar que houve um ganho significativo de precisão na maioria dos limiares analisados. A única exceção foi o Top10, no qual a variação PMIStr INorm Hits0 and INorm Hits0. obteve uma precisão média de 81,33% contra 74,67% da variação PMIStr Embora tenha ocorrido um aumento médio de precisão nesse limiar, analisando os resultados foi possível identificar que a classe River apresentou um decréscimo de 50% de precisão usando a variação PMIStr INorm Hits0 and em relação à variação PMIStr INorm Hits0. Esse impacto negativo influenciou o teste T-Student. A inclusão da palavra and acrescentou um nível maior de restrição nos padrões linguísticos, tornando o PMIStr INorm Hits0 and mais restritivo do que o PMIStr INorm Hits0. Essa característica foi identificada devido ao número de candidatos a instâncias que foram eliminados por terem obtido valor de PMI igual a zero. Por exemplo, na classe Amphibian, usando o PMIStr INorm Hits0 um total de 593 candidatos a instâncias obtiveram valor de PMI maior que zero, enquanto que aplicando o PMIStr INorm Hits0 and, apenas 139 candidatos a instâncias atingiram um valor maior do que zero. 97 Apesar do fato de quanto mais restritivo um padrão linguístico ser, impactar em uma menor abrangência de possíveis instâncias que ele possa extrair, o ganho médio de precisão obtido justificou a escolha da variação de PMIStr INorm Hits0 and para compor a medida MCC. Além disso, essa perda de abrangência pode ser compensada pela etapa de Aprendizagem de Padrões Linguísticos Específicos descrita no Capítulo 7, devido à inclusão de novos padrões linguísticos a cada iteração executada. 6.4.3 Análise da Medida de SWN Nesta subseção, seis medidas de similaridade no WordNet são avaliadas, aplicandoas na tarefa de classificação dos candidatos a instâncias (seção 5.2). O objetivo deste experimento é identificar as duas melhores medidas de similaridade em termos da medida de Precisão. Posteriormente, essas medidas serão usadas para compor a medida SWN (seção 5.2.2). As seis medidas de similaridade no WordNet avaliadas são: Jiang and Conrath (Jiang e Conrath, 1997), Leacock and Chodorow (Leacock e Chodorow, 1998), Lin (Lin, 1998), Path Length (Pederson, 2010), Resnik (Resnik, 1995), e a Wu and Palmer (Wu e Palmer, 1994). Uma breve introdução sobre cada uma dessas medidas pode ser encontrada no Anexo A. O gráfico apresentado na Figura 6.7 demonstra os resultados obtidos com a comparação entre as seis medidas de similaridade no WordNet avaliadas. A análise dos resultados neste experimento levou em consideração apenas o limiar Top 100, devido à quantidade de candidatos a instâncias que não possuíam informações no WordNet. Além disso, a classe TV Serie não foi selecionada por não possuir informações no WordNet. 98 100% 90% 80% Jiang and Conrath Precisão 70% Leacock and Chodorow 60% Lin 50% Path Length 40% 30% Resnik 20% Wu and Palmer 10% 0% Figura 6.7 Avaliações das medidas de similaridade semântica no WordNet Analisando o gráfico apresentado na Figura 6.7 pode-se observar que para classes como City e Country foi possível extrair muitas instâncias corretas, usando somente as medidas de similaridade semântica para classificar os candidatos a instâncias. Após a análise dos resultados obtidos, as duas medidas que apresentaram a maior média de precisão foram a Resnik com precisão média de 66,21% e a Wu and Palmer com média de 65,29%. Assim como nos experimentos descritos na seção 6.3, termos relevantes do domínio ao qual a classe selecionada pertence, mas não se caracterizam como uma instância representaram problemas para as medidas de similaridade. Por exemplo, para a classe Country, a medida Resnik atribuiu um alto valor de similaridade para os termos Spanish (Espanhol) e French (Frances) levando-os a serem classificados como instâncias dessa classe. Após a análise dos resultados as medidas, a Resnik que usa o conceito de distribuição de informações, e a Wu and Palmer que explora a estruturas taxonômicas, foram escolhidas para compor a medida SWN. Posteriormente, um segundo experimento foi realizado para avaliar a SWN na tarefa de classificação dos candidatos a instância. Na Figura 6.8 são apresentados os resultados obtidos. 99 100% 90% Precisão 80% 70% 60% TOP 10 50% TOP 50 40% TOP 100 30% TOP 300 20% 10% 0% Figura 6.8 Resultados da avaliação da medida de SWN Os resultados apresentados na Figura 6.8 demonstram que a SWN foi capaz de alcançar bons resultados na medida de precisão para classes como City, Country e Disease, principalmente levando em consideração os limiares até o Top100. Adotando o limiar mais abrangente (Top300), a maioria das classes apresentou uma grande perda na precisão, principalmente devido à inclusão de termos relevantes ao domínio que não são instância da classe. Além disso, devido à limitação de conteúdo no WordNet, classes como Reptile, Amphibian e Insect não obtiveram 300 candidatos a instâncias com informações contidas no WordNet. 6.4.4 Análise da Heurística de NPE Nesta subseção, a heurística de NPE é avaliada aplicando-a na tarefa de classificação dos candidatos a instâncias (seção 5.2). Essa heurística parte da ideia de quanto mais padrões linguísticos forem responsável por extrair esse candidato maior é probabilidade dele ser uma instância da classe em povoamento. O gráfico apresentado na Figura 6.9 demonstra os resultados obtidos com a heurística de NPE. 100 100% 90% 80% Precisão 70% TOP 10 60% TOP 50 50% TOP 100 40% TOP 300 30% 20% 10% 0% Figura 6.9 Resultados da avaliação da heurística de NPE Analisando a Figura 6.9 é possível observar que a heurística de NPE foi capaz de extrair uma grande quantidade de instâncias corretas. Utilizando os limiares Top10 e Top50 todas as classes selecionadas obtiveram mais de 50% de instâncias corretas extraídas. Percebeu-se que 76% dos candidatos a instâncias que foram extraídos por mais de cinco padrões linguísticos (NPE >= 5) eram realmente instâncias da classe selecionada. Assim como nas medidas de PMI e SWN, termos relevantes para o domínio que não são instâncias da classe selecionada representaram um problema para a heurística de NPE. Além disso, por se tratar de uma heurística local, ou seja, analisar a coocorrência dos candidatos a instâncias com os padrões linguísticos apenas no corpus utilizado, instâncias com pouca frequência no corpus obtiveram um baixo valor. 6.4.5 Comparações entre os constituintes PMI, SWN e NPE Após as avaliações de cada constituinte (PMI, SWN e NPE) da MCC isoladamente, nesta subseção são apresentados as comparações realizadas entre eles. O objetivo é identificar qual constituinte apresenta os melhores resultados em termos da medida de Precisão para as quinze classes selecionadas. A primeira comparação analisada foi realizada entre a medida de PMIStr INorm Hits0 and e a heurística de NPE. Ambos os constituintes mensuram a correlação entre os candidatos 101 a instâncias e os padrões linguísticos utilizados. A diferença entre eles é que a medida de PMIStr INorm Hits0 and calcula a coocorrência utilizando a Web como fonte de informações, possuindo uma abrangência maior do que a heurística NPE que avalia a correlação utilizando somente o corpus processado. É apresentado no gráfico ilustrado na Figura 6.10 a comparação entre a medida de PMIStr INorm Hits0 and e a heurística de NPE. 100% 90% TOP 10 - Str INorm Hits0 and TOP 10 - NPE 80% Precisão 70% TOP 50 - Str INorm Hits0 and TOP 50 - NPE 60% 50% TOP 100 - Str INorm Hits0 and TOP 100 - NPE 40% 30% 20% TOP 300 - Str INorm Hits0 and TOP 300 - NPE 10% 0% Figura 6.10 Comparação entre a medida de PMIStr INorm Hits0 and e a heurística de NPE Os resultados apresentados na Figura 6.10 demonstram que a medida de PMIStr INorm Hits0 and obteve uma média maior de precisão para as quinze classes selecionadas em todos os limiares analisados. Aplicando o teste de significância estatístico T-Student com um nível de confiança de 95% (α = 0,05), verificou-se que nos limares Top50, Top100 e Top300 a medida de PMIStr INorm Hits0 and obteve um aumento significativo na precisão das instâncias extraídas. No Top10, o aumento médio de precisão obtido pela medida de PMIStr INorm Hits0 and foi de apenas 1,33%. A medida de PMIStr INorm Hits0 and apresentou melhores resultados do que a heurística de NPE, principalmente devido à quantidade de informações disponíveis e alta redundância de informações presentes na Web. Devido a essas características, a mensuração da correlação entre os candidatos a instâncias e os padrões linguísticos apresentou uma maior abrangência e um estimativa mais precisa. 102 Após essa primeira análise, foi realizado a comparação entre as medida de PMIStr INorm Hits0 and e SWN. Para fazer uma comparação justa, a classe TV Serie não foi levada em consideração por não possuir informações no WordNet. Na Figura 6.11 é apresentado o gráfico com a comparação entre os resultados obtidos. 100% 90% TOP 10 - Str INorm Hits0 and TOP 10 - SWN 80% Precisão 70% TOP 50 - Str INorm Hits0 and TOP 50 - SWN 60% 50% TOP 100 - Str INorm Hits0 and TOP 100 - SWN 40% 30% 20% TOP 300 - Str INorm Hits0 and TOP 300 - SWN 10% 0% Figura 6.11 Comparação entre as medidas de PMIStr INorm Hits0 and e SWN Comparando os resultados obtidos pelas duas medidas, é possível observar na Figura 6.11, que a medida de SWN apresentou uma média de precisão maior que a medida de PMIStr INorm Hits0 and nos limiares Top10 e Top50. Já analisando os limiares Top100 e Top300, a medida de PMIStr INorm Hits0 and apresentou uma média de precisão maior. Essa inversão aconteceu devido à quantidade de candidatos a instâncias com informações no WordNet. Levando em consideração os primeiros limiares, o número de candidatos a instâncias com informações WordNet é maior, por isso, esses candidatos se beneficiaram da medida de SWN. Além disso, usando os limiares mais abrangentes (Top100 e Top300), a quantidade de candidatos a instâncias que são termos pertencentes ao domínio da classe selecionada, mas não são instâncias é maior. Esses termos apresentam impacto negativo em ambas as medidas, contudo, a medida de SWN apresenta um impacto maior do que na medida de PMIStr INorm Hits0 and. O teste de significância estatística T-Student a um nível de confiança de 95% (α = 0,05), revelou que apenas no Top300 a medida de PMIStr INorm Hits0 and apresentou um aumento significativo na precisão dos resultados alcançados. A última comparação foi realizada entre a medida de SWN e a heurística de NPE. Nessa comparação, a classe TV Serie também não foi levada em consideração para 103 promover uma comparação justa. É demonstrado no gráfico apresentado na Figura 6.12 a comparação entre a medida SWN e a heurística de NPE. 100% 90% TOP 10 - SWN 80% TOP 10 - NPE Precisão 70% TOP 50 - SWN 60% 50% TOP 50 - NPE 40% TOP 100 - SWN 30% TOP 100 - NPE 20% TOP 300 - SWN 10% TOP 300- NPE 0% Figura 6.12 Comparação entre a medida de SWN e a heurística de NPE Observando o gráfico apresentado na Figura 6.12, é possível verificar que ambas a medida SWN e a heurística de NPE obtiveram resultados equilibrados. Usando os limiares Top10 e Top300 a heurística de NPE obteve uma média de precisão maior do que a medida SWN. Já utilizando os limiares Top50 e Top100 a medida SWN conseguiu uma precisão média superior. Aplicando o teste de significância estatístico T-Student com um nível de confiança de 95% (α = 0,05), verificou-se que apenas no Top50 houve um aumento significativo na precisão das instâncias extraídas usando a medida SWN. A seguir é apresentado um resumo das conclusões obtidas após a realização e análise dos resultados produzidos neste experimento. 6.4.6 Conclusões do Experimento Após as três comparações realizadas (PMIStr INorm Hits0 and x SWN, PMIStr INorm Hits0 and x NPE e SWN x NPE) é possível identificar quais dos constituintes da MCC obtiverem melhores resultados na medida de Precisão. A partir dos resultados obtidos, conclui-se que a medida de PMIStr INorm Hits0 and é o constituinte que alcançou uma maior precisão média, seguido da medida de SWN e por último pela heurística de NPE. 104 A medida de PMI além de apresentar uma boa precisão na maioria das classes selecionadas, não possui a limitação de informações que a medida de SWN apresenta. Após a análise dos resultados obtidos nesse experimento, é possível realizar alterações na equação da MCC com o objeto de atribuir maior peso aos constituintes que obtiveram maior precisão. Apesar do equilíbrio, a SWN foi considerada superior em relação a heurística de NPE, devido ao resultados obtidos por ela nos limiares mais restritivos. Na seção 6.5 é descrito o experimento realizado avaliando uma nova versão da MCC, comparando-a com a primeira versão usada no experimento discutido na seção 6.3. 6.5 Experimento 3: Avaliação das Variações da MCC Após a análise dos resultados obtidos pelo experimento descrito na seção 6.3, alguns problemas foram identificados em todos os constituintes na MCC, principalmente na medida de PMI. Além desses problemas, a forma como é calculado a MCC usada nesses experimentos, não permite controlar de forma clara qual o impacto de cada constituinte que a compõem. Pensando nessas questões, alterações foram realizadas na equação usada para calcular a MCC. A primeira alteração foi normalizar todos os valores dos constituintes da MCC, variando entre zero e um. A segunda alteração foi multiplicar cada constituinte por um peso, que reflita o seu grau de confiança para o valor final da MCC. Além disso, com o objetivo de normalizar o valor da confiança final, a soma dos pesos atribuídos deve ser igual a um. É apresentada na Equação 6.7 a nova fórmula usada para calcular a MCC. (6.7) Onde: As variáveis α, β, γ e δ correspondem aos pesos atribuídos as medidas de PMI e SWN, e as heurísticas de NPE e CD respectivamente. Esses pesos representam 105 o impacto de cada medida e heurística utilizada para compor a confiança final do candidato a instância em avaliação. A soma dos pesos é normalizada de forma que α + β + γ + δ sempre é igual a 1. No experimento descrito na seção 6.4, as medidas de PMI e SWN, e a heurística de NPE foram avaliadas e comparadas entre elas com o objetivo de identificar qual o constituinte apresenta os melhores resultados em termos da medida de Precisão. A partir dos resultados obtidos a distribuição de pesos de cada constituinte expresso na Equação 6.7 pode ser atribuída de forma a tentar melhorar os resultados obtidos com a primeira variação da MCC usada na seção 6.3. Após a definição da nova equação da MCC, com o objetivo de avaliá-la, um experimento foi realizado comparando a primeira variação da MCC usada na seção 6.3, a partir de agora, chamada de MCCvar1 (Equação 6.5), com duas distribuições de pesos diferentes atribuídas na nova versão da MCC. Na Tabela 6.2 são apresentados as distribuições dos pesos usadas (MCCvar2 e MCCvar3), e as configurações adotadas na variação MCCvar1. Tabela 6.2 Configurações utilizadas na MCC Versões da MCC Configurações MCCvar1 NPEMax = 7, SWNMax = 2, CDMax = 1 MCCvar2 α =0.4 β = 0.2 γ = 0.35 δ = 0.05 MCCvar3 α =0.4 β = 0.3 γ = 0.25 δ = 0.05 Os valores dos pesos atribuídos a cada constituinte da MCC, apresentados na Tabela 6.2, foram escolhidos baseados nos resultados obtidos nos experimentos descritos na seção 6.4. Na variação MCCvar2 o maior peso foi atribuído a medida de PMI, seguido pela SWN, depois pela heurística de NPE e por último a CD. Enquanto isso, a variação MCCvar3 uma inversão é realizada entre os pesos da medida SWN que passa a ter menor peso do que a heurística de NPE. Essa inversão foi avaliada devido ao equilíbrio encontrado nos resultados obtidos com a comparação entre a medida de SWN e a heurística de NPE descrita na subseção 6.4.5. A medida de PMI possui o maior peso em ambas as variações MCCvar2 e MCCvar3 porque obteve os melhores resultados nos experimentos apresentados na seção 6.4. Já a heurística de CD devido a sua simplicidade recebeu o menor peso. 106 As três versões avaliadas foram aplicadas na tarefa de classificação dos candidatos a instâncias, usando o mesmo conjunto de candidatos extraídos para cada uma das quinze classes selecionadas no experimento descrito na seção 6.4. É apresentado no gráfico da Figura 6.13 os resultados obtidos com a comparação entre as versões MCCvar1 e MCCvar2. 100% 90% TOP 10 - MCC_var2 80% TOP 10 - MCC_var1 Precisão 70% TOP 50 - MCC_var2 60% TOP 50 - MCC_var1 50% 40% TOP 100 - MCC_var2 30% TOP 100 - MCC_var1 20% TOP 300 - MCC_var2 10% TOP 300 - MCC_var1 0% Figura 6.13 Comparação entre as versões MCCvar1 e MCCvar2 Analisando os resultados apresentados na Figura 6.13 é possível observar um equilíbrio entre as duas versões avaliadas. A MCCvar2 obteve melhores resultados levando em consideração os limiares Top10 e Top50. Aplicando o teste de significância estatístico T-Student a um nível de confiança de 95% (α = 0,05), verificou-se que a variação MCCvar2 apresentou um aumento significativo no Top10. No limiar Top50, apesar da variação MCCvar2 ter obtido uma média de precisão superior, esse aumento médio não foi estatisticamente significante. No Top100 e Top300 a variação MCCvar1 apresentou melhores resultados do que a variação MCCvar2, contudo apenas no Top300 esse aumento foi estatisticamente significante. A nova versão proposta para o cálculo da MCC (Equação 6.7) potencializou a inserção de instâncias corretas nos limiares mais restritivos (Top10 e Top50), isso aconteceu devido a distribuição dos pesos para os constituintes. Nessa nova versão, o valor da medida de PMI é normalizado, com isso a contribuição dos outros constituintes no valor final da confiança é maior. Como a SWN e a NPE produzem bons resultados principalmente nos limiares mais restritivos, eles influenciaram no aumento do valor da 107 confiança de algumas instâncias corretas levando-as a ganhar posições na classificação dos candidatos a instâncias para a maioria das classes selecionadas. Na variação MCCvar1 o valor da medida de PMI não é normalizado e todos os constituintes funcionam como pesos para essa medida. Por isso, o impacto do PMI para o valor da confiança nessa variação é muito superior aos demais constituintes. Como pode ser observado nas comparações entre os constituintes descritas na subseção 6.4.5, a medida PMI consegue manter um equilíbrio nos resultados obtidos mesmo nos limiares mais abrangentes, fator que não acontece com a medida de SWN e a heurística de NPE, que tendem a apresentar uma perda maior na precisão nos limiares Top100 e Top300. Essa característica influenciou nos melhores resultados obtidos pela variação MCCvar1 nos limiares Top100 e Top300. Neste trabalho decidiu-se priorizar pela precisão das instâncias extraídas, evitando ao máximo a extração de instâncias erradas pelo método. Por isso, diante dos resultados obtidos pela MCCvar2 nos limiares Top10 e Top50, decidiu-se considerar essa variação superior. Um segundo experimento, foi realizado comparando a variação MCCvar2 com a versão MCCvar3, que apresenta uma distribuição de pesos diferente, como pode ser observado na Tabela 6.2. São apresentados na Figura 6.14 os resultados obtidos com a comparação entre as versões MCCvar2 e MCCvar3. 100% 90% 80% TOP 10 - MCC_var2 70% Precisão TOP 10 - MCC_var3 60% TOP 50 - MCC_var2 50% TOP 50 - MCC_var3 40% TOP 100 MCC_var2 TOP 100 MCC_var3 TOP 300 MCC_var2 30% 20% 10% 0% Figura 6.14 Comparação entre as versões MCCvar2 e MCCvar3 108 Observando os resultados obtidos na Figura 6.14, também verifica-se um equilíbrio entre os resultados das variações MCCvar2 e MCCvar3. A versão MCCvar2 mantém os melhores resultados nos limiares Top10 e Top50. No limiar Top100 não houve nenhuma diferença entre as duas variações. Já no limiar Top300 a variação MCCvar3 conseguiu uma precisão média maior do que a versão MCCvar2. O teste de significância estatístico T-Student a um nível de confiança de 95% (α = 0,05), demonstrou que apenas no limiar Top300 a variação MCCvar3 apresentou uma diferença significativa em relação a versão MCCvar2. Após as duas comparação realizadas entre as versões MCCvar1 e MCCvar2, e posteriormente entre a MCCvar2 e a MCCvar3, devido aos melhores resultados obtidos pela versão MCCvar2 nos limiares mais restritivos em ambas as comparações, essa variação foi considerada como a fórmula para calcular a confiança dos candidatos a instâncias no método proposto. 6.6 Conclusões do Capítulo Neste capítulo foram apresentados os experimentos realizados com objetivo de avaliar o método para o povoamento de ontologias na Web proposto neste trabalho. O primeiro experimento avaliou três variações da medida PMI, fazendo uma comparação com primeira versão da MCC. No segundo experimento, cada constituinte (PMI, SWN e NPE) da medida de MCC proposta foi avaliada individualmente. Posteriormente no terceiro experimento, com base nessas avaliações individuais três versões da MCC foram analisadas. No próximo capítulo são apresentadas as duas últimas etapas do método proposto responsáveis pela Extração e Classificação de novos padrões linguísticos. Além disso, é apresentado o experimento realizado executando duas iterações do método. Para isso, as instâncias extraídas na primeira iteração usando a melhor configuração encontrada (MCCvar2) serão usadas pela etapa Aprendizagem de Padrões Linguísticos Específicos para guiar o processo de extração de novos padrões linguísticos. 109 7 Aprendizagem de Padrões Linguísticos Específicos Conforme foi descrito no Capítulo 5, o método para aprendizagem de instâncias proposto utiliza um conjunto inicial de padrões linguísticos independentes de domínio adaptados de (Hearst, 1992) para extrair os candidatos a instâncias e posteriormente classificá-los. Contudo, devido a sua natureza genérica e pelas diferentes formas de se expressar utilizando linguagem natural, esses padrões apresentam problemas para a abrangência da extração (Cimiano et al., 2005b). Esse problema é comum quando utiliza-se padrões linguísticos independentes de domínio, pois, embora esses padrões apresentem um bom desempenho para extração de relações semânticas, é notório que os melhores padrões linguísticos para um domínio não são genéricos (Etzioni et al., 2004b). Por exemplo, os padrões linguísticos específicos, como heart of the city of CANDIDATE (coração da cidade de) e CANDIDATE is a country in (é um país) em geral apresentam uma alta precisão e abrangência para as classes City e Country respectivamente se comparados com padrões independentes de domínio. Buscando suprir os problemas apontados com a utilização de padrões linguísticos genéricos, o método proposto contempla uma fase específica responsável pela aprendizagem de novos padrões linguísticos específicos para cada classe aplicada ao processo de povoamento. Dessa forma, o conjunto inicial de padrões linguísticos genéricos é expandido e futuras iterações do método para povoar novamente a classe selecionada usarão os novos padrões específicos extraídos para aumentar a cobertura de instâncias passíveis de extração. Seguindo o mesmo princípio das etapas de Extração e Classificação de Candidatos a Instâncias (seções 5.1 e 5.2), a abordagem proposta para a aprendizagem de padrões linguísticos específicos utiliza a Web como fonte de informações. O objetivo é que o método de aprendizagem de instâncias proposto melhore seu processo de extração a cada iteração executada, utilizando o conhecimento adquirido (padrões linguísticos específicos e instâncias) em iterações anteriores para aperfeiçoar a iteração atual (Tomaz et al., 2012). Nas seções a seguir, são descritas as duas etapas que formam a abordagem de Aprendizagem de Padrões Linguísticos Específicos proposta neste trabalho. 110 7.1 Extração de Padrões Linguísticos Específicos Ao final da fase de Povoamento de Ontologias (seção 5.3), novas instâncias são extraídas para o conceito selecionado na ontologia de entrada. Nesta etapa, essas instâncias são utilizadas como conhecimento prévio para extrair novos padrões linguísticos específicos na Web. A seguir é descrito o funcionamento do algoritmo para extração dos candidatos a padrões linguísticos específicos. Para facilitar o entendimento, um exemplo utilizando a classe City (Cidade) e a instância New York (Nova Iorque) será usado. I. Para cada instância i do conjunto de instâncias I extraídas na fase de Povoamento de Ontologias (seção 5.3) para a classe c, é preciso: a) Formular uma consulta no formato "c + i", por exemplo, "City + New York" e aplicar essa consulta a um mecanismo de busca na Web, recuperando os N primeiros documentos encontrados. O operador "+" denota a existência de 1 ou mais palavras entre City e New York; b) Para cada ocorrência de i em cada documento recuperado, extrair as w palavras antes e depois de i, como candidatos a padrões linguísticos específicos. Por exemplo, dada a frase During the event, the financial heart of the City of New York, from Wall Street to Fulton (Durante o evento, o coração financeiro da cidade de Nova Iorque, a partir de Wall Street) e utilizando w = 5, os candidatos a padrões extraídos seriam: p1: heart of the City of e p2: from Wall Street to Fulton; c) Com o objetivo de obter padrões que proporcionem um maior contexto para o domínio em povoamento, são eliminados candidatos a padrões linguísticos que não possuem o rótulo da classe selecionada em seu conteúdo. Para aumentar a abrangência dessa identificação, o algoritmo de stemming é utilizado. Por exemplo, o candidato a padrão linguístico p2 apresentado no item b é removido, pois, não possui a ocorrência da classe City em seu conteúdo. 111 d) Seguindo a mesma ideia apresentada em (Carlson et al., 2010b), uma filtragem baseada nas etiquetas de POS é executada para realizar a remoção dos candidatos que não seguem os seguintes formatos: i. Eliminar os candidatos a padrões extraídos antes da ocorrência de i, caso eles não sejam formados por verbos, substantivos, adjetivos, advérbios, preposições e determinantes seguidos por um determinante, isto é, os candidatos devem ser reconhecidos pela expressão regular [(VB|SB|ADJ|ADV|PRE|DET)+(DET)]14. Por exemplo, os padrões the city of (a cidade de) e cities like (cidades tais como) são válidos de acordo com esse filtro; ii. Remover os candidatos a padrões linguísticos extraídos depois da ocorrência de i, caso eles não sejam formados por um verbo, seguidos de um ou mais substantivos, adjetivos, advérbios, preposições, determinantes e verbos. Isto é, os padrões linguísticos extraídos devem ser reconhecidos pela expressão regular [(VB)(SB|ADJ|ADV|PRE|DET|VB)+]3. Por exemplo, os padrões is the capital city of (é a capital da cidade de) e are example of countries (são exemplos de países) são válidos de acordo com esse filtro; e) Os candidatos a padrões linguísticos específicos que satisfaçam a filtragem de etiquetas de POS aplicada são inseridos em uma lista e na próxima etapa serão classificados de acordo com a medida de confiança proposta. Além do padrão linguístico em si, algumas características também são armazenadas em conjunto, sendo elas: i. As instâncias i, responsáveis pela extração do padrão. Não é permitido duplicidade de padrões na lista final. Caso um padrão seja extraído mais de uma vez, é feita apenas a atualização da lista de instâncias Li responsáveis pela sua extração. Aplica-se o algoritmo de stemming para aumentar a abrangência de identificação de duplicidade entre candidatos a padrões. 14 3 VB = verbo, DET = determinante, ADV = advérbio, ADJ = adjetivo, SB = substantivo e PRE = preposição. O operador "+" é usado em expressões regulares para indicar 1 ou mais ocorrências, já o símbolo de "|" representa o operador booleano or (ou) 112 ii. Assim como os padrões independentes de domínio apresentados na Tabela 5.1, é realizada a inserção do elemento CANDIDATE, indicando qual o sentido da extração dos candidatos a instâncias. Por exemplo, os padrões cities like extraído antes de i, e is the capital city of extraído depois de i, após a inserção do elemento CANDIDATE ficarão no formato cities like CANDIDATE e CANDIDATE is the capital city of respectivamente. No qual CANDIDATE irá representar um único sintagma nominal a ser extraído como candidato a instância. Após o processamento dos N documentos coletados, uma lista de candidatos a padrões linguísticos específicos para a classe c selecionada é produzida. A próxima fase tem por objetivo avaliar cada candidato extraído e atribuir um grau de confiança que será um indicativo usado para selecionar os melhores padrões extraídos. Na seção a seguir é descrito o processo de classificação de padrões linguísticos específicos proposto neste trabalho. 7.2 Classificação dos Padrões Linguísticos Específicos Após a execução da etapa de Extração de Padrões Linguísticos Específicos (seção 7.1), uma lista de candidatos a novos padrões linguísticos é gerada. Diante disso, o objetivo desta etapa é classificar, atribuindo um grau de confiança a cada candidato a padrão extraído, vislumbrando selecionar apenas padrões linguísticos com alta qualidade. Segundo Downey et al. (2004), a qualidade de um padrão pode ser mensurado através de sua Cobertura (a quantidade de instâncias para a classe selecionada que podem ser extraídas utilizando esse padrão) e sua Precisão (o total de instâncias corretas para a classe selecionada identificadas utilizando esse padrão). Seguindo a mesma ideia apresentada em (Downey et al., 2004; Etzioni et al., 2005; Geleijnse e Korst, 2006), com objetivo de medir a cobertura e a precisão de cada candidato a novo padrão extraído, este trabalho utiliza duas medidas para mensurar a Cobertura Estimada (CE) e a Precisão Estimada (PE) de cada candidato avaliado. As Equações 7.1 e 7.2 apresentam como essas duas medidas são calculadas. (7.1) 113 (7.2) Onde: p é o candidato a padrão linguístico específico avaliado; Inst são todas as instâncias presentes na classe selecionada na ontologia de entrada; qtdeHits0 é a quantidade de consultas do tipo hits(c,ci,p) que retornaram o valor 0; Lsize é quantidade de instâncias responsáveis pela extração do padrão na etapa de Extração de Padrões Linguísticos Específicos (seção 7.1); ExtraC é uma função que utiliza o padrão p para extrair candidatos a instâncias e retornar os candidatos extraídos de acordo com o processo de Extração de Candidatos a Instância descrito na seção 5.1; N é a quantidade documentos utilizado pela função Inst para realizar o processo de extração de candidatos a instâncias; As medidas de CE e PE definidas nas Equações 7.1 e 7.2 respectivamente têm por objetivo estimar a Cobertura e Precisão de cada candidato a padrão linguístico extraído. A Precisão Estimada (PE) é calculada baseada na ideia de usar cada candidato a padrão individualmente no processo de extração de candidatos a instância e verificar quantos desses candidatos extraídos são instâncias já presentes na classe selecionada. Quanto maior a intersecção entre esses dois conjuntos maior é a probabilidade desse candidato a padrão ser um bom padrão linguístico. Em seguida, a medida de Cobertura Estimada (CE) é calculada utilizando a medida de PMI para mensurar o grau de correlação entre o candidato a padrão linguístico p e todas as instâncias i presentes na classe c selecionada na ontologia de entrada. É apresentado na Equação 7.3 como é realizada a combinação entre as medidas de CE e PE, para a classificação dos candidatos a padrões linguísticos extraídos. (7.3) Onde: 114 p é o candidato a padrão linguístico avaliado; c é a classe selecionada; Inst são todas as instâncias presentes em c A Confiança Final (Conf) utilizada para avaliar cada candidato a padrão linguístico extraído é normalizada e seu valor varia entre 0 e 1. Cada constituinte utilizado para avaliar os candidatos a padrão deve mensurar os aspectos que influenciam na qualidade de um padrão linguístico (Precisão e Cobertura). Ao final dessa etapa uma lista de candidatos a padrões linguísticos ordenados com base na medida de confiança é produzida. Com o objetivo de manter uma alta taxa de precisão na tarefa de extração de instâncias, apenas os N melhores padrões linguísticos extraídos (TopN) levando em consideração a medida de confiança são promovidos a padrões linguísticos específicos de extração. Futuras iteração da classe selecionada no método proposto, utilizarão os sete padrões linguísticos independentes de domínio apresentados na Tabela 5.1, mais os TopN novos padrões linguísticos específicos extraídos nesta etapa. Com isso, a ideia é que a cada iteração mais padrões linguísticos específicos sejam extraídos e utilizados para recuperar e classificar novos candidatos a instância para a classe selecionada. 7.3 Avaliação da execução de duas Iterações do Método Proposto Todos os experimentos descritos nas seções 6.3, 6.4 e 6.5 avaliaram as etapas de Extração e Classificação de Candidatos a Instâncias (seções 5.1 e 5.2). Conforme foi apresentado no Capítulo 5, a metodologia para extração de instâncias de classes ontológicas consiste em um ciclo iterativo que é executado para cada classe selecionada da ontologia de entrada (Tomaz et al., 2012). O conhecimento adquirido (instâncias e os novos padrões linguísticos) em todas as iterações anteriores é usado pela iteração atual, para auxiliar no processo de extração de novas instâncias. Nesta seção, é apresentado os resultados obtidos com a realização de um experimento que executa duas iterações no método. Através dos resultados obtidos, é possível mensurar a qualidade dos padrões linguísticos específicos extraídos pela etapa 115 de Aprendizagem de Padrões Linguísticos Específicos e qual o impacto da utilização desses novos padrões nos resultados obtidos. Para a execução deste experimento, sete classes foram selecionadas: City, Country, Mammal, Reptile, Disease, Symptom e Sport. As etapas de Extração de Candidatos a Instância (seção 5.1) e Classificação dos Candidatos a Instância (seção 5.2) já foram executadas no experimento descrito na seção 6.5 e representam a primeira iteração do método. Por apresentar a maior média de precisão dentre todos os limiares, decidiu-se promover a instâncias os dez melhores candidatos (Top10) de acordo com a variação MCCvar2. Essas instâncias extraídas são usadas para povoar a ontologia de entrada e posteriormente guiam o processo de aprendizagem de padrões linguísticos específicos. Após a execução da fase de Classificação dos Candidatos a Instância (seção 5.2), as instâncias extraídas são utilizadas pela etapa de Aprendizagem de Padrões Linguísticos Específicos (seção 7.1) para guiar o processo de extração de novos padrões linguísticos. Nessa etapa, além da definição de quantas instâncias serão usadas, é necessário definir quantos snippets formam o corpus onde esses novos padrões são extraídos. O experimento iniciou com a execução da etapa de Extração de Padrões Linguísticos Específicos (seção 7.1), utilizando um corpus formado por 7000 snippets para cada classe selecionada neste experimento. Esse valor é decomposto, sendo 700 snippets para cada uma das dez instâncias usadas para guiar o processo. Ao final dessa etapa, um conjunto de candidatos a padrões linguísticos é extraído. Após a extração dos candidatos a padrões linguísticos, é necessário classificar cada um deles atribuindo um valor que mensure o grau de confiança de que este candidato é um bom padrão linguístico para a classe selecionada. Para isso, a etapa de Classificação de Padrões Linguísticos Específicos (seção 7.2) foi executada. Após essa execução, um ciclo completo no método proposto foi realizado, conforme apresentado na Figura 5.1. Na Tabela 7.1 são apresentados os cinco melhores padrões linguísticos específicos extraídos pela etapa de Aprendizagem de Padrões Linguísticos Específicos com base na medida de confiança definida na Equação 7.3. 116 Tabela 7. 1 Novos padrões linguísticos específicos extraídos Classe Padrões Linguísticos Específicos Extraídos City {city of CANDIDATE}, {inman line city of CANDIDATE}, {college in the city of CANDIDATE}, {club in the city of CANDIDATE}, {property of the city of CANDIDATE} Country {CANDIDATE become a country}, {CANDIDATE is the Country with the}, {CANDIDATE is a vast country}, {abc country book of CANDIDATE}, {country index contacts in CANDIDATE} Disease {disease process of CANDIDATE}, {CANDIDATE is a chronic disease}, {CANDIDATE is a chronic disease in}, {cardiovascular disease in people with CANDIDATE}, {CANDIDATE is a killer disease} Mammal {CANDIDATE are mammals}, {many mammals from CANDIDATE}, {CANDIDATE are all mammals}, {CANDIDATE are aquatic mammals}, {CANDIDATE is a mammal in the} Sport {history of the sport of CANDIDATE}, {learn about the sport of CANDIDATE}, {sports specific training for CANDIDATE}, {terms for the sport of CANDIDATE}, {CANDIDATE is a team sport} Reptile {Reptiles like CANDIDATE}, {Large reptiles such as CANDIDATE}, {CANDIDATE are reptiles}, {CANDIDATE are reptiles of the order}, {CANDIDATE are cold blooded reptiles} Symptom {CANDIDATE is a common symptom for}, {CANDIDATE is a common medical symptom}, {CANDIDATE is a common symptom of}, {CANDIDATE is the main symptom of}, {CANDIDATE is a symptom of many} Observando a Tabela 7.1 é possível identificar que os padrões linguísticos extraídos representam diferentes formas de expressar que uma entidade é uma instância de um conceito. Após a extração desses novos padrões linguísticos, com objetivo de avaliar o impacto que eles possuem para a etapa de aprendizagem de instâncias de classes, uma segunda iteração do método foi executada. Essa segunda iteração consiste em executar novamente as etapas de Extração de Candidatos a Instância (seção 5.1) e Classificação dos Candidatos a Instância (seção 5.2). A diferença está no número de padrões linguísticos utilizados. Além dos sete padrões linguísticos independentes de domínio apresentados na Tabela 5.1, são usados também os cinco novos padrões linguísticos específicos extraídos. Com isso, um total de doze padrões linguísticos são aplicados como extratores (seção 5.1) para extrair novos candidatos a instâncias, e como discriminadores (seção 5.2) sendo utilizados 117 pela medida de PMI para calcular a coocorrência entre cada candidato a instância extraído e a classe selecionada, usando o conjunto de padrões linguísticos adotado. A segunda iteração foi executada usando as mesmas configurações da primeira iteração descrita na subseção 6.5. O corpus utilizado é formado por 700 snippets por padrão linguístico, como são usados doze padrões linguísticos, isso implica em um total de 8400 snippets para cada classe selecionada neste experimento. A segunda iteração inicia com a execução da etapa Extração de Candidatos a Instância (seção 5.1). Nessa etapa, novos snippets são coletados, não existindo garantias que os mesmos snippets recuperados na primeira iteração (seção 6.5) são coletados outra vez, mesmo utilizando novamente os sete padrões linguísticos independentes de domínios. Isso acontece devido à dinâmica de conteúdo presente na Web. Além disso, os novos padrões linguísticos coletam novos snippets, possibilitando a extração de candidatos a instâncias diferentes, aumentando a abrangência de instâncias passíveis de serem extraídas pelo método. O gráfico apresentado na Figura 6.15 compara os resultados obtidos entre a primeira e a segunda iteração. 100% 90% 80% TOP 10 - 1º It. Precisão 70% TOP 10 - 2º It. 60% TOP 50 - 1º It. 50% TOP 50 - 2º It. TOP 100 - 1º It. 40% TOP 100 - 2º It. 30% TOP 300 - 1º It. 20% TOP 300 - 2º It. 10% 0% City Country Sport Disease Symptom Mammal Reptile Figura 7.1 Comparação entre os resultados da primeira e a segunda iteração do método Como podem ser observados na Figura 7.1 os resultados da primeira iteração foram superiores para a maioria das classes selecionadas. Algumas classes como Country, City e Disease obtiveram melhores resultados na segunda iteração em alguns limiares específicos. Outras classes como Reptile, Sport e Symptom apresentaram uma perda na precisão das instâncias extraídas. 118 A inclusão dos novos padrões linguísticos possibilitou a extração de novos candidatos a instâncias, com isso, houve um aumento na abrangência de instâncias passíveis de serem extraídas pelo método. Contudo, também ocorreu um aumento no número de falsos candidatos a instâncias extraídos. Esse aumento na abrangência tornou a classificação dos candidatos a instâncias ainda mais complexa, gerando uma perda na precisão da maioria das extrações realizadas. Devido à dinâmica do conteúdo presente na Web, duas iterações do método mesmo usando as mesmas classes, o mesmo conjunto de padrões linguísticos e a mesma medida de classificação, não há garantias de que os resultados obtidos sejam iguais. Isso acontece porque os snippets coletados em uma iteração podem ser totalmente diferentes dos coletados em outra iteração, resultando na extração de um conjunto de candidatos a instâncias diferente. Por exemplo, um conjunto pode possuir mais instâncias corretas, gerando assim bons resultados, enquanto que outro conjunto pode ter uma ocorrência maior de falsas instâncias dificultando a tarefa de classificação dos candidatos a instâncias. Mesmo apresentando uma queda na precisão das instâncias extraídas, analisando o limiar Top10 verifica-se que as classes apresentaram resultados equivalentes com a primeira iteração e considerados satisfatórios diante das dificuldades inerentes a tarefa de povoamento de ontologias e a complexidade encontrada utilizando a Web como corpus. Entretanto, mais experimentos precisam ser realizados para investigar qual o comportamento do método com a utilização de diferentes limiares de aceitação de novos padrões linguísticos específicos. 7.4 Conclusões do Capítulo Neste capítulo foi descrita a abordagem para aprendizagem de novos padrões linguísticos proposta neste trabalho. A sistemática proposta utiliza as instâncias extraídas anteriormente pela etapa de Povoamento de Ontologias para guiar o processo de extração utilizando a Web como fonte informações. O principal objetivo dessa etapa é expandir o conjunto inicial de padrões linguísticos adotados, aumentando a cada iteração a abrangência de instâncias passíveis de serem extraídas pelas etapas de Extração e Classificação de Candidatos a Instâncias. Ao final do capítulo, um experimento foi realizado com o objetivo de avaliar a o impacto da integração dos 119 novos padrões linguísticos extraídos para as fases de Extração e Classificação de Candidatos a Instâncias. No próximo capítulo, com base nos experimentos realizados, são discutidas as hipóteses apresentadas neste trabalho. Além disso, as limitações do método proposto e as lições aprendidas com o seu desenvolvimento são realçados. As conclusões identificadas com os experimentos realizados são expostas, além das contribuições alcançadas, e dos trabalhos futuros sugeridos para melhorar e expandir o método proposto 120 8 Conclusões e Trabalhos Futuros Este trabalho abordou o problema de aquisição de conhecimento estruturado a partir de textos desestruturados, escritos em linguagem natural encontrados na Web. A relevância desse problema é decorrente da abundância de informações desestruturadas presentes na Web e da necessidade da Web Semântica com o uso de ontologias como bases de conhecimento. Para muitos pesquisadores, o desenvolvimento de sistemas capazes de extrair conteúdo semântico sob a forma de ontologias, pode impulsionar o desenvolvimento da Web Semântica (McDowell e Cafarellab, 2008; Wimalasuriya e Dou, 2010; Monllaó, 2011; Petasis et al, 2011). Neste contexto, este trabalho objetivou propor e avaliar um método não supervisionado e independente de domínio para o povoamento de ontologias na Web. Com o objetivo de obter uma alta taxa de precisão no número de instâncias extraídas, neste trabalho foi proposto uma Medida de Confiança Combinada (MCC), cujo objetivo é integrar diferentes medidas e heurísticas para classificar os candidatos a instâncias extraídos. O método delineado é capaz ainda de extrair novos padrões linguísticos expandindo o conjunto inicial de padrões adotados. Um SEIBO que instancia a metodologia proposta foi desenvolvido e avaliado através de diversos experimentos. Vislumbrando cumprir os objetivos esboçados neste trabalho, algumas técnicas e ferramentas foram utilizadas: a) Técnicas e ferramentas de PLN foram adotadas para processar o corpus analisado; b) Padrões linguísticos foram avaliados como extratores, guiando o processo de extração de candidatos a instâncias; e discriminadores, sendo utilizados em conjunto com a medida de PMI para classificar os candidatos a instâncias; c) A medida estatística de PMI foi usada na Web para mensurar a coocorrência das classes selecionadas na ontologia de entrada, com seus respectivos candidatos a instâncias extraídos, utilizando um conjunto de padrões linguísticos para proporcionar um contexto para a avaliação; d) Medidas de similaridade semântica no WordNet foram avaliadas para o contexto de povoamento de ontologias; e 121 e) Heurísticas diversas foram analisadas para classificação dos candidatos a instâncias extraídos. Os primeiros experimentos descritos no Capítulo 6 avaliaram as etapas de Extração e Classificação de Candidatos a Instâncias em diferentes domínios. Cada medida e heurística que compõem a MCC foi analisada isoladamente, o que permitiu identificar problemas e avaliar melhorias em cada um dos constituintes. Três variações para o cálculo da MCC foram analisadas e uma melhor configuração foi identificada. Os resultados obtidos variaram dependendo do domínio da classe selecionada na ontologia de entrada, mas em geral, o método proposto foi capaz de extrair uma grande quantidade de instância com uma alta taxa de precisão. A segunda parte dos experimentos descrito no Capítulo 7 avaliou a etapa de Aprendizagem de Padrões Linguísticos Específicos. Neste experimento foi realizada uma simulação de duas iterações no método. Os resultados alcançados são encorajadores, os padrões linguísticos específicos extraídos demonstraram possuir qualidade equivalente aos padrões de linguísticos de Hearst utilizados inicialmente. Os resultados obtidos pela segunda iteração do método, usando os padrões linguísticos iniciais mais os padrões linguísticos específicos, proporcionaram um aumento na abrangência do número de instâncias passíveis de serem extraídas pelo método, sem que ocorra uma alta perda na precisão das instâncias aprendidas. 8.1 Hipóteses Na introdução deste trabalho, algumas hipóteses de pesquisa foram apresentadas. Após a realização dos experimentos subsídios foram identificados para discutir essas hipóteses. Hipótese 1: A combinação de diferentes medidas e heurísticas aplicadas para a classificação dos candidatos a instância. A ideia de combinar diferentes medidas e heurísticas para classificar os candidatos a instâncias obteve melhores resultados do que todas as medidas usadas isoladamente, como podem ser observadas no experimento discutido na seção 6.3. Analisando os resultados obtidos nos experimentos descritos na seção 6.4 é possível observar que os melhores resultados individuais foram obtidos pela 122 medida de PMI. É demonstrado no gráfico apresentado na Figura 6.16 os resultados obtidos com a comparação entre a medida de PMIStr INorm Hits0 and e a variação MCCvar2. 100% 90% TOP 10 - MCC 80% TOP 10 - Str INorm Hits0 and TOP 50 - MCC Precisão 70% 60% TOP 50 Str INorm Hits0 and TOP 100 - MCC 50% 40% 30% TOP 100 Str INorm Hits0 and TOP 300 - MCC 20% 10% TOP 300 Str INorm Hits0 and 0% Figura 8.1 Comparação entre a medida de PMIStr INorm Hits0 and e a variação MCCvar2 Analisando os resultados obtidos pela comparação entre a medida de PMIStr INorm Hits0 and e a variação MCCvar2, verifica-se que a medida MCC obteve melhores resultados levando em consideração os limiares Top10 e Top50. Utilizando o teste de significância estatístico T-Student com um nível de confiança de 95% (α = 0,05), comprovou-se que realmente houve um aumento significativo nesses liminares utilizando a MCC var2. Já nos limiares mais abrangentes (Top100 e Top300), a medida de PMIStr INorm Hits0 and obteve melhores resultados, onde apenas no Top300 houve uma superioridade significativa. A MCC proposta demonstrou ser mais eficiente quando utilizada com limiares mais restritivos, isso acontece porque os constituintes da MCC (NPE e SWN) apresentam um declínio na precisão quanto mais abrangente o limiar usado. A medida de PMI também apresenta uma diminuição média de precisão em limiares mais abrangentes, contudo essa perda é menor do que nos outros constituintes. Apesar da medida de PMI ter obtido melhores resultados nos limiares mais abrangentes, conclui-se que a ideia de combinar diferentes medidas e heurísticas na tarefa de classificação de instâncias mostrou ser uma solução válida, que pode obter melhores resultados aplicando-a com limiares mais restritivos do que utilizar somente uma medida isolada. 123 Hipótese 2: Futuras iterações do método proposto devem extrair novas instâncias, sem que ocorra um grande declínio na precisão dos resultados. Conforme discutido na seção 7.3, a inclusão dos novos padrões linguísticos possibilitou um aumento na abrangência de instâncias passíveis de serem extraídas pelo método. Esse aumento de abrangência ocasionou uma diminuição na precisão dos resultados obtidos. Contudo, levando em consideração o limiar Top10 essa perda foi considerada aceitável. Diante dos resultados obtidos tanto na primeira quanto na segunda iteração, pode-se afirmar que o ciclo do método proposto atendeu as expectativas vislumbradas. Apesar do limiar utilizado (Top10) ser muito restritivo, sua escolha é justificado pelos altos valores de precisão obtidos. Além disso, a escolha do limiar pode ser alterada para extrair a cada iteração um número maior de instâncias. Para uma maior fundamentação para aceitar essa hipótese, mais experimentos são sugeridos, simulando mais iterações do método e variando diferentes limiares para a etapa de Aprendizagem de Padrões Linguísticos Específicos. 8.2 Limitações do Método e Desafios Enfrentados Além da validação das hipóteses, durante a execução dos experimentos realizados, algumas limitações do método e desafios foram encontrados. Esses desafios e limitações servem de motivação para o desenvolvimento de diversos trabalhos futuros para melhoria e expansão do método proposto. Limitação 1: Extração de instâncias de classes ontológicas. Conforme abordado na seção 4.1, a tarefa de Povoamento de Ontologia abrange três elementos: instâncias de classes, relações e propriedades. Este trabalho concentrou-se apenas na extração de instâncias de classes, sendo a extração de relações e propriedades sugestões de trabalhos futuros para ampliar o método proposto. Limitação 2: Abrangência da extração dos candidatos a instância. Conforme foi descrito na seção 5.1, o processo de extração de candidatos a instância é realizado extraindo sintagmas nominais como candidatos a instâncias. Diante disso, apenas palavras que são classificadas como sintagmas nominais são extraídas. Apesar da grande quantidade de instâncias que podem ser classificadas nessa categoria, outros candidatos que não seguem esse padrão nunca serão recuperados. Essa ainda é uma 124 limitação deste trabalho, como trabalho futuro sugere-se a expansão para a utilização de outras técnicas em conjunto para extrair uma maior quantidade de candidatos a instâncias. Limitação 3: Limitação devido à abordagem não supervisionada e automática. O objetivo vislumbrado nesta pesquisa é o desenvolvimento de um método totalmente automático, ou seja, nenhuma iteração humana se faz necessária. Esse tipo de abordagem apresenta problemas principalmente para controlar a propagação de erros devido a não interferência humana no processo. Além disso, a precisão de um método totalmente automático tende a ser inferior a métodos que apresentam de alguma forma interferência manual. No método proposto, a interação humana também pode ser utilizada para ajudar o processo de povoamento. Algumas sugestões de interação consistem em: 1) Fornecer uma lista de palavras específicas do domínio da classe em povoamento que não expressam instâncias. Essas palavras são removidas e com isso a presença de falsos candidatos é aliviada (Geleijnse e Korst, 2006). Esse tipo de palavra representou um problema para as medidas de PMI e SWN, e para a heurística de NPE; 2) Avaliar e escolher os candidatos a instância promovidos pela fase de Povoamento de Ontologias (seção 5.3) e não se restringir as N melhores instâncias por iteração. Com isso apenas instâncias corretas serão utilizadas para povoar a ontologia e posteriormente para extração de novos padrões linguísticos. De maneira semelhante, a ação humana pode ser usada para escolher os melhores padrões linguísticos extraídos na fase de Aprendizagem de Padrões Linguísticos Específicos. 3) A escolha dos parâmetros do método, ou seja, quais técnicas de filtragem e quais constituintes usar para compor a MCC podem ser customizados dependendo do domínio da classe selecionada. Analisando os resultados dos experimentos é possível observar que cada constituinte da MCC apresentou resultados que variaram dependendo do domínio da classe selecionada. As sugestões acima podem impactar positivamente, aumentando a precisão dos resultados obtidos para cada domínio em particular. 125 Limitação 4: Contexto da Extração. Uma ontologia descreve um conjunto de conceitos e relações sobre um domínio de conhecimento. Isso implica que cada conceito definido possui algum significado para o domínio representado. Por exemplo, a classe Doença (Disease) caso esteja presente em uma ontologia sobre Antropologia (Anthropology), implica que todas as instâncias dessa classe devem representar anomalias que acontecem apenas em seres humanos. Em outro cenário, por exemplo, em uma ontologia sobre Botânica (Botany), essa mesma classe representa apenas doenças que podem acontecer em plantas. Diante disso, percebe-se claramente que a interpretação de uma classe é dada avaliando o domínio ao qual ela está inserida. O método proposto neste trabalho não contempla esse tipo de interpretação, ou seja, nos experimentos realizados, por exemplo, para a classe Doença (Disease), todo o tipo de instâncias dessa classe foi extraído, independente do domínio da ontologia utilizada. Limitação 5: Diferenciação entre subclasses e instâncias. Diversos trabalhos encontrados na literatura utilizaram com sucesso os padrões linguísticos de Hearst para as tarefas de Aprendizagem, Enriquecimento e Povoamento de Ontologias. O trabalho de Sánchez e Moreno (2008) utiliza esses padrões para extrair hierarquia de conceitos e atualizar uma ontologia de entrada com novas subclasses para os conceitos já definidos. Enquanto isso, os trabalhos de (Etzioni et al., 2004a; McDowell e Cafarella, 2008) utilizaram esses mesmos padrões para aprender novas instância para classes presentes em uma ontologia de entrada. Uma limitação do método proposto é a diferenciação se um candidato a instância dever ser uma nova subclasse ou instância na ontologia de entrada. Dependendo do candidato avaliado essa diferenciação é complexa até mesmo para um ontologista (McDowell e Cafarella, 2008). Por exemplo, para a classe Mammal exemplos de candidatos a instâncias extraídos foram Dog (Cachorro), Cat (Gato) e Horse (Cavalo). Esses candidatos devem ser classificados como instância ou como uma subclasse? Essa diferenciação ainda é uma limitação para o método proposto. Nos experimentos realizados esses candidatos formam considerados corretos seguindo o mesmo critério adotado em outros trabalhos (Etzioni et al., 2004a; McDowell e Cafarella, 2008). Desafio 1: A Web como corpus. A utilização da Web como corpus de trabalho apresenta diversas vantagens, principalmente, devido a grande quantidade de informações disponíveis, sua heterogeneidade e a alta redundância presente em seu conteúdo (Sánchez e Moreno, 2008). Entretanto, diversos problemas podem ser 126 apontados, tais como: falta de estrutura, informações não confiáveis, ruído devido a representações visuais, além do tradicional problema de ambiguidade encontrado em linguagem natural (Sánchez e Moreno, 2008). Por exemplo, frases com conotação filosóficas, tais como, Life is a river (A vida é um rio) e Love is a disease of the soul (O amor é a doença da alma), ou frases com conotação pejorativa como Woman is a disease (A mulher é uma doença), apresentam grande frequência, levando em alguns casos o método a uma classificação errada dos candidatos Life (A vida), Love (O amor) e Woman (A mulher) a instâncias das classes River (Rio) e Disease (Doença) respectivamente. Outro problema foi a presença de erros ortográficos, por exemplo, pnemonia ao invés de pneumonia (pneumonia) e Kasakhstan no lugar de Kazakhstan (Cazaquistão), podem acabar gerando problemas na classificação caso eles apresentem uma alta frequência de repetição. A utilização de diferentes medidas e heurísticas na MCC diminui os problemas relatados anteriormente, pois, cada medida e heurística utilizada mensurou a confiabilidade do candidato a instância avaliado de acordo com sua percepção. Por exemplo, palavras com erros ortográficos podem apresentar um alto valor na medida de PMI e na heurística de NPE, mas apresentam valor zero na medida de SWN. Desafio 2: Erros na extração dos sintagmas nominais. Durante o processo de identificação de sintagmas nominais erros podem ocorrer, principalmente devido ao framework de PLN utilizado ou por problemas no texto analisado. Um exemplo clássico encontrado foi a extração apenas de parte de um sintagma nominal como candidato. Por exemplo, extração de Los ao invés de Los Angeles. Conforme discutido na subseção 6.4.2, esse tipo de erro apresentou um impacto negativo para a classificação dos candidatos a instância, devido a influência que ele possui para a medida de PMI. A utilização de ferramentas de PLN com qualidade comprovada por trabalhos anteriores na literatura ajuda a evitar esse tipo erro. Além disso, a estratégia de usar a palavra and combinada com alguns padrões linguísticos alivia esse tipo de problema. Desafio 3: Contexto dos padrões linguísticos adaptados de Hearst. Os padrões linguísticos guiam tanto o processo de extração (seção 5.1) quanto auxiliam a medida de PMI durante a etapa de Classificação de Candidatos a Instância (seção 5.2). Os padrões linguísticos apresentam problemas devido à falta de contexto e a ambiguidade presente na linguagem natural (Sánchez e Moreno, 2008). Por exemplo, o processamento de algumas frases identificadas nos experimentos tais como: Taylor Swift is a country 127 singer (Taylor Swift é uma cantora country), countries such as the following (países como a seguir), treatments for cancer such as radiotherapy (tratamentos para o câncer como radioterapia) e cities especially dangerous cities (cidades especialmente as cidades perigosas), acabaram gerando a extração dos sintagmas nominais Taylor Swift, the following (a seguir), radiotherapy (radioterapia) e dangerous cities (cidades perigosas) como candidatos a instâncias. A classificação de candidatos a instância extraídos em cenários como o descrito acima representaram um desafio para processo de aprendizagem de instância, caso esses candidatos apresentem uma grande frequência de repetição. Para evitar esse tipo de problema foi aplicado o filtro de candidatos inválidos descrito na seção 5.1, no qual candidatos que não possuem substantivos são eliminados. Além disso, o uso da variação PMIStr INorm Hits0 and evitou alguns erros de classificação (seção 5.2) identificados com as variações do PMI usadas em outros trabalhos (Etzioni et al., 2004a; McDowell e Cafarella, 2008). Desafio 4: Propagação de Erros. A divisão do processo de aprendizagem de instâncias ontológicas em diferentes iterações apresenta alguns benefícios, dentre eles, utilizar o conhecimento adquirido em iterações anteriores. Em contra partida, por se tratar de um método totalmente automático, no qual nenhuma interação humana é esperada, a propagação de erros entre as etapas de Aprendizagem de Instâncias e posteriormente na Aprendizagem de Padrões Linguísticos Específicos pode ser um problema importante a ser tratado. Além disso, os erros podem ser propagados entre iterações, por exemplo, caso instâncias erradas e padrões linguísticos com baixa qualidade sejam extraídos. Esses padrões posteriormente serão utilizados como conhecimento errado em futuras iterações. Tentando evitar esse problema, o método proposto extraiu a cada iteração apenas os dez melhores candidatos a instância com base na MCC (seção 5.3) e os cinco melhores padrões linguísticos específicos (seção 5.4) por classe. Outra solução, é utilizar a interação humana para validar ambas as instâncias e os padrões linguísticos extraídos. 8.3 Conclusões Considerando o método para o povoamento de ontologia na Web proposto e com base nos resultados dos experimentos obtidos, pode-se concluir que: 128 O método proposto provou ser eficaz para a maioria das classes analisadas. Os altos valores obtidos pela medida de Precisão, mesmo adotando limiares mais abrangentes, indicam que o método foi capaz de extrair uma grande quantidade de instâncias corretas. Utilizar a Web como fonte de informações mostrou ser uma válida opção tanto para a classificação dos candidatos a instâncias, utilizando a medida de PMI para explorar a alta redundância de conteúdo como medida de relevância, quanto como corpus para a extração de candidatos a instâncias. Mesmo utilizando apenas textos curtos (snippets) foi possível extrair uma grande quantidade de informações. Contudo, devido a algumas características de seu conteúdo, como citado no Capítulo 6, diversos desafios surgiram e precisam ser levados em consideração. Conceitos que representam diferentes domínios foram aplicados no método proposto sem nenhuma alteração ser necessária. Isso demonstra que o método possui boa portabilidade. Os tradicionais problemas de portabilidade enfrentados por SEI podem ser superados, promovendo uma clara separação do que é conhecimento de domínio e o que é conhecimento operacional, além de não utilizar técnicas dependentes do domínio analisado. A combinação de diferentes medidas e heurísticas em uma única medida de avaliação para a classificação dos candidatos a instâncias provou obter melhores resultados na maioria dos cenários do que, por exemplo, utilizar apenas a tradicional medida de PMI isoladamente. A utilização de um algoritmo para aprendizagem de novos padrões linguísticos específicos, visando a cada iteração expandir o conjunto inicial de padrões linguísticos mostrou ser um solução viável para aumentar a abrangência de instâncias passíveis de extração pelo método, sem que ocorra uma acentuada perda de precisão. Contudo, um controle do número de padrões linguísticos promovidos a cada iteração precisa ser bem definido, para evitar a aprendizagem de padrões com baixa qualidade, ocasionando um declínio acentuado na precisão das instâncias extraídas. Todos os experimentos realizados simularam a execução do método de forma automática, ou seja, nenhuma interação manual foi realizada, bem como 129 nenhuma customização por domínio foi usada. Analisando os resultados produzidos, percebe-se que as medidas e heurísticas usadas para compor a MCC apresentam resultados variados de acordo com domínio da classe selecionada. Nesse sentido, realizar customizações de forma a escolher filtros específicos, medidas e heurísticas para integrar a MCC, dependendo do domínio da classe selecionada pode melhorar os resultados obtidos. 8.4 Contribuições As principais contribuições deste trabalho são: 1. Criação de um método não supervisionado, automático e independente de domínio para o povoamento de ontologias na Web, que permite a extração instâncias de classes a partir de uma ontologia de entrada. 2. Uma sistemática para aprendizagem de novos padrões linguísticos específicos, cujo objetivo é expandir o conjunto inicial de padrões linguísticos usados. 3. Definição de uma Medida de Confiança Combinada (MCC) que visa integrar diferentes medidas e heurísticas para classificação dos candidatos a instâncias. 4. Desenvolvimento de um SEIBO que instância todas as fases do método proposto. 5. Uma análise comparativa das medidas de PMI e SWN, e a heurística de NPE, utilizadas para compor a MCC. Essa análise permitiu identificar quais as limitações e oportunidades de melhorias de cada medida e heurística adotada. Em especial a investigação da tradicional medida de PMI, possibilitou a identificação de diversos problemas e principalmente propor e avaliar soluções. 6. Realização de diversos experimentos que avaliaram todo o ciclo de execução do método proposto. Nesses experimentos, diversas configurações da medida MCC foram avaliadas além da simulação de duas iterações completas no método. 130 8.5 Trabalhos Futuros Com base nas limitações identificadas e nas lições aprendidas, como trabalhos futuros são sugeridos as seguintes extensões e melhorias: 1. Identificar novas medidas e heurísticas que podem ser integradas a medida MCC; 2. Conforme discutido no Capítulo 6, uma das limitações do método proposto é a diferenciação se um candidato a instância dever ser uma nova subclasse ou instância na ontologia de entrada. Como trabalho futuro, sugere-se o desenvolvimento de uma abordagem que realize a diferenciação entre o que deve ser extraído como instância e o que deve ser subclasse. Vislumbra-se que, por exemplo, caso o termo Wolf seja extraído como instância da classe Mammal em uma iteração, e posteriormente em uma futura iteração a instância Gray Wolf seja extraída, o método deve sugerir a alteração da instância Wolf para ser subclasse de Mammal e a nova instância Gray Wolf passa a ser instância da nova subclasse Wolf. 3. Realizar mais experimentos simulando novas iterações do método proposto, buscando identificar o comportamento do processo de extração a cada iteração executada; 4. Estender o método proposto para contemplar o povoamento de relações e também de propriedades pertencentes aos conceitos; 5. Uma ontologia é composta por diversos elementos, dentre eles um conjunto de axiomas. Os axiomas definidos em uma ontologia restringem a interpretação dos conceitos e relações, representando de maneira clara e não ambígua o conhecimento do domínio. Vislumbra-se como trabalho futuro, explorar esses axiomas como filtros, funcionando como mais uma medida para avaliar os candidatos a instâncias extraídos. 6. Construção de um corpus anotado que permitirá a realização de experimentos utilizando as tradicionais medidas de Precisão, Cobertura e Medida-F. Esse corpus possibilita que metodologias propostas por outros autores sejam comparadas com o método proposto neste trabalho. 131 8.6 Artigos Publicados Parte dos resultados obtidos nesta dissertação foi publicada em: a) Oliveira, H., Lima, R., Gomes, J., Ferreira, R., Freitas, F., Costa, E. A confidence-weighted metric for unsupervised ontology population from Web Texts. In Proceedings of the 23rd International Conference on Database and Expert Systems Applications, pp. 176-190, Vienna, Austria, 2012a. b) Oliveira, H., Lima, R., Gomes, J., Freitas, F. A web-based method for ontology population. In Proceedings of the IADIS International Conference on WWW/Internet, Madri, Espanha, 2012b. c) Tomaz, H., Lima, R., Gomes, J., Freitas, F. An unsupervised method for ontology population from the Web. In Proceedings of the 13th Ibero-American Conference on Artificial Intelligence (IBERAMIA), pp. 41-50, Cartagena de Indias, Colombia, 2012. 132 Anexo A: Medidas de Similaridade Baseadas no WordNet Avaliadas Semântica As medidas de similaridade semântica definem uma medida para comparação entre conceitos levando em consideração os seus significados e o contexto aos quais eles estão inseridos. Estimar o grau de similaridade semântica entre dois conceitos é um problema comum em áreas de pesquisa como Processamento de Linguagem Natural, Aquisição de Conhecimento, Recuperação de Informação, dentre outras. Além disso, o uso dessas medidas é especialmente importante para diversas aplicações, por exemplo, para a Sumarização, Desambiguação do sentido das palavras (Word-sense Disambiguation), dentre outras. Diversas medidas de similaridade semântica têm sido propostas, explorando conhecimentos explícitos, por exemplo, estruturas taxonômicas; ou conhecimentos implícitos, tal como a distribuição de informações (Sánchez e Batet, 2010). O WordNet, um dicionário léxico para o idioma inglês, proporciona um ambiente adequado para a utilização de medidas de similaridade, uma vez que organiza taxonômica substantivos e verbos em uma hierarquia do tipo é-um (Pedersen et al., 2004). Diversas medidas de similaridade semântica utilizam as informações presentes na estrutura hierárquica é-um do WordNet, e mensuram o quão um conceito A é similar a um conceito B, utilizando, por exemplo, o sentido desses conceitos, o conjunto de sinônimos, dentre outras informações presentes no WordNet. Além das relações taxonômicas, o WordNet possui informações sobre relações não hierárquicas tais como é-parte-de, é-um-atributo-de, é-o-oposto-de, é-sinonimo-de, dentre outras. Além disso, para cada conceito e seus vários significados, existe uma breve definição (gloss), por exemplo, o conceito Disease (Doença) possui um único sentido cuja definição é "uma deterioração da saúde ou de uma condição de funcionamento anormal" ("an impairment of health or a condition of abnormal functioning"). Diversas medidas de similaridade semântica utilizam essas informações adicionais para medir o grau de similaridade entre dois conceitos, mesmo aqueles que não possuem relações taxonômicas. As medidas de similaridade semântica, por exemplo, podem indicar que o conceito Automóvel (Automobile) possui uma similaridade maior com o conceito Barco (Boat) 133 do que com o conceito Arvore (Tree), já que no WordNet os conceitos Automobile e Boat compartilham o conceito Veículo (Vehicle) como ancestral em comum. Medidas de similaridade que utilizam essa estratégia exploram a distância entre dois conceitos na hierarquia do WordNet, calculando o número de ligações, ou seja, computam os conceitos em comum entre eles, como grau de similaridade. Três exemplos de medidas baseadas na distância entre dois conceitos na hierarquia do WordNet são a Leacock and Chodorow (Leacock e Chodorow, 1998), a Wu and Palmer (Wu e Palmer, 1994) e a Path Length (Pederson, 2010). A medida Leacock and Chodorow mensura o grau de similaridade entre dois conceitos encontrando o caminho mais curto entre eles, esse valor é normalizado pelo comprimento máximo do caminho na hierarquia é-um em que esses conceitos ocorrem. A medida Wu and Palmer identifica o tamanho do caminho entre a raiz da hierarquia e o conceito ancestral mais específico em comum entre dois conceitos. Esse valor é normalizado pela soma dos caminhos entre a raiz e cada conceito individualmente. Por fim, a medida Path Length é dada pelo inverso da distância do caminho mais curto entre dois conceitos. Apesar de ser uma das estratégias mais usadas, medidas baseadas puramente na distância entre os conceitos apresentam algumas limitações (Pederson, 2010). A mais crítica é que a distância entre dois conceitos baseada em uma única ligação não é consistente, por exemplo, conceitos mais gerais possuem menos conceitos em comum do que conceitos mais específicos. Como solução para essa limitação, Resnik (1995) propôs uma medida estatística chamada de Conteúdo das Informações (CI), do inglês Information Content (IC). A medida CI é uma usada para mensurar a especificidade de um conceito, sendo calculada com base na frequência dos conceitos em um grande corpus. A frequência associada com cada conceito é incrementada no WordNet cada vez que ele é observado, assim como a frequência de seus conceitos ancestrais. Por exemplo, a frequência do conceito Doença (Disease), inclui as frequências dos seus conceitos sucessores Tuberculose (Tuberculosis), Gripe (Influenza), dentre outros. Com isso, conceitos mais gerais possuem frequências maiores do que conceitos mais específicos. Após obter a frequência de todos os conceitos, o valor de medida CI para um conceito c é calculado conforme apresentado na Equação A.1. 134 (A.1) Onde: é a frequência do conceito c; é a frequência da raiz da hierarquia. A medida A Resnik (Resnik, 1995) define que a similaridade entre dois conceitos é dada mensurando a quantidade de informações compartilhadas entre eles. Essa quantidade de informações compartilhadas é determinada pelo cálculo da medida CI do Conceito Mais Específico em Comum (CMEC) entre os dois conceitos. A Equação A.2 demonstra como é calculada matematicamente a medida Resnik. (A2) Onde: CI é a medida de Conteúdo das Informações definida na Equação A.1; é o conceito mais específico em comum entre c1 e c2 No entanto, a medida Resnik pode não ser capaz de fazer distinções mais precisas já que muitos conceitos podem compartilhar o mesmo conceito mais específico em comum, e, portanto, ter valores idênticos de similaridade (Pedersen et al., 2007). As medidas Jiang and Conrath (JNC) (Jiang e Conrath, 1997) e Lin (Lin, 1998), escalam o valor da medida Resnik pelo valor da medida CI de cada conceito individualmente. A diferença entre elas é que a medida Lin utiliza uma proporção, enquanto que a JNC utiliza uma diferença. As Equações A.3 e A.4 demonstram como são calculadas as medidas Lin e JNC respectivamente. (A.3) (A.4) Conforme foi apresentado na subseção 5.2.2, neste trabalho, a Medida de Similaridade no WordNet (SWN) é uma das medidas que compõem a MCC proposta 135 para classificação dos candidatos a instâncias. Essa medida tem o objeto de mensurar a similaridade semântica entre uma classe c selecionada na ontologia de entrada e cada candidato a instância ci extraído na fase de Extração de Candidatos a Instância (seção 5.1). A SWN é composta por duas medidas de similaridade semântica no WordNet, uma que explora a distância entre dois conceitos na hierarquia do WordNet e outra que explora o conceito de CI. Com o objetivo de identificar as melhores medidas de similaridade semântica baseadas no WordNet aplicadas ao problema de classificar os candidatos a instâncias, neste trabalho as seis medidas de similaridade supracitadas foram avaliadas utilizando a medida de Precisão. Os resultados e discussões dessa avaliação são encontrados na subseção 6.4.3. 136 Referências Appelt, D., Hobbs, J., Bear, J., Israel, D., Tyson, M. FASTUS: A Finite-state processor for information extraction from real-world text. In Proceedings of the 13th International Joint Conference on Artificial Intelligence, Morgan Kaufmann, Chambéry, France, 1993. Appelt, D., Israel, D. Introduction to Information Extraction Technology. A tutorial presented in the International Joint Conference of Artificial Intelligence, Stockholm, Schweden ,1999. Ashish, N., Knoblock, C. Wrapper generation for semi-structured internet sources. In Proceedings of the International Conference on Management of Data, pp. 8-15, Tucson, USA, 1997. Azevedo, R. CoreSec: Uma Ontologia para o domínio de segurança da informação. Dissertação de Mestrado, Universidade Federal de Pernambuco, 2008. Banko, M., Cafarella, M., Soderland, S., Etzioni, O., Broadhead, M. Open information extraction from the Web. In Proceedings of the International Joint Conference of Artificial Intelligence, pp. 2670-2676, Hyderabad, India, 2007. Banko, M. Open information extraction for the Web. PHD These, University of Washington, 2009. Barros, F., Robin, J. Processamento de Linguagem Natural. In JAI/SBC - Jornada de Atualização em Informática, Sociedade Brasileira de Computação – SBC, Brasil, 1996. Baumgartner, R., Flesca, S., Gottlob, G. Visual Web information extraction with Lixto. In Proceedings of the 27th International Conference on Very Large Data Bases, pp. 119-128, Roma, Italy, 2001. Ben-Dov, M., Feldman, R. Text Mining and information extraction. In The Data Mining and Knowledge Discovery Handbook, chap. 38, Tel-Aviv, Israel, Springer, 2005. Berners-Lee, T., Hendler, J., Lassila, O. The Semantic Web - a new form of Web content that is meaningful to computers will unleash a revolution of new possibilities. In Scientific American, vol. 284, issue 5, pp. 34-43, 2001. 137 Bontcheva, K., Cunningham, H. Handbook of Semantic Web technologies, chap. Semantic Annotations and Retrieval: Manual, Semiautomatic, and Automatic Generation, pp. 78-113. Springer, 2011. Breitman, K. Web Semântica: A Internet do Futuro. LTC, 2005. Brill, E. Processing Natural Language without Natural Language Processing. In Proceedings of the 4th International Conference on Computational Linguistics and Intelligent Text Processing and Computational Linguistics, pp. 360-369, Mexico City, Mexico, 2003. Buitelaar, P., Siegel, M. Ontology-based information extraction with SOBA. In Proceedings of the 15th International Conference on Language Resources and Evaluation, Genoa, Italy, 2006. Buitelaar, P., Cimiano, P. Ontology learning and population: bridging the gap between text and knowledge. In Series information for Frontiers in Artificial Intelligence and Applications, IOS Press, vol. 167, 2008. Carlson, A., Betteridge, J., Kisiel, B., Settles, B. Hruschka Jr., E., Mitchell, T. Toward an architecture for never-ending Language learning. In Proceedings of the TwentyFourth Conference on Artificial Intelligence, pp. 1306-1313, Atlanta, Georgia, USA, 2010a. Carlson, A., Betteridge, J., Wang, R. C., Hruschka Jr, E. R., and Mitchell, T. M. Coupled semi-supervised learning for information extraction. In Proceedings of the 3nd ACM International Conference on Web Search and Data Mining (WSDM), pp. 101110, New York, USA, 2010b. Cimiano, P., Handschuh, S., Staab, S. Towards the self-annotating web. In Proceedings of the 13th international conference on World Wide Web, pp. 462-471, New York, USA, 2004. Cimiano, P., Ladwig, G., Staab, S. Gimme The Context: context driven automatic semantic annotation with CPANKOW. In Proceedings of the 14th International Conference on World Wide Web, pp. 332–341, Japan, 2005a. Cimiano, P., Schmidt-Thieme, L., Pivk, A., and Staab, S. Learning taxonomic relations from heterogeneous evidence. In Journal of Ontology Learning from Text: Methods, Applications and Evaluation. IOS Press, pp. 59-73, 2005b. 138 Crescenzi, V., Mecca, G., Merialdo, P. Automatic web information extraction in the RoadRunner system. In Proceedings of the International Workshop on Data Semantics in Web Information Systems, pp. 264-277, Yokohama, Japan, 2001. Cunningham, H. GATE, a General Architecture for Text Engineering. In Computers and the Humanities, vol. 36, pp. 223-254, 2002. Doorenbos, R., Etzioni, O., Weld, D. A scalable comparison-shopping agent for the world-wide web. In Proceedings of the First International Conference on Autonomous Agents (Agents’97), pp. 39–48, Marina del Rey, USA, 1997. Downey, D., Etzioni, O., Weld, D. S., Soderland, S. Learning text patterns for Web information extraction and assessment. In Proceedings of the 19th National Conference on Artificial Intelligence Workshop on Adaptive Text Extraction and Mining, San Jose, USA, 2004. Embley, D. Toward semantic understanding: an approach based on information extraction ontologies. In Proceedings of the 15th Australasian Database Conference, Darlinghurst, Australia, 2004. Etzioni, O., Cafarella, M., Downey, D., Kok, S., Popescu, A., Shaked, T., Soderland, S., Weld, D., and Yates, A. Web-Scale information extraction in KnowItAll. In Proceedings of the 13th International World Wide Web Conference, pp. 100–110, New York, USA, 2004a. Etzioni, O., Cafarella, M., Downey, D., Popescu, A., Shaked, T., Soderland, S., Weld, D. S., and Yates, A. Methods for domain-independent information extraction from the Web: An experimental comparison. In Proceedings of the 19th National Conference on Artificial Intelligence, pp. 391-398, San Jose, USA, 2004b. Etzioni, O., Cafarella, M., Downey, D., Kok, S., Popescu, S., Shaked, T., Soderland, S., Weld, D., Yates, A. Unsupervised named-entity extraction from the web: an experimental study. In Jounal of Artificial Intelligence, vol. 165, issue 1, pp. 91–134, 2005. Feldman, R., Sanger, J. The Text Mining handbook – advanced approaches in analyzing unstructured data, 1st ed., Cambridge, Cambridge University Press, 2007. Fellbaum, C. WordNet: An electronic lexical database. MIT Press, Massachusetts, USA, 1998. 139 Fensel, D., Harmelen, F., Klein, M., Akkermans, H. On-To-Knowledge: ontology-based tools for knowledge management. In Proceedings of the eBusiness and eWork conference, Madrid, Spain, 2000. Fensel, D., Horrocks, I., Harmelen, F., McGuinness, D., Patel-Schneider, D. OIL: Ontology infrastructure to enable the semantic web. In Journal of IEEE Intelligent Systems, vol. 16, 2001. Fensel, D., Bussler, C., Ding, Y., Kartseva, V., Klein, V., Korotkiy, M., Omelayenko, B. Semantic web application areas. In Proceedings of the 7th International Workshop on Applications of Natural Language to Information Systems (NLDB), Stockholm, Sweden 2002. Freitas, F. Sistemas multiagentes cognitivos para a recuperação e extração integradas de informação da web. Tese de Doutorado, Programa de pós-graduação em Engenharia Elétrica da Universidade Federal de Santa Catarina (UFSC), Florianópolis, 2002. Freitas, F. Ontologias e a web semântica. In Proceedings of the XXIII Congresso da Sociedade Brasileira de Computação, pp. 1-52, Campinas, São Paulo, Brasil, 2003. Gaizauskas, R., Wakao, T., Humphreys, K., Cunnigham, H., e Wilks, Y. Description of the Lasie system as used for MUC 6. In Proceedings of the 6th Message Understanding Conference (MUC-6), pp. 207-220, Columbia, Maryland, USA, 1995. Geleijnse G., Korst, J. Learning effective surface text patterns for information extraction. In Proceedings of the 11th Conference of the European Chapter of the Association for Computational Linguistics Workshop on Adaptive Text Extraction and Mining, pp. 1–8, Trento, Italy, 2006. Grau, B. Parsia, B, Sirin, E. Working with multiple ontologies on the semantic web. In Proceedings of the 3rd International Semantic Web Conference, Berlin, 2004. Grigoris, A., Harmelen, F. Semantic Web primer. The MIT Press, Cambridge, Massachusetts, London, England, 2004. Grishman, R. Information Extraction: techniques and challenges. Lecture Notes in Artificial Intelligence, Rome, Italy, 1997. Guarino, N. Formal Ontologies and information systems. In Proceedings of the First International Conference (FOIS), Trento, Italy, 1998. 140 Guizzard. G. Uma abordagem metodológica de desenvolvimento para e com reuso, baseada em ontologias formais de domínio. Dissertação de Mestrado. Universidade Federal do Espírito Santo, 2000. Hahn, U., Schnattinger, K. Towards text knowledge engineering. In Proceedings of the Fifteenth National/Tenth Conference on Artificial Intelligence/Innovative Applications of Artificial Intelligence, Menlo Park, California, USA, 1998. Hearst, M. A. Automatic acquisition of hyponyms from large text corpora. In Proceedings of the 14th conference on Computational linguistics (COLING), pp. 539545, Nantes, France, 1992. Hobbs, J., Appelt, D., Tyson, M., Bear, J., Islael, D. SRI International: description of the FASTUS system used for MUC-4. In Proceedings of the 4th Message Understanding Conference (MUC-4), pp. 268–275, McLean, USA, 1992. Huffman, S. Learning information extraction patterns from examples. In Lecture Notes in Computer Science. Connectionist, Statistical, and Symbolic Approaches to Learning for Natural Language Processing, vol. 1040, pp. 246–260, London, UK, 1996. Jiang, J., Conrath, D. Semantic similarity based on corpus statistics and lexical taxonomy. In Proceedings on International Conference on Research in Computational Linguistics, Taiwan, China, 1997. Kaiser, K., Miksch, S. Information Extraction – a survey. Technical Report, AsgaardTR-2005-6, Vienna University of Technology, Institute of Software Technology and Interactive Systems, 2005. Koivunen, M., Miller E. W3C Semantic Web activity. In Semantic Web Kick-Off in Finland: Vision, Technologies, Research, and Applications, Helsinki Institute for Information Technology (HIIT), pp. 27-43, Helsinki, Finland, 2001. Kushmerick, N., Weld, D., Doorenbos, R. Wrapper induction for information extraction. In Proceedings of International Joint Conference on Artificial Intelligence (IJCAI-97), Nagoya, Japan, 1997. Kushmerick, N. Gleaning the Web. In Jounal of IEEE Intelligent Systems, 1999. Lavelli, A., Califf, M., Ciravegna, F., Freitag, D., Giuliano, C., Kushmerick, N., Romano, L. Information Extraction evaluation: criticisms and recommendations. In 141 Proceedings of the 9th National Conference on Artificial Intelligence Workshop on Adaptive Text Extraction and Mining (ATEM 2004), San Jose, California, USA, 2004. Leacock, C., Chodorow, M. Combining local context and WordNet similarity for word sense identification. C. Fellbaum, MIT Press, pp. 265–283, 1998. Li, Y., Bontcheva, K. Hierarchical, perceptron-like learning for ontology-based information extraction. In Proceedings of the 16th International Conference on World Wide Web, New York, USA, 2007. Lin, D. An information-theoretic definition of similarity. In Proceedings of International Conference on Machine Learning, Madison, Wisconsin, August, 1998. Lopez, P. Robust parsing with lexicalized tree adjoining grammars. PHD Thesis, Institut National de Recherche en Informatique et en Automatique (INRIA), Nancy, France, 1999. Maedche, A., Staab, S. The Text-To-Onto ontology learning environment. In Proceedings of the 18th International Conference on Conceptual Structures, SpringerVerlag, Berlin, 2000. Maedche, A., Staab, S. Ontology Learning for the Semantic Web. In Proceedings of the IEEE Intelligent Systems, IEEE Educational Activities Department, Piscataway, pp. 7279, New Jersey, USA, 2001. Maedche, A., Neumann, G., Staab, S. Bootstrapping an ontology-based information extraction system. In Intelligent Exploration of the Web, Heidelberg, Germany, 2003. Maynard, D., Peters, W., Li, Y. Metrics for evaluation of ontology-based information extraction. In Proceedings of the World Wide Web 2006 Workshop on Evaluation of Ontologies for the Web, New York, USA, 2006. Maynard, D., Li, Y., Peters, W. NLP techniques for term extraction and ontology population. In Bridging the Gap between Text and Knowledge - Selected Contributions to Ontology Learning and Population from Text, IOS Press, 2008. McDowell, L., Cafarella, M. Ontology-driven, unsupervised instance population. In Journal of Web Semantics: Science, Services and Agents on the World Wide Web, pp. 218-236, 2008. 142 Mitchell, T. Generalization as search, Artificial Intelligence, vol. 18, issue 2, pp. 203– 226, 1982. Mitchell, T. M. Machine Learning, editora McGraw-Hill, 1997. Monllaó, C. Ontology-based information extraction. Master Thesis. Universitat Politècnica de Catalunya, 2011. Moens, M. Information Extraction: algorithms and prospects in a retrieval Context. The Information Retrieval Series, Secaucus, New Jersey, USA, 2003. Müller, H., Kenny, E., Sternberg, P. Textpresso: an ontology-based information retrieval and extraction system for biological literature. In PLoS Biology, vol. 2, issue 11, pp. 1984–1998, 2004. Myers, E. An O(ND) difference algorithm and its variations. Algorithmica, vol. 2, pp. 251–266, 1986. Nedellec, C., Nazarenko, A. Ontology and information extraction: a necessary symbiosis. Ontology Learning from Text: Methods, Evaluation and Applications. IOS Press, pp. 3-14, Amsterdam, Netherlands, 2005. Noy, N., McGuiness, D. Ontology Development 101: A guide to creating your first ontology. Knowledge Systems Laboratory – Stanford University, TR KSL-01-05, 2001. Oliveira, H., Lima, R., Gomes, J., Ferreira, R., Freitas, F., Costa, E. A confidenceweighted metric for unsupervised ontology population from Web Texts. In Proceedings of the 23rd International Conference on Database and Expert Systems Applications, pp. 176-190, Vienna, Austria, 2012a. Oliveira, H., Lima, R., Gomes, J., Freitas, F. A web-based method for ontology population. In Proceedings of the IADIS International Conference on WWW/Internet, Madri, Espanha, pp., 2012b. OWL 2.0. Disponível em: <http://www.w3.org/TR/owl2-overview/>. Acessado em: 03 março de 2013. Pedersen, T., Patwardhan, S., Michelizzi, J. WordNet::Similarity: measuring the relatedness of concepts. In Proceedings of the Nineteenth National Conference on Artificial Intelligence, pp. 1024-1025, San Jose, California, USA, 2004. 143 Pedersen, T., Pakhomov, S., Patwardhan, S., Chute, C. Measures of semantic similarity and relatedness in the biomedical domain. In Journal of Biomedical Informatics, vol. 40, issue 3, pp. 288-299, 2007. Pedersen, T. Information content measures of semantic similarity perform better without sense-tagged Text. In Proceedings of the 11th Annual Conference of the North American Chapter of the Association for Computational Linguistics, pp. 329-332, Los Angeles, USA, 2010. Petasis, G., Karkaletsis, V., Paliouras, G., Krithara, A., Zavitsanos, E. Ontology Population and Enrichment: state of the art. Lecture Notes in Computer Science, Knowledge-Driven Multimedia Information Extraction and Ontology Evolution, vol. 6050, pp. 134-166, 2011. Resnik, P. Using information content to evaluate semantic similarity in a taxonomy. In Proceedings of the 14th International Joint Conference on Artificial Intelligence, Montreal, Canada, 1995. Riloff, E. Information Extraction as a basis for Portable text classification sytems. PHD These, University of Massachusetts, Amherst, USA, 1994. Romano, R., Rokach, L., Maimon, O. Automatic discovery of regular expression patterns representing negated findings in medical narrative reports. In Proceedings of the 6th International Workshop on Next Generation Information Technologies and Systems, Springer, Berlin, 2006. Russell, S., Norvig, P. Artificial Intelligence: A Modern Approach. 2º ed., Prentice Hall/Pearson Education, 2003. Saggion, H., Funk, A., Maynard, D., Bontcheva, K. Ontology-based information extraction for business intelligence. In Proceedings of the 6th International and 2nd Asian Semantic Web Conference, Springer, Berlin, 2007. Sarawagi, S. Information Extraction. In Journal of Foundations and Trends in Databases, vol. 1, issue 3, pp. 261-377, 2008. Sánchez, D., Moreno, A. Pattern-based automatic taxonomy learning from the Web. In Journal Artificial Intelligence Communications, vol. 21, pp. 27-48., 2008. 144 Sánchez, D., Batet, M., Valls, A., Gibert, K. Ontology-driven web-based semantic similarity. In Journal of Intelligent Information Systems, vol. 35, issue 3, pp. 383-413, 2010. Soderland, S., Fisher, D., Aseltine, J., Lehnert, W. CRYSTAL: inducing a conceptual dictionary. In Proceedings of the 14th International Joint Conference on Artificial Intelligence, Montreal, Canada, 1995. Soderland, S. Learning information extraction rules for semi-structured and free text. In Journal of Machine Learning, vol. 34, pp. 233–272, 1999. Sowa, J. Knowledge Representation: logical, philosophical, and computational foundations. ed. Pacific Grouve: Books/Cole, 2000. Studer, R., Benjamins, V., Fensel, D. Knowledge engineering: principles and methods. In Journal of Data Knowledge Engineering, vol. 25, issues 1-2, pp.161-197, 1998. Surowiecki, J. The wisdom of crowds: why the many are smarter than the few and how collective wisdom shapes business, economies, societies, and nations. ed. Doubleday, New York, USA, 2004. Todirascu, A., Romary, L., Bekhouche, D. Vulcain – an ontology-based information extraction system. In Proceedings of the 6th International Conference on Applications of Natural Language to Information Systems, London, UK, 2002. Tomaz, H., Lima, R., Gomes, J., Freitas, F. An unsupervised method for ontology population from the Web. In Proceedings of the 13th Ibero-American Conference on Artificial Intelligence (IBERAMIA), pp. 41-50, Cartagena de Indias, Colombia, 2012. Turney, P. Mining the Web for synonyms: PMI-IR versus LSA on TOEFL. In Proceedings of the 12th European Conference on Machine Learning (ECML), pp. 491502, London, UK, 2001. Vargas-Vera, M., Motta, E., Domingue, J., Shum, S., Lanzoni, M. Knowledge extraction by using an ontology-based annotation tool. In Proceedings of the Workshop on Knowledge Markup and Semantic Annotation, New York, USA, 2001. Welty, C., Guarino, N. Supporting Ontological analysis of taxonomic relationship. In Journal of The Data and Knowledge Engineering, vol. 39, pp. 51-74, 2001. 145 Wimalasuriya, D., Dou, D. Ontology-based information extraction: an introduction and a survey of current approaches, In Journal of Information Science (JIS), vol. 36, issue 3, pp. 306-323, 2010. Wimalasuriya, D. Use of ontologies in information extraction. PHD These, University of Oregon, 2011. Wu, Z., Palmer, M. Verb semantics and lexical selection. In Proceedings of the 32nd Annual Meeting of the Association for Computational Linguistics, pp. 133–138, Las Cruces, New Mexico, USA, 1994. Wu, F., Weld, D. Automatically refining the Wikipedia infobox ontology. In Proceedings of the 17th International Conference on World Wide Web, New York, USA, 2008. Yildiz, B. Ontology-Driven Information Extraction. PHD These, Vienna University of Technology, 2007. Yildiz, B., Miksch, S. Motivating ontology-driven information extraction. In Proceedings of the International Conference on Semantic Web and Digital Libraries, pp. 45–53, Bangalore, India, 2007. Zhou, L. Ontology learning: state of the art and open issues. In Journal of Information Technology and Management, vol. 8, issue 3, pp. 241-252, 2007. 146