70
Extração e Consulta de Informações do Currículo Lattes baseada em Ontologias Eduardo Ferreira Galego Dissertação apresentada ao Instituto de Matemática e Estatística da Universidade de São Paulo para obtenção do título de Mestre em Ciências da Computação Área de Concentração: Ciência da Computação Orientadora: Prof a . Dr a . Renata Wassermann São Paulo, dezembro de 2013

Extração e Consulta de Informações do Currículo Lattes baseada

Embed Size (px)

Citation preview

  • Extrao e Consulta de Informaes doCurrculo Lattes baseada em Ontologias

    Eduardo Ferreira Galego

    Dissertao apresentadaao

    Instituto de Matemtica e Estatsticada

    Universidade de So Paulopara

    obteno do ttulode

    Mestre em Cincias da Computao

    rea de Concentrao: Cincia da ComputaoOrientadora: Profa. Dra. Renata Wassermann

    So Paulo, dezembro de 2013

  • Extrao e Consulta de Informaes doCurrculo Lattes baseado em Ontologias

    Esta verso da dissertao contm as correes e alteraes sugeridaspela Comisso Julgadora durante a defesa da verso original do trabalho,realizada em 06/11/2013. Uma cpia da verso original est disponvel no

    Instituto de Matemtica e Estatstica da Universidade de So Paulo.

    Comisso Julgadora:

    Profa. Dra. Renata Wassermann (orientadora) - IME-USP

    Prof. Dr. Jaime Simo Sichman - EP-USP

    Prof. Dr. Jess Pascual Mena-Chalco - CCMFT-UFABC

  • i

    -

  • ii

  • Agradecimentos

    Em primeiro lugar, agradeo a Deus por me conceder sabedoria, pacincia e vitalidade necessriapara poder chegar at aqui. Foram n vezes em que os pensamentos negativos e o cansao meabateram, entretanto foram n+ 1 em que Deus ajudou a superar os obstculos.

    Agradeo minha esposa Cntia pelas inmeras palavras de incentivo, por vezes ignoradas, masque foram extremamente necessrias para que pudessemos comemorar juntos mais esta vitria.

    Agradeo tambm minha famlia: Meu pai Donisete, minha me Eliana e minha irm Patrcia.Eles foram testemunhas de que no nada fcil concluir um mestrado.

    Agradeo pela minha orientadora Renata Wassermann por todo apoio, ateno e confiana.Uma grande parcela deste sucesso devido a ela, no qual no mediu esforos para auxiliar, sejapelas minhas visitas pela manh ou meus e-mails respondido durante a noite.

    Agredeo imensamente pela oportunidade de pertencer ao LIAMF (mesmo que comparado aum filho rebelde, que poucas vezes aparece em casa). Antes de entrar no IME-USP, foram inmerasvezes que visitava o site e sonhava em pertencer a esta equipe to especial.

    Aos colegas: Fabiano Luz, Felipe Martins, Rafael Will, Paulo Carlos Santos, Sylvio Azevedo,Lucas Vicente, Paulo de Tarso e Fillipe Resina, que me acompanharam durante esta jornada.

    todos os professores: Alair Pereira do Lago, Yoshiko Wakabayashi, Routo Terada, FlvioSoares, Marcelo Finger, Leliane Nunes de Barros e Francisco Reverbel. Cada um deles me auxiliouo formar uma nova concepo da Cincia da Computao.

    iii

  • iv

  • Resumo

    GALEGO, E. F. Extrao e Consulta de Informaes do Currculo Lattes baseado emOntologias. 2013. Dissertao (Mestrado) - Instituto de Matemtica e Estatstica, Universidadede So Paulo, So Paulo, 2013.

    A Plataforma Lattes uma excelente base de dados de pesquisadores para a sociedade brasileira,adotada pela maioria das instituies de fomento, universidades e institutos de pesquisa do Pas.Entretanto, limitada quanto exibio de dados sumarizados de um grupos de pessoas, como porexemplo um departamento de pesquisa ou os orientandos de um ou mais professores.

    Diversos projetos j foram desenvolvidos propondo solues para este problema, alguns inclusivedesenvolvendo ontologias a partir do domnio de pesquisa. Este trabalho tem por objetivo integrartodas as funcionalidades destas ferramentas em uma nica soluo, a SOS Lattes. Sero apresentadosos resultados obtidos no desenvolvimento desta soluo e como o uso de ontologias auxilia nasatividades de identificao de inconsistncias de dados, consultas para construo de relatriosconsolidados e regras de inferncia para correlacionar mltiplas bases de dados.

    Alm disto, procura-se por meio deste trabalho contribuir com a expanso e disseminao darea de Web Semntica, por meio da criao de uma ferramenta capaz de extrair dados de pginasWeb e disponibilizar sua estrutura semntica. Os conhecimentos adquiridos durante a pesquisa po-dero ser teis ao desenvolvimento de novas ferramentas atuando em diferentes ambientes.

    Palavras-chave:Web Semntica, Ontologias, Plataforma Lattes, Currculo Lattes, OWL, SPARQL,Inferncia.

    v

  • vi

  • Abstract

    GALEGO, E. F. Ontology-based Queries and Information Extraction from the LattesCV. 2013. Dissertao (Mestrado) - Instituto de Matemtica e Estatstica, Universidade de SoPaulo, So Paulo, 2013.

    The Lattes Platform is an excellent database of researchers for the Brazilian society , adoptedby most Brazilian funding agencies, universities and research institutes. However, it is limited asto displaying summarized data from a group of people, such as a research department or studentssupervised by one or more professor. Several projects have already been developed which proposesolutions to this problem, including some developing ontologies from the research domain.

    This work aims to integrate all the functionality of these tools in a single solution, SOS Lattes.The results obtained in the development of this solution are presented as well as the use of ontologiesto help identifying inconsistencies in the data, queries for building consolidated reports and rulesof inference for correlating multiple databases.

    Also, this work intends to contribute to the expansion and dissemination of the Semantic Web,by creating a tool that can extract data from Web pages and provide their semantic structure. Theknowledge gained during the study may be useful for the development of new tools operating indifferent environments.

    Keywords: Semantic Web, Ontologies, Lattes Plataform, Lattes CV, OWL, SPARQL, Inference.

    vii

  • viii

  • Sumrio

    Lista de Abreviaturas xi

    Lista de Figuras xiii

    1 Introduo 11.1 Motivao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.2 Objetivo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31.3 Pblico-alvo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41.4 Organizao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

    2 Web Semntica 52.1 Web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

    2.1.1 Protocolos e Linguagens . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52.1.2 Motores de Buscas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

    2.2 Web Semntica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

    3 Ontologias 93.1 Representao de Conhecimento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

    3.1.1 Ontologias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103.2 Linguagens de Descrio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

    3.2.1 XML e Linguagens Correlatas . . . . . . . . . . . . . . . . . . . . . . . . . . . 123.2.2 RDF / RDF Schema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133.2.3 OWL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153.2.4 OWL 2.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153.2.5 SPARQL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173.2.6 Ferramentas e Implementaes . . . . . . . . . . . . . . . . . . . . . . . . . . 18

    4 Plataforma Lattes 214.1 A Plataforma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

    4.1.1 Captao e Armazenamento dos Dados . . . . . . . . . . . . . . . . . . . . . . 214.1.2 Consultas de Dados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224.1.3 Limitaes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

    4.2 Trabalhos que Utilizam a Base Lattes . . . . . . . . . . . . . . . . . . . . . . . . . . 284.2.1 scriptLattes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284.2.2 OntoLattes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294.2.3 Exportao de Currculos para Outros Formatos . . . . . . . . . . . . . . . . 29

    ix

  • x SUMRIO

    4.2.4 Semantic Lattes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304.2.5 Projeto Sucupira . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

    5 SOS Lattes 335.1 Requisitos Funcionais e No-Funcionais . . . . . . . . . . . . . . . . . . . . . . . . . 335.2 Arquitetura . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 335.3 Funcionalidades . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

    5.3.1 Obteno dos Dados e Gerao das Instncias . . . . . . . . . . . . . . . . . . 355.3.2 Relatrios Consolidados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355.3.3 Uso de Propriedades Simtricas . . . . . . . . . . . . . . . . . . . . . . . . . . 365.3.4 Consultas em mais de uma base de dados . . . . . . . . . . . . . . . . . . . . 365.3.5 Propriedades Inferidas Utilizando Regras . . . . . . . . . . . . . . . . . . . . . 375.3.6 Sugesto para Incluso de Novos Membros . . . . . . . . . . . . . . . . . . . . 38

    6 Resultados 396.1 Acesso Inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 396.2 Carregar Dados da Base Lattes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 396.3 Lista de Membros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 406.4 Listagem de Produes Bibliogrficas . . . . . . . . . . . . . . . . . . . . . . . . . . . 406.5 Listagem de Orientaes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 426.6 Inconsistncias entre Orientaes e Formaes . . . . . . . . . . . . . . . . . . . . . . 426.7 Mdulo de Perguntas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

    7 Consideraes Finais 457.1 Concluso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 457.2 Trabalhos Futuros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

    Referncias Bibliogrficas 47

    Apndice A 49

    Apndice B 53

  • Lista de Abreviaturas

    AJAX JavaScript assncrono e XML (Asynchronous JavaScript and XML)API Interface de Programao de Aplicativos (Application

    Programming Interface)CONSCIENTIAS Comunidade para Ontologias em Cincia, Tecnologia e Informaes

    de Aperfeioamento de Nvel SuperiorCSS Folhas de Estilos em Cascata (Cascading Style Sheets)DTD Definio de Tipo de Documento (Document Type Definition)FTP Protocolo de Transferncia de Arquivos (File Transfer Protocol)HTTP Protocolo de Transferncia de Hipertexto (Hypertext Transfer Protocol)IME-USP Instituto de Matemtica e Estatstica da Universidade de So PauloIP Protocolo de Interconexo (Internet Protocol)IR Recuperao de Informao (Information Retrieval)JSON Notao de Objeto JavaScript (JavaScript Object Notation)LIAMF Laboratrio de Lgica, Inteligncia Artificial e Mtodos Formais (Logics,

    Artificial Intelligence and Formal Methods)OWL Linguagem de Ontologia Web (Web Ontology Language)RDF Framework de Descrio de Recursos (Resource Description Framework)RDFS RDF SchemaSGML Standard Generalized Markup LanguageSPARQL Protocolo SPARQL e Linguagem de Consulta RDF (SPARQL Protocol

    and RDF Query Language)SSL Protocolo de Camada de Sockets Segura (Secure Sockets Layer)TCP Protocolo de Controle de Transmisso (Transmission Control Protocol)TLS Segurana da Camada de Transporte (Transport Layer Security)URI Identificador de Recurso Uniforme (Uniform Resource Identifiers)URL Localizador Padro de Recursos (Uniform Resource Locator)W3C World Wide Web ConsortiumXML Linguagem de Marcao Extensvel (Extensible Markup Language)PL Plataforma LattesHTML Linguagem de Marcao de Hipertexto (HyperText Markup Language)XHTML Linguagem de Marcao de Hipertexto Extensvel (Extensible Hypertext

    Markup Language)

    xi

  • xii LISTA DE ABREVIATURAS

  • Lista de Figuras

    3.1 Exemplificao de uma estrutura tipo Dicionrio. . . . . . . . . . . . . . . . . . . . . 93.2 Exemplificao de uma estrutura tipo Thesaurus. . . . . . . . . . . . . . . . . . . . . 93.3 Exemplificao de uma estrutura tipo Taxonomia. . . . . . . . . . . . . . . . . . . . . 103.4 Camadas RDF e RDFS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133.5 Grafo representando um exemplo de base de conhecimento entre pessoas. . . . . . . . 17

    4.1 Pgina de um currculo, com nfase no identificador. . . . . . . . . . . . . . . . . . . 224.2 Tela principal da busca por currculo. . . . . . . . . . . . . . . . . . . . . . . . . . . . 224.3 Tela com o resultado da busca por Renata Wassermann . . . . . . . . . . . . . . . 234.4 Tela principal da busca avanada por currculo. . . . . . . . . . . . . . . . . . . . . . 234.5 Rede de Colaborao do professor Marcelo Finger. . . . . . . . . . . . . . . . . . . . 244.6 Tela principal do sistema Painel Lattes. . . . . . . . . . . . . . . . . . . . . . . . . . 254.7 Relatrio do Painel Lattes, contendo a Evoluo da Formao de Mestres. . . . . . . 264.8 Indicadores de Produo do currculo da Professora Doutora Renata Wassermann. . 274.9 Grafo de Colaborao entre Pesquisadores. . . . . . . . . . . . . . . . . . . . . . . . . 29

    5.1 Grfico representando a arquitetura do sistema e suas camadas. . . . . . . . . . . . . 345.2 Exemplo de uma propriedade inferida. . . . . . . . . . . . . . . . . . . . . . . . . . . 37

    6.1 Pgina Inicial. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 396.2 Pgina de membros do LIAMF do SOS Lattes. . . . . . . . . . . . . . . . . . . . . . 406.3 Pgina de Artigos Publicados. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 416.4 Pgina de Orientaes em Andamento. . . . . . . . . . . . . . . . . . . . . . . . . . . 426.5 Pgina de Inconsistncias. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 436.6 Exemplo de Pergunta e Resultados Obtidos. . . . . . . . . . . . . . . . . . . . . . . . 44

    xiii

  • xiv LISTA DE FIGURAS

  • Captulo 1

    Introduo

    Neste captulo vamos discutir a problemtica existente na Web referente a dificuldade de desen-volvimento de agentes de software para navegao e extrao de informaes. Discutiremos tambmo caso real de aplicao deste problema abordado neste trabalho, a Plataforma Lattes, bem comoas propostas de solues j desenvolvidas para sua resoluo. Ao final, constam os objetivos quepropomos atingir neste trabalho e o pblico-alvo.

    1.1 Motivao

    Diversos foram os benefcios que a Web trouxe para a sociedade. Inicialmente, ela foi concebidaapenas para compartilhar documentos (denominados pginas) e estabelecer vnculos entre estes(por meio de hiperlinks). As pginas disponibilizadas eram estticas, ou seja, no tinha interaocom o consumidor.

    Com o passar do tempo, a Web passou a oferecer uma interface de fcil comunicao entreconsumidores e produtores, tornando difcil definir seus papis (um exemplo bem conhecido so osblogs, em que um leitor pode expressar sua opinio sobre a postagem, fomentando a discusso). Aesta nova era na Web chamamos de Web 2.0.

    O termo Web 2.0 foi cunhado por Tim OReilly (apud. Governor et al. (2009)). Ele afirma Web2.0 revoluo dos negcios na indstria de computadores causada pelo movimento da internet comouma plataforma, e uma tentativa de entender as regras do sucesso desta nova plataforma. A regraprincipal a seguinte: a construo de aplicaes que aproveitem os efeitos da rede para que maispessoas possam utiliz-las.

    Todavia, houve tambm o crescimento colossal da quantidade de informao disponvel e aces-sada na rede. Este volume teve um crescimento ainda mais acelerado com o advento da Web 2.0 (apartir do ano de 2004).

    Segundo Allemang e Hendler (2008), uma informao web uma entidade orgnica que crescepor meio da Internet e pela energia da comunidade que a apoia. Pode-se afirmar, portanto, que aquantidade de informaes da Web cresce em proporo adoo e utilizao dos usurios.

    Stair e Reynolds (2009) afirmam que nos ltimos anos, a Web evoluiu de um recurso unidire-cional, em que os usurios apenas obtinham informaes, para um recurso bidirecional, em que osusurios obtm informaes e contribuem com elas.

    Baeza-Yates e Ribeiro-Neto (1999) chamam esta evoluo de Era e-Publishing. Eles afirmamque as pessoas podem publicar suas ideias na Web e atingir milhes de pessoas em uma noite,sem pagar nada por isto e sem ter que convencer um conselho editorial de uma grande empresa depublicao.

    Alm disto, Heath e Bizer (2011) citam que a habilidade para qualquer um adicionar novosdocumentos na Web e estes serem descobertos automaticamente pelos motores de buscas e pelosusurios em seus navegadores, tem sido (historicamente) os principais impulsionadores do cresci-mento explosivo da Web.

    1

  • 2 INTRODUO 1.1

    Os motores de buscas (descrito com mais detalhes na seo 2.1.2) foram uma das ferramen-tas que ganhou grande destaque na busca de informaes na Web. Dado que a Web cresce demodo mais rpido e extenso que qualquer outra coleo de textos anterior, os motores de bus-cas agora tem que gerenciar um volume de texto que excede 20 bilhes de pginas, afirmamBaeza-Yates e Ribeiro-Neto (1999).

    Entretanto, o que impede os motores de buscas evoluir na qualidade dos resultados a formacomo a Web disponibiliza seu contedo. Souza e Alvarenga (2004) afirmam que a nfase das tec-nologias e linguagens atualmente utilizadas nas pginas Web focaliza os aspectos de exibio eapresentao dos dados, de forma que a informao seja pobremente descrita e pouco passvel deser consumida por mquinas e seres humanos .

    Para solucionar este problema, surge uma alternativa proposta e motivada por Berners-Lee et al.(2001): A Web Semntica no uma Web separada, mas uma extenso da atual, na qual a informa-o fornecida com seu significado bem definido, permitindo que computadores e mquinas possamtrabalhar melhor em cooperao. Descrevemos mais detalhes sobre Web Semntica no captulo 2.

    Na Web Semntica, a tecnologia est mais preocupada com a forma em que os dados so dispo-nibilizados do que com a forma como so apresentados. Antoniou e Harmelen (2008) afirmam queuma vez que os dados da Web esto organizados nestas estruturas, pesquisas baseadas em palavas-chave sero substitudas por ferramentas que respondem perguntas. Esta estrutura denominadaontologia (descrito em detalhes no captulo 3).

    Neste trabalho procuramos aplicar os conceitos da Web Semntica dentro de um contexto debusca de informaes real: a Plataforma Lattes (PL).

    A Plataforma Lattes uma base de dados pblica, disponibilizada pelo CNPq (Conselho Naci-onal de Desenvolvimento Cientfico e Tecnolgico), que pretende reunir dados de currculos de pes-quisadores, grupos de pesquisas e instituies de ensino. Agncias de fomento, centros de pesquisase departamentos das universidades utilizam a plataforma para extrair dados dos pesquisadores paraanlise de currculos.

    Embora a Plataforma disponibilize diversas ferramentas para extrao de informaes, ela deixaa desejar quando solicitamos consultas sobre um conjunto especfico de pessoas como, por exemplo,os funcionrios de um departamento de pesquisa ou os orientandos de um grupo de orientadores.

    Diversos trabalhos propuseram a resoluo deste problema (descrito em detalhes no captulo 4),dentre eles o Semantic Lattes e o OntoLattes que estruturam os dados em forma de ontologia. OscriptLattes, no entanto, prov uma forma de exportar relatrios consolidados em pginas HTMLestticas, sem manter uma estrutura de dados.

    A tabela abaixo contm um resumo de funcionalidades alvo e em quais ferramentas so encon-tradas:

  • 1.3 OBJETIVO 3

    Tabela 1.1: Tabela Comparativa de Funcionalidades e Ferramentas.

    Funcionalidade scriptLattes Semantic Lattes OntoLattes Projeto SucupiraExtrao dos dados da plata-forma (XML e HTML)

    Relatrios Consolidados deProdues Bibliogrficas

    Relatrios Consolidados deOrientaes

    Consultas utilizando lingua-gem natural

    Dados estruturados em onto-logia

    Uso de regras de inferncia

    Deteco de inconsistnciasentre diferentes currculos

    Aps a anlise destas ferramentas, no captulo 5 propomos o desenvolvimento do SOS Lattes,que integra grande parte das funcionalidades existentes das ferramentas estudadas. Alm disto,adicionamos ferramenta a funcionalidade de deteco de inconsistncias e descoberta automticade conhecimento por meio de regras de inferncia.

    O nome SOS Lattes possui um dbio sentido: O acrnimo de Semantic Ontology-based ScriptLattes, as trs ferramentas utilizadas como base deste trabalho, e SOS devido nova funcionalidadede deteco de inconsistncia, considerada pelos autores um excelente auxlio.

    Este trabalho foi apresentado no X Encontro Nacional de Inteligncia Artificial e Computacional(ENIAC), em outubro de 2013.

    1.2 Objetivo

    O objetivo da presente dissertao a elaborao uma ferramenta, nos moldes da Web Semn-tica, que auxilie nas tarefas de extrao e consulta de informaes da Plataforma Lattes de umgrupo especfico de pessoas. Tambm procuramos neste trabalho reaproveitar as funcionalidadesexistentes em outras ferramentas existentes que tambm extraem dados do Currculo Lattes.

    Como objetivos especficos, procuramos adicionar as seguintes funcionalidades:

    Extrao dos dados da plataforma, seja por HTML ou XML (como j feito pelo scriptLattes).

    Capacidade de incluir novos currculos lista de membros (sem que, para isto, possamos terde desfazer dos dados j obtidos).

    Organizar os dados em forma em uma ontologia, para que pudssemos utilizar de regras deinferncia e fazer manuteno nos dados. Para isto, utilizamos as ontologias OntoLattes eSemantic Lattes.

    Exibir relatrios consolidados de produes bibliogrficas e orientaes (semelhante ao scrip tLat-tes).

    Relacionar dados existentes entre dois ou mais currculos e exibir inconsistncias.

    Reaproveitar consultas por meio de linguagem natural (j desenvolvido no Semantic Lattes).

  • 4 INTRODUO 1.4

    1.3 Pblico-alvo

    O pblico-alvo que buscamos atingir com este trabalho :

    Organizaes que lidam com informaes relacionadas aos pesquisadores: Agncias de fo-mento, centros de pesquisas e departamentos de universidades;

    Empresas e pessoas interessadas em Web Semntica;

    Cientistas na rea de Inteligncia Artificial, Lingustica, Engenharia de Software, Organizaoe Recuperao da Informao.

    1.4 Organizao

    Este documento est organizado da seguinte forma:

    O captulo 2 tem por objetivo apresentar os principais conceitos e tecnologias acerca do temaWeb e Web Semntica, para servir de arcabouo para o desenvolvimento do projeto.

    O captulo 3 apresenta os conceitos sobre ontologias (estruturas de dados utilizadas pelasaplicaes Web Semnticas).

    O captulo 4 apresenta o caso de uso investigado neste trabalho: A Plataforma Lattes. Iremosdiscorrer sobre suas ferramentas e limitaes. Tambm so tratados neste captulo os trabalhosque propuseram estender suas funcionalidades.

    O captulo 5 apresenta os esforos feitos no desenvolvimento da ferramenta SOS Lattes.

    No captulo 6 possvel consultar os resultados obtidos da ferramenta desenvolvida.

    No captulo 7 apresentamos as concluses deste trabalho, bem como as propostas de trabalhosfuturos.

    O Apndice A contm as consultas SPARQL criadas para a aplicao e o Apndice B contmas regras de inferncias.

  • Captulo 2

    Web Semntica

    Neste captulo descrevemos alguns dos conceitos aplicados Web e Web Semntica.

    2.1 Web

    World Wide Web (WWW), ou simplesmente Web, um espao de informaes na qual ositens de interesse, chamados de recursos, so localizados por um identificador global chamado deidentificador de recurso uniforme (URI). Em razo da vasta quantidade de informaes disponveisna Web e da ampla variedade de meios, tornou-se o meio mais popular de acesso s informaes.

    Ela foi desenvolvida por Tim Berners-Lee em 1989, inicialmente para ser um sistema internode gerenciamento de documentos. Desse modesto incio, cresceu para um conjunto de dezenas demilhes de computadores servidores que trabalham em conjunto como um nico.

    A Web foi construda sobre a plataforma da Internet, composta por uma srie de dispositivosinterconectados, computadores e redes e que trabalham de forma interopervel a partir de umconjunto de padres e protocolos, por exemplo: TCP/IP, TLS/SSL, FTP, etc. O fato da Web serhoje a maior rede de dispositivos conectados se d graas arquitetura em que a Internet foiconstruda. Governor et al. (2009) diz que a Internet , de fato, uma ambiente do tipo Bus (canalcompartilhado comum, atravs do qual as comunicaes podem ser encaminhadas para vrios nsregistrados); ou seja, componentes podem ser adicionados e excludos sem afetar o estado global dosistema. A Internet no precisa que todos os dispositivos estejam conectados simultaneamente.

    O World Wide Web Consortium (W3C1) uma comunidade internacional onde os membrosorganizadores (trabalhando em tempo integral) e o pblico somam esforos para desenvolver padrespara a Web. Liderado pelo inventor da Web Tim Berners-Lee e por Jeffrey Jaffe, o W3C tem amisso de liderar o WWW para o seu potencial mximo, desenvolvendo protocolos e diretrizes quegarantam o crescimento longo prazo da Web.

    2.1.1 Protocolos e Linguagens

    Na Web, assim que um Agente Web informa um URI em um navegador, esperado que oresultado obtido seja uma representao do recurso em algum formato padronizado, de forma queo navegador saiba renderizar os dados recebidos. Estes recursos esto armazenados em ServidoresWeb, todos conectados Internet. Dizemos formato padronizado pois um dos objetivos da Web,desde do incio, tem sido a construo de uma comunidade global, no qual qualquer um podecompartilhar informaes com qualquer outro. Para tanto, faz-se necessrio uma adoo global deprotocolos para facilitar esta interao.

    Normalmente a representao dos recursos so disponibilizados em formato de pginas Web,formatadas por meio de hipertexto (documentos que podem ser compostos por textos, imagens,sons, vdeos, animao, aplicativos e vnculos para outros documentos).

    Dentre os protocolos mais amplamente difundidos desenvolvidos pela W3C esto:1http://www.w3.org/Consortium/

    5

    http://www.w3.org/Consortium/

  • 6 WEB SEMNTICA 2.1

    1. HTTP : Hypertext Transfer Protocol, ou Protocolo de Transferncia de Hipertexto, um proto-colo de mensagens baseado em textos construdo sobre outro protocolo (TCP/IP TransmissionControl Protocol / Internet Protocol ou Protocolo de Controle de Transmisso / Protocolode Interconexo) e manipula as aes solicitadas dos navegadores Web para interagir comrecursos Web (Governor et al. (2009)).

    2. HTML: Hypertext Markup Language, ou Linguagem de Marcao para Hipertexto, um pa-dro de linguagem baseado em rtulos (tags) em que as pginas Web so escritas. Por meio dertulos j pr-definidos, os navegadores so capazes de interpretar um documento em HTML erenderizar seu contedo, formando uma pgina Web. derivado de outra linguagem, chamadaSGML (Standard Generalized Markup Language).

    3. XML: Extensible Markup Language, ou Linguagem de Marcao Extensvel, um padro delinguagem baseado em rtulos, tambm derivado do SGML. Diferentemente do HTML, seusrtulos no so pr-definidos, mas extensveis utilizando DTD (Document Type Definition)ou XML Schema.

    4. XHTML: Definies dos rtulos HTML utilizando o padro XML.

    Protocolos e linguagens desenvolvidos por outras comunidades tambm possuem boa aceitaona Web, como por exemplo: JavaScript e JSON. Este primeiro trata-se de uma linguagem deprogramao utilizada pelos navegadores para alterar o contedo de um documento HTML ouXHTML, permitindo ainda solicitar recursos do servidor (conhecido como AJAX). JSON (JavascriptObject Notation) um formato de estrutura de dados compatvel com a linguagem JavaScript.

    2.1.2 Motores de Buscas

    Como descrito na seo 1.1, muitos foram os fatores que contriburam para o aumento exponen-cial na quantidade de dados na Web. Devido a esta evoluo, a rea de Recuperao de Informao(IR ou Information Retrieval) teve papel fundamental no desenvolvimento de tcnicas e propostasde solues para recuperar pginas Web.

    Uma das grandes contribuies foi o desenvolvimento de Motores ou Mquinas de Buscas. Seuprincipal objetivo percorrer as pginas Web, formar um enorme ndice e disponibilizar consultaspor palavras-chave aos usurios. Laudon e Laudon (2011) afirmam que as primeiras mquinas debusca eram simplesmente ndices de palavras-chave oriundas de todas as pginas que elas visitavam.

    Larry Page e Sergey Brin, ao criarem o motor de busca da Google2, adicionaram um algoritmode ordenao chamado PageRank System, que mede a popularidade de uma pgina Web calculandoquais outros sites fazem referncia para aquela pgina. Alm disto, o programa que vasculha a Web(tambm chamado de crawler) indexava no somente palavras-chave, mas tambm combinaes depalavras.

    Com o aumento na receita da publicidade pela Web, os motores de busca ganharam destaqueno chamado marketing de mquina de busca. Quando um usurio insere um termo de busca,recebe dois tipos de listas: os links patrocinados, quem levam ao site dos anunciantes que pagarampara ser listados; e os resultados de busca orgnicos, ou no patrocinados. Neste sentido, possvelvislumbrar a urgncia que o mercado possui para a criao de ferramentas que consigam captar,de maneira mais assertiva, a necessidade do usurio em visualizar resultados com o mximo derelevncia.

    Entretanto, segundo Souza e Alvarenga (2004), a nfase das tecnologias e linguagens atualmenteutilizadas nas pginas Web focaliza os aspectos de exibio e apresentao dos dados, de forma quea informao seja pobremente descrita e pouco passvel de ser consumida por mquinas e sereshumanos.

    2www.google.com

    www.google.com

  • 2.2 WEB SEMNTICA 7

    Berners-Lee et al. (2001) confirmam ao dizer que grande parte do contedo disponvel hojena Web projetado para leitura humana, e no para programas de computadores que manipu-lam significados. Isto dificulta o trabalho dos motores de buscas, empobrecendo a qualidade dasconsultas.

    2.2 Web Semntica

    Para solucionar este problema, surge uma alternativa proposta e motivada por Berners-Lee et al.(2001): A Web Semntica no uma Web separada, mas uma extenso da atual, na qual a in-formao fornecida com seu significado bem definido, permitindo que computadores e mquinaspossam trabalhar melhor em cooperao.

    Antoniou e Harmelen (2008) citam que o objetivo da Web Semntica representar o contedoda web de uma forma que seja mais fcil para mquinas processarem e usar tcnicas inteligentesque se beneficie destas representaes.

    Abaixo consta um exemplo simples (porm didtico) de como funciona a Web Semntica, adap-tado do site How Stuff Works3:

    Digamos que algum esteja interessado na compra de um determinado item pela Web e tenhaalguns critrios bsicos, como: Modelo, cor, menor preo disponvel no mercado; precisa ser novo;no gostaria de pagar caro para entrega, mas no gostaria de esperar muito.

    A rotina para executar esta tarefa atravs da Web como conhecemos hoje seria olhar diversossites de compras de varejistas, comparando preos e condies de entrega. Alm disto, poderamosutilizar e-Shopping Agregation, sites que oferecem uma lista de ofertas de diferentes fornecedorese varejistas para um determinado item, como o Buscap4 e Zoom5. Uma vez escolhido o local decompra e as condies, ainda seria necessrio fazer todo o trabalho para compra (como cadastro nosite, montagem e finalizao do pedido de venda e pagamento).

    Na Web Semntica, um agente de software receberia suas preferncias e condies de compras.Este, ento ,ir pesquisar na Web, encontrando a melhor opo e far o pedido. Este ainda podeinformar em um software de finanas pessoais o gasto e incluir na agenda o dia da chegada doitem. Este agente tambm ir aprender sobre os hbitos e preferncias para utilizar nas prximascompras.

    Neste caso, o agente no ir observar pginas Web como o humano faz: Lendo textos e interpre-tando figuras. Sua pesquisa ser feita por meio dos metadados (dados sobre dados; captura parte dosignificado dos dados) que identificam de forma clara o que o agente precisa saber. ParafraseandoTim Berners-Lee, estas ferramentas transformaro a Web - atualmente similar a um enorme livro -em uma enorme base de dados.

    Para que isto se torne realidade, Antoniou e Harmelen (2008) citam as tecnologias necessriaspara sua implementao:

    Metadados Explcitos No objetivo da Web Semntica desenvolver agentes superinteligentescapazes de ler pginas Web da mesma forma que humanos leem. Ao invs disto, propem adici-onar mais contedo s pginas, adicionando metadados. Estes sero utilizados para identificare extrair informaes das fontes da Web.

    Ontologias Tipicamente, ontologias consistem de uma lista finita de termos e seus relacionamentos.Estes termos denotam importantes conceitos (classes de objetos) de um domnio. Estes seroutilizados como suporte nas buscas na Web, interpretar as informaes coletadas e comunicarcom outros agentes (discorreremos sobre este assunto em detalhes no captulo 3).

    Lgica O uso de reasoners (raciocinadores) automticos, que podem deduzir (inferir) concluses apartir de um determinado conhecimento, so importantes para a Web Semntica no sentido de

    3http://computer.howstuffworks.com/semantic-web1.htm4http://www.buscape.com.br/5http://www.zoom.com.br/

  • 8 WEB SEMNTICA 2.2

    prover explicaes de suas concluses. Isto permitir a construo de agentes Web semnticosmais confiveis aos usurios.

    Agentes So fragmentos de software que trabalham de forma autnoma e pr-ativa. No se tratade agentes que iro substituir os usurios, mas que os auxiliaro nas tarefas de: vasculharinformaes na Web, comunicar-se com outros agentes, comparar informaes sobre as ne-cessidades e preferncias do usurio, selecionar certas escolhas e dar opes de escolhas aousurio.

    O prximo captulo apresenta os conceitos que serviro de arcabouo para criao de ferramentaspara a Web Semntica.

  • Captulo 3

    Ontologias

    Esta seo tem por objetivo apresentar os principais conceitos e tecnologias disponveis naliteratura sobre ontologia.

    3.1 Representao de Conhecimento

    King e Reinold (2009) descrevem as estruturas mais comuns utilizadas para organizar informa-o eletrnica:

    Dicionrio: A principal proposta do dicionrio a definio de conceitos, haja vista quepodem existir uma ou mais definies para cada termo. Alguns dicionrios tambm exibemrelaes entre os conceitos, como sinnimo e antnimo. A figura 3.1 apresenta o conceito dedicionrio em formato grfico:

    Figura 3.1: Exemplificao de uma estrutura tipo Dicionrio.

    Thesaurus: Seu objetivo listar palavras e seus sinnimos (um conceito igual ou similar aoutro conceito, no qual igual a um terceiro, quarto e quinto conceito). Alm da similaridade,pode-se incluir uma lista com mais relaes, como antnimo, referncia cruzada, derivao,variante e termo mais geral e mais especfico. Sua limitao est no fato de no prover adefinio e a maioria dos relacionamentos so construdos por igual ao, oposto ao, mais geraldo que e mais especfico do que. A figura 3.2 apresenta o conceito de forma grfica:

    Figura 3.2: Exemplificao de uma estrutura tipo Thesaurus.

    Taxonomia: A principal proposta da taxonomia posicionar conceitos de forma hierrquica,na qual cada conceito aparece, de preferncia, em apenas uma categoria. A estrutura definidana maneira como um conceito engloba outro conceito, em que engloba outro, estabelecendo

    9

  • 10 ONTOLOGIAS 3.1

    um agrupamento de conceitos mais especficos e mais generalizados. A figura 3.3 exemplificao conceito de taxonomia:

    Figura 3.3: Exemplificao de uma estrutura tipo Taxonomia.

    3.1.1 Ontologias

    King e Reinold (2009) tambm afirmam que nenhuma das estruturas citadas na seo anterioroferecem definio, relacionamento e classificao ao mesmo tempo. Ontologias combinam elementosdas trs estruturas, permitindo a capacidade de explorao por todos estes ngulos.

    Gruber (1993) define ontologia como uma especificao explcita de uma conceitualizao.Studer (apud Antoniou e Harmelen (2008)) refina esta definio como uma especificao explcitae formal de uma conceitualizao.

    O trabalho de Guarino e Giaretta (1995) foi elucidar as implicaes das diversas interpretaesde termos como ontologia, conceitualizao e compromisso ontolgico. Seu objetivo foi definir umaterminologia clara para ser utilizada na comunidade de Engenharia do Conhecimento. Segundo eles:

    Ontologia (com O maisculo) o ramo da filosofia que lida com a natureza e a organizaoda realidade.

    ontologia (com o minsculo) pode significar tanto uma teoria lgica de uma explicitao,explicao parcial de uma conceitualizao, quanto sinnimo de conceitualizao.

    Conceitualizao uma estrutura semntica intencional que codifica as regras implcitas erestringe a estrutura de parte da realidade.

    Linguagens

    Antoniou e Harmelen (2008) apresenta uma lista das mais importantes linguagens para Webque lidam com ontologias:

    RDF: Modelo de dados para objetos (recursos) e suas relaes. Prov uma semntica simplese podem ser representados por XML.

    RDF Schema: a linguagem de descrio do vocabulrio para descrever propriedades e classesde recursos RDF.

    OWL: uma linguagem de descrio de ontologias mais rica.

    Suposio

    Antoniou e Harmelen (2008) destacam duas suposies importantes para ontologias aplicadas Web Semntica, devido ao fato do conhecimento ser distribudo ao longo da Web. So elas:

  • 3.2 LINGUAGENS DE DESCRIO 11

    Suposio de mundo aberto Diz que ns no podemos concluir que alguma afirmao x sejafalsa simplesmente porque ns no podemos mostrar que x verdadeira. Em outras palavras,ns no conclumos falsidade a partir da ausncia da verdade. Um exemplo: Se perguntarmosChoveu em Tquio ontem?, a suposio de mundo aberto diria Eu no sei se choveu, masisto no o bastante para concluir que no tenha chovido.

    Suposio de nomes no nicos Diz que dois nomes diferentes podem referenciar o mesmo indi-viduo. Em um cenrio social, em que os nomes Prof. van Harmelen e Frank dizem respeitoa mesma pessoa, esta suposio faz sentido. Entretanto, em certos cenrios esta suposiopode causar inconsistncia, como por exemplo cdigos de produtos em um catlogo, em quepodemos afirmar que dois produtos so conhecidos por diferentes cdigos.

    Lgica e Regras de Inferncia

    Antoniou e Harmelen (2008) definem lgica como sendo a disciplina que estuda os princpios doraciocnio. Em geral, lgica oferece:

    1. Conhecimento expresso por uma linguagem formal.

    2. Semntica formal compreensvel. Na maioria das lgicas, o significado das sentenas definidosem a necessidade de operacionalizar o conhecimento.

    3. Reasoners (motores de inferncia) podem deduzir (inferir) a partir de um dado conhecimento,explicitando assim conhecimento implcito.

    Segundo Berners-Lee et al. (2001), Regras de inferncia em ontologias fornecem mais possibi-lidades. Uma ontologia pode expressar a regra: Se o cdigo de uma cidade est associado a umcdigo de estado, e um endereo possui um cdigo de cidade, ento um endereo tem associaocom o cdigo de estado. O computador no entende verdadeiramente as informaes, mas podemanipular os termos com muito mais eficcia, em se tratando de utilidade e significado, para osusurios humanos.

    Costa e Yamate (2009) descrevem que, para que seja possvel realizar inferncias com umaontologia e obter o contedo das informaes, necessrio que essa representao seja compostapor:

    Classes que descrevem os conceitos;

    Relacionamentos entre as classes;

    Propriedades das classes, e seus valores permitidos;

    Axiomas que representam as sentenas para restringirem o conhecimento;

    Instncias de elementos individuais das classes para compor a base de conhecimento.

    3.2 Linguagens de Descrio

    Antoniou e Harmelen (2008) afirmam que os principais requisitos de uma linguagem utilizadapara descrever ontologias so:

    uma sintaxe bem definida;

    uma semntica formal;

    convenincia (facilidade) de expresso;

    suporte a raciocnio eficiente;

  • 12 ONTOLOGIAS 3.2

    suficiente poder de expresso (cobre casos suficientes).

    As sees a seguir descrevem as principais linguagens utilizadas na Web Semntica para com-partilhamento de informaes e conhecimento.

    3.2.1 XML e Linguagens Correlatas

    XML (extensible markup language) um formato de texto baseado em marcaes (tags), criadopela W3C.

    Segundo a especificao1, um objeto de dados um documento XML se este est bem formatadoe se cumpre certas restries adicionais. Podemos dizer que um documento est bem formatado se:

    Observando-o como um todo, corresponde a um documento rotulado.

    Atende a todas as restries de boa formatao presente na especificao.

    Cada uma das entidades referenciadas no documento (seja direta ou indiretamente) tambmesto bem formatadas.

    Castao (2008) comenta que XML tem por objetivo principal facilitar o compartilhamento dedados estruturados atravs de sistemas de informaes diferentes, principalmente via internet.

    Este formato aplicado para representao de estruturas em geral, no se limitando apenas emrepresentar ontologias.

    Antoniou e Harmelen (2008) citam que a principal vantagem do XML sobre o HTML que aprincipal utilizao do segundo apresentar informaes, sendo que o primeiro separa o contedoda formatao. Alm disto, XML uma metalinguagem de marcao, ou seja, no tm a funo defixar um conjunto de marcaes (como HTML faz), mas permite aos usurios definir suas prprias.Eles apresentam um exemplo de cdigo XML (adaptado para melhor compreenso):

    1 2 3 Inteligncia Artificial4 5 6 Stuart Russel7 8 9 Peter Norvig

    10 11 12 Elsevier13 14 15 200416 17 18 85-352-1177-219 20

    Tanto arquivos HTML quanto XML so facilmente compreendidos por leitores humanos. En-tretanto, documentos XML so mais acessveis por mquinas porque cada bloco de informao descrito. No exemplo acima, a mquina capaz de deduzir que o elemento autor refere-se aoelemento livro.

    Para definir as estruturas de documentos XML, so utilizadas duas outras linguagens: DTD eXML Schema. A primeira mais antiga e mais restrita, como por exemplo tipo de dados delimitadosapenas como textos. J XML Schema oferece uma linguagem mais rica porque ela mesma baseadaem XML, logo prov um importante ganho de legibilidade e permite reuso de tecnologia. Alm disto,

    1http://www.w3.org/TR/REC-xml/

    http://www.w3.org/TR/REC-xml/

  • 3.2 LINGUAGENS DE DESCRIO 13

    com XML Schema podemos definir novos tipos, estendendo ou restringindo tipos j existente, eprov um sofisticado conjunto de tipo de dados.

    XSLT uma linguagem de transformao de documentos XML em outros documentos.Antoniou e Harmelen (2008) afirmam que XSLT especifica regras com as quais um documento

    XML de entrada transformado em outro documento XML, um documento HTML ou um textosimples.

    3.2.2 RDF / RDF Schema

    Costa e Yamate (2009) definem RDF como uma linguagem criada para ser utilizada na repre-sentao de recursos usado um vocabulrio formal. As propriedades destes recursos so especificadasatravs de declaraes (statements), que so expressas atravs de triplas. Uma tripla RDF formadapor: Um sujeito, um predicado e um objeto.

    Antoniou e Harmelen (2008) afirmam que embora seja frequentemente chamado de linguagem,RDF essencialmente um modelo de dados. Seu bloco de construo padro so triplas objeto-atributo-valor, chamados de declaraes. Tais declaraes precisam de uma sintaxe concreta para serrepresentada e transmitida, e RDF tem sido amplamente representado utilizando XML (denominadoRDF/XML). Entretanto, importante ressaltar que representaes sintticas no baseadas emXML tambm so possveis, como veremos a seguir.

    Souza e Alvarenga (2004) listam alguns benefcios do padro RDF:

    Prov um ambiente consistente para a publicao e utilizao de metadados na web utilizandoa infra-estrutura do XML;

    Prov uma sintaxe padronizada para a descrio dos recursos e propriedades dos documentosna Web;

    Permite que aplicaes possam agir de forma inteligente e automatizada sobre as informaespublicadas na Web, uma vez que seus significados so mais facilmente inteligveis.

    Em RDF Schema podemos definir o vocabulrio, especificar quais propriedades so aplicadasa quais tipos de objetos e os valores que estes podem assumir, e descrever o relacionamento entreobjetos.

    Para exemplificar as diferenas entre RDF e RDFS, Costa e Yamate (2009) apresentam a figura3.4.

    Figura 3.4: Camadas RDF e RDFS.

    Um exemplo de RDF expresso em uma sintaxe baseada em XML apresentado abaixo. Estedefine um professor e um curso:

  • 14 ONTOLOGIAS 3.2

    1 4 89

    10 11 Renata Wassermann12 Professor Associado13 1415 16 17 Introduo Inteligncia Artificial18 20

    As linhas 5 a 7 definem trs namespaces que sero utilizados nas prximas declaraes. Eles soreferncias a documentos contendo outras declaraes, auxiliando na tarefa de reuso de recursos.

    As linhas 9 a 13 definem uma instncia da classe professor, definindo as propriedades uni:nomee uni:titulo. As linhas 15 a 20 define uma instncia da classe curso, definindo as propriedadesuni:nomeCurso e uni:ehLecionadoPor. Todas as propriedades so referenciadas por um valor literal,com exceo deste ltimo, que contm uma referncia instncia professor.

    As mesmas declaraes acima so expressas abaixo utilizando outra forma de notao, chamadaNotation 3 ou N3 2:

    1 @prefix uni: .2 @prefix rdf: 34 5 rdf:type uni:professor;6 uni:nome "Renata Wassermann";7 uni:titulo "Professor Associado" .89

    10 rdf:type uni:curso;11 uni:nomeCurso "Introduo Inteligncia Artificial";12 uni:ehLecionadoPor13 .

    A notao N3 equivalente a notao RDF-XML, porm sua estrutura facilita o entendimentopara leitura humana.

    O W3C concebiu uma sintaxe textual para RDF chamada de Turtle3 que permite que grafosRDF sejam completamente escritos em um formulrio de texto natural e compacto, com abreviaespara os padres e tipo de dados mais utilizados. Trata-se de um subconjunto da sintaxe N3.

    Um exemplo de outra notao (baseada em N3) chamada N-Triple4 mostrado abaixo:

    1 2 "Renata Wassermann" .3 4 "Professor Associado" .5 6 7

    2http://www.w3.org/DesignIssues/Notation3.html3http://www.w3.org/TR/turtle/4http://www.w3.org/TR/n-triples/

    http://www.w3.org/DesignIssues/Notation3.htmlhttp://www.w3.org/TR/turtle/http://www.w3.org/TR/n-triples/

  • 3.2 LINGUAGENS DE DESCRIO 15

    89

    10 11 "Introduo Inteligncia Artificial".12 13 14 .15 16 17

    3.2.3 OWL

    Segundo Antoniou e Harmelen (2008), Web Ontology Language - Linguagem de Ontologia Web(OWL) foi estabelecido pelo Grupo de Trabalho em Ontologia para Web do W3C como linguagempadro para descrio de ontologia para a Web Semntica. Ela o fruto da fuso de duas outraslinguagens de descrio: DAML-ONT5 e OIL6. Por isto, inicialmente, era conhecida como DAML-OIL7.

    Antoniou e Harmelen (2008) dizem que a linguagem OWL pode ser entendida como uma exten-so do RDF Schema, utilizando dos conceitos j definidos (como rdfs:Class e rdfs:subClass)com objetivo de aumentar sua expressividade, tornando-a mais rica.

    A linguagem com todos os recursos (chamada de OWL Full) totalmente compatvel comRDF, tanto sintaticamente quanto semanticamente: Qualquer documento RDF legal tambm umdocumento OWL Full legal, e qualquer concluso RDF/RDFS vlida tambm uma conclusoOWL Full vlida. Entretanto, OWL Full, ao mesmo tempo que poderosa, tambm indecidvel,ou seja, no existe atualmente um motor de inferncia que seja completo e eficiente.

    Para contornar o problema, o W3C props outras linguagens derivadas da OWL: OWL DL(description logic lgica de descrio) e OWL Lite. Embora estes tenham algumas restries nouso dos recursos (o que ocasiona expressividade restrita e perca da completa compatibilidade comRDF), possuem motores de inferncia mais eficientes.

    3.2.4 OWL 2.0

    Em 2009, o W3C estendeu as funcionalidades do OWL, definindo uma nova linguagem chamadaOWL 2 (por causa disto, a definio anterior agora chamada OWL 1). Os documentos tcnicosde definies podem ser encontrados no site do W3C OWL Working Group8.

    A compatibilidade do OWL 2 com OWL 1 total e completa: Toda ontologia no formato OWL 1permanece vlida para OWL 2, com inferncias idnticas em todos os casos prticos.

    Foram inclusas novas funcionalidades. Algumas destas so acar sinttico (por exemplo: uniodisjunta de classes), enquanto outras oferecem novas funcionalidades, como:

    Definies de chaves para identificar indivduos de forma nica, por exemplo: CPF de umapessoa, nmero da placa e estado para um veculo automotivo.

    Propriedades em cadeia: Prov uma forma de definir propriedades a partir de uma composiode outras propriedades. Por exemplo: para definirmos a propriedade TIO, podemos utilizaras propriedades PAI e IRMO.

    Tipo de dados mais ricos, faixa de dados.

    Restries de cardinalidade qualificadas.5http://www.daml.org/2000/20/daml-ont.html6http://www.ontoknowledge.org/oil/7http://www.daml.org/2001/03/daml+oil-index.html8http://www.w3.org/TR/owl2-overview/

    http://www.daml.org/2000/20/daml-ont.htmlhttp://www.ontoknowledge.org/oil/http://www.daml.org/2001/03/daml+oil-index.htmlhttp://www.w3.org/TR/owl2-overview/

  • 16 ONTOLOGIAS 3.2

    Propriedades assimtricas, reflexivas e disjuntas.

    Estende o uso de anotaes, como um comentrio ou uma descrio, permitindo aplicar naontologia, entidades, indivduos annimos, axiomas e nas prprias anotaes.

    Foram definidos tambm trs novos perfis (ou sub-linguagens):

    OWL 2 EL: capaz de executar algoritmos em tempo polinomial para todas as tarefaspadres de raciocnio. particularmente adequado para aplicaes com grandes ontologias,nas quais capacidade de expresso pode ser trocada por garantia de performance.

    OWL 2 QL: capaz de retornar consultas conjuntivas em tempo LogSpace usando tecnologiade banco de dados relacional. particularmente adequado para aplicaes nas quais ontologiasrelativamente leves so usadas para organizar um extenso nmero de indivduos e nas quais til ou necessrio acessar dados diretamente via consultas relacionais (exemplo: SQL).

    OWL 2 RL: capaz de executar algoritmos de raciocnio em tempo polinomial usandotecnologias de banco de dados com regras estendidas diretamente sobre as triplas RDF. particularmente adequado para aplicaes que exigem alto grau de raciocnio (por meio deregras de inferncia) sem, no entanto, comprometer o poder de expressividade.

    A especificao tambm define uma sintaxe chamada de Estilo-Funcional ( Functional-StyleSyntax )9. Segue abaixo algumas declaraes descritas nesta sintaxe:

    1 Prefix(rdf:=)2 Ontology(34 Declaration(5 NamedIndividual())6 ClassAssertion(7 8 )9 DataPropertyAssertion(

    10 11 "Renata Wassermann")12 DataPropertyAssertion(13 14 "Professor Associado")1516 Declaration(17 NamedIndividual())18 ClassAssertion(19 20 )21 DataPropertyAssertion(22 23 24 "Introduo Inteligncia Artificial")25 ObjectPropertyAssertion(26 27 28 )29 )

    Foi adicionada tambm uma nova sintaxe, chamada OWL 2 Manchester10. uma sintaxemais amigvel, definida para ser facilmente lida por usurios no-lgicos. J existia na verso OWL 1,mas foi atualizada e formalmente adicionada na verso 2. Segue abaixo exemplo de expresses nestasintaxe:

    9http://www.w3.org/TR/owl2-syntax/10http://www.w3.org/TR/owl2-manchester-syntax/

    http://www.w3.org/TR/owl2-syntax/http://www.w3.org/TR/owl2-manchester-syntax/

  • 3.2 LINGUAGENS DE DESCRIO 17

    1 Prefix: rdf: 23 Ontology: 45 Individual: 6 Types:7 8 Facts:9

    10 ,11 12 "Introduo Inteligncia Artificial"1314 Individual: 15 Types:16 17 Facts:18 "Renata Wassermann",19 "Professor Associado"

    3.2.5 SPARQL

    Segundo a especificao11, SPARQL (atualmente na verso 1.1) um conjunto de especificaesque prov linguagens e protocolos para consultar e manipular grafos RDF disponveis na Web ouem uma base de dados RDF. Assumindo que os dados estejam carregados em um servio SPARQL,a linguagem de consultas SPARQL 1.1 pode ser usada para formular consultas que vo desde umsimples esquema de reconhecimento de padres at consultas complexas.

    O documento tambm apresenta um exemplo de consulta (adaptado para o portugus):

    1 PREFIX foaf: 2 SELECT ?nome (COUNT(?amigo) AS ?numeroamigos)3 WHERE {4 ?pessoa foaf:nome ?nome .5 ?pessoa foaf:conhece ?amigo .6 } GROUP BY ?pessoa ?nome

    Neste exemplo (tirado de um cenrio de redes sociais), a consulta ir retornar o nome e o nmerode pessoas que so seus amigos, podendo ser em diferentes formatos: XML, JSON (JavaScript ObjectNotation), CSV (Comma Separated Values) e TSV (Tab Separated Values).

    Considerando que temos como exemplo uma base de conhecimento expressa na figura 3.5 emformato de grafos:

    Figura 3.5: Grafo representando um exemplo de base de conhecimento entre pessoas.

    11http://www.w3.org/TR/sparql11-overview/

    http://www.w3.org/TR/sparql11-overview/

  • 18 ONTOLOGIAS 3.2

    Segue abaixo um exemplo do resultado da consulta acima no formato CSV:

    1 nome,numeroamigos2 Alice,33 Bob,14 Charlie,1

    A especificao tambm define uma linguagem de manipulao de dados, chamada de Linguagemde Atualizao SPARQL 1.1. No documento, so definidas as operaes de atualizao, criao eremoo de grafos RDF na base de dados RDF. O comando a seguir solicita ao servio SPARQL ainsero de uma nova amiga para Alice chamada Dorothy e, posteriormente, apaga todos os nomesdos amigos de Alice que falam ingls:

    1 PREFIX foaf: 23 INSERT DATA { 4 foaf:conhece [ foaf:nome "Dorothy" ].5 } ;67 DELETE { ?pessoa foaf:nome ?mbox }8 WHERE { 9 foaf:conhece ?pessoa .

    10 ?pessoa foaf:nome ?nome11 FILTER ( linguagem(?nome) = "EN" ) .12 }

    3.2.6 Ferramentas e Implementaes

    Abaixo iremos apresentar algumas das implementaes existentes para manipular base de dadosbaseadas em ontologias utilizadas neste trabalho

    Frameworks

    Apache Jena12 um Framework Java para construo de aplicaes Web Semnticas. Jenaprov uma coleo de ferramentas e bibliotecas Java para ajudar no desenvolvimento de aplicaes,ferramentas e servidores para Web Semnticas e Linked-data. Este contm:

    Uma API para leitura, processamento e escrita de dados RDF nos formatos XML, N3 e Turtle.

    Uma API de manipulao de ontologias OWL e RDFS.

    Um motor de inferncias baseado em regras para base de dados RDF e OWL.

    Permite armazenar eficientemente um alto nmero de triplas RDF em disco.

    Um motor de consultas compatvel com a ltima especificao SPARQL.

    Servidores que permitem publicar dados RDF para outras aplicaes utilizando uma variedadede protocolos, incluindo SPARQL.

    OWL API 13 outra API Java open source e implementao de referncia para criao, mani-pulao e serializao de ontologias OWL. Sua ltima verso j implementa OWL 2.0. Este incluios seguintes componentes:

    Uma API para OWL 2.0.

    Interpreta textos nos seguintes formatos: RDF/XML, OWL/XML, Sintaxe funcional OWL,Turtle, KRSS e OBO Flat.

    12http://jena.apache.org/13http://owlapi.sourceforge.net/

    http://jena.apache.org/http://owlapi.sourceforge.net/

  • 3.2 LINGUAGENS DE DESCRIO 19

    Interfaces para os reasoners FaCT++, HermiT, Pellet e Racer.

    RDFLib14 um pacote desenvolvido em Python para trabalhar com RDF, contendo:

    Serializadores e analizadores para diversos formatos: RDF/XML, N3, N-Quads, Turtle, TriX,RDFa e Microdata.

    Implementaes para armazenamento em memria e persistncia utilizando Berkeley DB(banco de dados embarcado).

    Suporte a ltima especificao da Linguagem de Consultas e Atualizao SPARQL.

    Motores de Inferncia

    Segundo Dentler et al. (2011), um motor de inferncia (ou reasoner) um programa que infereconsequncias lgicas a partir de um conjunto de afirmaes ou axiomas explicitamente declarados.A seguir esto alguns exemplos de motores de inferncias disponveis:

    Pellet Mantido pela empresa Clark & Parsia R, o reasoner Pellet15 foi o primeiro motor de infe-rncia que suportou todo OWL-DL e foi estendido para OWL 2.

    Fact++ Acrnimo de Fast Classification of Terminologies, o Fact++16 mantido pela Univer-sidade de Manchester. Suporta OWL-DL e um subconjunto de OWL 2. Foi implementadoutilizando C++ e com base em algoritmos otimizados de tableaux.

    HermiT mantido pela Universidade de Oxford, HermiT17 pode determinar se uma determinadaontologia consistente e identificar relaes de subsunes entre conceitos, entre outras ca-ractersticas. HermiT baseado no clculo Hiper tableau, o qual providencia raciocnio maiseficiente do que os algoritmos conhecidos anteriores. Suporta todos os perfis de OWL 2.

    RacerPro Verso comercial do software Racer (acrnimo deRenamedABox andConceptExpressionReasoner), o motor de inferncia RacerPro18 mantido pela empresa Racer Systems R. Im-plementa a lgica de descrio SHIQ e contm otimizaes dedicadas para OWL2-EL.

    Dentler et al. (2011) contm um comparativo entre os motores de inferncia citados acima eoutros, como: CEL, Snorocket e TrOWL.

    14https://rdflib.readthedocs.org15http://clarkparsia.com/pellet16http://code.google.com/p/factplusplus/17http://www.hermit-reasoner.com/18http://www.racer-systems.com/products/racerpro/

    https://rdflib.readthedocs.orghttp://clarkparsia.com/pellethttp://code.google.com/p/factplusplus/http://www.hermit-reasoner.com/http://www.racer-systems.com/products/racerpro/

  • 20 ONTOLOGIAS 3.2

  • Captulo 4

    Plataforma Lattes

    Nossa principal proposta aplicar os conceitos da Web Semntica dentro de um contexto realde busca de informaes. O estudo de caso escolhido o caso da Plataforma Lattes.

    O captulo a seguir apresenta a Plataforma Lattes, suas aplicaes, funcionalidades e limita-es. Apresentaremos tambm outras ferramentas que utilizam os seus dados e adicionam novasfuncionalidades.

    4.1 A Plataforma

    Plataforma Lattes uma base de dados pblica, disponibilizada pelo CNPq (Conselho Nacionalde Desenvolvimento Cientfico e Tecnolgico), que pretende reunir dados de currculos de pesqui-sadores, grupos de pesquisas e instituies de ensino. Agncias de fomento, centros de pesquisas edepartamentos das universidades utilizam a plataforma para extrair dados dos pesquisadores paraanlise de currculos.

    De acordo com a prpria pgina da Plataforma Lattes1, a disponibilizao pblica dos dadosda Plataforma na internet do maior transparncia e mais confiabilidade s atividades de fomentodo CNPq e das agncias que a utilizam, fortalecem o intercmbio entre pesquisadores e instituiese fonte inesgotvel de informaes para estudos e pesquisas. Na medida em que suas informaesso recorrentes e cumulativas, tm tambm o importante papel de preservar a memria da atividadede pesquisa no pas.

    4.1.1 Captao e Armazenamento dos Dados

    Pesquisadores podem preencher os dados do seu currculo atravs do endereo https://wwws.cnpq.br/cvlattesweb/pkg_cv_estr.inicio. Os dados podem ser:

    1. Dados pessoais do autor do currculo.

    2. Dados da formao acadmica e titulao.

    3. Atuaes profissionais.

    4. Trabalhos em projetos de pesquisa.

    5. Produes (bibliogrficas, tcnicas ou artsticas).

    6. Apresentaes em eventos.

    7. Orientaes em andamento ou concludas.1http://lattes.cnpq.br/

    21

    https://wwws.cnpq.br/cvlattesweb/pkg_cv_estr.iniciohttps://wwws.cnpq.br/cvlattesweb/pkg_cv_estr.iniciohttp://lattes.cnpq.br/

  • 22 PLATAFORMA LATTES 4.1

    Os dados preenchidos sero armazenados na Plataforma e disponibilizados publicamente naWeb, tanto em formato HTML quanto em XML. Entretanto, certos dados somente so exibidos noformato XML.

    A Comunidade para Ontologias em Cincia, Tecnologia e Informaes de Aperfeioamento deNvel Superior (CONSCIENTIAS) 2 responsvel pela concepo, elaborao, recomendao emanuteno das gramticas relacionadas s ontologias submetidas pelas agncias ou instituiesconselheiras. Um de seus trabalhos foi estabelecer a padronizao do formato XML dos CurrculosLattes.

    Cada currculo armazenado na base Lattes recebe um nmero identificador. Este nmero temespecial ateno neste trabalho, pois utilizado no momento da extrao dos dados do currculo.Podemos encontr-lo dentro do campo Endereo, conforme mostra a figura 4.1.

    Figura 4.1: Pgina de um currculo, com nfase no identificador.

    4.1.2 Consultas de Dados

    A Plataforma tambm disponibiliza uma ferramenta para busca de currculos, atravs do ende-reo http://buscatextual.cnpq.br/buscatextual/busca.do?metodo=apresentar.

    Os usurios que desejam procurar o currculo de alguma pessoa (seja ela professor, pesquisador,orientador, aluno, profissional etc.) armazenado na plataforma, podero faz-lo por meio de umabusca por nome. A figura 4.2 mostra a tela principal do sistema de busca:

    Figura 4.2: Tela principal da busca por currculo.

    2http://lmpl.cnpq.br/lmpl/

    http://buscatextual.cnpq.br/buscatextual/busca.do?metodo=apresentarhttp://lmpl.cnpq.br/lmpl/

  • 4.1 A PLATAFORMA 23

    Para exemplificar, digamos que o usurio deseja buscar o currculo Lattes da Professora DoutoraRenata Wassermann. Ao digitar o nome no campo de texto correspondente e solicitar a busca, osistema faz uma busca pelo nome do pesquisador. A figura 4.3 traz a tela com o resultado obtido:

    Figura 4.3: Tela com o resultado da busca por Renata Wassermann

    A figura 4.4 mostra a busca para a opo Avanada, caso um usurio deseje buscar um currculopor meio de palavras que estejam no currculo:

    Figura 4.4: Tela principal da busca avanada por currculo.

    Rede de Colaborao

    A Plataforma Lattes exibe, na prpria pgina do currculo, a rede de colaborao de um pes-quisador em forma de grafo, na qual os vrtices so os pesquisadores e as arestas so as co-autoriasou colaboraes.

  • 24 PLATAFORMA LATTES 4.1

    Por se tratar de uma ferramenta interativa, podemos navegar entre os pesquisadores, visuali-zando o seu currculo, as colaboraes, as reas de atuao e sua rede de colaborao. A figura 4.5apresenta um exemplo:

    Figura 4.5: Rede de Colaborao do professor Marcelo Finger.

    Painel Lattes

    A Plataforma oferece relatrios estatsticos sintticos dos dados armazenados por meio do en-dereo http://estatico.cnpq.br/painelLattes/.

    A figura 4.6 traz a tela principal do Painel Lattes:

    http://estatico.cnpq.br/painelLattes/

  • 4.1 A PLATAFORMA 25

    Figura 4.6: Tela principal do sistema Painel Lattes.

    Segundo a pgina do Painel Lattes3, o Painel Lattes oferece ao usurio informaes qualificadase atualizadas sobre a atuao de pesquisadores em Cincia, Tecnologia e Inovao cadastrada porintermdio do currculo Lattes. As informaes so organizadas em forma de painis com dados qua-lificados por geografia, sexo e faixa etria, entre outros, e extrada da base de currculos atualizadosnos ltimos 48 meses.

    Trata-se de uma ferramenta valiosssima para comparativos de desempenho entre instituies eregies, alm de exibir a evoluo de formao de mestres e doutores no pas.

    A figura 4.7 abaixo apresenta um exemplo destes relatrios. Do lado esquerdo encontra-se aEvoluo da Formao de Mestres no Brasil desde 1990 at 2012. Do lado direito est o nmero demestres formados em 2012, agrupados por grande rea (grfico acima) e pelas reas de CinciasExatas e da Terra (grfico abaixo). Estes nmeros correspondem aos dados extrados em 18/12/2012da Plataforma Lattes.

    3http://lattes.cnpq.br/painelLattes/

    http://lattes.cnpq.br/painelLattes/

  • 26 PLATAFORMA LATTES 4.1

    Figura 4.7: Relatrio do Painel Lattes, contendo a Evoluo da Formao de Mestres.

    Indicadores de Produo

    Podemos visualizar diversos grficos a partir de um currculo, contendo informaes como: Pro-dues referenciadas em base de dados de citaes (como Scopus4 e Web of Science5), quantidadede produes agrupadas por ano e tipo, quantidade de orientaes concludas agrupadas por ano envel, nmero de produes agrupadas por peridico, nmero de produes agrupadas por co-autor.

    A figura 4.8 contm um exemplo destes indicadores, obtidos a partir do currculo da ProfessoraDoutora Renata Wassermann.

    4.1.3 Limitaes

    Embora haja diversos meios e ferramentas para extrao de informaes da Plataforma, certasconsultas so de difcil obteno. Costa e Yamate (2009) trazem uma lista de perguntas que noso respondidas pela plataforma. Segue abaixo uma parte da lista:

    1. Quais professores/pesquisadores publicaram em 2013? Destes, quantas publicaes em confe-rncias internacionais? E nacionais?

    2. Quais so os professores/pesquisadores do Departamento de Matemtica da USP? Quais des-tes possuem registro de publicao? Quais publicaram livros? Quais publicaram captulos delivros?

    3. Quais so os professores/pesquisadores que publicaram em coautoria com o ?

    4. Quais so as teses de doutorado e dissertaes de mestrado finalizadas sob orientao de algumprofessor do grupo nos ltimos 5 anos?

    5. Est havendo um crescimento no nmero de publicaes se comparado aos anos anteriores?

    6. Os dados de orientaes informados pelo esto condizentescom os informados pelos orientados?

    4http://www.scopus.com5http://thomsonreuters.com/web-of-science/

    http://www.scopus.comhttp://thomsonreuters.com/web-of-science/

  • 4.1 A PLATAFORMA 27

    (a) Produes referenciadas em base de dados de citaes.

    (b) Nmero de produes agrupadas por co-autor.

    (c) Quantidade de orientaes concludas agrupadas por ano envel.

    (d) Nmero de produes agrupadas por peridico.

    (e) Quantidade de produes agrupadas por ano e tipo.

    Figura 4.8: Indicadores de Produo do currculo da Professora Doutora Renata Wassermann.

  • 28 PLATAFORMA LATTES 4.2

    Podemos reparar que parte desta lista diz respeito a um conjunto limitado de pesquisadores,estando relacionados: pela co-autoria de produes bibliogrficas, por orientaes, por local detrabalho etc.

    4.2 Trabalhos que Utilizam a Base Lattes

    A seguir sero apresentados alguns dos trabalhos que utilizam dos dados da Base Lattes epropuseram solucionar a limitao de busca de informaes.

    4.2.1 scriptLattes

    scriptLattes um software open source, criado por Jess Mena-Chalco e Roberto M. Cesar-Jr,que cria relatrios gerenciais obtidos a partir de um conjunto de currculos em formato HTML.

    Diferentemente das outras solues, o scriptLattes no cria uma ontologia. Todas as estruturas dedados foram construdas utilizando o conceito de orientao objetos. Estes objetos so instanciadosa medida em que a ferramenta faz a leitura e extrao das informaes do currculo HTML.

    A sada deste software uma pgina Web esttica. Nela podemos encontrar respostas as seguin-tes perguntas:

    Quantas produes bibliogrficas, tcnicas ou artsticas foram elaboradas?

    Qual o perfil (ou seja, proporo de publicao) dos diferentes tipos de produes bibliogr-ficas?

    Como a regularidade e a evoluo das publicaes ao longo dos anos?

    Como a colaborao / cooperao entre os pesquisadores?

    Quantas teses e dissertaes foram concludas?

    Qual a distribuio geogrfica dos pesquisadores?

    Qual a influncia a formao cientfica dos pesquisadores considerados?

    A ferramenta possui um mdulo para tratar produes referenciadas em dois currculos, evi-tando redundncias. Mena-Chalco e Cesar Junior (2009) ressaltam sua importncia: as produesduplicadas so usadas para detectar colaborao: Dois pesquisadores so definidos no software comocolaboradores se eles possuem uma produo em comum detectada por este mdulo. Estas infor-maes so essenciais para gerar o grafo de colaborao, como exemplificado na figura 4.9.

    No Grafo de Colaborao, os pesquisadores so os vrtices e as publicaes so as arestas.Caso dois ou mais pesquisadores tenham produzido uma publicao, uma aresta ir interligar estespesquisadores e incrementar o peso da aresta.

  • 4.2 TRABALHOS QUE UTILIZAM A BASE LATTES 29

    Figura 4.9: Grafo de Colaborao entre Pesquisadores.

    Nas primeiras verses, a linguagem de programao utilizada foi o Perl. Mas a partir da verso8, o software foi reescrito em Python.

    Importante ressaltar a grande popularizao da ferramenta entre os centros de pesquisas, labo-ratrios e institutos de ensino em todo o pas, confundindo-se muitas vezes com uma ferramentadisponibilizada pelo CNPq. O site do scriptLattes6 contm uma lista dos principais usurios.

    4.2.2 OntoLattes

    O objetivo do trabalho de Ailton Bonifcio (Bonifcio (2002)) a construo de uma ontologia(no formato DAML-OIL) para comportar os dados dos currculos dos pesquisadores, batizado comoOntoLattes. Para isto, Bonifcio recorreu especificao definida pela CONSCIENTIAS.

    O primeiro passo foi identificar as classes, subclasses e propriedades. Houve especial ateno emmanter a mesma nomenclatura das classes do DTD na ontologia. Alm disto, foram criadas outrasclasses alm das especificadas, por exemplo, Unidade Federativa (UF), para armazenar dados sobreos estados brasileiros.

    Foram adicionados alguns axiomas para aumentar a expressividade de algumas propriedades,por exemplo: O inverso da propriedade temEspecialidade pertenceASubArea e a propriedadecooperaCom simtrica (duas pessoas cooperam-se mutuamente).

    Esta mesma ontologia foi revista e atualizada por Nakashima (2004), que a converteu para oformato OWL e aperfeioou. O autor questiona a forma como o conceito de hierarquia entre classesfoi utilizado. Devido ao trabalho de Bonifcio seguir a risca o DTD, relaes como Produo Tcnica um Currculo Vitae foram criadas, sendo que o correto Currculo Vitae possui Produo Tcnica.

    Ele tambm inclui o uso da propriedade Datatype para relacionar uma instncia de uma classecom um tipo de dado, uma expresso literal ou um valor. Na ontologia de Bonifcio, todas aspropriedades so Object.

    4.2.3 Exportao de Currculos para Outros Formatos

    Em seu site7, Alexandre Rademaker apresenta sua ferramenta capaz de converter um currculoem formato XML para o formato BibTex (ferramenta de formatao utilizada pela LATEX para

    6http://scriptlattes.sourceforge.net/links.html7http://arademaker.github.com/blog/2012/02/15/lattes-to-bibtex.html

    http://scriptlattes.sourceforge.net/links.htmlhttp://arademaker.github.com/blog/2012/02/15/lattes-to-bibtex.html

  • 30 PLATAFORMA LATTES 4.2

    facilitar o uso de referncias bibliogrficas).Teixeira (2009) desenvolveu uma ferramenta de converso de currculo em formato XML para

    um documento em formato LATEX. Alm da converso do currculo no formato para o formato LATEX,Marcelo Teixeira cita que h possibilidade de validar os dados durante a converso. Um exemplode validao verificar se os anos de publicaes esto abaixo do ano corrente.

    O trabalho de Andr Casado Castao (Castao (2008)) foi desenvolver uma ferramenta quepossui como entrada o currculo de um pesquisador no formato XML e obtm como sada instnciasdas classes do OntoLattes (descrito em 4.2.2).

    Nos currculos em formato HTML no existem marcas que delimitam a localizao de umadeterminada informao, apenas marcas que dizem respeito a forma de apresentao da pgina.Por isto, um dos trabalhos de Castao foi analisar o contedo da pgina a procura de marcas quedelimitam sees (como dados pessoais, formao acadmica e atuao profissional). Logo aps,ele identificou padres no texto para localizao de cada uma das informaes, as quais eramconvertidas em instncias OWL.

    Em um trabalho similar, Rademaker e Haeusler (2013) desenvolveram uma ferramenta para ex-portar dados da plataforma em triplas RDF. Mas, ao invs de desenvolverem sua prpria estrutura,utilizaram vocabulrios e ontologias j padronizados, como FOAF8, BIBO9, SKOS10, entre outros.

    4.2.4 Semantic Lattes

    Costa e Yamate (2009) propem em seu trabalho o desenvolvimento de uma ferramenta, cha-mada Semantic Lattes, que realiza as tarefas de importao de currculos e lista de veculos depublicaes cientficas (obtidos do Qualis11) em uma ontologia, permitindo consultas s instncias.

    O Semantic Lattes possui dois mdulos principais:

    Server Mdulo responsvel pela persistncia dos dados, consultas e inferncias. Foi utilizada paraimplementao a linguagem JRuby, o framework Jena e o motor de inferncias Pellet.

    Web Mdulo responsvel pela camada de apresentao, converso do currculo no formato XMLpara instncias OWL e interpretao das perguntas (feitas em linguagem natural) para con-sultas SPARQL. Foi utilizada para implementao a linguagem Ruby e o framework Sinatra.

    Para este trabalho, foram criadas duas ontologias (utilizando OWL): Uma para armazenar dadosde pesquisadores, publicaes e orientaes, outra da dados da base Qualis. Ambas foram baseadasem perguntas elaboradas por especialistas do domnio (denominadas Questes de Competncia), asquais no so respondidas pela Plataforma Lattes.

    Semelhante a um motor de busca, oferecido ao usurio apenas um campo para informar umtexto e um boto Buscar. Ele deve digitar a pergunta em linguagem natural e o software, por meiode identificao das palavras-chave, reconhece a pergunta e faz a respectiva consulta em SPARQL.Para esta identificao foram utilizadas expresses regulares.

    Dentre todas as ferramentas pesquisadas, o Semantic Lattes se destacou em prover uma interfacesimples e clara ao usurio, abstraindo a complexidade de operar com softwares no modo console(utilizando linhas de comando).

    Importante citar que a ontologia criada para captao dos dados da Plataforma Lattes expressaapenas parte das estruturas existentes. A deciso de incluso de determinada estrutura foi feitapara atender as Questes de Competncias levantadas no incio do projeto. Neste sentido, pode-seafirmar que o trabalho elaborado por Bonifcio (2002) e Nakashima (2004) contm muito maisestruturas, por se tratar de um trabalho de mapeamento de todos os dados.

    8http://www.foaf-project.org/9http://bibliontology.com/

    10http://www.w3.org/TR/skos-reference/11http://qualis.capes.gov.br/webqualis/

    http://www.foaf-project.org/http://bibliontology.com/http://www.w3.org/TR/skos-reference/http://qualis.capes.gov.br/webqualis/

  • 4.2 TRABALHOS QUE UTILIZAM A BASE LATTES 31

    4.2.5 Projeto Sucupira

    O projeto SUCUPIRA (acrnimo de Sistema Unificado de Currculos e Programas: Identificaode Redes Acadmicas) tem por objetivo a extrao de informaes da Plataforma Lattes paraidentificao de redes sociais acadmicas (Alves et al. (2011)).

    Uma das principais funcionalidades deste sistema o gerenciamento de uma lista de pesquisado-res definida pelo usurio. Desta forma, o usurio poder fazer consultas pelo nome do pesquisador esolicitar ao sistema a importao dos dados do seu currculo na Plataforma Lattes. Esta importao feita utilizando o sistema LattesMiner (Alves et al. (2012)), desenvolvido pelo mesmo grupo doSucupira.

    Uma vez importados os dados, possvel visualizar: Um mapa contendo a localizao do endereoprofissional dos pesquisadores, um grfico sumarizado do nmero de publicaes por ano e tipo, eum grafo relacionando os pesquisadores a outros currculos.

  • 32 PLATAFORMA LATTES 4.2

  • Captulo 5

    SOS Lattes

    Este captulo apresenta os esforos feitos para elaborao da ferramenta proposta. Ser mos-trada a arquitetura adotada, bem como a aplicao das tecnologias e padres descritos nas seesanteriores.

    5.1 Requisitos Funcionais e No-Funcionais

    Com base na anlise feita dos outros trabalhos, foram levantados os seguintes requisitos funci-onais:

    1. O usurio dever informar ao sistema os identificadores dos currculos que deseja importar.Aps inform-lo, o sistema deve automaticamente buscar os dados da base de dados da Pla-taforma Lattes e armazen-la em uma base de conhecimento.

    2. O sistema dever fornecer uma lista dos currculos j importados.

    3. O sistema dever fornecer relatrios sumarizados de Produes Bibliogrficas, Tcnicas eArtsticas.

    4. O sistema dever fornecer relatrios sumarizados de Orientaes em Andamento e Concludas.

    5. O sistema dever informar um relatrio que compara os dados informados na orientao e daformao j associados, com objetivo de encontrar inconsistncias.

    6. O usurio poder informar perguntas ao sistema (obedecendo certas estruturas sintticas),resultando em uma consulta base de conhecimento.

    Alm disto, foram levantados os seguinte requisitos no-funcionais:

    1. Obter os dados da Plataforma Lattes, seja por XML quanto HTML.

    2. Os dados devero ser armazenados e disponveis para consultas em uma base de dados baseadaem ontologias, para que seja possvel o uso de motores de inferncia.

    5.2 Arquitetura

    Tendo analisado as ferramentas que utilizam os dados da Plataforma Lattes e os requisitosfuncionais e no-funcionais, propomos o desenvolvimento de uma nova ferramenta, reaproveitandoas funcionalidades j desenvolvidas.

    Batizamos com o nome SOS Lattes, acrnimo de Semantic Ontology-based Script Lattes, astrs ferramentas utilizadas como base deste trabalho. Alm disto, SOS uma metfora relacionada nova funcionalidade de deteco de inconsistncia, considerada pelos autores um excelente auxlio.

    33

  • 34 SOS LATTES 5.2

    A figura 5.1 apresenta a proposta de arquitetura de sistema que comporta tais funcionalidades. representado o sistema e todas as suas camadas, bem como suas interaes:

    Figura 5.1: Grfico representando a arquitetura do sistema e suas camadas.

    A Camada de Apresentao tem por responsabilidade a interao do sistema com o usurio,por meio de pginas Web renderizadas de acordo com o contedo disponibilizado pela camada dedados.

    A Camada de Dados tem por objetivo a persistncia e a consulta dos dados. Este primeiro obtido por meio da importao de um arquivo no formato OWL-XML. J a obteno dos dados feita meio de consultas SPARQL. Tambm nesta camada esto o motor de inferncia e as regraspara obteno de novas informaes. Os dados persistidos nesta base de dados so os domnios e asinstncias das ontologias do OntoLattes e do Semantic Lattes.

    A Camada de Extrao de Dados da PL tem por objetivo extrair os dados da Plataforma(seja por HTML ou por XML), interpretar estes dados em forma de instncias e exportar para oformato OWL-XML, para que sejam armazenados pela Camada de Dados.

    Para facilitar o entendimento, seguem as iteraes que ocorrem entre sistema e usurio (cadaitem abaixo est representado com seu respectivo nmero na figura 5.1):

    1. Ao utilizar o sistema pela primeira vez, a lista de membros esta vazia. preciso, portanto,que o usurio informe o identificador dos membros que se pretende visualizar os dados.

    2. Ao obter a lista de identificadores, a Camada de Apresentao faz uma chamada Camadade Extrao de Dados da PL, passando a lista.

    3. A Camada de Extrao de Dados obtm os dados de cada currculo no formato HTML (ouXML, caso configurado) da Plataforma Lattes, e interpreta cada campo, para que seja possvelgerar as instncias no OntoLattes.

    4. obtido como resultado um OWL-XML contendo as instncias dos dados.

  • 5.3 FUNCIONALIDADES 35

    5. A camada de Aplicao faz uma chamada Camada de Dados, solicitando o armazenamentodas instncias recm capturadas.

    6. Uma vez armazenados os dados, o usurio poder solicitar relatrios consolidados do sistema.

    7. A camada de Apresentao consulta os dados na Camada de Dados por meio de consul-tas SPARQL, devolvidos no formato JSon. Estes dados so utilizados para construo dosrelatrios consolidados e exibidos para o usurio.

    5.3 Funcionalidades

    A seguir apresentamos todas as alteraes feitas nas ferramentas existentes para adequ-las proposta, bem como a aplicao dos conceitos pesquisados nas sees anteriores.

    5.3.1 Obteno dos Dados e Gerao das Instncias

    O scriptLattes foi a ferramenta escolhida para incorporar a Camada de Extrao de Dados daPL, devido sua funcionalidade de interpretar dados no formato HTML ou XML. Entretanto, foinecessrio fazer algumas modificaes, para que pudesse interagir com o sistema, a saber:

    1. Interpretar os dados de formao: O scriptLattes captura toda a seo de formao de umindivduo disposto na Plataforma Lattes, mas no interpreta cada um de seus dados (como,por exemplo: ano incio, ttulo do trabalho, nome do orientador, nome da instituio etc). Estaetapa foi necessria para que, posteriormente, estes dados pudessem ser comparados com asorientaes.

    2. Exportar dados no formato OWL: Alm da exportao para HTML e XHTML, inclumos oformato OWL-XML. Esta exportao consiste em criar as instncias das classes j definidasno OntoLattes e Semantic Lattes, bem como definindo suas propriedades.

    3. Tornar o scriptLattes disponvel como servio: Para que a ferramenta proposta pudesse comunicar-se com o scriptLattes de forma automtica, fez-se necessrio torn-la um servio, de modoque pudesse ser acionado por meio de uma requisio HTTP. Por exemplo: ao fazer uma re-quisio HTTP ao endereo: http://localhost:8080/scriptLattes?id=8571722708574643&id=8548608291351316 (onde ID representa uma lista de identificadores de currculo na plataformaLattes) o sistema responde com as instncias dos currculos informado no parmetro ID noformato OWL-XML.

    5.3.2 Relatrios Consolidados

    A ferramenta Semantic Lattes foi escolhida para incorporar as Camadas de Dados e Apresen-tao. Tambm foram necessrias modificaes para adaptar-se ao sistema:

    1. Incluso da base de conhecimento do OntoLattes e novas regras de inferncias para interaoentre as ontologias.

    2. Atualizao das bibliotecas do framework Jena, permitindo a utilizao da nova verso daLinguagem SPARQL.

    3. Incluso de regras de inferncia que adicionam Pessoas sua Titulao a partir dos dados deformao.

    Uma vez obtidas as instncias por meio do scriptLattes, ser necessrio armazen-las e disponibiliz-las atravs de um motor de inferncias. Para isto, utilizamos a arquitetura j desenvolvida noSemantic Lattes Server para armazenamento e extrao de consultas.

    A ferramenta disponibiliza servios capazes de fazer a manuteno de dados. Dentre as operaesesto:

    http://localhost:8080/scriptLattes?id=8571722708574643&id=8548608291351316http://localhost:8080/scriptLattes?id=8571722708574643&id=8548608291351316

  • 36 SOS LATTES 5.3

    1. Importar dados no formato OWL-XML e armazen-los.

    2. Permitir a consulta destes dados no formato SPARQL. Esta consulta retornada no formatoJSON.

    3. Permitir a manuteno dos dados (como alteraes ou excluses) por meio da Linguagem deAtualizao SPARQL.

    A apresentao dos dados foi feita utilizando os conceitos j estabelecidos no Semantic LattesWeb. Esta feita por meio de diversas pginas Web, montadas de acordo com os dados obtidos dasconsultas SPARQL na base de dados.

    Para mostrar a capacidade destas consultas, foram desenvolvidas pginas Web muito semelhan-tes as geradas pelo scriptLattes. O captulo 6 contm exemplos destas pginas.

    5.3.3 Uso de Propriedades Simtricas

    Uma propriedade, digamos P, considerada simtrica para qualquer x e qualquer y: P (x, y) see somente se P (y, x).

    Um exemplo de utilizao desta propriedade onto:estaRelacionadoCom. Ela relacionadados descritos na formao de um orientando e da orientao de um orientador. Caso essa propri-edade no fosse simtrica, a consulta somente retornaria as produes que explicitamente possuemrelao com a formao, ignorando as formaes relacionadas com as produes.

    O SPARQL que contm a consulta utilizando esta propriedade descrito no Apndice A emConsulta entre os Dados Informados pelo Orientador e Orientando.

    Para relacionar a formao com a orientao, o sistema fornece um mecanismo na listagem deorientaes que permite ao usurio associar com um item da formao de um membro. O resultadodeste mecanismo a incluso de um novo axioma ontologia. Um exemplo da operao que geraeste novo axioma descrito abaixo:

    1 PREFIX onto: 2 INSERT DATA {3 onto:op-3b04ffb0-ea9b-11e2-91e2-0800200c9a664 onto:estaRelacionadoCom5 onto:form-acad506ff080-ea9b-11e2-91e2-0800200c9a66 .6 }

    A operao INSERT foi adicionada recentemente especificao SPARQL, como parte da Lin-guagem de Atualizao SPARQL1.

    5.3.4 Consultas em mais de uma base de dados

    A linguagem SPARQL permite a construo de consultas em mais de uma base de dados. Paraisto, informamos antes de uma propriedade ou classe a base de dados de origem.

    Para facilitar a leitura, podemos utilizar namespaces. No cdigo a seguir so definidos names-paces de duas ontologias, Semantic Lattes e OntoLattes:

    1 PREFIX lattes: 2 PREFIX onto:

    Aps definido, podemos utiliz-los nas propriedades e classes em uma consulta SPARQL daseguinte forma: lattes: ou onto:.

    A consulta por membros (descrito no Apndice A em Pesquisa de Membros Utilizando Filtropor Nome) um exemplo de consulta que utiliza duas bases de dados.

    1http://www.w3.org/TR/sparql11-update/

    http://www.w3.org/TR/sparql11-update/

  • 5.3 FUNCIONALIDADES 37

    5.3.5 Propriedades Inferidas Utilizando Regras

    Para permitir a integrao entre as ontologias OntoLattes e Semantic Lattes, criamos umaestratgia que envolve regras de inferncias e propriedades simtricas. A figura 5.2 apresenta umexemplo de seu funcionamento em formato grfico.

    Figura 5.2: Exemplo de uma propriedade inferida.

    Na figura, as elipses acima da linha tracejada representam classes, e abaixo representam instn-cias. As setas de cor preta representam as propriedades declaradas e a de cor cinza representa apropriedade inferida. O texto entre aspas representa um literal.

    Utilizamos esta estratgia para no ter que declarar explicitamente todas as propriedades dainstncia de lattes:Pessoa, uma vez que identificamos que este est relacionado com uma instnciade onto:CurriculoVitae e suas propriedades esto definidas. Com isto, evitamos redundncia dedados, uma vez que lattes:Pessoa e onto:CurriculoVitae so classes manipulando os mesmo dados.

    Outros exemplos de classes similares:

    lattes:ArtigoPeriodico e onto:ArtigosPublicados;

    lattes:DissertacaoMestrado e onto:Mestrado;

    lattes:TeseDoutorado e onto:Doutorado;

    lattes:OrientacaoDoutorado e onto:OrientacoesConcluidasParaDoutorado;

    lattes:OrientacaoMestrado e onto:OrientacoesConcluidasParaMestrado;

    lattes:Instituicao e onto:InstituicaoEmpresa.

    Utilizamos para criao de regras o Jena Rules2, subsistema do Jena para suporte a inferncias.Ele oferece uma interface para conexo com diversos motores de inferncia e uma API para

    criao de regras. Para nosso sistema, estamos utilizando o Pellet. Jena Rules tambm define umasintaxe para construo de regras que so carregados ao iniciar a aplicao.

    A regra que infere o nome da pessoa est descrita no Apndice B em Regra para RelacionarMembros entre OntoLattes e Semantic Lattes. Ela foi construda para inferir o nome de uma Pessoae o nome utilizado em citaes bibliogrficas na ontologia Semantic Lattes a partir do que estdeclarado no OntoLattes.

    2http://jena.apache.org/documentation/inference/

    http://jena.apache.org/documentation/inference/

  • 38 SOS LATTES 5.3

    O que est sendo descrito nesta regra : Caso uma instncia, digamos pessoa, seja do tipo Pessoa,e haja outra instncia, digamos cv, e este possui relao com pessoa (por meio da propriedadeestaRelacionadoCom) e haja nomeCompleto, ento pessoa possui como nome o mesmo valor denomeCompleto.

    A regra descrito no Apndice B em Regra para Relacionar Artigos entre OntoLattes e SemanticLattes um outro exemplo de regras, mas para atribuir as propriedades dos artigos. Similar a regraanterior, propriedades de artigos, peridicos, edies e autores so atribudos da base de dadosOntoLattes para Semantic Lattes.

    Uma vez construdas tais regras, as consultas ontologia do Semantic Lattes podem ser feitasnormalmente, como se possussem valores atribudos. Esta funcionalidade utilizada nas consultasobtidas por meio de linguagem natural (trabalho elaborado por Costa e Yamate (2009)).

    Em resumo, a Camada de Extrao de Dados da PL exporta todas as instncias e propriedadesdo OntoLattes, mas apenas as instncias do Semantic Lattes. As propriedades deste ltimo soobtidas por meio de regras de inferncia, aplicadas na Camada de Dados.

    Alm disto, alguns axiomas (adicionados durante a fase de criao das instncias no SemanticLattes) foram convertidos em regras de inferncia. Um exemplo desta regra a incluso do axiomaUma pessoa possui um ttulo de mestre, como mostrado na regra descrito no Apndice B emRegra para Determinar Ttulo de Mestre.

    Com isto expandimos a capacidade de expressividade da Base de Conhecimento, permitindo quenovos axiomas sejam criados dependendo dos valores j informados, diminuindo assim a possibili-dade de inconsistncias d