Você está na página 1de 100

UNIVERSIDADE DO VALE DO ITAJAÍ

CENTRO DE CIÊNCIAS TECNOLÓGICAS DA TERRA E DO MAR


CURSO DE CIÊNCIA DA COMPUTAÇÃO

UTILIZAÇÃO DE TÉCNICAS DE RECUPERAÇÃO DA INFORMAÇÃO NA


CONSTRUÇÃO DE UMA FERRAMENTA DE BUSCA EM DOCUMENTOS
DO ARQUIVO PÚBLICO DE BIGUAÇU

Área de Inteligência Artificial

por

Luiz Gonzaga Ferreira Junior

Alessandro Mueller, M. Eng.


Orientador

São José, novembro de 2010


UNIVERSIDADE DO VALE DO ITAJAÍ
CENTRO DE CIÊNCIAS TECNOLÓGICAS DA TERRA E DO MAR
CURSO DE CIÊNCIA DA COMPUTAÇÃO

UTILIZAÇÃO DE TÉCNICAS DE RECUPERAÇÃO DA INFORMAÇÃO NA


CONSTRUÇÃO DE UMA FERRAMENTA DE BUSCA EM DOCUMENTOS
DO ARQUIVO PÚBLICO DE BIGUAÇU

Área de Inteligência Artificial

por

Luiz Gonzaga Ferreira Junior

Relatório apresentado à Banca Examinadora do


Trabalho de Conclusão do Curso de Ciência da
Computação para análise e aprovação.
Orientador: Alessandro Mueller, M. Eng.

São José (SC), novembro de 2010


SUMÁRIO

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

API Application Programming Interface


JPEG Join Photographic Experts Group
HTML HyperText Markup Language
ITPU Imposto Predial Territorial Urbano
OCR Optical Character Recognition
PDF Portable Document Format
TCC Trabalho de Conclusão de Curso
UML Universal Modeling Language
UNIVALI Universidade do Vale do Itajaí
XML Extensible Markup Language
LISTA DE FIGURAS

Figura 1 - Representação simplificada do processo de análise e recuperação da informação .............9


Figura 2 - Etapas do processo de mineração de textos .......................................................................12
Figura 3 - Identificação de palavras válidas .......................................................................................14
Figura 4 - Processo de tokenização seguido por remoção de stopwords ...........................................15
Figura 5 - Fluxograma simplificado do processo de indexação utilizando um tesauro .....................21
Figura 6 - Representação do processo de recuperação de informação a partir de um índice. ............22
Figura 7 - Representação do processo de recuperação da informação ...............................................23
Figura 8 - Representação do estado de uma expressão conjuntiva (AND) ........................................25
Figura 9 - Representação de uma busca booleana disjuntiva (OR)....................................................26
Figura 10 - Resultado de uma busca boolena com o operador NOT .................................................26
Figura 11 - Representação vetorial de um documento com dois termos de indexação .....................28
Figura 12 - Representação de uma expressão de busca em um espaço vetorial ................................28
Figura 13 - Representação fuzzy de um documento estruturado ........................................................31
Figura 14 - Sequência de execução de um algoritmo genético ..........................................................33
Figura 15 - Conjunto de documentos representados por quatro cromossomos..................................35
Figura 16 - Representação da rede neural aplicada à recuperação da informação .............................36
Figura 17 - Diagrama de caso de uso 1 ..............................................................................................41
Figura 18 - Diagrama de caso de uso 2 ..............................................................................................43
Figura 19 - Diagrama de Classes do Sistema .....................................................................................45
Figura 20 - Diagrama de sequência da indexação ..............................................................................46
Figura 21 - Diagrama de sequência de busca .....................................................................................47
Figura 22 - Diagrama de sequência da busca com tesauros ...............................................................48
Figura 23 - Integração de Ferramentas ...............................................................................................49
Figura 24 - Arquitetura do Apache Lucene ........................................................................................50
Figura 25 - Etapas para criação de aplicativos com Lucene ..............................................................51
Figura 26 - Trecho de código com Apache POI.................................................................................53
Figura 27 - Exemplo de visualização de termos na ferramenta Luke ................................................54
Figura 28 - Coleta de documentos na classe WordReader .................................................................56
Figura 29 - Esquema simplificado de uma lista invertida ..................................................................57
Figura 30 - Lista de termos StandardAnalyzer...................................................................................58
Figura 31 - Lista de Termos com BrazilianAnalyzer .........................................................................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 ..............................................................................62
Figura 35 - Trecho de código da classe Indexador.............................................................................62
Figura 36 - Principais classes da pesquisa .........................................................................................63
Figura 37 - Código de pesquisa de documentos .................................................................................64
Figura 38 - Código da verificação do uso de tesauro .........................................................................64
Figura 39 - Código da busca de tesauros............................................................................................65
Figura 40 - Código da Pesquisa de Sinônimos ...................................................................................66
Figura 41 - Tela Inicial de Pesquisa ...................................................................................................67
Figura 42 - Exemplo de agrupamento de termos e operadores ..........................................................68
Figura 43 - Exemplo do uso do operador coringa ..............................................................................69
Figura 44 - Tela de pesquisa avançada...............................................................................................70
Figura 45 - Resultado da pesquisa avançada ......................................................................................71
Figura 46 - Tela de criação de índices................................................................................................72
Figura 47 - Tela de edição de tesauro ................................................................................................73
Figura 48 - Tempo de Indexação........................................................................................................74
Figura 49 - Número de termos ...........................................................................................................75
Figura 50 - Gráfico de tamanho do índice..........................................................................................75
Figura 51 - Tamanho em KB..............................................................................................................76
Figura 52 - Documentos da Pasta de Isenção de IPTU ......................................................................87
Figura 53 - Documentos da Pasta de Imposto Territorial Rural ........................................................88
Figura 54 - Documentos da pasta de Alvará de Licença ....................................................................89

vi
LISTA DE TABELAS

Tabela 1 - Comparação entre ferramentas..........................................................................................39


Tabela 2 - Tabela de operadores ........................................................................................................69
Tabela 3 - Tabela de Análise dos Resultados (1) ...............................................................................77
Tabela 4 - Tabela de Análise de Resultados (2) .................................................................................77
Tabela 5 - Tabela de Análise de Resultados (3) .................................................................................78
Tabela 6 – Tabela de Análise de Resultados (4) ................................................................................78
Tabela 7 – Tabela de Análise de Resultados (5) ................................................................................79
LISTA DE EQUAÇÕES

Equação 1 ......................................................................................................................................... 29
Equação 2 ......................................................................................................................................... 29
Equação 3 ......................................................................................................................................... 29
Equação 4 ......................................................................................................................................... 37
RESUMO

FERREIRA JUNIOR, Luiz Gonzaga. Utilização de técnicas de recuperação da informação na


construção de uma ferramenta de busca em documentos do Arquivo Público de Biguaçu. São
José, 2010. 100 f. Trabalho de Conclusão de Curso (Graduação em Ciência da Computação) –
Centro de Ciências Tecnológicas da Terra e do Mar, Universidade do Vale do Itajaí, São José, 2010.

O Arquivo Municipal de Biguaçu tem aumentado gradativamente a quantidade de documentos


armazenados. Grande parte destes documentos está sendo digitalizada, o que auxilia no processo de
organização. Porém, com o aumento do número de documentos informatizados, surge a necessidade
de se encontrar uma maneira eficiente para o processo de busca e localização destes documentos. O
presente trabalho apresenta o desenvolvimento de uma ferramenta de busca para o Arquivo
Municipal de Biguaçu, utilizando técnicas de recuperação da informação. Para isso, procurou-se
conceituar as principais técnicas de recuperação da informação, abordando desde modelos
desenvolvidos há décadas, até modelos recentes que utilizam métodos derivados da Inteligência
Artificial. Além disso, este trabalho também tratou de conceitos que auxiliam a compreensão do
processo de recuperação de informação, como o processo de mineração de textos, que trata do
descobrimento de padrões em grandes quantidades de textos. Essas pesquisas, realizadas em teses,
artigos e livros atuais, serviram de alicerce para o desenvolvimento de uma ferramenta de busca.
Por fim, com o desenvolvimento da ferramenta, pretendeu-se criar um meio eficiente de busca de
documentos, contribuindo, assim, com a recuperação da informação, área que ainda tem muito a
evoluir. Depois de o trabalho ser concluído os resultados obtidos foram satisfatórios, tanto na
agilidade do processo de indexação quanto na qualidade do processo de busca. Deve-se ressaltar
que são raras as ferramentas que possuem um tratamento para a língua portuguesa, se tratando de
recuperação da informação, sendo este um diferencial na contribuição deste trabalho para essa área
que ainda tem muito a crescer.

Palavras-chave: Recuperação da informação. Indexação. Mineração de textos.


ABSTRACT

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.

Keywords: Information retrieval. Text mining. Indexing.


1 INTRODUÇÃO

O Arquivo Municipal de Biguaçu, criado pela lei Nº 714, de 22 de maio de 1992, é um


arquivo público composto por arquivos permanentes e intermediários. Segundo a mesma lei,
arquivo permanente é o conjunto de documentos de valor probatório e informativo que devem ser
preservados, respeitada sua destinação final, enquanto que arquivo intermediário é o conjunto de
documentos procedentes de arquivos correntes e que aguardam destinação em depósito de
armazenagem temporária. O Arquivo Público de Biguaçu conta atualmente com três funcionários,
sendo um arquivista, um escriturário e um bolsista.

O acervo do Arquivo Municipal de Biguaçu é composto de documentos manuscritos,


impressos, cartográficos e audiovisuais. Com o aumento do número de documentos gerados e com o
avanço tecnológico, tornou-se necessária a informatização destes documentos. Atualmente grande
parte do Arquivo encontra-se informatizada, sendo que uma parte foi digitada e está disponível em
formato DOC (cerca de 2.000 arquivos), e outra parte encontra-se em formato JPEG, isto é, apenas
possui sua imagem disponível (cerca de 10.000 arquivos).

Parte do conteúdo do Arquivo, como manuscritos e documentos audiovisuais, não possui


uma forma automatizada para sua informatização e precisa de pessoas que sejam capazes de
identificar as informações contidas nesses documentos e transformá-las em texto para facilitar uma
futura busca. Porém, grande parte do acervo do Arquivo pode ser informatizada utilizando-se de
técnicas que reconhecem automaticamente o conteúdo desses arquivos.

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.

Porém, com uma grande massa de documentos informatizados, surge a necessidade de se


encontrar uma maneira eficiente na busca e localização dos documentos solicitados ao Arquivo
Público. Atualmente, no entanto, não há um método eficiente disponível de busca desses arquivos e
não são utilizadas ferramentas de busca que auxiliem na pesquisa dos documentos. Ferramentas de
busca de texto como o Google Desktop não se mostraram um meio eficiente e ágil para o problema
do Arquivo Público, pois nenhuma delas trouxe resultados precisos com um tempo de resposta
compatível às necessidades do mesmo.

O desenvolvimento de uma ferramenta que possa indexar e buscar os documentos


digitalizados do Arquivo Municipal de Biguaçu é muito importante, pois facilitará e auxiliará no
processo de busca, fazendo com que os documentos possam ser encontrados rapidamente, assim
como são digitalizados. A ferramenta deve ser capaz de buscar os documentos indexados em um
tempo compatível com a necessidade do Arquivo Público, levando-se se em conta que o Arquivo
deve aumentar gradativamente o número de documentos informatizados.

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).

Segundo Pinheiro (2008), é necessária a transformação das informações dos dados em


conhecimento por meio de um processo de modelagem analítica, no qual padrões e comportamentos
são reconhecidos de forma automática, assim como previsões podem ser realizadas de maneira
consistente. Esse conhecimento dá origem a indicadores que identificam grupos de determinados
eventos, aperfeiçoam determinado cenário de negócio, dentre outras possibilidades. Esse
conhecimento, porém, deve ser aplicado para que algum resultado prático e efetivo seja alcançado.

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.1.1 Formulação do Problema

Com o grande crescimento do número de documentos armazenados pelo Arquivo Público de


Biguaçu e sua informatização, surgiu a necessidade de se encontrar métodos ágeis de busca destes
documentos. Como o Arquivo vem transformando grande parte de seus documentos em arquivo de
texto DOC, seja por meio da digitação ou pelo reconhecimento automático dos caracteres dos
documentos através do uso de um scanner, tornou-se necessária a utilização de uma ferramenta para
auxiliar no processo de busca destes documentos, realizado pelos funcionários do Arquivo,
responsáveis por buscar os documentos requisitados por todos os setores da Prefeitura Municipal de
Biguaçu.

1.1.2 Solução Proposta


A solução proposta foi o desenvolvimento de uma ferramenta de busca utilizando técnicas
de recuperação da informação para resolver o problema específico do Arquivo Público de Biguaçu
que é o crescimento do número de documentos armazenados e informatizados. Para isso, técnicas
de recuperação da informação foram estudadas, a fim de que se encontrassem os métodos mais
adequados na construção da ferramenta, atendendo as necessidades do Arquivo. Com o estudo de
várias técnicas, chegou-se a conclusão de que os modelos booleanos e vetorial de recuperação da
informação são os que mais se aplicam neste caso, sendo que os outros modelos não são menos
importantes e interessantes de serem estudados.

1.2 OBJETIVOS

1.2.1 Objetivo Geral

Desenvolver uma ferramenta de busca de documentos do Arquivo Público de Biguaçu,


utilizando técnicas de recuperação da informação.

3
1.2.2 Objetivos Específicos

 Pesquisar sobre recuperação da informação;

 Pesquisar e analisar técnicas e algoritmos de recuperação da informação;

 Pesquisar e analisar ferramentas de busca similares;

 Modelar a ferramenta;

 Implementar a ferramenta;

 Testar e validar a implementação do sistema; e

 Avaliar os resultados obtidos.

1.3 METODOLOGIA

No desenvolvimento deste trabalho destacam-se algumas etapas. A identificação do


problema foi realizada na primeira etapa. Foi feita uma análise das reais necessidades do Arquivo
Público de Biguaçu, procurando-se definir a melhor forma que uma ferramenta de busca de
documentos pode auxiliar na resolução do problema. Esse levantamento foi feito a partir da tomada
de conhecimento da situação atual do Arquivo, e, posteriormente, pesquisando-se quais possíveis
técnicas poderiam ser utilizadas para solucionar o problema identificado.

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.

1.4 ESTRUTURA DO TRABALHO

Este trabalho foi dividido em seis capítulos.

O primeiro capítulo teve por objetivo servir de introdução ao projeto, apresentando a


situação atual do Arquivo Público, contextualizando o problema e a solução proposta. Além disso,
são também apresentados os objetivos do trabalho, a metodologia utilizada e sua estrutura.

O segundo capítulo tratou da fundamentação teórica do projeto. Neste capítulo está a


pesquisa feita sobre a recuperação da informação, suas técnicas e ferramentas similares. Também
foram tratados neste capítulo, assuntos relacionados ao trabalho e que foram expostos para que se
tivesse um embasamento teórico de todo conteúdo necessário ao desenvolvimento do mesmo.

O terceiro capítulo apresentou detalhes do projeto desenvolvido, mostrando sua modelagem


(UML) e suas especificações. Com isso, foram apresentados os diagramas utilizados nessa
modelagem, a descrição da metodologia aplicada, o cronograma e a análise de riscos.

O quarto capítulo exibiu a ferramenta, mostrando detalhes desde o funcionamento da


mesma, o uso de ferramentas auxiliares, os processos mais importantes para a implementação da
mesma, os resultados relevantes e os problemas encontrados.

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.

No sexto e último capítulo, foram apresentadas as conclusões obtidas com o


desenvolvimento do projeto e apresentadas sugestões de trabalhos futuros.

5
2 FUNDAMENTAÇÃO TEÓRICA

A fundamentação teórica descreve os conteúdos relevantes para a realização do projeto.


Nela são apresentados conceitos básicos, tratando desde documentação e arquivos, até as técnicas
necessárias para o tratamento desses documentos e sua respectiva busca e recuperação. Aqui são
colocadas visões de diferentes autores para que se possa identificar as técnicas mais adequadas à
resolução do problema.

2.1 ARQUIVOS

Segundo o Arquivo Nacional (2005), um arquivo é o conjunto de documentos produzidos e


acumulados por uma entidade coletiva, pública ou privada, pessoa ou família, no empenho de suas
atividades, independentemente da natureza do material em que são encontradas as informações.
Também é chamado de arquivo, o serviço ou instituição que tem por finalidade a custódia, o
processamento técnico, a conservação e o acesso a documentos.

Na arquivística tradicional, considera-se documento toda informação registrada em um


suporte material, que possivelmente possa ser utilizada para consulta, estudo, prova e pesquisa, e
que comprovam fatos, fenômenos, formas de vida e pensamentos do homem em uma determinada
época ou lugar. O documento é o registro de informação original, única e autêntica, e resulta das
atividades dos órgãos que os produzem. Eles são utilizados como elemento de prova, independente
do suporte onde estão contidos (LOPES, 2004).

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

 permanentes: correspondem ao conjunto de documentos de valor histórico, probatório e


informativo que devem ser definitivamente preservados.
2.1.1 Processo Documentário

Segundo Robredo (2005), o ciclo documentário completo é um sistema em que se


incorporam uma série de elementos para serem tratados e convertidos em um produto novo, mais
fácil de ser assimilado pelo usuário. Nesse processo, assim como em qualquer outro sistema, pode-
se distinguir a entrada, o processamento (ou tratamento) e a saída.

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).

Além disso, dependendo do nível de automação do processo, os conceitos de entrada e


tratamento podem variar. Em sistemas computacionais, podem ser consideradas como preparatórias
da entrada todas aquelas etapas que precedem ao processamento.

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.

Robredo (2005) classifica da seguinte forma as principais operações do processo


documentário:

 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.);

 aquisição: refere-se às etapas administrativas necessárias para assegurar a incorporação


dos documentos ao acervo;

 registro ou tombamento: atribui-se uma numeração a cada documento;

 descrição bibliográfica: anota-se as características descritivas do documento, como


autor, organizador, título, data, etc.;

 análise: nesta etapa é feito um resumo do conteúdo do documento, onde o mesmo é


representado por um número limitado de sentenças que o abreviam . Os resumos podem

7
conter somente o título do documento ou partes do texto consideradas relevantes,
podendo ser analíticos, descritivos, informativos, indicativos, etc.;

 indexação: identifica-se os conceitos de que trata o documento, expressando-os na


terminologia utilizada pela linguagem natural ou com ajuda de vocábulos ou termos que
possuem significados únicos ou, ainda, por meio de códigos;

 armazenagem dos documentos: os documentos são armazenados de uma forma que


possam ser facilmente localizados quando solicitados (estantes, arquivos, prateleiras);

 armazenagem da representação condensada dos documentos: armazena-se os elementos


descritivos do conteúdo dos documentos, junto com a numeração e outros dados que o
caracterizam;

 processamento da informação condensada: nesta etapa ocorrem diversos processamentos


manuais ou automatizados, que permitem obter vários produtos, nos quais a informação
se encontra organizada e ordenada de forma a facilitar sua recuperação;

 produtos do processamento: são os diversos resultados que o processamento pode ter,


como: catálogos, listagens, índices e base de dados;

 interrogação e busca: consiste em selecionar, a partir de um conjunto maior de


referências, aquelas que se necessita em um determinado momento. Para isso é
necessário que a pergunta seja formulada de forma compatível com o sistema de busca; e

 recuperação da informação: esta etapa constitui a finalidade do trabalho documentário.


Como resultado das operações de busca, pode-se selecionar os documentos de potencial
interesse. Geralmente uma consulta leva diretamente aos documentos originais. Uma
busca em índices e bases de dados leva à referências dos documentos, devendo o centro
de documentação facilitar o acesso aos documentos originais ou suas cópias, com a
indicação de sua localização, ou solicitando uma cópia a outras entidades;

As etapas principais do processo documentário, quais sejam, análise, indexação, pesquisa e


recuperação da informação estão representadas na Figura 1.

8
Figura 1 - Representação simplificada do processo de análise e recuperação da informação

Fonte: Robredo (2005).

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.

2.2 CIÊNCIA 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.

Como área de conhecimento, a Ciência da Informação surgiu para solucionar questões


relativas às necessidades de buscar, acessar, obter, organizar, disseminar e gerenciar o
conhecimento e a informação produzida. (LOPES, 2004). O Arquivo Nacional (2005), considera
que informação é qualquer elemento referencial, noção, idéia ou mensagem contidos em um
documento e a Ciência da Informação é a disciplina que estuda a teoria e a prática da geração,
processamento e disseminação 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.

Segundo Lopes (2004), a Informática e a Ciência da Informação, apesar de algumas


diferenças, possuem vários objetivos comuns, como a gestão e difusão da informação.

2.3 MINERAÇÃO DE TEXTOS

A mineração de textos é um processo utilizado no descobrimento de padrões úteis e


interessantes em um conjunto de textos (MARTINS, 2003). Neste processo são descobertos os
padrões e tendências existentes em dados textuais, visando basicamente analisar grandes
quantidades de textos com o objetivo principal de descoberta de conhecimento presente nos
mesmos (PINHEIRO, 2008).

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;

 seleção de um subconjunto de dados;

 pré-processamento ou limpeza dos dados, removendo e reparando ruídos;

 redução ou projeção dos dados (escolha das características relevantes para análise);

 escolha da técnica método ou tarefa de mineração;

 mineração dos textos;

 interpretação dos resultados; e

 consolidação do conhecimento descoberto (documentação ou incorporação dos dados no


sistema).

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:

 a linguagem em que o documento é escrito, pois geralmente os algoritmos de


manipulação de textos são dependentes da língua;

 o estilo no qual o documento está escrito. Por exemplo, documentos formais tendem a
ter mais fácil identificação do que documentos informais;

 a natureza do conteúdo do documento. Documentos grandes com bastante informação


irrelevante ou documentos com informações não textuais (como figuras) são mais
difíceis de serem processados; e

 a especificação da tarefa a ser realizada, pois a mesma depende da natureza e do nível de


detalhe da informação a ser recuperada.

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.

Figura 2 - Etapas do processo de mineração de textos


Fonte: Martins (2003).

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.

O pré-processamento de textos, no processo de mineração de textos, geralmente significa


dividir o texto em palavras, aplicar técnicas de stemming, remover as stopwords e classificá-las
(ARANHA, 2007).

2.3.2.1 Tokenização

A tokenização é o primeiro passo de uma operação de pré-processamento de textos. A


finalidade desta etapa é dividir um documento textual em unidades mínimas, mas que expressem a
mesma semântica original do texto. O termo token é usado para definir essas unidades, que
geralmente correspondem a somente uma palavra do texto; porém, nem sempre essas unidades

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.

Esse processo é ilustrado na Figura 3, que representa um documento com diversas


sequências de caracteres.

Figura 3 - Identificação de palavras válidas

Fonte: Aranha (2007).

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.

2.3.2.2 Remoção de Stopwords

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.

Na Figura 4 tem-se o exemplo de um processo de tokenização com remoção de stopwords.

Figura 4 - Processo de tokenização seguido por remoção de stopwords


Fonte: Soares (2008).

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

Segundo Campos (2001), a palavra “thesaurus” vem do grego e do latim e significa


“tesouro”, sendo utilizada por muitos séculos para designar léxico, ou “tesouro de palavras”.

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.

Conforme Gomes (1990), o tesauro documentário nasceu da necessidade de manipular


grande quantidade de documentos especializados. Foi preciso trabalhar com vocabulário mais
exclusivo e com uma estrutura mais depurada do que aquela presente nos cabeçalhos de assunto.
Assim, além da especificidade foi preciso melhorar sua estrutura. Com isso, suas referências
cruzadas deram lugar às relações hierárquicas (vertical) e associativas (horizontal).

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

O tesauro tem a função de representar os assuntos dos documentos e das solicitações de


busca. No momento da indexação é feita a representação do assunto: o documento é analisado, seu
conteúdo é identificado e “traduzido” de acordo com os termos do tesauro e com a política de
indexação que se estabeleceu. A representação da solicitação de busca é feita quando o usuário
busca uma informação no sistema: seu pedido é analisado, seu conteúdo identificado e devidamente
“traduzido” nos termos do tesauro. Desse modo, o tesauro deve ser considerado um componente do
sistema de recuperação da informação, sendo afetado por ele e afetando seu desempenho (GOMES,
1990).

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:

 Relação de equivalência: permite colocar em evidência os termos que possuem um


significado equivalente em uma determinada área (sinônimos).
Exemplo: HELMINTÍASE
HELMINTOSE
VERMINOSE

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

 Relação de associação (afinidade): geralmente é usada para indicar relações entre


conceitos que não são nem de equivalência nem hierárquicas. Essas relações são
incluídas para auxiliar a indexação e a recuperação. A relação entre conceitos é indicada
por meio da expressão „termo relacionado‟ (em inglês, related term ou sua abreviatura
RT). Essa relação pode ser de diversos tipos: antonímia, coordenação, descendência,
concorrência, causa-efeito, instrumental.
Exemplos: 1 – Antonímia ou oposição: RESISTÊNCIA
RT FRAGILIDADE
2 – Coordenação: RELAÇÃO GENERICA
RT RELAÇÃO ESPECIFICA

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).

A atribuição de termos de indexação em um sistema de informação pode ser uma atividade


intelectual, como a que ocorre em um sistema manual, ou uma atividade executada pelo próprio
computador. Neste último caso, a máquina seleciona termos de indexação de acordo com um
conjunto de instruções. A seleção dependerá da ocorrência das palavras e não mais da avaliação do
conteúdo. Os termos de indexação a serem atribuídos serão extraídos de uma lista-padrão, baseada
na ocorrência de palavras em um registro. Também é possível utilizar computadores para colocar
em ordem os termos de indexação atribuídos por seres humanos (ROWLEY, 1994).

Segundo Ferneda (2003), durante a indexação são obtidos os conceitos do documento


através da análise do seu conteúdo e traduzidos para uma linguagem de indexação, tesauros,
cabeçalhos de assunto, etc. Esta representação identifica o documento, definindo seus pontos de
acesso para a busca, podendo também substituir o documento.

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 buscam a identificação dos documentos através de características diferentes


do assunto (por exemplo: autor, título, nome de um congresso, etc); e

 aqueles que precisam de informações sobre algum assunto, mas não sabem quais os
documentos que possuem as informações sobre o mesmo.

A Figura 5 é um fluxograma simplificado da operação de indexação usando um tesauro.

20
Figura 5 - Fluxograma simplificado do processo de indexação utilizando um tesauro
Fonte: Robredo (2005).

2.6 RECUPERAÇÃO DA INFORMAÇÃO

Na Ciência da Informação, o termo “recuperação da informação” pode significar, para uns, o


processo pela qual se seleciona documentos a partir da demanda do usuário; para outros, consiste no
fornecimento dos elementos de informação documentária correspondentes, a partir de uma demanda
definida pelo usuário. O termo ainda pode ser usado para designar a operação que fornece uma
resposta a uma demanda, a qual é convertida em um produto cujo formato seja acordado com o
usuário (bibliografia, resumo, etc.). Há também autores que conceituam a recuperação de
21
informação de forma muito mais abrangente, ao subordinar à mesma o tratamento da informação
(catalogação, indexação, classificação) (FERNEDA, 2003).

A recuperação da informação pode ser entendida como um processo de recuperação


de referências de documentos em resposta a alguma solicitação, onde os sistemas de recuperação da
informação são sistemas de operações interligadas para identificar, entre um grande conjunto de
informações, aquelas que o são realmente úteis, isto é, que estão de acordo com a demanda expressa
pelo usuário (ARAÚJO JUNIOR, 2007).

Os sistemas de busca e recuperação da informação são tão variados quanto os métodos de


organização da informação. Assim, se os documentos do acervo foram organizados por assuntos,
um meio de busca e recuperação será a busca e escolha direta nas estantes. Se os documentos foram
organizados em função de outro critério (por tipo de suporte, por exemplo, microfichas, filmes, etc.,
ou por tamanho ou cores), não é possível a pesquisa direta na estante e torna-se necessário o uso de
algum tipo de índice ou catálogo sistemático (ROBREDO, 2005). A Figura 6 resume o processo de
busca e recuperação da informação.

Figura 6 - Representação do processo de recuperação de informação a partir de um índice.


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.

Segundo Rowley (1994), os sistemas de recuperação da informação quase chegaram a ser


sinônimo de computadores, porém, os sistemas manuais ainda existem e já estavam em evidência
antes do advento da informática. Considera-se que todos os sistemas de recuperação da informação
compreendem três etapas:

 indexação: etapa onde são atribuídos índices a um documento ou item de informação;

 armazenamento: processo de armazenamento dos índices elaborados; e

 recuperação: processo de localizar documentos e itens de informação que tenham sido


armazenados.

Para Ferneda (2003), os sistemas de recuperação da informação servem para representar o


conteúdo dos documentos e apresentá-los aos usuários de uma forma que permita uma rápida
seleção dos itens que satisfazem a sua necessidade de informação, que deve ser formalizada através
de uma expressão de busca. Uma representação simplificada desse processo pode ser vista na
Figura 7.

Figura 7 - Representação do processo de recuperação da informação


Fonte: Ferneda (2003).

A eficiência de um sistema de recuperação da informação tem grande relação com o modelo


que o mesmo utiliza. Um modelo, por sua vez, influencia diretamente no modo de operação do
sistema. Apesar de alguns desses modelos terem sido criados nos anos 60 e 70, e aperfeiçoados nos
anos 80, seus conceitos ainda estão presentes na maioria dos sistemas de recuperação da informação
atuais e nos mecanismos de busca da Web. Esses modelos são classificados como “modelos

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.

2.6.1 Modelos Quantitativos

Grande parte dos modelos de recuperação da informação é de natureza quantitativa, isto é,


modelos baseados em disciplinas como a lógica, a estatística e a teoria dos conjuntos. Neste modelo
de recuperação da informação pode-se considerar que os documentos são representados por um
conjunto de termos de indexação. Um termo de indexação geralmente é uma palavra que representa
um significado ou um conceito relacionado ao documento. Entretanto, existem termos que podem
representar melhor o assunto principal do documento e outros que representam assuntos não tão
ligados à temática do mesmo (FERNEDA, 2003).

Para Ferneda (2003), decidir a importância de um termo para a descrição de um documento


pode ser uma tarefa complexa até para pessoas que dominam o assunto. Alguns sistemas
computacionais se utilizam de propriedades que facilitam a mensuração do potencial representativo
de um termo de indexação. Por exemplo, em um conjunto de milhares de documentos pode haver
uma palavra que esteja presente em todos, o que não torna a mesma um bom termo de indexação.
Por outro lado, uma palavra que está presente em apenas três destes documentos, possivelmente
seria muito útil como termo de indexação, pois reduziria muito o número de documentos que
poderiam ser de interesse para uma determinada busca do usuário. Portanto, termos de indexação
distintos possuem graus de relevância diferentes, de acordo com os documentos e os objetivos do
sistema de informação.

2.6.1.1 Modelo Booleano

No modelo booleano um documento é representado por um conjunto de termos de indexação


que podem ser definidos automaticamente através de algum tipo de algoritmo computacional ou de
forma manual, por profissionais especializados. As buscas são formuladas através de uma expressão

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.

Figura 8 - Representação do estado de uma expressão conjuntiva (AND)


Fonte: Ferneda (2003).

Uma expressão disjuntiva t1 OR t2 trará como resultado o conjunto dos documentos


indexados pelo termo t1 ou pelo termo t2. Essa recuperação equivale à união entre o conjunto dos
documentos indexados pelo termo t1 e o conjunto dos termos indexados pelo termo t2, como mostra
a Figura 9.

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.

Figura 10 - Resultado de uma busca boolena com o operador NOT


Fonte: Ferneda (2003).

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.

2.6.1.2 Modelo Vetorial

O Modelo Vetorial propõe um ambiente no qual é possível se obter documentos que


respondem parcialmente a uma expressão de busca. Isto deve ser feito através da associação de
pesos tanto aos termos de indexação como aos termos de expressão de busca. Esses pesos são
usados para o cálculo do grau de similaridade entre cada um dos documentos da base de dados e a
expressão de busca formulada pelo usuário. Como resultado, é obtido o conjunto de documentos
ordenados pelo grau de similaridade de cada documento em relação à expressão de busca
(FERNEDA, 2003).

O Modelo Vetorial serve para resolver problemas de representação de documentos usando a


representação geométrica. Esse modelo também pode ser utilizado em casos em que é preciso
encontrar documentos que atendam a um critério, e a solução desse problema decorre naturalmente
do esquema de representação dos documentos (LOPES, 2004).

Segundo Robredo (2005), um vetor é definido, na matemática e na física, como uma


quantidade que para sua especificação completa requer um sentido, direção ou grandeza. Em
Ciência da Computação um vetor é o mesmo que uma lista monodimensional. Uma coleção de
vetores com propriedades adequadas chama-se espaço vetorial. Para o que nos interessa a
informação documentária pode ser expressa em termos de vetores, de forma que um conjunto de
documentos pode ser considerado como um espaço vetorial.

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.

Figura 12 - Representação de uma expressão de busca em um espaço vetorial


Fonte: Ferneda (2003).

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.

2.6.1.2.1 Cálculo da Similaridade

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%.

Ainda, usando-se a mesma fórmula, pode-se calcular a similaridade entre a expressão


eBUSCA1 e cada um dos documentos DOC1 e DOC2:

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.

A similaridade entre cada documento e uma expressão de busca geralmente é utilizada no


ordenamento dos documentos resultantes. Portanto, quando se usa o Modelo Vetorial, o resultado
de uma busca deve ser um conjunto de documentos ordenados pelo grau de similaridade existente
entre o documento e a expressão de busca. Dessa forma, pode-se restringir o resultado a um número
máximo de documentos que se deseja obter, sendo possível definir um limite para o valor da
similaridade. Tendo como exemplo um limite de 0.6, uma expressão de busca somente retornará
documentos com um grau de similaridade for maior ou igual a 60%.

2.6.1.3 Modelo Fuzzy

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).

Figura 13 - Representação fuzzy de um documento estruturado


Fonte: 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).

2.6.2 Modelos Dinâmicos

Os modelos dinâmicos, diferentemente dos quantitativos, possuem como principal


característica o reconhecimento da importância do usuário no processo representação dos
documentos. Dessa forma, os usuários interagem e interferem diretamente na representação do
conjunto de documentos, permitindo uma evolução ou adaptação dos documentos aos interesses do

31
usuário do sistema, percebidos através de atribuições de relevância aos documentos recuperados
(FERNEDA, 2003).

2.6.2.1 Algoritmos Genéticos

Os algoritmos genéticos são uma família de modelos computacionais, inspirados na


evolução humana, que são potenciais soluções para um problema específico em uma estrutura
semelhante a de um cromossomo, na qual são aplicados operadores de seleção e cross-over a essas
estruturas de forma a preservar informações críticas relativas à solução do problema. Geralmente,
os algoritmos genéticos são vistos como otimizadores de funções, embora a diversidade de
problemas para o qual eles se aplicam seja muito mais abrangente (PINHEIRO, 2008).

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).

Segundo Pinheiro (2008), a implementação de um algoritmo genético inicia com uma


população aleatória de cromossomos. Essas estruturas são avaliadas e associadas a uma
probabilidade de reprodução de tal forma que as maiores probabilidades são associadas aos
cromossomos que representam uma melhor solução para o problema de otimização do que àqueles
que representam uma solução pior. A aptidão da solução é tipicamente definida com relação à
população corrente. A seguir são descritos os principais conceitos relativos à técnica de Algoritmos
Genéticos:

 cromossomo (genótipo): cadeia de bits que representa uma possível solução para o
problema;

 gene: representação de cada parâmetro de acordo com o alfabeto utilizado (binário,


inteiro ou real);

33
 fenótipo: cromossomo codificado;

 população: conjunto de pontos (indivíduos) no espaço de busca;

 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;

 aptidão normalizada: aptidão bruta normalizada, entrada para o algoritmo de seleção;

 aptidão máxima: melhor indivíduo da população corrente; e

 aptidão média: aptidão média da população corrente.

É importante observar que cada cromossomo, chamado de indivíduo no algoritmo genético,


corresponde a um ponto no espaço de soluções no problema de otimização. O processo de solução
adotado nos algoritmos genéticos consiste em produzir, através de algumas regras específicas, um
grande número de indivíduos, uma população, de forma a promover uma varredura tão extensa
quanto necessário do espaço de soluções (PINHEIRO, 2008).

Na recuperação da informação, o uso de algoritmos genéticos vem representando um novo


modelo para todo o processo de recuperação. Pode-se representar os documentos como um tipo de
“código genético”, onde um cromossomo é representado por um valor binário onde cada elemento
armazena o valor 0 ou o valor 1, correspondendo à presença ou ausência de um determinado termo
na representação do documento (FERNEDA, 2003).

Na Figura 15 é representado um conjunto de seis documentos, sendo que cada documento é


descrito de quatro formas diferentes através de quatro cromossomos compostos por cinco genes.
Um gene representa a presença (1) ou a ausência (0) de um determinado termo de indexação na
descrição do documento.

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.

2.6.2.2 Redes Neurais Artificiais

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.

Figura 16 - Representação da rede neural aplicada à recuperação da informação


Fonte: Ferneda (2003).

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.

2.6.3 Gestão de Precisão

A precisão é um conceito muito importante para avaliar a qualidade do processo de


recuperação da informação, pois representa a medida de interesse (informação útil) do que foi
encontrado em um processo de busca e recuperação da informação para o usuário, qualificando a
informação recuperada como útil ou inútil de acordo com suas necessidades (ARAÚJO JÚNIOR,
2007).
Segundo Soares (2008), a precisão é definida como a proporção entre o número de itens
relevantes recuperados e o número de itens recuperados, para um determinado conjunto de
informação recuperada. Com isso tem-se a Equação 4.

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.

Uma medida objetiva no rendimento de componentes de um sistema de recuperação da


informação, como é considerada a precisão, é muito importante na detecção e correção de falhas em
um processo de recuperação da informação, além de servir de parâmetro para testes de novas
tecnologias associadas à melhoria contínua dos processos (ARAÚJO JÚNIOR, 2007).

2.7 FERRAMENTAS SIMILARES


Segundo Bastos (2006), existe a necessidade de serem desenvolvidas mais ferramentas na
área de recuperação da informação, pois cada uma delas tem um enfoque diferenciado, além da
maioria das ferramentas atuais não ser direcionada para textos em português. A seguir serão
descritas algumas ferramentas, suas características básicas e aplicação.

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

O número de ferramentas de recuperação da informação e mineração de textos ainda está


muito aquém do potencial que esta área possui. Com o crescimento exponencial do processo
informacional no mundo, essa área vem ganhando importância e merecendo estudos para a
aplicação das mais variadas técnicas. Uma comparação entre as ferramentas estudadas pode ser
vista na Tabela 1.

Tabela 1 - Comparação entre ferramentas


Ferramenta Área Atividades Idioma Ambientes Interface
Pré-processamento
Recuperação da
Mineração de Informação Linha de
TMSK Inglês Todos
Textos Predileção Comando
Extração de
Informações
Categorização
Identificação de Windows Linha de
RIKTEXT de Inglês
Padrões e Linux Comando
Documentos
Análise de Conteúdos
Intext Análise de Inglês,
Busca de Padrões Windows Gráfica
Software Textos Alemão
Listagem de Strings

Deve-se destacar o surgimento de formas de aperfeiçoar o processo de recuperação da


informação, o que torna muito relevante o aparecimento de novos trabalhos na área, principalmente
em língua portuguesa. Atualmente, a quantidade de ferramentas aplicadas ao nosso idioma é
pequena, porém estão sendo desenvolvidos vários trabalhos nesta área, onde as técnicas podem ser
estudadas e discutidas, aumentando a base de conhecimento necessária para que essas ferramentas
possam ser desenvolvidas.

39
3 ANÁLISE E PROJETO

Nesta etapa serão apresentados os aspectos referentes à modelagem do sistema. Esta


modelagem inclui os requisitos funcionais e não funcionais, diagramas de caso de uso, diagrama de
classe e diagramas de sequencia. Cada uma dessas etapas possui suma importância para o
desenvolvimento da ferramenta.

3.1 REQUISITOS FUNCIONAIS

Os requisitos funcionais mostram as ações que o sistema deve executar, especificando o


comportamento de entrada e saída do sistema.

 RF01 – O sistema deve permitir o cadastro de novos usuários.


 RF02 – O sistema deve permitir a autenticação de usuários.
 RF03 – O sistema deve permitir o cadastro de tesauros.
 RF04 – O sistema deve permitir a criação de um grupo de documentos a serem
indexados.
 RF05 – O sistema deve permitir a atualização de um grupo de documentos indexados.
 RF06 – O sistema deve permitir a busca de documentos utilizando expressões
booleanas.
 RF07 – O sistema deve permitir a busca de documentos com todas as palavras da
expressão de busca.
 RF08 – O sistema deve permitir a busca em uma sequência exata de palavras da
expressão de busca.
 RF09 – O sistema deve permitir o uso de caracteres curingas.
 RF10 – O sistema deve permitir a busca por palavras semelhantes.
 RF11 – O sistema deve permitir que seja feita uma busca com uma distância máxima
entre palavras.
 RF12 – O sistema deve possuir uma tela de busca avançada.
 RF13 – O sistema deve permitir escolher o grupo de documentos que se deseja buscar.
 RF14 – O sistema deve permitir escolher o número resultados a serem exibidos.
 RF15 – O sistema deve ordenar os resultados pela similaridade.
 RF16 – O sistema deve permitir que se possa utilizar tesauros nas buscas.

3.2 REQUISITOS NÃO FUNCIONAIS

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.

 RNF01 – O sistema deve ser desenvolvido com o uso da tecnologia JAVA.


 RNF02 – O sistema deverá suportar arquivos do tipo DOC.

3.3 CASOS DE USO


O diagrama de caso de uso representa a interação entre usuários e o sistema. Os diagramas
apresentados a seguir mostram “atores”, que neste caso são o administrador e os usuários,
interagindo com o sistema para executar uma tarefa. O administrador pode executar todas as tarefas
do usuário, porém possui alguns privilégios como apresenta a Figura 17.

Figura 17 - Diagrama de caso de uso 1

41
Os casos de uso do sistema são descritos a seguir:

 Cadastrar Usuários: permite ao administrador inserir um novo usuário;

 Cadastrar e editar tesauros: permite ao administrador que cadastre e edite tesauros


para que possam ser utilizados na busca;

 Criar grupo de documentos indexados: permite que o administrador crie um grupo de


documentos a ser indexados;

 Atualizar grupo de documentos indexados: permite ao administrador que atualize um


grupo de documentos que já está indexado;

A Figura 18 mostra as funcionalidades da ferramenta do ponto de vista do usuário. O


administrador também poderá executar essas funcionalidades

42
Figura 18 - Diagrama de caso de uso 2

Os casos de uso do sistema são descritos a seguir:

 Autenticar: permite a autenticação do usuário no sistema;

 Escolher grupo de documentos buscados: permite ao usuário a escolha do grupo de


documentos que se pretende fazer a busca;

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.

3.4 DIAGRAMA DE CLASSES DO SISTEMA

O diagrama de classes do sistema representa a estrutura e a relação entre as principais


classes envolvidas no projeto. O mesmo pode ser visualizado na Figura 19.

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.

3.5 DIAGRAMAS DE SEQUÊNCIA

Os diagramas de sequência apresentam a sequência de processos e trocas de mensagens do


sistema. A Figura 20 apresenta o diagrama de sequência referente ao processo de coleta e indexação
de documentos.

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

A modelagem da ferramenta facilita no processo de identificação das funcionalidades do


sistema, além de auxiliar no entendimento dos processos do mesmo. Com o auxílio desse
importante mecanismo foi possível compreender melhor a interação entre o usuário e o sistema, a
relação entre as classes e a sequência dos processos e trocas de mensagens.

48
4 IMPLEMENTAÇÃO

Neste capítulo serão apresentadas as etapas do desenvolvimento da ferramenta, englobando


desde o seu funcionamento, as ferramentas que auxiliaram o desenvolvimento do projeto, os
desenvolvimentos dos principais processos e os resultados relevantes.

4.1 FERRAMENTAS AUXILIARES

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.

Figura 23 - Integração de Ferramentas

4.1.1 Apache Lucene

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).

A biblioteca é composta por duas etapas principais: indexação e pesquisa. A indexação


executa um processamento nos dados originais gerando uma estrutura de dados eficiente para uma
pesquisa baseada em palavras-chave. A pesquisa efetua uma consulta ao índice pelas palavras
digitadas e organiza os resultados pela similaridade do texto com a consulta (PAMPLONA, 2009).

A arquitetura do Apache Lucene pode ser vista na Figura 23.

Figura 24 - Arquitetura do Apache Lucene


Fonte: Hatcher e Gospodnetic (2005).

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.

Figura 25 - Etapas para criação de aplicativos com Lucene


Fonte: Sonawane (2009)

No processo de indexação o Lucene armazena os dados de entrada em uma estrutura de


dados chamada de índice invertido que permite que os usuários executem buscas rápidas por
palavras-chave e localizem os documentos que correspondem a uma determinada consulta.

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.

A pesquisa no Lucene, além de suportar vários tipos de consultas poderosos, incluindo a


análise de expressões e uso de operadores, calcula uma pontuação para cada documento que
corresponda a uma determinada consulta, retornando apenas os documentos relevantes classificados
por essas pontuações.

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.

4.1.2 Apache POI


O Apache POI é uma biblioteca de código aberto para Java, utilizada para leitura e escrita de
texto nos formatos da Microsoft, como arquivos de Word, Excel e Power Point (VALLE, 2009).

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:

 visualizar o número de documentos ou de termos;

 visualizar documentos e copiá-los;

 recuperar uma lista ordenada pelos termos mais frequentes;

 executar uma pesquisar e visualizar os resultados;

 analisar os resultados da pesquisa;

53
 apagar documentos do índice seletivamente; e

 visualizar o número de termos em cada campo do documento.

Como pode ser visto na Figura 26, o Luke permite uma visualização simples de todos os
termos do índice.

Figura 27 - Exemplo de visualização de termos na ferramenta Luke

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.

A classe responsável por essa transformação do conteúdo dos documentos é a classe


WordReader, que é chamada no momento da criação de um arquivo de índice, isto é, no processo
de indexação de um novo diretório.

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.

No momento da criação de um novo índice, a classe Indexador irá encontrar o nome e


caminho de cada documento com a ajuda da classe File do Java. Porém, para que seja feita a
extração do conteúdo do documento será necessário que seja chamada a classe WordReader,
enviando o arquivo a ter seu conteúdo extraído por parâmetro. Esse processo é mostrado no trecho
de código da Figura 27.

55
Figura 28 - Coleta de documentos na classe WordReader

O conteúdo do documento será retornado através da String conteúdo. Alguns problemas


como o excesso de espaços, quebra de linha e presença de caracteres estranhos foram corrigidos
com o método replace do Java, que possibilitou substituir os caracteres indevidos pelos caracteres
corretos.

4.3 PROCESSO DE INDEXAÇÃO


Com o desenvolvimento da ferramenta constatou-se que a indexação é o processo mais
importante a ser tratado, pois esse processo influencia diretamente na qualidade dos resultados da
busca. Essa etapa deve ser feita depois de que se tenha uma boa compreensão de todo o contexto do
problema, para que se saiba quais procedimentos e tratamentos são necessários para um bom
processo de recuperação de documentos.

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.

Para fazer a análise do texto o Lucene permite a utilização de um analisador. O analisador é


responsável por gerar ou retirar tokens, padronizar o texto, retirar stopwords, etc. Em geral permite
realizar qualquer funcionalidade programável (KRAMER, 2008).

A Figura 29 mostra a lista de tokens gerada utilizando o analisador StandardAnalyser do


Lucene que, apesar de padronizar o texto, não possui conhecimento da língua portuguesa para um
bom processo de tokenização e remoção de stopwords.

57
Figura 30 - Lista de termos StandardAnalyzer

O Lucene também possui um analisador, denominado BrazilianAnalyzer, que efetua o


tratamento de textos da língua portuguesa. A diferença para o analisador anteriormente citado pode
ser notada na Figura 30.

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

Além disso, o BrazilianAnalyzer também executa a técnica de stemming, que é o processo


de reduzir as variantes das palavras a um mesmo radical comum. Um trecho de código referente ao
algoritmo de stemming pode ser visto na Figura 32.

60
Figura 33 - Algoritmo de stemming do Lucene

Para que seja efetuada a indexação de um conjunto de documentos foi implementado o


método indexar, que é responsável por registrar na classe de entidade do índice os atributos
referentes ao nome do diretório onde estão os documentos, o caminho desse diretório e o caminho
onde será armazenado o arquivo de índice. A Figura 33 mostra o trecho de código desse método.

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.

Figura 35 - Trecho de código da classe Indexador

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.

Quando um arquivo do tipo “.doc” é encontrado, então é chamado o método insereArquivo.


Esse método utiliza a classe Document que é composta por Fields – campos onde estão as
informações retiradas dos documentos – e faz a adição de um novo documento.

4.4 PROCESSO DE PESQUISA

O processo de pesquisa de documentos é iniciado através da expressão de busca do usuário.


As principais classes do processo de pesquisa são mostradas na Figura 35.

Figura 36 - Principais classes da pesquisa


Fonte: Kramer (2008).

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.

4.5 PROCESSO DE CONSULTA AO TESAURO

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.

Figura 38 - Código da verificação do uso de tesauro

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.

Figura 39 - Código da busca de tesauros

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

4.6 FUNCIONAMENTO DA FERRAMENTA


A ferramenta foi desenvolvida de modo a proporcionar agilidade e facilidade no processo de
busca e recuperação de documentos. Dessa forma, procurou-se fazer com que a tela inicial do
programa, que está disponível para todos os usuários (administrador e usuário comum), seja
exatamente a tela de pesquisa de documentos.

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

No campo referente às buscas, as mesmas poderão ser realizadas através de termos e


operadores. Dessa forma, através de operadores lógicos (booleanos), pode-se formar expressões de
busca mais complexas e detalhadas. Com uma combinação entre termos e operadores pode-se obter
uma busca mais específica ou mais abrangente dependendo da necessidade do usuário. O sistema
retornará os resultados em ordem de similaridade entre os termos e os resultados encontrados.

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.

Tabela 2 - Tabela de operadores


Exemplo (Pesquisa) Resultado
Hospital Documentos com o termo hospital
Hospital AND Construção Documentos que contenham os termos Hospital e Construção
Hospital OR Farmácia Documentos com no mínimo um dos termos
Documentos que contenham o termo Lei, mas não contenham o
+Lei –Executivo
termo Executivo
“Denominação de Rua” Documentos que contenham a frase buscada
Documentos que comecem com o termo Mari e possuam mais
Mari?
um caractere, como Maria e Mario
Constr* Documentos que iniciem com o termo Constr

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.

Figura 44 - Tela de pesquisa avançada

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.

Figura 45 - Resultado da pesquisa avançada

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.

Figura 46 - Tela de criação de índices

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.

4.7 RESULTADOS RELEVANTES

Para a realização de testes foi selecionado um conjunto de 196 documentos, divididos em


três pastas que separam os documentos por tipos, quais sejam: Alvará de Licença, Imposto
Territorial Rural e Isenção de IPTU. Esses arquivos ocupam 7,13 Mb de espaço em disco. Foram
obtidos resultados relevantes em várias etapas do sistema, dos quais destacam-se o tempo de
indexação, a remoção de stopwords e stemming, além do tamanho do índice.

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.

Figura 48 - Tempo de Indexação

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.

4.7.2 Stopwords e Stemming

Os processos de remoção de stopwords e stemming foram muito importantes para uma


otimização da indexação. A utilização de um analisador que reconheça a língua portuguesa auxiliou
muito nesse processo. A diferença no número de termos indexados pode ser vista na Figura 48.

74
13500

13000 Com remoção de stopwords e


stemming
Sem remoção de stopwords e
12500 stemming

12000
Número de Termos

Figura 49 - Número de termos

Com o processo de remoção de stopwords e stemming pode-se notar que o número de


termos diminuiu consideravelmente (aproximadamente 8%), otimizando o processo de indexação
de documentos.

4.7.3 Tamanho do Índice

Outro ganho significativo na utilização de um analisador que reconheça a língua portuguesa


pode ser visto no tamanho do índice. A Figura 49 mostra o tamanho desse ganho.

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

Figura 50 - Gráfico de 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.

A análise da precisão foi feita baseada na Equação 4, onde o número de documentos


relevantes encontrados é dividido pelo número total de documentos encontrados. Além disso, para
verificar se o primeiro resultado apresentado realmente é o documento mais relevante, foi feito um
teste baseado na relevância. Os testes foram feitos usando os documentos do Apêndice A.

Foram considerados relevantes todos os documentos do tipo em que se desejava encontrar e


foi considerado documento mais relevante o documento exato que se pretendia localizar. O primeiro
teste pode ser visto na Tabela 3.

Tabela 3 - Tabela de Análise dos Resultados (1)


Primeiro
Expressão Pesquisada Encontrados Relevantes Precisão
Documento Ideal?

2379 2003 isenção 63 55 87% Sim

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.

Tabela 4 - Tabela de Análise de Resultados (2)


Primeiro
Expressão Pesquisada Encontrados Relevantes Precisão
Documento Ideal?

Imposto 1962 27 25 93% Sim


No exemplo da Tabela 4, buscava-se apenas saber as pessoas que pagavam imposto rural em
1962. Então, dos documentos localizados, 93% eram de pagamento de imposto no respectivo ano. O
último teste pode ser visto na Tabela 5.

Tabela 5 - Tabela de Análise de Resultados (3)


Primeiro
Expressão Pesquisada Encontrados Relevantes Precisão
Documento Ideal?

Pintor 1994 5 4 80% Sim

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.

Um novo exemplo a ser mostrado é a pesquisa pelo alvará de um tipo de estabelecimento,


como mostra a Tabela 6.

Tabela 6 – Tabela de Análise de Resultados (4)


Primeiro
Expressão Pesquisada Encontrados Relevantes Precisão
Documento Ideal?

Padaria 7 7 100% Sim

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?

Padaria 21 21 100% Sim

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

Neste trabalho foram apresentados conceitos fundamentais para o entendimento do


problema a ser tratado e sua resolução. Para tanto, as etapas necessárias para o desenvolvimento de
uma ferramenta de recuperação da informação foram discutidas.

Os fundamentos sobre a função dos Arquivos e a importância de um bom processo de


documentação foram abordados, evidenciando a força que a Ciência da Informação exerce no
processo de gerenciamento e difusão da informação. Ainda, foram abordados temas relevantes em
um processo de recuperação da informação, como a mineração de textos, o uso de tesauros e a
importância que a indexação de documentos possui neste processo.

Também foi feita uma pesquisa a respeito do processo de recuperação da informação,


abordando algumas das técnicas mais utilizadas atualmente e as tendências da área. Com isto teve-
se um conjunto de informações importantes para o desenvolvimento da ferramenta, permitindo
comparar as técnicas e decidir quais melhor se aplicaram na construção da ferramenta de busca do
Arquivo Municipal de Biguaçu.

Após um estudo sobre as teorias e técnicas de recuperação da informação foi realizada a


modelagem da ferramenta a partir do levantamento de requisitos, diagramas de caso de uso,
diagramas de classe e sequência.

A implementação da ferramenta teve início então, sempre com foco no problema do


Arquivo Público de Biguaçu, já que na área de recuperação da informação, cada caso possui uma
diferente resolução, pois os requisitos variam de acordo com cada problema.

Em relação ao Arquivo Público de Biguaçu, com o conhecimento dos documentos


informatizado por este órgão, notou-se que se tratavam de documentos que já eram indexados
manualmente. Quando um funcionário do Arquivo executa a informatização de documentos, na
maioria dos casos, escolhe os dados mais relevantes dos mesmos, já que seria inviável informatizar
todo o documento manualmente. Além disso, os documentos geralmente possuem campos de
identificação, como por exemplo: número do processo, ano do documento, nome do requerente,
cabeçalho da lei, tipo de documento, etc.
Dessa forma, percebe-se que a coleção de documentos informatizados do Arquivo Público
de Biguaçu tem um diferencial da maioria das coleções de documentos: o seu conteúdo possui alto
valor semântico.

Tendo o conhecimento dessa importante informação, procurou-se fazer um processo de


indexação que pudesse preservar os dados originais dos documentos, só alterando o conteúdo dos
documentos quando fosse realmente necessário ou quando isso não influenciasse na busca pelo
texto original.

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.

Como geralmente as pessoas que buscam documentos no Arquivo de Biguaçu (usuários do


sistema) são as mesmas pessoas que informatizam os documentos, levou-se em consideração o
conhecimento que elas possuem sobre esses documentos. Por isso, caso o usuário saiba como foi
indexado o documento e conheça a melhor maneira de buscá-lo, a ferramenta deve permitir que ele
use esse conhecimento para a pesquisa, sem efetuar nenhuma alteração no conteúdo dos
documentos informatizados.

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.

Outras possibilidades de auxiliar o usuário foram desenvolvidas como a utilização de


expressões com operadores e termos. O sistema possui uma lista grande de operadores que facilitam
a pesquisa de documentos. Ainda, como o sistema pode ser utilizado por usuários com pouco
conhecimento no assunto, a tela de busca avançada permite realizar de forma simples a busca ideal
para o usuário, dispensando conhecer todo o conjunto de operadores.

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.

Contudo, ao longo do desenvolvimento deste trabalho, foram encontrados alguns problemas,


os quais precisaram ser solucionados para que os objetivos traçados pudessem ser alcançados.

Um dos desafios do desenvolvimento do sistema foi a integração de todas as ferramentas


utilizadas. Apesar de ferramentas como o Lucene serem utilizadas mundialmente no processo de
recuperação da informação, é necessário conhecer suas características e funcionalidades, o que
demanda tempo de estudo do assunto para uma melhor utilização. O Lucene, que é uma biblioteca
muito completa, contém apenas o núcleo do “motor” de busca. Dessa forma, foi preciso a
colaboração de outras ferramentas e a implementação de outros procedimentos que auxiliassem a
tornar o sistema mais completo.

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.

Como a tendência do Arquivo Público de Biguaçu é a transformação automática de


documentos em arquivos textuais com o uso da tecnologia OCR, o conteúdo dos documentos

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.

Além disso, quando os documentos informatizados tiverem também sua imagem


digitalizada, deve ser possível que a ferramenta localize além do conteúdo documento, a sua
respectiva imagem. Isso poderá fazer com que a ferramenta forneça ao usuário, além do conteúdo
do documento, a sua reprodução fiel ao original. A ferramenta também poderá ser integrada com o
scanner e o OCR, fazendo com que a mesma ferramenta possa digitalizar, transformar em texto,
indexar, buscar e reproduzir os documentos.

Também é interessante ressaltar que a qualidade dos resultados da ferramenta desenvolvida


ainda pode ser melhorada, pois várias técnicas de Inteligência Artificial apresentadas neste trabalho
podem ser adaptadas para auxiliar a ferramenta neste processo.

Por fim, os objetivos do projeto foram alcançados e a ferramenta desenvolvida atendeu às


necessidades atuais do Arquivo Público de Biguaçu, servindo de fundamento para que novas
técnicas e funcionalidades possam ser estudadas e desenvolvidas.

83
REFERÊNCIAS BIBLIOGRÁFICAS

ARANHA, C. N. Uma abordagem de pré-processamento automático para mineração de textos


em português: sob enfoque da inteligência computacional. Rio de Janeiro, 2007.

ARAÚJO JÚNIOR, R. H. Precisão no processo de busca e recuperação da informação. Brasília:


Thesaurus, 2007.

ARQUIVO NACIONAL. Dicionário brasileiro de terminologia arquivística. Rio de Janeiro:


Arquivo Nacional, 2005.

BASTOS, V. M. Ambiente de Descoberta de Conhecimento na Web para língua portuguesa.


Rio de Janeiro: 2006.

BIGUAÇU. Lei nº 714, de 22 de maio de 1992.

BRASIL. Lei nº 8.159, de 8 de janeiro de 1991.

CAMPOS, M. L. A. Linguagem documentária: teorias que fundamentam sua elaboração. Niterói:


Eduff, 2001.

DATTA, S. A organização de conceitos para a recuperação da informação. Disponível em:


<http://revista.ibict.br/index.php/ciinf/article/view/1559/1175>. Acesso em: 10/03/2010.

FERNEDA, E. Recuperação de Informação: Análise sobre a contribuição da Ciência da


Computação para a Ciência da Informação. São Paulo, 2003.

GOMES, H. E. Manual de elaboração de tesauros monolingues. Florianópolis, 1990.

GUIMARÃES, J. A. C. Interfaces Hipertextuais para a Representação da Informação. UNESP,


2006. Disponível em: <http://www.portalppgci.marilia.unesp.br/enancib/viewpaper.php?id=230>.
Acesso em: 10/03/2010.

HATCHER, E.; GOSPODNETIC, O. Lucene in Action. Londres, 2005.

KRAMER, João. Lucene. Disponível em: <


http://projeto.lexml.gov.br/Members/joaolima/02_lucene>. Acesso em 02/08/2010.

LANCASTER, F. W. Indexação e Resumos: teoria e prática. Brasília: Briquet de Lemos, 1993.

LOPES, M. C. S. Mineração de dados textuais utilizando técnicas de clustering para o idioma


Português. Rio de Janeiro, 2004.

LUCENE. Disponível em:< http://lucene.apache.org>. Acesso em 04/08/2010.

LUKE. Disponível em:< http://www.getopt.org/luke/>. Acesso em 13/09/2010.

MARTINS, C. A. Uma abordagem para pré-processamento de dados textuais em algoritmos


de aprendizado. São Paulo, 2003.
PAMPLONA, V. Introdução ao Apache Lucene. Disopnível em:
<http://vitorpamplona.com/wiki/Introdu%C3%A7%C3%A3o%20ao%20Apache%20Lucene>.
Acesso em: 23/09/2010.

PINHEIRO, C. A. R. Inteligência Analítica: Mineração de Dados e Descoberta de Conhecimento.


Rio de Janeiro: Editora Ciência Moderna Ltda, 2008.

RAMOS, L. B. Centros de cultura, espaços de informação: um estudo sobre a ação do Galpão


Cine Horto. Belo Horizonte: Argvmentvm, 2008.

ROBREDO, J. Documentação de hoje e de amanhã: uma abordagem revisitada e contemporânea


da Ciência da Informação e de suas aplicações biblioteconômicas, documentárias, arquivísticas e
museológicas. Brasília: Edição de autor, 2005.

ROWLEY, J. Informática para bibliotecas. Brasília: Briquet de Lemos, 1994.

SOARES, F.A. Mineração de Textos na Coleta Inteligente de Dados na Web. Rio de Janeiro,
2008.

SONAWANE, A. Usando o Apache Lucene para procura de texto. International Institute of


Information Technology. Bangalore, 2009. Disponível em:
<http://www.ibm.com/developerworks/br/java/library/os-apache-lucenesearch/>. Acesso em
14/10/2010.

VELOSO, S. Conhecendo o Apache Lucene. Disponível em:


<http://www.devmedia.com.br/articles/post-8308-Artigo-Java-Magazine-49-Conhecendo-o-
Apache-Lucene.html>. Acesso em: 28/10/2010.

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.

Figura 52 - Documentos da Pasta de Isenção de IPTU

87
A Figura 52 corresponde aos documentos da pasta de Imposto Territorial Rural.

Figura 53 - Documentos da Pasta de Imposto Territorial Rural

88
A Figura 53 corresponde aos documentos da pasta de Alvará de Licença

Figura 54 - Documentos da pasta de Alvará de Licença

89

Você também pode gostar