Documentação

METODOLOGIA DE EXTRAÇÃO - CONFÚCIO (COVID 19)

1. Introdução

O Confúcio é um projeto desenvolvido pelo Ministério Público do Estado do Rio Grande do Norte, por meio do GAECO e do CAOP-PAT, capaz de verificar os Portais de Transparência dos Municípios, de forma automatizada e perene, identificando a compatibilidade dos sítios eletrônicos à legislação de regência, bem como a conformidade dos gastos públicos, oferecendo informações à sociedade e aos membros da Instituição.

Ferramentas de exposição de dados podem ser vetores úteis para compartilhamento de informações públicas[1]. Tais vetores podem gerar engajamento de usuários tendo em vista consequências que visam melhorar diversos contextos de uma sociedade notadamente quando aplicadas à eficiência dos serviços públicos.

Desta forma, baseado na ideia de gerar um maior engajamento social da população do Estado do Rio Grande do Norte no contexto de fiscalização dos gastos públicos voltados para o combate da pandemia de COVID-19 o Confúcio foi desenvolvido. Nos próximos tópicos, serão descritos como o sistema é capaz de extrair as informações assim como faz suas métricas de avaliação.

2. Metodologia

2.1 Consulta aos Sites

O processo de extração do Confúcio inicia-se na consulta aos sites dos portais da transparência dos municípios do Governo do Estado. Esses sites são catalogados manualmente para que o sistema possa dar seu primeiro passo. Desta forma não é possível que o Confúcio atualize automaticamente caso um ente público mude de domínio no decorrer do tempo.

Contudo, o sistema sempre fará o processo de extração no portal onde realmente os dados das transparências estão contidos. É comum que muitas prefeituras tenham seus portais, porém, ao adentrar na área de transparência para consulta, o usuário é redirecionado para um novo portal. O que acontece nesses casos é que a extração do Confúcio é feita no último portal referido, que condiz com aquele que realmente possui os dados.

Todos os sites são visitados pelo Confúcio em diferentes horários. Desta forma, por mais que o sistema de duas prefeituras estejam alocados em um mesmo servidor, eles serão visitados em horários diferentes, existindo assim a possibilidade de produzirem comportamentos distintos aos serem consultados.

O Confúcio executa a visita buscando um código de status válido, podendo ser 200 ou 301. Caso o CONFÚCIO receba um código não adequado, tais como 404 ou 500, o sistema repetirá a requisição por mais três vezes tentando buscar sucesso. Caso isso não ocorra, o log de falha será salvo especificando o motivo. Em casos de timeout, o tempo máximo que o Confúcio espera por uma resposta do domínio são 30 segundos para cada tentativa.

Vale ainda salientar que o Confúcio extrai os dados de todas as páginas do portal alcançáveis com um clique. Ou seja, a extração do Confúcio não se limita somente à página principal, mas também a todas as páginas filhas.

Como resultado de todas as consultas aos sites, o Confúcio armazena todos os logs para que a nota de Disponibilidade seja calculada. seja calculada. Atualmente, para cálculo da disponibilidade, são consideradas somente as consultas à página principal. Desta forma, a disponibilidade pode ser calculada como:

, onde

onde é a quantidade de dias corridos que se deseja calcular a disponibilidade e é o status do site em um dos 3 momentos do dia . Atualmente, utiliza-se para o confúcio, , sendo assim verificado a estabilidade no site nos últimos 60 dias, onde .

2.2 Verificação de Critérios por Palavra-Chave

Após a extração do html da página, o pipeline do Confúcio o converte para um texto. Esse texto representa todo o conteúdo que pode ser lido pelo usuário. Todo esse texto será representado como lemas. O processo de lematização é o processo, efetivamente, de deflexionar uma palavra para determinar o seu lema [3]. Ou seja, no contexto lexicográfico das palavras, a lematização irá torná-las invariantes a uma série de contextos dependendo da língua que se aplica. No caso do Confúcio, a lematização é aplicada somente na língua portuguesa, logo, tornando as palavras invariantes a gênero, número, aumentativo e diminutivo. 

No geral, existem duas formas possíveis para se executar a lematização de uma palavra: por consulta em dicionário ou baseada em regras. No caso do algoritmo adotado no Confúcio foi utilizada uma abordagem baseada em consulta de dicionário, mais especificamente baseados no Corpus de Machado de Assis [4].

Tendo em mãos o texto com seus respectivos lemas, no caso de alguns critérios, o Confúcio faz a simples verificação de presença de palavras chaves. Os critérios que utilizam essa abordagem são:

  • Glossário.
  • FAQ.
  • Email/Contatos
  • Telefone/Contatos

Desta forma, para que um portal tenha a detecção dos quesitos citados de forma adequada é necessário que na página do ente público essas informações estejam claras e com palavras que representem essas informações. Entretanto, é importante ressaltar que o Confúcio só considera relevante para esse quesito o conteúdo presente na página principal do portal. Assim, se esses dados não podem ser acessados de forma fácil pelo usuário na página principal do município, o CONFÚCIO não será capaz de encontrá-los.

2.3 Verificação de Aba COVID

A verificação da aba COVID-19 é um processo separado dos demais critérios. Neste caso todo o portal do município é varrido para buscar essa informação, não se limitando à página principal.

A verificação da Aba COVID-19 pode ser feita de três formas: (I) Verificação por URL; (II) Verificação por Conteúdo; (III) Verificação por HTML.

No primeiro tipo de verificação, a url da página verificada é quebrada em lemas. Com isso, criam-se palavras com a menor variação para analisar se a url contém referências à transparência e à COVID-19. Desta forma, se a URL da aba visitada pelo Confúcio possuir referência à COVID-19 e a palavras relacionadas aos temas previstos na legislação de regência, especialmente no que diz respeito às despesas públicas, o Confúcio será capaz de detectar a presença de uma aba COVID-19 no portal.

No segundo tipo de verificação, todo o texto extraído da página passa por um processo de stemmer [2] e remoção de stopwords [3].  Ou seja, de todas as frases presentes na página são removidas palavras sem conteúdo semântico, tais como “para”, “com”, “de”, artigos definidos e indefinidos. Para a extração do centro léxico de cada palavra do texto, o stemmer utilizado foi o RSLP Stemmer[5]. O algoritmo é baseado em uma série de regras para remover as variações de gênero, número, diminutivo e aumentativo. O funcionamento do RSLP Stemmer pode ser visto na Figura1, retirada do artigo original dos autores.

Como descrito pelos autores [5], as regras buscam reproduzir o processo humano na língua portuguesa para identificar os radicais das palavras. São considerados radicais o elemento que contém o significado básico de uma palavra e a partir do qual pode constituir-se uma família de palavras. Ao contrário da raiz, ele não concentra sua significação de um aspecto diacrônico (histórico), e sim sincrônico (independente da raiz histórica).

Figura 1. Pipeline de Stemmetização do RSLPStemmer

Ou seja, não importa se no portal do ente público as palavras estejam escritas no plural, infinitivo ou conjugadas no presente, futuro ou passado, pois elas serão normalizadas. O Confúcio analisa a presença dos radicais relacionados à COVID-19 e suas variações juntamente com palavras relacionadas ao patrimônio público. Alguns exemplos de frases que colaboram para a detecção de aba COVID-19 podem ser vistas na Tabela 1. Vale salientar que se esse texto estiver contido em imagens o Confúcio não estará habilitado para extrair essas informações.

Frase

Detecção de Aba COVID

Dados de Transparência sobre o COVID-19

Sim

Dados de Despesas

Não

Despesas Relacionados ao Coronavírus

Sim

Gastos e Despesas do Município

Não

Valores de Pagamentos referente ao combate do COVID-19

Sim

Tabela 1 - Frases e resultados para a detecção de aba COVID.

Por último, existe a verificação via html da página. Em alguns casos específicos é necessário que a verificação da aba COVID-19 seja feita via tags do html da página, pois o texto não pode ser lido pela extração feita inicialmente. Entretanto, recomenda-se que os portais não dependam desse método para detecção de aba COVID-19.

Sendo a detecção de aba COVID-19 por html, a extração por análise por contexto semântico e a detecção por url, a pontuação de aba covid é dada por:

Desta forma, para que o portal considere que existe uma aba COVID-19 basta ao CONFÚCIO uma pontuação para que a aba COVID-19 seja detectada.

2.4 Despesas

Para extração de despesas relacionadas ao COVID-19, o CONFÚCIO possui um extrator para cada portal. Diferentemente dos passos anteriormente citados, o CONFÚCIO terá um processo específico para cada município. Entretanto, existem um série de boas práticas que possibilitam que o Confúcio avalie positivamente o ente público.

O sistema começa o processo sempre visitando a página inicial onde estão localizadas as despesas. Tenta-se sempre reproduzir o processo feito pelo usuário. Entretanto, caso o sistema de transparência possua uma API que forneça os dados procurados será um grande ganho para o processo.

O caso ideal para o CONFÚCIO é que todos os dados procurados estejam contidos em uma única tabela. Caso o portal conte com uma única página de forma tabular que contenha todas as informações desejadas, o sistema será capaz de extrair as informações facilmente. Entretanto, sabe-se da complexidade de inserir todas as informações de uma despesa em uma única linha. Desta forma, o segundo estado ideal para o Confúcio ocorre quando todos os dados do resumo da despesa estão em uma tabela única com mais uma requisição para buscar os detalhes adicionais, como quantidade de itens, descrição, valores unitários e unidade de medida. Entretanto, ressalta-se que a requisição do detalhe deve utilizar de método que não dependa do backend para reproduzir o processo.

O valores apresentados para o usuário final do CONFÚCIO são o resultado da soma dos VALORES PAGOS pelas despesas. Os dados de valores liquidados e empenhados são salvos nos bancos para análise de outras métricas.

3. Cálculo da Nota

O cálculo da nota gerada pelo Confúcio é feita 3 vezes ao dia para cada portal da transparência cadastrado no sistema. A nota  é resultado de uma simples soma de métricas  extraídas como descrito no tópico 2, sendo dada por:

,

 onde  é o número de métricas do confúcio que pode ser consultada no próprio portal e  é o peso da métrica  considerada pelo confúcio, sendo . A lista de pesos do confúcio adotada na versão 1.4 pode ser vista na Tabela 2.

Métrica

Site Online

25

Possui Aba COVID

50

Possui DNS

25

Possui Glossário

25

Possui FAQ

25

Possui E-mail

25

Possui Telefone

25

Possui Filtro de Busca

33.334

Possui Download

33.334

Possui Dados Tabulares

33.334

Disponibilidade

100

Série Histórica

0, 25, 50, 75 ou 100

Possui Natureza da Despesa

20

Possui Elemento da Despesa

20

Possui Nome/CNPJ do Fornecedor

80

Possui Valor da Despesa

80

Possui Pagamento

30

Possui Liquidação

30

Possui Empenho

40

Possui Descrição dos Itens

50

Possui Quantidade por Item

100

Possui a Unidade do Item

100

Possui o Valor por Item

100

Possui o Valor Total por Item

100

Possui o Valor Total da Compra

50

Tabela 2. Pesos  das métricas

Na versão que este documento é escrito é , sendo modificado de acordo com cada execução do confúcio e de acordo com a adição de novas métricas.

4. Referências

[1] - M. Toots, K. McBride, T. Kalvet and R. Krimmer, "Open Data as Enabler of Public Service Co-creation: Exploring the Drivers and Barriers," 2017 Conference for E-Democracy and Open Government (CeDEM), Krems, 2017, pp. 102-112, doi: 10.1109/CeDEM.2017.12.

[2]-Willett, Peter. (2006). The Porter stemming algorithm: Then and now. Program electronic library and information systems. 40. 10.1108/00330330610681295.

[3]-Saif, Hassan & Fernandez, Miriam & Alani, Harith. (2014). On stopwords, filtering and data sparsity for sentiment analysis of twitter. Proceedings of the 9th International Language Resources and Evaluation Conference (LREC'14). 810-817.

[4]-Nielson, Rex P., and Jeremy Browne. The Machado de Assis Digital Corpus Project, 21 October 2018, http://machado.byu.edu

[5]-FLORES, F.; MOREIRA Viviane P.; Heuser, C. A. Assessing the Impact of Stemming Accuracy on Information Retrieval. In: International Conference on Computational Processing of Portuguese Language (PROPOR 2010), 2010 p. 11-20

FAQ - CONFÚCIO


Destina-se a responder dúvidas frequentes e detalhar especificações técnicas do Sistema Confúcio:

F A Q

1 - O critério “Saúde do Portal” avalia a existência da ABA COVID; entretanto, em que pese não haver despesas discriminadas, mesmo assim, o município recebeu a nota 100.

R - A avaliação deste critério ocorre apenas pela mera disponibilização da ABA COVID no Portal da Transparência do Município, em atendimento ao art. 4º, §2º da Lei 13.979/2020. A avaliação da despesa propriamente dita se dará por meio de outros critérios, ainda em construção.

2 - Porque a Cor do Município no Mapa varia diariamente?

R - A cor do mapa representa o último acesso realizado ao Portal da Transparência do Município, ou seja, caso o Confúcio não tenha êxito no acesso ele irá representar a cor do Município como vermelho, e se esse acesso for bem sucedido na próxima coleta, a cor irá mudar para amarelo ou verde.

3 - Onde vejo os itens referente aos critérios do CONFÚCIO?

R -  Clicando no nome referente a cada critério será mostrado os itens referente ao cálculo da nota do critério.

4 - Como é realizada a coleta dos do critério disponíveis no CONFÚCIO?

R - Esse é o primeiro critério a ser coletado durante as verificações diárias e é a condição para que os outros critérios sejam coletados ou não. Não é possível realizar a coleta de dados se o site estiver indisponível. Explicando de uma forma simples, é armazenada a informação sobre a disponibilidade do portal (se o portal está online ou não), calculando assim a média dos últimos 60 sessenta dias, de modo a se atribuir a nota de 0 até 100 pontos. Mais informações acerca desse critério podem ser obtidas no documento de metodologia de extração, disponível na aba Metodologia.

5 - Como é calculado o critério de “Disponibilidade do Portal”?

R -   Esse é o primeiro critério a ser coletado durante as verificações diárias e é a condição para que os outros critérios sejam coletados ou não. Note-se que, naturalmente, não será possível realizar a coleta de dados se o site estiver indisponível. Explicando de uma forma simples, é armazenada a informação sobre a disponibilidade do portal (se o portal está online ou não), calculada então a média dos últimos 60 sessenta dias e é apresentada a nota  de 0 até 100 pontos. Mais informações acerca desse critério podem ser consultadas no documento de metodologia de extração, disponível na aba Metodologia.

DATASETS - CONFÚCIO


Conjunto de dados para download

Conjunto de dados disponibilizados referentes à última coleta realizada pelo CONFÚCIO.