currículo lattes: uma abordagem de busca explorando a recuperação de informação

98
UNIVERSIDADE FEDERAL DE PELOTAS Centro de Desenvolvimento Tecnol´ ogico Curso de Bacharelado em Ci ˆ encia da Computac ¸˜ ao Trabalho de Conclus˜ ao de Curso Curr´ ıculo Lattes: Uma Abordagem de Busca Explorando a Recuperac ¸˜ ao de Informac ¸˜ ao Gustavo de Souza Meireles Pelotas, 2014

Upload: gsmeira

Post on 03-Oct-2015

18 views

Category:

Documents


3 download

DESCRIPTION

Atualmente existe uma ampla utilização de serviços e sistemas baseados na área de Recuperação de Informação (RI), os quais estão cada vez mais difundidos com milhões de pessoas dependendo deles para suas tarefas diárias, facilitando negócios, educação e entretenimento. Motores de busca Web — Google, Bing, entre outros —- são de longe os mais populares e mais usados serviços de RI, fornecendo acesso a informações atualizadas, localizando pessoas e organizações, resumindo notícias e eventos, e simplificando a comparação de produtos e serviços na hora da compra. Visto isso, este trabalho pretende explorar a área de RI através da busca e recuperação de currículos da Plataforma Lattes (PL), do Conselho Nacional de Desenvolvimento Científico e Tecnológico, que atualmente já conta com mais de 3 milhões de currículos cadastrados. Sabendo que esse número só tende a crescer, bem como as informações contidas nesses documentos, surge com isso a necessidade de uma ferramenta de busca que seja capaz de recuperar esses currículos de forma eficaz (retornando currículos relevantes) e eficiente (fazendo isso de maneira rápida). Será através do Sistema de Recuperação de Informação (SRI) AcademicS, aqui proposto, que esta abordagem será verificada, avaliando como a teoria da RI pode ser aplicada à PL e os benefícios que ela pode oferecer, apresentando como resultado final uma solução para pesquisa de currículos baseada nos conceitos de RI. Além disso, visando aprimorar a interação do usuário, é criada uma interface gráfica que tem como objetivo tornar mais intuitiva e fluída a tarefa de busca, auxiliando no processo de recuperação dos currículos. Ao final do trabalho ainda são expostos os resultados das avaliações realizadas, que demonstraram que o AcademicS ao ser comparado com a ferramenta oficial de busca da PL, apresentou uma considerável melhora no percentual de resultados relevantes retornados. Como base teórica, são revisados alguns dos principais conceitos envolvidos na área de RI, além também dos componentes básicos — Coleta, Transformação de Texto, Indexação, Ranqueamento e Consulta — presentes na maioria dos SRIs.

TRANSCRIPT

  • UNIVERSIDADE FEDERAL DE PELOTASCentro de Desenvolvimento Tecnologico

    Curso de Bacharelado em Ciencia da Computacao

    Trabalho de Conclusao de Curso

    Currculo Lattes: Uma Abordagem de Busca Explorando a Recuperacao deInformacao

    Gustavo de Souza Meireles

    Pelotas, 2014

  • Gustavo de Souza Meireles

    Currculo Lattes: Uma Abordagem de Busca Explorando a Recuperacao deInformacao

    Trabalho de Conclusao de Curso apresentadoao Centro de Desenvolvimento Tecnologicoda Universidade Federal de Pelotas, como re-quisito parcial a` obtencao do ttulo de Bacha-rel em Ciencia da Computacao

    Orientador: Prof. Dr. Ricardo Matsumura Araujo

    Pelotas, 2014

  • Universidade Federal de Pelotas / Sistema de BibliotecasCatalogao na Publicao

    M479c Meireles, Gustavo de SouzaMeiCurrculo lattes : uma abordagem de busca explorandoa recuperao de informao / Gustavo de Souza Meireles ;Ricardo Matsumura Arajo, orientador. Pelotas, 2014.Mei98 f. : il.

    MeiTrabalho de Concluso de Curso (Graduao emCincia da Computao) Centro de DesenvolvimentoTecnolgico, Universidade Federal de Pelotas, 2014.

    Mei1. Currculo lattes. 2. Recuperao de informao. 3.Motor de busca. 4. Elasticsearch. 5. Apache lucene. I.Arajo, Ricardo Matsumura, orient. II. Ttulo.

    CDD : 005

    Elaborada por Aline Herbstrith Batista CRB: 10/1737

  • RESUMO

    MEIRELES, Gustavo de Souza. Currculo Lattes: Uma Abordagem de BuscaExplorando a Recuperacao de Informacao. 2014. 98 f. Trabalho de Conclusaode Curso (Bacharelado em Ciencia da Computacao) Centro de DesenvolvimentoTecnologico, Universidade Federal de Pelotas, Pelotas, 2014.

    Atualmente existe uma ampla utilizacao de servicos e sistemas baseados na areade Recuperacao de Informacao (RI), os quais estao cada vez mais difundidos commilhoes de pessoas dependendo deles para suas tarefas diarias, facilitando negocios,educacao e entretenimento. Motores de busca Web Google, Bing, entre outros -sao de longe os mais populares e mais usados servicos de RI, fornecendo acessoa informacoes atualizadas, localizando pessoas e organizacoes, resumindo notciase eventos, e simplificando a comparacao de produtos e servicos na hora da com-pra. Visto isso, este trabalho procura atender a uma demanda da Coordenadoria deInovacao Tecnologica (CIT), da Universidade Federal de Pelotas (UFPel), que apre-sentou ao curso de Ciencia da Computacao, do Centro de Desenvolvimento Tec-nologico (CDTec), UFPel, um problema referente a dificuldade que e se encontraras competencias e infraestruturas da universidade que sejam capazes de ajudar acomunidade. Como uma primeira abordagem para este problema apresentado pelaCIT, este trabalho pretende explorar a area de RI atraves da busca e recuperacaode currculos da Plataforma Lattes (PL), do Conselho Nacional de DesenvolvimentoCientfico e Tecnologico (CNPq), que atualmente ja conta com mais de 3 milhoes decurrculos cadastrados. Sabendo que esse numero so tende a crescer, bem comoas informacoes contidas nesses documentos, surge com isso a necessidade de umaferramenta de busca que seja capaz de recuperar esses currculos de forma eficaz(retornando currculos relevantes) e eficiente (fazendo isso de maneira rapida). Seraatraves do Sistema de Recuperacao de Informacao (SRI) AcademicS, aqui proposto,que esta abordagem sera verificada, avaliando como a teoria da RI pode ser aplicadaa` PL, e os benefcios que ela pode oferecer tanto para o Lattes, quanto para a solucaodo problema apresentado pela CIT. Ao final do trabalho sao expostos os resultadosdas avaliacoes realizadas, que demonstraram que o AcademicS ao ser comparadocom a ferramenta oficial de busca da PL, apresentou uma consideravel melhora nopercentual de resultados relevantes retornados.

    Palavras-chave: Currculo Lattes, Recuperacao de Informacao, Motor de Busca, Elas-ticSearch, Apache Lucene.

  • ABSTRACT

    MEIRELES, Gustavo de Souza. Lattes Curriculum: A Search Approach ExploringInformation Retrieval. 2014. 98 f. Trabalho de Conclusao de Curso (Bachareladoem Ciencia da Computacao) Centro de Desenvolvimento Tecnologico, UniversidadeFederal de Pelotas, Pelotas, 2014.

    Nowadays there is an extensive use of services and systems based on InformationRetrieval (IR), which are increasingly widespread with millions of people dependingon them for their daily tasks, facilitating business, education and entertainment. Websearch engines Google, Bing, and others are by far the most popular, and mostused services based on IR, providing access to up-to-date technical information, lo-cating people and organizations, summarizing news and events, and simplifying thecomparison of products and services. Therefore, this work aims to solve a demand ofthe Coordination of Technological Innovation (CIT), of the Federal University of Pelotas(UFPel), who presented to the course of Computer Science, of Technological Devel-opment Center (CDTec), at UFPel, a problem concerning the difficulty that is to findthe skills and infrastructure of the university that are able to help the community. As afirst approach to the problem presented by the CIT, this study aims to explore the IRarea through the search and retrieval of the curricula Lattes Platform (LP), of the Na-tional Council for Scientific and Technological Development, which currently has morethan 3 million registered curricula. Under those conditions and, not to mention thatthis number will grow together with the information contained in these documents, thusemerges the need for a search engine that is able to recover these curricula effectively(retrieving relevant curricula) and efficiently (doing it fast). This approach will be ver-ified through the proposed Information Retrieval System (IRS), called AcademicS, byevaluating how the theory of IR can be applied to the LP and the benefits it can offer toboth the Lattes, as well as for the solution the problem presented by the CIT. At the endof the work are exposed the results of the evaluations, which demonstrated that theAcademicS showed a considerable improvement in the percentage of relevant resultsreturned, in comparison with the official search tool of LP.

    Keywords: Lattes Curriculum, Information Retrieval, Search Engine, ElasticSearch,Apache Lucene.

  • LISTA DE FIGURAS

    Figura 1 Grafico que mostra o crescimento dos dados semi-estruturados enao-estruturados ao longo dos ultimos anos (CORPORATION, 2011). 22

    Figura 2 Estrutura dos captulos proposta para esta monografia. . . . . . . . 25

    Figura 3 Arquitetura de software de alto nvel de um SRI. A coleta e ummodulo adicional necessario para os SRIs que nao possuem umacolecao propria de documentos (BAEZA-YATES; RIBEIRO-NETO,2011) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

    Figura 4 Processo de Indexacao e Processo de Recuperacao e Ranquea-mento mostrando a comunicacao entre os componentes da arquite-tura de um SRI (BAEZA-YATES; RIBEIRO-NETO, 2011). . . . . . . 28

    Figura 5 Um algoritmo de coleta muito simples (BAEZA-YATES; RIBEIRO-NETO, 2011). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

    Figura 6 Tipos de pagina Web do ponto de vista do coletor (BAEZA-YATES;RIBEIRO-NETO, 2011). . . . . . . . . . . . . . . . . . . . . . . . . . 30

    Figura 7 Diagrama que mostra arquitetura de alto nvel de um coletor Webtpico (CASTILLO, 2004; BAEZA-YATES; RIBEIRO-NETO, 2011). . 31

    Figura 8 Indice invertido basico e matriz de termos por documentos. Cadaentrada da matriz indica a frequencia do termo no doucmento. Noteque o vocabulario armazena o numero ni de documentos em queum termo ki aparece. No lado direito, a matriz de termos por docu-mentos e substituida por listas invertidas, cujas entradas sao com-postas pelo documento contendo o termo e a frequencia correspon-dente do termo. (BAEZA-YATES; RIBEIRO-NETO, 2011) . . . . . . 38

    Figura 9 Pagina inicial do motor de busca da Google (Setembro de 2014). . 46

    Figura 10 Primeiro exemplo de consulta que utiliza grau de proximidade. . . . 53Figura 11 Segundo exemplo de consulta que utiliza grau de proximidade. . . . 54

    Figura 12 Pagina inicial da ferramenta de busca AcademicS. . . . . . . . . . . 78Figura 13 Pagina inicial da ferramenta de busca da PL. . . . . . . . . . . . . . 79Figura 14 Resultados de busca da ferramenta AcademicS. . . . . . . . . . . . 80Figura 15 Resultados de busca da ferramenta da PL. . . . . . . . . . . . . . . 81Figura 16 Filtros da ferramenta de busca da PL. . . . . . . . . . . . . . . . . . 82Figura 17 Preferencias de busca da ferramenta da PL. . . . . . . . . . . . . . 83Figura 18 Comparacao entre as duas paginas iniciais das duas ferramentas

    de busca. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84

  • Figura 19 Comparacao entre as duas paginas de resultados de busca dasduas ferramentas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85

  • LISTA DE TABELAS

    Tabela 1 Descricao dos componentes presentes na arquitetura basica de umcoletor Web. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

    Tabela 2 Resumo das quatro polticas utilizadas pelos coletores Web, e quedefinem o comportamento da coleta de acordo com o objetivo decada um. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

    Tabela 3 Regras do algoritmo de PORTER (2005). . . . . . . . . . . . . . . . 37Tabela 4 Descricao das premissas fundamentais que formam a base de um

    algoritmo de ranqueamento. . . . . . . . . . . . . . . . . . . . . . . 39Tabela 5 Descricao da funcao de similaridade do Modelo Booleano. . . . . . 41Tabela 6 Formula da ponderacao TF. . . . . . . . . . . . . . . . . . . . . . . . 42Tabela 7 Formula da ponderacao IDF. . . . . . . . . . . . . . . . . . . . . . . 42Tabela 8 Formula da ponderacao TF-IDF. . . . . . . . . . . . . . . . . . . . . 43Tabela 9 Descricao da funcao de similaridade do Modelo Vetorial. . . . . . . 43

    Tabela 10 Campos escolhidos para formar o currculo. . . . . . . . . . . . . . . 48Tabela 11 Operacoes textuais utilizadas pelo SRI AcademicS. . . . . . . . . . 50Tabela 12 Descricao da formula de ranqueamento utilizada pelo SRI AcademicS. 52

    Tabela 13 Resultados encontrados para a Avaliacao 1.A. . . . . . . . . . . . . 59Tabela 14 Resultados encontrados para a Avaliacao 1.B. . . . . . . . . . . . . 60Tabela 15 Resultados do teste T2 encontrados para a avaliacao A (LUPS). . . 62Tabela 16 Resultados do teste T2 encontrados para a avaliacao B (EFESE). . 63Tabela 17 Resultados do teste T2 encontrados para a avaliacao C (GEEAF). . 64Tabela 18 Resultados do teste T2 encontrados para a avaliacao D (GEPETED). 65Tabela 19 Resultados do teste T2 encontrados para a avaliacao E (GPEFE). . 66Tabela 20 Resultados do teste T2 encontrados para a avaliacao F (GPES). . . 67Tabela 21 Resultados do teste T2 encontrados para a avaliacao G (GRUPEL). 68Tabela 22 Resultados do teste T2 encontrados para a avaliacao H (LABESP). 69Tabela 23 Resultados do teste T2 encontrados para a avaliacao I (LABFEX). . 70Tabela 24 Resultados do teste T2 encontrados para a avaliacao J (LACOM). . 71Tabela 25 Resultados do teste T2 encontrados para a avaliacao K (FRUTICUL-

    TURA). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72Tabela 26 Resultados do teste T2 agrupados. . . . . . . . . . . . . . . . . . . 73Tabela 27 Resultados do teste T3 encontrados para a avaliacao A. . . . . . . . 74Tabela 28 Resultados do teste T3 encontrados para a avaliacao B. . . . . . . . 75Tabela 29 Numero de interacoes que o usuario precisa ter com o sistema para

    enviar uma requisicao de busca para o AcademicS. . . . . . . . . . 76

  • Tabela 30 Numero de interacoes que o usuario precisa ter com o sistema paraenviar uma requisicao de busca para a PL. . . . . . . . . . . . . . . 77

  • LISTA DE ABREVIATURAS E SIGLAS

    CDTec Centro de Desenvolvimento Tecnologico

    CNPq Conselho Nacional de Desenvolvimento Cientfico e Tecnologico

    HTML HyperText Markup Language

    PL Plataforma Lattes

    RI Recuperacao de Informacao

    SGBD Sistema de Gerenciamento de Banco de Dados

    SRI Sistema de Recuperacao de Informacao

    TCC Trabalho de Conclusao de Curso

    UTS Unicode Text Segmentation

    XML eXtensible Markup Language

    UFPel Universidade Federal de Pelotas

    URL Uniform Resource Locator

  • SUMARIO

    1 INTRODUCAO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141.1 O Problema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161.2 Tema do Trabalho . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171.3 Trabalhos Relacionados . . . . . . . . . . . . . . . . . . . . . . . . . . . 181.4 Motivacoes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201.5 Metodologia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221.6 Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231.6.1 Objetivo Geral . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231.6.2 Objetivos Especifcos . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231.7 Organizacao do Trabalho . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

    2 SISTEMA DE RECUPERACAO DE INFORMACAO . . . . . . . . . . . . . . 262.1 Arquitetura de um SRI . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262.2 Coletor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292.2.1 Arquitetura de um Coletor Web . . . . . . . . . . . . . . . . . . . . . . . 312.2.2 Polticas de um Coletor Web . . . . . . . . . . . . . . . . . . . . . . . . . 322.3 Transformacao do Texto . . . . . . . . . . . . . . . . . . . . . . . . . . . 332.3.1 Analise Lexica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332.3.2 Remocao de Stopwords . . . . . . . . . . . . . . . . . . . . . . . . . . . 342.3.3 Stemming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 352.4 Indexacao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 372.5 Ranqueamento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 382.5.1 Modelo Booleano . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 402.5.2 Ponderacao pela Frequencia dos Termos (TF) . . . . . . . . . . . . . . . 412.5.3 Ponderacao pela Frequencia Inversa de Documentos (IDF) . . . . . . . 412.5.4 Ponderacao de Termos TF-IDF . . . . . . . . . . . . . . . . . . . . . . . 422.5.5 Modelo Vetorial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 432.6 Consulta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 442.7 Interface Grafica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

    3 ACADEMICS: CONCEPCAO E MODELAGEM . . . . . . . . . . . . . . . . 473.1 Coleta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 473.2 Transformacao do Texto . . . . . . . . . . . . . . . . . . . . . . . . . . . 493.3 Indexacao e Ranqueamento . . . . . . . . . . . . . . . . . . . . . . . . . 503.4 Consulta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 523.5 Interface Grafica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 543.6 Tecnologias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55

  • 3.6.1 Apache Lucene . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 563.6.2 ElasticSearch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57

    4 ACADEMICS: AVALIACAO E RESULTADOS . . . . . . . . . . . . . . . . . 594.1 T1: Busca por Nome . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 594.1.1 T1: Avaliacao A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 594.1.2 T1: Avaliacao B . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 604.2 T2: Busca por Area . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 614.2.1 T2: Avaliacao A (LUPS) . . . . . . . . . . . . . . . . . . . . . . . . . . . 614.2.2 T2: Avaliacao B (EFESE) . . . . . . . . . . . . . . . . . . . . . . . . . . 624.2.3 T2: Avaliacao C (GEEAF) . . . . . . . . . . . . . . . . . . . . . . . . . . 634.2.4 T2: Avaliacao D (GEPETED) . . . . . . . . . . . . . . . . . . . . . . . . 654.2.5 T2: Avaliacao E (GPEFE) . . . . . . . . . . . . . . . . . . . . . . . . . . 664.2.6 T2: Avaliacao F (GPES) . . . . . . . . . . . . . . . . . . . . . . . . . . . 674.2.7 T2: Avaliacao G (GRUPEL) . . . . . . . . . . . . . . . . . . . . . . . . . 684.2.8 T2: Avaliacao H (LABESP) . . . . . . . . . . . . . . . . . . . . . . . . . 694.2.9 T2: Avaliacao I (LABFEX) . . . . . . . . . . . . . . . . . . . . . . . . . . 704.2.10 T2: Avaliacao J (LACOM) . . . . . . . . . . . . . . . . . . . . . . . . . . 714.2.11 T2: Avaliacao K (FRUTICULTURA) . . . . . . . . . . . . . . . . . . . . . 724.2.12 Resultados T2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 734.3 T3: Busca por Projeto de Pesquisa . . . . . . . . . . . . . . . . . . . . . 744.3.1 T3: Avaliacao A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 744.3.2 T3: Avaliacao B . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 744.4 T4: Comparacao das Interfaces . . . . . . . . . . . . . . . . . . . . . . . 764.4.1 Pagina Inicial: AcademicS . . . . . . . . . . . . . . . . . . . . . . . . . . 784.4.2 Pagina Inicial: Lattes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 794.4.3 Resultados de Busca: AcademicS . . . . . . . . . . . . . . . . . . . . . 804.4.4 Resultados de Busca: Lattes . . . . . . . . . . . . . . . . . . . . . . . . 814.4.5 Filtros: Lattes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 824.4.6 Preferencias: Lattes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 834.4.7 Pagina Inicial: AcademicS x Lattes . . . . . . . . . . . . . . . . . . . . . 844.4.8 Resultados de Busca: AcademicS x Lattes . . . . . . . . . . . . . . . . 85

    5 CONSIDERACOES FINAIS . . . . . . . . . . . . . . . . . . . . . . . . . . . 865.1 Trabalhos Futuros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87

    REFERENCIAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90

    ANEXO A ACADEMICS: INFRAESTRUTURA . . . . . . . . . . . . . . . . . . 93

    ANEXO B ACADEMICS: APLICACAO . . . . . . . . . . . . . . . . . . . . . . 94

    ANEXO C ACADEMICS: CONFIGURACAO DO INDICE . . . . . . . . . . . . 95

    ANEXO D ACADEMICS: CONFIGURACAO DA CONSULTA . . . . . . . . . . 97

    ANEXO E ACADEMICS: LISTA DE STOPWORDS . . . . . . . . . . . . . . . 98

  • 1 INTRODUCAO

    O termo Recuperacao de Informacao foi cunhado em 1952 e ganhou populari-dade na comunidade cientfica de 1961 em diante (BRAGA, 1995). Este termo e aindahoje bastante questionado, sendo que muitos autores preferem o termo Recuperacaode Documentos ou Recuperacao de Textos. Como sera observado ao longo destetrabalho, de fato, os sistemas nao recuperam informacao, mas sim referencias adocumentos cujo conteudo podera ser relevante a` necessidade de informacao dousuario (BORGMAN, 1999). Gerard Salton, um pioneiro e uma das figuras que li-deraram a area da RI (Recuperacao de Informacao) da decada de 1960 ate a decadade 1990, propos a seguinte definicao no seu classico livro Automatic Information Or-ganization And Retrieval : A Recuperacao de Informacao e um campo que se preo-cupa com a estrutura, analise, organizacao, armazenamento, busca e recuperacao deinformacao (SALTON, 1968).

    Apesar do termo ter sido cunhado na decada de 1950, a RI pode ser divididaem 3 fases. De acordo com BAEZA-YATES; RIBEIRO-NETO (2011), a primeira de-las comecou a muitos seculos atras quando a humanidade passou a armazenarinformacao em tabuletas de argila, hieroglifos, rolos de papiros e livros. Na medida emque o volume dessas informacoes foi crescendo, realizar o armazenamento e o acessoa esses itens se tornou cada vez mais complicado. Para resolver este problema, asolucao encontrada se deu atraves da construcao de predios especiais, projetadospara armazenar, indexar e organizar os itens anteriormente citados. Tais construcoesestao presentes ate hoje ao redor de todo o mundo e sao conhecidas pelo nome debibliotecas. Nesta primeira fase, os especialistas envolvidos com a area de RI erampessoas formadas em Biblioteconomia e Ciencia da Informacao.

    Ja a segunda fase da area de RI surgiu por volta da decada de 1950, com osurgimento da Computacao. Desde entao, ela evoluiu muito na medida em queas capacidades de armazenamento e as velocidades de processamento dos com-putadores foram aumentando. Alem disso, ao longo das ultimas decadas houveuma grande evolucao nas tecnicas e nos processos de busca e recuperacao de-vido a automatizacao dos processos que antes eram manuais, tais como: aquisicao,

  • 15

    indexacao e busca por informacao (SANDERSON; CROFT, 2012). Foi a partir dessafase que a area de RI se expandiu e comecou a ser explorada tambem, segundoCROFT; METZLER; STROHMAN (2010), por profissionais da Ciencia da Computacao,Matematica e, ocasionalmente, Ciencia Social e Lingustica Computacional.

    Por fim, a ultima fase se deu com a criacao da World Wide Web no incio da decadade 1990. Na medida em que ela foi ganhando popularidade e as paginas Web foramcrescendo, a necessidade por motores de busca para este ambiente aconteceu de ma-neira natural, tentando resolver o problema dos usuarios em encontrar a informacaoda qual necessitavam. Foi a partir disso que essas ferramentas de busca Web cres-ceram e ganharam popularidade, se tornando cada vez mais indispensaveis para aspessoas no seu dia-a-dia. Dessa forma, a area de RI comecou a ganhar uma grandeatencao e destaque tanto no meio cientifico, quanto no meio empresarial (BAEZA-YATES; RIBEIRO-NETO, 2011). Atualmente, segundo BUTTCHER; CLARKE; COR-MACK (2010) a RI se preocupa nao apenas com a tarefa de busca, mas tambemuma serie de outros problemas, tais como: Filtragem, Categorizacao, Agrupamento,Sumarizacao, Extracao de Informacao, Deteccao e Rastreamento de Topico, BuscaEspecializada, Resposta a` Perguntas e Recuperacao de Informacao Multimdia.

    Visto essa introducao historica, o processo de RI consiste basicamente em iden-tificar na colecao de documentos do sistema de busca, quais os documentos queatendem a` necessidade de informacao do usuario. Dessa forma, o usuario de um SRI(Sistema de Recuperacao de Informacao) esta interessado em recuperar informacaosobre um determinado topico ou assunto e nao em recuperar registros de dados quesatisfacam a sua expressao de busca, nem tampouco documentos, embora seja nelesque a informacao estara registrada. Essa caracterstica e o que diferencia os SRIs dosSGBDs (Sistemas de Gerenciamento de Banco de Dados) (FERNEDA, 2012)

    Complementando isso, BAEZA-YATES; RIBEIRO-NETO (2011) diz que arecuperacao de dados no contexto de um SRI consiste na identificacao de quais docu-mentos da colecao contem os termos da consulta do usuario, o que, com frequencia,nao e o suficiente para satisfazer a necessidade de informacao do usuario. De fato,o usuario de um SRI esta mais interessado em recuperar informacoes sobre um as-sunto do que em recuperar dados que satisfacam uma dada consulta. Por exemplo,um usuario de um SRI esta disposto a aceitar no conjunto dos resultados, documentosque possuam sinonimos dos termos usados na consulta, isto e, em um SRI os obje-tos recuperados podem ser inexatos e pequenos erros podem passar despercebidos.Ja em um sistema de recuperacao de dados, um unico objeto incorreto em meio amilhares de objetos recuperados significa falha total. Um sistema de recuperacao dedados, como um banco de dados relacional, trata de dados que possuem estrutura esemantica bem definidas, enquanto que um SRI lida com texto em linguagem natural,que nao e bem estruturado. A recuperacao de dados representa uma solucao para o

  • 16

    usuario de um sistema de banco de dados, mas nao resolve o problema de recuperarinformacoes sobre um assunto ou topico.

    1.1 O Problema

    O problema central deste trabalho reside na dificuldade atual que e se encontraras competencias e infraestruturas da universidade que sejam capazes de ajudar acomunidade, atendendo assim a uma demanda da CIT1 (Coordenadoria de InovacaoTecnologica) da UFPel2 (Universidade Federal de Pelotas), que apresentou ao cursode Ciencia da Computacao, do CDTec3 (Centro de Desenvolvimento Tecnologico)este desafio. Sera atraves da PL4 (Plataforma Lattes), do CNPq5 (Conselho Nacio-nal de Desenvolvimento Cientfico e Tecnologico), que tem como objetivo realizar aintegracao de diversas bases de dados, tais como: Currculos, Grupos de Pesquisa,e Intituicoes, tudo em um unico sistema de informacao, que uma primeira abordagempara solucionar este problema sera realizada. Sabendo disso, este trabalho tem comofoco os currculos dessa plataforma, que ao final do mes de setembro de 2014 japassavam da marca dos 3 milhoes de cadastros6. Devido a esse grande numero decurrculos que a PL possui atualmente, a tarefa de busca e recuperacao desses do-cumentos acaba se tornando um desafio, principalmente quando se realiza a procurapor especialistas atraves de termos que representam conceitos amplos, de grandesareas de pesquisa. Foi a partir de tudo isso, e da verificacao que a ferramenta debusca oficial da PL oferece uma experiencia bastante limitada, que se pensou em ex-plorar a area da RI, que possui como tarefa principal a busca. Sera a partir de umaabordagem explorando essa area, que se podera verificar a validade de uso de umSRI para busca e recuperacao desses currculos, e se essa abordagem contribui paraa solucao do problema apresentado pelo CIT.

    Como sera visto ao decorrer deste trabalho, as etapas e processos da RI ficamescondidas em uma caixa preta que realiza a busca de forma transparente para ousuario, que interage apenas com o sistema atraves de uma interface simples e in-tuitiva. Porem, muitas vezes, existe toda uma infraestrutura composta por clustersde computadores, contendo milhares de maquinas, que trabalham cooperativamentepara gerar uma lista ordenada de resultados que sao susceptveis a satisfazer a neces-sidade de informacao incorporada na consulta de busca. Alem disso, essas maquinasdevem identificar o conjunto de documentos que contem os termos da consulta, ecalcular um peso (pontuacao) para cada um deles. Por fim, esses documentos classi-

    1http://wp.ufpel.edu.br/prppg/equipe-inovacao/2http://ufpel.edu.br3http://cdtec.ufpel.edu.br4http://lattes.cnpq.br5http://cnpq.br6http://estatico.cnpq.br/painelLattes

  • 17

    ficados devem ser retornados para o usuario realizar a navegacao.Para abordar os diferentes aspectos envolvidos nesse processo, o foco deste tra-

    balho se dara fundamentalmente na area da RI, que como ja foi dito anteriormente,possui como tarefa principal a busca. Sera atraves dos conceitos e tecnicas destaarea, que sera verificado a validade de uso de um SRI na recuperacao de currculosda PL, do CNPq. Alem dessas etapas e processos da RI, que sera a base destamonografia, surge ainda uma outra questao a interface grafica. A usabilidade deum sistema de busca, como sera visto durante o trabalho, e um importante aspectoenvolvido em todo esse processo, e os usuarios ja possuem um modelo mental bemdefinido sobre o que eles esperam encontrar nesse tipo de ferramenta. O objetivosera proporcionar ao usuario uma experiencia de interacao que sirva de complementoa tarefa de busca e recuperacao, tornando ela mais intuitiva e fluda.

    Por fim, sera dado ainda uma atencao especial ao documento que sera alvo dasbuscas o currculo da PL. Uma analise da estrutura, e dos dados contidos nessescurrculos e fundamental dentro de todo esse processo, pois tem grande influencia nosdiversos componentes de um SRI.

    1.2 Tema do Trabalho

    O tema central deste trabalho consiste na verificacao quanto ao uso de um SRIpara busca e recuperacao de currculos da PL. Sera atraves de uma solucao que fazuso dos conceitos e processos da area da RI, que e a base dos modernos motoresde busca Web atuais Google7, Bing8, Baidu9 e Yahoo10 que isso sera verificado.Assim como esses motores de busca, a solucao criada neste trabalho sera desen-volvida para o ambiente Web, e possuira apenas um unico campo para entrada dedados no formato de texto. Nele o usuario podera escolher um ou mais termos pararealizar a sua consulta, e os currculos retornados serao mostrados em forma de listade classificacao (ranking). Cada um desses items retornados tera um peso (weight)atribudo a eles. Quanto maior o seu peso, mais alta sera a posicao deste item na listade classificacao.

    Para isto, primeiramente e necessario adquirir, de alguma forma, o conjunto decurrculos os quais serao objeto de busca por parte dos usuarios. Tendo em vista queos currculos da PL sao disponibilizados publicamente, essa etapa de aquisicao detexto pode ser realizada de maneira periodica atraves de um coletor automatizado.

    Na sequencia, sera abordada a etapa de transformacao do texto desses docu-mentos, comecando pela analise lexica, que e utilizada para decompor o documento

    7http://www.google.com.br8http://www.bing.com9http://www.baidu.com

    10http://search.yahoo.com

  • 18

    em cada termo que o compoe. Os delimitadores utilizados para a quebra dessessmbolos geralmente sao: o espaco em branco entre os termos, quebras de linhas,tabulacoes, e alguns caracteres especiais. Em seguida, e feita a remocao dos termosnao representativos e irrelevantes, que possuem pouco significado para serem inde-xados. Essas palavras de parada (stopwords), sao, em geral, preposicoes, artigos, ealgumas conjuncoes. Apos essas remocoes e feito ainda o processo de radicalizacaodas palavras (stemming), que e o metodo para reducao de um termo ao seu radical,removendo as desinencias, afixos, e vogais tematicas. Com a sua utilizacao, os ter-mos derivados de um mesmo radical sao contabilizados como um unico termo. Porfim, apos esse processo e realizada a etapa de indexacao do texto transformado.

    Com os currculos coletados, transformados, e indexados, a proxima etapa do pro-cesso de busca e a da recuperacao e ranqueamento desses documentos. Nessaetapa, tudo comeca com a formulacao e o envio da consulta ao SRI, onde o texto con-sultado inicialmente passa pelo mesmo processo de transformacao de texto que oscurrculos foram submetidos, para so depois os termos resultantes da filtragem seremenviados ao algoritmo de ranqueamento. A sada desse componente e uma lista or-denada de currculos por ordem de relevancia, a qual e posteriormente enviada parao usuario realizar a navegacao.

    Ao final deste trabalho, o SRI proposto para este TCC (Trabalho de Conclusao deCurso) e comparado com a ferramenta de busca oficial da PL, e as avaliacoes saofeitas principalmente atraves de testes que levam em conta a recuperacao em umSRI, isto e, a qualidade dos resultados retornados. Essa etapa final se faz necessariapara medir o quao bem a ferramenta de busca aqui proposta atende a necessidade deinformacao do usuario em comparacao com o sistema de busca da PL.

    1.3 Trabalhos Relacionados

    Nesta secao sao apresentados tres trabalhos relacionados a este TCC, que temcomo foco central de seus estudos a PL. Embora em nenhum deles seja explorada atarefa de busca especificamente, todos lidam com uma importante etapa do processode busca a Coleta. Infelizmente nao foi possvel encontrar na bibliografia pesqui-sada nenhum estudo que tivesse como foco principal a tarefa de busca e recuperacaode currculos da PL.

    O primeiro trabalho a ser apresentado e o scriptLattes11, que e um script GNU-GPL12 desenvolvido para a extracao e compilacao automatica de: (1) producoesbibliograficas, (2) producoes tecnicas, (3) producoes artsticas, (4) orientacoes, (5)projetos de pesquisa, (6) premios e ttulos, (7) grafo de colaboracoes, (8) mapa de

    11http://scriptlattes.sourceforge.net12http://pt.wikipedia.org/wiki/GNU General Public License

  • 19

    geolocalizacao, e (9) co-autoria e internacionalizacao, de um conjunto de pesquisado-res cadastrados na PL. Associacoes de Qualis para as producoes academicas publi-cadas em congressos e revistas tambem sao consideradas.

    Segundo MENA-CHALCO; JUNIOR (2009), o scriptLattes baixa automaticamenteos currculos Lattes em formato HTML (HyperText Markup Language), livremente dis-ponveis na rede, de um grupo de pessoas de interesse, compilando as listas deproducoes e tratando apropriadamente as producoes duplicadas e similares. A par-tir disso sao entao geradas paginas HTML com as listas de producoes e orientacoesseparadas por tipo e colocadas em ordem cronologica invertida. Adicionalmente saocriados automaticamente varios grafos (redes) de co-autoria entre os membros dogrupo de interesse e um mapa de geolocalizacao dos membros e alunos (de pos-doutorado, doutorado e mestrado) com orientacao concluda. Os relatorios geradospermitem avaliar, analisar ou documentar a producao de grupos de pesquisa.

    O segundo trabalho a ser evidenciado e o LattesMiner, que e uma LDE (Lingua-gem de Domnio Especfico) para extracao automatica de informacoes dos currculosLattes. As informacoes extradas podem ser analisadas e usadas, por exemplo, paraidentificar redes sociais academicas, competencias regionais, perfil de grupos de di-ferentes areas de pesquisa e do conhecimento, entre outros. Ela e composta porum conjunto de classes escritas em Java, o que permite que outros desenvolvedo-res possam implementar as suas proprias aplicacoes com um alto nvel de abstracaoe poder de expressao. A linguagem LattesMiner faz parte de um projeto maior de-nominado Sistema Unificado de Currculos e Programas: Identificacao de RedesAcademicas (SUCUPIRA). O projeto SUCUPIRA visa ser uma ferramenta compu-tacional automatizada e de domnio publico que possa, eventualmente, auxiliar naobtencao de indicadores de desempenho de docentes, pesquisadores e programasde pos-graduacao (ALVES; YANASSE; SOMA, 2012).

    Por fim, o ultimo trabalho a ser abordado e o Lattes Extrator13, que e uma ferra-menta acessvel via Web que foi desenvolvida pelo proprio CNPq, servindo de instru-mento para extracao das informacoes disponibilizadas na PL. O acesso a ela e restrito,e apenas as instituicoes licenciadas podem extrair, diretamente do banco de currculosLattes do CNPq, os dados curriculares de seus pesquisadores, professores, alunos ecolaboradores. Os currculos extrados sao disponibilizados para download, em arqui-vos no formato XML (eXtensible Markup Language). As instituicoes podem criar seuproprio banco de currculos Lattes e, para tal, podem contar com o modelo e dicionariode dados do currculo Lattes, disponibilizado pelo CNPq. Alem disso, as instituicoespodem desenvolver suas proprias rotinas para importacao dos dados curriculares parasuas bases corporativas, uma vez que os dados extrados estarao armazenados nocomputador da instituicao em um formato aberto e documentado (arquivos XML). As

    13http://lattesextrator.cnpq.br/lattesextrator

  • 20

    extracoes do banco de currculos do CNPq sao feitas em lotes e podem ser confi-guradas de acordo com o interesse e com as permissoes de cada usuario do LattesExtrator.

    Com esses trabalhos encontrados, fica claro que existe uma necessidade grandeno que se refere a coleta e extracao de informacoes dos currculos da PL. O LattesExtrator e uma ferramenta de coleta oficial, do proprio CNPq, e nao foi possvel se termuitas informacoes sobre ela. Ja a biblioteca LattesMiner, dentro do contexto apre-sentado, fazia parte do projeto SUCUPIRA14, que recentemente virou uma plataformaWeb oficial da Capes que visa se tornar uma base de referencia do SNPG (SistemaNacional de Pos-Graduacao). Enquanto essas duas ferramentas sao oficiais e temseu acesso para uso restrito, o scriptLattes acaba se tornando uma alternativa parapesquisadores independentes que necessitam coletar informacoes desses currculospara os seus trabalhos. Como foi falado no incio dessa secao, infelizmente nao foiencontrado nenhum trabalho relacionado diretamente com a tarefa de busca, mas,apesar disso, todos esses trabalhos aqui citados tem o currculo da PL como foco dosseus esforcos e estudos.

    1.4 Motivacoes

    A principal motivacao para este trabalho encontra-se no desafio apresentado pelaCoordenadoria de Inovacao Tecnologica (CIT) exposto anteriormente na secao re-ferente ao problema. Porem, alem disso, o grande uso atualmente de servicos esistemas baseados na RI, os quais estao cada vez mais difundidos com milhoes depessoas dependendo deles para suas tarefas diarias, facilitando negocios, educacaoe entretenimento. Como exemplo disso, se tem os motores de busca Web, quesao de longe os mais populares e mais usados servicos de RI, fornecendo acessoa informacoes atualizadas, localizando pessoas e organizacoes, resumindo notciase eventos, e simplificando a comparacao de produtos e servicos na hora da com-pra (BUTTCHER; CLARKE; CORMACK, 2010).

    Em CROFT; METZLER; STROHMAN (2010), e evidenciado que em termos de pes-quisa a RI envolve o desenvolvimento de modelos matematicos, experiencias em largaescala com colecoes de teste ou usuarios, e a escrita de muitos artigos academicos.Alem disso, segundo BUTTCHER; CLARKE; CORMACK (2010), apesar de a buscaser a tarefa principal da area de RI, ela ainda abrange uma ampla variedade de as-suntos, tais como: Filtragem, Categorizacao, Agrupamento, Sumarizacao, Extracaode Informacao, Deteccao e Rastreamento de Topico, Busca Especializada, Respostaa` Perguntas e Recuperacao de Informacao Multimdia. Dessa forma, isso tudo acabase tornando como mais um motivo para realizacao deste TCC, pois mostra o grande

    14https://sucupira.capes.gov.br/sucupira

  • 21

    numero de possibilidades tanto para pesquisa, quanto para aplicacoes que a areapossui.

    Uma outra questao que chamou a atencao e acabou servindo como mais um moti-vador para a realizacao deste trabalho, e que, segundo BUTTCHER; CLARKE; COR-MACK (2010), em contraste a essa grande variedade de assuntos e aplicacoes, alemda importancia e onipresenca desses SRIs nos mais diversos ambientes computacio-nais, ainda se tem pouco enfoque na area nos cursos de Ciencia da Computacao. Amaioria dos cursos da area ainda nao ensinam os seus alunos a ter uma apreciacaoa respeito da variedade de questoes que estao envolvidas, especialmente a partir daperspectiva da RI.

    Quanto aos currculos da PL, a motivacao para a sua escolha, alem do que ja foifalado ate aqui, se deve tambem pela sua riqueza de informacoes e a sua crescenteconfiabilidade e abrangencia. Segundo CNPQ (2014), ele e uma grande fonte deconhecimento para estudos e pesquisas, na medida em que suas informacoes saorecorrentes, cumulativas e publicas. Dessa forma, ele acaba exercendo um importantepapel na preservacao da memoria, e da atividade de pesquisa no pas, fortalecendoo intercambio entre pesquisadores e instituicoes, alem de ser elemento indispensavele compulsorio a` analise de merito e competencia dos pleitos de financiamentos naarea de ciencia e tecnologia. Sabendo disso, e que tanto os currculos quanto asinformacoes contidas neles crescem a cada dia, uma ferramenta de busca eficaz eeficiente se torna indispensavel para a busca e recuperacao desses documentos.

    Visto que os SRIs foram concebidos para lidar com dados semi-estruturados e,principalmente, com dados nao-estruturados, na Figura 1, a seguir, pode se observaro crescimento das diferentes formas de dados ao longo dos ultimos anos. Nela efacil perceber o grande crescimento das duas formas de dados que sao tratadas pelaarea de RI. Dessa forma, isso complementa as outras motivacoes, na medida que anecessidade por sistemas que lidem com esses tipos de dados vem aumentando.

    Por fim, este TCC ainda serve de complemento para um projeto de pesquisamaior, chamado EUROPA, que esta sendo desenvolvido pelo curso de Ciencia daComputacao15 do CDTec, UFPel. Enquanto aqui sera realizado a tarefa que envolvetoda a questao de indexacao, busca e recuperacao dos currculos da PL, o projetoEUROPA pretende realizar a extracao do maximo de informacoes possveis dessescurrculos. Isto sera feito de maneira automatica e periodica, com o intuito de gerarestatsticas relevantes para analise e geracao de relatorios. Esta ferramenta ira facili-tar e auxiliar na visualizacao das informacoes contidas nos currculos, e em eventuaistomadas de decisioes que os envolvam. Quando um usuario realizar uma solicitacaode informacao ao sistema de busca aqui proposto, e a lista de classificacao for re-tornada, sempre que o usuario acessar algum dos currculos retornados ele sera le-

    15http://inf.ufpel.edu.br

  • 22

    vado a uma nova pagina onde ira encontrar as informacoes extradas organizadas emforma de relatorios e graficos. Este projeto visa atender a demanda da Coordenadoriade Inovacao e Tecnologia quanto ao problema que existe em se encontrar as com-petencias e infraestruturas da UFPel, que sao de difcil acesso a comunidade comoum todo.

    1.8

    2

    1.6

    1.4

    1.2

    0.8

    1

    0.6

    0.4

    0.2

    2000 2006 20110

    Trilh

    es

    de G

    igab

    ytes

    (Zet

    taby

    tes)

    Texto, LogsBlogs, Tweets,

    udio, Video, etc.

    Dados No-Estruturadose Semi-Estruturados

    Dados Estruturados

    Figura 1: Grafico que mostra o crescimento dos dados semi-estruturados e nao-estruturadosao longo dos ultimos anos (CORPORATION, 2011).

    1.5 Metodologia

    Esta monografia foi concebida seguindo uma metodologia incremental de desen-volvimento, experimentacoes e avaliacoes. Durante um primeiro momento foi feita umarevisao bibliografica com foco na area da RI. Depois disso, foi realizado uma analisetanto dos currculos, quanto da ferramenta de busca oficial da PL. Terminado essaetapa, foi feito ainda uma busca por trabalhos relacionados ao tema desta monografia.

    Atraves dessa revisao foi verificado ainda os principais problemas e desafios en-frentados pela area de RI, bem como as suas aplicacoes e tarefas. Alem disso, outrosaspectos relevantes envolvidos no processo de busca e recuperacao tambem foramrevisados. Ja quanto a analise da PL, ela foi feita para se adquirir o conhecimentonecessario para definir alguns aspectos envolvidos na modelagem do SRI proposto,e, para fechar essa fase inicial do TCC, foi apresentada ainda a arquitetura de umSRI, onde foram verificados os principais processos e etapas envolvidas nesse tipode sistema, tais como: Coleta, Transformacao de Texto, Indexacao, Ranqueamento eConsulta.

    Toda essa etapa inicial de fundamentacao teorica teve como objetivo criar a base

  • 23

    conceitual necessaria para a concepcao e modelagem do SRI AcademicS16. Ao finaldela, foi entao realizada a concepcao e modelagem deste sistema de busca. Nessaetapa foi feita a escolha das estrategias adotadas pelos diversos componentes presen-tes nesse tipo de sistema, bem como as definicoes sobre quais foram as tecnologiasutilizadas na implementacao do SRI proposto. Por fim, tendo a modelagem e as tec-nologias definidas para construcao da ferramenta de busca, o proximo passo foi darincio a fase de desenvolvimento, para so depois ser realizada a etapa de avaliacao etestes. Nesta fase de avaliacao foi feita uma comparacao entre a ferramenta de buscaAcademicS, e a ferramenta de busca oficial da PL.

    Com os testes concludos, ao final do trabalho sao apresentadas as consideracoesfinais, evidenciando as contribuicoes alcancadas e os possveis trabalhos futuros aserem desenvolvidos.

    1.6 Objetivos

    Atraves deste TCC espera-se atingir um objetivo geral, e que caracteriza o de-senvolvimento desta monografia. Porem, para se chegar a esta meta e necessarioprimeiro alcancar alguns objetivos especficos que nos conduziram a tal feito. Aquinesta secao eles serao expostos e detalhados.

    1.6.1 Objetivo Geral

    O objetivo central deste trabalho consiste na avaliacao de uso de um SRI parabusca e recuperacao de currculos da PL, sendo ele capaz de filtrar, indexar, organizare buscar os currculos dessa plataforma, auxiliando na identificacao das expertises(competencias individuais) dos pesquisadores e laboratorios (infraestruturas) da UF-Pel. A busca por eles se dara atraves de apenas uma entrada de dados, um unicocampo de texto, onde o usuario podera informar qual sua necessidade de informacao.Esta solucao ainda tera como desafio a criacao de uma interface de usuario queseja capaz de complementar a tarefa de busca, facilitando e auxiliando o processode recuperacao.

    1.6.2 Objetivos Especifcos

    Um SRI e composto por diversas etapas e processos, os quais evidenciam algunsobjetivos particulares a serem alcancados. Esses objetivos sao de fundamental im-portancia para se ter exito na concepcao e modelagem do sistema aqui proposto, osquais sao expostos a seguir.

    Verificar de que forma sera dada a aquisicao dos currculos da PL, do CNPq;16Nome dado ao SRI proposto nesta monografia. E uma abreviacao para Academic Search.

  • 24

    Identificar os processos necessarios para analise e transformacao do texto doscurrculos, antes dele ser indexado;

    Apresentar de que maneira sera realizado o processo de indexacao;

    Escolher o modelo de recuperacao que sera utilizado para fazer o ranqueamentodos currculos;

    Definir quais os dados que serao extrados dos currculos da PL;

    Analisar as metricas e processos disponveis para realizar a avaliacao ecomparacao do SRI desenvolvido;

    Definir uma interface de grafica que torne a navegacao fluda e intuitiva, comple-mentando assim o processo de busca e recuperacao.

    1.7 Organizacao do Trabalho

    Este TCC foi organizado em 5 captulos, como pode ser observado na Figura 2.Neste primeiro captulo foi apresentado uma introducao sobre o tema do trabalho, alemde falar das suas principais motivacoes e objetivos. Ja no captulo 2 e apresentada afundamentacao teorica deste TCC atraves da arquitetura de um SRI, que e descritaem detalhes. Na sequencia, o captulo 3 evidencia a concepcao e modelagem daferramenta de busca AcademicS, e tambem fala sobre as tecnologias escolhidas paraa implementacao desse sistema de recuperacao. Depois disso, no captulo 4 saoapresentados os testes e as comparacoes para validacao do SRI proposto. Por ultimo,no capitulo 5, sao expostas as consideracoes finais a respeito de tudo que foi realizadoneste trabalho, evidenciando as principais contribuicoes alcancadas e os possveistrabalhos futuros. Ao fim dos captulos, e possvel ainda encontrar as referenciasbibliograficas e os anexos.

  • 25

    Currculo Lattes: Uma Abordagem de Busca Explorando a Recuperao de Informao

    AcademicS

    4 Avaliao e Resultados

    3 Concepo e Modelagem

    Referncias

    5 Consideraes Finais

    1 Introduo

    Anexos

    Fundamentao Terica

    2 Sistema de Recuperao de Informao

    Figura 2: Estrutura dos captulos proposta para esta monografia.

  • 2 SISTEMA DE RECUPERACAO DE INFORMACAO

    Este captulo tem por objetivo apresentar a fundamentacao teorica deste TCC, queservira de base para a modelagem e concepcao do SRI AcademicS. Para isso seradescrito cada um dos componentes presentes nesse tipo de sistema, e atraves delesserao apresentados alguns conceitos da area de RI.

    2.1 Arquitetura de um SRI

    Durante a etapa de arquitetura de um sistema e que sao tomadas importantesdecisoes de projeto para que seja assegurado que o sistema satisfaca aos requisitose as metas da aplicacao, sendo difcil dessas decisoes serem mudadas em uma faseposterior (FOWLER, 2003). Na arquitetura de um SRI, geralmente e preciso se terem mente ao menos quatro, dos cinco componentes (etapas) envolvidos no processode busca e recuperacao de informacao. Sao eles: Coleta, Transformacao do Texto,Indexacao, Ranqueamento e Consulta.

    Em CROFT; METZLER; STROHMAN (2010) sao evidenciados dois requisitosbasicos deste tipo de arquitetura de software. O primeiro requisito e a eficacia (qua-lidade). Esse tipo de sistema deve ser capaz de recuperar o conjunto mais relevantede documentos possvel para uma consulta. Para que isso aconteca, sao armazena-dos cuidadosamente as estatsticas do texto que ajudam a melhorar a relevancia dosresultados. Ja o segundo requisito e a eficiencia (velocidade). Os SRIs devem pro-cessar as consultas dos usuarios o mais rapido possvel. Para que isso seja possvelsao empregadas estruturas de dados especializadas, que devem ser otimizadas parase obter uma recuperacao rapida.

    Segundo BUTTCHER; CLARKE; CORMACK (2010), a maioria dos SRIs comparti-lham uma arquitetura e organizacao basica que sao adaptadas para os requerimentosespecificos de cada aplicacao da qual eles fazem parte. Ao longo deste captulo seraodetalhados cada um dos componentes necessarios (citados anteriormente) para queesses dois requisitos sejam atendidos. Para CROFT; METZLER; STROHMAN (2010),muitos dos componentes que sao discutidos nas proximas secoes tem sido utilizados

  • 27

    a decadas, e esta concepcao geral tem-se mostrado bastante util em lidar com essesdois requisitos conflitantes. Apesar disso, nem todos os componentes abordados aquifarao parte de todos os motores de busca, mas juntos eles cobrem as funcoes maisimportantes para uma ampla gama de aplicacoes.

    De modo geral, pode-se dividir um SRI em tres processos principais. Sao eles:Processo de Coleta, Processo de Indexacao, e Processo de Recuperacao e Ranque-amento. Isso pode ser observado na Figura 3, que mostra a arquitetura de um SRI demaneira bastante simples e generica, mas suficiente para termos uma visao geral dosprocessos e dos componentes que estao presentes nesse tipo de sistema.

    Consulta do Usurio Anlise Lxica eExpanso de Consulta

    Recuperao eRanqueamento

    Consulta do Sistema

    Processo deRecuperao

    e Ranqueamento

    Coleo deDocumentos

    Coletor Web

    Indexador

    Web

    ndice Invertido

    Processo de Indexao

    ConjuntoResposta

    documento D10

    documento D27

    documento D15

    documento D33

    documento D11

    documento D87

    1

    2

    3

    4

    5

    6

    ...

    documento D33

    documento D22

    documento D14

    7

    8

    9

    lorem

    ipsum

    orci

    nisl

    rhoncus

    interdum

    aliquet

    quam

    Usurio

    Processo de Coleta

    Web

    Figura 3: Arquitetura de software de alto nvel de um SRI. A coleta e um modulo adicionalnecessario para os SRIs que nao possuem uma colecao propria de documentos (BAEZA-YATES; RIBEIRO-NETO, 2011)

    Os componentes de um SRI possuem especificacoes amplas, complexas e bemvariadas que devem contemplar desde os requisitos exigidos pela arquitetura, ate as

  • 28

    especificidades das diferentes aplicacoes de busca. Em cada um dos componentesque serao evidenciados nas proximas secoes sao abordados os conhecimentos ne-cessarios para se ter a base necessaria para o captulo seguinte, de concepcao emodelagem do SRI avaliado aqui neste trabalho. Antes de ir para a proxima secaoque tratara do primeiro componente (de coleta), sera exposta mais uma vez a arquite-tura de um SRI, so que agora com um pouco mais de detalhes. Na Figura 4, abaixo,sao mostrados com um nvel de detalhamento maior o Processo de Indexacao, e oProcesso de Recuperacao e Ranqueamento.

    Processo de Indexao

    Processo de Ranqueamento

    Processo de Recuperao

    Expanso e Modicao da Consulta

    consulta expandida e modicada

    Formatao dosResultados

    Conjunto Resposta

    documento D10

    documento D27

    documento D15

    documento D33

    1

    2

    3

    4...

    Ranqueamento

    DocumentosRecuperados

    Recuperao ndice Invertido

    consulta transformada

    Transformao do Texto

    representaes dos documentos

    Indexador

    listas invertidas

    Interface com o Usurio

    consulta

    Coleo deDocumentos

    Figura 4: Processo de Indexacao e Processo de Recuperacao e Ranqueamento mostrandoa comunicacao entre os componentes da arquitetura de um SRI (BAEZA-YATES; RIBEIRO-NETO, 2011).

  • 29

    2.2 Coletor

    O componente de coleta e o primeiro passo de um SRI. Esta etapa, que e opcionaldentro da arquitetura desses sistemas, deve ser utilizada quando nao se possui umacolecao propria de documentos. Como o foco deste trabalho e em uma ferramentade recuperacao Web, sera tratado aqui dos coletores para este ambiente. SegundoBAEZA-YATES; RIBEIRO-NETO (2011), um Coletor Web1 e um software projetadopara seguir os links das paginas Web com a finalidade primaria de descobrir e baixarnovas paginas. No caso da recuperacao na Web, essas paginas sao usadas posteri-ormente para indexacao e busca. Segundo CROFT; METZLER; STROHMAN (2010)fala, embora isso pareca aparentemente simples, existem desafios significativos naconcepcao desse tipo de coletor para que ele possa lidar de maneira eficiente com ogrande volume de paginas Web que sao modificadas a todo instante.

    Para entender como esses coletores funcionam, veja o algoritmo da Figura 5. Elenos apresenta um coletor muito simples, onde e tomado como entrada um conjunto depaginas iniciais (as sementes), que sao baixadas, analisadas e verificadas em buscade novos links. Os links que apontam para paginas que ainda nao foram baixadas saoadicionados a uma fila central de URLs (Uniform Resource Locator ) para posteriorrecuperacao. Em seguida, o coletor seleciona uma nova pagina da fila para baixare o processo e repetido ate que um criterio de parada seja atingido (BAEZA-YATES;RIBEIRO-NETO, 2011).

    Figura 5: Um algoritmo de coleta muito simples (BAEZA-YATES; RIBEIRO-NETO, 2011).

    Construir um coletor simples se mostra uma tarefa bastante facil e trivial se forpensado no algoritmo acima. Porem, segundo SHKAPENYUK; SUEL (2002), apesarde ser relativamente facil contruir um coletor lento que baixa algumas paginas porsegundo por um curto perodo de tempo, construir um sistema de alto desempenhoque seja capaz de baixar centenas de milhoes de paginas durante diversas semanasapresenta um numero de desafios no projeto de sistema, tais como: E/S (Entrada eSada), eficiencia de rede, robustez, e capacidade de gerenciamento.

    1Conhecido tambem como Web Crawler , Web Spider , Web Robot ou, simplesmente Bot.

  • 30

    Atualmente, todos os grandes motores de busca Web fazem uso desses coletores,e suas requisicoes sao responsaveis por mais de 10% das visitas que os websitesrecebem (GROUP, 2004). Coletores eficientes sao a chave para o sucesso dessasmodernas ferramentas de busca. Em grande parte, a Web continua inteligvel paraseus usuarios humanos porque e constantemente analisada e monitorada por essesagentes automaticos (ECKMANN; MOSES, 2002).

    Alem dos coletores serem utilizados em motores de busca gerais (como o da Go-ogle), eles tambem estao presentes em diversos tipos de aplicacoes Web, como: mo-tores de busca verticais e focados, sistemas de espelhamento e arquivamento, e emaplicacoes para analise e caracaterizacao de paginas Web. Segundo BAEZA-YATES;RIBEIRO-NETO (2011), apesar de todos os tipos de coletores objetivarem uma cober-tura que seja tao completa quanto possvel, eles podem se diferenciar em tres obje-tivos. O primeiro objetivo e referente a Atualidade. Em alguns casos, e fundamentalque a copia obtida pelo coletor esteja atualizada, enquanto que em outros casos umacopia antiga e tao boa quanto. O segundo objetivo e o da Qualidade. Alguns coletorestem como objetivo uma porcao particular e de alta qualidade da Web, enquanto queoutros estao mais interessados em ter uma ampla cobertura em diferentes nveis dequalidade. Por ultimo, vem ainda a questao da Boa Educacao. Alguns coletores estaomais interessados em manter uma ampla fracao da Web, enquanto que outros podemsacrificar a quantidade para ter mais qualidade e/ou atualidade. A cobertura dependedessa questao.

    Um outro aspecto mencionado por BAEZA-YATES; RIBEIRO-NETO (2011) sao osdiferentes tipos de paginas Web, que do ponto de vista de um coletor podem ser dife-renciadas da seguinte forma: publica/privada e estatica/dinamica. A Web privada incluipaginas protegidas por senha, que necessitam de autenticacao para se ter acesso. Jaa Web publica, por outro lado, e a parte que pode, em princpio, ser indexada peloscoletores. A Figura 6 ilustra o que acabou de ser falado.

    Privada

    Pblica

    EstticaDinmica

    Alcanvel ao se seguir links Alcanvel somente aose preencher formulrios

    No Indexvel

    Web OcultaIndexvel pela maioriados motores de busca

    Figura 6: Tipos de pagina Web do ponto de vista do coletor (BAEZA-YATES; RIBEIRO-NETO,2011).

  • 31

    2.2.1 Arquitetura de um Coletor Web

    Os coletores Web, segundo CASTILLO (2004), sao uma parte central dos motoresde busca, e por isso detalhes sobre os seus algoritmos e arquiteturas sao mantidoscomo segredos comerciais. Quando a concepcao de um coletor Web e publicada,muitas das vezes ha uma importante (e intencional) falta de detalhes, o que acabaimpedindo que terceiros reproduzam o trabalho. Existem tambem preocupacoes sobresearch engine spamming, que acaba impossibilitando que os principais motores debusca publiquem tambem seus algoritmos de ranqueamento. Contudo, a arquiteturatpica de alto nvel de um coletor Web e mostrada na Figura 7 e descrita na Tabela 1.

    Armazenamento

    Texto (Rico) Links Metadados

    Coletores demltiplas threads

    Escalonadorde curto prazo

    Escalonadorde Longo Prazo

    Baixador

    WWW

    Figura 7: Diagrama que mostra arquitetura de alto nvel de um coletor Web tpico (CASTILLO,2004; BAEZA-YATES; RIBEIRO-NETO, 2011).

    Tabela 1: Descricao dos componentes presentes na arquitetura basica de um coletor Web.

    Componente Funcao

    BaixadorRecuperar o conteudo correspondente de cada URL, e analisa-lo parao modulo de armazenamento.

    Armazenamento Fornecer metadados sobre as paginas recuperadas ao escalonador.

    Escalonador

    Responsavel por manter uma fila de URLs a serem visitadas.

    Curto PrazoRearranjar as paginas em conformidade com aspolticas de boa educacao ou para otimizar uso darede. Escala de tempo: segundos ou minutos.

    Longo PrazoDecide quais paginas devem ser visitadas de acordocom estimativas de qualidade e/ou atualidade. Es-cala de tempo: horas e dias.

  • 32

    2.2.2 Polticas de um Coletor Web

    Como pode ser observado em DHENAKARAN; SAMBANTHAN (2011) e BAEZA-YATES; RIBEIRO-NETO (2011), o comportamento de um coletor Web pode ser defi-nido por uma serie de polticas que sao resumidas na Tabela 2. A primeira delas ea Poltica de Selecao, que se faz necessaria devido ao tamanho atual da Web, ondeate mesmo os grandes motores de busca conseguem apenas cobrir uma fracao daparte publica disponvel na rede. Segundo GULLI; SIGNORINI (2005), a busca emgrande escala realizada pelos grandes motores de busca nao indexam mais do que40-70% da Web indexavel. Por causa disso, e desejavel que a fracao de paginas Webbaixadas contenham as paginas mais relevantes, e nao apenas uma amostra aleatoriada Web. Essa poltica lida com as metricas de importancia necessarias para fazer apriorizacao de paginas da Web.

    Tabela 2: Resumo das quatro polticas utilizadas pelos coletores Web, e que definem o com-portamento da coleta de acordo com o objetivo de cada um.

    Poltica Objetivo

    Selecao Visitar paginas de melhor qualidade primeiro.

    Revisitacao Atualizar o ndice quando as paginas mudam.

    Boa Educacao Evitar a sobrecarga de websites.

    ParalelizacaoCoordenar a coleta de forma distribuida, utilizando multiplos

    coletores de forma sincronizada.

    Ja a Poltica de Revisitacao, e necessaria pois a Web possui uma natureza ex-tremamente dinamica, e realizar a coleta de uma fracao dela pode levar semanas oumesmo meses. Ate que o coletor Web termine a sua coleta fica evidente que mui-tos eventos podem ter acontecido, tais como: a criacao, atualizacao ou exclusao depaginas. Do ponto de vista de um motor de busca, existe todo um custo associado anao deteccao desses eventos.

    Na Poltica de Boa Educacao, existe uma preocupacao com o grande numero derequisicoes que acabam sendo geradas pelos coletores aos servidores de terceiros,alem de existir tambem a questao da privacidade, pois muitas vezes os adminsitra-dores dos websites podem nao querer que os coletores acessem certas partes deseus sites. Isso porque, certas paginas podem nao terem sido feitas para o acessodo publico em geral. Um ultimo aspecto a ser cuidado por essa poltica e com oscoletores que mantem uma copia das paginas visitadas, que devem ter cuidado comquestoes relativas a direitos autorais (copyright).

    Por ultimo, a Poltica de Paralelizacao tem por objetivo rodar multiplos processosem paralelo, maximizando assim a taxa de download da coleta. Nesta abordagemdeve ser evitado baixar as mesmas paginas mais de uma vez, sendo necessario uma

  • 33

    poltica para atribuicao de novas URLs aos baixadores.Como observacao final a essas polticas, qualquer website pode configurar um

    arquivo chamado robots.txt. Nele o administrador do site pode especificar ao co-letor que o acessa uma serie de configuracoes, que incluem desde limitacoes paranao acessar partes do site, ate o seu intervalo de visitacao. Os maiores motoresde busca da Web Google, Bing e Yahoo respeitam as configuracoes colocadasnesse arquivo.

    2.3 Transformacao do Texto

    O texto vindo do coletor, ou de algum repositorio de dados, tipicamente, nao vempronto para ser indexado. Dessa forma, antes de indexar os documentos da colecao,o texto deve primeiramente passar por uma etapa de transformacao e normalizacao,onde sao aplicadas diversas operacoes textuais. As operacoes mais comuns (e queserao abordadas nessa secao) sao a analise lexica, a eliminacao de palavras de pa-rada (stopwords), e a radicalizacao das palavras (stemming). Como produto dessasdiferentes interacoes surge um subconjunto de termos para serem utilizados como ter-mos de indexacao, os quais sao utilizados para compor a representacao do documento(sua visao logica). Essa representacao pode ser menor do que o documento original,dependendo isso do subconjunto de termos de indexacao resultante das operacoestextuais aplicadas.

    2.3.1 Analise Lexica

    A analise lexica e o processo de conversao de uma sequencia de caracteres (otexto dos documentos) em uma sequencia de palavras (as palavras candidatas a se-rem adotadas como termos do ndice). Ela e a responsavel pelo processamento dasequencia de smbolos (tokens) textuais do documento, reconhecendo assim algunsdos seus elementos estruturais. Fazer essa quebra do texto em smbolos, e um im-portante passo no processo de transformacao, devendo tanto o documento, quanto aconsulta, serem transformados em smbolos da mesma maneira. Dessa forma, elespodem ser facilmente comparados (CROFT; METZLER; STROHMAN, 2010).

    Em muitos casos os smbolos sao iguais as palavras, e a` primeira vista, tudo queparece estar envolvido e com o reconhecimento dos espacos em branco como se-paradores dessas palavras. Porem, ha uma serie de decisoes que podem afetar aobtencao desses smbolos, tornando este processo algo nao trivial. Por exemplo, sefor definido que os smbolos sao uma cadeia de caracteres alfanumericos separadospor espacos. Isso nao nos diz, no entanto, como lidar com caracteres especiais, letrasmaiusculas, hifens e apostrofos (BAEZA-YATES; RIBEIRO-NETO, 2011).

    Quatro casos particulares descritos em FRAKES; BAEZA-YATES (1992) para o

  • 34

    tratamento de elementos textuais sao abordados, entre eles estao: dgitos, hifens,marcas de pontuacao e a caixa das palavras (maiusculas ou minusculas). Nele e ditoque essas operacoes sao de facil implementacao, porem o que e mais difcil e definiros cenarios particulares que podem necessitar de distincao. Infelizmente nao ha umasolucao clara para este problema, e o que se sabe e que e preciso se dar atencao acada um dos elementos textuais, pois eles podem ter um impacto profundo no tempode recuperacao dos documentos, pois muitas das vezes, as estrategias de indexacaonao ficam claras para o usuario, dificultando seu entendimento sobre o processo derecuperacao.

    Falando mais especificamente desses elementos textuais, tradicionalmente osdgitos (numeros) nao sao bons termos de indexacao porque, fora de um contexto,sao inerentemente vagos. Por causa disso, e mais sabio desconsidera-los. Ja emcasos em que outros termos aparecem junto com numeros, nao fica claro se eles de-vem ser desconsiderados ou nao. Quanto as marcas de pontuacao, normalmente elassao removidas por completo no processo de analise lexica, e a caixa das palavras,tipicamente, sao convertidas para todo o texto em maiusculas, ou minusculas. Comofoi visto, nao existe uma regra que diga exatamente o que fazer com os elementostextuais presentes no texto, sendo isto dependente da colecao de documentos, e daestrategia de recuperacao adotada (BAEZA-YATES; RIBEIRO-NETO, 2011).

    De acordo com CROFT; METZLER; STROHMAN (2010), para alguns idiomas,esse processo de separacao de smbolos se torna ainda mais interessante e desa-fiador. Em chines, por exemplo, nao existe um separador de palavras evidente, comoo espaco em branco, presente no portugues. Por causa disso, alguns motores debusca Web acabam optando por evitar completamente as operacoes textuais, umavez que isso simplifica a interpretacao que o usuario tem da tarefa de recuperacao.Contudo, ainda nao se sabe se essa estrategia sera utilizada ou nao a longo prazo.

    2.3.2 Remocao de Stopwords

    Algumas palavras acabam aparecendo com uma frequencia muito alta na colecaode documentos, por causa disso elas acabam perdendo o significado e se tornaminuteis para o proposito de recuperacao. Esse tipo de palavra e chamada de stopword,e sao normalmente removidas do conjunto de termos de indexacao. Essas palavrassao, em geral, artigos, preposicoes e conjuncoes, podendo serem estendidas aindapara alguns verbos, adverbios e adjetivos. Um exemplo de palavras estendidas, e seestivesse sendo tratado um conjunto de documentos sobre casos medicos (um casoespecfico), onde e bem provavel que palavras como medico, paciente e doencaaparecam em todos os documentos. Por causa disso essas palavras poderiam entaoser acrescentadas a lista de stopwords para serem desconsideradas das analises.

    A eliminacao das stopwords, segundo BAEZA-YATES; RIBEIRO-NETO (2011),

  • 35

    possui o benefcio de reduzir o tamanho da estrutura de indexacao consideravel-mente, sendo comum obter uma compressao de 40% no tamanho da estrutura deindexacao. Apesar disso, ela pode reduzir a revocacao. Um exemplo e a fraseser ou nao ser, que com a eliminacao das stopwords se tornaria apenas ser.Isso acaba tornando quase impossvel a deteccao dos documentos relevantes quecontenham a frase especificada. Por essa razao alguns motores de busca Web fa-zem a adocao de um ndice textual completo, inserindo todas as palavras presentesda colecao no ndice. Porem, CROFT; METZLER; STROHMAN (2010) fala que al-guns motores de busca, para contornar esse problema, acabam utilizando listas muitopequenas de stopwords nas operacoes textuais dos documentos da colecao, e usamlistas maiores para a etapa de tranformacao do texto da consulta.

    Nos anexos deste trabalho foi colocado uma tabela com um conjunto de stopwords,facilitando a visualizacao desse tipo de palavra. As listas de stopwords sao criadas,normalmente, com base em analises estatsticas, sendo que cada aplicacao deve ca-librar (refinar) a sua propria lista para atender da melhor forma possvel a sua neces-sidade.

    2.3.3 Stemming

    O processo de stemming2 e aplicado pelos algoritmos chamados de stemmers.Em COELHO (2007), e encontrado um estudo completo a respeito dessa etapa detransformacao textual, e dos algoritmos existentes para a lngua portuguesa. Nasequencia iremos dar destaque a alguns pontos importantes evidenciados nele.

    A tecnica de stemming consiste em reduzir as palavras aos seus radicais (stems),atraves da remocao de seus afixos (sufixos e prefixos), de forma que as palavrasmorfologicamente relacionadas sejam representadas por uma unica forma comum,permitindo assim que elas sejam combinadas. Por exemplo, as palavras aprendo,aprendeu, e aprendendo (todas formas derivadas do verbo aprender), po-deriam, atraves da remocao dos seus sufixos, serem reduzidas ao stem aprend.Como vantagens ao uso dessa tecnica temos a melhora da revocacao, isso porque re-duzindo um termo ao seu radical e possvel se atingir todas as palavras da qual aquelestem foi derivado, como no exemplo anterior onde a partir do stem aprend estariase representando todas as palavras que tenham esse sufixo. Uma outra vantagem ea questao da reducao do ndice da colecao de documentos, que segundo FRAKES;BAEZA-YATES (1992) pode chegar a um fator de compressao de mais de 50% emalguns casos.

    Como desvantagens se tem a perda de precisao na recuperacao, uma vez que naotemos mais os termos exatos para a consulta, e sim os seus radicais. Alem disso, podeexistir ainda a perda de contexto, induzindo a producao de stems iguais para termos

    2Tambem conhecido por radicalizacao ou radicalizador de palavras.

  • 36

    com sentidos diferentes, mas de mesma escrita (homonimos). Um outro problemasao aqueles provenientes de erros como o overstemming, que e quando parte dostem e tambem removido na extracao do sufixo. Isso pode resultar na conflacao depalavras nao relacionadas, aumentando o numero de documentos nao relevantes. Jao understemming ocorre quando o sufixo nao e completamente removido da palavra,resultando em um stem incorreto, prejudicando a conflacao de palavras relacionadas,causando a nao recuperacao de documentos que seriam relevantes.

    Conforme apresentado por COELHO (2007) e BAEZA-YATES; RIBEIRO-NETO(2011), os metodos para realizacao de stemming sao: (1) Consulta a Dicionarios,que e um metodo simples que tem como ideia possuir um dicionario com todas aspalavras de uma determinada lngua e seus respectivos radicais. Um problema dele eque obviamente nao e viavel identificar absolutamente todas as palavras (e suas va-riantes), alem do onus de armazenamento devido as suas dimensoes; (2) Variedadede Sucessores, que e baseado na determinacao dos limites dos morfemas, usandoconhecimentos de lingustica estrutural. Ele e mais complexo que os algoritmos deremocao de afixos; (3) N-Gramas, que e baseado na identificacao de diagramas etrigramas, e esta mais para um procedimento de clustering do que de stemming; (4)Remocao de Afixos (Sufixos e Prefixos), que e intuitivo, simples e pode ser imple-mentado de maneira eficiente. Ele e utilizado pela maioria dos stemmers existentese e fortemente dependente da linguagem para a qual foi escrito, pois baseia-se di-retamente nas regras de formacao das palavras para detectar e remover os afixos.Diferentemente disso os metodos (2) e (3) nao tem essa dependencia para com alinguagem.

    Dentre os stemmers propostos para a lngua portuguesa se destacam: a versaopara o portugues do algoritmo de PORTER (2005), o Removedor de Sufixos daLngua Portuguesa (RSLP) proposto por ORENGO; HUYCK (2001) e o algoritmoSTEMBR proposto por ALVARES; GARCIA; FERRAZ (2005). Alem desses, foi en-contrado tambem um quarto stemmer chamado de Light Stemming For Portuguese,proposto por SAVOY (2006).

    Para este trabalho sera mostrada a adaptacao para o portugues (feita em 2005)para o algotirmo de PORTER, concebido na decada de 1980, que e um removedorde afixos. Ele foi projetado originalmente para a lngua inglesa, e e baseado em umaserie de regras e condicoes aplicadas sequencialmente. Uma regra e definida naforma (condicao)sufixo1 = sufixo2, onde: (a) (condicao) e uma condicao a sertestada (por exemplo, tamanho da palavra restante apos a remocao do sufixo1); (b)sufixo1 e o sufixo a ser procurado na palavra sendo processada; (c) sufixo2 e o sufixoa ser adicionado a` palavra resultante da remocao do sufixo1.

    As regras sao aplicadas caso o item b (sufixo1) seja encontrado na palavra anali-sada, e as condicoes definidas no item a ((condicao)) sejam atendidas. Dessa forma,

  • 37

    o sufixo1 e removido da palavra e substituido pelo sufixo2, caso este esteja definido.Assim, aplicando-se estas regras em um sequencia pre-definida, a palavra resultantesera o stem da palavra original. Sao definidas um total de 5 regras (algumas comvarias sub-regras), responsaveis pela remocao de sufixos de plural, sufixos de verbo esufixos comuns. A implementacao desse algoritmo para o portugues, segue o mesmomodelo do algoritmo original, possuindo tambem cinco regras basicas como pode servisto abaixo na Tabela 3.

    Tabela 3: Regras do algoritmo de PORTER (2005).

    Regra Descricao

    1 Remocao dos sufixos comuns.

    2 Remocao dos sufixos verbais, caso o passo (1) nao tenha sofrido nenhumaalteracao no passo anterior.

    3 Remocao da vogal i, caso seja precedida da consoante c no final da palavra.

    4 Rmocao dos sufixos residuais os, a, i, o, a, , o. Isso caso as regras(1) e (2) nao tenham alterado a palavra.

    5 Remocao dos sufixos e, e, e, tratamento da cedilha e tratamento dasslabas gue, gue e gue.

    Preliminarmente a aplicacao dessas regras, e necessario tratar as vogais nasali-zadas a e o, sendo substituidas no termo por a e o. Apos a aplicacao dasregras, elas devem retornar a` sua forma original.

    2.4 Indexacao

    Para atender ao requisito da arquitetura quanto a questao da eficiencia (veloci-dade), diferentes estruturas de dados podem ser utilizadas, mas a mais popular e ondice invertido. Um ndice invertido e um mecanismo orientado a palavras para aindexacao de uma colecao de texto a fim de acelerar a tarefa de busca. A estruturado ndice invertido e composta por dois elementos: o vocabulario e as ocorrencias.O vocabulario e o conjunto de todas as palavras diferentes do texto. Para cada pa-lavra do vocabulario, o ndice armazena os documentos que contem esta palavra.Por essa razao, ele e chamado de ndice invertido, pois pode se reconstruir o textoatraves do ndice. Esse e o principal ndice utilizado atualmente e e tambem o maisantigo (BAEZA-YATES; RIBEIRO-NETO, 2011).

    Como e mostrado por BAEZA-YATES; RIBEIRO-NETO (2011), a forma mais sim-ples de se representar os documentos que contem cada palavra do vocabulario e umamatriz cujas celulas armazenam o numero de vezes que uma palavra ocorre em umdocumento. A Figura 8 ilustra a matriz de termos por documentos para uma colecao

  • 38

    de documentos qualquer. Esta representacao simples e muito rapida, dado que enecessario apenas um acesso a` matriz para determinar se um documento contemuma determinada palavra. Para usar o modelo Booleano, nao precisa-se nem mesmodo numero de ocorrencias da palavra em cada documento. Nesse caso, uma matrizBooleana que indica se um termo ocorre ou nao em um documento e o suficiente.

    tovocabulrio ni d1 d2 d3 d4

    2 4 - -2

    3 2 3 3-

    1 2 - --

    4 2 2 2 2

    1 - - -1

    dois

    beor

    [1,4] [2,2]

    [1,2] [3,3] [4,3]

    [1,2]

    [1,2] [2,2] [3,2] [4,2]

    ocorrncias representadas como listas invertidas

    Figura 8: Indice invertido basico e matriz de termos por documentos. Cada entrada da matrizindica a frequencia do termo no doucmento. Note que o vocabulario armazena o numero ni dedocumentos em que um termo ki aparece. No lado direito, a matriz de termos por documentose substituida por listas invertidas, cujas entradas sao compostas pelo documento contendo otermo e a frequencia correspondente do termo. (BAEZA-YATES; RIBEIRO-NETO, 2011)

    O principal problema com essa solucao simples e que ela precisa de muito espaco.Considerando-se que essa matriz e esparsa, a solucao e associar uma lista de docu-mentos a cada palavra. O conjunto de todas essas listas e chamada de ocorrencias(ou posting lists). O lado direito da Figura 8 mostra as listas invertidas associadas aomesmo exemplo. O espaco utilizado e proporcional a`s ocorrencias das palavras nosdocumentos e e bem menor do que o tamanho do texto. Por fim, segundo BAEZA-YATES; RIBEIRO-NETO (2011), para implementar o modelo vetorial e outros modelos,e preciso apenas alterar a ordem das listas invertidas para uma ordem baseada emfrequencias decrescentes. Em geral, em vez de armazenar o numero de ocorrenciaspor documento, pode-se armazenar o peso associado a cada par termo-documento,em ordem decrescente. Essa variante e chamada de ndice invertido orientado a ran-king.

    2.5 Ranqueamento

    Existe uma parte da area de RI que se preocupa com a modelagem das funcoesde ranqueamento, e que e considerada por muitos como o core (nucleo central) dosSRIs. O componente de ranqueamento, em si, tem como objetivo realizar a atribuicaode pesos (julgamentos de relevancia) aos documentos da colecao em relacao a umaconsulta de busca. Esta e uma tarefa complexa, ja que aquilo que pode ser relevante

  • 39

    para um usuario, pode nao ser para outro. Dessa forma, essas funcoes devem preverda melhor maneira possvel, quais os documentos que irao suprir a necessidade deinformacao do usuario.

    Na literatura existem diversos modelos matematicos para lidar com esse problema,e eles podem ser dividos de acordo com as propriedades de cada tipo de documento(texto, links e arquivos multimidia como imagem, audio e vdeo). Como aqui nestetrabalho sera realizado a busca por currculos da PL (paginas Web), foi levado emconsideracao os modelos de recuperacao tanto de texto, quanto de links, porem, de-vido ao escopo definido (pensando em uma abordagem inicial mais simples), seraoapresentados apenas dois modelos classicos de ranqueamento para texto: ModeloBooleano e o Modelo Vetorial. Sera a partir desses modelos mais basicos que a va-lidade de uso de um SRI para a busca por currculos da PL sera verificada, servindocomo base de comparacao para trabalhos futuros que envolvam modelos de ranque-amento mais sofisticados empregados na tarefa de busca por esses documentos.

    Antes de abordar os dois modelos para recuperacao de texto citados anterior-mente, e necessario que se tenha entendido alguns conceitos essenciais para a com-preensao deles. Em BAEZA-YATES; RIBEIRO-NETO (2011), sao definidas as premis-sas fundamentais que formam a base de um algoritmo de ranqueamento, e que deter-minam um modelo de RI, as quais sao formadas por uma quadrupla [DDD,QQQ,F,R(qi, dj)].Na Tabela 4 os elementos dessa quadrupla sao descritos.

    Tabela 4: Descricao das premissas fundamentais que formam a base de um algoritmo deranqueamento.

    Elemento Descricao

    DDDE um conjunto composto por visoes logicas (ou representacoes) dos docu-mentos da colecao.

    QQQE um conjunto composto por visoes logicas (ou representacoes) das necessi-dades de informacao dos usuarios. Essas representacoes sao chamadas deconsultas.

    F

    E um arcabouco para modelar as representacoes dos documentos, das con-sultas e de seus relacionamentos, como conjuntos e relacoes Booleanas, ve-tores e operacoes de algebra linear, espacos amostrais e distribuicoes de pro-babilidade.

    R(qi, dj)

    E uma funcao de ranqueamento que associa um numero real a`representacao de um consulta qi QQQ e a` representacao de um documentodj DDD. Esse ranking define o ordenamento entre os documentos em relacaoa` consulta qi.

    Na definicao anteior foi evidenciado dois elementos basicos: as Consultas, e osDocumentos. Porem, foi falado tambem das visoes logicas (ou representacoes) de-les. Para falar disso, e necessario entender primeiramente o que sao os termos

  • 40

    de indexacao. Nos modelos de recuperacao de texto, um termo de indexacao euma palavra-chave (ou grupo de palavras-chaves consecutivas) que tem significadoproprio, representando os conceitos-chave (ou topicos) em um documento. Ja de umamaneira mais geral, um termo de indexacao pode ser qualquer palavra que aparecano texto de um documento. Sendo assim pode se agora pensar em um importantecomponente da colecao o vocabulario que e composto por todos os termos deindexacao distintos presentes no corpus do sistema.

    Visto isso, a visao logica de um documento pode ser um subconjunto dos termosque o compoe. Como foi falado na secao anterior, muitas vezes os textos dos do-cumentos passam por um processo de transformacao onde operacoes textuais saorealizadas, um exemplo disso sao as tecnicas para remocao de palavras de parada(stopwords) e radicalizacao de palavras (stemming). Ja a visao logica de uma con-sulta, pode ser ela acrescida com sinonimos dos termos utilizados nela, tecnica essaque chamada de Expansao Automatica de Consulta.

    Por fim, antes de apresentar o primeiro modelo e necessario o entendimento doque e uma matriz termo por documento. Quando um termo ocorre em um documento,isso estabelece uma relacao entre eles, que pode ser quantificada pela frequencia dotermo no documento. De forma matricial isso pode ser escrito como segue abaixo,nela cada elemento fi,j representa a frequencia do termo ki no documento dj.

    d1 d2

    k1 f1,1 f1,2

    k2 f2,1 f2,2

    k3 f3,1 f3,3

    Com os conceitos basicos revisados (consultas, documentos, visoes logicas, matriz

    termo por documento, e termos de indexacao), sera apresentado agora o modelo maissimples de RI, o modelo Booleano.

    2.5.1 Modelo Booleano

    No modelo Booleano, uma consulta q e uma expressao Booleana convencional so-bre termos de indexacao, onde os elementos da matriz de termos por documentos sao1, para indicar a presenca do termo no documento, ou 0, para indicar a ausencia dotermo no documento. Considerando c(q) como qualquer um dos componentes conjun-tivos da consulta, e um dado documento dj, sendo c(dj) seu componente conjuntivode documento correspondente, entao a similaridade entre o documento e a consulta qe definida a seguir na Tabela 5.

    Se sim(dj, q) = 1, entao o modelo Booleano preve que o documento dj seja rele-vante a` consulta q, caso contrario, a predicao e que o documento nao seja relevante.

  • 41

    Tabela 5: Descricao da funcao de similaridade do Modelo Booleano.

    Formula

    sim(dj , q) =

    1 se c(q) | c(q) = c(dj)0 caso contrarioComponente Descricao

    c(q) E o componente conjuntivo da consulta.

    c(dj) E o componente conjuntivo do documento.

    Isto acaba levando a uma abordagem onde nao existe uma satisfacao parcial dascondicoes da consulta. Dessa forma, esse criterio binario de decisao, sem nenhumanocao de grau, impede uma boa qualidade na recuperacao. Na sequencia da secaoveremos que atraves da extracao de algumas propriedades estatsticas do texto epossvel se trabalhar com um modelo mais sofisticado de ranqueamento, o ModeloVetorial.

    2.5.2 Ponderacao pela Frequencia dos Termos (TF)

    Como a proposta do modelo Booleano e muito simplista, e necessario fazer umaabordagem onde seja possvel realizar a extracao de propriedades estatsticas dostextos dos documentos, e a primeira propriedade que iremos abordar e a ponderacaoTF. A ponderacao TF, baseia-se na suposicao de que o valor (ou peso) de um termo kique ocorre em um documento dj e simplesmente proporcional a` frequencia do termofi,j. Isto e, quanto mais frequentemente um termo ki ocorrer no texto do documentodj maior sera a sua frequencia de termo TFi,j.

    Essa hipotese baseia-se na observacao que termos com alta frequencia sao im-portantes para descrever os topicos-chave de um documento, a qual leva diretamentea` seguinte formulacao da ponderacao TF que e dada por TFi,j = fi,j. Uma varianteda ponderacao TF utilizada na literatura e onde o logaritmo utiliza a base 2. Esseforma logaritmica e prefervel para ponderacao TF porque torna os pesos diretamentecomparaveis aos pesos IDF, que tambem sao expressos com uma funcao logartmicaque iremos discutir na sequencia. A forma logaritma do TF e mostrada a seguir naTabela 6.

    2.5.3 Ponderacao pela Frequencia Inversa de Documentos (IDF)

    Atualmente, a ponderacao IDF e usada por quase todos os sistemas modernosde RI e se baseia na relacao entre exaustividade e especificidade, que em resumosignifica que se as descricoes dos documentos ficarem muito longas, a especificidade

  • 42

    Tabela 6: Formula da ponderacao TF.

    Formula

    TFi,j =

    1 + log2 fi,j se fi,j > 00 caso contrarioComponente Descricao

    fi,j E a frequencia do termo ki no documento dj .

    dos termos tende a ficar mais baixa. Por exemplo, caso um termo ocorra em todosos documentos da colecao, sua especificidade e mnima e o termo nao e util para arecuperacao. Isso leva a ideia da ponderacao de termos por especificidade.

    Com base nos conceitos de especificidade e exaustividade, se chegou a um mo-delo de ponderacao onde o valor do peso do termo e zero se ele for encontrado emtodos os documentos, e caso ele apareca em poucos documentos esse valor do termotende a aumentar. Dessa forma, e preciso: (1) Verificar a ocorrencia do termo ki paracada documento dj da colecao (ni); (2) Calcular a frequencia relativa inversa de cadatermo (N/ni) e; (3) Aplicar a funcao log2 na frequencia relativa inversa de cada termo.Assim quando ni se aproxima de N , temos que IDFi se aproxima de zero. Veja abaixoa formula para o calculo da ponderacao IDF na Tabela 7.

    Tabela 7: Formula da ponderacao IDF.

    Formula

    IDFi = log2N

    ni

    Componente Descricao

    N Numero total de documentos da colecao.

    ni Numero de documentos em que o termo ki aparece.

    2.5.4 Ponderacao de Termos TF-IDF

    O esquema de ponderacao TF-IDF e um dos mais populares existentes, e utiliza ospesos que combinam os fatores IDF e as frequencias dos termos TF. Embora simples,os pesos TF-IDF sao bastante eficazes para colecoes genericas, isto e, para atribuirpesos aos termos de uma colecao de documentos sobre a qual nao temos nenhumainformacao. Seja wi,j referente ao peso do termo associado ao par (kj, dj), define-seque a ponderacao TF-IDF como e mostrado abaixo na Tabela 8.

  • 43

    Tabela 8: Formula da ponderacao TF-IDF.

    Formula

    wi,j =

    (1 + log2 fi,j) log2 Nni se fi,j > 00 caso contrario

    2.5.5 Modelo Vetorial

    No modelo vetorial os termos de indexacao sao representados por vetores unitariosem um espaco com t dimensoes, no qual t e o numero de termos de indexacao.Neste modelo, o calculo para obtencao do grau de similaridade de um documentodj em relacao a uma consulta q e dado sob a forma da correlacao entre os veto-res ~dj e ~q, os quais sao formados pelas t dimensoes dos termos que os compoem:~dj = (w1,j, w2,j, ..., wt,j), e ~q = (w1,q, w2,q, ..., wt,q). O peso wi,j associado ao par termo-documento (ki, dj), e o peso wi,q associado ao par termo-consulta (ki, q), sao naonegativos, nao binarios, e sao dados pela ponderacao TF-IDF. A correlacao entre osvetores ~dj e ~q pode ser quantificada pelo cosseno do angulo entre esses dois vetorescomo e mostrado abaixo na Tabela 9.

    Tabela 9: Descricao da funcao de similaridade do Modelo Vetorial.

    Formula

    sim(dj , q) =~dj ~q|~dj | |~q|

    =

    ti=1wi,j wi,qt

    i=1w2i,j

    ti=1w

    2i,q

    Componente Descricao

    |~dj | e |~q| Sao as normas dos vetores do documento e da consulta.~dj ~q E o produto interno dos dois vetores.

    |~q| Este fator nao afeta o ranqueamento (isto e, a ordenacao dos documentos)porque ele e o mesmo para todos os documentos.

    |~dj | Este fator faz a normalizacao pelo tamanho do documento.

    Como a sim(dj, q) varia entre 0 e 1, o modelo vetorial consegue ordenar os do-cumentos de acordo com esse grau de similaridade em relacao a` consulta, dessaforma um documento pode ser recuperado mesmo que ele satisfaca a consulta ape-nas parcialmente, ordenando os documentos recuperados de forma decrescente deacordo com esse grau de similaridade. O principal efeito disso e que documentos ran-queados fornecem uma resposta mais precisa (no sentido de que a resposta satisfaz

  • 44

    melhor a necessidade de informacao do usuario) do que a resposta fornecida pelomodelo Booleano.

    Segundo BAEZA-YATES; RIBEIRO-NETO (2011), apesar de sua simplicidade, omodelo vetorial e uma boa estrategia de ranqueamento para colecoes genericas, for-necendo resultados ranqueados que dificilmente podem ser melhorados sem o uso daexpansao de consultas ou de realimentacao de relevancia. Varios metodos alternati-vos de ranqueamento foram comparados ao modelo vetorial, e o consenso parece serque, com colecoes genericas, o modelo vetorial e um bom e solido metodo basico deranqueamento. Alem disso, e simples e rapido. Por essas razoes, o modelo vetorialcontinua sendo um modelo de recuperacao popular que e constantemente utilizadopara fins de comparacao na avaliacao de formulas alternativas de ranqueamento e denovos modelos de RI.

    2.6 Consulta

    As consultas podem ser expressas de diferentes maneiras, e estao fortemente li-gadas ao modelo de ranqueamento que o SRI utiliza. Para este trabalho, as cons