Escolar Documentos
Profissional Documentos
Cultura Documentos
por
por
LISTA DE ABREVIATURAS.................................................................. iv
LISTA DE FIGURAS ................................................................................. v
LISTA DE TABELAS .............................................................................. vii
LISTA DE EQUAÇÕES .........................................................................viii
RESUMO .................................................................................................... ix
ABSTRACT ................................................................................................. x
1 INTRODUÇÃO........................................................................................ 1
1.1 PROBLEMATIZAÇÃO ..................................................................................... 3
1.1.1 Formulação do Problema ................................................................................. 3
1.1.2 Solução Proposta ............................................................................................... 3
1.2 OBJETIVOS ........................................................................................................ 3
1.2.1 Objetivo Geral ................................................................................................... 3
1.2.2 Objetivos Específicos ........................................................................................ 4
1.3 METODOLOGIA................................................................................................ 4
1.4 ESTRUTURA DO TRABALHO ....................................................................... 5
2 FUNDAMENTAÇÃO TEÓRICA ........................................................ 6
2.1 ARQUIVOS .......................................................................................................... 6
2.1.1 Processo Documentário...................................................................................... 7
2.2 CIÊNCIA DA INFORMAÇÃO.......................................................................... 9
2.3 MINERAÇÃO DE TEXTOS ............................................................................ 10
2.3.1 Coleta de Documentos .................................................................................... 13
2.3.2 Pré-Processamento .......................................................................................... 13
2.4 TESAURO .......................................................................................................... 15
2.4.1 Origem.............................................................................................................. 15
2.4.2 Conceito............................................................................................................ 16
2.4.3 Função .............................................................................................................. 17
2.4.4 Organização ..................................................................................................... 17
2.5 INDEXAÇÃO..................................................................................................... 19
2.6 RECUPERAÇÃO DA INFORMAÇÃO .......................................................... 21
2.6.1 Modelos Quantitativos .................................................................................... 24
2.6.2 Modelos Dinâmicos ......................................................................................... 31
2.6.3 Gestão de Precisão .......................................................................................... 37
2.7 FERRAMENTAS SIMILARES ....................................................................... 38
2.7.1 CONSIDERAÇÕES ........................................................................................ 39
3 ANÁLISE E PROJETO ...................................................................... 40
3.1 REQUISITOS FUNCIONAIS .......................................................................... 40
3.2 REQUISITOS NÃO FUNCIONAIS ................................................................ 41
3.3 CASOS DE USO ................................................................................................ 41
3.4 DIAGRAMA DE CLASSES DO SISTEMA ................................................... 44
3.5 DIAGRAMAS DE SEQUÊNCIA..................................................................... 45
4 IMPLEMENTAÇÃO ........................................................................... 49
4.1 FERRAMENTAS AUXILIARES .................................................................... 49
4.1.1 Apache Lucene ................................................................................................ 49
4.1.2 Apache POI ...................................................................................................... 52
4.1.3 LUKE ............................................................................................................... 53
4.2 PROCESSO DE COLETA DE DOCUMENTOS .......................................... 55
4.3 PROCESSO DE INDEXAÇÃO ....................................................................... 56
4.4 PROCESSO DE PESQUISA ............................................................................ 63
4.5 PROCESSO DE CONSULTA AO TESAURO .............................................. 64
4.6 FUNCIONAMENTO DA FERRAMENTA .................................................... 66
4.7 RESULTADOS RELEVANTES ...................................................................... 73
4.7.1 Tempo de Indexação ....................................................................................... 74
4.7.2 Stopwords e Stemming ................................................................................... 74
4.7.3 Tamanho do Índice ......................................................................................... 75
5 ANÁLISE DOS RESULTADOS ........................................................ 77
6 CONCLUSÕES .................................................................................... 80
REFERÊNCIAS BIBLIOGRÁFICAS ................................................... 84
COLEÇÃO DE DOCUMENTOS PARA OS TESTES ........................ 87
iii
LISTA DE ABREVIATURAS
vi
LISTA DE TABELAS
Equação 1 ......................................................................................................................................... 29
Equação 2 ......................................................................................................................................... 29
Equação 3 ......................................................................................................................................... 29
Equação 4 ......................................................................................................................................... 37
RESUMO
The Municipal Archive of Biguaçu has increased its amount of stored documents .Most of these
documents are being computerized, assisting in the process of organizing them. But, with the large
number of computerized documents, there arises the need to find an efficient way in the search
process and location of these documents. This paper aims at developing a search tool in the
Municipal Archive of Biguaçu, using techniques of information retrieval. For this, we tried to
conceptualize the main techniques of information retrieval, dealing from models that began to be
developed for decades, until recent models using methods derived from Artificial Intelligence. In
addition, the project also dealt with concepts to help understand the process of information
retrieval, as the process of text mining, which deals with the discovery of patterns in large amounts
of text. These studies, carried out through theses, articles and current books, served as the
foundation for developing a search tool in documents of the Municipal Archive of Biguaçu. Finally,
with development of the tool is intended to create an efficient way to search for documents, thus
contributing to the information retrieval, which is an area that still has much to evolve. After the
project is complete the results were satisfactory, in the speed of the indexing process and the quality
of the search.
Com o uso de scanners pode ser digitalizada uma grande quantidade de documentos e, a
partir da tecnologia OCR (Optical Character Recognition) é possível realizar o reconhecimento de
caracteres de texto em imagens, e a sua transformação em texto que pode ser editado e indexado. O
Arquivo Público de Biguaçu vem utilizando essa tecnologia para a transformação automática de
imagens de documentos em arquivo de texto. Essa transformação automática é acompanhada por
um funcionário para verificação e correção de possíveis falhas. Mesmo assim, essa forma de
informatização de documentos é muito eficaz, tornando possível o reconhecimento de um grande
volume de documentos.
A Ciência da Informação possui uma área denominada recuperação da informação que tem
como principal técnica a recuperação de documentos por pesquisa de palavra chave. Uma
deficiência é, porém, o fato de que algumas palavras utilizadas pelos usuários na consulta podem
ser diferentes das palavras utilizadas nos documentos (GUIMARÃES, 2006). Utilizando-se técnicas
de recuperação da informação é possível obter bons resultados no processo de busca de
documentos.
Para uma eficiente recuperação da informação é necessário uma análise profunda dos
assuntos e sua consequente organização, de modo que seja permitida uma análise através de
princípios sistemáticos e sob diferentes pontos de vista. É preciso recuperar unidades de informação
que são caracterizadas por combinações e padrões. É necessário entender, classificar e organizar o
conhecimento representado na literatura. As principais idéias e noções, que constituem o
conhecimento, precisam ser identificadas, caracterizadas e organizadas dentro de uma estrutura
adequada. As relações semânticas de conceitos também precisam ser caracterizadas e expressas
(DATTA, 1977).
2
Com a utilização de técnicas de recuperação da informação foi possível o desenvolvimento
de uma ferramenta capaz de buscar os documentos que estão em forma de texto, digitados ou
transformados em texto pelo OCR, agilizando o processo de localização de arquivos no Arquivo
Municipal de Biguaçu.
1.1 PROBLEMATIZAÇÃO
1.2 OBJETIVOS
3
1.2.2 Objetivos Específicos
Modelar a ferramenta;
Implementar a ferramenta;
1.3 METODOLOGIA
Na segunda etapa, onde foi desenvolvida a fundamentação teórica, foi feita uma pesquisa
bibliográfica sobre as técnicas aplicáveis no contexto do problema. Além disso, também foram
pesquisados conceitos sobre arquivos e documentação, para que se pudesse ter uma base para as
aplicações das técnicas. Todas essas pesquisas foram feitas por meio de livros, teses de doutorado e
artigos científicos. Também foram pesquisadas algumas ferramentas de busca similares para que se
pudesse ter referências para o desenvolvimento da nova ferramenta.
Na terceira etapa deste projeto foi feita a modelagem da ferramenta utilizando-se os padrões
UML (Universal Modeling Language). Nesta fase do projeto foi feito o levantamento dos requisitos
funcionais e não funcionais, além de diagramas de caso de uso, diagrama de classe e de sequencia.
4
A quarta etapa corresponde à implementação da ferramenta, a qual foi realizada a linguagem
de programação Java, além do auxílio de bibliotecas e ferramentas como o Apache Lucene, Luke e
POI. Também foram realizados testes para validação do sistema.
Na quinta etapa foi feita a análise dos resultados, para que depois se pudesse ter uma
definição sobre o que possibilitou a descrição das conclusões sobre o trabalho desenvolvido e o
relato de necessidades para trabalhos futuros.
No quinto capítulo foi realizada uma análise dos principais resultados obtidos com a
aplicação da ferramenta, com a efetuação de testes para análise dos mesmos.
5
2 FUNDAMENTAÇÃO TEÓRICA
2.1 ARQUIVOS
De acordo com a Lei Federal 8.159 (1991), os documentos públicos são identificados como
correntes, intermediários e permanentes, diferenciando-se pelas seguintes atribuições:
correntes: aqueles que em curso, ou que mesmo sem movimentação, são consultados
freqüentemente;
intermediários: aqueles que não sendo de uso corrente nos órgãos produtores, por razões
de interesse administrativo, aguardam a sua eliminação ou recolhimento para guarda
permanente; e
Pode ser difícil estabelecer uma diferença clara entre as diversas etapas que constituem
operações próprias à entrada ou processamento. Normalmente, a etapa anterior vai preparando a
próxima, e assim uma determinada operação pode ser considerada como tratamento ou como
entrada para a etapa seguinte, segundo o ponto de vista aplicado (ROBREDO, 2005).
Por outro lado, nos processos convencionais, as próprias operações de registro ou indexação,
que são consideradas como preparatórias da entrada em um processo automatizado, constituem
verdadeiras operações de tratamento ou processamento.
seleção: escolhe-se, entre todo o universo de documentos, os que serão cobertos pelo
serviço de documentação (livros, revistas, processos, etc.);
7
conter somente o título do documento ou partes do texto consideradas relevantes,
podendo ser analíticos, descritivos, informativos, indicativos, etc.;
8
Figura 1 - Representação simplificada do processo de análise e recuperação da informação
Para Araújo Júnior (2007), o processo documentário se torna muito mais fácil quando se
pode aliar a prática do indexador com o conhecimento das demandas e necessidades de informação
dos usuários, já que por apreensão instantânea ou por análise, as palavras chave e descritores serão
representativos para o processo de busca e recuperação da informação.
Segundo Ramos (2008), a informação ocupa uma posição central no mundo contemporâneo,
pois é utilizando a informação que cada parte da sociedade se organiza e define seus planos de ação.
É a informação que serve de base para tomada de decisão de empresas e instituições de todo o
mundo. Atualmente, a posse da informação é sinônimo de poder e as tecnologias da informação
podem ser consideradas o retrato do novo mundo. A preservação de informações e o acesso às
mesmas estão cada vez mais presentes no dia-a-dia das pessoas e por isso esse assunto tem
merecido a atenção de cientistas em todo o mundo. Com isso, desenvolveu-se a Ciência da
9
Informação, uma área de conhecimento voltada para a questão informacional. Seu objetivo é
estudar o elemento fundamental do mundo moderno: a informação.
De acordo com Robredo (2005), a Ciência da Informação é uma ciência interdisciplinar que
se deriva e se associa a disciplinas como lógica, matemática, linguística, psicologia, informática,
pesquisa operacional, análise de sistemas, artes gráficas, comunicações, biblioteconomia,
administração, etc. Com isso, documentação e a biblioteconomia tradicional, nada mais são do que
aplicações específicas da Ciência da Informação.
Segundo Ramos (2008), a Ciência da Informação é uma área de conhecimento que tem por
objetivo estudar a informação em sua amplitude e sob múltiplas perspectivas. É uma ciência
moderna, que tem o nascimento datado na segunda metade do Século XX e possui como
características principais a sua grande ligação com a tecnologia da informação e uma contribuição
significativa no processo de evolução da sociedade da informação.
De acordo com Araújo Júnior (2007), o uso da mineração de textos estabelece ligações e
compartilha o conhecimento entre pessoas e organizações. Através do uso de computadores, que
10
estão cada vez mais evoluídos, aliado à necessidade das corporações e dos governos de gerir uma
enorme quantidade de informação, a mineração de dados textuais é uma área que vem crescendo
muito nos últimos anos justamente por apresentar uma alternativa na captura de padrões escondidos
em grandes bases textuais. Deve-se ressaltar que a habilidade de mineração de bases textuais está se
tornando cada vez mais importante à medida que a informação é produzida de forma eletrônica. As
etapas básicas do processo de mineração de textos são as seguintes:
definição de objetivos;
redução ou projeção dos dados (escolha das características relevantes para análise);
Para Martins (2003), a mineração de textos é um processo com uma ampla complexidade,
pois trabalha com dados textuais ou documentos que geralmente não são padronizados e que,
muitas vezes, possuem ambiguidade. A complexidade da mineração de textos se deve
principalmente aos seguintes fatores:
o estilo no qual o documento está escrito. Por exemplo, documentos formais tendem a
ter mais fácil identificação do que documentos informais;
11
Para Araújo Júnior (2007), a principal utilidade da mineração de textos, no processo de
recuperação da informação, é atuar como ferramenta de extração automática de termos dos
documentos que estão nas bases textuais, com o objetivo de formar listas de palavras que mais
ocorrem nos documentos a serem analisadas e validadas por indexadores. Assim, a lista de palavras
poderá ser usada para enriquecer uma linguagem documentária já disponível sob a forma de
linguagem de indexação. Dessa forma, a associação da mineração de textos com o processo de
indexação e a sua inserção no processo de busca e recuperação da informação fica mais clara.
Segundo Aranha (2007), as etapas básicas do processo de mineração de textos são: coleta,
pré-processamento, indexação e análise da informação. Da mesma forma, Martins (2003) define as
quatro etapas em: coleta de documentos, pré-processamento, extração de padrões e avaliação e
interpretação. Essas etapas do processo de mineração de textos são ilustradas na Figura 2.
Com isso, tem-se as quatro macro etapas do processo de mineração de textos. Nestas etapas,
os documentos são coletados, transformados em um formato que seja possível a extração de
conhecimento, aplicadas as técnicas de mineração de textos, e, por fim, acontece a descoberta dos
padrões desconhecidos dos documentos.
12
2.3.1 Coleta de Documentos
A coleta de dados tem por objetivo principal formar a base textual de trabalho. Essa base
pode ser estática, nos casos mais simples, ou dinâmica, onde os dados são atualizados a todo
momento através da coleta de novas informações. A coleta pode ser feita pela adição de novos
conteúdos, remoção de conteúdos antigos ou pela substituição dos conteúdos (ARANHA, 2007).
Para Soares (2008), os documentos podem ser obtidos de diversas fontes, porém, são apenas
três os ambientes predominantes de localização dos mesmos: pastas de arquivos encontradas no
disco rígido de usuários, tabelas de diversos bancos de dados e a Web.
Após a coleta dos documentos, esses são transformados em um formato adequado para
serem submetidos aos algoritmos de extração automática de conhecimento. Essa etapa da mineração
de textos é denominada de pré-processamento (MARTINS, 2003).
2.3.2 Pré-Processamento
Conforme Aranha (2007), o pré-processamento de textos define-se por um conjunto de
transformações que são realizadas sobre um conjunto de textos com o objetivo de que os mesmos
passem a ser estruturados. Geralmente essa fase tem por finalidade melhorar a qualidade dos dados
já disponíveis e organizá-los, preparando-os para serem submetidos a algum algoritmo de indexação
ou mineração de dados. Segundo Martins (2003), essa etapa do processo possui um alto custo
computacional e exige um bom planejamento e processamento, já que é de suma importância no
processo de mineração de textos.
2.3.2.1 Tokenização
13
textuais devem ser consideradas uma única palavra ou, às vezes, possuem mais de uma palavra
(SOARES, 2008).
Segundo Aranha (2007), neste processo pode-se usar um dicionário para a identificação de
termos específicos quando as palavras que se deseja usar para compor o índice são pré-
estabelecidas, evitando o uso de palavras desconhecidas e um vocabulário descontrolado.
As sequências riscadas não são válidas e não passarão pela fase de identificação de palavras.
As outras sequências serão identificadas por um dicionário léxico. As palavras sublinhadas não
possuem identificação do dicionário e devem ser corrigidas ou aprendidas. Os caracteres de
pontuação são desprezados.
Depois de ter sido realizado o processo de tokenização para tornar viável o processamento
computacional de textos, é necessário identificar tudo aquilo que pode ser desconsiderado nos
passos posteriores do processamento de textos. Isso é feito para que apenas aquilo que constitui
conhecimento seja mantido (SOARES, 2008).
Segundo Lopes (2004), nesse processo uma lista contendo as palavras a serem descartadas
deve ser formada. A esse conjunto de palavras dá-se o nome de stopwords (ou stoplist). Este
conjunto é formado por palavras que não possuem um conteúdo semântico significativo no seu
14
contexto, sendo consideradas irrelevantes para a análise de textos. Geralmente isso acontece por se
tratarem de palavras conectivas ou auxiliares e que não fornecem nenhuma informação adicional na
expressão do conteúdo dos textos. Na construção da stopword devem ser incluídas palavras como
artigos, preposições, pronomes e outras classes de palavras auxiliares. Também podem estar nesta
lista palavras que apresentam uma incidência muito alta em um conjunto de documentos.
Assim, já se pode criar índices que possam localizar documentos a partir da comparação
direta entre os termos da consulta do usuário e os termos presentes nos documentos. Porém, não se
descarta o uso de técnicas adicionais que possam melhorar esse processo (ARANHA, 2007).
2.4 TESAURO
2.4.1 Origem
O termo “tesauro” tem origem no dicionário analógico de Peter Mark Roget, com o título de
“Thesaurus of English words and phrases”, que foi publicado em Londres, em 1852. Este trabalho,
que levou cerca de 50 anos, não possuía um dicionário com palavras agrupadas por ordem
alfabética, como ocorre nos dicionários comuns, mas de acordo com as idéias que as palavras
revelam. Roget não tinha o objetivo de dar significado a determinadas palavras, como acontece em
15
um dicionário. O que ele almejava era exatamente o contrário: tendo-se a idéia, encontrar a palavra,
ou as palavras, pelas quais aquela idéia possa ser expressa de maneira mais adequada. Ele chamou
esse dicionário de “thesaurus”, e a forma de apresentação foi tão original que essa palavra ficou
associada à forma de organização do vocabulário de indexação/recuperação na área de
documentação (GOMES, 1990).
2.4.2 Conceito
De acordo com o Arquivo Nacional (2005), tesauro é um vocabulário que reúne termos
derivados da linguagem natural, normalizados e preferenciais, agrupados por afinidade semântica,
com indicação de relações de equivalência, hierárquicas, partitivas, de negação e funcionais
estabelecidas entre eles.
Segundo Robredo (2005), um tesauro pode ser definido levando em consideração sua função
ou sua estrutura. Em relação a sua função, o tesauro é um instrumento de controle terminológico
que permite transformar a linguagem natural dos documentos, dos usuários e dos indexadores, em
uma “linguagem sistêmica” mais rígida, como a linguagem documentária. Considerando sua
estrutura, um tesauro é um vocabulário controlado e dinâmico, de termos que possuem relação
semântica e genérica, que cobre um campo específico de conhecimentos.
Ainda, de acordo com Gomes (1990), pelo fato desse novo instrumento dar a possibilidade,
através do agrupamento dos termos, de se acessar uma idéia mesmo sem saber denominá-la, as
novas listas estruturadas de termos passaram a ser chamadas de tesauros, em analogia à obra de
Roget, embora com a função de indexar/recuperar a informação. Assim, tem-se as duas grandes
características do teusauro de documentação, que são os termos e as relações entre eles.
Para Ferneda (2003), tesauro na Ciência da Informação pode ser entendido como uma
ontologia que toma forma com uma classe hierárquica de classes, de maneira que cada classe herda
16
as características de uma ou mais classes superiores. Cada classe representa um conceito do
domínio que está sendo modelado, e seu significado deve ser expresso pelas suas propriedades,
similaridades e diferenças em relação aos outros conceitos.
2.4.3 Função
Ainda segundo Gomes (1990), a estrutura do tesauro é muito importante para que ele possa
cumprir sua função, permitindo que o usuário (indexador ou consulente) encontre os termos mais
adequados, mesmo que não se saiba, de início, o nome específico para representar a idéia ou o
conceito que ele procura. A partir de um termo que o usuário conhece, o tesauro mostra, através de
sua estrutura, os diversos outros termos que podem ser tão adequados ou mais do que aquele termo
inicial da pesquisa.
2.4.4 Organização
Conforme Robredo (2005), os termos do tesauro são organizados geralmente dando entrada
a cada termo e colocando em evidência suas relações com outros termos. As relações entre os
termos mais utilizadas são:
17
Quando um termo é escolhido para ser usado como descritor, as preferências sobre os
sinônimos são postas em evidência nas listas de termos mediante as expressões „use‟ (em
inglês, use ou U) e „usado por‟ (em inglês, used for ou UF).
Exemplo: HELMINTIASE
U VERMINOSE
HELMINTOSE
U VERMINOSE
VERMINOSE
UF HELMINTIASE
HELMINTOSE
Relação hierárquica: coloca em evidência as relações de subordinação do tipo genérico-
específico dos termos. Para evidenciar essas relações de hierarquia são utilizadas as
expressões: „termo mais amplo‟, „genérico‟ (em inglês, broader term ou sua abreviatura
BT) e „termo mais estreito‟, „específico‟ (em inglês, narrower term, ou sua abreviatura
NT).
Exemplo: MOTOR DE COMBUSTÃO INTERNA
NT MOTOR DIESEL
MOTOR DE PISTÃO ROTATIVO
MOTOR DIESEL
BT MOTOR DE COMBUSTÃO INTERNA
MOTOR DE PISTÃO ROTATIVO
BT MOTOR DE COMBUSTÃO INTERNA
18
3 – Descendência: PAI
RT FILHO
4 – Concorrência: EDUCAÇÃO
RT ENSINO
5 – Causa-efeito: ENSINO
RT AOREBDUZAGEN
6 – Instrumental: ESCRITA
RT LÁPIS
2.5 INDEXAÇÃO
A indexação é um processo que visa obter o acesso à informação dos documentos, por
intermédio de termos ou códigos, atuando como ponto de partida para selecionar os próprios
documentos. O índice é o mais importante instrumento para recuperar a informação, tendo em vista
que o mesmo é como uma “chave” que dá acesso à informação contida nos documentos, ou como
uma “ponte” entre o conteúdo de um acervo de documentos e os usuários (ROBREDO, 2005).
Ainda, a análise de um documento pode exigir uma interpretação de seu conteúdo com o
intuito de encontrar assuntos que não estão contidos na superfície textual do documento, mas que
podem ser facilmente identificados por um indexador humano. A indexação de um documento pode
19
servir também como meio de obter sua recuperação, tornando o seu conteúdo visível para os
usuários de um sistema de informação.
De acordo com Robredo (2005), de uma maneira geral podem se encontrar dois tipos de
usuários que necessitam a recuperação da informação através do processo de indexação:
aqueles que precisam de informações sobre algum assunto, mas não sabem quais os
documentos que possuem as informações sobre o mesmo.
20
Figura 5 - Fluxograma simplificado do processo de indexação utilizando um tesauro
Fonte: Robredo (2005).
22
Neste processo, é realizada a busca e recuperação da informação a partir de algum
instrumento de tal forma estruturado e ordenado que ofereça a possibilidade de verificar se o
critério de busca do usuário encontra um ponto de acesso parecido que permita chegar à referência
de algum documento e, a partir dela, ao próprio documento.
23
quantitativos”. Porém, algumas propostas mais recentes que utilizam de métodos derivados da
Inteligência Artificial se tornaram alternativas promissoras a serem estudadas e desenvolvidas.
Estes últimos modelos são classificados como “modelos dinâmicos” (FERNEDA, 2003).
Para Lopes (2004), um sistema de recuperação da informação atua como se fosse um filtro
sobre um conjunto de documentos, retornando ao usuário o resultado de um problema ou consulta
particular.
24
booleana composta por termos ligados através dos operadores lógicos AND, OR e NOT (E, OU e
NÃO), e apresentam como resultado os documentos que possuem em sua representação termos que
satisfazem às restrições lógicas das expressões de busca (FERNEDA 2003).
Assim, percebe-se que este modelo é binário, isto é, a frequência de um termo não tem
efeito. Nesse modelo, a semântica da consulta é bem definida – cada documento, ou corresponde à
expressão booleana, ou não. Em razão desta semântica de busca simples e do cálculo direto dos
resultados utilizando operações de conjuntos, este modelo é amplamente usado em ferramentas de
buscas comerciais (LOPES, 2004).
Segundo Ferneda (2003), uma expressão conjuntiva t1 AND t2 irá trazer como resultado
documentos indexados tanto por t1 quanto por t2. Esta operação é equivalente à interseção do
conjunto dos documentos indexados por t1 com o conjunto dos documentos indexados por t2,
representado pela área cinza da Figura 8.
25
Figura 9 - Representação de uma busca booleana disjuntiva (OR)
Fonte: Ferneda (2003).
Uma expressão que utiliza apenas um termo t1 terá como resultado o conjunto de
documentos indexados por t1. A expressão NOT trará como resultado os documentos que não são
indexados pelo termo t1, representados pela área cinza da Figura 10.
Para Lopes (2004), podem ser encontrados alguns problemas relacionados ao sistema
booleano:
a formulação de uma consulta adequada, isto é, a seleção dos termos para a consulta
pode ser complexa, especialmente se o domínio não é bem conhecido pelos usuários do
sistema;
o tamanho da saída não pode ser controlado. O resultado da consulta tanto pode ter
milhares de itens, como pode conter nenhum. Além disso, sem um grau de comparação
parcial, não se pode saber o que foi deixado de fora da definição da consulta; e
26
uma vez que não se tem um grau de comparação, não existe uma forma dos dados serem
ordenados de acordo com a relevância.
Para Ferneda (2003), no Modelo Vetorial um documento é representado por um vetor onde
cada elemento representa a relevância, ou o termo, do respectivo termo de indexação para o
documento. Cada vetor apresenta a posição do documento em um espaço multidimensional, onde
um termo de indexação representa uma dimensão ou eixo. Os elementos do vetor (peso) são
normalizados para receber valores entre zero e um. Quanto mais próximo de um, maior importância
para a descrição do documento. A Figura 11 mostra a representação de um documento DOC1 com
termos de indexação t1 e t3 com pesos 0.3 e 0.5, respectivamente:
27
Figura 11 - Representação vetorial de um documento com dois termos de indexação
Fonte: Ferneda (2003).
Da mesma forma que os documentos, uma expressão de busca também deve ser
representada por um vetor numérico onde cada elemento representa a importância (peso) do
respectivo termo na expressão de busca. A Figura 12 mostra a representação da expressão de busca
eBUSCA=(0.2,0.35,0.1) junto com os documentos DOC1 e DOC2 em um espaço vetorial formado
pelos termos t1, t2 e t3.
28
Um problema que ocorre no Modelo Vetorial é a dimensionalidade alta: o número de
palavras distintas em um conjunto de documentos pode chegar facilmente à centena de milhares.
Outros problemas conhecidos são a grande variação de estilos de escrita ou erros de grafia. Além
disso, quaisquer duas palavras são consideradas por definição não-relacionadas. Assim, pode ser
difícil obter uma informação exata das relações semânticas apenas através das informações textuais,
automaticamente.
A utilização de uma mesma representação tanto para as expressões de busca como para os
documentos permite calcular o grau de similaridade entre os dois documentos ou entre uma
expressão e cada um dos documentos. 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,
utilizando a Equação 1.
Equação 1
onde w i,x é o peso do i-ésimo elemento do vetor x e w i,y é o peso do i-ésimo elemento do vetor y.
O grau de similaridade entre dois documentos (DOC1 e DOC2) pode ser representado como:
Equação 2
Portanto, o grau de similaridade entre os documentos DOC1 e DOC2 é igual a 0.73 ou 73%.
Equação 3
29
Então, a expressão de busca eBUSCA1 possui um grau de similaridade de 45% com o
documento DOC1 e de 92% com o documento DOC2.
Segundo Robredo (2005), a lógica fuzzy (difusa, vaga, nebulosa) é um conjunto da lógica
booleana que introduz um novo conceito de “verdade parcial”. Enquanto a lógica clássica mostra
que tudo pode ser expresso em termos binários (0 ou 1, certo ou errado, verdadeiro ou falso), o
mundo real apresenta uma série de gradações entre limites extremos (por exemplo, morno entre frio
e quente ou, também, mais quente e menos quente, etc.). A lógica difusa substitui valores booleanos
de “verdade” por graus ou “níveis de verdade”, que são parecidos com as probabilidades, exceto
que não é preciso estabelecer um limite de 100%. No caso de grupos ou conjuntos de descritores ou
palavras chave com algum tipo de afinidade, é possível que um termo pertença a um conjunto, mas
não completamente porque pode também pertencer a outro conjunto, em função do domínio ou
ambiente semântico em que se situam os dois conjuntos.
Um documento pode ser visto como um conjunto fuzzy de termos, µ(t)/t, onde os pesos
dependem do documento e do termo em questão, isto é: µ(t)=F(d,t). Assim, a representação fuzzy de
um documento baseia-se na definição de uma função F(d,t) que produz um valor numérico que vai
representar o peso de um determinado termo t para um documento d.
Normalmente a função adotada para calcular os pesos dos termos de indexação está baseada
está baseada no cálculo da frequência de ocorrência dos termos no texto todo e fornece uma
representação estática do documento. O cálculo desses pesos não considera que em vários casos os
documentos podem estar estruturados em sub-partes lógicas ou seções e que as ocorrências de um
termo podem assumir significados diferentes de acordo com a seção que ele aparece. Essas seções
30
podem ter diferentes graus de importância de acordo com a necessidade do usuário. Se, por
exemplo, o usuário está procurando por um artigo escrito por uma determinada pessoa, a seção mais
importante a ser analisada é a seção de autores. Quando a procura é por assunto, o título, as
palavras-chaves, o resumo e a introdução podem assumir maior importância. A Figura 13 expressa
o grau de relevância do termo t na seção Si do documento d (FERNEDA, 2003).
Vários fatores devem ser levados em conta ao se definir os algoritmos que servirão de base
para o desenvolvimento de aplicações de recuperação da informação usando a lógica fuzzy. O fato é
que o número de pesquisas e novas publicações sobre recuperação da informação usando a lógica
fuzzy cresce cada dia (ROBREDO, 2005).
31
usuário do sistema, percebidos através de atribuições de relevância aos documentos recuperados
(FERNEDA, 2003).
Para Ferneda (2003), um algoritmo genético é um processo de repetição onde é mantida uma
população de “indivíduos”, que representam as possíveis soluções para um determinado problema.
A cada nova “geração” os indivíduos dessa população passam por uma avaliação de sua capacidade
em oferecer uma solução satisfatória para o problema. Essa avaliação é feita por uma função de
adaptação ou de fitness. Assim, alguns indivíduos são selecionados após essa avaliação através de
uma regra probabilística, passando por um processo de reprodução e gerando uma nova população
de possíveis soluções. Com isso, a cada nova geração, a população gradativamente vai ficando mais
apta à solução do problema. A estrutura funcional de um algoritmo genético está representada na
Figura 14.
32
Figura 14 - Sequência de execução de um algoritmo genético
Fonte: Adaptação de Ferneda (2003).
cromossomo (genótipo): cadeia de bits que representa uma possível solução para o
problema;
33
fenótipo: cromossomo codificado;
geração: iteração completa do algoritmo genético que gera uma nova população;
aptidão bruta: saída gerada pela função objetivo para um indivíduo da população;
34
Figura 15 - Conjunto de documentos representados por quatro cromossomos
Fonte: Ferneda (2003).
O grau de aptidão de cada cromossomo é dado pela média dos coeficientes obtidos a cada
busca. Também é calculada a aptidão do documento através da média de aptidão de cada
cromossomo.
Conforme Aranha (2007), as redes neurais artificiais, muito usadas na década de 90,
costumam ser modelos complexos, porém fechados, que geram ótimos resultados para determinadas
aplicações onde tem-se grande volume de dados.
Uma rede neural possui um conjunto de nós dividido em camadas. A primeira é a camada de
entrada, seguida de zero ou mais camadas intermediárias, seguida de uma camada de saída. Cada
um dos nós recebe um peso de entrada e gera uma saída (LOPES, 2004).
Para Ferneda (2003), de uma forma mais simples, a recuperação de informação trata de
documentos, termos de indexação e buscas. Um sistema de recuperação da informação
rotineiramente pesquisa documentos relevantes para satisfazer uma determinada expressão de busca
através dos termos de indexação. Nesses sistemas, tem-se de um lado as expressões de busca e do
outro, documentos, ficando os termos de indexação no meio. Isso pode ser visto como uma rede
neural de três camadas: a camada de busca seria a camada de entrada da rede neural, a camada de
35
documentos seria a saída e a camada de termos de indexação seria uma camada central. Um
exemplo genérico deste tipo de aplicação é demonstrado na Figura 16.
Os termos de busca (t1, t7, t3, t9) começam o processo de inferência através da ativação dos
respectivos termos de indexação. Alguns dos termos de busca podem não fazer parte do conjunto de
termos de indexação, como é o caso de t7 e t9. Neste caso, eles não ativarão nenhum termo de
indexação e serão desconsiderados. Os termos de indexação que forem ativados pelos termos de
busca enviam sinais para os documentos que serão multiplicados pelos pesos de cada ligação (p1,1..
pn,m). Os documentos ativados mandam sinais que voltam aos termos de indexação. Ao receberem
estes estímulos, os termos de indexação enviam novos sinais aos documentos, repetindo o processo.
Os sinais vão se tornando fracos a cada iteração, até esse processo se encerrar. O resultado final de
uma busca será o conjunto dos documentos ativados, cada um com seu nível de ativação, que pode
ser considerado como o grau de relevância do documento em relação à busca. No conjunto de
documentos resultantes podem estar documentos que não estão diretamente ligados à expressão de
busca, mas que foram inferidos durante a pesquisa e possuem um certo grau de relacionamento com
a necessidade de informação do usuário. A ativação do termo de indexação t1, por exemplo, ativou
a conexão com o documento d2. Este, por sua vez, também ativou o termo t2, que não fazia parte do
36
conjunto de termos de busca. O termo t2 poderá ativar o documento dn que, dependendo do seu
grau de ativação, pode até fazer parte do conjunto de documentos recuperados (FERNEDA, 2003).
Segundo Pinheiro (2008), a grande característica das redes neurais é a sua grande
automatização já que seu usuário final, ou desenvolvedor, não precisa conhecer muito extensamente
sobre como elas trabalham, sobre a modelagem de predição ou mesmo sobre a base de dados para
utilizá-la. Claro que isso é uma aproximação grosseira da realizada, mas define bem a facilidade de
construção de redes neurais nas mais diversas áreas. Naturalmente, o entendimento desses fatores
facilita muito o desenvolvimento, embora o seu desconhecimento não seja um fator de obstrução do
uso desta técnica.
Equação 4
Para Araújo Júnior (2007), o conceito de precisão mostra como uma medida objetiva de
rendimento de sistemas de informação se torna uma das etapas mais importantes destes sistemas e o
resultado do processo de busca e recuperação da informação. Essa medida de rendimento
representada pelo índice de precisão auxilia no conhecimento do tamanho da informação inútil que
está sendo recuperada, mostrando a necessidade de se detectar em que parte do processo de busca e
recuperação da informação não há rendimento satisfatório. Decisões que podem ser tomadas a partir
37
de índices de precisão geram impactos nos sistemas de informação, tornando necessárias algumas
ações para evitar perdas de desempenho e melhorar a qualidade dos seus serviços.
O TMSK – Text Miner Software Kit é um software de mineração de textos que realiza pré-
processamento documentos textuais no formato XML (Extensible Markup Language). Esse
processo é realizado com a tokenização, criação do dicionário e detecção de fim de sentença. A
recuperação da informação é realizada através de listas invertidas, isto é, termos que apontam para
os documentos. A mineração de textos é efetuada apenas na língua inglesa, sendo sua aplicação
indevida para o problema do Arquivo Público de Biguaçu.
O RIKTEXT – Rule Induction Kit for Text é um pacote de software para categorização de
documentos baseado em regras de decisão. Os dados devem estar em uma tabela, onde cada linha
corresponde a um documento e cada coluna corresponde a um termo do dicionário. Ele trabalha
apenas com o idioma inglês.
O Intext é uma ferramenta de domínio público para análise de textos. Possui diversas
funcionalidades que analisam textos em inglês e alemão. Essa ferramenta pode ser usada para listar
strings que ocorrem no texto e suas frequências, além de analisar conteúdos através da busca de
padrões no texto. Trabalha com os idiomas inglês e alemão, não sendo então aplicável para o
problema tratado neste projeto.
38
2.7.1 CONSIDERAÇÕES
39
3 ANÁLISE E PROJETO
Os requisitos não funcionais servem para declarar restrições ou atributos de qualidade para a
ferramenta. A seguir estão listados os requisitos não funcionais.
41
Os casos de uso do sistema são descritos a seguir:
42
Figura 18 - Diagrama de caso de uso 2
43
Filtrar número de resultados: permite ao usuário que escolha o número de resultados
máximos a serem exibidos;
Buscar documentos: permite que seja feita uma busca dos documentos através de
expressões dadas pelo usuário;
Buscar com expressões: permite uma busca feita com a utilização de expressões
booleanas;
Buscar sequência exata de palavras: permite que seja feita uma busca pela expressão
utilizada pelo usuário, respeitando-se a ordem das palavras;
Buscar com todas as palavras: permite que seja feita uma busca que retorne qualquer
uma das palavras da expressão de busca;
Buscar com caracteres curingas: permite que se busca substituindo qualquer caractere
desconhecido por um caractere curinga, que substituirá um ou mais caracteres;
Buscar por palavra semelhante: permite que seja feita uma busca por palavras
semelhantes foneticamente àquela que se deseja;
Buscar com distância máxima: permite que se escolha a distância máxima entre os
termos a serem buscados;
Buscar com tesauros: permite que seja utilizado tesauros para efetuar a busca; e
Efetuar busca avançada: permite que seja feita uma busca avançada sem o
conhecimento das expressões, através da tela de busca avançada.
44
Figura 19 - Diagrama de Classes do Sistema
Dessa forma pode-se demonstrar os principais métodos e atributos das classes principais,
correspondentes aos processos de indexação e busca.
45
Figura 20 - Diagrama de sequência da indexação
Depois do processo de indexação do sistema se torna possível efetuar a busca nesses índices
gerados. Esse processo de busca pode ser visto na Figura 21.
46
Figura 21 - Diagrama de sequência de busca
A busca de documentos poderá ser feita através do uso de operadores e expressões. Além
disso, o sistema permite a utilização de tesauros nas pesquisas. Os tesauros cadastrados estão
armazenados no banco de dados com seus respectivos sinônimos, sendo buscados sempre que o
usuário desejar utilizar tesauros nas pesquisas. O processo de pesquisa com tesauros pode ser visto
no diagrama de sequência da Figura 22.
47
Figura 22 - Diagrama de sequência da busca com tesauros
48
4 IMPLEMENTAÇÃO
Na presente seção são apresentadas algumas ferramentas, como mostra a Figura 23, que
auxiliaram durante o processo de desenvolvimento do projeto, fazendo com que se aperfeiçoasse os
processos de coleta, indexação e busca de documentos, e permitindo ainda a realização de testes.
O Lucene é uma biblioteca de recuperação de informação textual. Criada por Doug Cutting,
o Lucene é uma das mais usadas e mais famosas bibliotecas para indexação e consulta de textos. A
biblioteca, que foi originalmente escrita em Java, possui código aberto e é mantida pela Apache
Foundation (KRAMER, 2008).
De acordo com Sonawane (2009), o foco do Lucene na indexação e na procura de texto pode
ser explorado na criação de recursos de busca para aplicativos como clientes de e-mail, listas de
correspondências, procuras da Web, procuras em banco de dados, etc. Web sites como Wikipedia
utilizam o Lucene em suas buscas textuais.
50
Para o Lucene, a origem dos dados não importa, nem seu formato ou a linguagem em que foi
escrito, desde que esses dados possam ser convertidos para texto. Isto significa que o Lucene pode
ser utilizado para indexar e buscar dados que estão em arquivos, páginas Web, documentos
Microsoft Word, documentos HTML ou PDF, ou outro qualquer formato em que se possa extrair
informação textual. As etapas para criação de um aplicativo com o Lucene podem ser vistas na
Figura 24.
Antes que os dados sejam incluídos no índice, eles são processados por um analisador. Neste
caso, o analisador converte os dados de texto em uma unidade de procura fundamental, chamada
51
termo. Nesta análise, os dados de texto passam por várias operações: extração das palavras,
remoção de palavras comuns, etc. A análise converte os dados de texto em tokens e esses tokens são
incluídos como termos no índice do Lucene (SONAWANE, 2009).
O Lucene possui vários tipos de analisadores, dentre eles o BrazilianAnalyzer que executa o
tratamento dos termos de acordo com o idioma Português do Brasil, fazendo, caso necessário, a
remoção de stopwords e a remoção de sufixos.
Por todos esses recursos, alto desempenho e código acessível, optou-se por utilizar essa
poderosa ferramenta para auxiliar no processo de busca e recuperação da informação, já que a
mesma é muito adequada ao contexto do presente projeto.
O POI foi utilizado no processo de leitura de arquivos do Microsoft Office Word, mostrou-
se a biblioteca mais adequada para esse tipo de trabalho, já que possui constante atualização para
tipos de arquivos mais recentes do Microsoft Word, e também por sua facilidade de uso. Na Figura
25 pode ser observado um trecho de código onde essa biblioteca é utilizada.
52
Figura 26 - Trecho de código com Apache POI
O Apache POI é a ferramenta ideal para que se reconheça arquivos de texto da Microsoft.
Como o Arquivo de Biguaçu trabalha apenas com arquivos do formato “.Doc”, optou-se pelo uso
dessa ferramenta no desenvolvimento do aplicativo. O mesmo seria facilmente adaptado para
trabalhar também com tipos de arquivos mais recentes como o formato “.Docx”, caso fosse
necessário.
4.1.3 LUKE
A ferramenta Luke (2010) é um software de análise de índice gerado pelo Lucene, onde é
possível manipular os dados dos índices de várias maneiras:
53
apagar documentos do índice seletivamente; e
Como pode ser visto na Figura 26, o Luke permite uma visualização simples de todos os
termos do índice.
A Figura 25 mostra como o Luke dá acesso aos termos do índice, ordenando-os pelo número
de ocorrência. Também é possível ter acesso ao número de termos de cada campo do documento,
como o título e o conteúdo do mesmo.
O Luke (2010) teve importante papel no desenvolvimento deste projeto, já que facilitou o
manuseio e a visualização dos índices, permitindo uma verificação detalhada dos termos e ajudando
na análise da solução.
54
4.2 PROCESSO DE COLETA DE DOCUMENTOS
A coleta de documentos é a etapa onde são extraídos os textos dos documentos que serão
utilizados pela ferramenta. Esse processo é feito com o auxílio da biblioteca Apache POI.
Cada documento foi dividido em três campos onde cada um possui sua utilidade nas outras
etapas de desenvolvimento. Esses campos são:
Título: contém o nome do documento a ser indexado. Esse campo é armazenado para
que se possa mostrar ao usuário o nome do arquivo encontrado;
Conteúdo: contém o conteúdo do documento a ser indexado. Esse processo é feito com
o auxílio do Apache POI e será posteriormente analisado e indexado; e
Caminho: contém o caminho da localização do arquivo no diretório. Esse campo não
será indexado, mas será armazenado para que a ferramenta encontre o documento
correspondente e possibilite a sua abertura.
55
Figura 28 - Coleta de documentos na classe WordReader
Para auxiliar no processo de indexação foi adotada a biblioteca Apache Lucene. Essa
biblioteca utiliza o sistema de lista invertida para armazenar seus índices. A Figura 28 simplifica o
funcionamento desse sistema, onde cada termo é uma chave que aponta para os documentos
correspondentes.
56
Figura 29 - Esquema simplificado de uma lista invertida
Fonte: Veloso (2010).
Dessa forma, para cada conjunto de documentos indexados é criado um novo arquivo de
índice, dentro de uma pasta com o nome desse conjunto.
57
Figura 30 - Lista de termos StandardAnalyzer
58
Figura 31 - Lista de Termos com BrazilianAnalyzer
É importante ressaltar a diferença dos termos presentes em cada índice. Quando não foi feita
uma análise da língua portuguesa, como no primeiro analisador, houve uma quantidade de seis
termos sem valor semântico entre os doze primeiros termos. Isso mostra a diferença que uma boa
análise do texto é capaz de fazer, justificando a escolha do BrazilianAnalyzer no desenvolvimento
da ferramenta.
A lista das stopwords do Lucene já vem pré-definida, nela constando as palavras de pouco
conteúdo semântico. Essa lista é mostrada na Figura 31.
59
Figura 32 - Lista de stopwords do Lucene
60
Figura 33 - Algoritmo de stemming do Lucene
61
Figura 34 - Trecho de código do método indexar
Esse código também é responsável por acessar a classe Indexador através do método
indexarDiretorio, enviando como parâmetro o diretório dos documentos. Um trecho de código da
classe Indexador é apresentado na Figura 34.
62
Nesse trecho de código pode-se notar que o diretório de documentos é percorrido em busca
de arquivos, sendo que, quando um diretório (pasta) é encontrado, o método usa recursividade,
fazendo com que subpastas também sejam percorridas.
Então podemos ver que o diretório dos documentos é percorrido em busca de arquivos,
sendo que quando um diretório (pasta) é encontrado o método se chama novamente, fazendo com
que as subpastas também sejam percorridas.
Dessa forma, através do texto da consulta é criada uma query do Lucene através da classe
QueryParser. Logo após esse processo ser efetuado, o método pesquisar da classe Pesquisador é
chamado, como mostra o trecho de código da Figura 36.
63
Figura 37 - Código de pesquisa de documentos
Neste método, após ser criado o acesso ao índice, é preparada uma coleção de resultados
com o número de resultados máximos desejados e a pesquisa é feita. Os documentos recuperados
são classificados por relevância e são colocados na classe Documento.
Algumas palavras podem possuir mais de um significado, o que gera uma incerteza do
usuário no momento de se efetuar uma busca. Para resolver esse problema foi implementado um
sistema onde o usuário decide se quer efetuar a busca com sinônimos, onde em caso afirmativo os
mesmos são adicionados à expressão de busca, como mostra o trecho de código da Figura 37.
64
Assim, caso o usuário queira efetuar uma busca onde sejam incluídos sinônimos, os mesmos
serão buscados através da classe Tesaurador. O método buscaTesauro separa a expressão de busca
em tokens para verificar se cada token possui sinônimos correspondentes. Esse método pode ser
visualizado na Figura 38.
Dessa forma, tem-se cada termo da busca separado, para que se possa buscar por possíveis
sinônimos no banco de dados. Esses sinônimos podem ser acrescentados e editados pelos usuários.
O código do procedimento da pesquisa de sinônimos é mostrado na Figura 39.
65
Figura 40 - Código da Pesquisa de Sinônimos
Nessa tela estão disponíveis todos os recursos que o usuário possui para pesquisa,
permitindo a entrada dos termos que serão pesquisados, a escolha do conjunto de documentos sobre
o qual será feita a pesquisa, a utilização ou não de tesauros, a quantidade máxima de resultados a
serem apresentados e, ainda, a opção de pesquisa avançada. A tela inicial pode ser observada na
Figura 40.
66
Figura 41 - Tela Inicial de Pesquisa
O usuário poderá buscar por uma sequência exata de palavras, limitando o resultado da
busca àquela ordem específica de termos. Por exemplo, ao digitar “Arquivo Municipal de Biguaçu”
o sistema retornará apenas documentos que contém exatamente a frase entre aspas.
Ainda poderá ser efetuada uma busca com a utilização de operadores booleanos como
“AND” e “OR”, além de “+” e “-“ que obrigam ou proíbem a presença dos termos procedidos pelos
operadores. As expressões poderão ainda ser agrupadas com o uso de parênteses, facilitando em
alguns casos o controle da lógica booleana. Um exemplo deste agrupamento pode ser visto na
Figura 41.
67
Figura 42 - Exemplo de agrupamento de termos e operadores
Neste caso, o sistema efetuará uma busca que irá trazer como resultados documentos que
contém o termo “denomina” e ainda ao menos um dos termos “rua” ou “servidão”. O usuário
também poderá discriminar pesos aos termos da pesquisa, fazendo com que o sistema retorne os
documentos mais relevantes de acordo com os pesos de cada termo. Por padrão o peso de cada
termo é um, porém pode ser alterado através da adição do operador “^” mais o número
correspondente ao peso. Na expressão “Praça^3 Parque” o termo “Praça” terá um peso maior.
Poderão também ser recuperados termos que estão a uma certa distância entre si no
documento. Em um exemplo onde são utilizados os termos “Câmara Biguaçu”~2, serão resultantes
os documentos que possuírem as palavras “Câmara” e “Biguaçu” com no máximo dois termos de
distância. Pode-se também fazer o uso de caracteres curingas, que podem substituir uma ou mais
letras em determinado termo. Ao efetuar busca com o termo “Eli?a” o operador “?” pode fazer o
papel de qualquer outra letra. O operador curinga “ * ” pode substituir uma ou mais letras, como se
observa na Figura 42.
68
Figura 43 - Exemplo do uso do operador coringa
Neste caso, foram recuperados todos os documentos que possuíam o termo “Max” em seu
início, independentemente de quais e quantas letras o prosseguiam.
Dessa forma, tem-se um grande conjunto de operadores que podem formar inúmeras
expressões, sendo essas mais bem visualizadas na Tabela 2.
69
Documentos com sonoridade semelhante, baseado no algoritmo
Parana~
de Edit Distance
Documentos que contenham os termos pesquisado com uma
“Luiz Gonzaga Junior”~1
distância máxima de um termo entre cada.
Documentos que possuem os termos pesquisados, porém com
João^3 Joaquim
um peso maior para o termo especificado.
(Alvará OR Habite-se) Documentos que contenham os termos Alvará ou Habite-se, e
+Arlindo contenham o termo Arlindo
Com o intuito de facilitar a compreensão do uso de operadores e expressões foi criada uma
tela de pesquisa avançada. Essa tela permite que usuários que não possuem conhecimento sobre o
uso de operadores possam utilizar os mesmos de uma forma simplificada, como mostra a Figura 43.
70
Com esse auxílio ao executar uma busca, o usuário poderá optar por incluir ou não um termo
na pesquisa, ou ainda usar uma expressão, palavras semelhantes, distância máxima entre palavras,
entre outros. Os resultados dessa busca podem ser observados na Figura 44.
Os termos e operadores que foram utilizados indiretamente pelo usuário serão apresentados
no campo de pesquisa da tela de busca inicial, fazendo com que o usuário possa compreender a
utilização dos operadores e posteriormente utilizar expressões mais abrangentes, até mesmo sem o
auxílio da pesquisa avançada.
Ao executar qualquer tipo de pesquisa o usuário deverá selecionar uma base de dados
disponível, isto é, o conjunto de documentos a ser pesquisado e recuperado. Isso permite que o
usuário possa optar pelo conjunto de documentos que lhe convém, tornando os resultados da
recuperação da informação mais precisos.
A criação dessas bases de dados só estará disponível para administradores do sistema, que
são responsáveis pela escolha dos conjuntos de documentos necessários. Assim, os administradores
poderão criar, atualizar e excluir conjuntos de documentos indexados, conforme a necessidade das
71
buscas indicar. Esse processo é feito através do menu “Editar – Base de Índices” e pode ser visto na
Figura 45.
Para que uma base de dados seja criada deve-se clicar em “Novo” e selecionar uma pasta ou
diretório que contém os documentos desejados. Após a execução desse procedimento, o sistema
fará uma busca em todos os arquivos e subpastas do diretório selecionado e a indexação dos
arquivos do tipo “.doc” (tipo de arquivo utilizado no Arquivo Público de Biguaçu). Em seguida é
mostrado o tempo que o sistema empregou no processo de indexação e, também, dados da nova
base, como nome, caminho e data da última atualização ou indexação que serão adicionados na
tabela.
Ao efetuar uma pesquisa o usuário poderá optar por usar tesauros. A inclusão, edição ou
exclusão de termos ao tesauro pode ser feita através do menu “Tesauro – Editar Tesauro”, onde será
apresentada a tela mostrada na Figura 46.
72
Figura 47 - Tela de edição de tesauro
Na tela de edição de tesauros poderá ser feita a inclusão de termos para o mesmo, assim
como edição dos seus sinônimos. Apenas o administrador do sistema terá acesso a essa tela.
Quando o usuário faz uma busca com qualquer um dos termos do tesauro, o sistema buscará
também por palavras que possuem o mesmo significado. Caso o usuário efetue uma busca qualquer
utilizando a palavra Lei, por exemplo, a pesquisa também trará resultados que possuem as palavras
Resolução, Decreto e Portaria.
Tais facilidades para a realização de buscas, indexação de bases de dados e recursos para
melhorar a qualidade dos resultados são necessárias para que haja uma agilidade no processo de
busca e recuperação da informação no Arquivo Público de Biguaçu, com a finalidade da ferramenta
se tornar amigável para todos os níveis de usuários.
73
4.7.1 Tempo de Indexação
O tempo consumido para a indexação dos arquivos de teste foi de um segundo como pode
ser visto na Figura 47. Para que se chegasse a esse tempo, além de utilizar a versão mais atual do
Lucene, que possui um desempenho muito melhor do que as anteriores, também se buscou otimizar
o processo de indexação, fazendo com que se evitasse qualquer esforço desnecessário da ferramenta
durante este processo, não efetuando nenhuma operação que não seja do processo durante a
invocação do mesmo.
Assim, o processo de indexação, que é o único processo que seria capaz de consumir um
tempo significativo para ser executado, está dentro do tempo aceitável para uma boa performance
da ferramenta.
74
13500
12000
Número de Termos
740
735
730
725 Tamanho do índice com
720 análisador português
715 Tamanho do índice sem
analisador português
710
705
700
Tamanho do Índice
75
Apesar dos ganhos não parecerem tão significativos nos testes, ao utilizar uma grande
coleção de documentos esse ganho passa a ser maior. Vale a pena ressaltar que o tamanho do
arquivo de índice é muito pequeno comparado ao tamanho do conjunto de documentos, como
observa-se na Figura 50.
8000
7000
6000 Tamanho em KB do
5000 arquivo de índice
4000
3000 Tamanho em KB do
conjunto de
2000 documentos
1000
0
Tamanho em KB
Figura 51 - Tamanho em KB
Dessa forma, pode-se ter noção da qualidade do processo de indexação, já que o arquivo de
índice possui menos de 10% do tamanho do conjunto de documentos indexados.
76
5 ANÁLISE DOS RESULTADOS
Para comprovar que a ferramenta obteve bons resultados no processo de pesquisa, foi
necessária a realização de alguns testes para verificar a qualidade dos resultados obtidos, assim
como a precisão da pesquisa.
No teste da Tabela 3, já se sabia o número do processo que se queria localizar (2379), seu
respectivo ano (2003) e tipo (isenção). Neste caso, para uma maior precisão, seria necessário o uso
do operador AND. Porém, para esse teste, o mais importante foi o primeiro documento listado na
tela de resultados ser realmente o documento buscado. Outro exemplo pode ser visto na Tabela 4.
Na Tabela 5 procurava-se por um alvará de pintor de uma pessoa no ano de 1994. Foram
encontrados cinco documentos, sendo que quatro eram referente a alvarás de pintor, e o primeiro
resultado encontrado foi o do respectivo alvará daquele ano.
Neste exemplo buscava-se por todas as referências padaria que houvessem documentadas.
Porém, neste tipo de caso a padaria pode estar indexada de maneira diferente, isto é, com outra
palavra que contenha o mesmo significado de padaria. Para isso, utilizou-se de tesauros para se
efetuar a pesquisa da Tabela 7.
78
Tabela 7 – Tabela de Análise de Resultados (5)
Primeiro
Expressão Pesquisada Encontrados Relevantes Precisão
Documento Ideal?
Dessa forma, cadastrou-se no tesauro palavras que possuem o mesmo significado semântico
de padaria, como panificadora e confeitaria. Isso fez com que o número de resultados recuperados
fosse maior, sendo que os documentos encontrados continuaram sendo relevantes.
Todos os testes foram baseados nas ocasiões que acontecem constantemente no Arquivo
Público de Biguaçu, já que nem sempre são conhecidos os termos corretos a serem buscados, sendo
importante que os resultados obtidos tenham maior relevância.
79
6 CONCLUSÕES
Com isso, ao implementar funcionalidades que seriam importantes para o Arquivo Público
de Biguaçu, como o uso de tesauros, percebeu-se que os mesmos não seriam utilizados no processo
de indexação, e somente, caso o usuário desejasse, eles poderiam auxiliar no processo de busca.
Entretanto, como nem sempre se sabe exatamente o que se quer buscar, pois geralmente as
buscas são solicitadas por pessoas externas ao Arquivo Público de Biguaçu e que podem não passar
corretamente as informações, a ferramenta deve servir para atender ao usuário da melhor maneira
possível, auxiliando a contornar essa incerteza no processo de busca.
Foi dessa forma que foi desenvolvido o tesauro, para que no momento da busca, caso o
usuário busque por alguma palavra que possua sinônimos comuns no conjunto de documentos, o
sistema também possa encontrar documentos com aqueles sinônimos.
81
Foram realizados testes para que fosse certificado que a ferramenta construída atende às
necessidades do Arquivo Público de Biguaçu, ficando constatado que para a resolução do problema
da pesquisa em documentos, a ferramenta mostrou-se muito eficiente.
Outro problema enfrentado – e esse é um dos problemas mais encontrados nesse tipo de
ferramenta – foi o tratamento dos textos dos documentos. Muitos documentos possuem conteúdo
que não é de interesse no processo de indexação e busca e precisa ser tratado. Figuras, tabelas,
quebra de linha e outros códigos são desnecessários e acabam atrapalhando no processo da coleta e
indexação de documentos.
Procurou-se tratar todos estes problemas para que se obtivesse um resultado satisfatório
quando a ferramenta fosse concluída, sendo que para o atual contexto do Arquivo Público de
Biguaçu, a ferramenta mostrou ser capaz de auxiliar e otimizar o processo de busca e recuperação
da informação. A análise dos resultados obtidos e a utilização da ferramenta no Arquivo Público de
Biguaçu provaram a eficiência da ferramenta ao tratar os documentos do mesmo, com o grande
diferencial sendo o tratamento de documentos em língua portuguesa.
Todavia, isso não significa que a ferramenta não deva evoluir. Assim como a informação e o
número de documentos crescem de forma vertiginosa, a tecnologia vem se aperfeiçoando para tratar
com problemas cada vez mais complexos. Neste caso não deve ser diferente, pois trabalhos futuros
podem e devem ser desenvolvidos.
82
informatizados tende a mudar de característica, passando a ser um conteúdo formado por textos
maiores, o que implicará em um maior tratamento.
83
REFERÊNCIAS BIBLIOGRÁFICAS
SOARES, F.A. Mineração de Textos na Coleta Inteligente de Dados na Web. Rio de Janeiro,
2008.
VALLE, J. D. Nova versão da biblioteca Apache Poi está no ar. Disponível em:
<http://info.abril.com.br/noticias/ti/biblioteca-apache-poi-3.6-esta-no-ar-16122009-26.sh>l.
Acessado em 23/10/2010.
85
APÊNDICES
COLEÇÃO DE DOCUMENTOS PARA OS TESTES
Foram coletados 196 arquivos para que os testes fossem realizados. Esses arquivos estão
divididos em três pastas, onde cada pasta contém o tipo de documento correspondente ao arquivo.
As pastas são Isenção de IPTU, Imposto Territorial Rural e Alvara de Licença. A Figura 51
corresponde aos documentos da pasta Isenção de IPTU.
87
A Figura 52 corresponde aos documentos da pasta de Imposto Territorial Rural.
88
A Figura 53 corresponde aos documentos da pasta de Alvará de Licença
89