geração automática de regras de identificação de p rodutos em ... · em contrapartida, algumas...

12
Geração Automática de Regras de Identificação de Produtos em Descrições Textuais de Compras Governamentais Eduardo de Paiva 1 , Kate Revoredo 1 1 Departamento de Informática Aplicada – Universidade Federal do Estado do Rio de Janeiro (UNIRIO) Av. Pasteur 458, Urca, 22290-240, Rio de Janeiro –RJ - Brasil {eduardo.paiva,katerevoredo}@uniriotec.br Abstract. The public transparency portals are becoming important communication channels between government and population. However, not always the portals present the information in the most appropriate format. For example, the description of purchases in text format hinders comparison of similar purchases. The goal of this article is to propose a methodology capable to generate product identification rules in textual descriptions of purchases through the use of a mining technique of frequent phrases. The proposed solution has been validated in a case study with data from Federal Government's Transparency Portal. Resumo. Os portais de transparência pública vêm se constituindo em importantes canais de comunicação entre o governo e a população. No entanto, nem sempre o formato das informações apresentadas nesses portais é o mais apropriado. Por exemplo, a descrição de compras em formato de texto dificulta a comparação de compras similares, já que o produto sendo adquirido não encontra-se explícito. O objetivo desse trabalho é propor uma metodologia capaz de gerar regras de identificação de produtos em descrições textuais de compras, através da utilização de uma técnica de mineração de frases frequentes. A solução proposta foi validada em um estudo de caso com os dados do Portal da Transparência do Governo Federal. 1. Introdução Os portais de transparência pública vêm se constituindo em importantes canais de comunicação entre o governo e a população. Através desses portais, o cidadão tem acesso a uma série de informações do governo que facilitam o acompanhamento e o controle das atividades governamentais. Atualmente, a lei complementar 131 ["Disponibilização em tempo real de informações" 2009] determina a disponibilização, em tempo real, de informações pormenorizadas sobre a execução orçamentária e financeira da União, dos Estados, e dos Municípios. No entanto, a simples disponibilização de informações governamentais não assegura o entendimento, por parte do cidadão, do real significado de tais informações. Isso acontece por uma série de fatores, dentre os quais, pode-se destacar: o grande volume de dados disponibilizados diariamente, e o formato não adequado dessas informações. Um exemplo disso são os dados referentes à descrição das compras governamentais, que são apresentadas em formato texto. Isso acontece para permitir XIII Encontro Nacional de Inteligˆ encia Artificial e Computacional SBC ENIAC-2016 Recife - PE 229

Upload: nguyenmien

Post on 30-Nov-2018

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Geração Automática de Regras de Identificação de P rodutos em ... · Em contrapartida, algumas abordagens [Shin et al. 2016], [Ren et al. 2015], [Liu et al. 2015] e [El -Kishky

Geração Automática de Regras de Identificação de

Produtos em Descrições Textuais de Compras

Governamentais

Eduardo de Paiva1, Kate Revoredo1

1Departamento de Informática Aplicada – Universidade Federal do Estado do Rio de

Janeiro (UNIRIO)

Av. Pasteur 458, Urca, 22290-240, Rio de Janeiro –RJ - Brasil

{eduardo.paiva,katerevoredo}@uniriotec.br

Abstract. The public transparency portals are becoming important

communication channels between government and population. However, not

always the portals present the information in the most appropriate format. For

example, the description of purchases in text format hinders comparison of

similar purchases. The goal of this article is to propose a methodology capable

to generate product identification rules in textual descriptions of purchases

through the use of a mining technique of frequent phrases. The proposed

solution has been validated in a case study with data from Federal

Government's Transparency Portal.

Resumo. Os portais de transparência pública vêm se constituindo em

importantes canais de comunicação entre o governo e a população. No entanto,

nem sempre o formato das informações apresentadas nesses portais é o mais

apropriado. Por exemplo, a descrição de compras em formato de texto dificulta

a comparação de compras similares, já que o produto sendo adquirido não

encontra-se explícito. O objetivo desse trabalho é propor uma metodologia

capaz de gerar regras de identificação de produtos em descrições textuais de

compras, através da utilização de uma técnica de mineração de frases

frequentes. A solução proposta foi validada em um estudo de caso com os dados

do Portal da Transparência do Governo Federal.

1. Introdução

Os portais de transparência pública vêm se constituindo em importantes canais de

comunicação entre o governo e a população. Através desses portais, o cidadão tem acesso

a uma série de informações do governo que facilitam o acompanhamento e o controle das

atividades governamentais.

Atualmente, a lei complementar 131 ["Disponibilização em tempo real de

informações" 2009] determina a disponibilização, em tempo real, de informações

pormenorizadas sobre a execução orçamentária e financeira da União, dos Estados, e dos

Municípios. No entanto, a simples disponibilização de informações governamentais não

assegura o entendimento, por parte do cidadão, do real significado de tais informações.

Isso acontece por uma série de fatores, dentre os quais, pode-se destacar: o grande

volume de dados disponibilizados diariamente, e o formato não adequado dessas

informações. Um exemplo disso são os dados referentes à descrição das compras

governamentais, que são apresentadas em formato texto. Isso acontece para permitir

XIII Encontro Nacional de Inteligencia Artificial e Computacional

SBC ENIAC-2016 Recife - PE 229

Page 2: Geração Automática de Regras de Identificação de P rodutos em ... · Em contrapartida, algumas abordagens [Shin et al. 2016], [Ren et al. 2015], [Liu et al. 2015] e [El -Kishky

maior flexibilidade na descrição do que está sendo adquirido, porém, dificulta a

comparação entre compras similares.

A solução para esse tipo de problema se dá pela aplicação de técnicas de

mineração de texto que sejam capazes de a partir da descrição textual de uma determinada

compra, identificar a que produto aquela descrição se refere.

Alguns trabalhos como [Rommel, Carvalho et al. 2013], [Rommel Carvalho et al.

2014] e [Paiva e Revoredo 2016] tentam endereçar esse tipo de problema, porém, todos

eles apresentam escopos muito específicos, sendo aplicáveis a um conjunto reduzido de

produtos. Isso acontece porque a grande quantidade de diferentes tipos de produtos que a

Administração Pública pode comprar dificulta a aplicação de técnicas generalizáveis, que

sejam capazes de identificar uma variedade de produtos distintos a partir das

especificações textuais de compras.

Em contrapartida, algumas abordagens [Shin et al. 2016], [Ren et al. 2015], [Liu

et al. 2015] e [El-Kishky et al. 2014] têm empregado técnicas de mineração de frases para

determinar os tópicos mais relevantes em corpus de textos. Essas abordagens, ao invés de

tratar as palavras de forma individualizada, priorizam as frases formadas pela sequência

de palavras.

O objetivo desse trabalho é propor uma metodologia capaz gerar regras de

identificação de produtos de forma automatizada, em descrições de compras em portais

de transparência, através da utilização de uma técnica de mineração de frases, visto que,

as frases possuem mais expressividade do que os termos isolados. Dessa forma, a solução

proposta cria as regras de identificação dos produtos, minimizando assim a interação

humana. Nessa abordagem, a única atividade desempenhada por humanos será a

verificação das regras geradas e a criação de rótulos para elas, ou seja, dizer a que produto

cada uma das regras geradas se referem. Isso possibilita um grande ganho de escala na

quantidade de diferentes produtos identificáveis.

A proposta foi validada por um método qualitativo, cuja amostra a ser avaliada

foi composta pelos produtos identificados que apresentavam outliers1 de preços.

O restante deste trabalho está organizado da seguinte forma: a Seção 2 apresenta

alguns trabalhos relacionados; a Seção 3 define o problema a ser tratado, enquanto que as

seções 4 e 5 descrevem a proposta de solução e o estudo de caso desenvolvido. Finalmente

a seção 6 faz a conclusão do trabalho.

2. Trabalhos Relacionados

Atualmente, já existem uma série de trabalhos que se propõem a extrair informações

relevantes de dados textuais gerados pela Administração Pública.

Nesse sentido, Maia et al. [2015] propõem um classificador automático das

denúncias que compõem o banco de denúncias recebidas pela Controladoria Geral da

União. Esse trabalho utiliza classificação por ranking baseada em Árvore de Huffman

para fazer a categorização das diversas denúncias dentro das 91 classificações de

denúncias existentes.

1 As observações que apresentam um grande afastamento das demais observações da mesma espécie ou que

são inconsistentes com elas são chamadas de outliers.

XIII Encontro Nacional de Inteligencia Artificial e Computacional

SBC ENIAC-2016 Recife - PE 230

Page 3: Geração Automática de Regras de Identificação de P rodutos em ... · Em contrapartida, algumas abordagens [Shin et al. 2016], [Ren et al. 2015], [Liu et al. 2015] e [El -Kishky

Rommel, Carvalho et al. [2013] e Rommel Carvalho et al. [2014] sugerem uma

metodologia para a formulação de um banco de preço da Administração Pública Federal

a partir dos dados de compras que são apresentados no Portal da Transparência do

Governo Federal. Nessa proposta, os produtos, apresentados em descrições textuais, são

identificados a partir da combinação de palavras chave, e posteriormente técnicas de

clusterização são utilizadas para se identificar as unidades de medidas utilizadas para

quantificá-los. Após essa identificação, torna-se possível a formulação de um preço de

referência para cada um dos produtos identificados a partir dos preços pagos em cada uma

das compras. Já, Carvalho et al. [2014] endereçam o problema de identificação e

prevenção de fracionamento de compras governamentais utilizando redes bayesianas.

Marzagão [2015] apresenta uma outra abordagem para o problema de

identificação de produtos e serviços que são adquiridos pela Administração Pública. Esse

trabalho utiliza um cadastro de materiais e serviços como dados de treinamento, e a partir

deste, tenta classificar as compras utilizando o algoritmo de máquina de suporte vetorial.

Visando atender a necessidade de processamento requerida pelo grande volume

de informações que compõe as bases de dados de compras governamentais, Paiva e

Revoredo [2016] apresentaram uma solução escalável para o problema de identificação

de produtos em compras textuais. O foco principal desse trabalho foi a proposta de uma

arquitetura de processamento baseado no paradigma de programação MapReduce [Dean

and Ghemawat 2008] e no framework hadoop [White 2012], que roda em clusters de

Computadores.

Saindo do contexto da Administração Pública, mas ainda dentro do desafio de se

extrair informações de dados textuais. Algumas iniciativas têm se destacado no sentido

de se utilizar a modelo de Bag of Phrases2, em um contraponto ao tradicional Bag of

Words3. Dentre essas iniciativas estão [Ren et al. 2015], [Liu et al. 2015] e [El-Kishky et

al. 2014]. Essas abordagens, ao invés de trabalharem com os tokens de forma

individualizada, consideram sequências de tokens, que formam frases, a fim de agregar

mais expressividade as variáveis tratadas.

3. Definição do Problema

Diariamente, os diversos Portais de Transparência pública disponibilizam centenas de

milhares de registros. Só o Portal da Transparência do Governo Federal [CGU, 2004]

apresenta cerca de 46 mil novos registros a cada dia.

No entanto, essas informações não são todas estruturadas e fáceis de serem

tratadas. Algumas das informações mais relevantes na identificação de uma determinada

compra vêm descritas em formato de texto, o que dificulta análises sistematizadas.

A Figura 1 apresenta uma descrição de compra presente em um portal de

transparência, sendo que, para se identificar o que realmente está sendo especificado

nessa descrição, é necessária a leitura e interpretação do texto descritivo. No entanto, o

2 Bag of Phrase: modelo de representação utilizado no tratamento de dados textuais. Nesse modelo o texto

é representado pela contagem das frases que o compõem, ignorando-se a gramática e a ordem das frases 3 Bag of words: modelo de representação utilizado no tratamento de dados textuais. Nesse modelo o texto

é representado pela contagem das palavras que o compõem, ignorando-se a gramática, a ordem das palavras

e a pontuação.

XIII Encontro Nacional de Inteligencia Artificial e Computacional

SBC ENIAC-2016 Recife - PE 231

Page 4: Geração Automática de Regras de Identificação de P rodutos em ... · Em contrapartida, algumas abordagens [Shin et al. 2016], [Ren et al. 2015], [Liu et al. 2015] e [El -Kishky

grande volume de dados dos portais de transparência torna esse tipo de análise impeditiva,

inviabilizando qualquer tipo de comparação entre compras similares.

Figura 1. Descrição textual de compras

Logo, o problema a ser tratado pode ser considerado como uma questão de

classificação textual e é definido da seguinte forma:

Dada uma coleção de descrição de compras 𝒟 = {𝑑1, 𝑑2, 𝑑3, … , 𝑑𝑘} e um conjunto

𝒫 de produtos 𝒫 = {𝑝1, 𝑝2, 𝑝3, … , 𝑝𝑛}. Deseja-se definir uma função ℱ: 𝒟𝑋𝒫 → {0, 1}.

Ou seja, a função ℱ atribui um valor 0 ou 1 para cada par(𝑑𝑖, 𝑝𝑗), tal que 𝑑𝑖 ∈ 𝒟 𝑒 𝑝𝑗 ∈

𝒫. Se o valor atribuído for 1, diz se que a descrição de compra 𝑑𝑖 se refere ao produto

𝑝𝑗. Caso contrário, diz-se que a descrição de compra 𝑑𝑖 não se refere ao produto 𝑝𝑗. Cabe

ressaltar que: se ℱ (𝑑𝑖 , 𝑝𝑗) = 1 → ℱ (𝑑𝑖, 𝑝𝑘) = 0, para qualquer 𝑗 ≠ 𝑘.

No entanto, conforme a limitação apresentada em [Paiva e Revoredo 2016], o

grande dificultador dessa abordagem é que o conjunto 𝒫 (de todos os produtos que podem

ser comprados pela Administração Pública) é muito grande, com cerca de 250 mil

elementos, e que a cada dia novos tipos de produto podem ser adquiridos e

consequentemente incorporados a esse conjunto.

Sendo assim, dada a inviabilidade de se rotular um conjunto de treinamento para

um número tão grande de classes, esse trabalho pretende criar regras de identificação para

os produtos mais relevantes e otimizar o esforço de rotulagem de tais produtos. Sendo

que, nesse contexto, a relevância de um produto é medida pelo número de compras desse

produto, ou seja, quanto mais compras um determinado produto tiver, mais relevante ele

será. Apesar do conjunto de produtos mais relevantes poder ser variável, de acordo com

os critérios estipulados, o fato desse grau de relevância ser ranqueável permite que o

esforço de rotulação seja otimizado, possibilitando que apenas os produtos com maiores

números de compras sejam rotulados, de acordo com a disponibilidade de pessoal para

exercer essa atividade.

Dessa forma, considerando-se uma frase como sendo uma sequência de tokens

contínuos e partindo-se da premissa de que descrições de produtos similares apresentam

alguma sequência de tokens iguais, considerou-se a seguinte hipótese: se forem

identificadas as sequências de tokens que mais se repetem em um determinado conjunto

de descrição de compras, então, essas sequências de tokens caracterizarão os produtos

mais relevantes desse conjunto de descrições.

4. Proposta

A Proposta de identificação dos produtos está dividida em 2 partes: a primeira consiste

em um processo de mineração de frases, que irá caracterizar os produtos mais relevantes,

bem como as regras que devem ser aplicadas para identificá-los. Essas regras serão o

produto do processo de mineração de frases. Já a segunda consiste da aplicação das regras

definidas no passo anterior. Entre essas duas fases há uma interação humana a fim de

selecionar as regras geradas, bem como rotulá-las, ou seja, definir nomes inteligíveis para

XIII Encontro Nacional de Inteligencia Artificial e Computacional

SBC ENIAC-2016 Recife - PE 232

Page 5: Geração Automática de Regras de Identificação de P rodutos em ... · Em contrapartida, algumas abordagens [Shin et al. 2016], [Ren et al. 2015], [Liu et al. 2015] e [El -Kishky

os produtos que serão identificados pelas regras geradas. A Figura 2 ilustra esse processo,

e é explicada no decorrer dessa seção.

Devido as características dos dados de portais de transparência, grandes volumes

de informações com cargas diárias e incrementais. A solução proposta deve ser capaz de

processar quantidades massivas de dados e ser escalável.

Figura 2. Processo de identificação dos produtos

Para atender a esses requisitos, todo o processo foi concebido para rodar utilizando

o Apache Spark [Zaharia et al. 2010], um framework para processamento de big data que

roda de forma paralela em cluster de computadores. Dessa forma, aumentos expressivos

no volume de dados a ser processado podem ser compensados com a inclusão de novas

máquinas ao cluster, sem o comprometimento da performance.

4.1. Mineração de Frases

No contexto desse trabalho, uma frase é definida como uma sequência contigua de tokens.

Sendo assim, nesse artigo, a tarefa de mineração de frases frequentes pode ser

caracterizada pela agregação e contagem de todas as sequências de tokens contíguos que

satisfaçam a um suporte mínimo. Ou seja, a mineração de frases se propõe a identificar

os padrões sequenciais de palavras que mais se repetem em um determinado conjunto de

dados textuais.

Dessa forma, as seguintes propriedades, definidas em [El-Kishky et al. 2014] e

[Liu et al. 2015], deverão ser atendidas no processo de mineração de frases:

Frequência: A qualidade mais importante quando se julga se uma frase retransmite

informações relevantes sobre um tópico é a sua frequência de utilização dentro do

tópico. Uma frase que não é frequente dentro de um tópico, provavelmente não é

importante para esse tópico.

Completude: Se uma frase longa satisfaz ao critério da frequência, então, as sub

frases dessa frase longa também irão satisfazem a este critério, porém, serão

menos informativas do que a frase mais longa, e dessa forma não precisam ser

consideradas na mineração das frases, pois a frase mais longa é mais completa.

XIII Encontro Nacional de Inteligencia Artificial e Computacional

SBC ENIAC-2016 Recife - PE 233

Page 6: Geração Automática de Regras de Identificação de P rodutos em ... · Em contrapartida, algumas abordagens [Shin et al. 2016], [Ren et al. 2015], [Liu et al. 2015] e [El -Kishky

4.1.1 Pré-processamento

O pré-processamento é a primeira fase do processo, e tem o objetivo de preparar o

conjunto de dados para as atividades subsequentes.

A etapa de pré-processamento retira informações que estão presentes no campo

de descrição da compra, mas que não fazem parte da especificação textual do produto. O

principal objetivo desse procedimento é a eliminação de informações desnecessárias que

possam prejudicar a análise das sequências de palavras geradas.

Figura 3. Resultado do pré-processamento

A Figura 3 ilustra o resultado do pré-processamento de uma descrição de compra.

Nesse procedimento, algumas informações são identificadas e extraídas, através das

técnicas enunciadas em [Etzioni et al. 2005]. Dessa forma, apenas o texto que realmente

especifica o produto será utilizado nas fases seguintes do processamento.

Adicionalmente, essas informações retiradas das descrições das compras são

armazenadas para que, ao final de todo o processo, elas possam ser incorporadas ao

produto identificado, enriquecendo assim a qualidade da informação apresentada.

4.1.2 Geração de Frases Candidatas

Apesar do método proposto apresentar um enfoque estatístico, com o intuito de se

diminuir o conjunto de possíveis combinações de palavras, assim como para manter a

expressividade das frases geradas, algumas considerações semânticas foram feitas:

Uma frase só pode ser formada se ela estiver contida dentro de uma determinada

sentença. Sendo que, uma sentença é uma sequência de palavras delimitada por

sinais de pontuação que determinam o final de um período.

Se uma determinada palavra P está localizada na posição n de uma sequência de

palavras de uma sentença, para que ela faça parte de uma frase, é necessário que

todas as demais palavras localizadas nas (n-1) posições anteriores da sequência,

também façam parte dessa frase. Essa restrição se dá para garantir maior grau de

expressividade para as frases formadas, visto que, na língua portuguesa o sentido

vai se completando da esquerda para a direita.

A Figura 4.a ilustra o algoritmo de geração das frases candidatas. Esse algoritmo

recebe como entrada um conjunto de especificação textuais de produtos e um tamanho

mínimo e outro máximo para as frases a serem geradas, sendo que, o tamanho de uma

frase é medido pelo número de palavras que compõem essa frase. A saída do algoritmo

proposto será um vetor com todas as frases geradas.

XIII Encontro Nacional de Inteligencia Artificial e Computacional

SBC ENIAC-2016 Recife - PE 234

Page 7: Geração Automática de Regras de Identificação de P rodutos em ... · Em contrapartida, algumas abordagens [Shin et al. 2016], [Ren et al. 2015], [Liu et al. 2015] e [El -Kishky

Figura 4. Algoritmos de mineração de frases

4.1.3 Mineração de frases frequentes

Após a geração das frases candidatas, o passo seguinte é a agregação de frases iguais, a

fim de se contar o número de ocorrências de cada uma das frases geradas. As frases cujo

número de ocorrência for maior que o valor de suporte, passado como parâmetro, são

selecionadas e prosseguem no processo de mineração.

4.1.4 Remoção de sub frases

El-Kishky et al. [2014] definem duas propriedades na mineração de frases:

Lema do fechamento para baixo: Se uma frase P não é frequente, então as super

frases de P (frases que contêm P) também não serão.

Antimonotonicidade dos dados: Se um documento não contém frases frequentes

de comprimento n, o documento não contém frases frequentes de comprimento

maior que n.

A aplicação dessas propriedades ao conjunto de frases resultante do passo anterior

serve para reduzir a quantidade das frases a serem rotuladas por humanos, minimizando

assim o esforço necessário para a seleção e rotulação das frases geradas, uma vez que,

essas frases geradas e rotuladas se constituirão nas regras de identificação dos produtos.

Sendo assim, se uma frase 𝐹, formada pelos palavras 𝑝1, 𝑝2, … , 𝑝𝑛 atende ao

requisito do suporte mínimo, então, todas as suas sub frases 𝐹′ = 𝑝1, 𝑝2, … , 𝑝𝑘 , com 𝑘 <𝑛, também atenderão essa suporte, porém, elas não precisarão ser analisadas, uma vez que

as frases maiores (em que elas estão contidas) já contemplam aos requisitos necessários.

Logo, é executado uma filtragem aplicando essa propriedade de forma a reduzir o número

de frases mineradas.

O algoritmo apresentado na Figura 4.b demonstra o processo de poda das sub

frases. Esse algoritmo recebe como entrada todas as frases geradas que atenderam ao

critério do suporte mínimo, e oferece como saída apenas as super frases. (ou seja, frases

contidas em outras frases maiores que também atendam ao requisito do suporte mínimo

são desconsideradas).

XIII Encontro Nacional de Inteligencia Artificial e Computacional

SBC ENIAC-2016 Recife - PE 235

Page 8: Geração Automática de Regras de Identificação de P rodutos em ... · Em contrapartida, algumas abordagens [Shin et al. 2016], [Ren et al. 2015], [Liu et al. 2015] e [El -Kishky

4.2. Rotulagem das Regras Geradas

Ao final da primeira fase do processamento é gerado um arquivo com as frases que

atenderem aos requisitos da mineração de frases (super frases que atenderam a um suporte

mínimo). Essas frases representam o conjunto de palavras sequenciais que caracterizam

os produtos mais relevantes da base de dados em questão, e constituem as regras de

identificação desse produto.

No entanto, é necessária uma interação humana para se fazer a seleção e validação,

bem como a rotulação dessas regras, ou seja, especificar que produto cada regra

representa. Logo, o esforço dos especialistas nessa fase se resume em fazer a seleção e

rotulação dessas regras.

Seleção: Esse procedimento faz-se necessário por duas razões principais, a

primeira se dá porque, apesar das frases tenderem a ter um alto grau de

expressividade, pois, elas atingiram uma frequência alta de ocorrência, em

algumas situações elas não transmitem informações capazes de discriminar um

determinado produto. Outra razão que justifica a necessidade de interação humana

é a definição do grau de especificidade que se deseja dar a um determinado

produto, por exemplo, um produto pode ser identificado como suco de laranja ou

simplesmente como suco, dependendo da análise que se deseje fazer, e a seleção

das regras de identificação tem importante papel nesse processo.

Rotulação: Outro papel relevante que é executado por especialistas é a

interpretação e rotulagem do que cada uma das regras identificadas representam,

pois, muitas vezes, pode-se ter duas frases distintas identificando um mesmo

produto, e que por essa razão devem receber um mesmo rótulo, como por

exemplo, “dipirona, solução oral 500 mg/ml” e “novalgina gotas 500 mg/ml”.

Ao final do processo, os especialistas adaptam o arquivo gerado pela mineração

de frases, de forma que, cada linha desse arquivo seja composta por uma combinação

frase-produto. Sendo que, a frase que funciona como regra de identificação fica do lado

esquerdo, e o produto a que ela se refere fica do lado direito, sendo separados pelo sinal

de pipe (|). Esse arquivo gerado serve como entrada para a segunda fase do

processamento.

4.3. Classificação das compras

Definidas as regras de classificação, o passo seguinte é a aplicação dessas regras. O

arquivo gerado pelos especialistas serve como parâmetro para o processo de classificação

das compras.

O processo de classificação recebe como entrada um conjunto de descrições de

compras (conjunto de itens de empenho). Esse conjunto de dados passa por um pré-

processamento, idêntico ao ocorrido na fase de mineração de frases, e depois passa pela

a aplicação das regras propriamente ditas.

5. Estudo de Caso

Para validar a metodologia proposta foi aplicado um estudo de caso nos dados do Portal

da Transparência do Governo Federal [CGU 204].

XIII Encontro Nacional de Inteligencia Artificial e Computacional

SBC ENIAC-2016 Recife - PE 236

Page 9: Geração Automática de Regras de Identificação de P rodutos em ... · Em contrapartida, algumas abordagens [Shin et al. 2016], [Ren et al. 2015], [Liu et al. 2015] e [El -Kishky

5.1. Infraestrutura

O estudo de caso foi desenvolvido no ambiente de computação nas nuvens

disponibilizado pela empresa Amazon Web Services [Cloud 2011]. O processamento dos

dados foi executado em um cluster utilizando o sistema Apache Spark [Zaharia et al.

2010]. O cluster era composto por 2 máquinas Linux com processador de 64 bits e 7,5

GiB de memória

5.2. Base de Dados

Para o estudo de caso, foram utilizados dados de item de empenho do Portal da

Transparência do Governo Federal referentes ao ano de 2015, sendo que, utilizou-se os

dados do mês de janeiro para se fazer a mineração de frases e geração de regras de

identificação, e os dados de todo o ano fechado para se fazer a classificação.

A base era composta por 5.710.039 registros, dos quais 2.465.610 se referiam a

compra de materiais. Os demais itens de empenho se referiam a outros tipos de despesas,

como por exemplo, pagamento de pessoal e contratação de serviço. No entanto, apesar de

não estarem no escopo do trabalho, todos os empenhos precisam ser processados, pois

não se sabe previamente a que se refere um determinado item (pré-processamento).

Os registros de janeiro totalizavam 212.726 registros, sendo 34.628 referentes a

compra de materiais.

5.3. Resultados

Utilizou-se os seguintes parâmetros de entrada: suporte de 30, tamanho mínimo de frase

igual a 4 e tamanho máximo de frase igual a 9. Essa configuração foi utilizada pelo fato

de ter sido a que apresentou melhores resultados para o conjunto de dados utilizado, sendo

que, para se chegar a essa conclusão, avaliou-se a qualidade das regras geradas. Porém,

para outros conjuntos de dados é importante que sejam testados os valores que melhor se

adaptem ao caso em questão. No entanto, é importante que se tenha a noção de que, o

suporte está diretamente ligado ao tamanho do conjunto de dados, quanto maior o número

de registros maior deve ser o suporte utilizado, e o tamanho da frase está relacionado com

o grau de detalhamento que se deseja dar aos produtos identificados, tamanhos de frase

maiores propiciam maior detalhamento nas regras de identificação geradas, enquanto que

frases menores geram regras mais genéricas de identificação.

O processo de mineração de frases (que utilizou os dados referentes ao mês de

janeiro) levou 1 minuto e 35 segundos para executar e gerou 123 frases, sendo que dessas

frases, 84 foram transformadas em regras de identificação.

A razão de 39 frases não serem utilizadas como regras de identificação se dá pelo

fato dessas frases, apesar de populares, não serem discriminativas, como por exemplo:

"alimento industrializado consumo humano” e "produto de fabricação nacional, sem

registro de irregularidades".

Outro ponto importante de se observar, é que, apesar de terem sido geradas 84

regras de identificação diferentes, apenas 66 produtos distintos foram rotulados. Isso

ocorre pelo fato de em algumas situações um mesmo produto receber mais de uma regra

de identificação distinta, como por exemplo o produto “Álcool Combustível”, que pode

ser identificado por uma das seguintes regras: "álcool anidro combustível" ou "álcool

etílico hidratado combustível".

XIII Encontro Nacional de Inteligencia Artificial e Computacional

SBC ENIAC-2016 Recife - PE 237

Page 10: Geração Automática de Regras de Identificação de P rodutos em ... · Em contrapartida, algumas abordagens [Shin et al. 2016], [Ren et al. 2015], [Liu et al. 2015] e [El -Kishky

O Arquivo de regras gerado foi utilizado como parâmetro de entrada para a

segunda parte do processamento, que foi responsável pela classificação de todos os itens

de empenho do ano de 2015.

O processamento da classificação levou 8 minutos e 34 segundos e classificou

238.264 descrições de compras. As compras não classificadas se justificam pelo fato delas

não se enquadrarem nas regras de identificação definidas. No entanto, caso se deseje

aumentar o número de regras de identificação, basta se diminuir o suporte utilizado.

5.4. Validação

Dado o grande número de registros gerados e a inexistência de um conjunto de dados

previamente classificados para servir de parâmetro de comparação, optou-se por fazer-se

uma validação qualitativa.

Considerando-se que, para o caso em questão, mais importante do que garantir a

cobertura (garantir que todos os produtos de uma determinada classe tenham sido

devidamente classificados) é assegurar a precisão (se todos os produtos classificados em

uma determinada classe realmente fazem parte dessa classe), a estratégia de validação se

deu pela comparação dos preços praticados em cada uma das classes de produtos

identificados.

Dessa forma, verificou-se os preços mínimo e máximo para cada uma das classes

de produtos (de acordo com a unidade de medida), visto que, esses valores extremos

teriam maior potencial de terem sido classificados de forma errônea.

A tabela 2 apresenta um resumo dos valores para as 4 combinações de produtos e

unidades de medida com maior número de ocorrências.

Tabela 1. Amostra das métricas dos produtos identificados

Produto Unidade de

Mediada

Qtd de

Compras

Valor

Mínimo

Valor

Médio

Valor Máximo

toner p/ impressora UNIDADE 10783 0,00 51,266 2543,83

carne bovina QUILOGRAMA 6503 0,00 17,9754 9783,93

fruta mamão QUILOGRAMA 3713 0,00 3,1647 1536,68

fruta laranja QUILOGRAMA 3620 0,00 2,903 2730,57

Através da análise desses valores extremos, constatou-se que, apesar da

discrepância apresentadas por esses valores extremos, os produtos realmente se

enquadravam nas classes de produtos que foram classificados, como pode ser observado

na Figura 5, que apresenta um recorte da tela do Portal da transparência para os itens de

valores extremos do produto “Toner para Impressora”.

Figura 5. Fragmento de Telas do Portal da Transparência

XIII Encontro Nacional de Inteligencia Artificial e Computacional

SBC ENIAC-2016 Recife - PE 238

Page 11: Geração Automática de Regras de Identificação de P rodutos em ... · Em contrapartida, algumas abordagens [Shin et al. 2016], [Ren et al. 2015], [Liu et al. 2015] e [El -Kishky

O fato de muitos produtos apresentarem valores mínimos igual a zero, e da

existência de outros valores extremamente altos, provavelmente se dá devido a erros de

preenchimento por parte das pessoas responsáveis por inserir esses dados no SIAFI4.

Porém, independente das discrepâncias encontradas, que podem ser oriundas de fraudes

ou de erros de preenchimento, o importante é que a técnica se demonstrou eficaz para a

identificação de produtos em grandes volumes de dados textuais, possibilitando-se extrair

informações que seriam impossíveis de serem obtidas pelo formato original em que os

dados são apresentados.

6. Conclusão

Estre trabalho apresentou uma metodologia para geração de regras de identificação dos

produtos comprados pela Administração Pública, que são apresentados nos diversos sites

de transparência pública em formato textual. Para isso, utilizou-se um processo de

mineração de frases frequentes.

A hipótese de que se forem identificadas as sequencias de tokens que mais se

repetem em um determinado conjunto de descrição de compras, então, essas sequências

de tokens caracterizarão os produtos mais relevantes desse conjunto de descrições foi

confirmada em parte, pois, apesar da grande maioria das sequencias de palavras

frequentes caracterizarem um determinado tipo de produto, algumas frases frequentes,

apesar de transmitirem conteúdos inteligíveis, esses não eram suficientes para discriminar

uma categoria específica de produto.

A metodologia sugerida faz uso de programação paralela, e roda em clusters de

computadores, através da utilização do paradigma de programação mapreduce [Dean and

Ghemawat 2008] e da infraestrutura do sistema de processamento Apache Spark [Zaharia

et al. 2010], o que a torna escalável e permite que aumentos expressivos no volume de

dados a ser analisado possam ser compensados pela inclusão de novas máquinas no

cluster, sem o comprometimento da performance.

A proposta apresentada foi testada em um conjunto de dados formado por todos

os itens de empenho do ano de 2015 do Portal da transparência e gerou regras de

identificação para 66 produtos, sendo que, esse número de regras geradas pode diminuir

ou aumentar de acordo com a elevação ou diminuição do suporte utilizado no processo

de mineração de frases frequentes.

Como trabalhos futuros, pretende-se utilizar os produtos identificados pela

aplicação da metodologia desenvolvida, e integrá-los com outras informações oriundas

dos processos de compras, a fim de utilizar-se técnicas de mineração de dados para a

identificação de possíveis casos de mau uso do dinheiro público.

Referências

BRASIL. Lei Complementar nº 131 de 27 de maio de 2009. Disponibilização em tempo

real de Informações. Diário Oficial [da] República Federativa do Brasil, Brasília, DF,

28 mai. 2009.

4 Sistema Integrado de Administração Financeira (SIAFI): Sistema Informatizado que processa e controla

a execução orçamentária, financeira, patrimonial e contábil da União [Feijó 2006]. Esse sistema é utilizado

como fonte de informação para essa parte do portal da Transparência do Governo Federal.

XIII Encontro Nacional de Inteligencia Artificial e Computacional

SBC ENIAC-2016 Recife - PE 239

Page 12: Geração Automática de Regras de Identificação de P rodutos em ... · Em contrapartida, algumas abordagens [Shin et al. 2016], [Ren et al. 2015], [Liu et al. 2015] e [El -Kishky

Carvalho, R. N., Sales, L., Da Rocha, H. A. and Mendes, G. L. (2014). Using Bayesian

Networks to Identify and Prevent Split Purchases in Brazil. In BMA@ UAI.

Cloud, A. E. C. (2011). Amazon web services. Retrieved November, v. 9, p. 2011.

Controladoria Geral da União - CGU (2004). Portal da Transparência dos Recursos

Públicos Federais. Disponível em: http://transparencia.gov.br. Acesso em 30 jun 2016.

Dean, J. and Ghemawat, S. (2008). MapReduce: simplified data processing on large

clusters. Communications of the ACM, v. 51, n. 1, p. 107–113.

El-Kishky, A., Song, Y., Wang, C., Voss, C. R. and Han, J. (2014). Scalable topical

phrase mining from text corpora. Proceedings of the VLDB Endowment, v. 8, n. 3, p.

305–316.

Etzioni, O., Cafarella, M., Downey, D., et al. (2005). Unsupervised named-entity

extraction from the web: An experimental study. Artificial intelligence, v. 165, n. 1, p.

91–134.

Feijó (2006). Curso de SIAFI: uma abordagem prática da execução orçamentária e

financeira, Editora Gestão Pública.

Liu, J., Shang, J., Wang, C., Ren, X. and Han, J. (2015). Mining Quality Phrases from

Massive Text Corpora. In Proceedings of the 2015 ACM SIGMOD International

Conference on Management of Data. ACM.

Maia, P., Ladeira, M. and Carvalho, R. N. (2015). Aplicação de Técnicas de Mineração

de Textos para Classificação de Documentos: Um Estudo da Automatização da

Triagem de Denúncias na CGU. Brasília: UNB, 2015. Dissertação (Mestrado em

Ciência da Computação) - Programa de Pós-graduação Aplicada em Computação,

Universidade de Brasília.

Marzagão, T. (2015). Using SVM to pre-classify government purchases. arXiv preprint

arXiv:1601.02680,

Paiva, E. e Revoredo, K. (2016). Big Data e Transparência: Utilizando Funções de

Mapreduce para incrementar a transparência dos Gastos Públicos. XII Simpósio

Brasileiro de Sistemas de Informação, 2016, Florianopolis.

Ren, X., El-Kishky, A., Wang, C., et al. (2015). Clustype: Effective entity recognition

and typing by relation phrase-based clustering. In Proceedings of the 21th ACM

SIGKDD International Conference on Knowledge Discovery and Data Mining.. ACM.

Rommel, Carvalho, De Paiva, E., Da Rocha, H. and Mendes, G. (2013). Methodology for

Creating the Brazilian Government Reference Price Database. X Encontro Nacional

de Inteligência Artificial e Computacional.

Rommel Carvalho, Eduardo de Paiva, Henrique da Rocha and Gilson Mendes (2014).

Using Clustering and Text Mining to Create a Reference Price Database. Learning and

NonLinear Models, v. 12, p. 38–52.

Shin, H., Ryu, B.-G., Ryu, W.-J., Lee, G. and Lee, S. (2016). Bringing bag-of-phrases to

ODP-based text classification. In 2016 International Conference on Big Data and

Smart Computing (BigComp). IEEE.

Zaharia, M., Chowdhury, M., Franklin, M. J., Shenker, S. and Stoica, I. (2010). Spark:

cluster computing with working sets. HotCloud, v. 10, p. 10–10.

XIII Encontro Nacional de Inteligencia Artificial e Computacional

SBC ENIAC-2016 Recife - PE 240