DETECCIÓN DE CONTRATISTAS MULTIOBJETO MEDIANTE TEXT MINING PARA FOCALIZAR EL EJERCICIO DEL CONTROL Y VIGILANCIA FISCAL
DETECCIÓN DE CONTRATISTAS MULTIOBJETO MEDIANTE TEXT MINING PARA FOCALIZAR EL EJERCICIO DEL CONTROL Y VIGILANCIA FISCAL
XXXXXX XXXXXXXXX XXXXX XXXXXXX
DETECCIÓN DE CONTRATISTAS MULTIOBJETO MEDIANTE TEXT MINING PARA FOCALIZAR EL EJERCICIO DEL CONTROL Y VIGILANCIA FISCAL
XXXXXX XXXXXXXXX XXXXX XXXXXXX
TRABAJO DE GRADO
DIRECTOR DE TRABAJO DE GRADO
Xxxx Xxxxxxx Xxxxx – Magister en Ciencias de la Información y las comunicaciones. Candidato a Doctor en Ciencias de la Computación
Nota de aceptación
Firma presidente jurado
Firma xx xxxxxx
Firma xx xxxxxx
Bogotá D.C., de de .
Dedicatoria
A Dios, a mis padres que en vida esperaron este logro y desde el Cielo lo ven realizado. A mi hijo motor de mi esfuerzo, a mis hermanos, cuñados y sobrinos por el apoyo incondicional aún en los más duros xxxxxxxx0.
CONTENIDO
3.1 ENTENDIMIENTO DEL NEGOCIO 15
3.2 ENTENDIMIENTO DE LOS DATOS 17
3.3 PREPARACIÓN DE LOS DATOS 21
3.5 EVALUACIÓN Y RESULTADOS 26
LISTA DE TABLAS
TABLA 1 ATRIBUTOS DEL CONJUNTO DE DATOS DE ENTRADA Y ATRIBUTOS DE INTERÉS.17 TABLA 2 CATEGORÍAS INICIALES Y SUBCATEGORÍAS DEFINITIVAS. 18
TABLA 3 PORCENTAJES DE EXACTITUD POR MODELO. 27
TABLA 4 MÉTRICAS DE COMPORTAMIENTO DEL MODELO. 28
TABLA 5 CONTEO DE CANTIDAD DE CATEGORÍAS POR IDENTIFICADOR DEL CONTRATISTA.29
LISTA DE FIGURAS
FIGURA 1 METODOLOGÍA DEL PROYECTO BASADA EN CRISP-DM. 14
FIGURA 2 DIAGRAMA RESUMEN DEL PROCESO AUDITOR EN LA CGR. 16
FIGURA 3. ESQUEMA DE ENTENDIMIENTO DE LOS DATOS. 18
FIGURA 4 DISTRIBUCIÓN DE LOS DATOS PARA LAS 6 CATEGORÍAS EN PRIMER NIVEL. 19 FIGURA 5 DISTRIBUCIÓN DE LOS DATOS PARA LAS 21 CATEGORÍAS EN SEGUNDO NIVEL.20 FIGURA 6 PROCESO DE PREPARACIÓN DE LOS DATOS. 21
FIGURA 7 NUBE DE PALABRAS POR CADA CATEGORÍA. 22
FIGURA 8 DISTRIBUCIÓN DE PRINCIPALES PALABRAS EN EL CONJUNTO DE DATOS. 22 FIGURA 9 PROCESO DE MODELAMIENTO. 23
FIGURA 10 RESULTADOS PRUEBA CHI-CUADRADO PARA LOS TÉRMINOS MÁS RELEVANTES. 24 FIGURA 11 CONSTRUCCIÓN DE DEL MODELAMIENTO DEL PROYECTO. 25
FIGURA 12 EXACTITUD DE LOS MODELOS UTILIZADOS EN EL PROYECTO. 26
FIGURA 13 MATRIZ DE CONFUSIÓN DE LOS VALORES PREDICHOS VS. LOS VALORES DE PRUEBA.
FIGURA 14 MÉTRICAS DE COMPORTAMIENTO DEL MODELO. 30
GLOSARIO
PROCESO DE RESPONSABILIDAD FISCAL
De acuerdo al artículo 1ro de la ley 610 de 2000, se define como “el conjunto de actuaciones administrativas adelantadas por las Contralorías con el fin de determinar y establecer la responsabilidad de los servidores públicos y de los particulares, cuando en el ejercicio de la gestión fiscal o con ocasión de ésta, causen por acción u omisión y en forma dolosa o culposa un daño al patrimonio del Estado”. 2000, Congreso de la República.[6]
MALLAS EMPRESARIALES
Se define como “malla empresarial a la conformación de uno o varios grupos con un número reducido de contratistas que concentran un gran volumen de contratación en número y valor de contratos, mediante el uso de uniones temporales (UT) y consorcios”. Tomado de la edición número 356 de la revista Economía Colombiana, de la Contraloría General de la República[7]
CONTRATISTA MULTIOBJETO
“Los contratistas multiobjeto son aquellos que reflejan patrones en la forma de asociarse temporalmente con personas y/o empresas con experiencia para conseguir contratos en diferentes sectores”. Tomado de la edición número 356 de la revista Economía Colombiana, de la Contraloría General de la República[7]
OCÉANO
“Océano es la iniciativa del contralor en el periodo del 2018 al 2022 y responde a la misión de la Contraloría General de aprovechar los recursos tecnológicos como herramienta para el control y la vigilancia de la gestión fiscal”. Tomado de la edición número 356 de la revista Economía Colombiana, de la Contraloría General de la República[7]
INTRODUCCIÓN
Entre los diferentes procedimientos para la detección del fraude en el marco de la Séptima Conferencia de Criminología Financiera (Xxxxxx R. 2015) se manifestó que las operaciones de auditoría siguen siendo las técnicas más relevantes para la detección de fraudes, lo cual revela la importancia del rol auditor en la detección de estos fenómenos. Y aunque estos se encuentren supeditados a la legislación o características socio-demográficas de los países, existen métodos que son aplicables en diferentes contextos donde el proceso auditor requiera realizar esa búsqueda de patrones entre ellas la minería de datos para realizar clasificaciones, clusterización y segmentación de los datos de manera semiautomatizada, como el realizado en Rumania para detectar patrones de fraude en el sistema de salud (Xxxxxx A., 2010).
Mientras tanto, la Organización Internacional de las Entidades Fiscalizadoras Superiores INTOSAI, como ente rector de las Entidades Fiscalizadores Superiores EFS y cuyo objetivo principal es el de “promover el intercambio de ideas, experiencias y conocimientos entre las EFS de países alrededor del mundo” (INTOSAI,s.f), desde allí se realizan esfuerzos para facilitar el acceso y beneficio de las iniciativas de desarrollo de capacidades para que las EFS cumplan con su labor en cada nación. Según el Xx. Xxxxx Xxxxx Xx Xxxxx cabeza de esta entidad, menciona que “la automatización robótica de procesos tiene el potencial de consumir trabajo de auditoría repetitivo y hacerlo de manera más precisa, confiable e incansable en una fracción del tiempo” (Xxxxxx. K. 2020).
Debido a lo anterior, se han suscitado iniciativas en esta materia dentro de las EFS tales como la identificación de riesgos en la ejecución de los recursos públicos, asociados bien sea al contrato, a la entidad pública contratante o al contratista. Por ejemplo, la Contraloría de Bogotá (2018) como Entidad Fiscalizadora Territorial, expuso un ejercicio de uso de técnicas de minería de datos en el Concurso Regional sobre Buena Gobernanza Edición 2018 OLACEFS - Ventajas de la utilización del Big Data, en las labores de auditoría fiscal, logrando establecer proceso de responsabilidad fiscal por USD 72.000 en dos hallazgos, mediante el cruce de información y extracción de textos para identificar fraudes en la asignación de bonos de alimentos para las vigencias de 2016 y 2017.
De igual forma, la Contraloría General de la República de Colombia (CGR), como ente superior de control fiscal a nivel nacional, en 2019 dio a conocer la iniciativa
Océano (ahora la Dirección de Análisis, Información y Reacción Inmediata), que surge con el fin de brindar una solución apremiante a esta brecha entre la labor de vigilancia en la correcta ejecución de los recursos públicos y la capacidad tecnológica para poder cumplir con su labor constitucional. Dentro de los logros obtenidos se pudo establecer con una alta certeza, las cifras de contratación, detección de riesgos mediante mallas empresariales, cruces con otras fuentes de información para establecer inhabilidades de contratación, análisis de contratistas multiobjeto, que como indica el Contralor General Xxxxxx Xxxxxxxx (2019) “son aquellos contratistas que reflejan patrones en la forma de asociarse temporalmente con personas y/o empresas con experiencia para conseguir contratos en diferentes sectores”, y por esto generan riesgos de posible cartelización, atrasos en la ejecución y finalmente redunda en incumplimientos contractuales.
A pesar de los trabajos anteriormente mencionados en el proceso de detección de fraudes, aun en el tema de detección de contratistas multiobjetos no existen trabajos previos que automaticen dicha labor. Por lo anterior este trabajo aporta en el proceso de detección de estos contratistas multiobjeto para facilitar la labor del proceso auditor, mediante una clasificación multiclase de los objetos contractuales que hacen referencia principalmente a los temas que se contratan. Esta idea se encuentra soportada en estudios que sugieren que “la detección del fraude mediante el empleo de un proceso automático permite clasificar de forma masiva operaciones o sujetos e identificar casos de alto riesgo” (Xxxxxxx-Xxxxxx, 2018), basados principalmente en cuatro pasos: la detección del fraude, la investigación del fraude, la confirmación del fraude y la prevención del fraude, lo cual en entidades financieras o gubernamentales ha sido fundamental para frenar procesos de fraude y corrupción incluso antes que ocurran.
Para lograr el propósito mencionado previamente, en el presente proyecto se utilizaron xxlos algoritmos de mayor uso en la clasificación multiclase que según Xxxxxxx (2005) son: Árboles de Decisión, K-Vecinos cercanos, Bayes Ingenuo, y Máquinas de Soporte Vectorial, Redes Neuronales Perceptrón Multicapa. Los Árboles de Decisión (Song, Y, 2015) permiten clasificar los ejemplos tomándolos principalmente desde la raíz hasta algún nodo hoja particionando los datos en función del valor del atributo; K-Vecinos cercanos (X.Xxxxxx 2018) es un algoritmo de clasificación que usa los datos directamente para la clasificación, por lo que no se hace necesario considerar detalles de la construcción del modelo y su único parámetro ajustable es la cantidad de vecinos cercanos k, para estimar la pertenencia o no en una clase puntual; Bayes Ingenuo Multinomial (X.Xxxxxx 2018) es un clasificador probabilístico basado en la predicción de la probabilidad de
posibles resultados en una categoría, para ello se requieren ejemplos previamente definidos; Máquinas de Soporte Vectorial (Xxxxxx, J. D. M. 2001) son algoritmos de aprendizaje supervisado para problemas de regresión y reconocimiento de patrones, que construyen su solución basándose en un subconjunto de los datos de entrenamiento, se clasifican en SVM Lineal y No Lineal, en donde el modelo lineal parte de un conjunto de puntos etiquetados para entrenamiento linealmente separables y el no lineal resuelve el problema de los datos no separables hasta un cierto grado guardando un grado de error en la clasificación y por último redes neuronales de tipo Perceptrón Multicapa (Xxx, B. M. 2020) que es un tipo especial de red neuronal en el cual se apilan varias capas de perceptrones que generan una predicción para una entrada de acuerdo con una función de activación.
En cuanto a la estructura del presente documento, observamos en la sección II Materiales y Métodos, el marco metodológico bajo CRISP-DM que se realizó para realizar el entendimiento de los datos, preprocesamiento y construcción del modelo así como los desafíos que implicó la realización de estas labores. En la sección III, se mostrarán los resultados del ejercicio y allí se podrá observar las puntuaciones de los modelos utilizados. En la sección IV se tendrá la discusión respecto a las dificultades en los datos, las categorías y la interpretación que el modelo tiene respecto a los mismos y finalmente en la sección V, se muestran las conclusiones del ejercicio lecciones aprendidas y aspectos a tener en cuenta en el mantenimiento y mejora del presente modelo.
1. RESUMEN
Las Entidades Fiscalizadoras Superiores y en específico su ente rector, la Organización Internacional de las Entidades Fiscalizadoras Superiores INTOSAI, ha impulsado en los últimos 4 años iniciativas encaminadas al uso tecnologías y métodos en las Entidades Fiscalizadoras Superiores para sus procesos de vigilancia y fiscalización, que sean replicables y que tengan resultados tangibles en el contexto fiscal.
En este sentido, la Contraloría General de la República de Colombia, viene fortaleciendo su infraestructura tecnológica y capacidades técnicas para mejorar y optimizar sus esfuerzos para vigilar los recursos de los colombianos, y aunque esta tarea no es sencilla ha logrado detectar patrones de aquellos contratistas que acaparan la contratación estatal logrando estar en diferentes sectores económicos sin probablemente tener la competencia técnica para cumplir el objeto contractual estipulado, estos contratistas se les conoce en el ámbito de la contraloría General como contratistas “multiobjeto”.
En el presente artículo, se muestra la construcción de un conjunto de datos de 1.998 registros etiquetado por expertos, correspondiente a contratos del sector educativo con el cual se hicieron el entrenamiento y las pruebas sobre un clasificador automático construido para los objetos contractuales con el fin de detectar los presuntos contratistas “multiobjeto”. Adicionalmente, se encontró que el mejor algoritmo de clasificación fue Máquina de Soporte Vectorial Lineal con una exactitud de 84% el cual permitió finalmente listar por agrupamiento los presuntos contratistas multiobjeto.
Palabras clave: minería de texto, aprendizaje de máquina, contratación estatal, control fiscal.
2. ABSTRACT
The Supreme Audit Institutions and specifically its governing body, the International Organization of Supreme Audit Institutions INTOSAI, has promoted in the last 4 years initiatives aimed at the use of technologies and methods in the Supreme Audit Institutions for their surveillance and audit processes, which are replicable and have tangible results in the fiscal context.
In this sense, the Comptroller General of the Republic of Colombia has been strengthening its technological infrastructure and technical capacities to improve and
optimize its efforts to monitor the resources of Colombians, and although this task is not easy, it has managed to detect patterns of those contractors that They monopolize state contracting, managing to be in different economic sectors without probably having the technical competence to fulfill the stipulated contractual object. These contractors are known in the field of the General Comptroller's office as “multi- object” contractors.
In this article, the construction of a data set of 1,998 records labeled by experts is shown, corresponding to education sector contracts with which training and tests were carried out on an automatic classifier built for the contractual objects in order to detect suspected “multi-object” contractors. In addition, it was found that the best classification algorithm was the Linear Vector Support Machine with an accuracy of 84% which will eventually find, by grouping, the presumed multi-object contractors.
Keywords: text mining, machine learning, state’s procurement, Fiscal Control and Surveillance.
3. METODOLOGÍA
La metodología utilizada en el desarrollo del presente proyecto fue CRISP-DM (Xxxxx R., 2000), por su uso generalizado en gran parte de los proyectos de minería de datos,...el modelo de proceso CRISP-DM tiene como objetivo hacer grandes proyectos de minería de datos, menos costosos, más confiables, repetibles, manejables y de rápida ejecución”. En cada fase explicaremos las actividades desarrolladas para este proyecto la cual se encuentra resumida en la figura 1.
FIGURA 1 METODOLOGÍA DEL PROYECTO BASADA EN CRISP-DM.
Fuente: Construcción propia
Gran parte del desarrollo se fundamentó en el ejercicio de Xxxxx Xx (2018) (Multi- Class Text Classification with Scikit-Learn), el cual muestra el problema de “Clasificación de las quejas de financiación del consumidor” que permite realizar una clasificación multiclase a partir del texto de las quejas de clientes la categorización del producto financiero al cual se está refiriendo y que puede ser replicable salvo algunos aspectos del negocio que son del contexto propio del control fiscal.
Como herramientas se utilizó Python 3 en Google Colab con el uso de bibliotecas como scikit-learn que tiene un ecosistema de algoritmos de clasificación propicio para el desarrollo del proyecto y NLTK para el entendimiento de lenguaje natural en el procesamiento y extracción de los textos de los objetos contractuales. En la exploración de los datos también se utilizó una herramienta para minería de datos
llamada Knime para integración y pruebas en la construcción del conjunto de datos pre-entrenado.
3.1 ENTENDIMIENTO DEL NEGOCIO
En esta primera fase, se brinda un contexto más amplio del estado en el que se encuentra la CGR en materia de implementación de tecnologías para el seguimiento de la contratación y como este proyecto responde a la necesidad que presenta dentro de su proceso auditor (control fiscal micro).
La Contraloría General, en su Plan Estratégico (2018) plantea en el objetivo 5 la búsqueda del fortalecimiento de las capacidades y servicios tecnológicos para impulsar la transformación digital y por ello ha implementado el uso de tecnologías disruptivas, con el fin de analizar masivamente información y detectar patrones de comportamiento atípico, que generen riesgos en la contratación y ejecución presupuestal del recurso público.
En la información recopilada para sus procesos de auditoría fiscal, la Contraloría ha logrado recopilar varias fuentes de información contractual para tener la Base de Datos más cercana a la realidad, por lo cual es necesario para la entidad involucrar técnicas avanzadas de minería de datos para generar valor y brindar agilidad a los procesos auditores.
En la figura 2, se observa de manera resumida uno de los procesos que realiza la CGR como ente de fiscalización y es el proceso auditor que consiste en la verificación de la gestión financiera y contable, gestión administrativa y contractual de las entidades que son sujetos vigilados por este órgano de control. Como todo proceso auditor es necesario que el equipo auditor conozca y planee la auditoría teniendo previo conocimiento de la información con la que cuenta la entidad, la evaluación de riesgos y el alcance de la auditoría que culmina con la construcción del plan y programa de auditoría, como siguiente etapa se realiza la auditoría in situ, de acuerdo con la planeación establecida y siguiendo las guías de auditoría de la CGR, culminando con la identificación de hallazgos y la elaboración del informe final. El aporte de este proyecto se fundamenta en brindar las herramientas para la
fase de planeación específicamente en el conocimiento en detalle y el esquema de auditoría para los contratistas multiobjeto.
FIGURA 2 DIAGRAMA RESUMEN DEL PROCESO AUDITOR EN LA CGR.
Fuente: Construcción propia
Para lo anterior es necesario clasificar los objetos contractuales de los registros reportados en la contratación del Estado colombiano para la fuente SECOP I (Sistema Electrónico de Contratación Pública), para el sector de Educación, que se encuentra disponible en la página web de Colombia Compra Eficiente, mediante la puesta en práctica de técnicas de minería y clasificación de textos para identificar los contratistas que tienen la característica de multiobjeto, es decir, que en la clasificación resultante tengan dos o más categorías asignadas.
Se propuso para el desarrollo del presente proyecto las siguientes actividades principales:
1. Identificar las categorías óptimas de clasificación que se asignen a los objetos contractuales.
2. Realizar el comparativo de validación de modelos de clasificación de texto para determinar el que más generalice la realidad.
3. Ejecutar el modelo seleccionado y clasificar los objetos contractuales.
4. Establecer los contratistas con multiplicidad de objetos.
3.2 ENTENDIMIENTO DE LOS DATOS
En esta segunda fase, se describe el proceso de obtención y análisis preliminar de los datos que se utilizaron en el ejercicio, de igual forma se realiza la identificación de las categorías que fueron utilizadas en el conjunto de datos de entrenamiento.
Se realizó la descarga de 1.109.534 registros de contratos suscritos en el año 2019 de la plataforma de datos abiertos Colombia Compra Eficiente en archivo plano (csv), el cual tiene 71 atributos (ver tabla 1), que incluyen las variables de interés para nuestro ejercicio: UID (tipo texto) Valor compuesto para identificar de manera individual cada registro, Nombre de la Entidad (tipo texto): Nombre de la Entidad del estado a la que corresponde el proceso y de la cual seleccionaremos los registros que son de las entidades del sector educación, Detalle del Objeto a Contratar (tipo texto): registra un detalle de la definición del bien o servicio que se adquirirá dentro del proceso.
TABLA 1 ATRIBUTOS DEL CONJUNTO DE DATOS DE ENTRADA Y ATRIBUTOS DE INTERÉS.
Fuente: Construcción propia
Se seleccionaron los registros que son del sector Educación (10.120 registros) como se muestra en la figura 3.
FIGURA 3. ESQUEMA DE ENTENDIMIENTO DE LOS DATOS.
Fuente: Construcción propia
Mediante juicio de expertos se realizaron 3 iteraciones para discutir y establecer cuáles serían las categorías óptimas para clasificar los objetos en el sector educación. En la primera iteración se establecieron 6 categorías principales. En las siguientes iteraciones se determinó que el modelo tendría resultados más acertados al utilizar un segundo nivel, para así reducir la probabilidad que el clasificador tuviese ambigüedades por clases que fueran demasiado genéricas (por ejemplo para el caso de los contratos de prestación de servicios como se explica en el “entendimiento de los datos”).
En la tabla 2 se muestran las 21 categorías definitivas para el desarrollo del modelo:
TABLA 2 CATEGORÍAS INICIALES Y SUBCATEGORÍAS DEFINITIVAS.
Fuente: Construcción propia.
Se seleccionó una muestra de 1000 registros de los 10.120 del sector, para ser validado en las primeras 6 categorías generales por medio de expresiones regulares y palabras clave en cada una de ellas. Sin embargo, en el análisis y juicio de expertos se logró determinar una coincidencia en la clasificación humana entre los 3 expertos, respecto a las reglas de expresiones regulares de un 78%, también se detectó que las ambigüedades entre los anotadores se encuentran sesgadas hacia prestación de servicios o suministros, por lo cual se hizo necesario subcategorizar esas dos clases para reducir este efecto y balancear la muestra (ver figura 4).
FIGURA 4 DISTRIBUCIÓN DE LOS DATOS PARA LAS 6 CATEGORÍAS EN PRIMER NIVEL.
Fuente: Elaboración en Python.
Debido a lo anterior, se optó por realizar subcategorías junto con el juicio de expertos para superar el sesgo de lo explicado anteriormente. De estas principales se definieron 21 subcategorías que se tomarán para reducir ambigüedades en la clasificación.
Para esto se tomó una muestra de 100 registros por subcategoría, cuando la cantidad de registros así lo permitían, para clasificarlo manualmente e incluirlos en el modelo como se muestra en la figura 5.
FIGURA 5 DISTRIBUCIÓN DE LOS DATOS PARA LAS 21 CATEGORÍAS EN SEGUNDO NIVEL.
Fuente: Elaboración en Python.
Finalmente, el conjunto de datos construido para el entrenamiento de los modelos se compone de 1.998 registros con 16 campos de los cuales 3 serán los seleccionados para la construcción del modelo: El objeto contractual (será la variable de entrada), clasificación2 (es la variable objetivo) y el UID (identificador único para integrar al conjunto de datos nuevamente y lograr identificar los contratistas multiobjeto).
3.3 PREPARACIÓN DE LOS DATOS
En esta fase se realiza la limpieza y mejora en la calidad de los datos del corpus. El procesamiento de los datos como aspecto fundamental en el desarrollo de este proyecto se muestra de manera resumida en la figura 6 y consistió en la construcción de funciones iterables a través de expresiones regulares y uso de otras contenidas en la librería NLTK y Scikit-learn para la limpieza y preprocesamiento de los datos en nuestra variable de entrada retirando principalmente: objetos contractuales vacíos, reduciendo a minúsculas, retirando números, tildes, diéresis espacios en blanco. La construcción de la lista de las stop words en español se realizó tomando inicialmente como base la contenida por defecto en la librería NLTK y fue complementada con palabras que generan ruido a nivel de negocio y de las geo palabras (tales como nombres de municipios y departamentos).
FIGURA 6 PROCESO DE PREPARACIÓN DE LOS DATOS.
Fuente: Elaboración propia.
Se realizó proceso de tokenización para determinar, de acuerdo a la frecuencia de aparición en el conjunto de datos, su relevancia dentro del corpus y así mismo se construyó por cada categoría una nube de palabras para determinar aquellas más representativas dentro de estas categorías, así como se aprecia en las figuras 7 y 8.
FIGURA 7 NUBE DE PALABRAS POR CADA CATEGORÍA.
Fuente: Elaboración en Python.
FIGURA 8 DISTRIBUCIÓN DE PRINCIPALES PALABRAS EN EL CONJUNTO DE DATOS.
Fuente: Elaboración en Python.
3.4 MODELAMIENTO
En esta fase, se construye el modelo a partir de la matriz de frecuencia de términos y se realiza exploración por medio de los n-gramas seleccionados, para luego realizar una evaluación del comportamiento de los algoritmos para encontrar el que mejor métrica de generalización tenga como se observa en la figura 9.
FIGURA 9 PROCESO DE MODELAMIENTO.
Fuente: Construcción propia
Debido a que los algoritmos de aprendizaje y clasificadores no pueden procesar los textos directamente, se construye una matriz de frecuencia de términos - frecuencia inversa de documentos (TF-IDF) con el vector de cada uno de los objetos contractuales. Para ello se establecieron los siguientes parámetros:
❖ sublinear_df = True para utilizarlo de forma logarítmica.
❖ min_df = 6 es el número mínimo de documentos que debe contener una palabra para conservarla.
❖ norm = l2, para utilizarlo con forma euclidiana 1.
❖ ngram_range = (1,3) ya que vamos a utilizar, unigramas, bigramas y trigramas.
❖ stop_words = quitar palabras las cuales contienen como se indicó en la fase anterior, las palabras en español de la librería NLTK y las geo palabras en Colombia.
El resultado fue una matriz de (1998, 1750), es decir, (1998) registros de objetos contractuales con (1750) características que representan la puntuación para los unigramas, bigramas y trigramas.
Para revisar cuales son los términos más relacionados en cada categoría por unigramas, bigramas y trigramas, se realizó una prueba chi-cuadrada. En la figura 11 se muestran algunos resultados de esta verificación:
FIGURA 10 RESULTADOS PRUEBA CHI-CUADRADO PARA LOS TÉRMINOS MÁS RELEVANTES.
Fuente: Elaboración propia en Python.
Se realiza la partición del conjunto de entrenamiento y pruebas el cual se definió en un 30% con método estratificado para balancear las 3 clases que menos registros tienen: “Convenio Gratuidad Educativa”, “Interventoría” y “Obra civil”.
Una vez se tienen las representaciones de los objetos en vectores se utiliza en los modelos seleccionados para este proyecto. La estrategia utilizada para garantizar independencia de los datos de entrenamiento y testeo, fue utilizar validación cruzada a 5 pliegues para aumentar la robustez del estimador y mantener la rigurosidad metodológica en la construcción del modelo.
La construcción del proceso descrito del modelamiento se resume a continuación en la figura 11.
FIGURA 11 CONSTRUCCIÓN DE DEL MODELAMIENTO DEL PROYECTO.
Fuente: Elaboración propia.
Con este modelo se obtendrá un avance en la identificación contextual de los objetos contractuales para las métricas en el sector educación principalmente y que puede al momento de extender el conjunto de categorías, ser aplicable a otros sectores de interés (ver sección V).
3.5 EVALUACIÓN Y RESULTADOS
Los hiper-parámetros seleccionados para los modelos comparados fueron los siguientes:
• MLPClassifier (hidden_layer_sizes=(80)) 🡺 Se establecieron 80 neuronas en 1 capa oculta.
• LinearSVC (random_state=0) 🡺 Se dejaron los parámetros por defecto.
• MultinomialNB ()🡺 Se dejaron los parámetros por defecto.
• DecisionTreeClassifier (random_state=0) 🡺 Se dejaron los parámetros por defecto.
• KNeighborsClassifier (n_neighbors=100) 🡺 Se definieron 100 vecinos cercanos.
Una vez seleccionados los modelos se realizó una comparación para ver cuál de ellos tiene mejor comportamiento por la métrica de Exactitud, como se muestra en la Figura 12, la máquina de soporte lineal con un 81,68%, seguido del árbol de decisión con un 81,08% y Perceptrón Multicapa con un 73,28% (ver Tabla 3).
FIGURA 12 EXACTITUD DE LOS MODELOS UTILIZADOS EN EL PROYECTO.
Fuentes: Elaboración propia en Python.
TABLA 3 PORCENTAJES DE EXACTITUD POR MODELO.
Clasificador | Accuracy |
Linear SVC | 81,68% |
Decision Tree Classifier | 81,08% |
MLP Classifier | 73,28% |
Multinomial Naive Bayes | 73,18% |
Kneighbor Classifier | 70,47% |
Fuente: Elaboración Propia.
Se seleccionó la máquina de soporte lineal debido a que tiene los mejores resultados. Al realizar la prueba del modelo respecto al y-test, y-predict se obtuvo un comportamiento adecuado en la matriz de confusión (Figura 13) y su nivel de generalización es adecuado sin presentar sobreajuste, sin embargo, se presentan algunos casos de falsos positivos en la clasificación para las categorías “Servicios auxiliares de apoyo a la gestión”, “elementos de oficina y aseo” y “otros convenios” principalmente.
FIGURA 13 MATRIZ DE CONFUSIÓN DE LOS VALORES PREDICHOS VS. LOS VALORES DE PRUEBA.
Fuente: Elaboración propia en Python.
En el análisis realizados de los casos que en la categoría “convenios de actividades deportivas” fueron erróneamente fueron clasificados como “otros convenios”, se observa que el contenido gramatical si pertenecen al conjunto de convenios por lo que este nivel de error puede ser aceptable en el contexto del negocio, así como los contratos de prestación de servicios que fueron pronosticados como “servicios auxiliares, técnicos y de apoyo a la gestión” ya que esta es una categoría que sigue estando en la misma línea categórica. Para el caso de los registros que siendo de “otros suministros” fueron pronosticados como “Elementos de Oficina y Aseo”, si se podría considerar el aumentar el tamaño de muestra para que el corpus de la matriz documentos términos contemple otros términos que permitan en una siguiente iteración clasificar mejor esta categoría.
Finalmente se realizó una exploración mediante una prueba chi-cuadrada para determinar los términos más relacionados, encontrando que son acordes con las categorías a las que se predijeron.
A continuación se muestra la Tabla 4, las categorías con el resultado del modelo en las métricas de F1-Score, Exactitud, Support y Precisión:
TABLA 4 MÉTRICAS DE COMPORTAMIENTO DEL MODELO.
Fuente: Elaboración propia en Python.
Las clases que mejor f1-score presentan son “CONVENIO Y GRATUIDAD EDUCATIVA” (100%), “ARRIENDO INMUEBLE” (99%), “OBRA CIVIL” (97%) e
“INTERVENTORÍA” (96%) muy probablemente porque estas categorías son bastante específicas dentro del contexto del contrato y se generalizan adecuadamente. Por el contrario, las clases que no presentan “ELEMENTOS DE OFICINA Y ASEO” (63%), “PRESTACIÓN DE SERVICIOS” (63%), OTROS
SUMINISTROS (65%) ya que como se expuso previamente, pueden crearse ambigüedades con otras categorías que se encuentren en un contexto similar. La exactitud general para el modelo lineal con los datos de predicción es de 84%, lo cual es bastante bueno para el propósito del proyecto.
Como el objetivo final es identificar los contratistas multiobjeto, o aquellos que están presentes en más de dos categorías, se realiza un agrupamiento por identificador de contratista y el número de categorías que se les asignó de acuerdo al clasificador construido, se realizó por último el conteo bajo estos parámetros para el conjunto de datos de los 10.120 registros del sector educación, como se aprecia en la Tabla 5.
TABLA 5 CONTEO DE CANTIDAD DE CATEGORÍAS POR IDENTIFICADOR DEL CONTRATISTA.
Fuente: Elaboración propia en Python.
Por último se realiza un histograma (figura 14) para comprobar la distribución de los contratistas que tienen dos o más categorías con el fin que el proceso auditor pueda focalizar sus esfuerzos. Es evidente que este agrupamiento le permitirá revisar los
contratos sobre aquellos contratistas que tienen 3 o más categorías y revisar su correcta ejecución.
FIGURA 14 MÉTRICAS DE COMPORTAMIENTO DEL MODELO.
Fuente: Elaboración propia en Python.
4. DISCUSIÓN DE RESULTADOS
Es de amplio conocimiento en el ámbito del aprendizaje automático que el éxito resultado que un modelo recree, se debe en gran medida a la calidad de los datos de entrada y en el caso de aquellos enfocados a minería de texto para clasificación cobra aún mayor relevancia. Para nuestro caso el conjunto de datos de contratos en la variable de entrada que es el objeto contractual, presenta inconvenientes de ambigüedad respecto al contexto del fin contractual, es decir que la finalidad del objeto a contratar por la redacción del mismo, puede confundir al algoritmo y clasificarlo equivocadamente en otro (pej. “PRESTAR LOS SERVICIOS PROFESIONALES PARA BRINDAR APOYO LOGÍSTICO EN LAS OLIMPIADAS
DEPORTIVAS DEL MUNICIPIO XYZ”, en el cual se perciben 3 categorías: Prestación de servicios, logística y transporte y Convenios en actividades deportivas
). Otro aspecto que se detectó en la construcción de este modelo, y que puede mejorarse en futuras iteraciones, es la cantidad de información respecto a la descripción del objeto, que en algunos casos puede ser insuficiente y no sea claro para que el modelo tome una decisión acertada al momento de clasificar. (p.ej. objeto = “MÉDICO GENERAL”, “ENFERMERA”).
Por otra parte, el volumen de datos por categoría hace parte esencial en este tipo de modelos, por lo cual se recomienda de acuerdo con la experiencia, tratar en lo posible tener la mayor cantidad de registros preclasificados por categoría y que se encuentren balanceado, pues a pesar de utilizar la estrategia estratificación dentro de los parámetros de particionamiento en entrenamiento y prueba, es preferible en lo posible que los datos se encuentren balanceados desde el inicio, para reducir el nivel de sesgo en la clasificación.
En general, se puede establecer una necesidad casi que crear categorías, para el caso de la Contraloría General de la República, específicas para cada sector, salvo aquellas que sean transversales (caso como apoyo jurídico entre otros), para ello se recomienda que el ajuste se realice con un análisis preliminar de los objetos y los contextos con un grupo de expertos del negocio para así determinar de manera focalizada las categorías óptimas para el sector en estudio.
Es posible mejorar el comportamiento y capacidad de generalización de los modelos explorado la parametrización de estos mediante grid-search lo cual probablemente no solo aumente una métrica como la eficacia, sino que puede incluso marcar la diferencia de comportamientos entre los dos modelos que mayor exactitud obtuvieron (máquina de soporte vectorial y árbol de decisión).
Respecto al comportamiento de n-gramas, los resultados muestran que son los unigramas y bigramas los que aportan más a la generalización del modelo seleccionado.
Finalmente, en el agrupamiento de los casos de presuntos multiobjeto, se evidencia también clasificaciones de similar índole en la clase, los cual puede aumentar la presencia de falsos positivos, los cuales pueden en una siguiente iteración mediante reglas de asignación de scores de incompatibilidad entre clases, mejorar la asertividad de la selección de la muestra para que el auditor revise aquellos contratistas que además de tener más de 2 clases en su conteo, tenga presencia de clases incompatibles en contratos suscritos por este.
5. CONCLUSIONES
Se logra el objetivo en el desarrollo de este proyecto de lograr identificar contratistas con 2 o más categorías que podrían en algún momento de la revisión profunda por parte del proceso auditor de la Contraloría General de la República, estar ante la presencia de un posible contratista multiobjeto y poder analizar comportamientos de posible cartelización. Este proyecto busca posicionarse como pionero en la detección de contratistas con esta característica.
Si bien el modelo es susceptible a mejoras en posteriores iteraciones, cabe resaltar que esta metodología brindará una herramienta semiautomatizada en la detección de dichos fenómenos y que la aplicación en otros sectores permitiría anticiparse a comportamientos licitatorios poco transparentes cuando la experticia del contratista no sea la adecuada para el desarrollo de un objeto contractual.
Se espera que este proyecto motive nuevas iniciativas en la Contraloría General de la República, para la detección temprana de otros fenómenos en temas de control y vigilancia fiscal en aras del control preventivo y concomitante recientemente otorgado por el legislativo, como nuevo mecanismo para la detección temprana de riesgos en materia fiscal.
BIBLIOGRAFIA
Xxxxxxx-Xxxxxx, X. X., Xxxxx Xxxxxx, X., & Xxxxx, J. M. (2018). Aplicación de métodos estadísticos, económicos y de aprendizaje automático para la detección de la corrupción. Revista Internacional de Transparencia e Integridad, 9, 7. xxxxx://xxxxxxx.xxxxxxxx.xx/xxxxxxx/xxxxxxxx?xxxxxxx0000000
Xxxxxx, X.-R., Xxxxxx, X., & Xxxxxx, X. (n.d.). 30 Big Data and Specific Analysis Methods for Insurance Fraud Detection Big Data and Specific Analysis Methods for Insurance Fraud Detection.
Contraloría General de la República, (2018) “Plan Estratégico Cgr 2018 - 2022.Pdf.” p. 23.
Xxxxxxx. L, Dulce. M, Xxxxxxx. X Xxxxx. J, Xxxxxxx. Y, y Xxxxx. J, “BIG DATA - ANÁLISIS DE CASO EN LA CONTRALORÍA DE BOGOTÁ CON LA ENTREGA DE BONOS,” J. Chem. Inf. Model., (2018).
Xxxxxx, X. X. X., & Xxxxxx, X. (2001). Improving Multiclass Text Classification with the Support Vector Machine. Massachusetts Institute of Technology AI Memo 2001- 026.
Xxx, X. X. (2020). Comparison of supervised classification models on textual data. Mathematics. xxxxx://xxx.xxx/00.0000/XXXX0000000
X. Xxxxxx, J. M. Xxxxxx, X. Xxxxxxxx, M. A. Xxxxxxxx, X. X. Xxxxxxxxxx, and W. R. Xxxxxxx (2018). Ciencia de datos Técnicas analíticas y aprendizaje estadístico. Alfaomega, p. 445.
_v47n1.pdf, Pag. 5.
X. Xxxxx,(2000) CRISP-DM : Towards a Standard Process Model for Data Mining, Proc. Fourth Int. Conf. Pract. Appl. Knowl. Discov. Data Min., no. 24959, pp. 1-2, 2000, doi: 10.1.1.198.5133.
Xxxx, X. X., & Xx, X. (2015). Decision tree methods: applications for classification and prediction. Shanghai Archives of Psychiatry, 27(2), 130–135. xxxxx://xxx.xxx/00.00000/x.xxxx.0000-0000.000000