UNIVERSIDADE DO SUL DE SANTA CATARINA RODRIGO RAFAEL VARELA SISTEMA DE ARMAZENAMENTO, INDEXAÇÃO E RECUPERAÇÃO DE DOCUMENTOS DIGITAIS

Tamanho: px
Começar a partir da página:

Download "UNIVERSIDADE DO SUL DE SANTA CATARINA RODRIGO RAFAEL VARELA SISTEMA DE ARMAZENAMENTO, INDEXAÇÃO E RECUPERAÇÃO DE DOCUMENTOS DIGITAIS"

Transcrição

1 UNIVERSIDADE DO SUL DE SANTA CATARINA RODRIGO RAFAEL VARELA SISTEMA DE ARMAZENAMENTO, INDEXAÇÃO E RECUPERAÇÃO DE DOCUMENTOS DIGITAIS Florianópolis 2018

2 RODRIGO RAFAEL VARELA SISTEMA DE ARMAZENAMENTO, INDEXAÇÃO E RECUPERAÇÃO DE DOCUMENTOS DIGITAIS Trabalho de Conclusão de Curso apresentado ao Curso de Sistemas de Informação da Universidade do Sul de Santa Catarina como requisito parcial à obtenção do título de Bacharel em Sistemas de Informação. Orientador: Prof. Aran Bey Tcholakian Morales, Dr. Florianópolis 2018

3 RODRIGO RAFAEL VARELA SISTEMA DE ARMAZENAMENTO, INDEXAÇÃO E RECUPERAÇÃO DE DOCUMENTOS DIGITAIS Este Trabalho de Conclusão de Curso foi julgado adequado à obtenção do título de Bacharel de Sistemas de Informação e aprovado em sua forma final pelo Curso de Sistemas de Informação da Universidade do Sul de Santa Catarina.

4 Dedico este trabalho as todos que de alguma forma contribuíram na minha caminhada acadêmica. Aos meus familiares que sempre me ajudaram, aos meus professores que sempre foram prestativos.

5 AGRADECIMENTOS Agradeço em primeiro lugar a Deus por me abençoar e me dar a oportunidade de concluir um curso superior. Aos meus familiares por sempre me apoiarem e me ajudarem a poder terminar este curso e, consequentemente, a monografia. Ao meu professor e orientador Aran por me orientar e ajudar a realizar todo este trabalho. Ao professor Flávio que além de um ótimo professor foi um ótimo amigo que desde o inicio da minha graduação sempre foi prestativo e ajudou em tudo. Ao professor Luiz Otávio que é um ótimo professor e profissional. A professora Maria Inês por ajudar a realizar este trabalho. Aos professores da banca examinadora, professor Alexandre e a professora Alessandra por aceitarem o convite de avaliar o meu trabalho, passando o conhecimento e as opiniões sobre o trabalho.

6 Orarás a ele, e ele te ouvirá, e pagarás os teus votos. Determinarás tu algum negócio, e ser-te-á firme, e a luz brilhará em teus caminhos (Jó 22:27).

7 RESUMO Com a evolução na forma de buscar documentos e o modo de se obter documentos relevantes ao usuário está cada dia mais difícil. Este é um problema para muitos repositórios devido à grande quantidade de documentos existentes atualmente. Os Sistemas de Recuperação de Informação auxiliam os usuários com este problema, facilitando a busca do documento baseado no termo relevante a quem faz essa busca. Baseado nesse problema este trabalho tem como objetivo desenvolver um protótipo de um Sistema de Recuperação de Informação que utiliza modelos de Recuperação de Informação, demonstrando como funcionam os SRI, indexação de documentos. O protótipo apresenta os perfis de usuário Administrador que faz o controle de usuários, inserção de documentos e busca, o usuário logado que, também, faz a inserção de documentos e busca. O usuário não logado que pode fazer a busca dos documentos. Foram utilizadas etapas metodológicas como o levantamento de requisitos, escolha das ferramentas, fazendo a modelagem do protótipo com a metodologia ICONIX, o desenvolvimento do protótipo e avaliação do protótipo. Foi utilizado no desenvolvimento a biblioteca do Apache Lucene que utiliza modelos de Recuperação de Informação e faz a indexação e recuperação dos documentos, juntamente com a linguagem de programação Java, o banco de dados PostgreSQL utilizado para armazenar os usuários, JSP, Servlets, entre outras tecnologias. Palavras-chave: Indexação, Recuperação de Informação, Repositório Web.

8 LISTA DE ILUSTRAÇÕES Figura 1 A função da elaboração de Índices e resumos de recuperação de inforamação Figura 2 Arquitetura de alto nível do software de um SRI Figura 3 Representação do modelo booleano Figura 4 Representação do modelo espaço vetor Figura 5 Formulação da ponderação TF Figura 6 Fórmula variante da ponderação TF Figura 7 Fórmula de frequência inversa do documento Figura 8 Ponderação TF-IDF Figura 9 Cálculo de similaridade Figura 10 Cáculo de similaridade entre DOC1 e DOC Figura 11 Cálculo de similaridade da expressão ebusca Figura 12 Representação gráfica de um documento DOC Figura 13 Equação do modelo probabilístico Figura 14 Cálculo de probabilidade Figura 15 Exemplo do cálculo de probabilidade Figura 16 Estrutura de uma lista invertida Figura 17 Nó de uma árvore Figura 18 Exemplo de uma estrutura de uma árvore Figura 19 Processo de indexação automática Figura 20 Identificação de termos válidos Figura 21 Identificação de Stopwords Figura 22 Fluxograma de atividades Figura 23 Arquitetura da solução proposta Figura 24 Processo do Iconix Figura 25 Diagrama de Caso de Uso: Login Figura 26 Diagrama de Caso de Uso: Registrar Usuário Figura 27 Diagrama de Caso de Uso: Documentos Figura 28 Protótipos de Tela: Tela inicial Figura 29 Protótipos de Tela: Tela de Login Figura 30 Protótipos de Tela: Tela de Registro Figura 31 Protótipos de Tela: Tela de Documentos Figura 32 Protótipos de Tela: Tela de Busca Figura 33 Modelo de Domínio... 50

9 Figura 34 Diagrama de Robustez: Cadastro de usuário Figura 35 Diagrama de Robustez: Login Figura 36 Diagrama de Robustez: Inserção de documento Figura 37 Diagrama de Robustez: Busca de documentos Figura 38 Diagrama de Sequência: Adicionar usuário Figura 39 Diagrama de Sequência: Login Figura 40 Diagrama de Sequência: Adicionar documento Figura 41 Diagrama de Sequência: Buscar documento Figura 42 Diagrama de Classe Figura 43 Modelo de Dados: Esquema de uma lista invertida Figura 44 Ferramentas e tecnologia utilizadas Figura 45 Histórico de desenvolvimento Figura 46 Sistema desenvolvido: Tela de Login Figura 47 Sistema desenvolvido: Tela de Registro Figura 48 Sistema desenvolvido: Tela de Documentos Figura 49 Sistema desenvolvido: Tela de Busca Figura 50 Avaliação: Tela de Registro Figura 51 Avaliação: Tela de Login Figura 52 Avaliação: Tela de Documentos Figura 53 Avaliação: Tela de Busca... 69

10 SUMÁRIO 1 INTRODUÇÃO 1.1 PROBLEMA OBJETIVOS Objetivo Geral Objetivos Específicos JUSTIFICATIVA ESTRUTURA DO TRABALHO FUNDAMENTAÇÃO TEÓRICA RECUPERAÇÃO DE INFORMAÇÃO Sistemas de Recuperação de Informação Modelos de Recuperação de Informação Modelo Booleano Modelo Espaço Vetorial Modelo Difuso (fuzzy) Modelo Probabilístico INDEXAÇÃO Identificação de Termos Stopwords Normalização Morfológica (Stemming) Seleção de Termos Relevantes Tesauro CONSIDERAÇÕES FINAIS MÉTODO CARACTERIZAÇÃO DO TIPO DE PESQUISA ETAPAS METODOLÓGICAS ARQUITETURA DA SOLUÇÃO PROPOSTA DELIMITAÇÕES MODELAGEM DEFINIÇÃO DE TÉCNICA E METODOLOGIA Iconix Modelo Domínio Modelo de Caso de Uso Diagrama de Robustez... 41

11 Diagrama de Sequência Diagrama de Classe Unified Modeling Language (UML) MODELAGEM DO SISTEMA PROPOSTO Atores Requisitos Requisitos Funcionais Requisitos Não Funcionais Regras de Negócio Casos de Uso Protótipos de Tela Diagrama de Domínio Diagrama de Robustez Diagrama de Sequência Diagrama de Classe Modelo de Dados DESENVOLVIMENTO DA SOLUÇÃO PROPOSTA FERRAMENTAS E TECNOLOGIA UTILIZADAS Apache Tomcat Apache Lucene Eclipse Java Servlet JavaServer Page Enterprise Architect PostgreSQL Balsamiq Mockups HISTÓRICO DE DESENVOLVIMENTO SISTEMA DESENVOLVIDO AVALIAÇÃO CONCLUSÕES E TRABALHOS FUTUROS CONCLUSÕES TRABRALHO FUTUROS REFERÊNCIAS... 72

12 12 1 INTRODUÇÃO Segundo Puga e outros (2013, p.1) para que o acesso às informações necessárias seja organizado e otimizado, é importante que o conhecimento sobre um determinado negócio, seja ele de qualquer segmento e complexidade, esteja registrado em um banco de dados. Para Cardoso (2002, p. 1): Recuperação de informação é uma subárea da ciência da computação que estuda o armazenamento e recuperação automática de documentos, que são objetos de dados, geralmente textos. Os componentes do sistema incluem documentos, necessidades do usuário, gera a consulta formulada, e finalmente o processo de recuperação que, à partir das estruturas de dados e da consulta formulada, recupera uma lista de documentos considerados relevantes. Pode-se afirmar também que O processo de indexação envolve a criação de estruturas de dados associados à parte textual dos documentos (CARDOSO, 2002, p. 2). A importância da busca para Kuhlthau (1991, p. 367) o processo de busca de informação é centrado no indivíduo, formando-se através da construção pessoal, na qual o usuário parte da informação para criar novos conhecimentos. 1.1 PROBLEMA Um problema que muitas instituições ainda possuem é a forma de como realizam a busca de documentos, muitas delas ainda utilizam o sistema de arquivos físicos e feita de forma manual o que acaba resultando na demora na hora de encontrar um documento, outro grande problema nesse método de busca ocorrendo quando um documento não está organizado no padrão utilizado pela instituição o que ocasiona em um transtorno ainda maior sem contar que se pode correr o risco de perder tal documento. Com a constante evolução dos sistemas a forma de se obter documentos relevantes ao usuário ficou mais difícil. Há cada vez mais a necessidade de um sistema para ajudar a ampliar o acesso a documentos de uma forma rápida e organizada. Percebe-se a necessidade do uso da internet ou de ferramentas para ampliar e facilitar o acesso à informação disponível, tais como: livros, arquivos, documentos. Recuperação da Informação (RI) é o processo pelo qual uma coleção de dados é representado, armazenado e pesquisado com o objetivo de descoberta de conhecimento como resposta a um pedido do usuário através de uma consulta. Esse processo envolve vários

13 13 estágios iniciando com a representação de dados e terminando com o retorno das informações relevantes para o usuário. (SHARMA; PATEL, 2013). Baeza-Yates e Ribero-Neto (2013, p.1) complementam que a representação e a organização dos itens de informação devem fornecer aos usuários facilidade de acesso ás informações de seu interesse. Muitas dessas informações estão armazenadas em diferentes repositórios, locais, formatos tornando o acesso a eles um grande problema. O objetivo principal de um sistema de RI é recuperar todos os documentos que são relevantes à necessidade de informação do usua rio e, ao mesmo tempo, recuperar o menor nu mero possi vel de documentos irrelevantes. A dificuldade é saber não so como extrair a informação dos documentos, mas também saber como utiliza -la para decidir quanto à sua relevância. Isto é, a noção de relevância tem um papel central em RI (BAEZA-YATES; RIBEIRO-NETO, 2013, p.4). O problema inicia-se quando um usuário precisa buscar um arquivo, ele precisa saber onde procurar esses arquivos e é neste momento que começam as barreiras: 1) Caso o usuário não conheça o ambiente em que se está realizando a pesquisa desse arquivo, ele, primeiramente, precisa saber exatamente qual informação está buscando para obter um melhor resultado na busca. 2) Com a grande quantidade de arquivos o tempo de acesso à informação precisa ser rápido. A pergunta de pesquisa é: como armazenar e recuperar os documentos de um repositório digital na forma de propiciar acesso ra pido e exato aos arquivos? 1.2 OBJETIVOS quanto os específicos. Nesta seção serão apresentados os objetivos do trabalho proposto, tanto o geral Objetivo Geral Desenvolver um protótipo que permita armazenar e indexar documentos digitais, para recupera-los através de termos existentes no documento Objetivos Específicos Os objetivos específicos deste trabalho são: Revisar o referencial teórico sobre métodos de indexação;

14 Analisar o processo de indexação de documentos; Analisar ferramentas para indexar e recuperar documentos; Construir e avaliar um protótipo para a indexação e recuperação de documentos; JUSTIFICATIVA Para resolver problemas na forma de buscar documentos, onde estes problemas são a demora na hora de encontrar um documento, a forma de como são arquivados, a demora, o risco de perder um documento. Para resolver esses problemas, existem os Sistemas de Recuperação de Informação que fazem a indexação e a recuperação dos documentos de forma rápida, organizada, sem que corra o risco de perder um documento e ajudando as instituições a resolver esses problemas. Os SRI podem indexar e recuperar documentos em diversos formatos tais como: pdf, doc, docx, xls, txt, ppt, entre outros. Para Blanco et al. (2013), as indústrias, pesquisadores têm grande interesse na recuperação de documentos, pois, isso gera uma vasta variedade de soluções para muitas tarefas em áreas diferentes. Segundo Lancaster (2004, p. 339) Da perspectiva da recuperação, os recursos informacionais acessíveis na Rede são muitíssimos diferentes dos registros bibliográficos do sistema convencional. Os sistemas de recuperação de informação, também denominados de bancos de dados, apresentam uma complexidade indiscutível no processo de armazenamento e busca da informação, envolvendo uma série de aspectos que são interdependentes. Dentre estes, podem ser destacados os seguintes fatores: a tecnologia eletrônica conduz os usuários ao acesso democrático à informação ampliando a busca de informação em bases de dados geograficamente distantes (LOPES, 2002). Com a evolução da tecnologia e a necessidade, cada vez maior, de que os sistemas de recuperação de informação sejam mais eficazes e que tenham um tempo de resposta mais rápido, evitando assim o desperdício de tempo com informações irrelevantes para o usuário. As ferramentas de pesquisa existentes foram projetadas principalmente para aprimorar o desempenho das tecnologias de pesquisa tradicionais, mas com pouco suporte para usuários finais comuns (DOMINGOS, 2006). Conforme Sousa Filho (2012) O desenvolvimento da ciência tem como atividades essenciais a recuperação e comunicação do conhecimento cienti fico. Sousa complementa que (2012, p. 1): Os repositórios institucionais e temáticos apresentam-se como peça-chave para o processo de comunicação científica, oferecendo novas oportunidades para o

15 compartilhamento da informação, contribuindo, outrossim, para o desenvolvimento da ciência, uma que vez que proporcionam visibilidade, armazenamento e a recuperação dessa informação. A seguir será apresentada a estrutura da monografia. 1.4 ESTRUTURA DO TRABALHO 15 O primeiro capítulo aborda o tema escolhido, o problema encontrado, seus objetivos, justificativa e a estrutura geral da monografia. O segundo capítulo aborda o referencial teórico utilizado. O terceiro capítulo apresenta a metodologia de trabalho e de pesquisa. O quarto capítulo será apresentado a modelagem do protótipo. O quinto capítulo mostra o desenvolvimento e resultados obtidos. O sexto capítulo fala sobre as conclusões e trabalhos futuros.

16 16 2 FUNDAMENTAÇÃO TEÓRICA Este capítulo aborda a fundamentação teórica do trabalho onde serão abordados os conceitos de Recuperação de Informação, Indexação de Documentos e Métodos de Busca os quais são fundamentais para a realização deste trabalho. 2.1 RECUPERAÇÃO DE INFORMAÇÃO A recuperação da informação (RI) tem por função encontrar material (documentos) os quais não são estruturados que suprem uma necessidade de informação de grandes coleções (normalmente armazenadas em computadores). Os dados não estruturados referem a dados que não tem informações claras, semanticamente explicitas, com estruturas fáceis para um computador, que é o contrário de dado estruturado, um exemplo é um banco de dados relacional, que costumam manter inventários de produtos e registros. Recuperação de informação é usada também para facilitar pesquisas "semiestruturadas", como encontrar um documento onde contenha o título pesquisa e o corpo contém o segmento. O campo de recuperação de informação também ajuda usuários em sua navegação ou no filtro em coleção de documentos ou processar um conjunto de documentos recuperados (MANNING; RAGHAVAN; SCHÜTZE, 2008, p. 1-2). Araujo (2012) fala que os sistemas de informação, na área de recuperação de informação, desenvolvem a representação, do armazenamento, da organização e da localização da informação. Para que se possa organizar e comunicar essa informação, utilizando linguagens documentárias, estabelecendo uma ligação entre os Sistemas de Recuperação de Informação (SRI) e os usuários. O principal motivo para elaboração de índices e resumos é construir representações de documentos publicados, os quais devem ser inclusos em uma base de dados. Em uma base de dados impressa (como numa publicação de indexação/resumos), eletrônica (equivalente à impressa) ou em fichas (como em uma biblioteca). Na recuperação da informação as operações de indexar/resumir está representado na figura 1. (LANCASTER, 2004, p. 1).

17 17 Figura 1 - A função da elaboração de Índices e resumos de recuperação de informação. Fonte: Lancaster, 2004, p. 2. Umas das primeiras instituições a adotarem Sistemas de Recuperação de Informação foram as bibliotecas. Geralmente, os sistemas eram desenvolvidos por instituições acadêmicas, depois começaram a ser desenvolvidas por empresas. Na sua primeira versão, o sistema consistia, basicamente, com a automatização dos processos existentes, como a busca de catálogos de fichas, restritas ao nome do autor e ao título da obra, Na segunda versão, as funcionalidades de busca foram aprimoradas e adicionadas para incluir assuntos, palavraschave e operadores de consulta. Na terceira versão, que é a mais atual, o foco ficou nas interfaces gráficas a serem melhorias, nos formulários eletrônicos, características de hipertexto e arquitetura de sistemas abertos. (BAEZA-YATES; RIBEIRO-NETO, 2013, p. 3).

18 Sistemas de Recuperação de Informação Os Sistemas de Recuperação de Informação (SRI) de acordo com Silva, Santos e Ferneda (2013, p. 29) têm por função representar o conteu do dos documentos do corpus e apresentá-los ao usuário de uma maneira que lhe permita uma rápida seleção dos itens que satisfazem total ou parcialmente a sua necessidade de informação [...]. Mostrar ao usua rio uma forma rápida e eficiente de acordo com a necessidade de busca da informação, com o usuário fornecendo a um SRI uma consulta formulada. A tarefa do SRI é trazer aos usuários os documentos que atendem a sua necessidade (BARTH, 2013). Araujo (2012, p. 2), fala que a organização, a localização dos itens de informação e o armazenamento são representados pelos sistemas de informação. Para estabelecer um elo importante entre os SRI e os usuários são utilizadas linguagens documentárias para organizar e comunicar a informação. Ele ainda complementa que Um SRI integra diferentes processos: seleção, aquisição, indexação e, ainda, busca e recuperação das informações. Conforme Souza (2006, p. 1): pode-se dizer que: Assume-se que SRIs organizam e viabilizam o acesso aos itens de informação, desempenhando as atividades de: Representação das informações contidas nos documentos, usualmente através dos processos de indexação e descrição dos documentos; Armazenamento e gestão física e/ou lógica desses documentos e de suas representações; Recuperação das informações representadas e dos próprios documentos armazenados, de forma a satisfazer as necessidades de informação dos usuários. Para isso é necessário que haja uma interface na qual os usuários possam descrever suas necessidades e questões, e através da qual possam também examinar os documentos atinentes recuperados e/ou suas representações. Para Cendón (2005, p.62) a vantagem em utilizar sistemas no formato eletrônico [...] as facilidades que os SRI automatizados oferecem para busca de informação [...] maior número de pontos de acesso que os SRI não automatizados [...]. Além disso, permitem realizar pesquisas mais complexas, em que vários conceitos necessitam ser relacionados, pois pode se combinar grande número de termos de busca [...], de maneira que não seriam possíveis nos SRI impressos. Baeza-Yates e Ribeiro-Neto (2013, p. 6 7), descrevem um SRI utilizando a arquitetura de software de forma simples e genérica conforme a figura 2.

19 19 Figura 2 Arquitetura de alto nível do software de um SRI. Fonte: Baeza-Yates e Ribeiro-Neto, 2013, p. 6. O primeiro passo é obter a coleção de documentos. Depois um módulo coletor fica responsável em obter os documentos. No repositório central é armazenado os documentos. Para que o ranqueamento e a recuperação sejam feitos rapidamente os documentos no repositório central precisam ser indexados. Composto por todas as palavras distintas da coleção o índice invertido é estrutura de índice mais utilizada, para cada palavra, que contém a lista de documentos. Assim que a coleção de documentos estiver indexada pode se começar o processo de recuperação. Que consiste em recuperar os documentos que sejam importantes para o usuário (BAEZA-YATES; RIBEIRO-NETO, 2013, p. 6-7). Os autores complementam que: o propo sito do ranqueamento é identificar os documentos que têm maior probabilidade de serem considerados relevantes pelo usua rio Modelos de Recuperação de Informação Silva, Santos e Ferneda (2013, p. 29), falam em seu artigo sobre os modelos de RI que os modelos de RI vêm sendo desenvolvidos ha muitas décadas, são até hoje utilizadas

20 20 como base no desenvolvimento de novos sistemas computacionais, que buscam ser cada vez mais eficientes e preocupados com a qualidade das informações que serão recuperadas. Baeza-Yates e Ribeiro-Neto (2013, p. 21) falam que a: Modelagem em RI é um processo complexo que tem o objetivo de produzir uma função de ranqueamento, ou seja, uma função que atribui escores a documentos em relação a uma consulta. Esse processo pode ser dividido em duas tarefas principais: (a) a concepção de um arcabouço logico para representar documentos e consultas, e (b) a definição de uma função de ranqueamento que computa o grau de similaridade de cada documento em relação à consulta dada. O arcabouço lógico é normalmente baseado em conjuntos, vetores ou em distribuições de probabilidade. Ele afeta diretamente a computação dos graus dos documentos que são utilizados para ordenar os documentos recuperados em resposta à consulta dada. [...] que o ranqueamento é possivelmente o processo mais importante em um sistema de RI. Primeiro, estabeleceremos o relacionamento entre modelagem e ranqueamento. Os modelos de recuperação de informação clássicos são: o Modelo Booleano, o Modelo Vetorial e o Modelo Probabilístico (SILVA; SANTOS; FERNEDA, 2013) Modelo Booleano Baseado na teoria dos conjuntos e na álgebra de boole, sendo um dos modelos mais utilizados. As consultas são realizadas utilizando expressões de busca combinadas com termos de indexação e os operadores booleanos (and, or e/ou not) (KURAMOTO, 2012). O modelo é muito intuitivo e com a semântica precisa. Devido à simplicidade e formalismo elegante. Esse modelo consiste em que os termos de indexação fazem parte dos documentos ou não, ou seja, a frequência de termos por documentos na matriz são todas binárias (BAEZA-YATES; RIBEIRO-NETO, 2013, p.29). Ceci (2010, p. 38), explica o funcionamento do modelo booleano da seguinte forma: considerando-se que q apresenta a busca feita pelo usuário, verifica-se que são solicitados todos os documentos que possuam a palavra k1 e a palavra k2 ou que não possuam a palavra k3. O resultado dessa busca seriam os documentos d1 e d2. Representado na figura 3.

21 21 Figura 3 Representação do modelo booleano. Fonte: Ceci 2010, p. 29. Souza (2006), fala que embora esse modelo não seja o mais eficaz. Todos os documentos que tem os termos, os quais, as condições foram especificadas pelo usuário são recuperados em cada query. Um dos principais problemas desse modelo para Cardoso (2006, p. 3) é a ausência de ordem na resposta, e as respostas podem ser nulas ou muito grandes e as vantagens são a expressividade completa das expressões e a sua fácil implementação Modelo Espaço Vetorial Cardoso (2002), fala que nesse modelo os vetores de termos são representados por consultas e documentos. Esses termos são ocorrências únicas nos documentos. Os documentos resultantes da consulta são similarmente representados, ou seja, utilizando um cálculo de similaridade o vetor resultado de uma consulta é montado. Para Wives (2002, p. 29), o modelo espaço vetorial tem as seguintes caracteri sticas: Cada elemento do vetor é considerado uma coordenada dimensional. Assim, os documentos podem ser colocados em um espaço euclidiano de n dimensões (onde n é o número de termos) e a posição do documento em cada dimensão é dada pelo seu peso.

22 22 Figura 4 Modelo espaço vetor. Fonte: Wives, 2002, p. 29. As distâncias entre os documentos mostram o seu grau de similaridade, ou seja, os documentos que tem os mesmos termos são colocados numa mesma região do espaço, que em teoria, falam de um assunto similar (característica a qual nomeia o modelo de espaçovetorial). Para Baeza-Yates e Ribeiro-Neto (2013, p. 34), A frequência do termo (TF) e a frequência inversa do documento (IDF) são os fundamentos do esquema de ponderação mais popular em Recuperação de Informação, chamado TF-IDF. Baseado na hipo tese de Luhn eles explicam que o valor ou peso de um termo ki que ocorre em um documento dj é simplesmente proporcional à frequência do termo fij. Isto é, quanto mais frequentemente um termo ki ocorrer no texto do documento dj maior será a sua frequência de termo TFij. Essa linha de pensamento baseia-se na observação que termos que possuem uma alta frequência são importantes para descrever os tópicos-chave de um documento, gerando a formulação da ponderação TF conforme figura 5: Figura 5 Formulação da ponderação TF. Fonte: Baeza-Yates, Ribeiro-Neto, 2013, p. 34. figura 6: Uma fórmula variante dessa ponderação TF usada na literatura é mostrado na Figura 6 Fórmula variante da ponderação TF.

23 23 Fonte: Baeza-Yates, Ribeiro-Neto, 2013, p. 34. Aqui o logaritmo utiliza à base 2 (BAEZA-YATES; RIBERO-NETO, 2013, p ). Manning, Raghavan e Schutze (2008), denotam que como de costume o número total de documentos em uma coleção por N, define-se a frequência inversa do documento (IDF) de um termo t da seguinte forma, conforme figura 7: Figura 7 Fórmula de frequência inversa do documento. Fonte: Manning, Raghavan e Schutze, Manning, Raghavan e Schutze (2008), assim, o IDF de um termo raro é alto, enquanto o IDF de um termo frequente provavelmente será baixo. Combinando as definições de frequência do termo e frequência inversa do documento, para produzir um peso composto para cada termo em cada documento. O esquema de ponderação TF-IDF atribui ao termo t um peso no documento d dado de, conforme a figura 8: Figura 8 Ponderação TF-IDF. Fonte: Manning, Raghavan e Schutze, Em outras palavras, TF-IDFt,d atribui ao termo t um peso no documento d que é 1. Maior quando t ocorre muitas vezes dentro de um pequeno número de documentos (Conferindo assim um elevado poder discriminatório a esses documentos); 2. Menor quando o termo ocorre menos vezes em um documento, ou ocorre em muitos documentos (oferecendo assim um sinal de relevância menos pronunciado); 3. Menor quando o termo ocorre em praticamente todos os documentos (MANNING, RAGHAVAN; SCHUTZE, 2008); Para Ferneda (2003), que o modelo vetorial com a associação de pesos dos termos da expressão de busca como nos termos de indexação é possível obter documentos que respondem parcialmente a uma expressão de busca. Utiliza se os pesos para realizar o cálculo do grau de similaridade de cada documento do corpus com a expressão de busca formulada pelo usuário. Assim, é obtido um conjunto de documentos ordenados, de forma decrescente,

24 24 de acordo com o seu grau de similaridade de cada documento em relação da expressão de busca. Ele ainda fala que o modelo é representado por um vetor, cada elemento desse vetor é representado pelo peso, ou relevância, de cada termo de indexação para o documento. A posição do documento num espaço dimensional é descrita por cada vetor, sendo que cada termo de indexação representa uma dimensão ou eixo. Cada elemento desse vetor (peso) é realizado a normalização para assumir valores entre zero e um. Os que possuem peso mais próximo de um são atribuídos para os termos com maior importância para descrição de cada documento. Em um espaço vetorial contendo t dimensões a similaridade (sim) entre dois vetores x e y é calculada através do co-seno do ângulo formado por estes vetores[...] (FERNEDA 2003, p. 30), representados na figura 9: Figura 9 Cálculo de similaridade. Fonte: Ferneda, 2003, p. 30 Ele explica que o Wi,x representa o peso i-ésimo elemento do vetor x e Wi,y representa o i-ésimo elemento do vetor y. O grau de similaridade dos documentos DOC1 e DOC2, representados na Figura 10, sendo calculado da seguinte forma: Figura 10 Cálculo de similaridade entre DOC 1 e DOC 2. Fonte: Ferneda, 2003, p. 30 Sendo assim, Ferneda (2003), fala que o grau de similaridade entre os documentos DOC1 e DOC2 é igual a 0.73 ou 73%. Ainda, com a mesma fórmula, consegue-se realizar o cálculo de similaridade entre a expressão ebusca1 e cada um dos documentos DOC1 e DOC2, representados na Figura 11: Figura 11 Cálculo de similaridade da expressão ebusca 1. Fonte: Ferneda, 2003, p. 30 Portanto, Fernenda (2003), fala que a expressão ebusca1 tem como resultado de 45% de grau de similaridade com o documento DOC1 e de 92% com documento DOC2.

25 Na figura 12 Baeza-Yates e Ribeiro-Neto (2013) apresentam um gráfico de um documento DOCı com termos de indexação tı e tɜ, com os pesos 0.3 e 0.5, respectivamente. 25 Figura 12 Representação gráfica de um documento DOCı. Fonte: Baeza-Yates; Ribeiro-Neto, 2013, p. 45. O principal efeito disso é que os documentos ranqueados fornecem uma resposta mais precisa (no sentido de que a resposta satisfaz melhor a necessidade de informação do usua rio) do que a resposta do modelo Booleano (BAEZA-YATES; RIBEIRO-NETO, 2013, p. 45). Eles ainda explicam que: As principais vantagens do modelo vetorial são: (1) seu esquema de ponderação de termos melhora a qualidade da recuperação; (2) sua estratégia de casamento parcial permite a recuperação de documentos que aproximam as condições da consulta; (3) a fo rmula do cosseno ordena os documentos de acordo com seu grau de similaridade em relação à consulta e (4) a normalização pelo tamanho do documento esta naturalmente embutida no modelo. Teoricamente, o modelo vetorial tem a desvantagem de que os termos de indexação são considerados como mutuamente independentes. Contudo, na pra tica, considerar as dependências entre termos é desafiador e pode levar a resultados ruins se não for feito de maneira adequada. Apesar de sua simplicidade, o modelo vetorial é uma boa estratégia de ranqueamento para coleções genéricas. Ele fornece resultados ranqueados que dificilmente podem ser melhorados sem o uso de expansão de consultas ou de realimentação de relevância. Esse modelo possui como um dos seus maiores méritos a definição de um dos componentes essenciais de qualquer teoria científica: um modelo conceitual (FERNEDA, 2003, p. 30) Modelo Difuso (Fuzzy) Segundo Leite (2009) o modelo fuzzy surgiu devido a uma limitação apresentada no modelo booleano que é a limitação de pertinência binária. A relação fuzzy na qual se estende o conceito matemático de relação, a sua estrutura básica que é usada para representação formal dos relacionamentos neste modelo. Já que as relações matemáticas

26 26 clássicas abordam somente (0) e (1), onde (0) é ausência e (1) a presença de associação entre elementos de dois conjuntos, permitindo expressar o grau de relação pelas relações fuzzy. O modelo fuzzy é uma extensão do modelo booleano herdando deste o formalismo simples, baseado em relações, sendo que ao mesmo tempo ele permite estabelecer a relevância parcial entre os termos de uma consulta e os documentos. Ferneda (2003), fala que na lógica fuzzy um elemento ele pode ser parcialmente membro de um conjunto. O elemento é indicado o quanto ele é membro do conjunto com um valor entre zero e um. Com a teoria dos conjuntos fuzzy que é baseada no fato de que os limites dos conjuntos que existem no mundo real não são precisos. Ele ainda complementa que um conjunto fuzzy é um agrupamento indefinido de elementos no qual a transição de cada elemento de não-membro para membro do conjunto é gradual. Esse grau de imprecisão de um elemento pode visto como uma medida de possibilidade (FERNEDA, 2003). Para Wives (2002), é como se a teoria fuzzy trabalhasse com valores entre zero e um. Quando o valor correspondente fosse mais próximo de 1, maior é o seu grau de pertinência do objeto ao conjunto, e quando o valor fosse mais próximo de 0 menor é o seu grau de pertinência. Com isso é possível fazer a medição da distância entre o grau de pertinência a qualquer um dos extremos (0 ou 1), e mostrar o quanto o objeto pertence a um conjunto. Souza (2006, p. 3) fala que: Nesses modelos, busca-se estender o conceito da representação dos documentos por palavras-chave, assumindo que cada query determina um conjunto difuso e que cada documento possui um grau de pertencimento a esse conjunto, usualmente menor do que 1. O grau de pertencimento pode ser determinado pela ocorrência de palavras expressas na query, tal como no modelo booleano, mas pode também utilizar um instrumento como um tesauro para determinar que termos relacionados semanticamente aos termos índice também confiram algum grau de pertencimento ao conjunto difuso determinado pela query. O modelo fuzzy não é muito utilizado na área de recuperação de informação (FERNEDA, 2003, p. 47) Modelo Probabilístico Nesse modelo, pode-se supor que existe um conjunto ideal de documentos que satisfaz a cada uma das consultas ao sistema, e no qual este conjunto pode ser recuperado. Com a tentativa inicial com vários documentos e, juntamente, com o feedback do usuário em suas interações com o sistema, buscando-se cada vez mais se aproximar deste conjunto ideal, usando de análise dos documentos que eram considerados importantes pelo usuário. A grande

27 27 importância desse modelo consiste em considerar uma contínua interação com os usuários como um caminho para o resultado continuamente. (SOUZA, 2006). Segundo Wives (2002), esse modelo tem esse nome por trabalhar com conceitos de probabilidade e estatística. Nele, tenta-se saber qual a probabilidade de um documento x ser relevante a uma consulta y caso algum termo específico apareça nele. No modelo probabilístico para conseguir resultados mais relevantes, usa-se determinados parâmetros que podem ser ajustados conforme a sua coleção. A função de similaridade pode ser aproveitada usando as informações estatísticas de distribuição contidas no índice. Leite (2009, p. 13) fala que: No modelo probabilístico o peso dos termos de indexação é binário, isto é, w ij {0, 1} e w iq {0, 1}. Uma consulta é um subconjunto dos termos de indexação (k i). Seja R o conjunto de documentos considerados relevantes e Ṝ o complemento de R, ou seja, o conjunto de documentos não relevantes. P (k i R) é a probabilidade do termo k i estar presente em um documento selecionado aleatoriamente do conjunto R. P (k i Ṝ) é a probabilidade do termo k i estar presente em um documento selecionado aleatoriamente do conjunto Ṝ. A relevância de um documento d j para a consulta q, considerando os t termos de indexação da coleção[...]. Na figura 13 está apresentada a equação do modelo probabilístico. Figura 13 Equação do modelo probabilístico. Fonte: Leite, 2009, p. 13. Para aplicar esse modelo é preciso calcular as probabilidades de P (ki Ṝ). Utilizase para fazer o cálculo destas probabilidades através de aplicações recursivas do algoritmo de cálculo das probabilidades e pela observação dos resultados retornados (LEITE, 2009). Ferneda (2003), explica que se considerando um experimento aleatório, a probabilidade de que ocorra esse evento para cada evento elementar pode ser associado um valor numérico o qual expresso à chance de ele ocorrer. A probabilidade de um evento elementar E ocorrer em um espaço amostral S é a razão entre o número de elementos de E, simbolizado por n(e) e o número de elementos de S (n(s) ), conforme a figura 14.

28 28 Figura 14 Cálculo da probabilidade. Fonte: Ferneda, Lançando um dado o espaço amostral é S = {1, 2, 3, 4, 5, 6} e a probabilidade de sair o número 5 (E= { 5 }) é, conforme a figura 15: Figura 15 Exemplo do cálculo de probabilidade. Fonte: Ferneda, E a probabilidade de não ocorrer tal evento será sempre igual a 1. A continuação é apresentando o método de indexação. 2.2 INDEXAÇÃO A indexação compreende a ana lise de assunto como uma das etapas mais importantes do trabalho do indexador. A análise de assunto tem como objetivo identificar e selecionar os conceitos que representam a essência de um documento (FUJITA, 2004, p. 1). Wives (2002), fala que para que um usuário consiga realizar buscas a primeira tarefa de um Sistema de Recuperação de Informação precisa realizar é a catalogação dos documentos. Para que o documento possa ser recuperado, todo documento que é adicionado no sistema precisa ser descrito ou analisado. Para que o sistema possa encontrar este documento rapidamente deve existir um índice. Através do processo de indexação esse índice é gerado. Indexar significa pegar uma estrutura chamada índice, identificar as propriedades de um documento e inserir nesta estrutura. O índice pode ser um tipo de filtro utilizado para selecionar os documentos importantes e manter fora os documentos irrelevantes (LANCASTER, 1968). Baeza-Yates e Riberio-Neto (1999), abordam três técnicas para realizar a construção de arquivos indexação: Arquivos invertidos; Arquivos de assinatura; Árvore e vetores de sufixos;

29 29 Arquivos invertidos nada mais é que uma lista ordenada de palavras, para cada documento onde a palavra aparece existem apontadores (links ou ponteiros) para os documentos onde ela aparece. Assim que um termo aparece na lista, o registro correspondente com a lista de todos os documentos em que a palavra foi localizada é retornado, conforme a figura 16 (WIVES, 2002). Figura 16 Estrutura de uma lista invertida. Fonte: Wives, 2002, p 59. Essa estrutura é composta por três arquivos relacionados segundo Wives (2002, p. 60) o diciona rio, a lista de inversão e os documentos. A entrada para o i ndice é o diciona rio uma lista que contém todas as palavras da coleção de documentos indexada. Ao ser localizado a palavra no dicionário, identifica-se sua lista invertida de documentos correspondentes. Wives (2002), explica que no método de assinatura tem por objetivo prover testes que indiquem o mais rápido possível para que se possam saber quais os arquivos mais relevantes à consulta do usuário, eliminando a maioria dos itens irrelevantes. Para evitar que as assinaturas dos documentos sejam muito pesadas (causando muitas colisões, ou seja, palavras com assinaturas similares) os documentos devem ser divididos em blocos. Sendo assim, com a possiblidade de colisões baixa, maior será a assinatura. Ele ainda explica que esses blocos de cada arquivo são armazenados no arquivo de assinaturas de modo contíguo. Assim, podem-se armazenar os documentos de uma forma altamente comprida, ocupando menos espaço que uma lista invertida. Com isso, ao final da estrutura podem ser concatenados novos documentos, pois, o arquivo não possui uma ordenação interna. Na estrutura em arvore figura 17, cada nó possui um vetor contendo as 27 letras do alfabeto e mais um componente em branco adicional (WIVES, 2002).

30 30 Figura 17 Nó de uma árvore. Fonte: Wives, 2002, p. 60. Para Wives (2002), o conteúdo de cada componente de um nodo pode ser um conjunto de caracteres ou um número que indica o conteúdo do nodo seguinte. Construindo a estrutura de um nível por vez armazenando cada nodo contendo uma letra do termo. O primeiro nodo é o nodo raiz que contém a primeira letra de todas as palavras indexadas. Com essa técnica facilita, muito, identificar palavras que não existem na estrutura e é possível descobrir se determinada letra possui ou não conteúdo com um único acesso. Caso ela não possua conteúdo é porque não existe nenhuma palavra indexada com aquela letra. Ele também explica que para as letras de uma palavra não necessita que exista um nodo. Sempre que existir uma palavra com as letras iguais nodos são adicionados e eles só param de ser adicionados quando as palavras se diferenciam. Por exemplo, na figura 18. Figura 18 Exemplo de uma estrutura de uma árvore. Fonte: Wives, 2002, p. 60. Na figura 18 a árvore é apresentada como uma tabela conforme descrição a seguir: A palavra fuga é localizada logo no primeiro nodo, pois não existem mais palavras que comecem com f indexadas. As palavras que começam com a letra b se diferenciam na segunda letra, sendo necessário assim dois nodos para elas. A palavra até deveria ser armazenada no nodo de nu mero 3, porém, por existir outra palavra cujas letras iniciais também são ate, outro ni vel de nodos foi adicionado. Nesse caso a palavra que termina no nível anterior deve ser alocada na região vazia do vetor, indicando que ela acaba com a letra que aponta para esse nodo (WIVES, 2002, p. 60). Lancaster (2003), diz que o indexador raramente pode-se se dar ao luxo de ler um documento inteiro. Recomenda-se que ele faça um misto entre ler e passar os olhos pelo texto. As partes a ser dada uma maior atenção durante a leitura são aquela que apresentam maior probabilidade de falar o máximo sobre o conteúdo num menor tempo possível como título, resumo, sinopse e conclusões. Muitas vezes é inviável fazer a leitura completa, às vezes não necessária, porém toda informação útil não deve passar desapercebida pelo indexador. As partes mais importantes que se devem ser examinadas cuidadosamente, em um texto, são: a) Título;

31 31 b) Resumo se houver; c) Sumário; d) Introdução, as frases e parágrafos de abertura de capítulo e as conclusões; e) Ilustrações, gráficos, tabelas e respectivas legendas; f) Palavras ou grupos de palavras que apareçam sublinhados ou grafados com tipos diferentes. Wives (2002, p. 49), diz que existem dois tipos de indexação a manual Quando a indexação é realizada manualmente, a pessoa encarregada de faze-la deve analisar o conteúdo de cada documento e identificar palavras-chave que o caracterizem. Essas palavras, quando adicionadas ao índice, passam a ser chamadas de termos de i ndice. E a automa tica que busca identificar palavras relevantes nos documentos de uma coleção de documentos e armazená-las em uma estrutura de índice. As fases normalmente encontradas nesse processo são a identificação de termos, a remoção de stopwords 1, a stemming 2 e a seleção de termos representados na figura 19. Figura 19 Processo de indexação automática. Fonte: Wives, 2002, p51. Essas etapas possuem várias técnicas. Dependendo da situação elas podem variar a ordem ou não ser utilizadas (RILOFF, 1995). 1 Palavras relevantes. 2 Normalização morfológica.

32 Identificação de Termos Nessa fase é feita a aplicação de um analisador léxico (é a conversão de um conjunto de caracteres de entrada num conjunto de palavras) que faz a identificação das palavras que pertencem aos documentos, o qual ignora todos os símbolos e caracteres de controle ou formatação existente no arquivo representado na figura 20 (WIVES, 2002). Figura 20 Identificação de termos válidos. Fonte: Wives, 2002, p. 51. Para os termos compostos Wives (2002, p. 52) diz que: Muitas palavras têm um significado diferente quando utilizadas em conjunto. Isso costuma acontecer porque existem conceitos que só podem ser descritos pela utilização de duas ou mais palavras adjacentes. Algumas vezes uma palavra é combinada com outra a fim de modificar ou refinar seu significado (exemplo: processo judicial, processo computacional). Quando isso ocorre, essas duas ou mais palavras não podem ser separadas quando indexadas. Caso sejam separadas, o conceito ou ideia perde-se. Salton (1983) complementa que pode se fazer o uso de um dicionário no intuito de fazer as validações das sequencias de caracteres para fazer possíveis correções de erros ortográficos e validar sua existência Stopwords Lapa e Corrêa (2011, p. 5), definem stopwords como: Palavras que não são consideradas bons descritores, isto é palavras irrelevantes, visto que seu emprego ocasionaria na recuperação de um número extremamente grande de documentos irrelevantes para a pesquisa solicitada trazendo transtorno ao aumentar o tempo de busca por um documento relevante para o usuário.

33 33 As palavras que são recorrentes no texto podem ser consideradas como sem significados (stopwords) e juntando esse conjunto pode se criar um conjunto de palavras vazias (GUINCHAT; MENOU, 1994). Muitas palavras não possuem a necessidade de se criar estruturas de índice, essas palavras que tem o intuito de conectar frases, tais como conjunções e preposições, que estão presentes num documento pertencem à classe de palavras que buscam auxiliar na linguagem e além, dessas palavras, existem as outras que aparecem com alta frequência nos documentos, que também em quase todos os documentos são incapazes de discriminar documentos não tem a necessidade de incluir na estrutura de índice representado na figura 21. (WIVES, 2002; FOX 1992). Figura 21 Identificação de Stopwords. Fonte: Wives, 2002, p.53. Portanto, stopwords são compreendidas como palavras que não consideradas bons descritores (LAPA; CORRÊA, 2011, p. 5) Normalização Morfológica (Stemming) Para Ferneda (2003, p. 84) a normalização morfolo gica ocorre quando ha redução dos itens lexicais através de conflação a uma forma que procura representar classes de conceitos. Conflação é a operação que combina a representação de dois ou mais termos em um u nico, reduzindo variantes de uma palavra a uma u nica forma. Stemming é uma técnica de identificação de radicais que o ocorre durante o processo de indexação. É interessante eliminar as variações morfológicas de uma palavra, elas são eliminadas com a identificação do radical de uma palavra retirando os prefixos e sufixos e

34 os radicais resultantes são adicionados à estrutura de índice (FRAKES, 1992; KRAAIJ, 1996). 34 As características de gênero, número e grau das palavras são eliminadas. Isso significa que várias palavras acabam sendo mapeadas para um único termo, o que aumenta a abrangência das consultas. Com essa técnica o usuário não necessita preocupar-se com a forma ortográfica com a qual uma palavra foi escrita no texto. Assim, uma ideia, independente de ter tendo sido escrita através de seu substantivo, adjetivo ou verbo, é identificada por um mesmo (e único) radical. Essa aparente vantagem ocasiona uma diminuição na precisão, já que o usuário não consegue mais procurar por uma palavra específica. (WIVES, 2002, p. 53). Com o método de stemming pode-se eliminar as variações morfológicas das palavras aumentado a precisão das consultas, e também, reduzindo em até 50% o tamanho de um índice (FRAKES, 1992) Seleção de Termos Relevantes No SRI os arquivos de índice geralmente consomem muito espaço que corresponde aos documentos originais. Pode-se diminuir o tamanho excluindo termos com menor importância dos documentos, fazendo assim, uma redução no espaço de dimensão que modela os documentos. Pode-se utilizar para a seleção de termos relevantes as técnicas que podem se basear no peso dos termos ou em sua posição sintática (WIVES, 2002). Cabe, portanto ao desenvolvedor da aplicação ou ao usuário decidir se esses termos são relevantes ou não para o seu experimento. Além disso, existem técnicas de compactação que podem ser aplicadas aos índices, permitindo que os termos menos importantes também sejam utilizados sem que o tamanho do índice ocupe muito espaço de armazenamento (WIVES, 2002, p. 56). Quando for realizar a seleção de termos deve se ter certa cautela, pois os termos de menor importância podem ser muito importantes em certas aplicações (YANG; PEDERSEN, 1997) Tesauro Cavalcanti (1978, p. 3) define tesauro como: Tesauro é uma lista estruturada de termos associada empregada por analistas de informação e indexadores, para descrever um documento com a desejada especificidade, em nível de entrada, e para permitir aos pesquisadores a recuperação da informação que procura. Segundo Jesus (2002, p. 8) os tesauros passaram a se chamar assim, devido ao agrupamento de termos que foram baseados as novas listas estruturadas, e sua função é de indexação/recuperação das informações. Ele ainda fala que o tesauro tem sido amplamente

35 35 adotado para controle de terminologia nos sistemas pós-coordenados, tanto na estrutura como na organização, sendo bastante similar às convencionais listas de cabeçalhos de assunto, pois ambos controlam sinônimos e homógrafos. 2.3 CONSIDERAÇÕES FINAIS Neste capítulo foram abordados os conceitos de Recuperação de Informação, os modelos utilizados na área e o processo de indexação. O Sistemas de Recuperação de Informação tem uma grande relevância atualmente como mecanismos de busca, considerados sistemas digitais, realizam buscas rápidas, relevantes aos usuários e são capazes de recuperar milhares de documentos, através da indexação dos termos em uma lista de índices invertidos. Com o auxilio dos modelos de Recuperação de Informação.

36 36 3 MÉTODO Este capítulo aborda o tipo de pesquisa proposto neste trabalho, definir quais serão as etapas que servirão como base para a conclusão da pesquisa. 3.1 CARACTERIZAÇÃO DO TIPO DE PESQUISA Segundo Prodanov e Freitas (2013, p. 54) uma pesquisa bibliográfica é feita através de livros, revistas, publicação em periódicos e artigos científicos, jornais, boletins, monografias, dissertações, teses, material cartográfico e de material disponibilizado na internet, os quais, já foram publicados anteriormente. Possibilitando o pesquisador ter contato direto com todo o material já produzido sobre o assunto da pesquisa. Os autores ainda falam que o método é um procedimento ou caminho para alcançar determinado fim e que a finalidade da ciência é a busca do conhecimento, e o método cienti fico é um conjunto de procedimentos adotados com o propo sito de atingir o conhecimento (PRODANOV; FREITAS, 2013, p. 24). Neste trabalho é abordada uma pesquisa aplicada e qualitativa. Para Silva e Menezes (2005, p. 20) a pesquisa aplicada objetiva gerar conhecimentos para aplicação pra tica e dirigidos à solução de problemas especi ficos. Envolve verdades e interesses locais. E a pesquisa qualitativa eles consideram que ha uma relação dinâmica entre o mundo real e o sujeito, isto é, um vínculo indissociável entre o mundo objetivo e a subjetividade do sujeito que não pode ser traduzido em nu meros. O modelo será avaliado através de um estudo de caso. Boaventura (2004) explica que o estudo de caso é classificado como uma metodologia de pesquisa aplicada, buscando a aplicação prática de conhecimentos para resolver os problemas sociais. Gil (2008), complementa dizendo que pesquisas dessa natureza estão voltadas na aplicação imediata de conhecimentos para uma realidade circunstancial, relevando o desenvolvimento de teorias. O estudo de caso é um tipo de pesquisa qualitativa e quantitativa, coletando e analisando as informações sobre um indivíduo, família, grupo ou comunidade, buscando estudar os aspectos variados, conforme o assunto da pesquisa (GIL, 2008). 3.2 ETAPAS METODOLÓGICAS Para o desenvolvimento deste trabalho são feitas as etapas da figura 22:

37 37 Figura 22: Fluxograma de Atividades. Fonte: Autor, 2017.

38 38 a) Pesquisa bibliográfica para entender os aspectos técnicos dos principais assuntos abordados neste trabalho; b) Nessa etapa será escolhida o modelo de recuperação de infomação; c) Escolha do estudo de caso para construir o protótipo do sistema de recuperação de informação; d) Modelagem do protótipo (levantamento de requisitos, funcionalidades, modelagem dos casos de uso, diagrama de sequência); e) Escolha das ferramentas para o desenvolvimento do protótipo; f) Construção do protótipo (inclui a escolha do modelo de RI e a aplicação do processo de indexação); g) Teste do protótipo; h) Análise dos resultados; i) Conclusões da pesquisa; 3.3 ARQUITETURA DA SOLUÇÃO PROPOSTA A figura 23 mostra a arquitetura de solução para atingir os objetivos proposto. Figura 23 Arquitetura da solução proposta. Fonte: Autor, A proposta da solução visa desenvolver um sistema web para a recuperação e indexação de documentos. Cada documento inserido no sistema e indexado e receberá um índice invertido. Esses documentos são recuperados para que os usuários possam ter acesso a eles. Fazendo a busca desses documentos através do seu índice, trazendo os documentos mais relevantes para o usuário.

39 DELIMITAÇÕES O objetivo desta monografia é apresentar um protótipo utilizando os recursos de Recuperação de Informação e Indexação, fazendo busca dos documentos armazenados não desenvolver uma solução complexa e profunda de todos os recursos disponíveis atualmente. Este trabalho não tem o objetivo de desenvolver um novo método de Recuperação de Informação e Indexação de documentos.

40 40 4 MODELAGEM Neste capítulo, serão abordadas as definições de técnicas, a metodologia, conceitos de UML (Unified Modelling Language) a Orientação a Objeto (OO), o modelo Iconix e o estudo de caso. 4.1 DEFINIÇÃO DE TÉCNICA E METODOLOGIA mas são distintos. Fachin (2001, p.29) afirma em seu livro que métodos e técnicas se relacionam, O método é um plano de ação, formado por um conjunto de etapas ordenadamente dispostas, destinadas a realizar e antecipar uma atividade na busca de uma realidade. (FACHIN, 2001 p.29). Ja a técnica é o modo de fazer de forma mais ha bil, mais seguro, mais perfeito, algum tipo de atividade, arte ou ofi cio. (GALLIANO, 1986, p.6) Iconix O Iconix começou a ser desenvolvido em 1993, tendo como sua função unir as melhores funções de três metodologias muito utilizadas na época (Booch, OMT e Objectory), os quais foram utilizados mais tarde para a base da UML (ROSENBERG; STEPHENS, 2007). Ele ainda é apresentado como uma metodologia prática menos complexa que o RUP (Rational Unified Process) e a simplicidade do XP (Extreme Programming), sendo também muito robusta para ajudar na análise e projeto orientado a objetos (KRUTCHEN, 2003; BECK; ANDRES, 2004). A figura 24 demonstra como o Iconix é divido em duas partes, o fluxo dinâmico que representa os aspectos comportamentais do software e o fluxo estático que representa os aspectos estruturais do software. Os fluxos possuem 4 fases que andam em paralelo as quais são: requisitos, protótipos de interface, o modelo de caso de uso e o modelo de domínio. Na fase da análise preliminar é utilizado o Diagrama de Robustez e é feito o refinamento do Modelo de Domínio; na fase de projeto detalhado, é feito o modelamento do Diagrama de Sequência e realiza-se o refinamento final do Modelo de Domínio, que a partir disso se torna um Diagrama de Classe; no fim é feito a fase de implementação do código e é realizada a elaboração dos testes unitários. É realizada uma revisão no fim de cada fase procurando evitar retrabalho (ROSENBERG; STEPHENS, 2007).

41 41 Figura 24 Processo do Iconix. Fonte: adptado de (ROSENBERG; STEPHENS, 2007). Maia (2005) fala que o Iconix também utiliza a linguagem de modelagem UML e tem uma caracteri stica u nica chamada de Rastreabilidade dos Requisitos, fazendo, através de seus mecanismos, a verificação de todos os requisitos se está sendo atendidos em todas as fases Modelo de domínio Para Maia (2005), O Modelo de Domínio é uma parte essencial do processo de ICONIX. Ele constrói uma porção estática inicial de um modelo que é essencial para dirigir a fase de design a partir dos casos de uso Modelo de caso de uso Para Maia (2005), Este modelo é usado para representar as exigências do usuário seja um sistema novo (partindo do nada) ou baseado em um sistema já existente. Ele deve detalhar de forma clara e legível, todos os cenários que os usuários executarão para realizar alguma tarefa. Representa uma visão do sistema do ponto de vista do usuário. Utilizado na fase de levantamento e na análise de requisitos do sistema. Demonstra como o sistema deve se comportar (GUEDES, 2011; SILVA; VIDEIRA, 2001) Diagrama de robustez Para Maia (2005), Esta fase tem como objetivo, conectar a parte de análise com a parte de projeto assegurando que a descrição dos casos de uso estão corretas, além de descobrir novos objetos através do fluxo de ação.

42 Diagrama de sequência Para Maia (2005), tem como objetivo construir um modelo dinâmico entre o usuário e o sistema. Para tal, devemos utilizar os objetos e suas interações identificadas na análise robusta, só que agora, temos por obrigação o detalhamento de cada fluxo de ação. Representa o comportamento, envolve a ordem em que as mensagens são trocadas entre os objetos envolvidos, o fluxo do sistema determinando cada processo (GUEDES, 2011) Diagrama de classe Para Maia (2005), é o modelo de domínio que foi atualizado ao longo das fazes do ICONIX e representa as funcionalidades do sistema de modo estático sem a interação do usuário com o sistema Unified Modeling Language (UML) Segundo Booch (2005), UML é uma linguagem utilizada na especificação da estrutura de projetos de software. Utilizada na especificação, visualização, documentação e construção de sistemas complexos de software. A UML auxilia na implementação do projeto de sistemas de software (FOLWER, 2005). A ênfase do UML é na definição de uma linguagem de modelação standard, e, por conseguinte, o UML é independente das linguagens de programação, das ferramentas CASE, bem como dos processos de desenvolvimento. O objetivo do UML é que, dependendo do tipo de projeto, da ferramenta de suporte, ou da organização envolvida, devem ser adoptados diferentes processos/metodologias, mantendo-se, contudo a utilização da mesma linguagem de modelação. (RAMOS, 2006, p. 8) Independente da finalidade ou complexidade a UML é adequada na modelagem de sistemas. É uma linguagem muito expressiva, abrangendo todas as visões necessárias ao desenvolvimento e implantação desses sistemas (BOOCH, 2005, p. 13). 4.2 MODELAGEM DO SISTEMA PROPOSTO Nesta seção são apresentados os requisitos, regras de negócio, casos de uso Atores Os atores segundo Fowler (2011), são os usuários que interagem com o sistema. Um sistema pode ter mais de um ator, e cada ator pode ser responsável por diversos papeis dentro de um sistema.

43 43 1. Administrador Responsável por gerenciar os usuários e documentos do sistema. 2. Usuário Utilizado para inserir, pesquisar documentos do sistema. Na próxima seção, serão apresentados os requisitos funcionais, não funcionais e regras de negócio Requisitos A descrição dos requisitos de um sistema segundo Sommerville (2011, p. 57), são o que o sistema deve fazer, os serviços que oferecem e as restrições a seu funcionamento. Esses requisitos refletem as necessidades dos clientes para um sistema que serve a uma finalidade determinada. Ele ainda fala que existem dois tipos de requisitos, o funcional e o não funcional Requisitos Funcionais Sommerville (2011, p. 59) os requisitos funcionais de um sistema descrevem o que ele deve fazer. Eles dependem do tipo de software a ser desenvolvido, de quem são seus possi veis usua rios e da abordagem geral adotada pela organização ao escrever os requisitos. RF001 Somente o administrador poderá cadastrar outro administrador. RF002 Somente usuário cadastrado poderá inserir um documento. RF003 O sistema deve permitir que os usuários do sistema realizem busca. RF004 O sistema deve permitir que o administrador exclua outro administrador. RF005 O cadastro do usuário deverá ser realizado através do . RF 006 Somente o administrador poderá remover documentos. Na próxima seção serão apresentados os requisitos não funcionais do protótipo Requisitos Não Funcionais Sommerville (2011, p. 60) são requisitos que não estão diretamente relacionados com os serviços específicos oferecidos pelo sistema a seus usuários. Eles podem estar relacionados às propriedades emergentes do sistema, como confiabilidade.

44 44 RNF001 O sistema deve garantir que o retorno de uma busca, apresente apenas resultados relevantes àquela consulta. RNF002 Uma busca realizada pelo usuário não retornar nenhum registro, deverá apresentar uma mensagem informando. RNF003 A lista de resultados deverá ser feita por sua relevância ao usuário. RNF004 O sistema deverá funcionar no navegador Google Chrome a partir da versão 50. RNF005 Todos os erros do sistema deverão ser tratados. RNF006 O tempo de busca dos arquivos não deve passar dos 2 segundos. RNF007 As senhas dos usuário devem ser criptografadas. RNF008 A interface do sistema deve ser simples e amigável. RNF009 O sistema deverá ser desenvolvido na linguagem JAVA. Na próxima seção serão apresentados as regras de negócio do protótipo Regras de Negócio RN001 Poderá existir apenas uma única conta por . RN002 Somente o administrador poderá alterar ou excluir qualquer informação do sistema. RN003 Poderá existir apenas uma conta de usuário por . Nesta seção foram apresentadas as regras de negócio do protótipo Casos de Uso Nesta seção são apresentados os casos de uso primário do sistema, contendo fluxo base a alternativo para seus respectivos atores.

45 45 Na figura 25 é apresentado o diagrama Efetuar Login. Figura 25 Diagrama de Caso de Uso: Login. Fonte: autor, UC001 Login (Fluxo principal) 1. O sistema inicia apresentando a tela de login (TL001). 2. Usuário informa os dados para login ( e senha). 3. O sistema faz a validação dos dados. 4. O usuário e senha estão corretos, o sistema é direcionado para página inicial (TL002). UC001 Login (Fluxo alternativo) 1. O sistema inicia apresentando a tela de login (TL001). 2. Usuário informa os dados para login ( e senha). 3. O usuário e senha estão incorretos, o sistema apresenta uma mensagem informando ao usuário. Na figura 26 é apresentado o diagrama Registrar Usua rio. Figura 26 Diagrama de Caso de uso: Registrar Usuário. Fonte: autor, UC002 Registrar usuário (Fluxo principal) 1. O sistema apresenta a tela de registro (TL002). 2. O usuário informa os dados para cadastro. 3. O usuário clica em Registre-se. UC002 Registrar usuário (Fluxo alternativo) 1. O sistema apresenta a tela de registro (TL002).

46 46 campos. 2. O usuário não informa todos os campos. 3. O usuário clica em Registre-se. 4. O sistema emite uma mensagem solicitando que o usuário preencha todos os Na figura 27 é apresentado o diagrama de Documentos. Figura 27 Diagrama de Caso de Uso: Documentos. Fonte: autor, UC003 Busca de documentos (Fluxo principal) 1. O sistema apresenta a página de consultas (TL003). 2. O sistema realiza a busca conforme o termo definido pelo usuário. 3. O usuário clica em pesquisar. 4. O sistema apresenta os resultados ao usuário. UC003 Busca de arquivos (Fluxo alternativo) 1. O sistema apresenta a página de consultas (TL003). 2. O sistema realiza a busca conforme o termo definido pelo usuário. 3. O usuário clica em pesquisar. 4. O sistema emite uma mensagem informando ao usuário que nenhum resultado foi encontrado. UC004 Inserir documentos (Fluxo principal) 1. O sistema apresenta a página de inserção de arquivos (TL004). 2. O usuário seleciona o arquivo para inserção. 3. O usuário clica em adicionar. 4. O sistema emite uma mensagem ao usuário confirmando a inserção. UC004 Inserir arquivos (Fluxo Alternativo)

47 47 1. O sistema apresenta a página de inserção de arquivos (TL004). 2. O usuário não seleciona nenhum arquivo para inserção. 3. O usuário clica em adicionar. 4. O sistema emite uma mensagem ao usuário informando para selecionar um arquivo para realizar a inserção. A seguir serão apresentado os protótipos de tela Protótipos de Tela Na tela inicial figura 28, é apresentado o menu com as páginas do protótipo, a página de login e o campo de busca onde o usuário informa o termo a ser pesquisado. Figura 28 Protótipos de Tela: Tela inicial. Fonte: autor, 2018.

48 login no protótipo. Na tela de login figura 29, o usuário informa um válido e senha para fazer 48 Figura 29 Protótipos de Tela: Tela de Login. Fonte: autor, 2018.

49 Na tela de registro figura 30, o usuário informa um válido, senha e confirmar senha para efetuar o registro no protótipo. 49 Figura 30 Protótipos de Tela: Tela de Registro. Fonte: autor, Na tela de documentos figura 31 o usuário seleciona o documento a ser indexado no protótipo e clica no botão salvar para finalizar a indexação do documento. Figura 31 Protótipos de Tela: Tela de Documentos. Fonte: autor, 2018.

50 50 Na tela de busca figura 32 o usuário digita o termo de busca e o protótipo lista os documentos relacionados a busca. Figura 32 Protótipos de Tela: Tela de Busca. Fonte: autor, A seguir será possível visualizar o modelo de domínio Modelo de Domínio A figura 33 representa o Modelo de Domínio do protótipo a ser desenvolvido. Figura 33 Modelo de Domínio. Fonte: autor, 2018.

51 51 Basicamente o Administrador gerência o usuário (não logado) e os documentos, podendo inserir um documento. O usuário (logado) pode fazer a inserção e a busca de um documento. Já o usuário não logado faz apenas a busca de um documento Diagrama de Robustez Na operação de cadastro de usuário figura 34, o usuário visualiza a tela de Login onde serão adicionadas as informações do novo usuário. Preenchendo todos os dados obrigatórios o protótipo valida todas as informações preenchidas, após a validação, o usuário é inserido no banco de dados. Figura 34 Diagrama de Robustez: Cadastro de um usuário. Fonte: autor, Na operação de Login figura 35, o usuário não logado informa o e senha. O protótipo faz a validação dos dados inseridos pelo usuário. O protótipo realiza busca o usuário no banco de dados e faz a verificação para realizar a autenticação do usuário. Figura 35 Diagrama de robustez: Login. Fonte: autor, Na operação de inserção de documento figura 36, o usuário abre a tela de inserção de documentos e seleciona um documento a ser inserido no protótipo e é feita a validação dos

52 dados a serem inseridos, após feita a validação o documento passa pelo processo de indexação para ser indexado no protótipo. 52 Figura 36 - Diagrama de robustez: Inserção de documento. Fonte: autor, Na operação de busca de um documento figura 37, o usuário abre a tela de buscar onde ele informa o termo a ser pesquisado. Com o termo informado é realizada a busca dos documentos relevantes para o termo. Após a busca, uma lista de com os arquivos retornados é montada para o usuário. Figura 37 Diagrama de robustez: Busca de documentos. Fonte: autor, Na seção a seguir serão apresentados os diagramas de sequência Diagrama de Sequência No diagrama de sequência para adicionar um usuário figura 38, na tela de registro são informados os dados do novo usuário. Após inserir os dados é feita uma validação dos dados. Caso não possua nenhum erro, o usuário é inserido no banco de dados.

53 53 Figura 38 Diagrama de sequência: Adicionar usuário. Fonte: autor, Para realizar login figura 39, o usuário informa o e senha, após informar os dados é realizado a verificação dos dados. Caso o e senha estiverem corretos o usuário ganhará permissão e será redirecionado para tela inicial. Caso os dados informados estejam incorretos o usuário será notificado com uma mensagem de erro. Figura 39 Diagrama de sequência: Login. Fonte: autor, 2018.

54 54 Para adicionar um documento figura 40, na tela de documentos o usuário seleciona o documento qual ele quer inserir, é feita a validação dos dados, e se ocorrer algum erro, volta para a tela de documentos. Caso não haja nenhum erro, o documento é indexado no sistema e ele é redirecionado para a tela de documentos. Figura 40 Diagrama de sequência: adicionar documento. Fonte: autor, 2018.

55 55 Para buscar um documento figura 41, na tela de busca o usuário digita o termo a ser pesquisado, o sistema busca os documentos referente ao termo inserido, montando uma lista de documentos relevantes e mostra ao usuário na tela de busca. Figura 41 Diagrama de sequência: Buscar documento. Fonte: autor, Na seção a seguir será apresentado o diagrama de classe Diagrama de Classe Na figura 42, é possível visualizar o diagrama de classe do protótipo proposto. Figura 42 Diagrama de Classe. Fonte: autor, Na seção a seguir será apresentado o modelo de dados.

56 Modelo de Dados Veloso (2017), fala que para o armazenamento dos documentos é utilizado a arquitetura do Lucene, que faz a indexação dos documentos em uma lista invertida conforme a figura 43. Figura 43 Modelo de Dados: Esquema de uma lista invertida. Fonte: Veloso, Na indexação os documentos são processados e as palavras desses documentos são guardadas em estruturas de dados que possam ser pesquisadas rapidamente que são os índices. Esses índices quase sempre são listas invertidas, onde cada palavra é uma chave que aponta os documentos nos quais ocorrem (VELOSO, 2017).

57 57 5 DESENVOLVIMENTO DA SOLUÇÃO PROPOSTA Esse capítulo tem por objetivo demonstrar quais as tecnologias foram utilizadas, as principais telas do protótipo desenvolvido, também, a explicação de com foram feitas as validações do protótipo, método abordado, cenário e quais foram os resultados obtidos. 5.1 FERRAMENTAS E TECNOLOGIAS UTILIZADAS Nesta seção são apresentadas as tecnologias e ferramentas de apoio ao desenvolvimento do protótipo proposto. A figura 44 ilustra essas tecnologias e ferramentas. Figura 44 Ferramentas e tecnologias utilizadas. Fonte: autor, Apache Tomcat O software Apache Tomcat é uma implementação de software livre das tecnologias Java Servlet, JavaServer Pages, Java Expression Language e Java WebSocket desenvolvidas no Java Community Process. Ele é desenvolvido em um ambiente aberto e participativo e liberado sob a licença Apache versão 2. O Tomcat potencializa vários aplicativos da Web de grande escala e de missão crítica em uma ampla variedade de indústrias e organizações (APACHE, 2018).

58 58 O software Apache Tomcat foi utilizado como servidor web no protótipo desenvolvido, devido a sua facilidade e simplicidade de utilização, a versão utilizado foi a Apache Lucene O Apache Lucene é escrito inteiramente em Java, possui uma biblioteca de mecanismo de pesquisa de texto de alto desempenho com muitos recursos. Pode ser adequada para praticamente a qualquer aplicativo que exija pesquisa de texto completo, especialmente entre plataformas, escrito em código aberto (LUCENE PROJECT, 2018). Um dos principais motivos da utilização do Apache Lucene é o fato de ser escrito na linguagem Java, facilitando na implementação do protótipo proposto e por ser um software altamente poderosa. O Lucene utiliza a combinação do modelo Espaço Vetorial com o Modelo Booleano para determinar a relevância de determinados documentos para a consulta dos usuários (LUCENE PROJECT, 2018) Eclipse Segundo Eclipse (2018), é uma plataforma projetada para a construção de ferramentas integradas de desenvolvimento de aplicativos e web. O valor da plataforma é o que ela estimula: desenvolvimento rápido de recursos integrados baseados em um modelo de plug-in. O Eclipse fornece um modelo de interface com o usuário comum para trabalhar com ferramentas. Ele foi projetado para rodar em vários sistemas operacionais, ao mesmo tempo em que fornece uma integração robusta com cada sistema operacional subjacente. A plataforma Eclipse usa o modelo de um ambiente de trabalho comum para integrar as ferramentas do ponto de vista do usuário final. As ferramentas que você desenvolve podem ser conectadas ao ambiente de trabalho (ECLIPSE, 2018). O Eclipse foi utilizado como ambiente de desenvolvimento para o protótipo proposto, na versão Luna.

59 Java Segundo Oracle (2018), java é uma linguagem de programação e plataforma computacional, lançada em 1995 pela empresa Sun Microsystems. Ele ainda explica que deve ter o Java instalado para que a aplicação e sites funcionem. Java é rápido, seguro e confiável. Oracle (2018), fala que: O Java é a base para praticamente todos os tipos de aplicações em rede e é o padrão global para o desenvolvimento e distribuição de aplicações móveis e incorporadas, jogos, conteúdo baseado na Web e softwares corporativos. Com mais de 9 milhões de desenvolvedores em todo o mundo, de forma eficiente, o Java permite que você desenvolva, implante e use aplicações e serviços estimulantes. De laptops a datacenters, consoles de games a supercomputadores científicos, telefones celulares à Internet, o Java está em todos os lugares! 97% dos Desktops Corporativos executam o Java 89% dos Desktops (ou Computadores) nos EUA Executam Java 9 Milhões de Desenvolvedores de Java em Todo o Mundo A Escolha Nº 1 para os Desenvolvedores Plataforma de Desenvolvimento Nº 1 3 Bilhões de Telefones Celulares Executam o Java 100% dos Blu-ray Disc Players Vêm Equipados com o Java 5 bilhões de Placas Java em uso 125 milhões de aparelhos de TV executam o Java 5 dos 5 Principais Fabricantes de Equipamento Original Utilizam o Java ME. Essa foi a linguagem utilizada para desenvolver o protótipo proposto, por ser robusta e segura, além de ser ensinada em diversas instituições de ensino e utilizada por milhões de empresa globalmente, a versão utilizada foi a Servlet Segundo a Oracle (2018), Os servlets são a tecnologia de plataforma Java preferida para estender e aprimorar servidores da Web. Os servlets fornecem um método independente de plataforma e baseado em componentes para a criação de aplicativos baseados na Web, sem as limitações de desempenho dos programas. Os servlets são independentes de servidor e de plataforma. Servlets têm acesso a toda a família de APIs Java, incluindo a API JDBC para acessar bancos de dados corporativos. Servlets também podem acessar uma biblioteca de chamadas específicas de HTTP e receber todos os benefícios da linguagem Java madura, incluindo portabilidade, desempenho, reutilização e proteção contra falhas. Os servlets de hoje são uma opção popular para criar aplicativos da Web interativos. A escolha da utilização dos servlets foi devido a sua independência da utilização de frameworks. Por ser nativo da plataforma Java e ter uma gama de documentos disponíveis que facilitam a utilização.

60 JavaServer Page Segundo a Oracle (2018), A tecnologia JavaServer Pages (JSP) permite que os desenvolvedores e designers da Web desenvolvam e mantenham rapidamente páginas da Web dinâmicas, ricas em informações, que aproveitam os sistemas de negócios existentes. Como parte da família de tecnologia Java, a tecnologia JSP permite o desenvolvimento rápido de aplicativos baseados na Web independentes de plataforma. A tecnologia JSP separa a interface do usuário da geração de conteúdo, permitindo que os designers alterem o layout geral da página sem alterar o conteúdo dinâmico subjacente. A tecnologia JSP usa tags que encapsulam a lógica que gera o conteúdo para a página. A lógica do aplicativo pode residir em recursos baseados em servidor que a página acessa com essas tags. Todas as tags de formatação (HTML ou XML) são passadas diretamente de volta para a página de resposta. Ao separar a lógica da página de seu design e exibição e suportar um design baseado em componente reutilizável, a tecnologia JSP torna mais rápido e fácil do que nunca a criação de aplicativos baseados na Web. A tecnologia JavaServer Pages é uma extensão da tecnologia Java Servlet (ORACLE, 2018). A escolha do JSP para o desenvolvimento do protótipo é devido a sua facilidade de utilização e por ser uma extensão da tecnologia Java Servlet Enterprise Architect Segundo a Sparx Systems (2018), Enterprise Architect é uma plataforma visual para projetar e construir sistemas de software, para modelagem de processos de negócios, e para propósitos de modelagem. É baseado na mais recente especificação UML 2.5. UML define uma linguagem visual que é usada para modelar um domínio ou sistema (proposto ou existente). É uma ferramenta progressiva que cobre todos os aspectos do ciclo de desenvolvimento, fornecendo rastreabilidade total desde a fase inicial do projeto através de implantação, manutenção, testes e controle de mudanças. A escolha da ferramenta foi devida por ser uma ferramenta completa para a modelagem de todos os diagramas do protótipo proposto PostgreSQL Segundo PostgreSQL (2018), a ferramenta PostgreSQL é um poderoso sistema de banco de dados objeto-relacional de código-fonte aberto que usa e estende a linguagem SQL

61 61 combinada com muitos recursos que armazenam e dimensionam com segurança as cargas de trabalho de dados mais complicadas. As origens do PostgreSQL iniciaram em 1986 como parte do projeto POSTGRES da Universidade da Califórnia em Berkley e têm mais de 30 anos de desenvolvimento ativo na plataforma central. Ganhando uma forte reputação por sua arquitetura comprovada, confiabilidade, integridade de dados, conjunto robusto de recursos, extensibilidade e dedicação da comunidade de código aberto por trás do software para fornecer consistentemente soluções eficazes e inovadoras. O PostgreSQL é executado em todos os principais sistemas operacionais, possui poderosos complementos, como o popular extensor de banco de dados geoespacial PostGIS. A escolha do PostgreSQL foi por ser uma ferramenta de fácil utilização, gratuita e por já possuir conhecimento na ferramenta. A versão utilizada foi a Balsamiq Mockups Segundo Balsamiq (2018), Balsamiq Mockups é uma ferramenta de design de interface de usuário para criar wireframes (também chamados de mockups ou protótipos de baixa fidelidade). Você pode usá-lo para gerar esboços digitais de suas ideias de produtos para facilitar a discussão e o entendimento antes que qualquer código seja escrito. Cada arquivo Balsamiq Mockups (com uma extensão de arquivo.bmpr) representa um projeto e pode conter muitos modelos e imagens, que são armazenados juntos em um único arquivo.bmpr. Mockups para projetos diferentes devem ser criados em arquivos Balsamiq Mockups separados. A escolhe da ferramenta foi devida a sua fácil utilização e ter uma versão gratuita. Também é possível salvar os protótipos de tela na extensão de imagem (jpg, png) que facilitou o uso. 5.2 HISTÓRICO DE DESENVOLVIMENTO O processo de desenvolvimento do protótipo Web para armazenamento, indexação e recuperação de arquivos digitais passou pelas seguintes etapas figura 45:

62 62 Figura 45 Histórico de desenvolvimento. Fonte: autor, Escolha das tecnologias utilizadas: esta etapa consiste na escolha da solução proposta, quais tecnologias a serem utilizadas que seriam o Apache Tomcat (servidor web); Apache Lucene (biblioteca de pesquisa); Eclipse (ferramenta de desenvolvimento); Java (linguagem utilizada); JavaServe Pages (utilizado para as páginas web); Servlet (utilizado nas requisições recebidas das páginas web); Enterprise Architect (ferramenta para modelagem dos diagramas); PostgreSQL (banco de dados utilizado); Balsamiq (ferramenta para prototipação de tela). Essas tecnologias foram escolhidas para dar seguimento as próximas etapas. Modelagem do protótipo: esta etapa abrange os requisitos funcionais e não funcionais do protótipo proposto, regras de negócios, os diagramas de casos de uso, de robustez, de sequência, modelo de domínio, de classe descritos no capítulo 4. Modelagem de dados: esta etapa consiste na construção do banco de dados do protótipo, através da ferramenta PostgreSQL, utilizada apenas para armazenar os usuário do protótipo. Implementação do protótipo: esta etapa demandou mais tempo. Ela consiste no desenvolvimento do protótipo proposto, utilizando todas as tecnologias predefinidas, baseado na modelagem do protótipo e prototipações de tela. Ambiente para execução do protótipo: esta etapa refere-se à integração do protótipo, onde ele será hospedado, que neste caso, será no ambiente localhost (máquina local), no servidor Tomcat, banco de dados e o Lucene. Testes: nesta etapa foram feitos os testes do protótipo proposto tanto gráficas quanto de recursos e funcionalidades do protótipo.

63 SISTEMA DESENVOLVIDO Nesta seção serão apresentadas a telas do protótipo, desenvolvidas a partir da modelagem do capítulo 4. A figura 46 representa a tela de login. O usuário insere o seu e senha para poder se autenticar, ou se ele ainda não possuir um login pode clicar na opção de registrar-se.

64 64 Figura 46 Sistema Desenvolvido: Tela de login. Fonte: autor, A figura 47 representa a tela de registro. O usuário insere um válido e não cadastrado anteriormente, a senha e o confirmar senha. Após inserir os dados ele pode registrar-se. Figura 47 Sistema Desenvolvido: Tela de registro. Fonte: autor, 2018.

65 65 A figura 48 representa a tela de arquivos. O usuário pode selecionar um arquivou ou vários arquivos para ser indexado. Após selecionar os arquivos, clica em salvar e os arquivos serão indexados. Figura 48 Sistema Desenvolvido: Tela de arquivos. Fonte: autor, A figura 49 representa a tela de buscar arquivos. O usuário insere no campo de pesquisa o termo relevante a sua pesquisa e clica em pesquisar. Após a pesquisa os arquivos indexados são montados na tela para o usuário em uma tabela, tendo a opção de fazer o download do arquivo. Figura 49 Sistema Desenvolvido: Tela de buscar. Fonte: autor, A seguir será apresentado o processo de avaliação do protótipo.

66 AVALIAÇÃO Nesta seção serão apresentados os testes e funcionamento do protótipo. A figura 50 apresenta a parte de registro de um usuário. O usuário não registrado informa um válido, escolhe a sua a senha de acesso e faz a confirmação da senha para evitar um possível erro de digitação da senha, com todos os dados informados ao clicar no botão registrar-se o usuário é redirecionado para a tela de Login. Figura 50: Avaliação: Tela de Registro. Fonte: autor, 2018.

67 67 A figura 51 apresenta a tela de Login. Um usuário cadastrado informa um válido e a sua senha de acesso, ao clicar no botão de login o usuário é redirecionado para a tela de Documentos. Caso o usuário não possua cadastro, abaixo do botão login o usuário não cadastrado ao clicar no Registre-se será redirecionado para a tela de Registro. Figura 51: Avaliação: Tela de Login. Fonte: autor, 2018.

68 68 A figura 52 apresenta a tela de Documentos. O usuário ao cliclar em Selecionar Documentos será apresentado uma janela onde ele irá selecionar um ou mais documentos para serem indexados, após selecionar os documentos e clicando no botão salvar, os documentos será indexados e posteriormente poderão ser recuperados por um usuário. Após os documentos serem indexados o usuário é redirecionado para a tela de Busca. Figura 52: Avaliação: Tela de Documentos. Fonte: autor, 2018.

69 69 A figura 53 apresenta a tela de Busca. No campo de pesquisa o usuário informa um termo para fazer a recuperação dos Documentos, que nesse caso foi utilizado o termo indexação, apo s inserir o termo o usua rio clica no botão Pesquisar e todos os documentos relevantes aquele termo inserido é recuperado e mostrado ao usuário. Uma tabela é montada para mostrar os documentos relevantes aquela pesquisa. Figura 53: Avaliação: Tela de Busca. Fonte: autor, Durante esse processo de avaliação foram mostradas as telas do protótipo e suas respectivas funcionalidades, desde o cadastro de um novo usuário até a busca dos documentos indexados no protótipo.

Profª Ana Lúcia Lima Marreiros Maia Profª Fabiana Cristina Bertoni

Profª Ana Lúcia Lima Marreiros Maia Profª Fabiana Cristina Bertoni Profª Ana Lúcia Lima Marreiros Maia Profª Fabiana Cristina Bertoni Motivação e Objetivos Etapas do Desenvolvimento de um Sistema de Recuperação de Informações (SRI): Pré-processamento; Representação; Extração

Leia mais

4 Recuperação de Informação

4 Recuperação de Informação 4 Recuperação de Informação No presente capítulo são apresentados os fundamentos da área de Recuperação de Informação utilizados em Mineração de Textos, como por exemplo, os modelos de representação de

Leia mais

Arquivos invertidos 39

Arquivos invertidos 39 Arquivos invertidos 39 Arquivos invertidos É um mecanismo que utiliza palavras para indexar uma coleção de documentos a fim de facilitar a busca e a recuperação Estruturas de um arquivo invertido Vocabulário

Leia mais

Organizaçãoe Recuperaçãode Informação GSI521. Prof. Dr. Rodrigo Sanches Miani FACOM/UFU

Organizaçãoe Recuperaçãode Informação GSI521. Prof. Dr. Rodrigo Sanches Miani FACOM/UFU Organizaçãoe Recuperaçãode Informação GSI521 Prof. Dr. Rodrigo Sanches Miani FACOM/UFU Modelosde RI e o ModeloBooleano Organização e Recuperação de Informação(GSI521) Tópicos Modelagem em RI; Caracterização

Leia mais

3 Recuperação de Informações Textuais

3 Recuperação de Informações Textuais 3 Recuperação de Informações Textuais Tudo deveria se tornar o mais simples possível, mas não simplificado. Albert Einstein Sistemas tradicionais de indexação costumam utilizar-se de termos-índice, que

Leia mais

Indexação e Modelos Clássicos

Indexação e Modelos Clássicos Wendel Melo Faculdade de Computação Universidade Federal de Uberlândia Recuperação da Informação Adaptado do Material da Profª Vanessa Braganholo - IC/UFF Construção de um Sistema de Busca 1ª Etapa: Definir

Leia mais

Realimentação de Relevância

Realimentação de Relevância Wendel Melo Faculdade de Computação Universidade Federal de Uberlândia Recuperação da Informação Ciclo de realimentação onde uma consulta q recebida do usuário é transformada em uma consulta modificada

Leia mais

Universidade do Sul de Santa Catarina Ciência da Computação Aula 09 Introdução a Análise de Textos Prof. Max Pereira

Universidade do Sul de Santa Catarina Ciência da Computação Aula 09 Introdução a Análise de Textos Prof. Max Pereira Universidade do Sul de Santa Catarina Ciência da Computação Técnicasde InteligênciaArtificial Aula 09 Introdução a Análise de Textos Prof. Max Pereira Processamento de Linguagem Natural Conjunto de técnicas

Leia mais

Modelo Probabilístico

Modelo Probabilístico Wendel Melo Faculdade de Computação Universidade Federal de Uberlândia Recuperação da Informação Adaptado do Material da Profª Vanessa Braganholo - IC/UFF Proposto em 1976 por Roberstson e Sparck Jones;

Leia mais

DESCOBERTA DO CONHECIMENTO COM O USO DE TEXT MINING APLICADA AO SAC TEXT MINING. Aluno José Lino Uber. Orientador Paulo Roberto Dias

DESCOBERTA DO CONHECIMENTO COM O USO DE TEXT MINING APLICADA AO SAC TEXT MINING. Aluno José Lino Uber. Orientador Paulo Roberto Dias DESCOBERTA DO CONHECIMENTO COM O USO DE TEXT MINING APLICADA AO SAC TEXT MINING Aluno José Lino Uber Orientador Paulo Roberto Dias Dezembro/2004 Roteiro Introdução Objetivo Conceitos Motivação / Tipos

Leia mais

Aplicação de uma Técnica Tradicional de Expansão de Consulta ao Modelo TR+

Aplicação de uma Técnica Tradicional de Expansão de Consulta ao Modelo TR+ Pontifícia Universidade Católica do Rio Grande do Sul Faculdade de Informática Programa de Pós-Graduação em Ciência da Computação Aplicação de uma Técnica Tradicional de Expansão de Consulta ao Modelo

Leia mais

Linguagens Documentárias. Profa. Lillian Alvares Faculdade de Ciência da Informação, Universidade de Brasília

Linguagens Documentárias. Profa. Lillian Alvares Faculdade de Ciência da Informação, Universidade de Brasília Linguagens Documentárias Profa. Lillian Alvares Faculdade de Ciência da Informação, Universidade de Brasília Contexto Organização da Informação...... procura criar métodos e instrumentos para elaborar

Leia mais

Hashing: conceitos. Hashing

Hashing: conceitos. Hashing Hashing: conceitos hashing é uma técnica conhecida como espalhamento, mapeamento ou randomização que tenta distribuir dados em posições aleatórias de uma tabela (array) associa cada objeto (de um determinado

Leia mais

Revisão. Meio ambiente da Recuperação de Informação. Linguagem Analógico x Digital

Revisão. Meio ambiente da Recuperação de Informação. Linguagem Analógico x Digital Revisão Meio ambiente da Recuperação de Informação Linguagem Analógico x Digital 1 Recuperação de Informação Recuperação de informação é o nome dado ao processo ou método pelo qual um potencial usuário

Leia mais

1. INTRODUÇÃO A MODELAGEM DE DADOS

1. INTRODUÇÃO A MODELAGEM DE DADOS 1. INTRODUÇÃO A MODELAGEM DE DADOS Para se construir uma casa ou um prédio de qualidade, é essencial fazer um planejamento detalhado, com a finalidade de pensar sobre as formas de construção, fazer estimativas

Leia mais

Recuperação de Informações

Recuperação de Informações Recuperação de Informações Ana Carolina Salgado & Fernando Fonseca Comparação (matching) Dados Inferência Modelo Ling Consulta Esp da Consulta Recuperação de Dado X Informação Recuperação de Recuperação

Leia mais

Visões Arquiteturais. Visões Arquiteturais

Visões Arquiteturais. Visões Arquiteturais Visões Arquiteturais Separar diferentes aspectos em visões separadas com o objetivo de gerenciar complexidade. Cada visão descreve diferentes conceitos da Engenharia. Visões permitem reduzir a quantidade

Leia mais

Melhorando a Recuperação de Informação

Melhorando a Recuperação de Informação Recuperação de Informação e Web Mining 1 Melhorando a Recuperação de Informação O modelo de espaço vetorial Utiliza pesos para termos Permite o ranqueamento dos resultados Pode reduzir a dimensão do espaço

Leia mais

Recuperação de Dado X Informação. Gerenciamento de Dados e Informação. Histórico. Recuperação de Informação. Histórico. Histórico

Recuperação de Dado X Informação. Gerenciamento de Dados e Informação. Histórico. Recuperação de Informação. Histórico. Histórico Recuperação de Dado X Informação Gerenciamento de Dados e Informação Recuperação de Informação Fernando Fonseca Ana Carolina Robson Fidalgo Comparação (matching) Recuperação de Dados Exata Recuperação

Leia mais

Proposta de Trabalho de Conclusão de Curso

Proposta de Trabalho de Conclusão de Curso UNIVERSIDADE FEDERAL DE SANTA CATARINA CENTRO TECNOLÓGICO CURSO DE BACHARELADO EM CIÊNCIAS DA COMPUTAÇÃO Proposta de Trabalho de Conclusão de Curso Gerador de Código Automático Baseado em Diagramas de

Leia mais

03/07/2017. Modelo de Recuperação de Informação

03/07/2017. Modelo de Recuperação de Informação Modelo de Recuperação de Informação Modelo de Recuperação de Informação Um modelo de recuperação de informação é a especificação formal de três elementos: a representação dos documentos; a representação

Leia mais

Pré-Processamento de Documentos

Pré-Processamento de Documentos Pré-Processamento de Documentos Introdução Pré-Processamento : Análise léxica; Stopwords; Stemming; Vocabulário; Thesaurus Compressão: Fundamentos; Método Estatístico; Método Dicionário; Arquivos Invertidos

Leia mais

MANUAL PARA DESENVOLVIMENTO DE SOFTWARE TRABALHO DE CONCLUSAO DE CURSO EM SISTEMAS DE INFORMAÇÃO

MANUAL PARA DESENVOLVIMENTO DE SOFTWARE TRABALHO DE CONCLUSAO DE CURSO EM SISTEMAS DE INFORMAÇÃO MANUAL PARA DESENVOLVIMENTO DE SOFTWARE TRABALHO DE CONCLUSAO DE CURSO EM SISTEMAS DE INFORMAÇÃO Sumário PREFÁCIO...3 MODELO DA DOCUMENTAÇÃO...3 1. INTRODUÇÃO AO DOCUMENTO...3 1.1. Tema...3 2. DESCRIÇÃO

Leia mais

Mineração de Textos. Mineração de Textos

Mineração de Textos. Mineração de Textos Mineração de Textos Os estudos em Aprendizado de Máquina normalmente trabalham com dados estruturados Entretanto, uma grande quantidade de informação é armazenada em textos, que são dados semi-estruturados

Leia mais

Organizaçãoe Recuperaçãode Informação GSI521. Prof. Dr. Rodrigo Sanches Miani FACOM/UFU

Organizaçãoe Recuperaçãode Informação GSI521. Prof. Dr. Rodrigo Sanches Miani FACOM/UFU Organizaçãoe Recuperaçãode Informação GSI521 Prof. Dr. Rodrigo Sanches Miani FACOM/UFU Pré-processamento de documentos Organização e Recuperação de Informação(GSI521) Introdução O pré-processamento de

Leia mais

Desenvolvimento de um Web Crawler para indexação de documentos científicos

Desenvolvimento de um Web Crawler para indexação de documentos científicos Desenvolvimento de um Web Crawler para indexação de documentos científicos Heitor de Sousa Miranda¹, Rafael Gonçalves Barreira², Edeilson Milhomem da Silva³ Curso de Sistemas de Informação - CEULP/ULBRA

Leia mais

Tabela Hash: Índice remissivo

Tabela Hash: Índice remissivo Capítulo 3 Tabela Hash: Índice remissivo Um índice remissivo lista os termos e tópicos que são abordados em um documento juntamente com páginas em que aparecem. É bastante comum encontrar tais índices

Leia mais

1 OBJETIVOS 2 HORÁRIO DE AULAS 3 PROGRAMA

1 OBJETIVOS 2 HORÁRIO DE AULAS 3 PROGRAMA 1 OBJETIVOS Curso de Especialização em Engenharia de Software Universidade Federal de Minas Gerais Departamento de Ciência da Computação Estruturas de Dados Fundamentais Professor Roberto da Silva Bigonha

Leia mais

Indexação automática. CBD/ECA Indexação: teoria e prática

Indexação automática. CBD/ECA Indexação: teoria e prática Indexação automática CBD/ECA Indexação: teoria e prática Indexação documentária Identificar pela análise dos documentos, os seus assuntos extrair os conceitos que indicam o seu conteúdo traduzir os conceitos

Leia mais

ORIENTAÇÕES DE RESPOSTA DAS ATIVIDADES FORMATIVAS 1

ORIENTAÇÕES DE RESPOSTA DAS ATIVIDADES FORMATIVAS 1 ORIENTAÇÕES DE RESPOSTA DAS ATIVIDADES FORMATIVAS 1 Resumo analítico indicativo Sequência de palavras-chave Definição de conceitos ORIENTAÇÕES DE RESPOSTA DAS ATIVIDADES FORMATIVAS NOTA: Além da capacidade

Leia mais

Modelo Booleano Wendel Melo

Modelo Booleano Wendel Melo Wendel Melo Faculdade de Computação Universidade Federal de Uberlândia Recuperação da Informação Adaptado do Material da Profª Vanessa Braganholo - IC/UFF Modelo simples; Baseado em teoria dos conjuntos

Leia mais

Documento de Requisitos SISTEMA DE APOIO À ESCRITA (SAPES)

Documento de Requisitos SISTEMA DE APOIO À ESCRITA (SAPES) 1. Introdução 1.1 Propósito Documento de Requisitos SISTEMA DE APOIO À ESCRITA (SAPES) O propósito deste documento de especificação de requisitos é definir os requisitos do sistema SAPES - Sistema de Apoio

Leia mais

Modelo Espaço Vetorial. Mariella Berger

Modelo Espaço Vetorial. Mariella Berger Modelo Espaço Vetorial Mariella Berger Agenda Introdução Atribuição de Pesos Frequência TF-IDF Similaridade Exemplo Vantagens e Desvantagens Modelo Espaço Vetorial Introdução Modelo Espaço Vetorial O modelo

Leia mais

Sistemas de Organização do Conhecimento

Sistemas de Organização do Conhecimento Sistemas de Organização do Conhecimento P R O F A. L I L L I A N A L V A R E S F A C U L D A D E D E C I Ê N C I A D A I N F O R M A Ç Ã O U N I V E R S I D A D E D E B R A S Í L I A Há concordância dos

Leia mais

Algoritmos e Estruturas de Dados II. Trabalho Prático 4

Algoritmos e Estruturas de Dados II. Trabalho Prático 4 Algoritmos e Estruturas de Dados II Trabalho Prático 4 Entrega: 23/11/09 Devolução: 10/12/09 (sem possibilidade de entrega com atraso) Trabalho em dupla Prof. Jussara Marques de Almeida Problema 1: Construção

Leia mais

Segundo trabalho de Organização e Recuperação da Informação

Segundo trabalho de Organização e Recuperação da Informação FACOM- UFU Professor: Wendel Melo Segundo trabalho de Organização e Recuperação da Informação 2018-02 Descrição Este trabalho consiste em duas etapas: 1. Implementação de cálculo da ponderação TF-IDF,

Leia mais

APLICATIVO DE CONTROLE DE PEDIDOS EM AMBIENTE WEB Roni Rohling Orientando Prof. Ricardo de Alencar de Azambuja Orientador

APLICATIVO DE CONTROLE DE PEDIDOS EM AMBIENTE WEB Roni Rohling Orientando Prof. Ricardo de Alencar de Azambuja Orientador APLICATIVO DE CONTROLE DE PEDIDOS EM AMBIENTE WEB Roni Rohling Orientando Prof. Ricardo de Alencar de Azambuja Orientador Roteiro Introdução Objetivos Fundamentação Teórica Especificação Implementação

Leia mais

Universidade Federal da Paraíba CCEN Departamento de Informática Disciplina: Banco de Dados. Aula 1 Introdução a Banco de Dados

Universidade Federal da Paraíba CCEN Departamento de Informática Disciplina: Banco de Dados. Aula 1 Introdução a Banco de Dados Universidade Federal da Paraíba CCEN Departamento de Informática Disciplina: Banco de Dados Aula 1 Introdução a Banco de Dados 1. Introdução Um Sistema Gerenciador de Banco de Dados (SGBD) é constituído

Leia mais

A INDEXAÇÃO NO PROCESSO DE DESCRIÇÃO DOCUMENTAL

A INDEXAÇÃO NO PROCESSO DE DESCRIÇÃO DOCUMENTAL CADERNO DE APOIO 1 A INDEXAÇÃO NO PROCESSO DE DESCRIÇÃO DOCUMENTAL 1 ÍNDICE: 0. Introdução pág. 3 1. Importância da indexação face à sociedade da informação pág. 3 2. Objetivos da indexação pág. 4 3. Análise

Leia mais

Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri. Banco de Dados Processamento e Otimização de Consultas

Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri. Banco de Dados Processamento e Otimização de Consultas Processamento e Otimização de Consultas Banco de Dados Motivação Consulta pode ter sua resposta computada por uma variedade de métodos (geralmente) Usuário (programador) sugere uma estratégia para achar

Leia mais

MANUAL DE PESQUISA E RESERVA NO SISTEMA PERGAMUM CATÁLOGO DAS BIBLIOTECAS DO SISTEMA DE BIBLIOTECAS DA UFS - SIBIUFS

MANUAL DE PESQUISA E RESERVA NO SISTEMA PERGAMUM CATÁLOGO DAS BIBLIOTECAS DO SISTEMA DE BIBLIOTECAS DA UFS - SIBIUFS MANUAL DE PESQUISA E RESERVA NO SISTEMA PERGAMUM CATÁLOGO DAS BIBLIOTECAS DO SISTEMA DE BIBLIOTECAS DA UFS - SIBIUFS PESQUISA GERAL Módulo de pesquisa simplificado que permite a busca direta por palavra(s)

Leia mais

Estruturas de Dados. Prof.: Carlos Alberto Página da Disciplina:

Estruturas de Dados. Prof.: Carlos Alberto Página da Disciplina: Estruturas de Dados Prof.: Carlos Alberto Página da Disciplina: http://alged.webnode.com/ E-mail: carlos36_batista@yahoo.com.br Estruturas de dados Programa da disciplina Estruturas de dados - referências

Leia mais

Recuperação de Informação

Recuperação de Informação Recuperação de Informação Avaliação de Desempenho de Sistemas de Recuperação de Informação Renato Fernandes Corrêa 1 Para que avaliar? Existem muitos modelos de RI, mas qual é o melhor? Qual a melhor escolha

Leia mais

Engenharia de Software

Engenharia de Software Engenharia de Software Requisitos de Software Professor: Charles Leite Engenharia de requisitos Os requisitos de um sistema são as descrições do que o sistema deve fazer, os serviços que oferece e as restrições

Leia mais

Métodos de Busca Parte 1

Métodos de Busca Parte 1 Métodos de Busca Parte 1 Introdução à Ciência da Computação II Prof. Diego Raphael Amancio Baseado no material do Prof. Rudinei Goularte e do Prof. Thiago A. S. Pardo Introdução Importância em estudar

Leia mais

Visualização de Texto e Documento

Visualização de Texto e Documento Visualização de Texto e Documento SCC5836 Visualização Computacional Prof. Fernando V. Paulovich http://www.icmc.usp.br/~paulovic paulovic@icmc.usp.br Instituto de Ciências Matemáticas e de Computação

Leia mais

Requisitos de Software

Requisitos de Software Engenharia de requisitos Requisitos de Software Estabelece os serviços que o cliente requer de um sistema e as restrições sob as quais tal sistema operará e será desenvolvido. Tais serviços e restrições

Leia mais

Organização de Arquivos. Leandro C. Cintra M.C.F. de Oliveira Thiago A. S. Pardo Cristina D. A. Ciferri

Organização de Arquivos. Leandro C. Cintra M.C.F. de Oliveira Thiago A. S. Pardo Cristina D. A. Ciferri Organização de Arquivos Leandro C. Cintra M.C.F. de Oliveira Thiago A. S. Pardo Cristina D. A. Ciferri Organização de Arquivos Informações em arquivos são, em geral, organizadas logicamente em campos e

Leia mais

SUPREMO TRIBUNAL FEDERAL Secretaria de Tecnologia da Informação Coordenadoria de Sistemas BIBLIOTECA DIGITAL. Glossário

SUPREMO TRIBUNAL FEDERAL Secretaria de Tecnologia da Informação Coordenadoria de Sistemas BIBLIOTECA DIGITAL. Glossário SUPREMO TRIBUNAL FEDERAL Secretaria de Tecnologia da Informação BIBLIOTECA DIGITAL GLOSSÁRIO Acervo bibliográfico Acervo comum Ajuda Área Argumento de pesquisa Assunto Autor Campos descritivos Cesta de

Leia mais

MAPEAMENTO OBJETO RELACIONAL

MAPEAMENTO OBJETO RELACIONAL UNIDADEE Projeto de Banco de Dados Orientado a Objetos Unidade E 1. Introdução Ao concluir o estudo sobre BDOOs, você precisa ser capaz de implementar bancos de dados relacionais para aplicações que utilizam

Leia mais

ANÁLISE E DESENVOLVIMENTO DE SISTEMAS TURMA º PERÍODO - 7º MÓDULO AVALIAÇÃO A1 DATA 10/09/2009 ENGENHARIA DE USABILIDADE

ANÁLISE E DESENVOLVIMENTO DE SISTEMAS TURMA º PERÍODO - 7º MÓDULO AVALIAÇÃO A1 DATA 10/09/2009 ENGENHARIA DE USABILIDADE ANÁLISE E DESENVOLVIMENTO DE SISTEMAS TURMA 2008 4º PERÍODO - 7º MÓDULO AVALIAÇÃO A1 DATA 10/09/2009 ENGENHARIA DE USABILIDADE 2009/2 GABARITO COMENTADO QUESTÃO 1: 1. Considere as afirmações a seguir:

Leia mais

Introdução. Conceitos Básicos. Conceitos Básicos. Conceitos Básicos

Introdução. Conceitos Básicos. Conceitos Básicos. Conceitos Básicos Conceitos Básicos Introdução Tópicos Especiais Modelagem de Dados Prof. Guilherme Tavares de Assis Universidade Federal de Ouro Preto UFOP Instituto de Ciências Exatas e Biológicas ICEB Mestrado Profissional

Leia mais

2 Fluxos no Ciclo de Vida do Processo Unificado. O Processo Unificado consiste da repetição de uma série de ciclos durante a vida de um sistema.

2 Fluxos no Ciclo de Vida do Processo Unificado. O Processo Unificado consiste da repetição de uma série de ciclos durante a vida de um sistema. Processo Unificado Universidade Federal do Maranhão UFMA Pós Graduação de Engenharia de Eletricidade Grupo de Computação Assunto: Ciclo de Vida - Fluxos Autoria:Aristófanes Corrêa Silva Adaptação: Alexandre

Leia mais

I-Preproc: uma ferramenta para pré-processamento e indexação incremental de documentos

I-Preproc: uma ferramenta para pré-processamento e indexação incremental de documentos 17 I-Preproc: uma ferramenta para pré-processamento e indexação incremental de documentos Renan Gomes Pereira 1 Maria Fernanda Moura 2 Resumo: O objetivo deste trabalho é apresentar a ferramenta I-Preproc,

Leia mais

Introdução. Conceitos Básicos. Conceitos Básicos. Conceitos Básicos

Introdução. Conceitos Básicos. Conceitos Básicos. Conceitos Básicos Introdução Laboratório de Computação para Ciências Módulo II Prof. Guilherme Tavares de Assis Universidade Federal de Ouro Preto UFOP Instituto de Ciências Exatas e Biológicas ICEB Mestrado Profissional

Leia mais

Árvores Genéricas de Busca

Árvores Genéricas de Busca Árvores Genéricas de Busca Árvores não binárias também podem ser usadas para buscar elementos. Essas árvores são chamadas de árvores genéricas de busca, e elas podem ser de dois tipos: árvore de busca

Leia mais

Processos de Software by Pearson Education Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 4 Slide 1

Processos de Software by Pearson Education Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 4 Slide 1 Processos de Software Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 4 Slide 1 Objetivos Apresentar modelos de processos de software Descrever três modelos genéricos de processo e quando

Leia mais

2 O Modelo: SetModel. 2.1 Modelo de Informação

2 O Modelo: SetModel. 2.1 Modelo de Informação O Modelo: SetModel 2 O Modelo: SetModel 2.1 Modelo de Informação Modelo de informação é uma representação abstrata e formal de entidades incluindo suas propriedades, relações e operações que podem ser

Leia mais

IFSC/Florianópolis - CTI - Projeto de Sistemas - prof. Herval Daminelli

IFSC/Florianópolis - CTI - Projeto de Sistemas - prof. Herval Daminelli MODELAGEM DE SOFTWARE Sistemas de média e grande complexidade necessitam de uma metodologia destinada a facilitar o seu desenvolvimento; Esta metodologia corresponde a uma visão, uma abstração do sistema

Leia mais

4 C odigos de Huffman 4.1 Arvores de c odigo folhas os internos n ıvel altura Arvore bin aria arvore bin aria ordenada

4 C odigos de Huffman 4.1 Arvores de c odigo folhas os internos n ıvel altura Arvore bin aria arvore bin aria ordenada 4 Códigos de Huffman 4.1 Árvores de código Numa árvore qualquer, os nós que não têm filhos são chamados de folhas e os demais nós são chamados de nós internos. Se um nó de uma árvore é filho de outro,

Leia mais

Um alfabeto é um conjunto de símbolos indivisíveis de qualquer natureza. Um alfabeto é geralmente denotado pela letra grega Σ.

Um alfabeto é um conjunto de símbolos indivisíveis de qualquer natureza. Um alfabeto é geralmente denotado pela letra grega Σ. Linguagens O conceito de linguagem engloba uma variedade de categorias distintas de linguagens: linguagens naturais, linguagens de programação, linguagens matemáticas, etc. Uma definição geral de linguagem

Leia mais

4 Testes e experimentos realizados 4.1. Implementação e banco de dados

4 Testes e experimentos realizados 4.1. Implementação e banco de dados 32 4 Testes e experimentos realizados 4.1. Implementação e banco de dados Devido à própria natureza dos sites de redes sociais, é normal que a maior parte deles possua uma grande quantidade de usuários

Leia mais

AULA 4 - FLUXOGRAMAS PARTE 1 Noções sobre a ferramenta Flowgorithm para construção de fluxogramas

AULA 4 - FLUXOGRAMAS PARTE 1 Noções sobre a ferramenta Flowgorithm para construção de fluxogramas AULA 4 - FLUXOGRAMAS PARTE 1 Noções sobre a ferramenta Flowgorithm para construção de fluxogramas 4.1 Objetivo: O objetivo desta aula é exercitar a lógica de programação através do desenvolvimento e simulação

Leia mais

Planejamento da Elaboração de Índice

Planejamento da Elaboração de Índice UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL FACULDADE DE BIBLIOTECONOMIA E COMUNICAÇÃO DEPARTAMENTO DE CIÊNCIAS DA INFORMAÇÃO CURSO DE BIBLIOTECONOMIA Carla Viganigo Rangel de Castilhos Carolina Patrícia

Leia mais

Identificação de Pontos Perceptualmente Importantes (PIP) em séries temporais de tópicos extraídos de dados textuais

Identificação de Pontos Perceptualmente Importantes (PIP) em séries temporais de tópicos extraídos de dados textuais Universidade de São Paulo Biblioteca Digital da Produção Intelectual - BDPI Departamento de Ciências de Computação - ICMC/SCC Comunicações em Eventos - ICMC/SCC 2015 Identificação de Pontos Perceptualmente

Leia mais

SISTEMA PARA RECUPERAÇÃO DE INFORMAÇÃO DE DOWNLOADS DE SOFTWARES

SISTEMA PARA RECUPERAÇÃO DE INFORMAÇÃO DE DOWNLOADS DE SOFTWARES SISTEMA PARA RECUPERAÇÃO DE INFORMAÇÃO DE DOWNLOADS DE SOFTWARES Elzo Soares Pereira Filho, Matheus Rossi de Oliveira Costa, Vinícius Lobo Silva, Luciene Chagas de Oliveira, UNIUBE Universidade de Uberaba

Leia mais

Quinto Trabalho Prático. Este trabalho tem como objetivo indexar arquivos de dados usando um índice árvore-b.

Quinto Trabalho Prático. Este trabalho tem como objetivo indexar arquivos de dados usando um índice árvore-b. Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Ciências de Computação Disciplina de Algoritmos e Estruturas de Dados II docente Profa. Dra. Cristina Dutra de

Leia mais

Indexação. Profa. Lillian Alvares Faculdade de Ciência da Informação Universidade de Brasília

Indexação. Profa. Lillian Alvares Faculdade de Ciência da Informação Universidade de Brasília Indexação Profa. Lillian Alvares Faculdade de Ciência da Informação Universidade de Brasília 1 Penso, logo existo. Brincadeira feita por Fernando Modesto MODESTIKUS, Bibliotecário Grego René Descartes

Leia mais

Teoria de probabilidade - objetiva descrever e prever as características de populações infinitas

Teoria de probabilidade - objetiva descrever e prever as características de populações infinitas 1 Introdução Definição: Estatística é um conjunto de conceitos e métodos científicos para coleta, organização, descrição, análise e interpretação de dados experimentais, que permitem conclusões válidas

Leia mais

ABD Arquivos e Bibliotecas Digitais

ABD Arquivos e Bibliotecas Digitais ABD Arquivos e Bibliotecas Digitais FEUP, Março de 2010 Parte III A interface dos Arquivos e Bibliotecas Digitais Documentos em ĺınguas diversas Tipos de interrogação Redução de maiúsculas e radicalização

Leia mais

2

2 ANÁLISE DE SISTEMAS (processo de desenvolvimento de sistemas) por Antônio Maurício Pitangueira 1 2 Levantamento de requisitos Análise de requisitos Projeto Implementação Testes Implantação Foco da disciplina

Leia mais

Visões Arquiteturais. Visões Arquiteturais. Visões Arquiteturais. Visão Conceitual

Visões Arquiteturais. Visões Arquiteturais. Visões Arquiteturais. Visão Conceitual Visões Arquiteturais Separar diferentes aspectos em visões separadas com o objetivo de gerenciar complexidade. Cada visão descreve diferentes conceitos da Engenharia. Visões permitem reduzir a quantidade

Leia mais

Consultas por Similaridade em Domínios de Dados Complexos

Consultas por Similaridade em Domínios de Dados Complexos Consultas por Similaridade em Domínios de Dados Complexos Guilherme Felipe Zabot Orientador: Profº Dr Caetano Traina Jr Roteiro Objetivo Introdução Dados Complexos Representação de Dados Complexos Extração

Leia mais

Aula 01 Conceito de Banco de Dados e SGBD

Aula 01 Conceito de Banco de Dados e SGBD Aula 01 Conceito de Banco de Dados e SGBD Dado: conjunto de símbolos arranjados a fim de representar a informação fora da mente humana. Elemento de Dado: subconjunto de símbolos que compõem um dado com

Leia mais

Ambiente de Data Warehouse Para Imagens Médicas Baseado Em Similaridade

Ambiente de Data Warehouse Para Imagens Médicas Baseado Em Similaridade Universidade de São Paulo - USP Instituto de Ciências Matemáticas e de Computação - ICMC Programa de Pós-Graduação em Ciências da Computação e Matemática Computacional Ambiente de Data Warehouse Para Imagens

Leia mais

HASHING Hashing Motivação - Acesso Direto:

HASHING Hashing Motivação - Acesso Direto: Hashing é uma técnica que busca realizar as operações de inserção, remoção e busca em tempo constante. Motivação - Acesso Direto: Suponha que existam n chaves a serem armazenadas em uma tabela T, seqüencial

Leia mais

Programação de Computadores

Programação de Computadores Programação de Computadores Instituto de Computação UFF Departamento de Ciência da Computação Otton Teixeira da Silveira Filho Conteúdo Alguns Conceitos sobre Linguagens Conceito de Algoritmo Pseudocódigo

Leia mais

TABELAS DE DISPERSÃO/HASH

TABELAS DE DISPERSÃO/HASH 1/47 TABELAS DE DISPERSÃO/HASH Introdução 2/47 Introdução Motivação - Considerar o problema de pesquisar um determinado valor num vetor: - Se o vetor não está ordenado, a pesquisa requer O(n) de complexidade

Leia mais

Engenharia de Software. Projeto de Arquitetura

Engenharia de Software. Projeto de Arquitetura Engenharia de Software Projeto de Arquitetura O que já vimos? Introdução a Engenharia de Software Processos de Software Desenvolvimento Ágil de Software Engenharia de Requisitos Modelagem de sistemas (outra

Leia mais

Aprendizado de Máquina (Machine Learning)

Aprendizado de Máquina (Machine Learning) Ciência da Computação (Machine Learning) Aula 02 Representação dos dados Pré-processamento Max Pereira Tipo de Dados Os atributos usados para descrever objetos de dados podem ser de diferentes tipos: Quantitativos

Leia mais

Seleção e Otimização de Fontes

Seleção e Otimização de Fontes Seleção e Otimização de Fontes 1. Introdução Muitos dados disponíveis Não há garantia de relevância Muitos acessos (custoso) O Autor propõe uma ideia para otimizar o processamento: A indexação e seleção

Leia mais

PROTÓTIPO PARA SUMARIZAÇÃO AUTOMÁTICA DE TEXTOS ESCRITOS EM LÍNGUA PORTUGUESA ALEXANDRE BUSARELLO JOYCE MARTINS

PROTÓTIPO PARA SUMARIZAÇÃO AUTOMÁTICA DE TEXTOS ESCRITOS EM LÍNGUA PORTUGUESA ALEXANDRE BUSARELLO JOYCE MARTINS PROTÓTIPO PARA SUMARIZAÇÃO AUTOMÁTICA DE TEXTOS ESCRITOS EM LÍNGUA PORTUGUESA ALEXANDRE BUSARELLO JOYCE MARTINS Roteiro Introdução Objetivos Fundamentação Teórica Especificação Implementação Operacionalidade

Leia mais

Requisitos de Software

Requisitos de Software Requisitos de Software Engenharia de requisitos Estabelece os serviços que o cliente requer de um sistema e as restrições sob as quais tal sistema operará e será desenvolvido. Tais serviços e restrições

Leia mais

Capítulo 4. Comitê BAS 35

Capítulo 4. Comitê BAS 35 4 Comitê BAS Devido à flexibilidade do algoritmo BAS, que aceita qualquer distribuição inicial para os exemplos, diversas heurísticas podem ser implementadas com o objetivo de criar classificadores de

Leia mais

Tabelas Hash. informação, a partir do conhecimento de sua chave. Hashing é uma maneira de organizar dados que:

Tabelas Hash. informação, a partir do conhecimento de sua chave. Hashing é uma maneira de organizar dados que: Tabelas Hash Tabelas Hash O uso de listas ou árvores para organizar informações é interessante e produz bons resultados. Porem, em nenhuma dessas estruturas se obtém o acesso direto a alguma informação,

Leia mais

Leitura de Documentos. Priscila Engiel

Leitura de Documentos. Priscila Engiel Leitura de Documentos Priscila Engiel pengiel@inf.puc-rio.br Leitura de documentos Leitura de documentos formais que regulam ou descrevem o sistema ou aspectos que interferem em sua execução Quais documentos?

Leia mais

Primeiro Exercício programa: Como o Google ordena páginas. MAP-2121 para EPUSP

Primeiro Exercício programa: Como o Google ordena páginas. MAP-2121 para EPUSP Primeiro Exercício programa: Como o Google ordena páginas MAP-2121 para EPUSP 1 Instruções gerais Os exercícios computacionais pedidos na disciplina Cálculo Numérico têm por objetivo fundamental familiarizar

Leia mais

Banco de dados. Objetivo: Reter os dados de forma que possam ser utilizados em outros momentos

Banco de dados. Objetivo: Reter os dados de forma que possam ser utilizados em outros momentos Banco de dados BD Dados x Informações Banco de dados Objetivo: Armazenar dados Consultar dados (dentro de um determinado contexto) gerando informações úteis Reter os dados de forma que possam ser utilizados

Leia mais

SUMÁRIO. Fundamentos Árvores Binárias Árvores Binárias de Busca

SUMÁRIO. Fundamentos Árvores Binárias Árvores Binárias de Busca ÁRVORES SUMÁRIO Fundamentos Árvores Binárias Árvores Binárias de Busca 2 ÁRVORES Utilizadas em muitas aplicações Modelam uma hierarquia entre elementos árvore genealógica Diagrama hierárquico de uma organização

Leia mais

Métodos de Ordenação Parte I

Métodos de Ordenação Parte I Estrutura de Dados II Métodos de Ordenação Parte I Prof a Márcio Bueno ed2tarde@marciobueno.com / ed2noite@marciobueno.com Material baseado nos materiais da Prof a Ana Eliza e Prof. Robson Lins Rearranjar

Leia mais

Banco de dados. Objetivo: Reter os dados de forma que possam ser utilizados em outros momentos

Banco de dados. Objetivo: Reter os dados de forma que possam ser utilizados em outros momentos Banco de dados BD Banco de dados Objetivo: Armazenar dados Consultar dados (dentro de um determinado contexto) gerando informações úteis Reter os dados de forma que possam ser utilizados em outros momentos

Leia mais

HASHING HASHING 6/10/2008

HASHING HASHING 6/10/2008 Hashing é uma técnica que busca realizar as operações de inserção, remoção e busca em tempo constante. Motivação - Acesso Direto: Suponha que existam n chaves a serem armazenadas em uma tabela T, seqüencial

Leia mais

Estruturas de Dados Tabelas de Espalhamento

Estruturas de Dados Tabelas de Espalhamento Estruturas de Dados Tabelas de Espalhamento Prof. Eduardo Alchieri (introdução) Uma estrutura como, as árvores binárias de busca, que trabalhe na ordem de log n é muito eficiente, mas em algumas situações

Leia mais

Universidade Federal de Mato Grosso - UFMT Probabilidade e Estatística

Universidade Federal de Mato Grosso - UFMT Probabilidade e Estatística Universidade Federal de Mato Grosso - UFMT Probabilidade e Estatística 1 Introdução Definição: Estatística é um conjunto de conceitos e métodos científicos para coleta, organização, descrição, análise

Leia mais

Compressão de Textos. Introdução. Introdução. Introdução. O volume de informação textual disponível on-line é imenso:

Compressão de Textos. Introdução. Introdução. Introdução. O volume de informação textual disponível on-line é imenso: Compressão de Textos Estrutura de Dados II Prof. Guilherme Tavares de Assis Universidade Federal de Ouro Preto UFOP Instituto de Ciências Exatas e Biológicas ICEB Departamento de Computação DECOM O volume

Leia mais

Rational Unified Process (RUP)

Rational Unified Process (RUP) Rational Unified Process (RUP) A Rational é bem conhecida pelo seu investimento em orientação em objetos. A empresa foi à criadora da Unified Modeling Language (UML), assim como de várias ferramentas que

Leia mais

Indexação e Construção de Índice. Renato Fernandes Corrêa

Indexação e Construção de Índice. Renato Fernandes Corrêa Indexação e Construção de Índice Renato Fernandes Corrêa Indexação de documentos Consiste de três passos: 1. Definição do vocabulário de indexação 2. Indexação - atribuição de termos de indexação a cada

Leia mais

6 Atributos. A dívida da empresa subiu.

6 Atributos. A dívida da empresa subiu. 6 Atributos Para buscar o sentimento de um texto automaticamente precisamos encontrar boas pistas ao longo do discurso. Uma grande variedade de palavras e expressões possui conotação positiva ou negativa,

Leia mais

Tratamento dos Erros de Sintaxe. Adriano Maranhão

Tratamento dos Erros de Sintaxe. Adriano Maranhão Tratamento dos Erros de Sintaxe Adriano Maranhão Introdução Se um compilador tivesse que processar somente programas corretos, seu projeto e sua implementação seriam grandemente simplificados. Mas os programadores

Leia mais

Modelagem Usando Orientação à Objetos (Programação Orientada a Objetos) Prof. Responsáveis Wagner Santos C. de Jesus

Modelagem Usando Orientação à Objetos (Programação Orientada a Objetos) Prof. Responsáveis Wagner Santos C. de Jesus Curso Disciplina Linguagem de Programação II Curso Engenharia da Computação Modelagem Usando Orientação à Objetos (Programação Orientada a Objetos) Site : http://www1.univap.br/~wagner/ec.html Prof. Responsáveis

Leia mais