Você está na página 1de 94

Pró-Reitoria de Pós-Graduação e Pesquisa

Programa de Pós-Graduação Stricto Sensu em


Governança, Tecnologia e Informação

GESTÃO DOCUMENTAL: PROPOSTA DE UM AMBIENTE


PARA INDEXAÇÃO E RECUPERAÇÃO DE DOCUMENTOS
CORPORATIVOS

Cat, C i

Autor: Edes Gomes da Costa


Orientador: Prof. Dr. Hércules Antonio do Prado
Coorientador: Prof. Dr. Edilson Ferneda

Brasília – DF
2021
EDES GOMES DA COSTA

GESTÃO DOCUMENTAL: PROPOSTA DE UM


AMBIENTE PARA INDEXAÇÃO E RECUPERAÇÃO
DE DOCUMENTOS CORPORATIVOS

Projeto de Dissertação apresentado ao Pro-


grama de Pós-Graduação Stricto Sensu em Go-
vernança, Tecnologia e Inovação da Universi-
dade Católica de Brasília como requisito parcial
para obtenção do grau de Mestre em Gover-
nança, Tecnologia e Inovação.

Orientador: Prof. Dr. Hércules Antônio do Prado


Coorientador: Prof. Dr. Edilson Ferneda

Brasília
2021
Dedico essa obra, primeiramente, a Deus por
me conduzir nos caminhos da graça; à minha
família, esposa e filhos, que aceitaram comigo
o desafio; a meu pai (in memoriam), mãe e ir-
mãos. A família é base fundamental sublime e
referência completa em minha vida.
AGRADECIMENTO

Aos Professores Dr. Hércules Antonio do Prado e Dr. Edilson Ferneda


pelas orientações, direcionamentos, conhecimento e paciência na condução e
conclusão desta etapa de vida.

A todos os professores que, de maneira direta ou indireta, contribuíram


para o aperfeiçoamento desse trabalho.

Aos colegas de mestrado, pelo incentivo e companheirismo.

Muito obrigado!
RESUMO

Referência: COSTA, Edes Gomes da. Gestão Documental: Proposta de um ambi-


ente para a recuperação de documentos corporativos. 2021. 92p. Dissertação
apresentada ao Programa de Pós-Graduação Stricto Sensu em Governança, Tecno-
logia e Inovação da Universidade Católica de Brasília, como requisito parcial para ob-
tenção do grau de Mestre em Governança Tecnologia e Inovação. Brasília, 2021.

Uma grande quantidade de documentos digitais é produzida todos os dias e, em sua


grande maioria, guardada de forma não-estruturada. A imensa quantidade de dados
gerados representa uma oportunidade e um desafio para as empresas, uma vez que
dados constroem informações inteligentes, agilizam a tomada de decisão, otimizam o
acesso à informação, e a organização documental. O processo de transformação di-
gital já é uma realidade para as instituições públicas e privadas. O maior desafio, é
produzir estruturalmente uma base indexada das informações contidas nesses docu-
mentos e criar um acervo digital capaz de acelerar e gerar recuperação destes dados.
Essa pesquisa tem por objetivo, propor uma abordagem para indexação semiautomá-
tica dos documentos de uma empresa, por meio de expressões regulares e tokeniza-
ção, permitindo identificar e recuperar termos e palavras-chave relevantes, com o ob-
jetivo de recuperar os documentos de forma concisa e eficiente possibilitando a cria-
ção de uma rede de coocorrência de termos entre esses documentos. Como ferra-
mental metodológico, serão adotadas técnicas para tratamento de textos, e levanta-
mento dos principais meios de extração semiautomática de termos, conforme as ne-
cessidades da solução proposta.

Palavras-chave: Gestão Documental, Documentos Eletrônicos. Organização Docu-


mental. Indexação de Documentos. Transformação Digital. Recuperação de Docu-
mentos.
ABSTRACT

A large amount of digital documents are produced every day and, for the most part,
are stored in an unstructured way. The immense amount of data generated represents
an opportunity and a challenge for companies, since data builds intelligent information,
streamlines decision making, optimizes access to information, and document organi-
zation. The digital transformation process is already a reality for public and private
institutions. The biggest challenge is to structurally produce an indexed base of the
information contained in these documents and create a digital collection capable of
accelerating and generating recovery of these data. This research aims to propose an
approach for semi-automatic indexing of a company's documents, through regular ex-
pressions and tokenization, allowing the identification and retrieval of relevant terms
and keywords, with the objective of retrieving the documents in a correct way. concise
and efficient, enabling the creation of a co-occurrence network of terms between these
documents. As a methodological tool, techniques for text treatment will be adopted,
and a survey of the main means of semi-automatic term extraction, according to the
needs of the proposed solution.

Keywords: Document management, Electronic Documents. Document Organization.


Document Indexing. Digital Transformation. Digital Collection.
LISTA DE FIGURAS

Figura 1 Evolução dos artigos publicados – Scopus (Jun/2020)..............................17


Figura 2 Gráfico de distribuição de documentos por áreas do conhecimento –
Scopus (Jun/2020)............................................................................................18
Figura 3 Visualização da concorrência de termos pelo VOSviewer ........................18
Figura 4 Processo de Gestão Documental ..................................................................30
Figura 5 Relacionamento entre termos.........................................................................39
Figura 6 Design de Interação .........................................................................................43
Figura 7 Levantamento de Tipos Documentais...........................................................49
Figura 8 Arquitetura da Solução ....................................................................................53
Figura 9 Processo de Tratamento dos Dados .............................................................56
Figura 10 Processo de Indexação e Normalização ......................................................58
Figura 11 Fluxo do Algoritmo de normalização .............................................................61
Figura 12 Arquitetura da Engine de Regex em tempo de execução .........................61
Figura 13 Plano de Execução...........................................................................................62
Figura 14 Extração de Termos de um documento ........................................................64
Figura 15 Quadro Amplo da Recuperação da Informação ..........................................65
Figura 16 Modelo de dados para armazenamento de índices ....................................66
Figura 17 Indexação e correlação de índices ................................................................66
Figura 18 Arquitetura da Solução ....................................................................................68
LISTA DE QUADROS

Quadro 1 Funcionalidades básicas de um GED ...........................................................16


Quadro 2 Cluster – Palavras-Chave................................................................................19
Quadro 3 Matriz de Documentos .....................................................................................39
Quadro 4 Especificadores de expressões regulares ....................................................51
Quadro 5 Quantificadores de expressões regulares ....................................................51
Quadro 6 Âncoras de expressões regulares..................................................................52
Quadro 7 Agrupamento de expressões regulares ........................................................52
Quadro 8 Definição de Índices e suas expressões regulares .....................................55
LISTA DE SIGLAS E ABREVIATURAS

ABGD – Associação Brasileira das Empresas de Gerenciamento de Documen-


tos

CONARQ – Conselho Nacional de Arquivos

DMS – Document Management System

GED – Gestão Eletrônica de Documentos

PLN – Processamento de Linguagem Natural

REGEX – Expressões Regulares


SUMÁRIO

1. INTRODUÇÃO...................................................................................................................11
1.1 REVISÃO DE LITERATURA ......................................................................................16
1.1.1 Sistemas de gestão documental ................................................................19
1.1.2 Recuperação de documentos .....................................................................20
1.2 PROBLEMA DE PESQUISA ......................................................................................24
1.3 JUSTIFICATIVA............................................................................................................25
1.4 OBJETIVOS ..................................................................................................................27
1.4.1 Objetivo geral ..................................................................................................27
1.4.2 Objetivos específicos ....................................................................................27

2. REFERENCIAL TEÓRICO..............................................................................................28
2.1 SISTEMAS DE GESTÃO DOCUMENTAL ...............................................................28
2.2 PROCESSAMENTO DE TEXTOS ............................................................................34
2.2.1 Processamento de Linguagem Natural ....................................................34
2.2.2 Coocorrência em documentos....................................................................38

3. O ESTADO DA PRÁTICA EM SISTEMAS DE GESTÃO ELETRÔNICA DE


DOCUMENTOS.................................................................................................................40

4. ASPECTOS METODOLÓGICOS ..................................................................................43


4.1 CLASSIFICAÇÃO DA PESQUISA.............................................................................46
4.2 ETAPAS DA PESQUISA .............................................................................................46

5. PROPOSTA DE SOLUÇÃO ...........................................................................................48


5.1 ESTABELECER REQUISITOS ..................................................................................48
5.2 DESIGN DE ALTERNATIVAS....................................................................................52
5.3 AVALIAR O DESIGN E PROTOTIPAR ....................................................................67

6. CONCLUSÃO ....................................................................................................................69

7. REFERÊNCIAS .................................................................................................................70

ANEXO I – Lista de stopwords .........................................................................................76

ANEXO II – Código e interfaces do protótipo...............................................................78


13

1 INTRODUÇÃO

O volume de documentos eletrônicos vem crescendo ano a ano nas empresas.


Atualmente, em ambiente organizacional, parte significativa dos documentos é produ-
zida eletronicamente e armazenada em computadores. Em 2014, um estudo da EMC
Corporation (EMC, 2014), líder mundial em armazenamento de dados, apontava que,
até o final de 2020, teríamos aproximadamente 44 ZetaBytes (ou 44 trilhões de Giga-
Bytes) de dados armazenados. Muitas empresas atuam fortemente na análise e pro-
cessamento de seus dados; a maioria da análise concentra-se em dados estruturados
e semiestruturados, contudo, os dados não-estruturados, presentes em documentos
de texto ou imagens, são os responsáveis pela maior parte de todos os dados corpo-
rativos disponíveis (HANSEN et al., 2019).
Segundo Bulusu (2018), os dados estão revolucionando a vida humana: nos
últimos anos, produzimos mais dados do que em toda a história anterior da humani-
dade; somente em 2020, cerca de 1,7 megabytes de novas informações foram criados
a cada segundo para cada ser humano no planeta.
Neste cenário, é preciso pensar em formas de indexação e recuperação dos
documentos armazenados nos quais a utilização de métodos de indexação manual
torna-se inviável, principalmente “em uma sociedade onde a explosão documental
atingiu seu ápice e os usuários sozinhos não conseguem obter as informações dese-
jadas...” Maimone e Silveira (2007). Na busca por aprimorar os mecanismos de inde-
xação de documentos, propõe-se um modelo combinando o uso de expressões regu-
lares com tokenização para reconhecer padrões e características em acervos de do-
cumentos corporativos.
Informações produzidas diariamente dentro de instituições públicas ou privadas
devem ser indexadas automaticamente para que se tornem úteis, ou seja, contextua-
lizadas e de rápida recuperação. Segundo Pansani Junior e Ferneda (2016), “a inde-
xação é um dos processos responsáveis por representar os assuntos de um docu-
mento. Por meio de termos o conteúdo do documento é representado, sendo que es-
tes servirão como pontos de acesso mediante os quais um registro será localizado e
recuperado no momento da busca.”
Dessa forma, faz-se necessário o uso de sistemas de Gerenciamento Eletrô-
nico de Documentos (GED) como plataforma para gestão, busca e recuperação dos
14

documentos indexados e armazenados. Em um contexto de gestão de documentos


organizacionais, cada área da empresa manipula diferentes tipos de documentos com
diferentes graus de relevância. Cada documento tem uma estrutura própria que define
suas características e finalidades, porém a grande maioria desses documentos são
armazenados como documentos não-estruturados, ou seja, tem uma formatação se-
melhante, mas não seguem padrão de confecção e disposição das informações. Na
área administrativa, podemos destacar contratos, mensagens e documentos pesso-
ais, atas etc., enquanto na área financeira produzem-se notas fiscais, faturas, boletos
bancários, balancetes, entre outros. Um dos desafios para se automatizar a indexação
desses documentos é a identificação dos seus principais termos-chave e a possibli-
dade de criação de uma relação entre esses documentos pelos termos identificados
tendo em vista que essas informações estão disponíveis em formato eletrônico e seu
conteúdo é potencialmente útil às organizações.
Na organização dos documentos, é necessário conhecer a produção documen-
tal e os tipos documentais (PAZIN-VITORIANO, 2011). Para Bernardes e Delatorre
(2008), a produção de documentos consiste na “elaboração padronizada de tipos/sé-
ries documentais, implantação de sistemas de organização da informação e aplicação
de novas tecnologias aos procedimentos administrativos”. Neste contexto, destacam-
se alguns dos principais tipos documentais produzidos pelas áreas administrativas das
organizações (BRASIL, 2018):
− Contratos: Apresentam a qualificação das partes envolvidas, de forma que pos-
sam ser individualizadas e encontradas em seus respectivos domicílios. Deve
também especificar o objeto do acordo, que pode ser um serviço, uma coisa
móvel ou imóvel, a entrega de algum valor. Além disso, o vínculo que une os
contratantes também deve ser detalhado.
− Ata: É uma certificação ou testemunho escrito em que se apresenta o que acon-
teceu, tratado ou acordado no momento de qualquer circunstância que justifique,
tais como: a reunião de um consórcio, a escolha de uma pessoa para uma posi-
ção que pode ser pública ou privada, a reunião do conselho de uma empresa ou
organização, a prova de nascimento ou qualquer outro evento que exija a certi-
ficação legal de algo que ocorreu pela importância e, se necessário, no futuro,
servir como prova em um julgamento.
− Memorando (ou comunicado): Constitui um tipo de comunicação eminentemente
interna estabelecida entre as unidades administrativas de um mesmo órgão, de
15

níveis hierárquicos iguais ou distintos. Ele representa um documento cuja carac-


terística principal é a agilidade, dada a isenção de quaisquer procedimentos bu-
rocráticos que porventura venham a dificultar a tramitação do referido ato comu-
nicativo.
− E-mail: São mensagens que circulam pelas redes de comunicação. Normal-
mente, essas mensagens são notas inseridas em formato eletrônico e enviadas
por algum sistema de e-mail, permitindo que os usuários enviem correio eletrô-
nico para qualquer lugar do mundo. As empresas totalmente informatizadas fa-
zem uso extensivo do e-mail, pois é mais rápido, flexível e confiável. As mensa-
gens enviadas são armazenadas em caixas de correio eletrônicas até que o des-
tinatário as busque. Para verificar se existe algum e-mail, talvez seja necessário
verificar a caixa de correio eletrônica periodicamente, embora muitos sistemas o
avisem quando o correio for recebido.
− Ofício: É um tipo de correspondência por meio da qual se mantém intercâmbio
de informações a respeito de assunto técnico ou administrativo entre órgãos e
entidades da Administração direta ou indireta. São objeto de ofícios: as comuni-
cações realizadas entre dirigentes de unidades administrativas do mesmo nível
hierárquico, podendo ser também dirigidos aos particulares.

Documentos oficiais expedidos pelos órgãos competentes também são utiliza-


dos. Dentre eles:

− Documentos de identificação: A identificação pessoal corresponde ao conjunto


de documentos diversos para individualizar uma pessoa perante a sociedade em
que vive. Através da identificação, as pessoas podem preservar seus direitos,
bem como serem cobrados os seus deveres, quer cíveis e/ou penais. As organi-
zações possuem pastas de documentos pessoais de seus funcionários como:
RG, CPF, certidão de nascimento, dentre outros.
− Nota fiscal: É um documento fiscal que tem por fim o registro de uma transferên-
cia de propriedade sobre um bem ou uma atividade comercial prestada por uma
empresa e uma pessoa física ou outra empresa (CONTÁBEIS, 2020). Há situa-
ções em que a nota fiscal registra transferência de valor monetário entre as par-
tes. Ela é utilizada para fins de fiscalização e para que possam ser calculados e
recolhidos os tributos devidos.
16

− Fatura: É um suporte contábil que se refere à venda de u m produto ou serviço.


A fatura de vendas é um documento escrito que especifica a relação entre o
vendedor e o comprador. Ela detalha as mercadorias ou serviços a serem ven-
didas, assim como a quantidade de unidades, o preço e as condições de venda.
Do ponto de vista do comprador, a fatura é o documento que serve para justificar
a aquisição de uma mercadoria, enquanto, para o vendedor, serve para acom-
panhar os pagamentos pendentes. Para que a fatura seja um documento útil, é
necessário que seja duplicada. O original para o comprador e o duplicado para
o vendedor (com esta duplicação são contabilizadas a venda e a compra).
− Boletos bancários: São títulos de cobrança pagáveis em qualquer instituição ou
estabelecimento conveniado até a data de vencimento indicada. Alguns boletos,
porém, trazem orientações para que o portador do título possa quitá-lo mesmo
após a data preestabelecida como prazo, indicando acréscimos como juros e
multas. As cobranças variam bastante de acordo com cada documento e com a
empresa credora. Anteriormente, os boletos só podiam ser liquidados em agên-
cias bancárias e lotéricas. No entanto, com o grande avanço da tecnologia e o
aumento dos convênios, esse pagamento pode ser efetuado em postos dos Cor-
reios, caixas eletrônicos e, até mesmo, por meio da internet com a utilização de
aplicativos como internet banking ou que possuem essa função para smartpho-
nes e tablets.
− Comprovantes de pagamentos: São documentos que provam que uma pessoa
ou empresa realizou o pagamento por uma mercadoria comprada ou por um ser-
viço prestado. Além de informar o valor da transação e comprovar pagamento,
ele também é útil para assegurar a garantia do produto ou serviço que foi adqu i-
rido, ou seja, caso haja algum problema, a transação financeira pode ser com-
provada. Esse documento também contém informações importantes relaciona-
das a questões de impostos e outras taxas que envolvem a transação sobre a
venda que foi realizada.
− Balancete: É um relatório de cunho contábil realizado pelas organizações para,
através dos saldos de débitos e créditos, apresentar um recorte da sua saúde
financeira em determinado período. O balancete tem caráter opcional, ou seja, a
criação do documento não é exigida por nenhuma regulamentação específica ou
17

conselho. O seu objetivo principal é, sobretudo, gerencial, auxiliando os adminis-


tradores a tomarem decisões mais assertivas com base no desempenho expri-
mido.

O gerenciamento eletrônico de documentos se dá por meio de um sistema com-


putacional, geralmente chamado de Sistema de Gestão Eletrônica de Documentos
(GED), capaz de armazenar, gerenciar e rastrear documentos eletrônicos e imagens
eletrônicas de informações originalmente disponíveis em papel e capturadas pelo uso
de um scanner de documentos. De acordo com a ISO 12651-2 (ISO, 2014), docu-
mento é "informação registrada ou objeto que pode ser tratado como uma unidade".
Assim, um GED pode ter por objetivo organizar documentos, incorporando funcionali-
dades referentes à captura de conteúdo, controle de fluxo de trabalho, apoio à cura-
doria e recuperação de informações.
Sistemas de GED envolvem quatro funcionalidades básicas: captação, geren-
ciamento, armazenamento e distribuição. Nessas funcionalidades, cada tecnologia
tem um papel específico. Essas tecnologias, trabalhando reunidas ou isoladas, pro-
movem a organização de informações estruturadas e não-estruturadas. As funciona-
lidades dos GED e suas respectivas tecnologias estão descritas no Quadro 1.
Alguns dos principais recursos do GED incluem: check-in/check-out e bloqueio
para coordenar a edição simultânea de um documento, para que as alterações de
uma pessoa não substituam o controle de versão de outra. O gerenciamento de do-
cumentos acabou sendo incluído no gerenciamento de conteúdo em grande parte por-
que hoje há mais informações disponíveis do que nunca, graças à integração de toda
uma gama de suporte tecnológico, como a Web, pen-drives, smartphones etc. A ne-
cessidade se acelerou para lidar com informações de todos os tipos: no que se refere
à diversidade de mídias e à maneira como se estrutu ra. Os sistemas de GED variam
em complexidade e escopo, desde sistemas pequenos e independentes a configura-
ções de larga escala em toda a empresa, atendendo a um público global. Muitos des-
ses sistemas fornecem um meio de incorporar eletronicamente as práticas padrão de
arquivamento de documentos físicos. Eles incluem: local de armazenamento, segu-
rança, controle de acesso, controle de versão e trilhas de auditoria etc.
18

Quadro 1 – Funcionalidades básicas de um GED

ATIVIDADES TECNOLOGIAS ENVOLVIDAS EFEITO


Captação • Agregação
• Computer Output to Laser Disk (COLD)
• Enterprise Report Management (ERM).
• Categorização
• Reconhecimento ótico de caracteres (OCR) Captura, representação e
• Reconhecimento inteligente de caracteres (ICR) transf erência
• Reconhecimento de caractere manuscrito (HCR)
• Reconhecimento ótico de marca (OMR)
• Document Imaging
• Eforms / WebForms
• Forms Processing
Gerenciamento • Colaboração
• Document Management
• Web Content Management
Fluxo de conteúdos e
• Workflow
documentos
• BPM (Gerenciamento de processos de negócio)
• Gestão documental
• Controle de versão
Armazenamento • Trilhas de auditoria
• Chek in / Check out
• Redundant array of independent disks (RAID)
• Retrieval Armazenagem e
• Data Warehouse recuperação sob
• Database demanda
• SAN /NAS
• Sistema de arquivo (Diretório)
• Magneto – ótico
• CD-ROM / DVD
Distribuição • COLD/ERM (Computer Output to Laser Disk /
Enterprise Report Management - Gerenciamento
Corporativo de Relatórios) O conteúdo certo, para o
público certo, no
• Compressão
dispositivo certo.
• Gerenciamento de direitos digitais/ assinatura
digital

Fonte: CENADEM (2002).

1.1 REVISÃO DE LITERATURA

Para direcionar a pesquisa sobre o estudo proposto, foi realizada uma revisão
de literatura sobre o assunto. A pesquisa foi realizada na base de dados acadêmicos
Scopus, considerada o maior banco de dados de citações e resumos, abrangendo
periódicos científicos, anais de conferências, livros e demais documentos em junho
19

de 2020. Para análise de concorrência e cocitações, foi usado o software bibliométrico


VOSviewer1.
As palavras-chave utilizadas para a pesquisa foram: “Document Retrieval” e
“Information Retrieval”, retornando 11.535 documentos2. Aplicado um refinamento
com as palavras “Co-occurrence”, “Coocurrence”, “Automatic indexing”, “Document*
Linked” e “Text Mining”, o retorno da pesquisa foi de 1.501 documentos. Em seguida,
foi realizada análise dos indicadores bibliométricos de evolução no tempo e documen-
tos por área temática. Na Figura 1, é apresentada a evolução das publicações sobre
o tema, demonstrando a relevância desse assunto.

Figura 1 – Evolução dos artigos publicados – Scopus 3

Fonte: Pesquisa no Scopus em junho de 2020

Na Figura 2, há a distribuição dos documentos por área de conhecimento. Po-


demos verificar uma transversalidade de áreas nas quais esse assunto se faz pre-
sente. As áreas com os maiores percentuais são de ciência da computação (46,2%),
engenharia (12,6%) e matemática (12,3%).

1Trata-se de um software para construção e visualização de redes bibliométricas. Essas redes podem
incluir, por exemplo, periódicos, pesquisadores ou publicações individuais e podem ser construídas
com base em relações de citação, acoplamento bibliográf ico, cocitação, coautoria e coocorrência de
termos. (https://www.vosviewer.com)
2Pesquisa realizada em 12/07/2020.
3https://www.elsevier.com/solutions/scopus
20

Figura 2 – Gráf ico de distribuição de documentos por áreas do conhecimento – Scopus

Fonte: Pesquisa no Scopus em junho de 2020

As etapas subsequentes consistiram na construção dos mapas dos termos. A


Figura 3 representa a rede de coocorrência de palavras-chave, adotando-se o número
mínimo de cinco ocorrências de cada termo. De um total de 7.920 palavras-chave,
636 têm essa especificação.

Figura 3 – Visualização da coocorrência de termos pelo VOSviewer

Fonte: Elaborada pelo autor através do sof tware VOSViewer e utilizando um thesaurus com os termos
mais identif icados e suas coocorrência.
21

Com a elaboração do mapa temático sobre a pesquisa foi possível identificar


sete clusters. Os principais termos como “data mining”, “text mining”, “text processing”,
“information retrieval”, “semantics”, “natural language processing systems”, “classifi-
cation”, “automatic indexing”, entre outros; são termos com forte conexão entre si, dis-
tribuídos em sete clusters, conforme o Quadro 2.

Quadro 2 – Cluster – Palavras-Chave

Cor Cluster Quantidade de Itens %_Itens


Vermelho Cluster 1 128 20,16 %
Verde Cluster 2 108 17,01 %
Azul Cluster 3 105 16,54 %
Amarelo Cluster 4 94 14,80 %
Roxo Cluster 5 87 13,70 %
Azul Claro Cluster 6 76 11,97 %
Laranja Cluster 7 37 5,83 %
Fonte: Elaborada pelo autor através do sof tware VOSViewer e utilizando um thesaurus com os termos
mais identif icados e suas coocorrência

O segundo passo da pesquisa foi selecionar os estudos mais relevantes. Dessa


forma, o resultado da pesquisa foi ordenado pelos temas mais relevantes identificados
pelas palavras-chave. Inicialmente, foi realizada a leitura dos resumos com o intuito
de verificar o alinhamento desses trabalhos com a proposta desta pesquisa. Uma vez
selecionados, foi realizada a leitura em detalhe de cada um para extrair as informa-
ções relevantes para a pesquisa.

1.1.1 Sistemas de gestão documental

Segundo Kowalski (1997), o objetivo geral do GED é minimizar o tempo gasto


pelo usuário para localizar a informação que ele necessita. Já para Zantout e Marir
(1999),

o GED veio evoluindo nas últimas décadas de modo que suas aplicações
incluíssem:
− A tecnologia de imagem latente que f ornece a f acilidade para substituir
eletronicamente um sistema de gerenciamento de documentos baseado
em papel;
− A tecnologia de multimídia que envolve a captação e a exposição de vários
tipos de dados, junto com a f acilidade para recuperar conteúdos de obje-
tos de documento em multimídia;
22

− Incorporação às aplicações groupware e workf low.

Laudon e Laudon (2004) afirmam que “artefatos de GED são ferramentas da


tecnologia da informação utilizadas no processo e no gerenciamento de documentos,
incluindo as atividades de edição de textos, editoração eletrônica e armazenamento
em disco óptico.” Baldam et al. (2002) acrescem a estas as “atividades de localização
e recuperação”. Considerando os requisitos gerais de um GED, podemos destacar
três grandes características principais:

− Gestão/Controle dos documentos – facilidade de recuperar arquivos em um curto


espaço de tempo, usando critérios de busca e desempenho; pode ser aumen-
tado com a adoção de técnicas de processamento de dados.
− Segurança – a assinatura digital pode ser usada para controlar o acesso do usu-
ário e a validação de documentos.
− Controle – vários procedimentos de controle podem ser aplicados para controlar
usuário, documento, dados, acesso, backup e restauração. (MAHMOOD;
OKUMUS, 2017)

As principais tarefas executadas com GED são: manipulação direta de docu-


mentos, indexação e armazenagem para recuperação de documentos, comunicação
por meio da troca de documentos, modelagem e automatização do fluxo de documen-
tos. Neste trabalho, pretendemos focar em duas etapas da Gerenciamento Eletrônico
de Documentos: indexação e recuperação de documentos.

1.1.2 Recuperação de documentos

Sobre a recuperação de documentos, Chen (2006) apresentou uma pesquisa


usando algoritmos de “text mining” para uma análise de citação e cocitação na litera-
tura científica para detectar e visualizar tendências emergentes e padrões transitórios
na literatura científica – uma rede em evolução de publicações científicas citadas por
conceitos de frente de pesquisa. Alzaidy et al. (2019) abordam o problema de extração
de frase-chave como rotulagem de sequência e propõe um modelo que explora e cap-
tura termos por meio de uma matriz de parâmetro de transição que consiste nas pro-
babilidades de transição de um termo para o termo vizinho em redes bidirecionais de
23

memória de longo prazo que capturam semânticas ocultas no texto por meio de de-
pendências de longa distância. Os resultados apresentam três conjuntos de dados de
documentos que mostram que o modelo proposto supera substancialmente as linhas
de base e as abordagens anteriores para extração de frases-chave.
Steyvers e Griffiths (2007) destacam, em alguns capítulos de seu livro que ilus-
tra a aplicação de um método estatístico como a análise semântica latente (Latent
Semantic Analysis – LSA), que grandes bancos de dados podem fornecer informações
sobre a cognição humana. A abordagem LSA faz três alegações: que informações
semânticas podem ser derivadas de uma matriz de coocorrência de documentos do
Word; que a redução de dimensionalidade é uma parte essencial dessa derivação; e
que palavras e documentos podem ser representados como pontos no espaço eucli-
diano. Sugerem uma abordagem consistente com as duas primeiras, mas diferente
na terceira, descrevendo uma classe de modelos estatísticos em que as propriedades
semânticas de palavras e documentos são expressas em termos de tópicos probabi-
lísticos.
Wang et al. (2016) apresentam um estudo sobre o problema da incorporação
de documentos vinculados para classificação e propõem uma estrutura de incorpora-
ção de documentos vinculados (Linked Document Embedding – LDE) que combina
informações de link e rótulo com informações de conteúdo para aprender representa-
ções de documentos para classificação. Resultados experimentais em conjuntos de
dados do mundo real demonstram a eficácia da estrutura proposta. Outros experimen-
tos são conduzidos para entender a importância das in formações de link e rótulo na
estrutura proposta LDE.
Blazquez (2018) desenvolveu uma arquitetura de Big Data que integra adequa-
damente a maioria das fontes não tradicionais de informações e métodos de análise
de dados a fim de fornecer um sistema projetado especificamente para prever com-
portamentos, tendências e mudanças sociais e econômicas. Legrand et al. (2020) pro-
põem o desenvolvimento de técnicas de processamento de linguagem natural (NPL)
para orientar especialistas em busca do conhecimento, tendo em vista que uma parte
significativa do conhecimento de ponta em farmacogenômica (PGx) está acumulada
em publicações científicas dificilmente reutilizáveis por seres humanos ou software.
Segundo Senthil e Dinakaran (2020), a tarefa mais desafiadora em qualquer
sistema de raciocínio moderno é a aquisição automática de informações a partir do
24

texto não-estruturado. Ele propôs um sistema para reconhecer as entidades nomea-


das em fluxos do Twitter e vinculá-las a entidades de conhecimento do mundo real.
Além disso, ele executou muitas funções semânticas como desambiguação de enti-
dade, semelhança contextual, indução de tipo e rotulagem semântica para aumentar
a pontuação semântica da entidade e fornecer à rica entidade um espaço para me-
lhorar quantitativamente a precisão da recuperação das informações.
Law e Chung (2020) apresentam uma abordagem de representação de texto
baseada na estrutura de documentos com a incorporação de informações auxiliares
em uma análise preditiva de dados não-estruturados para melhorar o desempenho na
tarefa de classificação de documentos. A abordagem proposta supera significativa-
mente a abordagem tradicional de todo o documento, que não leva em consideração
a estrutura do documento. Com a proposta, o conhecimento pode ser usado de ma-
neira eficaz e eficiente nas decisões e no planejamento de negócios a fim de melhorar
a vantagem competitiva e a substancialidade.
Sheng et al. (2020) propõem um sistema chamado MuReX para ajudar usuários
a discernir rapidamente conexões e fatos importantes de um conjunto de documentos
relacionados e visualizar as informações resultantes como uma visualização baseada
em gráficos. Ele aborda a extração de informações abertas, seguida de uma cuida-
dosa transformação e filtragem, usando conceitos de programação linear para garantir
a retenção apenas dos fatos mais confiáveis e compatíveis com relação a uma con-
sulta do usuário, aplicando uma abordagem de classificação de gráfico para obter um
gráfico coerente que representa relacionamentos significativos para uma melh or visu-
alização dos termos.
Albishre et al. (2020) propõem um novo modelo de aprendizado não supervisi-
onado baseado em consulta para representar os relacionamentos implícitos no texto
breve das mídias sociais. Segundo eles, esse modelo preenche uma lacuna da falta
de coocorrências de palavras sem exigir que muitos parâmetros sejam estimados e
que evidências externas sejam coletadas. O modelo proposto pode melhorar a eficá-
cia da pesquisa nas mídias sociais em possíveis tarefas de recuperação próxima.
No campo da indexação, Salton, Wong e Yang (1975) fazem uma abordagem
baseada em cálculos de densidade de espaço para escolher um vocabulário de inde-
xação ideal para uma coleção de documentos. Resultados típicos da avaliação são
apresentados e demonstram a utilidade do modelo e sua recuperação de documento.
Expressa, ainda, que o valor de um sistema de indexação pode ser demonstrado em
25

função da densidade do espaço do objeto; em particular, o desempenho da recupera-


ção pode se correlacionar inversamente com a densidade do espaço. Mikolov et al.
(2013) trazem o modelo Skip-gram, voltado para o processamento de linguagem na-
tural (NPL) para aprender representações vetoriais de alta qualidade de palavras a
partir de grandes quantidades de dados de texto não-estruturados. Segundo o autor,
diferente da maioria das arquiteturas de redes neurais usadas anteriormente, para
aprender vetores de palavras, o treinamento do modelo Skip-gram envolveu multipli-
cações de matriz densa. Isso tornou o modelo extremamente eficiente.
Savova et al. (2010) propõem construir e avaliar um sistema de processamento
de linguagem natural (NPL) de código aberto para extração de informações a partir de
texto livre clínico de prontuário eletrônico, com componentes treinados especifica-
mente para o domínio clínico, para criar anotações linguísticas e semânticas ricas.
Han et al. (2012) detalham os métodos para classificação de dados e apresen-
tam os conceitos e métodos para agrupamento de dados. Eles se concentram na via-
bilidade, utilidade, eficácia e escalabilidade de técnicas de grandes conjuntos de da-
dos; e descrevem o processo de mineração de dados, abordando os métodos de co-
nhecimento, pré-processamento, processamento e armazenamento de dados.
Harispe et al. (2015) enfocam medidas semânticas: abordagens projetadas
para comparar entidades semânticas, como unidades de linguagem, por exemplo, pa-
lavras, frases ou conceitos e instâncias definidos em bases de conhecimento. O obje-
tivo dessas medidas é avaliar a proximidade de tais entidades, levando em conside-
ração sua semântica. As duas abordagens de última geração para estimar e quantifi-
car semelhanças/relações semânticas de entidades são apresentadas em detalhes: a
primeira se baseia na análise de corpora, em técnicas de processamento de lingua-
gem natural e nos modelos semânticos, enquanto a segunda se baseia em formas de
conhecimento mais ou menos formais, legíveis por computador e viáveis, como redes
semânticas, tesauros ou ontologias.
Chaghari et al. (2020) abordam a sumarização de documentos como um pro-
cesso automático de geração de um formulário curto a partir de um documento. Em
sua análise, a sumarização de documentos baseada em conjunto de itens, os pesos
de todos os termos são considerados iguais. Nesse artigo, uma nova abordagem é
proposta para sumarização de documentos múltiplos com base em padrões pondera-
dos e medidas de associação de termos. Os pesos dos termos não são iguais no
contexto e são calculados com base na mineração frequente ponderada de conjuntos
26

de itens. De fato, o método proposto enriquece a mineração frequente de conjuntos


de itens ponderando os termos do corpus. As relações entre os termos do corpus
foram consideradas usando medidas de associação de termos. Além disso, os recur-
sos estatísticos, como comprimento e posição da frase, foram modificados e combi-
nados para gerar um resumo com base no método ganancioso.
Considerando-se os materiais estudados até aqui, evidencia-se que, apesar
dos autores proporem, em sua maioria, métodos para indexação, recuperação de do-
cumentos e vinculação entre documentos, não foi demonstrada uma aplicação prática
com foco em documentos administrativos de uma empresa. Dessa forma, a proposta
deste trabalho é preencher uma lacuna da falta de coocorrências de documentos,
considerando a extração de palavras ou conjuntos de palavras-chave, dando impor-
tância para o tipo documental e utilizando outras técnicas de extração de termos com
expressões regulares associadas à mineração de texto, com o uso de n-gramas, pro-
cessamento de linguagem natural, para criar um corpus de documentos associados
por seus termos. Os avanços tecnológicos impulsionam a criatividade no desenvolvi-
mento de processos e ferramentas que conseguem organizar e extrair o conhecimento
e informações em grandes volumes de dados.

1.2 PROBLEMA DE PESQUISA

Atualmente, a maioria dos documentos é produzida de forma eletrônica, porém


ainda é uma realidade nas instituições o armazenamento e guarda dos documentos
em papel. Apesar do papel ser usado há séculos como principal suporte da informa-
ção, hoje, em razão da grande quantidade de informações produzidas diariamente,
ele ocupa volume de espaço que cada vez custa mais caro. Segundo uma pesquisa
realizada pela Associação Brasileira das Empresas de Gestão de Documentos
(ABGD, 2018), o profissional brasileiro pode perder horas por dia tentando encontrar
documentos, considerando-se que os documentos são dados e informações valiosas
para as instituições, segundo Marr (2017) “até 90 por cento desses dados são defini-
dos como dados não-estruturados”. Os dados não-estruturados criam um desafio
único para as organizações que desejam usar suas informações: não podem ser fa-
cilmente armazenados em um banco de dados e têm características que dificultam
sua recuperação e análise, especialmente em tempo real.
27

Diante do cenário apresentado, define-se a seguinte questão de pesquisa:


como sistemas GED podem incorporar mecanismos de conexão semântica à indexa-
ção e recuperação de documentos armazenados?
Diante do cenário apresentado, busca-se propor um fluxo de processos de in-
dexação e novas funcionalidades para sistemas GED, para a indexação e recupera-
ção de documentos, considerando a conexão semântica entre os documentos arma-
zenados.

1.3 JUSTIFICATIVA

Os documentos eletrônicos fazem parte dos recursos explícitos de conheci-


mento de qualquer organização. Eles precisam ser tratados da mesma maneira pla-
nejada e sistemática que os outros recursos de conhecimento da organização, sejam
explícitos, sejam tácitos. Os recursos eletrônicos já formam a maior parte do conheci-
mento registrado de empresas maiores, principalmente as do setor financeiro e de
serviços. Se as tendências atuais continuarem, podemos esperar que isso se torne
norma em empresas menores e mais tradicionais, assim como um rápido desenvolvi-
mento contínuo das tecnologias de informação e telecomunicações. Trinta anos atrás,
o e-mail era uma tecnologia pouco conhecida. Daqui a trinta anos, a palavra "e-mail"
pode gerar os mesmos olhares interrogativos em uma aula de ciência da informação
para calouros, como o fax, telex e o teletexto fazem hoje. À medida que a mídia ele-
trônica prolifera e o volume de recursos eletrônicos cresce exponencialmente, eles
continuam desafiando os gerentes de conhecimento a criar um gerenciamento eficaz
e elegante.
Na grande transformação digital que estamos vivendo, “as empresas que terão
sucesso na década atual serão aquelas que utilizarem ferramentas digitais para rein-
ventar sua maneira de trabalhar” (GATES, 1999). Dadas as enormes quantidades de
informações produzidas 24 horas por dia, 7 dias por semana e o crescimento expo-
nencial de documentos eletrônicos, novas técnicas são necessárias para permitir que
os usuários possam recuperar melhor seus documentos, juntamente com seus relaci-
onamentos. Outro ponto tem caráter econômico e tecnológico: a inevitável substitui-
ção de indexadores manuais, que podem hoje ser considerados problema de gestão,
já que consomem recursos – tempo, dinheiro, mão de obra – e precisam apresentar
28

resultados constantemente melhorados para contribuir de forma positiva no fluxo da


informação.
Nesse sentido, a pesquisa apresenta estudo de caso de indexação automática
de documentos eletrônicos e tratamento temático de informações documentais, apre-
sentando uma coocorrência dos documentos e seus principais termos. Com base na
literatura, vemos os estudos sobre indexações automáticas apontando critérios ne-
cessários para aumentar a eficiência dos softwares destinados à realização do pro-
cesso. Nota-se que o tema vem ganhando força nos últimos anos, principalmente de-
vido ao aumento exponencial de documentos eletrônicos e sua dependência em rela-
ção ao desenvolvimento tecnológico.
Neste trabalho, serão utilizadas expressões regulares e tokenização para cria-
ção de uma ferramenta capaz de transformar dados textuais e não-estruturados em
informações úteis e relevantes, considerando suas características e particularidades,
extração de termos por meio de técnicas de processamento de linguagem natural
(NPL) e extração de termos com o uso de expressões regulares pré-definidas. Foram
constatados vários artigos nessa linha, porém, em sua grande maioria, os trabalhos
apontaram para temas específicos como detecção de spams, classificação de acervos
bibliográficos, classificação de doenças etc. A abordagem mais direcionada para em-
presas em geral tem forte aceitação, tendo em vista a carência de estudos nesse sen-
tido para o setor.
Os desafios na indexação automática de documentos devem ser enfrentados
com a utilização de soluções tecnológicas e boas práticas. Podemos vencer os desa-
fios na recuperação e preservação da informação. Para tanto, precisamos realizar o
tratamento dos documentos físicos por meio da digitalização e reconhecimento dos
caracteres para recuperação das informações em formato digital, e o pré-processa-
mento dos documentos digitais.
Conhecer os tipos documentais de uma empresa e seus principais atributos é
fundamental para que se tenha panorama realista dos documentos produzidos e, por-
tanto, um acervo digital homogêneo. No entanto, somente a existência do acervo di-
gital não é suficiente para que toda a informação registrada se transforme em conhe-
cimento.
Com o uso da mineração de texto, podemos encontrar padrões, modelos, dire-
ções, tendências ou regras úteis e interessantes a partir de texto não-estruturado.
29

Para Feldman e Dagan (1995), “a mineração de texto pode ser descrita como a des-
coberta de conhecimento, pois ela fornece soluções para problemas comuns de ge-
renciamento de informações envolvendo a recuperação, análise de texto, extração de
informações, clustering, categorização, indexação e visualização dos dados.” As difi-
culdades com a compreensão automatizada de texto são causadas principalmente
por termos e frases ambíguos, dependência de entendimento do contexto e do conhe-
cimento de base. Documentos não-estruturados podem ser de fácil compreensão para
pessoas, porém, muito complexos para um computador. Para Imamura (2001), “a di-
ficuldade de analisar textos se deve ao fato de que eles são tipo de dados que pos-
suem uma estrutura interna limitada.” Para superar essa dificuldade, a mineração de
texto emprega um conjunto de algoritmos para converter texto em dados estruturados
e os métodos quantitativos usados para analisar esses dados. Califf (1998) sugeriu o
uso de algoritmos de machine learning para extrair informações de documentos de
texto e para a criação de bancos de dados facilmente pesquisáveis a partir das infor-
mações, tornando o texto mais acessível. Porém, o autor adverte: “o conhecimento
descoberto só é útil e informativo se for preciso”. Por conseguinte, é importante medir
a precisão dos dados – dados extraídos automaticamente podem conter ruídos, se
comparados a extrações manuais.

1.4 OBJETIVOS

1.4.1 Objetivo geral

O objetivo geral desta pesquisa é propor uma arquitetura de sistema de GED


com foco na indexação semiautomática e recuperação dos documentos a partir de
relações entre eles utilizando expressões regulares e tokenização dos termos.

1.4.2 Objetivos específicos

São objetivos específicos desta pesquisa:


− Identificar os principais tipos de documentos produzidos pelas organizações,
principalmente nas áreas administrativas;
− Estudar as soluções existentes para gestão de documentos digitais;
− Estudar os métodos de indexação e recuperação de documentos;
30

− Criar expressões regulares para indexação e recuperação de documentos;


− Estudar os mecanismos de identificação de relações entre documentos;
− Propor uma solução baseada nesses métodos e mecanismos;
− Realizar uma prova de conceito para a solução proposta; e
− Avaliar a prova de conceito.
31

2 REFERENCIAL TEÓRICO

2.1 SISTEMAS DE GESTÃO DOCUMENTAL

O documento é o conjunto de informações (em meio eletrônico ou não) que


agrega dados estruturados, semiestruturados e não-estruturados, que representam o
conhecimento produzido ao longo de um processo da organização. A principal dife-
rença entre os dados formatados (arquivos de computador, bases de dados, relatórios
e aplicações) é que funcionam bem para as funções de registro, como armazena-
mento e recuperação de informações sobre o estado de um processo; os documentos,
por outro lado, servem para armazenar informações de caráter gerencial, como estra-
tégias, políticas, procedimentos e estrutura das atividades realizadas pela organiza-
ção. “Os documentos, dessa forma, representam o repositório de dados sobre a se-
quência de passos necessários à realização dos produtos ou serviços oferecidos pela
organização.” (CENADEM, 2002).
O gerenciamento eletrônico de documentos é abordado na literatura de diver-
sas formas e conceitos, frequentemente tratado como GED e muitas vezes tratado
como uma ferramenta estratégica para as organizações. Elias (2012) define o geren-
ciamento eletrônico de documentos como sendo um conjunto de tecnologias que per-
mite o gerenciamento de documentos, de forma digital ou eletrônica. Felix e Silva
(2010) definem o GED como uma tecnologia que oferece ferramentas para acesso e
gerenciamento de informações contidas tanto em papel como meio eletrônico.
Ribeiro (2010) também afirma que “a gestão documental significa a sobrevivên-
cia, competitividade de uma instituição. Conduz à transparência das atividades, pos-
sibilitando a governança e o controle das informações”.
No que tange aos benefícios trazidos pelo gerenciamento eletrônico de docu-
mentos, vários autores são unânimes ao afirmar que as principais vantagens obtidas
pela organização são:

− Preservação dos documentos originais, eliminação da replicação e redundância


de documentos, melhoria da gestão da informação;
32

− “Redução de áreas destinadas ao arquivamento dos documentos, diminuição no


tempo de recuperação da informação, rapidez na atualização de dados, possibi-
lidade de manter cópias de segurança e acesso por mais de um usuário” (BOR-
SOI, 2009); e
− “Redução de custos, rápido acesso às informações, segurança da informação
(devido ao controle de acesso aos documentos) e documentação sempre dispo-
nível” (FELIX; SILVA, 2010).

O Conarq (Conselho Nacional de Arquivos) apresenta o GED como sendo um


“conjunto de tecnologias utilizadas para organização da informação não-estruturada
de um órgão ou entidade que pode ser dividido nas seguintes funcionalidades: cap-
tura, gerenciamento, armazenamento e distribuição” (E-ARQ, 2011).
Pérez (2001) já destacava a importância da gestão de documen tos como ferra-
menta de suporte à gestão do conhecimento, ao definir que “o conhecimento não é
uma entidade física tangível, gestão do conhecimento não é realmente o produto, mas
um processo, uma maneira de relacionar as informações e experiência [...]”. O autor
ressalta o gerenciamento eletrônico de documentos como um processo que busca
atender às novas necessidades das organizações de melhor gerenciamento de suas
informações e aprimoramento da gestão do conhecimento.
Embora as vantagens possam justificar a implementação do GED, Elias (2012)
destaca algumas desvantagens que devem ser observadas, tais como: mudanças de
mídia para armazenar os documentos, necessidade de observar aspectos legais da
documentação digital, obrigatoriedade da existência de hardware e software para re-
cuperação dos dados e o uso de recursos tecnológicos que podem se tornar obsole-
tos.
Sistemas GED ou EDM (Eletronic Document Managemant System) são defini-
dos por uma arquitetura padrão no qual os processos de um documento são gerenci-
ados por um conjunto de etapas que, juntas, definem o ciclo de vida do documento
armazenado, conforme apresentado na figura 4. De acordo com a ISO 12651-2 (ISO,
2014), um documento é definido como "informação registrada ou objeto que pode ser
tratado como uma unidade". Gestão de documentos, então, é a maneira pela qual
uma organização gerencia o fluxo de documentos de todos os tipos, permite recuperar
as informações contidas neles, determina por quanto tempo os documentos precisam
33

ser armazenados e exclui aqueles que não são mais úteis, enquanto retém os docu-
mentos mais valiosos.

Figura 4 – Processo de Gestão Documental

Captura

Recuperação Cl a ssificação

GED

Arma zenamento Indexação

Fonte: Elaborada pelo autor apresentado as f ases básica de um sistema GED.

As etapas básicas de um sistema GED envolvem um conjunto de funções dire-


cionadas ao tratamento de documentos que proporcionam funcionalidades para pro-
cessamento e gerenciamento de documentos eletrônico.

Captura de documento

A etapa inicial de um sistema GED é a captura de documentos. Ela inicia o ciclo


de vida de um documento dentro do sistema. A captura de documentos é especial-
mente relevante para o gerenciamento de documentos nas organizações que têm
como característica a produção e armazenamento de grandes volumes de documen-
tos em vários formatos. Segundo Golubenko (2019), “captura de documentos significa
digitalizar documentos em papel ou fazer upload de documentos inicialmente digitais
para um repositório eletrônico”. Quando dados relevantes são detectados nos docu-
mentos carregados, tornam-se elegíveis para recuperação e uso facilitado.
34

A captura de documentos pode ser dividida em dois tipos:

− Básico – Esse tipo envolve digitalizar e salvar um documento em um computador


ou em uma rede compartilhada. Nesse caso, o documento não é pesquisável e
não está protegido contra exclusão acidental ou acesso não autorizado. Normal-
mente, esta opção é suficiente para pequenas empresas com transações peque-
nas de documentos.
− Avançado – Esse tipo de captura de documento fornece extração de dados e
classificação automática com base na análise de conteúdo. Essa opção é apli-
cável para grandes empresas que estão sujeitas a regulamentações de confor-
midade e que têm grande quantidade de documentos de vários tipos (GOLU-
BENKO, 2019).

Os canais mais comuns de como as informações são capturadas incluem: digi-


talização, Upload/Importar de documentos. Alguns sistemas permitem a criação de
documentos em formato digital direto dentro do sistema.

Classificação de documento

A classificação de documentos refere-se ao processo de atribuição de uma ou


mais identificação/tipificação para um documento a partir de um conjunto predefinido
de identidades (MLADENI et al., 2011). Em geral, podem-se considerar diferentes pro-
priedades de um documento na classificação de documentos e combiná-las como tipo
de documento, autores, links para outros documentos, conteúdo etc. A classificação
de documentos pode ser manual ou automatizada e é usada para classificar e geren-
ciar facilmente textos, imagens ou vídeos. Ambos os tipos de classificação de docu-
mentos têm suas vantagens e desvantagens. Por um lado, por meio da classificação
manual de documentos tem-se um maior controle sobre o processo. No entanto, ao
lidar com grandes volumes de documentos, esse processo pode ser lento e monótono.
Em vez disso, é muito mais rápido, além de mais econômico e preciso, realizar a clas-
sificação automática de documentos.
35

Indexação de documento

Como um dos focos desta pesquisa, a indexação de documentos é a identifica-


ção de atributos específicos de um documento para simplificar e agilizar sua recupe-
ração de forma mais precisa. De acordo com Borges (2009), “indexar é representar
um documento por uma descrição abreviada de seu conteúdo, com o intuito de sina-
lizar sua essência, essa representação é feita a partir da análise de assunto do texto-
fonte, que preferencialmente, deveria ser feita por especialistas”. Dessa forma, pode-
mos definir que o processo de indexação tem por objetivo a elaboração de índices de
assunto dos documentos, sendo parte integrante do processo conhecido como análise
documentária. A representação dos documentos é uma das etapas do processo de
recuperação de informações, sendo a indexação uma das tarefas da representação
dos documentos cujo objetivo é indicar do que se trata um determinado documento
(PANSANI JUNIOR; FERNEDA, 2016). Podemos classificar a indexação de duas ma-
neiras: Indexação Manual e Indexação Automática.
Indexação Manual refere-se ao processo de extração de termos ou palavras; é
feita a partir da análise do conteúdo do texto e, preferencialmente, deve ser feita por
especialistas que devem seguir metodologias e procedimentos específicos . Para Na-
varro (1988), “o ato de indexar é definido pela tradução do conteúdo de um documento
em palavras que tornem possível sua recuperação”. Entretanto, nesse processo, são
observadas significativas dificuldades na interpretação dos dados indexados, tendo
em vista que essa atividade é intelectual e, no dia a dia dos indexadores, pode haver
divergências entre termos atribuídos por diferentes profissionais ou contextos diferen-
tes para o mesmo documento.
A indexação automática está associada ao uso de programas computacionais
para geração de índices. Palavras ou expressões que aparecem no texto são extraí-
das para representar seu conteúdo como um todo. Dessa forma, é possível a extração
dos termos a partir dos mesmos princípios utilizados na indexação manual, como fre-
quência da palavra dentro do texto, posição da palavra no texto (no título, nas legen-
das, no resumo etc.) e por seu próprio contexto. Sistemas baseados em indexação
automática realizam, basicamente, as seguintes tarefas:

− Contar palavras num texto;


− Cotejá-las com uma lista de palavras proibidas;
36

− Eliminar palavras não significativas (artigos, preposições, conjunções etc.); e


− Ordenar as palavras de acordo com sua frequência.

Portanto, a indexação automática é a extração de termos significativos para a


representação do documento. Processos de indexação automática de documentos
reconhecem estruturas e associam termos-chave para identificação de conteúdo. Ter-
mos de indexação são como pontos de acesso pelos quais um documento pode ser
localizado e/ou recuperado. Urge que as informações produzidas diariamente dentro
de instituições, públicas ou privadas, sejam indexadas automaticamente para que se
tornem úteis, ou seja, de rápida recuperação. Segundo Pansani Junior e Ferneda
(2016), “a indexação é um dos processos responsáveis por representar os assuntos
de um documento. Por meio de termos, o conteúdo temático do documento é repre-
sentado, sendo que estes servirão como pontos de acesso, mediante os quai s um
registro será localizado e recuperado no momento da busca. Guinchat e Menou (1994)
descrevem as etapas no processo de indexação:

Tomar conhecimento sobre o documento; ler as principais partes do docu-


mento, para assimilação e compreensão de seu conteúdo e tema, extraindo
do mesmo, as ideias mais importantes; selecionar os assuntos mais relevan-
tes e descrevê-los em palavras ou termos; verif icar a pertinência dos termos
ou palavras selecionados, observando a sua adequação ao conteúdo do do-
cumento; traduzir os termos selecionados em descritores.

Armazenamento de documento

O armazenamento de documentos é a guarda do documento propriamente


dita, seja ele o físico ou digital. Em sistemas GED, esse armazenamento se dá de
forma eletrônica. Existem diversos benefícios em relação ao armazenamento de do-
cumentos eletrônicos em oposição ao armazenamento físico em papel. Os sistemas
de armazenamento de documentos eletrônicos permitem a recuperação imediata de
documentos – o que não é possível com o papel. Outro fator importante é a segurança
de documentos, que vai muito além de quem pode acessar o sistema. Com o arma-
zenamento eletrônico de documentos, usuários podem ter acesso a documentos es-
pecíficos. Tambem é possível o acesso a documentos sigilosos apenas para usuários
autorizados. Em muitos casos, esse tipo de segurança pode ser exigido por regula-
mentações governamentais. No entanto, para todas as empresas, proteger os dados
é a chave para garantir que informações confidenciais não vazem. Segurança significa
37

garantir que os documentos sejam preservados e não sejam perdidos ou danificados.


Os documentos podem ser perdidos para sempre a menos que sejam protegidos em
um sistema de gerenciamento de documentos. Portanto, mesmo no caso de desastres
naturais ou desastres causados pelo homem os documentos ainda estão seguros e
protegidos de forma eletrônica.

Recuperação de documento

A recuperação de documentos é o processo de produção de uma lista de do-


cumentos potencialmente relevantes para a um usuário. Segundo Liddy (2005), “a
recuperação de documentos surgiu pela primeira vez como um campo de investigação
e aplicação no final da década de 1940 e início da década de 1950”. Na época, a
quantidade de literatura científica estava crescendo a uma taxa tão expressiva que
levantou preocupações sobre como os cientistas seriam capazes de se manter infor-
mados sobre os novos desenvolvimentos, à medida que eram relatados na literatura
científica. Pesquisadores, cientistas da computação e cientistas da biblioteca come-
çaram a considerar como os computadores poderiam ser programados para realizar
tarefas humanas de representar e recuperar fontes relevantes, que antes eram consi-
deradas sob a alçada dos bibliotecários e da biblioteconomia. Inicialmente, a recupe-
ração de documentos era, na verdade, uma recuperação de citações, ou seja, “uma
pesquisa em campos bibliográficos como título, autor, fonte e palavras-chave baseada
em assuntos de um vocabulário controlado manualmente e atribuído a documentos”
(LIDDY, 2005).
Os próprios documentos não eram armazenados nem acessíveis por computa-
dor. Com o tempo, os avanços tecnológicos e as reduções no custo de armazena-
mento permitiram que o texto completo dos documentos fosse armazenado e recupe-
rado. Baeza-Yates e Ribeiro-Neto (1999) definem os sistemas de recuperação da in-
formação como sistemas que lidam com as tarefas de representação, armazena-
mento, organização e acesso aos itens de informação. Ferneda (2003) coloca que o
termo “recuperação de informação”, atribuído a sistemas computacionais, é bastante
questionado, sendo que muitos autores preferem o termo “recuperação de docu-
mento” ou “recuperação de textos”.
38

2.2 PROCESSAMENTO DE TEXTOS

2.2.1 Processamento de Linguagem Natural

Para Covington (1994), o Processamento de Linguagem Natural (PLN) consiste


no desenvolvimento de modelos computacionais para a realização de tarefas que de-
pendem de informações expressas em alguma língua natural. Conforme Covington et
al. (1997), a pesquisa em PLN está voltada, essencialmente, a três aspectos da co-
municação em língua natural:

− Som: fonologia;
− Estrutura: morfologia e sintaxe; e
− Significado: semântica e pragmática.

A fonologia está relacionada ao reconhecimento dos sons que compõem as


palavras de uma língua. A morfologia reconhece as palavras em termos das unidades
primitivas que a compõem. A sintaxe define a estrutura de uma frase, com base na
forma como as palavras se relacionam nessa frase. A semântica associa significado
a uma estrutura sintática, em termos dos significados das palavras que a compõem.
O PLN é uma área de pesquisa muito vasta que envolve diversas disciplinas
do conhecimento humano. Por se tratar de um assunto complexo, nesse trabalho,
vamos abordar apenas a análise sintática de documentos com o uso de Expressões
Regulares para identificação de padrões de palavras ou numerais, Tokenização,
Stopwords, Unigramas, Bigramas e Trigramas.

Expressões regulares

Uma expressão regular, também chamada regex, é uma ferramenta de progra-


mação muito poderosa utilizada para uma variedade de propósitos como extração de
recursos de texto, substituição de palavras e outras manipulações de textos. Uma ex-
pressão regular é um conjunto de caracteres ou um padrão que é usado para localizar
partes de uma palavra em uma determinada palavra ou frase, por exemplo, extrair
todas as hashtags de um tweet ou obter id de e-mail ou números de telefone etc. de
um grande conteúdo de texto não-estruturado. Resumindo, se houver um padrão em
39

qualquer palavra, podem-se facilmente extrair, substituir e fazer várias outras opera-
ções de manipulação de textos usando expressões regulares. As expressões regula-
res estão presentes em praticamente todas as linguagens de programação populares.
Não será um exagero mencionar que, sem o conhecimento de expressões regulares,
não é possível realmente construir um sistema baseado em PLN. “Regex tem muitos
elementos e recursos importantes que ajudam a construir um sistema útil, solução de
expressões adequadas para extração ou manipulação de palavras” (NIWRATTI,
2019).

Tokenização

A tokenização, também conhecida como segmentação de palavras, quebra a


sequência de caracteres em um texto, localizando o limite de cada palavra, ou seja,
os pontos onde uma palavra termina e outra começa (PALMER, 2010). Para fins de
linguística computacional, as palavras assim identificadas são frequentemente cha-
madas de tokens. Tokenização é bem estabelecida e bem entendida para linguagens
artificias, tais como linguagens de programação (AHO et al., 2007). No entanto, tais
linguagens artificiais podem ser estritamente definidas para eliminar ambiguidades le-
xicais e estruturais. Uma diferença fundamental existe entre abordagens de tokeniza-
ção para linguagens delimitadas por espaço e abordagens para linguagens não seg-
mentadas. Nas linguagens delimitadas por espaço, tais como a maioria das lingua-
gens europeias, alguns limites de palavra são indicados pela inserção de um espaço
em branco. As sequências de caracteres delimitadas não são necessariamente os
tokens requeridos para processamento adicional devido tanto à natureza ambígua dos
sistemas de escrita como à gama de convenções de tokenização requeridas por di-
versas aplicações (PALMER, 2010). Em linguagens não segmentadas, tais como o
chinês e o tailandês, as palavras são escritas em sucessão com nenhuma indicação
de limite de palavras. A tokenização das linguagens não segmentadas, portanto, re-
quer informação lexical e morfológica adicional.
Em relação à tokenização em linguagens delimitadas por espaço, a maioria das
ambiguidades existe entre o uso de sinais de pontuação tais como ponto final, vírgu-
las, aspas, apóstrofos e hifens, uma vez que o mesmo sinal de pontuação pode servir
para diferentes funções em uma mesma sentença.
40

Stopwords

Stopwords são palavras em qualquer idioma que não acrescentam muito signi-
ficado a uma frase. Eles podem ser ignorados com segurança sem sacrificar o signifi-
cado da frase. Se temos uma tarefa de classificação de texto ou análise de sentimento,
devemos remover as palavras irrelevantes, uma vez que não fornecem nenhuma in-
formação ao nosso modelo, ou seja, manter as palavras indesejadas fora do nosso
corpus; mas, se temos a tarefa de tradução de idiomas, as stopwords são úteis, pois
devem ser traduzidas junto com outras palavras. Não existe uma regra rígida e rápida
sobre quando remover as stopwords. Alguns autores sugerem remover as stopwords
se a tarefa a ser executada for Indexação automática, classificação de idioma, filtra-
gem de spam, geração de legenda, geração de tag automática, análise de sentimento
ou algo que esteja relacionado à classificação de texto. Por outro lado, se a tarefa for
tradução automática, problemas de resposta a perguntas, resumo de texto, modela-
gem de linguagem, é mais adequado não remover as palavras irrelevantes, pois elas
são uma parte crucial desses aplicativos. (SAI TEJA, 2010)

N-gramas

Um n-grama é simplesmente uma sequência de N palavras em um texto. Se-


gundo (MOURA et al., 2010), N-grama é um elemento composto por um ou mais ele-
mentos, podendo ser visto como uma dupla de “n” termos. A representação por meio
de n-gramas pode ser aplicada a palavras ou caracteres. A ideia é representar o texto
de maneira a tentar manter o contexto o máximo possível. Por exemplo, no texto: “O
maior problema desse celular é o tamanho da tela”, podemos retirar n-gramas de nível
2, também chamados de bigramas, seriam os possíveis bigramas: (“O”, “maior”),
(“maior”, “problema”), (“problema”, “desse”), (“desse”, “celular”), (“celular”, “é”), (“é”,
“o”), (“o”,” tamanho”), (“tamanho”,” da”), (“da”,” tela”). A representação desse texto em
unigramas (N-grama de nível 1) são as próprias palavras. Da mesma forma, podemos
representá-los como n-gramas de nível 3, os trigramas: (“O”, “maior”, “problema”),
(“maior”, “problema”, “desse”), (“problema”, “desse”, “celular”), (“desse”, “celular”, “é”),
(“celular”, “é”, “o”), (“é”, “o”, “tamanho”), (“o”, “tamanho”, “da”). Isoladamente, palavras
podem aparecer em diferentes textos com diferentes sentimentos, mas um conjunto
maior de palavras se repete com menos frequência, portanto tem maior probabilidade
de manter o contexto original.
41

A representação de textos usando n-gramas perde a relevância quando o “n”


fica muito alto, isso porque quanto maior for o tamanho do n-grama mais difícil é a
repetição dele em mais de um texto, por exemplo, no caso de utilizar-se um 7-grama,
a probabilidade de outro documento apresentar o mesmo conjunto de sete palavras é
muito pequena. Dessa forma, o processamento desse conjunto de palavras não apre-
senta melhoras no desempenho do classificador. Além disso, um n-grama perde seu
objetivo principal em manter o contexto quando os seus termos são divididos por pon-
tuação, já que sinais de pontuação como vírgulas e pontos separam sentenças.
Quando escolhemos usar n-gramas para representar nossos documentos, criamos
não só os n-gramas de nível n escolhido, mas, todos os conjuntos de ordem m, em
que 0 < m < n. Portanto, n-gramas são usados para uma variedade de tarefas diferen-
tes. Ao desenvolver um modelo de linguagem, n -gramas são usados para desenvolver
não apenas modelos de unigrama, mas também modelos de bigrama e trigrama. Em-
presas como Google e a Microsoft desenvolveram modelos de n gramas em escala
da web que podem ser usados em uma variedade de tarefas, como correção ortográ-
fica, quebra de palavras e resumo de texto. A ideia é usar tokens como unigramas e
bigramas no processamento de documentos para reduzir o conteúdo desses docu-
mentos, selecionado os termos mais relevantes, estruturar esses termos para agilizar
sua busca e localização.

2.2.2 Coocorrência em documentos

Coocorrência de documentos é uma matriz matemática de documento e termos


que descreve a frequência dos termos que ocorrem em uma coleção de documentos.
Em uma matriz documento-termo, as linhas correspondem aos documentos na cole-
ção e as colunas correspondem aos termos. Existem vários esquemas para determi-
nar o valor de cada entrada na matriz. Um desses esquemas é TF-IDF (frequências
de termo e frequências inversas de documentos). Muito usado no campo do proces-
samento de linguagem natural, com TF-IDF, podemos criar um agrupamento de do-
cumentos que é uma técnica não supervisionada para organizar documentos automa-
ticamente em uma lista de categorias significativas, com base em sua semelhança, e,
assim, descobrir os agrupamentos naturais do conjunto de documentos para facilitar
a organização e a navegação do documento. No geral, o agrupamento de documentos
42

é dividido em três etapas: representação de documento, cálculo de similaridade e aná-


lise de agrupamento. Com eles podemos construir uma base de alta qualidade de
representação de documentos, que é fundamental para a etapa coocorrência de do-
cumentos. Uma das representações clássicas de um documento é o “Saco de Pala-
vras” (BOW – Bag of Words), uma técnica de extração de termos de um texto para
uso em algoritmos de aprendizado de máquina, é simples de entender e implementar.
Considerando-se o exemplo dos documentos abaixo, podemos fazer uma aná-
lise dos termos e uma representação visual da ocorrência dos termos nos documen-
tos:

DOC01 - Pedido de Férias


Texto: O Funcionário Edes Gomes da Costa, portador do CPF 815.405.741-72,
solicita férias do dia 01/11/2019 até 20/11/2020.
Termos: Funcionário, Edes, Gomes, Costa, portador, CPF, 815.405.741-72, so-
licitado, férias, 01/11/2019, 20/11/2020.

DOC02 - Contrato de Trabalho


Texto: Contrato de trabalho de Edes Gomes da Costa, CPF 815.405.741-72,
cargo Gerente de T.I, com data de Início em 10/02/2014
Termos: Contrato, trabalho, Edes, Gomes, Costa, CPF, 815.405.741-72, cargo,
Gerente, T.I, data, Início, 10/02/2014

DOC03 - Comunicado Interno


Texto: Edes Gomes da Costa, portador do CPF 815.405.741-72, assumiu o
cargo de Gerente de T.I em 10/02/2014 com o intuito de...
Termos: Edes, Gomes, Costa, portador, CPF, 815.405.741-72, assumiu, cargo,
Gerente, T.I, 10/02/2014, intuito

A Matriz de documentos (Quadro 3) ajuda a identificar os termos de cada do-


cumento criando uma representação dos termos em comum entre os documentos. No
quadro, cada linha representa um documento e os valores 0 e 1 indicam, respectiva-
mente, a ausência ou presença do termo no documento.
43

Quadro 3 – Matriz de Documentos

Fonte: Elaborada pelo autor

No exemplo acima, podemos inferir que os documentos “Pedido de Férias”,


“Contrato de Trabalho” e “Comunicado Interno” fazem referência à mesma pessoa,
conforme apresentado no Quadro 3, em que os termos 2,3, 4, 6 e 7 estão presentes
em todos os documentos. Na Figura 5 é apresentado o conjunto de documentos re-
cuperados e identificado o conjunto termos de cada documento. Na sequência são
destacados os termos comuns entre os documentos e sua relação através da coocor-
rência dos termos.

Figura 5 – Relacionamento entre termos

Fonte: Elaborada pelo autor


44

3 O ESTADO DA PRÁTICA EM SISTEMAS DE GESTÃO ELETRÔNICA


DE DOCUMENTOS

O GED é descrito como uma tecnologia de um sistema ECM (Enterprise Con-


tent Management) ou Sistema de Gerenciamento de Conteúdo, que é uma plataforma
mais robusta, focada não apenas nos documentos de uma empresa, mas em todos
os conteúdos produzidos. As soluções de ECM permitem que uma empresa aproveite
totalmente as informações e o conhecimento corporativo incorporado em seu conte-
údo. Elas capturam, processam, analisam e armazenam o conteúdo gerando um novo
valor para dados que anteriormente estavam desestruturados e indisponíveis (IBM,
2020).
A seguir são apresentadas algumas das soluções mais utilizadas no mercado
global.

− OpenText ECM Suite: É baseado na arquitetura orientada a serviços. Esses ser-


viços servem como base da estrutura de gerenciamento de conteúdo e incluem
programas como o OpenText Enterprise Connect, que torna o conteúdo comer-
cial acessível por meio de aplicativos de desktop; OpenText Enterprise Process
Services, um conjunto de serviços de processos de negócios que ajudam a au-
tomatizar o conteúdo de negócios; e OpenText Enterprise Library Services, que
fornece repositório central para aplicar e gerenciar informações cruciais.
− OnBase: É uma plataforma para agilizar processos e reduzir custos, capturando
informações importantes e depositando-as em um único sistema; gerenciando
dados, documentos e processos; integrando-se aos sistemas já instalados; ofe-
recendo acesso imediato a quem precisa; proporcionando transparência sobre o
desempenho dos processos e do sistema; armazenando, protegendo e destru-
indo as informações de forma segura.
− IBM ECM: Essa plataforma de gerenciamento de conteúdo corporativo é uma
base compartilhada que entrega conteúdo transacional e comercial para pes-
soas, processos e dispositivos. Ele oferece suporte a centenas de tipos de con-
teúdo com recursos de governança e segurança. Líder de mercado, ela atende
às demandas de organizações de departamentos a empresas em todo o mundo.
As soluções de plataforma de gerenciamento de conteúdo corporativo da IBM
45

fornecem uma base sólida necessária para gerenciar conteúdo onde ele é cri-
ado, onde e quando for necessário, podendo ser implantado na nuvem, no local
ou híbrido.
− Alfresco: É um dos softwares de gestão eletrônica de documentos mais popular
do mundo. Como uma plataforma de ECM, destaca-se como solução de auto-
matização dos processos documentais de uma empresa, reduzindo custos, fo-
mentando a colaboração e garantindo resiliência a todos os documentos forne-
cidos pelos colaboradores. Permite integração com suíte de documentos como
o LibreOffice ou outras, garantindo um aumento de produtividade. Construído em
tecnologia Java, é código aberto. Para o Alfresco, abrir significa um compromisso
com padrões abertos e transparência de produto – que governam por uma pla-
taforma robusta que pode ser o centro de conteúdo em qualquer organização
moderna. Arquitetonicamente, o Alfresco é separado em três camadas: dados,
serviços e apresentação. Cada camada é dimensionada individualmente, o que
permite grandes repositórios de conteúdo com centenas de milhões de objetos
gerenciados. A camada de dados consiste em um banco de dados e armazena-
mento de arquivos. O núcleo do Alfresco é o nível de serviço. Ele contém todas
as funcionalidades do ECM junto com recursos para integração e envio de do-
cumentos. O Alfresco fornece uma camada de apresentação chamada 'Share',
que é uma interface de usuário da web para gerenciamento de documentos e
colaboração. Junto com o Share, há também integrações com interfaces de usu-
ário de terceiros, como MS Office, Google Drive e aplicativos de e-mail (AL-
FRESCO, 2014).
− Documentium By EMC – é um software de Enterprise Content Management
(ECM) usado para armazenar conteúdo de uma empresa em repositórios segu-
ros. Junto com as unidades de armazenamento, também oferece facilidade de
uso para controlar e organizar todos os arquivos digitais, podendo editar, consul-
tar, compartilhar, utilizar ou recuperar facilmente qualquer informação importante
de qualquer lugar e a qualquer hora que desejar. Além disso, também ajuda a
tornar os documentos protegidos de fatores de risco externos e internos. O Do-
cumentum oferece uma abordagem holística de soluções ECM com funcionali-
dades essenciais que incluem gerenciamento de documentos, gerenciamento de
processos de negócio, gerenciamento de registros, gerenciamento de retenção,
46

colaboração, gerenciamento de conteúdo Web e gerenciamento de ativos digi-


tais. Ao contrário de outras soluções de gerenciamento de conteúdo corporativo,
os usuários podem ampliar o Documentum ainda mais e suprir suas necessida-
des de ECM de ponta a ponta integrando com outras soluções de mercado (SA-
VARAM, 2020).
− SharePoint: Lançado pela primeira vez em 2001, o SharePoint é uma plataforma
de ECM que se integra ao Microsoft Office. Com milhões de usuários em todo o
mundo, o SharePoint foi projetado como um sistema de armazenamento e ge-
renciamento de conteúdo com uma plataforma altamente con figurável. Existem
vários módulos do SharePoint, cada uma com funções diferentes. O SharePoint
não é um único programa de software. É essencialmente uma plataforma na qual
vários programas podem ser executados. É um sistema de back-end que co-
necta PCs e dispositivos móveis em uma empresa, permitindo que os funcioná-
rios se comuniquem e colaborem com facilidade. Flexível e configurável para
atender às necessidades da empresa, o SharePoint pode ser usado para criar
sites, armazenar e organizar documentos e informações, possibilitando o acesso
e compartilhamento dessas informações, pode ser acessado de qualquer dispo-
sitivo, desde que você tenha um navegador instalado, é compatível com PCs,
Macs e dispositivos móveis. O SharePoint é totalmente personalizável e pode
ser customizado para cada empresa (CHEEKYMUNKEY, 2020).

Embora as soluções destacadas apresentem todos os recursos necessários


para a gestão de documentos (Figura 4), não foi possível avaliar todas as funcionali-
dades existentes em cada uma delas, assim como não foi possível identificar nas fa-
ses de indexação de recuperação de conteúdo como são realizadas essas tarefas.
Destaca-se que algumas delas exploram o conceito de extração de conteúdo, porém
não apresentaram nenhuma evidência sobre como como são feitos ou quais são seus
recursos de extração de conteúdo; nenhuma delas abordou recurso com coocorrência
ou relacionamento entre documentos.
47

4 ASPECTOS METODOLÓGICOS

Como metodologia foi utilizado o “Design de Interação” proposto por Rogers,


Sharp e Preece (2013)4.
Design de Interação consiste em “projetar produtos interativos para apoiar o
modo como as pessoas se comunicam e interagem em seus cotidianos, seja em casa
ou no trabalho”. Isso significa que os produtos interativos existem para criar experiên-
cias positivas para os usuários e ampliar a maneira como as pessoas o utilizam, co-
municam-se e interagem. Para os autores, o Design de Interação engloba teoria, pes-
quisa e prática no design de experiências de usuário para todos os tipos de tecnolo-
gias sistemas e produtos. As autoras sugerem que esse processo pressupõe quatro
etapas que se inter-relacionam: (1) “Estabelecer requisitos”; (2) “Design de alternati-
vas”; (3) “Prototipar” e; (4) “Avaliar o design”, conforme Figura 6.

Figura 6 – “Design de Interação

Estabelecer Design de
requisitos alternativas

Avaliar o
Prototipar
design

Fonte: Rogers, Sharp e Preece (2013)

Durante o projeto, essas etapas devem complementar umas às outras e serem


repetidas. Envolver os usuários durante as etapas de design torna-se imprescindível
para criar soluções condizentes e identificar mudanças que ainda não foram realiza-
das ou requisitos que não foram atendidos, e é nesta relação que o design participa-
tivo e o contexto da experiência do usuário estão inseridos:

− Estabelecer Requisitos: é a etapa de identificação das reais necessidades dos


usuários. Para isso, os designers devem ter acesso a um conjunto de usuários

4 Esta parte introdutória do capítulo tem como ref erência única o trabalho de Rogers, Sharp e Preece
(2013).
48

que represente o público-alvo do sistema. Contudo, isso não significa apenas


perguntar ao usuário o que ele precisa já que muitas vezes o usuário é incapaz
de imaginar todas as possíveis soluções para o seu problema. O Designer deve
começar fazendo uma análise da situação atual, identificando e interpretando os
elementos envolvidos, o objetivo e os interesses dos usuários, e as possibilida-
des e limitações da tecnologia, dos custos e dos recursos disponíveis. Ou seja,
o designer deve entender e especificar o contexto do uso. As características dos
usuários, as tarefas e o ambiente organizacional, técnico e físico os quais defi-
nem o contexto em que o sistema é utilizado. “Focar nos objetivos das pessoas
e nas metas de usabilidade e de experiência de usuário é uma abordagem mais
promissora para o design de interação do que se concentrar nas necessidades
das pessoas e esperar que elas sejam capazes de nos dizer os requisitos de um
produto”. Finalmente, são estabelecidos os requisitos dos usuários, aqueles de-
vem focar no que os usuários precisam alcançar, e não como.
− Design de Alternativas: mais de uma solução deve ser elaborada e proposta aos
usuários através de alguma representação do sistema. É o mesmo que projetar
alternativas, ou seja, sugerir soluções que satisfaçam os requisitos e os usuários.
Nesse ponto, algum tipo de design conceitual pode ser usado: descrição textual
das interações do sistema (cenários), descrição dos casos de uso, uso de simu-
lações, de maquetes e de esboços de interface (desenhos de tela) que podem
levar em consideração questões e detalhes físicos do produto como cores, de-
sign do menu etc. A escolha de uma alternativa de design entre várias no Design
de Interação deve ser feita observando-se os usuários interagindo com o pro-
duto, discutindo suas preferências, experiências e escutando suas sugestões.
Observa-se, então, que o design conceitual a ser testado deve ser de fácil com-
preensão pelos usuários, tanto em relação ao seu manuseio quanto em relação
ao linguajar empregado. Outros critérios utilizados para escolher entre alternati-
vas são as métricas de usabilidade do sistema e a viabilidade técnica.
− Prototipar: é produzir uma versão interativa da solução que simula o funciona-
mento da interface para facilitar a avaliação dos usuários em relação ao sistema.
A representação é importante para que ambos, o designer e o usuário, possam
verificar se a solução realmente atende aos objetivos e se está claro o que se
desejava conceber. Assim, as soluções de projeto tornam-se mais concretas.
Várias intervenções na representação podem ser feitas até que uma solução
49

satisfatória seja encontrada. Através de uma representação do sistema que o


usuário entenda, por exemplo, os protótipos, os usuários podem “reagir às pro-
postas, fornecer feedback informativo, levantar novas questões e participar ati-
vamente das discussões acerca das soluções propostas. Mas, esses protótipos
podem e devem ser desenvolvidos rapidamente e com baixo custo para não afe-
tarem o cronograma e o orçamento do sistema de forma significativa. Sendo as-
sim, eles podem ser de baixa fidelidade, porém devem apresentar a Interação
Humano-Computador. Além disso, é importante que sejam utilizados dados para
que os testes sejam os mais reais possíveis. A realização de testes nos protóti-
pos pelos usuários deve ser observada. A partir dessa observação, os designers
podem detectar as dificuldades encontradas pelos usuários ao usar o sistema ou
ainda perceber pontos de melhorias. Assim, uma nova versão da interface pode
ser elaborada. Sendo um processo iterativo, as tarefas de design, protótipo e
avaliação são repetidas até que se atinja um design satisfatório.
− Avaliar o Design: a avaliação centrada no usuário deve priorizar características
relacionadas ao uso do sistema e não à sua construção. Ou seja, o foco é na
experiência do usuário ao usar o sistema. A avaliação deve ocorrer durante todo
o processo de desenvolvimento do software e não somente no produto pronto.
Contudo, na coleta de dados de uso após a colocação do sistema em produção,
podem-se detectar problemas não visualizados ou ainda funcionalidades neces-
sárias que facilitariam o uso do sistema, fornecendo insumos de entrada para
versões futuras do produto, sistema ou serviço. Nos estágios iniciais do desen-
volvimento e do projeto, as mudanças são relativamente baratas. Em fases mais
avançadas do desenvolvimento do sistema, maior o custo das alterações. A usa-
bilidade, aceitabilidade do produto e a experiência do usuário devem ser avalia-
das nessas diversas etapas do desenvolvimento. Alguns critérios poderiam ser:
número de erros cometidos pelos usuários ao usá-lo, facilidade de uso, adequa-
ção aos requisitos e verificação se a finalidade do produto foi atendida. As solu-
ções de design devem ser alteradas de acordo com as respostas dadas pela
avaliação e feedback dos usuários.
Essas etapas devem ser feitas de maneira interativa, iterativa (em um número
variado de vezes) e o uso de protótipos se faz necessário para entendimento e aper-
feiçoamento do que o usuário deseja. A iterativa permite ao designer entender melhor
o problema e refinar a solução a cada iteração. Ter um processo iterativo significa que
50

as tarefas se repetem até que a solução encontrada seja satisfatória. Além disso, elas
estão interligadas. Por exemplo, os protótipos podem auxiliar na avaliação de alterna-
tivas de design diferentes, inclusive reavaliando os requisitos. Além disso, as ativida-
des de Design Centrado no Usuário devem ser planejadas e integradas em todas as
fases do ciclo de vida do produto, ou seja, a concepção, análise, projeto, implementa-
ção, teste, manutenção e em produção.

4.1 CLASSIFICAÇÃO DA PESQUISA

Considera-se, neste trabalho, duas abordagens, a saber, a Pesquisa Explora-


tória e a Pesquisa Qualitativa:

− Pesquisa Exploratória: Este tipo de pesquisa objetiva obter maior familiaridade


com o problema (GIL, 2008), tornando-o mais compreensível e buscando o apri-
moramento de ideias e/ou descoberta de intuições. Para obtenção de maior co-
nhecimento do tema proposto, foi conduzida uma revisão ad-hoc da literatura,
como forma de descrever os conceitos e termos geralmente empregados sobre
a análise do tema proposto. O escopo desta pesquisa envolveu , como técnica
de pesquisa: a condução de uma Revisão Sistemática da Literatura com o obje-
tivo de identificar, analisar e interpretar as evidências empíricas da literatura
(KITCHENHAM, 2007); e o levantamento documental de empresas privadas nos
seguimentos de educação, finanças e comercial.
− Pesquisa Quantitativa: Este tipo de pesquisa objetiva quantificar os resultados
obtidos. Considera-se que, na pesquisa quantitativa, a amostra coletada repre-
senta o resultado real de toda a população envolvida no estudo (FONSECA,
2002). Em relação à sua natureza, classifica-se como pesquisa aplicada, “este
tipo de pesquisa tem como objetivo gerar conhecimentos para aplicação prática,
dirigidos à solução de problemas específicos” (GERHARDT E SILVEIRA, 2009).

4.2 ETAPAS DA PESQUISA

Baseado no modelo de Design de Interação (ROGERS, SHARP, PREECE,


2013), o próximo capítulo apresenta detalhadamente o método de pesquisa utilizado
51

durante a condução da pesquisa, com o intuito de aumentar a confiabilidade dos re-


sultados alcançados e permitir a outros pesquisadores a utilização desta pesquisa.
Um método de pesquisa é definido como a sequência de passos necessários para
demonstrar que o objetivo da pesquisa proposto foi alcançado (WAZLAWICK, 2009,
pp. 40-45). Dessa forma, ao executar as etapas descritas no método serão obtidos
resultados.
52

5 PROPOSTA DE SOLUÇÃO

Como visto anteriormente, a proposta do Design de Interação tem como refe-


rência as seguintes etapas (ROGERS, SHARP, PREECE, 2013): Estabelecer requisi-
tos, Design de alternativas, Prototipar e Avaliar o design. A seguir, essas serão segui-
das para a nossa proposta de solução.

5.1 ESTABELECER REQUISITOS

Nesta etapa do processo, foram realizados o levantamento e a identificação


dos principais tipos documentais de algumas empresas privadas nos seguimentos de
educação, finanças e comércio. O corpus de documentos coletado consiste em uma
amostra de documentos em que identificou-se que os administrativos e financeiros
representam, em média, 70% dos documentos identificados. O processo de coleta dos
documentos se deu por meio de extração de informações em banco de dados de do-
cumentos já categorizados e levantamento de documentos físicos armazenados no
arquivo físico.
Por meio da análise dos documentos, foi feita a Identificação dos Critérios de
Indexação Automática, subdividida em dois estágios: (i) Levantamento dos documen-
tos existentes nas empresas; e (ii) Levantamento dos principais campos-chave para
servir de indexadores para extração automática nos documentos existentes.

Levantamento dos principais tipos documentais

O Levantamento dos tipos documentais recorre a fontes mais diversificadas e


dispersas, sem tratamento analítico, tais como: documentos financeiros, fiscais, docu-
mentos pessoais, documentos estatísticos, relatórios, documentos internos (memo-
rando, atas) etc.
A pesquisa documental é um tipo de pesquisa que utiliza fontes primárias, isto
é, dados e informações que ainda não foram tratados científica ou analiticamente, e
tem o objetivo específico de identificar o maior número de tipos documentais possível.
Os documentos analisados, atuais ou antigos, podem ser utilizados para contextuali-
zação histórica, cultural, social e econômica em determinado momento da história da
53

organização. Por essa razão, é um tipo de pesquisa utilizado pois permite fazer aná-
lises qualitativas sobre as informações de uma organização.
Conforme apresentado na Figura 7, em uma análise preliminar, os documentos
financeiros são os mais produzidos e armazenados nas empresas pesquisadas. A
partir dessas informações, propomos neste trabalho a extração automática de índices
já conhecidos como CNPJ, CFP, Datas e Valores, E-mails, Numerais (Número de No-
tas Fiscais, Número de documentos internos etc.), consequentemente, combinando-
os com o maior número de vezes em que esses índices são localizados em outros
documentos.

Figura 7 – Levantamento de Tipos Documentais

TIPOS DOCUMENTAIS
COMPROVANTE DE PAGAMENTOS 853.417
DOCUMENTOS PESSOAIS 762.473
NÃO CLASSIFICADOS 710.445
FICHA DE INSCRIÇÃO 564.152
NOTAS FISCAIS 492.753
PRONTUARIOS MÉDICOS 418.422
CONTRATOS 307.054
BOLETO BANCÁRIO 162.951
DIPLOMA 76.632
CONSULTAS 66.538
EXTRATO BANCARIOS 47.328
CERTIDÕES 45.001
PROPOSTAS 39.317
EXTRATO DE CARTAO 35.071
CONTRA-CHEQUE 32.549
PROCESSO JUDICIAL 25.252
DOSSIÊ ACADÊMICO 24.728
COPIA DO CHEQUE 23.015
CPF 18.979
DOCUMENTO DE IDENTIFICAÇÃO 16.394
COTAÇÕES 16.265
RECIBO DE PAGAMENTO 16.145
HISTORICO ESCOLAR 10.982
- 100.000 200.000 300.000 400.000 500.000 600.000 700.000 800.000 900.000

Fonte: Elaborada pelo autor


54

Levantamento dos principais índices

Identificados os principais tipos documentais, optou-se por utilizar em uma pri-


meira abordagem o uso de expressões regulares para identificadores conhecidos. Es-
ses identificadores estão na maioria dos documentos levantados e muitas vezes são
desprezados por não terem uma frequ ência muito alta.
Expressão regular é uma sequência de caracteres de texto que permite criar
padrões que ajudam a corresponder, localizar e extrair texto de um documento. Prati-
camente todas as linguagens de programação utilizam expressões regulares. Expres-
sões regulares também podem ser usadas na linha de comando e em editores de
texto para localizar texto em um arquivo.
Ao utilizar expressões regulares, os domínios das expressões podem economi-
zar milhares de horas, se você trabalhar com texto ou precisar analisar grandes quan-
tidades de dados. Podemos utilizar expressões regulares com cada um de seus com-
ponentes rotulados.
Ao descrever uma sintaxe para expressões regulares usamos na estrutura os
símbolos «» para indicar uma parte que deve ser fornecida na expressão. Por exem-
plo, a referência a um grupo tem a sintaxe \«n» onde «n» é o número do grupo a ser
recuperado. Os sinais «» não fazem parte da sintaxe, então a referência ao terceiro
grupo escreve-se como \3. De modo semelhante, a sintaxe de quantificador moderado
é «q»?, onde «q» é qualquer quantificador, como * em *? ou {1,3} no caso de {1,3}?.
A expressão “\d{5}-\d{3}” é uma definição padrão de um CEP como 05432-001,
o CEP está estruturado com as seguintes regras: 5 dígitos, um - (hífen) e mais 3 dígi-
tos. A sequência \d é um “metacaractere”, um curinga que obriga que a sequência
definida dentro das {}(chaves) seja de valores numéricos com os dígitos de (0 a 9). A
sequência {5} é um quantificador: indica que o padrão precedente deve ser repetido 5
vezes, portanto \d{5} é o mesmo que \d\d\d\d\d ou 05432 no exemplo especificado,
dessa forma são definido as regras para o restante do CEP .
Um “metacaractere” é um caractere ou sequência de caracteres com signifi-
cado especial em expressões regulares. Os metacaracteres podem ser categorizados
conforme seu uso.
55

− Especificadores – especificam o conjunto de caracteres a se encaixar em uma


posição (Quadro 4);
− Quantificadores – definem o número permitido de repetições da expressão regu-
lar precedente (Quadro 5);
− Âncoras – Estabelecem posições de referência para o casamento do restante da
regex. Note que estes metacaracteres não casam com caracteres no texto, mas
sim com posições antes, depois ou entre os caracteres (Quadro 6);
− Agrupamento – Definem ou grupos ou alternativas (Quadro 7).

Quadro 4 – Especif icadores de expressões regulares

Metacaractere Conhecido como Significado


Qualquer caractere, exceto a quebra de linha \n (ver
. curinga
flag_dotall)
[...] conjunto Qualquer caractere incluído no conjunto
[^...] conjunto negado Qualquer caractere não incluído no conjunto
\d Dígito (Numérico) O mesmo que [0-9]
\D não-dígito O mesmo que [^0-9]
Espaço, quebra de linha, tabs etc.; o mesmo que
\s branco
[\t\n\r\f \v]
\S não-branco O mesmo que [^\t\n\r\f \v]
O mesmo que [a-zA-Z0-9_] (mas pode incluir caracteres
\w alf anumérico
Unicode; ver flag_unicode)
\W não-alf anumérico O complemento de \w
Anula o signif icado especial do metacaractere seguinte;
\ escape por exemplo, \. representa apenas um ponto, e não o cu-
ringa

Quadro 5 – Quantif icadores de expressões regulares

Metacaractere Significado
{n} Exatamente n ocorrências
{n,m} No mínimo n ocorrências e no máximo m
{n,} No mínimo n ocorrências
{,n} No máximo n ocorrências
? 0 ou 1 ocorrência; o mesmo que {,1}
+ 1 ou mais ocorrência; o mesmo que {1,}
* 0 ou mais ocorrência
«q»? Modera qualquer um dos quantif icadores acima (ver Gula × moderação)
56

Quadro 6 – Âncoras de expressões regulares

Metacaractere Significado
^ Início do texto, ou de uma linha com o f lag re.MULTILINE
\A Início do texto
Fim do texto, ou de uma linha com o f lag re.MULTILINE; não captura o \n no f im
$
do texto ou da linha
\Z Fim do texto
Posição de borda, logo antes do início de uma palavra, ou logo depois do seu
\b
término; o mesmo que a posição entre \W e \w ou vice-versa
\B Posição de não-borda

Quadro 7 – Agrupamento de expressões regulares

Metacaractere Significado
def ine um grupo, para ef eito de aplicação de quantif icador, alternativa ou de
(...)
posterior extração ou reuso
...|... alternativa; casa a regex à direita ou à esquerda
\«n» recupera o texto casado no n-ésimo grupo

5.2 DESIGN DE ALTERNATIVAS

Para o processo de extração automática de índices, foram definidas etapas se-


guindo modelos de processos de mineração de textos, aqui divididos em duas: (i) De-
finição da Arquitetura da Solução; e (ii) Definição dos critérios de coocorrência entre
os documentos”
57

Definição da arquitetura da solução

Como proposta de solução foi sugerido a arquitetura da solução de acordo com o fluxo
apresentado na Figura 8.
Figura 8 – Arquitetura da Solução

Fonte: Elaborada pelo autor

A figura representa a metodologia proposta para a indexação automática de


documentos, incluindo as etapas do processo e a sequência a ser executada levando
em consideração a etapa anterior.
58

Etapa 1 - Seleção de Documentos

Nessa etapa, os documentos relacionados com o domínio da aplicação final


são coletados. Na maioria das vezes, isso é feito automaticamente. Aqui também de-
finimos os índices que serão tratados por expressões regulares. Baseado no volume
de documentos identificados, foram selecionados, para o teste de hipótese, documen-
tos administrativos e financeiros. Esses documentos representam certa de 70% dos
documentos produzidos e, consequentemente, os documentos com maior necessi-
dade de localização e análise. De acordo com os tipos documentais, foram definidas
as expressões regulares que podem ser usadas para extração automática dos índices
dos documentos selecionados. Essas regras de expressões regulares foram basea-
das em estruturas e máscaras pré-definidas. Dessa forma, podemos extrair dos docu-
mentos campos como CNPJ, CPF, Datas, Valores, E-mails e números em geral, con-
forme a Quadro 8. Entretanto, podem ser adicionadas outras expressões, de acordo
a necessidade de cada projeto.
59

Quadro 8 – Def inição de índices e suas expressões regulares

Índice Definição do Campo Expressão Regular


CNPJ A sigla CNPJ signif ica Cadastro Nacional de Pessoa Jurídica, que é um código identif icador de pessoas d{2}\.?d{3}\.?d{3}\/?d{4}\-?d{2}
jurídicas e equiparadas. Esse código é único em um cadastro em que todas as pessoas jurídicas e as pessoas Ex: 99.999.999/9999-99
equiparadas (pessoas f ísicas que atuam individualmente em atividades que geram recursos) precisam 99999999999999
obrigatoriamente se cadastrar antes de iniciar as suas atividades
https://www.gov.br/receitaf ederal/pt-br [consultado em 20-11-2020]
CPF O CPF é o Cadastro de Pessoa Física. Ele é um documento f eito pela Receita Federal e serve para identif icar d{3}\.?d{3}\.?d{3}\-?d{2}
os contribuintes. O CPF é uma numeração com 11 dígitos Ex: 999.999.999-99
https://www.gov.br/receitaf ederal/pt-br [consultado em 20-11-2020]
DATA Indicação de ano, mês e dia em que se realizou algum f ato, a f ormatação padrão universal é AAAA-MM-DD, d{2}\/\d{2}\/\d{4}
em que AAAA é o Ano, MM é o Mês e DD é o Dia Ex: 20/11/2021
No Brasil, a f ormação é DD/MM/AAAA (Dia, Mês e Ano). d{2}\-\d{2}\-\d{4}
Podemos encontrar outros padrões de f ormatação como DD-MM-AAAA ou por extenso Ex.: 20 de Novembro Ex: 20-11-2021
de 2020 ([0-9]{1,2}\s+d\s?e?\s+\&?\&?[a-zà-ü]{4,9}\s+de\s+[0-
9]{4}\,?\s?([àa]s\s+)?\&?\&?[0-9]{2}(:|h|h:)[0-9]{2})
Dicionário Priberam da Língua Portuguesa https://dicionario.priberam.org/data [consultado em 20-11-2020].
Ex: 20 de Novembro de 2020
Moeda Uma moeda é uma f orma de dinheiro normalmente emitida pelas autoridades públicas numa determinada ^R\$(\d{1,3}(\.\d{3})*|\d+)(\,\d{2})?$
jurisdição. Tem três f unções – é uma unidade de conta, uma reserva de valor e um meio de troca. O que lhe R$ 123.123,11
permite f azê-lo é o f ato de empresas e lares a aceitarem para pagamento de dívidas.
https://capital.com/pt/moeda-conversao-de-moeda-def inicao [consultado em 20-11-2020]
E-mail Correio eletrônico, ou simplesmente e-mail (abreviatura de eletronic mail), é uma f erramenta que permite /^[a-z0-9.]+@[a-z0-9]+\.[a-z]+\.([a-z]+)?$/
compor, enviar e receber mensagens, textos, f iguras e outros arquivos através da Internet. É um modo Ex: edesgomes@gmail.com
assíncrono de comunicação, ou seja, independe da p resença simultânea do remetente e do destinatário da
mensagem, sendo muito prático quando a comunicação precisa ser f eita entre pessoas que estejam muito
distantes, em dif erentes f usos horários.
http://www.virtual.uf c.br/cursouca/modulo_web2/parada_01/para_saber_mais/dif erenca.htm [consultado em
20-11-2020]
Nr de Notas Número Identif icador de uma Nota Fiscal ou valores com dígito verif icador separados por “-” traço (?=.*\d)[0-9]{3,}\-\d{1,}
Fiscais
Nr de Boleto Número Identif icador da linha digitável de boletos de cobrança \d{5}\.\d{5} \d{5}\.\d{6} \d{5}\.\d{6} \d \d{1,}
Bancário Ex.: 00000.00000 00000.000000 00000.000000 0 0000000000
Campos Qualquer valor que seja def inido no documento sem uma máscara específ ica e com no mínimo 3 dígitos. (?=.*\d)[0-9]{3,}
Numéricos Ex.: Número de uma nota f iscal: 0000234
60

Etapa 2 - Preparação dos Dados

A preparação dos dados é a etapa do processo em que é realizada a extração


do conteúdo dos documentos selecionados e a transformação desse conteúdo em
textos passíveis de tratamentos. Documentos de várias origens e nos mais variados
formatos podem ser coletados. No entanto, para que o processo “Preparação do Da-
dos” seja realizado, esses documentos são convertidos para um formato padrão (ge-
ralmente o formato TXT) e armazenados em uma base de texto. Na preparação dos
dados, pode haver ainda a necessidade do processamento de OCR (Optical Character
Recognition), uma tecnologia para reconhecer caracteres a partir de um arquivo de
imagem. É comum que muitos documentos possam ter sido digitalizados (convertidos
da mídia física “Papel” para a mídia digital “Imagem”) e seu armazenamento está em
uma imagem do documento original.
Finalizada a extração do conteúdo do documento, é aplicado o tratamento dos
dados, agora em formato textual. O tratamento de dados ocorreu em quatro etapas,
conforme mostrado na Figura 9.

Figura 9 – Processo de Tratamento dos Dados

1. Remoção de caráteres especiais – retirada do texto de pequenos conteúdos que


podem ser desconsiderados sem causar impacto na estrutura do texto.
Ex.: |!@#$%¨&*()_+.,;/?^~´`[]{};
2. Remoção de acentuação – a remoção de acentos das palavras não tem grande
impacto, uma vez que, ao fazê-la, a compreensão da palavra mantém-se e essa
poderá ser agrupada com outras palavras com a mesma escrita, porém com sig-
nificados diferentes.
Ex.: “áéíóúàèìòùâêîôûãõäëïöüçñÿýÁÉÍÓÚÀÈÌÒÙÂÊÎÔÛÃÕÄËÏÖÜÇÑŸÝ”
61

3. Transformação do conteúdo em letras minúsculas – é prática comum converter


todo o texto em letras minúsculas. Esta conversão permite que todas as palavras
sejam compreendidas igualmente e não apresentem duplicidade de palavras por
estarem escritas em maiúsculas e minúsculas.
4. Definição da codificação dos dados – por padrão, na língua portuguesa, utiliza-
se a codificação UTF-8. UCS Transformation Format 8 é a codificação de carac-
teres mais comum da World Wide Web. Cada caractere é representado de um a
quatro bytes. UTF-8 é compatível com versões anteriores do ASCII e pode re-
presentar qualquer caractere Unicode padrão. Os primeiros 128 caracteres UTF-
8 correspondem exatamente aos primeiros 128 caracteres ASCII (numerados de
0 a 127), o que significa que o texto ASCII existente já é UTF-8 válido. Todos os
outros caracteres usam de dois a quatro bytes. Cada byte tem alguns bits reser-
vados para fins de codificação. Como caracteres não ASCII requerem mais de
um byte para armazenamento, correm o risco de serem corrompidos se os bytes
forem separados e não forem recombinados (MOZILLA, 2021).

Dessa forma, o tratamento de dados e o conteúdo dos documentos foram pa-


dronizados e estão prontos para a etapa Indexação.

Etapa 3 - Indexação e Normalização

A indexação é um dos processos responsáveis por representar os assuntos de


um documento. Por meio de termos, o conteúdo temático do documento é represen-
tado, sendo que estes servirão como pontos de acesso, mediante os quais um registro
será localizado e recuperado no momento da busca. O processo de indexação auto-
mática se assemelha ao processo de leitura-memorização humano, segundo Robredo
(1982). Essa relação deve ser previamente estabelecida e o resultado dessa compa-
ração conduz, por eliminação, a considerar que as palavras restantes do texto são
palavras significativas. Dessa forma, a indexação pode ser considerada um “parser”
(conversão) que identifique as palavras mais relevantes e presentes nos documentos,
eliminando os símbolos e caracteres especiais ou outras informações desnecessárias
para a análise dos documentos. Pansani Junior e Ferneda (2016) argumentam que o
processo de indexação por atribuição automática envolve maior complexidade. Esco-
62

lher termos que representem um determinado documento requer uma análise do con-
texto, operação subjetiva difícil de ser automatizada. No entanto, pode-se criar um
conjunto de regras sequenciadas que possibilitam a extração automática de termos
de um conjunto de documentos e armazenando esses termos e seus relacionamentos
entre esses documentos a fim de criar uma base de dados para pesquisas.

Os sistemas baseados em indexação por extração automática realizam, basi-


camente, as seguintes tarefas:

1. Contar palavras num texto;


2. Cotejá-las com uma lista de palavras proibidas;
3. Eliminar palavras não significativas (artigos, preposições, conjunções etc.); e
4. Ordenar as palavras de acordo com sua frequência.

Para tanto, são utilizados algoritmos de aprendizado de máquina e técnicas de


“text mining” com o objetivo de extrair a partir dos documentos pré-processados, os
principais termos para a aplicação de regras de associação, relações, segmentação,
entre outros. As etapas, conforme descritas na Figura 10, são:

Figura 10 – Processo de Indexação e Normalização

Fonte: Elaborada pelo autor

Remoção de Stopwords
63

Essa fase envolve a eliminação de palavras que não devem ser consideradas
no contexto do documento. Algumas regras podem ser aplicadas aos documentos
como remoção de caracteres especiais, acentuação, pontuação, números e a retirada
de stopwords, segundo Saif et al. (2014). Normalmente, fazem parte desta lista as
preposições, pronomes, artigos, advérbios e outras classes de palavras auxiliares.
Além dessas, existem também palavras cuja frequência no conteúdo dos documentos
é muito alta. Palavras que aparecem em praticamente todos os documentos de uma
coleção não são capazes de discriminar documentos e não devem fazer parte dos
índices. As stopwords formam uma lista de palavras conhecida como stoplist. As pa-
lavras que compõem a stoplist dificilmente são utilizadas em uma consulta, além disso,
sua indexação somente tornaria o índice maior do que o necessário. No anexo I, é
apresentada uma stoplist utilizada neste projeto.

Normalização

A normalização serve ao propósito de criar uma conexão entre palavras relaci-


onadas, conforme apresentam Ingason et al. (2008). Em textos da língua portuguesa,
temos diferentes palavras flexionadas em gênero, número ou grau, além de inúmeros
tempos verbais distintos. Ex.:

Contrato → Contratos
Trabalhador → Trabalhadora
Degrau → Degraus
Amigo → Amigão

A normalização de palavras pode ser entendida como a redução ou a simplifi-


cação ou a radicalização de palavras. As técnicas mais utilizadas são:

− Stemming – Para Flores e Moreira (2016), o processo de Stemming consiste em


reduzir a palavra à sua raiz (sem levar em conta a classe gramatical), que é
transformar as palavras em seu radical, técnica usada para eliminar variações
de mesma palavra, trazendo uma melhoria para a RI.

Ex.: f avorito, f avorita e f avoritos, amigo, amiga, amigão, gato, gata, gatos, gatas
64

O Stemming geralmente refere-se a um processo de heurística que corta as ex-


tremidades das palavras e inclui frequentemente a remoção de afixos derivacio-
nais. Pode ser representado por um conjunto de regras qu e dependem da lin-
guagem.

− Lematização – É a tarefa de encontrar a forma básica - o lema - de uma palavra.


O processo é semelhante ao Stemming, embora não idêntico Ingason et al.
(2008). Em contraste com o Stemming, a lematização vai além da redução de
palavras e considera o vocabulário completo de um idioma para aplicar uma aná-
lise morfológica às palavras. O lema de 'era' é 'ser' e o lema de 'ratos' é 'rato'.

Apesar da literatura apresentar as opções de Stemming e Lematização como


as principais formas de normalização de palavras, esses algoritmos podem apresentar
diversos problemas ou serem pouco eficientes para a língua portuguesa. Segundo
Honrado (2000), o Stemming utiliza a remoção de afixos das palavras e esses afixos
são extremamente dependentes das línguas nas quais foram escritos, pois baseiam-
se diretamente nas regras de formação de palavras de cada língua para detectá-los e
removê-los. A maioria destes algoritmos foi desenvolvida para a língua inglesa e não
apresenta um desempenho tão bom para o a língua portuguesa quanto o obtido na
língua original. Além disso, a língua portuguesa apresenta inflexões que geralmente
causam alterações profundas no radical das palavras, dificultando a adequação das
palavras com base no seu radical.
Por este motivo, nesta dissertação, optou-se por não usar tais técnicas, uma
vez que, na língua portuguesa, mostraram-se pouco eficientes principalmente devido
a aspectos morfológicos das palavras. Para tratamento de normalização, vamos utili-
zar um algoritmo chamado “SequenceMatcher” (DIFFLIB, 2020). Ele pode ser usado
para comparar pares de sequências de entrada, calculando a proximidade das pala-
vras em um range de 0 a 1 – quanto mais próximo de 1 maior a semelhança entre as
palavras. O SequenceMatcher é uma classe disponível no módulo python (linguagem
de programação) chamado “difflib”. Esse algoritmo foi desenvolvido com base em um
algoritmo publicado no final dos anos 1980, por Ratcliff e Obershelp, sob o nome hi-
perbólico "gestalt pattern matching". A ideia básica é calcular a proximidade das pala-
vras ou termos submetidos, porém, segundo a documentação do SequenceMatcher,
o algoritmo de Ratcliff e Obershelp não trata algumas particularidades no texto. A
65

mesma ideia é, então, aplicada recursivamente às palavras, sequenciadas da es-


querda para à direita, com tratamento melhorado, aumentando a precisão (DIFFLIB,
2020).
Devido à limitada documentação disponível, vamos compartilhar o conceito na
fase de prototipação com um exemplo passo a passo que possa ajudar o leitor a com-
preender todo o procedimento de forma lúcida. Para a aplicação do algoritmo Sequen-
ceMatcher, foi criado um algoritmo construído pelo próprio autor para as regras de
normatização dos termos, conforme mostrado na Figura 11.

Figura 11 – Fluxo do Algoritmo de normalização

SequenceMatcher

Fonte: Elaborada pelo autor

Esse algoritmo seleciona um termo do documento e o compara com os demais


termos desse documento que contêm os três primeiros carateres iguais. Ao encontrar
um temos com a mesma base, é aplicado o cálculo de similaridade do algoritmo Se-
quenceMatcher. Caso o resultado dessa similaridade seja superior a 80%, os dois
termos são considerados, no cálculo de frequência, como um mesmo termo.
66

Extração por expressões regulares

Uma vez definido o conjunto de regras das expressões regulares, a primeira


etapa para a extração de conteúdo é criar o plano de execução do algoritmo para
identificar e extrair um conjunto de índices dos documentos a serem indexados. Com
uma construção de expressões eficiente, a mineração torna-se uma tarefa simples e
fácil. No plano da execução, realizamos a compilação de consulta conforme Figura
12.

Figura 12 – Arquitetura da Engine de Regex em tempo de execução

Fonte: Cho e Rajagopalan (2002)

O processo em tempo de execução de expressões regulares consiste em três


fases importantes: (i) Análise de consulta; (ii) Geração de plano; e (iii) Fase Execução.
Depois que uma consulta regex é definida, a consulta é analisada pelo analisa-
dor de consulta e normalizado em um padrão Formato. Esta expressão regular nor-
malizada entra na fase de geração do plano em que o sistema determina quais índices
procurar e em que ordem. Com base nesse plano, o sistema recupera as listas de
lançamentos e executa as consultas na fase final de execução (CHO; RAJAGOPA-
LAN, 2002).
Na Figura 13, é definido o processo de extração de expressões regulares.
Nessa etapa do processo, a indexação por atribuição de expressões regulares exige
a necessidade de se definir o conjunto de regras a ser aplicado. Uma indexação por
extração tem como objetivo, em uma primeira etapa, obter um conjunto de descritores
retirados do próprio documento a partir da seleção dos documentos e definição do
plano de execução.
67

Figura 13 – Plano de Execução

Fonte: Elaborada pelo autor

Após a execução é coletado o conjunto de índices localizados nos documentos


e armazenado para que possa ser utilizado como critério de busca e recuperação dos
documentos ou, ainda, ser utilizado para relacionar os documentos que podem gerar
resultados melhores na recuperação da informação.

Tokenização

De acordo com Tanu et al. (2014), tokenização é o processo de quebrar um


texto em frases ou palavras. Esse processo consiste em dividir o texto em unidades
menores ou tokens; é uma etapa de pré-processamento fundamental em todas as
aplicações de indexação automática de documentos. Normalmente, o processo pa-
drão da tokenização é a extração de palavras de um texto usando caracteres de es-
paço em branco como delimitadores, gerando um saco de palavras conhecido como
“Bag of Words”.
BoW (Bag of Words) é uma representação de texto que descreve a ocorrência
de palavras em um documento. Nessa representação é monitorada apenas a conta-
gem de palavras e desconsideramos os detalhes gramaticais e a ordem das palavras.
É chamado de “saco” de palavras, porque qualquer informação sobre a ordem ou es-
trutura das palavras no documento é descartada. O modelo se preocupa apenas com
a ocorrência de palavras conhecidas no documento (MUJTABA, 2020).
O seguinte texto:

Uma política de gestão da informação pode ser definida como todos os processos
utilizados pela empresa para manter seus dados bem-organizados. Isso inclui rotinas de
68

processamento, armazenamento, classificação, identificação e compartilhamento de


registros, sejam eles digitais ou físicos.

pode ser representado pela seguinte BoW:


{política, gestão, inf ormação, def inida, processos, utilizados, empresa, manter, dados,
organizados, rotinas, processamento, armazenamento, classif icação, identif icação,
compartilhamento, registros, digitais, f ísicos}

Etapa 4 - Cálculo da Relevância dos Termos

O conjunto de palavras representa a ideia geral de um documento, porém nem


todas as palavras presentes em um documento têm a mesma relevância. Os termos
mais frequentes utilizados costumam ter significado mais importante. Dessa forma,
podemos fazer o cálculo de relevância de uma palavra em relação ao texto em que
está inserida, baseados em sua frequência. As análises baseadas em frequência cos-
tumam ser as mais utilizadas por serem mais simples, pois, por meio delas, podemos
definir o grau de relacionamento de uma palavra dentro um documento, aplicando a
essa palavra um peso – esse peso define a importância da palavra em relação ao
documento. Existem várias fórmulas para cálculo do peso de uma palavra em um do-
cumento, mas neste trabalho vamos destacar os termos extraídos a partir das expres-
sões regulares e da frequência absoluta dos termos calculados a partir da tokenização
e geração do “Bag of Words”.

Frequência do Termo

É usada para medir a frequência com que um termo ocorre em um documento.


Cada documento pode ter um comprimento diferente. Dessa forma, é possível que um
termo apareça muito mais vezes em documentos longos e poucas vezes em mais
curtos. Assim, a frequência do termo é frequentemente dividida pelo comprimento do
documento (também conhecido como o número total de termos no documento) e o
resultado quase sempre é uma tabela contendo os termos de um documento com a
quantidade de vezes que esse termo foi localizado.

Etapa 5 - Seleção dos Termos

A seleção dos termos de um documento será feita por meio da junção dos ter-
mos extraídos, a partir das expressões regulares e dos principais termos extraídos
69

através da tokenização mais o cálculo dos termos mais frequentes. A forma mais sim-
ples de selecionar termos é considerar as frequências máxima e mínima de cada um
deles na coleção pela somatória do número de vezes em que o termo aparece no
documento. Esse conjunto de dados pode ser definido como a “minimização de um
documento”, pois reduz o documento a uma lista de números ou palavras, facilitando
seu armazenamento, localização e relacionamento com outros documentos com ter-
mos iguais, conforme mostrado na Figura 14. É apresentada uma nota fiscal e seus
termos identificados. Os termos 1, 2 e 3 foram extraídos a partir das expressões re-
gulares, mesmo tendo apenas uma ocorrência para cada. Esses termos foram seleci-
onados por se tratar de informações relevantes para o tipo de documento em questão.

Figura 14 – Extração de Termos de um documento

Termos (Tokens) Qtde


789.554.558-89 1
15.557.445/0001-55 1
12/10/2020 1
Documentos 20
Digitalização 11
Contrato 10
AppService 7
Valores 6
CloudDocs 5
Mudanças 3

Fonte: Elaborada pelo autor

Etapa 6 - Pós-Processamento

O pós-processamento é a última etapa da mineração de textos e constitui-se


na verificação e no armazenamento dos dados realizados pelo processamento/extra-
ção. Conhecendo as palavras mais frequentes que apareceram nos documentos, é
possível tirar conclusões de quais termos serão armazenados, possibilitando precisa-
mente a recuperação de informação que satisfaça as necessidades dos usu ários.
A Figura 15 contém a função da elaboração de índices e é apresentada abaixo
com o objetivo de demonstrar a importância da indexação para a recuperação de in-
formação útil e aplicável.
70

Figura 15 – Quadro Amplo da Recuperação da Inf ormação

Fonte: Elaborada pelo autor

A Figura 16 apresenta uma proposta de modelo de dados para armazenamento


das informações obtidas através da indexação dos documentos. No modelo, temos a
referência do documento processado, uma tabela geral de todos os índices já identi-
ficados, a relação entre documento e o índice e a quantidade de vezes em que o índice
aparece no documento. A ideia principal desse modelo é evitar a duplicação de índices
armazenados e criar uma relação entre os documentos por meio dos índices comuns
a eles. Nesse modelo, é previsto também o campo de peso para um índice. O peso
pode ser utilizado para diferenciar uma palavra que em um documento pode ser mais
importante do que em outro.

Figura 16 – Modelo de dados para armazenamento de índices


71

Fonte: Elaborada pelo autor

Por fim, a ideia do modelo é que possa ser integrado a sistemas de gestão de
informações já existentes, possibilitando a incorporação das estratégias para seleção
e armazenamento dos descritores dos documentos a fim de que auxilie na recupera-
ção dos documentos à medida que sejam identificados principais indicadores.

Apresentação dos Resultados

Objetivando avaliar a proposta desenvolvida, foram selecionados aleatoria-


mente alguns tipos documentais para processamento e apresentação dos resultados,
na Figura 17 é apresentado dois documentos de notas ficais e seus termos identifica-
dos, na sequência é apresentado quadro identificando os termos em comum entre os
documentos.

Figura 17 – Indexação e correlação de índices


789.554.558-89
15.557.445/0001-55
18.775.558/0001-04
12/10/2020
259,00
1.588,00
Documentos
Digitalização
Contrato
AppService
Valores
CloudDocs
Mudanças
Gestão

Fonte: Elaborada pelo autor

Podemos definir que, após o pós-processamento dos documentos, foram iden-


tificados conjuntos de índices nos documentos e esses índices se relacionam entre os
documentos como índices comuns. Dessa forma, os documentos apresentam uma
ligação que pode ser definida como uma coocorrência de termos identificados.
72

5.3 AVALIAR O DESIGN E PROTOTIPAR

No processo de avaliação, foi desenvolvimento o modelo de sistema (protótipo)


seguinte a etapas apresentadas nessa dissertação, a fim de verificar sua aplicabili-
dade em um conjunto real de documentos e analisar os resultados do modelo. Para
esse protótipo, foram utilizadas as tecnologias:

− .NET – É uma plataforma de desenvolvimento da Microsoft, gratuita e de sof-


tware livre para a criação de muitos tipos de aplicativos, seu desenvolvimento
permite compartilhar funcionalidade entre diferentes aplicativos e tipos de apli-
cativos, usando bibliotecas de classes. Com o .NET, seus arquivos de código e
de projeto têm as mesmas funcionalidades, independentemente do sistema ope-
racional ao qual esteja utilizando.
− Python – É uma linguagem que nasceu na Holanda, na década de 1990. Se-
gundo o site Stack Overflow, em 2018, o Python é a linguagem de programação
mais popular do mundo para o uso de aplicações para Data Science e Inteligên-
cia Artificial, devido ao fato de que seu conjunto de bibliotecas e frameworks
oferecem um os maiores recursos para aplicações que lidam com processa-
mento de texto.
− MongoDB – É um banco de dados de documentos, o que significa que ele arma-
zena dados em documentos do tipo JSON. Dessa forma, torna-se uma das prin-
cipais maneiras de pensar sobre armazenamento de dados, e é muito mais ex-
pressiva e poderosa do que o modelo tradicional de linha/coluna.
• Linguagem de consulta que permite filtrar e classificar por qualquer campo,
não importa quão aninhado ele esteja dentro de um documento.
• Suporte para agregações e outros casos de uso moderno – tais como pes-
quisa geo-baseada, pesquisa gráfica e pesquisa de texto.
• As consultas são, elas mesmas, JSON e, portanto, facilmente componíveis.
Não há mais cadeias concatenadas para gerar consultas SQL de forma
dinâmica.

O modelo base do projeto foi desenvolvimento seguindo uma arquitetura em


três camadas (Processamento, Aplicação e Resultado), como mostrado na Figura 18
73

em que apresenta um esboço da proposta de solução, onde é apresentado três eta-


pas: Processamento que é a aplicação da metodologia, Software de Consulta que e a
construção do protótipo e apresentação dos resultados e coocorrência dos documen-
tos.

Figura 18 – Arquitetura Base do protótipo

Fonte: Elaborada pelo autor

No Anexo II, são apresentados o código e as interfaces do protótipo construído.


74

6 CONCLUSÃO

As técnicas de indexação automática destacam-se por características próprias


para recuperação informações. Desta forma, considera-se que este trabalho trouxe
resultados positivos para essa classe de tarefas, pois pode auxiliar aos profissionais
envolvidos no desenvolvimento de softwares para a indexação automática para o tra-
tamento de documentos textuais.
A partir do estudo sobre o uso de técnicas de mineração de textos para a ex-
tração automática, foi possível desenvolver e implantar uma metodologia para extra-
ção de termos que possibilitou realizar mais facilmente todo processo de indexação
proposto. Foi possível recuperar a informação antes apresentada em texto não estru-
turado e transformada em uma coleção de objetos passível de ser persistida. A etapa
de avaliação ou pós-processamento evidenciou a eficiência do processo e a qualidade
na recuperação de documentos, através da estrutura de índices recuperados automa-
ticamente.
Neste sentido, uma arquitetura de GED para indexação de documentos base-
ada em expressões regulares e tokenização de termos foi proposta. Foi também de-
senvolvido um protótipo testado por meio de ensaios controlados com documentos
reais em uma empresa de gestão documental.
As principais contribuições desta pesquisa são: (i) a proposição de u ma meto-
dologia para o processo de extração do conhecimento presente em documentos or-
ganizacionais, agregando diversas técnicas consagradas de PLN, (ii) uso de expres-
sões regulares para indexação de termos com menos frequência e (iii) a implementa-
ção de uma plataforma aberta e customizável, construída a partir da metodologia pro-
posta.
Em trabalhos futuros, sugerimos o aprofundamento do uso de expressões re-
gulares de forma a explorar com maior propriedade suas potencialidades de automa-
ção da recuperação de termos relevantes. Validação da metodologia pela aplicação
da ferramenta em ambiente de produção (teste de carga).
É interessante também alargar o escopo de tipos de documentos tratados. A
utilização de algoritmos de classificação e de agrupamento poderão também contribuir
para a melhoria do desempenho do processo apresentado.
75

7 REFERÊNCIAS

ABGD - ASSOCIAÇÃO Brasileira das Empresas de Gerenciamento de Documentos –


Disponível em: <http://anawanessabbastos.blogspot.com.br/2009/10/associacao-
brasileira-das-empresas-de.html>. Acesso em: jun. 2020.

AHO, A. V.; LAM, M. S.; SETHI, R., and ULLMAN, J. D. Compilers: Principles,
Techniques and Tools, Second Edition. Addison-Wesley Longman Publishing
Company, 2007

ALBISHRE, K.A; B, LI, Y.A; XU, Y.A, HUANG, W., Query-based unsupervised
learning for improving social media search, School of EECS, Queensland
University of Technology (QUT), Brisbane, Australia Al-Qura University, Makkah,
Saudi Arabia v. 23, p. 1791-1809, 2020.

ALFRESCO - What is Alfresco ECM, https://www.redpill-linpro.com/blogs/digital-


business-platform/what-alfresco-ecm, 2014, Acesso em: nov. de 2020.

ALZAIDY, Rabah; CORNELIA, Caragea; GILES, C, LEE; BI-LSTM-CRF Sequence


Labeling for Keyphrase Extraction from Scholarly Documents; WWW '19: The
Web Conference San Francisco CA USA May, 2019.

BAEZA-YATES, Ricardo; RIBEIRO-NETO, Berthier. Modern Information Retrieval.


New York: Addison Wesley, 2011.

BALDAM, R.; VALLE, R.; CAVALCANTI, M. GED – Gerenciamento Eletrônico de


Documentos. São Paulo: Ed. Érica, 2002.

BERNARDES, Ieda Pimenta; DELATORRE, Hilda. Gestão documental aplicada.


São Paulo: Arquivo Público do Estado de São Paulo, 2008.

BLAZQUEZ D.; DOMENECH J., Big Data sources and methods for social and
economic analyses, technological forecasting and social change, p. 99-113, 2018.

BORGES, G. S. BRUZINGA. Indexação automática de documentos textuais:


critérios essenciais. Escola de Ciên cia da Informação, Universidade Federal de Minas
Gerais, Belo Horizonte, 2009.

BORSOI, C. Automação e Gestão de acervos através da digitalização e do


software Winisis: Relato de Experiência. Revista ACB: Biblioteconomia em Santa
Catarina, p. 38-252, 2009.

BULUSU, Sai Amrit - A thesis submitted to the faculty of The University of North
Carolina at Charlotte in partial fulfillment of the requirements for the degree of Master
of Science in Computer Science Charlotte 2018.

CALIFF, M. E. Relational learning techniques for natural language information


extraction. Ph.D. thesis, University of Texas at Austin , 1998
76

CENADEM - Centro Nacional de Desenvolvimento do Gerenciamento da


Informação. São Paulo. Disponível em http://www.cenadem.com.br. Acesso em: ago.
de 2020.

CHAGHARI, A.; FEIZI-DERAKHSHI, M.-R.; BALAFAR, M., The combination of term


relations analysis and weighted frequent item set model for multidocument
summarization, Department of Electrical and Computer Engineering, University of
Tabriz, Tabriz, Iran. 2020

CHEEKYMUNKEY - WHAT IS SHAREPOINT AND HOW SMES CAN UTILISE IT


BEST https://cheekymunkey.co.uk/what-is-sharepoint, Acesso em: nov. de 2020.

CHEN, C., CiteSpace II: Detecting and visualizing emerging trends and transient
patterns in scientific literature. Journal of the American Society for Information
Science and Technology, p. 359-377, 2006.

CONTÁBEIS, disponível em https://www.contabeis.com.br/tributario/nota_fiscal,


acesso em Jul de 2020.

COVINGTON, M. NLP for Prolog Programmers, Prentice-Hall, 1994.

COVINGTON, M.; NUTE, D. AND VELLINO, A. Prolog Programming in Depth,


Prentice-Hall, 1997.

DIFFLIB – Module difflib – helpers for computing deltas between objects, Disponível
https://github.com/python/cpython/blob/master/Lib/difflib.py, Acesso em: out. de 2020.

E-ARQ Brasil. Modelo de requisitos para sistemas informatizados de gestão


arquivística de documentos. Conselho Nacional de Arquivos - CONARQ. Câmara
Técnica de Documentos Eletrônicos (CTDE). Rio de Janeiro. Disponível em
http://www.siga.arquivonacional.gov.br/media/earqbrasil2011.pdf, 2011, Acesso em:
nov. de 2020

PANSANI JUNIOR, E. A., FERNEDA, Edberto, Ontologias no processo de


Indexação Automática de Documentos Textuais, XVII Encontro Nacional de
Pesquisa em Ciência da Informação (XVII ENANCIB), 2016.

ELIAS, E. D. Gerenciamento Eletrônico de Documento (GED): Aplicação na


Universidade Federal de Santa Catarina. Ágora, v. 22, n. 45, p. 15-30, 2012.

EMC, THE DIGITAL UNIVERSE OF OPPORTUNITIES: RICH DATA AND THE


INCREASING VALUE OF THE INTERNET OF THINGS, EMC Digital Universe with
Research & Analysis by IDC, 2014.

FELDMAN, R.; DAGAN, I. Knowledge Discovery in Textual Databases (KDT). In:


INTERNATIONAL CONFERENCE ON KNOWLEDGE DISCOVERY FROM
DATABASES, 1, Proceedings, 1995.
77

FELIX, A.; SILVA, E. R. G. A gestão documental como suporte ao governo


eletrônico: caso da Secretaria de Estado da Saúde de Santa Catarina (SES/SC).
Revista Democracia Digital e Governo Eletrônico. Disponível em
http://buscalegis.ufsc.br/revistas/index.php/observatoriodoegov/article/view/336
41/32739, 2010. Acesso em: nov. de 2020

FERNEDA, Edberto. Recuperação de informação: análise sobre a contribuição


da ciência da computação para a ciência da informação. 2003. Tese (Doutorado
em Ciência da Informação e Documentação) - Escola de Comunicações e Artes,
Universidade de São Paulo, São Paulo, 2003.

FLORES, F. N.; MOREIRA, V. P. Assessing the impact of Stemming accuracy on


information retrieval - a multilingual perspective. Information Processing &
Management, 2016.

FONSECA, J. J. S. Metodologia da pesquisa científica. Fortaleza: UEC, 2002.


Apostila.

GATES, B. A empresa na velocidade do pensamento: como um sistema nervoso


digital. São Paulo: Companhia das Letras, 1999.

GERHARDT, T. E.; SILVEIRA, D. T. Métodos de pesquisa. Porto Alegre: Editora da


UFRGS, 2009.

GIL, A. C. Métodos e técnicas de pesquisa social. Ed. 6, São Paulo: Atlas, 2008.

MAIMONE, G. D.; SILVEIRA. N. C, Cognição humana e os Paradigmas da Ciência


da Informação, Revista Eletrônica Informação e Cognição C6, 2007

GOLUBENKO, S. Document Capture in Questions and Answers, Head of the


SharePoint Department, ScienceSoft, 2019.

GUINCHAT, C.; MENOU, M. Introdução geral às ciências e técnicas da


informação e documentação. 2.ed. rev. aum. Brasília: Ibict, CNPq, 1994. p. 540

HAN, J.; KAMBER, M.; PEI, J, Data Mining: Concepts and Techniques, 2012

HANSEN, M.; POMP A.; ERKI, K.; MEISEN, T. Data-Driven Recognition and
Extraction of PDF Document Elements, 2019

HARISPE S.; RANWEZ S.; JANAQI S. Montmain j. Semantic similarity from natural
language and ontology analysis, synthesis lectures on human language
technologies, 2015 ed. 8.

HONRADO, A.; LEON, R.; O'DONNEL, R.; SINCLAIR, D. A word Stemming


algorithm for the Spanish language. p. 139-145, 2000.

IBM - O que é o Enterprise Content Management, https://www.ibm.com/br-


pt/cloud/automation-software/enterprise-content-management, Acesso em nov de
2020.
78

IMAMURA, C. Y.-M. Pré-processamento para extração de conhecimento de bases


textuais, Dissertação de Mestrado, Instituto de Ciências Matemáticas e de
Computação, 2001

INGASON A. K.; HELGADÓTTIR S.; LOFTSSON H.; RÖGNVALDSSON E. A Mixed


Method Lemmatization Algorithm Using a Hierarchy of Linguistic Identities
(HOLI). In: Nordström B., Ranta A. (eds) Advances in Natural Language Processing.
GoTAL, 2008. Lecture Notes in Computer Science, v. 5221. Springer, Berlin,
Heidelberg.

INTERNATIONAL ITANDARD ORGANIZATION. ISO 12651-2 - Defines terms and


concepts relevant to electronic document workflow management, 2014.

CHO, J;; RAJAGOPALAN, S, A fast regular expression indexing engine,


Proceedings 18th International Conference on Data Engineering, San Jose, CA, USA,
2002, p. 419-430.

KITCHENHAM, B.; CHARTERS, S. Guidelines for Performing Systematic


Literature Reviews in Software Engineering. Keele University. [S.I.], 2007.

KOWALSKI, G. Information Retrieval System. USA: Kluwer Academic Publishers,


1997.

LAUDON, K. C.; LAUDON, J.P. Sistemas de informação Gerenciais. São Paulo:


Prentice Hall, 2004.

LAW, K. S.; CHUNG, F. Knowledge-driven decision analytics for commercial


banking, Journal of Management Analytics, v. 7, 2020.

LEGRAND, J.; GOGDEMIR, R.; BOUSQUET, C.; TOUSSAINT, Y.; COULET, A.


PGxCorpus, a manually annotated corpus for pharmacogenomics, Scientific Data
7(1),3.

LIDDY, E. D. Automatic Document Retrieval. In Encyclopedia of Language and


Linguistics. 2nd Edition. Elsevier Press, 2005.

MAHMOOD, A.; OKUMUS, I. T. - Design and Implementation of an Electronic


Document Management System, Kahramanmaras Sutcuimam University, Graduate
School of Natural and Applied Sciences, 2017.

BRASIL, MANUAL DE REDAÇÃO DA PRESIDÊNCIA DA REPÚBLICA 3ª edição,


revista, atualizada e ampliada Brasília Presidência da República 2018, Disponível em
http://www4.planalto.gov.br/centrodeestudos/assuntos/manual-de-redacao-da-
presidencia-da-republica/manual-de-redacao.pdf, Acesso em: jun. 2020.

MARR, B. Data Strategy: How to Profit from a World of Big Data, Analytics and the
Internet of Things, 2017, p. 88.

MIKOLOV, T.; SUTSKEVER, I.; CHEN, K.; CORRADO, G.S.; DEAN, J., Distributed
representations of words and phrases and their compositionality advances in
neural, Information Processing systems, 2013 p. 3111-3119.
79

MLADENI D.; BRANK J., GROBELNIK M. Document Classification. In: Sammut C.,
Webb G.I. (eds) Encyclopedia of Machine Learning, 2011.

MOURA, M. F. et al. Um modelo para a seleção de n-gramas significativos e não


redundantes em tarefas de mineração de textos. Embrapa Informática
Agropecuária-Boletim de Pesquisa e Desenvolvimento, 2010.

MOZILLA – UTF-8 (UCS Transformation Format 8), https://developer.mozilla.org/pt-


BR/docs/Glossario/UTF-8, Acesso em jan de 2021.

MUJTABA, H. An Introduction to Bag of Words (BoW) - What is Bag of Words? -


Sep 11, 2020 - Disponível em https://www.mygreatlearning.com/blog/bag-of-words
Acesso em: jan de 2021

NAVARRO, S. Interface entre linguística e indexação: uma revisão de literatura.


Rev. Bras. Biblio. Doc., São Paulo, v.21, n. 1/2, p. 46-62, 1988.

NIWRATTI, xxx. REGULAR EXPRESSIONS – An excellent tool for text analysis or


NLP, Disponível em: https://medium.com/analytics-vidhya/regular-expressions-an-
excellent-tool-for-text-analysis-or-nlp-d1fa7d666cb9, Nov, 2019, Acesso em: 20 de
jun. de 2020.

PALMER, D. D. Text preprocessing. In Handbook of natural language processing.


Chapman and Hall/CRC, 2nd edition , 2010.

PAZIN-VITORIANO, M. C. C. Obrigação, controle e memória: aspectos legais,


técnicos e culturais da produção documental de organizações privadas. 2011.
356 f. Tese (Doutorado em História Social) – Universidade de São Paulo, São Paulo,
2011.

PÉREZ, A. G. La gestión de documentos electrónicos como respuesta a las


nuevas condiciones del entorno de información. Revista Cubana de los
Profesionales de la Información en Salud, 2001.

RIBEIRO, M. L. Preservação do patrimônio documental do INPE: desafios e


soluções encontradas. Anais do Congresso Brasileiro de Arquivologia, 26-27, 2010.

ROBREDO, J. A indexação automática de textos: o presente já entrou no futuro.


Estudos avançados em ciência da informação, Brasília, DF: Associação dos
Bibliotecários do Distrito Federal, 1982. v. 1, p. 235-274.

ROGERS, Y.; SHARP, H.; PREECE, J. Design de interação: além da interação


humano-computador. Tradução por Isabela Gasparini. Porto Alegre: Bookman,
2013.

SAI Teja, Stop Words in NLP- All about stop words in Natural language
processing along with hands-on examples, 2010.

SAIF, H. et al. On stopwords, filtering and data sparsity for sentiment analysis,
2014.
80

SALTON, G.; WONG, A.; YANG, C.S. A vector space model for automatic indexing.
Commun. ACM, v. 18, n. 11, p. 613-620, 1975.

SAVARAM, R. Documentum Tutorial, https://mindmajix.com/documentum-tutorial,


2020, Acesso em: nov. de 2020.

SAVOVA, G. K.; MASANZ, J. J.; OGREN, P. V.; KIPPER-SCHULER, K. C.; CHUTE,


C. G. Mayo clinical Text Analysis and Knowledge Extraction System (cTAKES):
Architecture, component evaluation and applications, Journal of the American Medical
Informatics Association, p. 507-513, 2010.

SENTHIL KUMAR, N.; DINAKARAN, M. An algorithmic approach to rank the


disambiguous entities in Twitter streams for effective semantic search
operations Sadhana, Academy Proceedings in Engineering Sciences, 2020

SHENG, Y. A; XU, Z. A; WANG, Y. B M. Multi-document semantic relation


extraction for news analytics, World Wide Web, v. 23, n. 3, 2020.

STEYVERS, M.; GRIFFITHS, T., Probabilistic Topic Models, handbook of latent


semantic analysis, p. 424-440, 2007.

TANU V.; RENU, E Deepti Gaur - Tokenization and Filtering Process in RapidMiner
- International Journal of Applied Information Systems (IJAIS) – ISSN: 2249-0868
Foundation of Computer Science FCS, New York, USA Volume 7– No. 2, April 2014.

WANG S.; CHEN Z.; LIU B., Mining aspect-specific opinion using a holistic
lifelong topic model, 25th international world wide web conference, www, p. 167-176,
2016.

WANG, T.; LIU, F.; YAN, S. Learning class-informed exponential kernel for text
categorization. Journal of Computational and Theoretical Nanoscience, v. 13, n.
8, p. 5103-5110, 2016.

WAZLAWICK, R. Metodologia de pesquisa para ciência da computação. Rio de


Janeiro: Elsevier Brasil, 2009.

ZANTOUT, H.; MARIR, F. Document management systems from current capabilities


towards intelligent information retrieval: an overview. International Journal of
Information Management, v. 19. 1999.
81

ANEXO I – Lista de stopwords

"a", "acerca", "adeus", "agora", "ainda", "alem", "algmas", "algo", "algumas", "alguns",
"ali", "além", "ambas", "ambos", "ano", "anos", "antes", "ao", "aonde", "aos", "apenas",
"apoio", "apontar", "apos", "após", "aquela", "aquelas", "aquele", "aqueles", "aqui",
"aquilo", "as", "assim", "através", "atrás", "até", "aí", "baixo", "bastante", "bem", "boa",
"boas", "bom", "bons", "breve", "cada", "caminho", "catorze", "cedo", "cento", "certa-
mente", "certeza", "cima", "cinco", "coisa", "com", "como", "comprido", "conhecido",
"conselho", "contra", "contudo", "corrente", "cuja", "cujas", "cujo", "cujos", "custa", "cá",
"da", "daquela", "daquelas", "daquele", "daqueles", "dar", "das", "de", "debaixo", "dela",
"delas", "dele", "deles", "demais", "dentro", "depois", "desde", "desligado", "dessa",
"dessas", "desse", "desses", "desta", "destas", "deste", "destes", "deve", "devem", "de-
verá", "dez", "dezanove", "dezesseis", "dezessete", "dezoito", "dia", "diante", "direita",
"dispoe", "dispoem", "diversa", "diversas", "diversos", "diz", "dizem", "dizer", "do",
"dois", "dos", "doze", "duas", "durante", "dá", "dão", "dúvida", "e", "ela", "elas", "ele",
"eles", "em", "embora", "enquanto", "entao", "entre", "então", "era", "eram", "essa", "es-
sas", "esse", "esses", "esta", "estado", "estamos", "estar", "estará", "estas", "estava",
"estavam", "este", "esteja", "estejam", "estejamos", "estes", "esteve", "estive", "estive-
mos", "estiver", "estivera", "estiveram", "estiverem", "estivermos", "estivesse", "esti-
vessem", "estiveste", "estivestes", "estivéramos", "estivéssemos", "estou", "está", "es-
tás", "estávamos", "estão", "eu", "exemplo", "falta", "fará", "favor", "faz", "fazeis", "fa-
zem", "fazemos", "fazer", "fazes", "fazia", "faço", "fez", "fim", "final", "foi", "fomos", "for",
"fora", "foram", "forem", "forma", "formos", "fosse", "fossem", "foste", "fostes", "fui", "fô-
ramos", "fôssemos", "geral", "grande", "grandes", "grupo", "ha", "haja", "hajam", "haja-
mos", "havemos", "havia", "hei", "hoje", "hora", "horas", "houve", "houvemos", "hou-
ver", "houvera", "houveram", "houverei", "houverem", "houveremos", "houveria", "hou-
veriam", "houvermos", "houverá", "houverão", "houveríamos", "houvesse", "houves-
sem", "houvéramos", "houvéssemos", "há", "hão", "iniciar", "inicio", "ir", "irá", "isso",
"ista", "iste", "isto", "já", "lado", "lhe", "lhes", "ligado", "local", "logo", "longe", "lugar",
"lá", "maior", "maioria", "maiorias", "mais", "mal", "mas", "me", "mediante", "meio", "me-
nor", "menos", "meses", "mesma", "mesmas", "mesmo", "mesmos", "meu", "meus",
"mil", "minha", "minhas", "momento", "muito", "muitos", "máximo", "mês", "na", "nada",
"nao", "naquela", "naquelas", "naquele", "naqueles", "nas", "nem", "nenhuma",
"nessa", "nessas", "nesse", "nesses", "nesta", "nestas", "neste", "nestes", "no", "noite",
"nome", "nos", "nossa", "nossas", "nosso", "nossos", "nova", "novas", "nove", "novo",
"novos", "num", "numa", "numas", "nunca", "nuns", "não", "nível", "nós", "número", "o",
"obra", "obrigada", "obrigado", "oitava", "oitavo", "oito", "onde", "ontem", "onze", "os",
"ou", "outra", "outras", "outro", "outros", "para", "parece", "parte", "partir", "paucas",
"pegar", "pela", "pelas", "pelo", "pelos", "perante", "perto", "pessoas", "pode", "podem",
"poder", "poderá", "podia", "pois", "ponto", "pontos", "por", "porque", "porquê", "por-
tanto", "posição", "possivelmente", "posso", "possível", "pouca", "pouco", "poucos",
"povo", "primeira", "primeiras", "primeiro", "primeiros", "promeiro", "propios", "proprio",
"própria", "próprias", "próprio", "próprios", "próxima", "próximas", "próximo", "próxi-
mos", "puderam", "pôde", "põe", "põem", "quais", "qual", "qualquer", "quando",
"quanto", "quarta", "quarto", "quatro", "que", "quem", "quer", "quereis", "querem", "que-
remas", "queres", "quero", "questão", "quieto", "quinta", "quinto", "quinze", "quáis",
"quê", "relação", "sabe", "sabem", "saber", "se", "segunda", "segundo", "sei", "seis",
"seja", "sejam", "sejamos", "sem", "sempre", "sendo", "ser", "serei", "seremos", "seria",
82

"seriam", "será", "serão", "seríamos", "sete", "seu", "seus", "sexta", "sexto", "sim", "sis-
tema", "sob", "sobre", "sois", "somente", "somos", "sou", "sua", "suas", "são", "sétima",
"sétimo", "só", "tal", "talvez", "tambem", "também", "tanta", "tantas", "tanto", "tarde",
"te", "tem", "temos", "tempo", "tendes", "tenha", "tenham", "tenhamos", "tenho", "tens",
"tentar", "tentaram", "tente", "tentei", "ter", "terceira", "terceiro", "terei", "teremos", "te-
ria", "teriam", "terá", "terão", "teríamos", "teu", "teus", "teve", "tinha", "tinham", "tipo",
"tive", "tivemos", "tiver", "tivera", "tiveram", "tiverem", "tivermos", "tivesse", "tivessem",
"tiveste", "tivestes", "tivéramos", "tivéssemos", "toda", "todas", "todo", "todos", "traba-
lhar", "trabalho", "treze", "três", "tu", "tua", "tuas", "tudo", "tão", "tém", "têm", "tínha-
mos", "um", "uma", "umas", "uns", "usa", "usar", "vai", "vais", "valor", "veja", "vem",
"vens", "ver", "verdade", "verdadeiro", "vez", "vezes", "viagem", "vindo", "vinte" , "você",
"vocês", "vos", "vossa", "vossas", "vosso", "vossos", "vários", "vão", "vêm", "vós",
"zero", "à", "às", "área", "é", "éramos", "és", "último"
83

ANEXO II – Código e interfaces do protótipo

Processamento Automático – Desenvolvimento em C# é um serviço para leitura de


diretório, como na figura abaixo, onde são depositados os arquivos a serem indexados
automaticamente.

Classe de Processamento de Arquivos monitorados

A Classe ExtrairConteudos tem por base a seleção dos arquivos e extração do


conteúdo dos arquivos para que possa ser processado. O resultado do processa-
mento do código a seguir é a saída de um arquivo .txt, contendo o conteúdo do arquivo
processado.

using iTextSharp.text.pdf.parser;
using MongoDB.Driver;
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Diagnostics;
using System.IO;
using System.Linq;
using System.ServiceProcess;
using System.Text;
using System.Threading.Tasks;
using IronPython.Hosting;
using Microsoft.Scripting.Hosting;

namespace ServicoIndexacao
{
public partial class ExtrairConteudos : ServiceBase
84

{
System.Timers.Timer timer;
public ExtrairConteudos()
{
InitializeComponent();
}

public void IniciarTimer()


{
timer = new System.Timers.Timer();
timer.Interval = 10;
timer.Elapsed += new System.Timers.ElapsedEventHandler(timer_Elapsed);
timer.Enabled = true;
timer.Start();
}

protected override void OnStart(string[] args)


{
IniciarTimer();
}

void timer_Elapsed(object sender, System.Timers.ElapsedEventArgs e)


{
timer.Stop();

try
{
ExtrarTexto();
}
catch (Exception ex)
{

}
f inally
{
timer.Interval = 60 * 1000;
timer.Start();
}
}

public void ExtrarTexto()


{
string BaseDirecty = @"D:\MonitorArquivos\";
try
{
string[] Arquivos = Directory.GetFiles(BaseDirecty, "*.pdf");

f oreach (string strFile in Arquivos)


{
FileInf o f si = new FileInf o(strFile);

iTextSharp.text.pdf.PdfReader pdfRida = new iTextSharp.text.pdf.PdfReader(strFile);


int pageFrom = 1;
int pageTo = pdfRida.NumberOfPages;

StringBuilder st = new StringBuilder();

f or (int i = pageFrom; i <= pageTo; i++)


{
st.Append(PdfTextExtractor.GetTextFromPage(pdfRida, i));
}

File.WriteAllText(BaseDirecty + fsi.Name.ToLower().Replace(".pdf", ".txt"), st.ToString());


85

pdf Rida.Close();

f si.Delete();
}

Process p = new Process();


p.StartInf o = new ProcessStartInfo(AppDomain.CurrentDomain.BaseDirectory + "Proces-
sarJson.bat")
{
RedirectStandardOutput = true,
UseShellExecute = false,
CreateNoWindow = true
};
p.Start();

while (Directory.GetFiles(BaseDirecty, "*.txt").Count() > 0)


{
System.Threading.Thread.Sleep(1000);
}

string[] ArquivosJson = Directory.GetFiles(BaseDirecty, "*.json");

f oreach (string strFile in ArquivosJson)


{
FileInf o f si = new FileInf o(strFile);

string json = File.ReadAllText(strFile);

DTODocumento doc = JsonConvert.DeserializeObject<DTODocumento>(json);

string StringConnecionMongo = "mongodb://localhost:27017";


string BancoDadosMongodb = "dbDocumentos";
MongoClient DBClient = new MongoClient(StringConnecionMongo);

IMongoDatabase db = DBClient.GetDatabase(BancoDadosMongodb);
var collection = db.GetCollection<DTODocumento>("Documento");

collection.InsertOne(doc);

f si.Delete();
}

}
catch (Exception ex)
{

}
}

private void run_cmd()


{
string f ileName = AppDomain.CurrentDomain.BaseDirectory + @"Processamento.py";

Process p = new Process();


p.StartInf o = new ProcessStartInf o(@"C:\Users\edesg\AppData\Local\Programs\Python\Py-
thon39\python.exe", fileName)
{
RedirectStandardOutput = true,
UseShellExecute = false,
CreateNoWindow = true
};
p.Start();

string output = p.StandardOutput.ReadToEnd();


86

p.WaitForExit();
}
private static void doPython()
{
ScriptEngine engine = Python.CreateEngine();
engine.ExecuteFile(AppDomain.CurrentDomain.BaseDirectory + @"Processamento.py");
}
public class Indice
{
public string Tipo { get; set; }
public string Valor { get; set; }
public int Quantidade { get; set; }
}

public class DTODocumento


{
public string Documento { get; set; }
public List<Indice> Indice { get; set; }
}
protected override void OnStop()
{
}
}
}

Após o processamento do arquivo e a geração do .txt de cada arquivo, é cha-


mado o programa desenvolvido em Python para o processamento do arquivo. As eta-
pas da execução em Python se dão de acordo com o esquema abaixo.

A classe Python abaixo processa o arquivo.

import pandas as pd
import PyPDF2
import nltk
import re
87

f rom sklearn.feature_extraction.text import Tf idfVectorizer


f rom nltk.tokenize import word_tokenize, sent_tokenize
f rom nltk.corpus import stopwords
f rom unicodedata import normalize
f rom unidecode import unidecode
import regex
f rom collections import Counter
import csv
f rom difflib import SequenceMatcher
f rom nltk.util import ngrams
import matplotlib.pyplot as plt
import json
import rglob
import camelot
f rom tika import parser
f rom pymongo import MongoClient
import os

#Método para calculo de similaridade de termos


def similar(a, b):
return SequenceMatcher(None, a, b).ratio()

#Método para calculo de Term Frequency


def computeTF(wordDict, bagOfWords):
tf Dict = {}
bagOf WordsCount = len(bagOfWords)
f or word, count in wordDict.items():
tf Dict[word] = count / float(bagOfWordsCount)
return tf Dict

#Método para calculo de Term Frequency Identificado


def computeIDF(documents):
import math
N = len(documents)

idf Dict = dict.fromkeys(documents[0].keys(), 0)


f or document in documents:
f or word, val in document.items():
if val > 0:
idf Dict[word] += 1

f or word, val in idfDict.items():


idf Dict[word] = math.log(N / float(val))
return idf Dict

def computeTFIDF(tfBagOfWords, idfs):


tf idf = {}
f or word, val in tfBagOfWords.items():
tf idf[word] = val * idfs[word]
return tf idf

class Indices:
def __init__(self,tipo,valor,quantidade):
self .Tipo = tipo
self .Valor = valor
self .Quantidade = quantidade

class Documento:

def __init__(self,documento):
self .Documento = documento
self .Indice=[]

class Expressao:
88

def __init__(self,tipo, expressao):


self .Tipo = tipo
self .Exp=expressao

def Processar(Arquivo):

#Ler Arquivo
f = open (Arquivo, 'r', encoding='utf-8')
documentA = unidecode(f.read().lower())
f .close()

documento = Documento(Arquivo)

#Ler Lista de StopWord


FileStopWord = open('stopwords.txt','r', encoding='utf-8')
stop_words = unidecode(FileStopWord.read()).split(',')
FileStopWord.close()

ListaExpressoesRegulares=[]

#Def inição das Principais expressões regulares


ListaExpressoesRegulares.append(Expressao("Data","\d{2}[-/]\d{2}[-/]\d{4}"));
ListaExpressoesRegulares.append(Expressao("CPF","[0-9]{3}\.?[0-9]{3}\.?[0-9]{3}\-?[0-9]{2}"));
ListaExpressoesRegulares.append(Expressao("CNPJ","[0-9]{2}\.?[0-9]{3}\.?[0-9]{3}\/?[0-9]{4}\-?[0-
9]{2}"));
ListaExpressoesRegulares.append(Expressao("Email","\S+@\S+"));#Emails
ListaExpressoesRegulares.append(Expressao("Boleto", "\d{5}\.\d{5} \d{5}\.\d{6} \d{5}\.\d{6} \d
\d{1,}"));

#Processamento das expressões regulares


f or expr in ListaExpressoesRegulares:
date_reg_exp = re.compile(expr.Exp)
matches_list=date_reg_exp.findall(documentA)
ListExpres = Counter(matches_list).most_common(20)
f or match in ListExpres:
idx = Indices(expr.Tipo,match[0],match[1])
documento.Indice.append(idx)

pattern = r'[0-9\b//.!-#(|\-:),;*]'
documentA = re.sub(pattern, '', documentA)

word_tokens = word_tokenize(documentA)

bagOf WordsA = []

f or w in word_tokens:
if len(w) < 3:
stop_words.append(w)

if w not in stop_words:
bagOf WordsA.append(w)

bagOf WordsB = bagOfWordsA

documentA = ' '.join(bagOfWordsA)

f or word in bagOfWordsA:
f or index, w2 in enumerate(bagOfWordsA):
if (word != w2):
if (word[0:3] == w2[0:3]):
vls = similar(word, w2)
if vls>0.8:
bagOf WordsA[index]=word
89

documentA = ' '.join(bagOfWordsA)

unigrams_tst = regex.findall(r"\b\w+", documentA, overlapped=True)

principaisUnigrama = Counter(unigrams_tst).most_common(50)

f or Indicaodres in principaisUnigrama:
idx = Indices("Texto",Indicaodres[0],Indicaodres[1])
documento.Indice.append(idx)

jsonStr = json.dumps(documento,default = lambda x: x.__dict__,indent=4)

with open(Arquivo + '.json', 'w') as fjson:


f json.write(jsonStr)
f json.close()

if __name__ == '__main__':

f ile_list = rglob.rglob("D:\MonitorArquivos", "*.txt")


f or f ile in f ile_list:
Processar(file)
os.remove(file)

Após esse processamento, os documentos são armazenados em um banco de


dados textual (MongoDB, no nosso caso).

A lista dos termos dos documentos armazenados são:


90

O código a seguir diz respeito ao projeto Web para consulta de documentos


indexados.

@page "/"
@using MongoDB.Driver;
@using IndexacaoAutomatica.Data;
@inject IJSRuntime JS;

<h1>Consulta Documentos Indexados</h1>

<div class="alert alert-secondary mt-4" role="alert">


<div class="input-group col-md-12">
<input class="form-control py-2" type="search" @bind="CampoBusca" placeholder="Informe o índice
de busca" id="example-search-input">
<span class="input-group-append">
<button class="btn btn-outline-secondary" type="button" @onclick="ConsultarDocumentos">
<span class="oi oi-magnifying-glass"></span>
</button>
</span>
</div>
</div>
<div class="alert alert-secondary mt-4" role="alert">
Total Localizados: @TotalLocalizados
</div>

<div>
<table class="table table-striped">
<thead>
<tr>
<th>
ID
</th>
<th>
Documento
</th>
<th>
Total Indexadores
</th>
<th>
&nbsp;
</th>
</tr>
</thead>
<tbody>
@f oreach (DTODocumento doc in Localizados)
{
<tr>
91

<td>
@doc._id
</td>
<td>
@doc.Documento
</td>
<td>
@doc.Indice.Count()
</td>
<td>
<button class="btn btn-outline-primary" type="button" @onclick="() => Selecionar(doc)">
<span class="oi oi-magnifying-glass"></span>
</button>
</td>
</tr>
}
</tbody>
</table>
</div>

<div class="modal fade" id="exampleModal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLa-


bel" aria-hidden="true">
<div class="modal-dialog" role="document" style="width:600px!important;height:400px!important">
<div class="modal-content" style="width:700px!important;height:600px!important">
<div class="modal-header">
<h5 class="modal-title" id="exampleModalLabel">Detalhamento Documento</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
</div>
<div class="modal-body" style="max-height:500px;overflow-y:auto">
<table class="table table-striped">
<thead>
<tr>
<th>
Tipo
</th>
<th>
Conteúdo
</th>
<th>
Qtde
</th>
</tr>
</thead>
<tbody>
@f oreach (Indice indice in ListaIndices)
{
<tr>
<td>
@indice.Tipo
</td>
<td>
@indice.Valor
</td>
<td>
@indice.Quantidade
</td>
</tr>
}
</tbody>
</table>
</div>
<div class="modal-footer">
92

<button type="button" class="btn btn-secondary" data-dismiss="modal">Fechar</button>


</div>
</div>
</div>
</div>

@code
{
public string CampoBusca { get; set; }
public int TotalLocalizados { get; set; }
List<DTODocumento> Localizados = new List<DTODocumento>();
List<Indice> ListaIndices = new List<Indice>();

protected override async Task OnInitializedAsync()


{

}
public void ConsultarDocumentos()
{
Localizados = new List<DTODocumento>();
string StringConnecionMongo = "mongodb://localhost:27017";
string BancoDadosMongodb = "dbDocumentos";
//string connectionString = "mongodb://104.41.25.232:27017";
MongoClient DBClient = new MongoClient(StringConnecionMongo);

IMongoDatabase db = DBClient.GetDatabase(BancoDadosMongodb);
var collection = db.GetCollection<DTODocumento>("Documento");

var collectionIndices = db.GetCollection<Indice>("Documento");

var f iltro = Builders<Indice>.Filter.Eq(x => x.Valor, CampoBusca);

var ListaDocumentos = collection.Find<DTODocumento>(x => true).ToList();

f oreach (DTODocumento doc in ListaDocumentos)


{
f oreach (Indice indice in doc.Indice)
{
if (indice.Valor.ToUpper().Contains(CampoBusca.ToUpper()))
{
if (!Localizados.Contains(doc))
Localizados.Add(doc);
}
}
}
TotalLocalizados = Localizados.Count();

async Task Selecionar(DTODocumento documento)


{
JS.InvokeAsync<string>("ShowModal", "exampleModal");
ListaIndices = documento.Indice;
}
}

Classe de Documentos e Indeces

namespace IndexacaoAutomatica.Data
{
public class Indice
93

{
public string Tipo { get; set; }
public string Valor { get; set; }
public int Quantidade { get; set; }
}

public class DTODocumento


{
public BsonObjectId _id { get; set; }
public string Documento { get; set; }
public List<Indice> Indice { get; set; }
}
}

A seguir a interface da aplicação Web para consulta de documentos.


94

Como resultado, o sistema relaciona os documentos da base, como mostrado


abaixo.

Você também pode gostar