Sistemas y Computación

Aplicación Web para la selección de personal por medio de intervalos difusos de evaluación

Web application for staff selection through diffuse evaluations intervals

Royer David Estrada Esponda
Universidad del valle, Colombia

Aplicación Web para la selección de personal por medio de intervalos difusos de evaluación

Scientia Et Technica, vol. 23, núm. 2, pp. 214-221, 2018

Universidad Tecnológica de Pereira

Recepción: 03 Febrero 2018

Aprobación: 26 Junio 2018

Resumen: Los procesos de selección de personal en la mayoría de empresas toman gran relevancia debido a la constante necesidad que tienen los empleadores de contar con un recurso humano calificado y preparado para afrontar los retos propios de las estructuras organizacionales. En este artículo se presenta la aplicación Web resultante del proyecto de grado denominado “Sistema de recomendación web para la selección de personal basado en agentes de software”, con el propósito de que sirva como referente para trabajos orientados al mejoramiento de procesos de selección de personal en las organizaciones.

Palabras clave: Agentes de software, Lógica difusa, Selección de personal.

Abstract: In most companies, staff selection processes are highly relevant due the constant employers’ need to have a qualified and trained human resource to meet the organizational challenges. This article presents the Web application resulting from the degree project called "Web Recommendation System for Selecting Personnel Based on Software Agents", with the purpose of serving as a reference for works oriented to improve personnel selection processes in organizations.

Keywords: Software agents, Fuzzy logic, Staff selection.

I. INTRODUCCIÓN

Los procesos de selección de personal cada vez son más importantes para los empresarios que buscan tomar decisiones adecuadas al momento de vincular personal a sus instituciones [1], la gran cantidad de aspirantes propicia que dicho proceso esté rodeado por un gran volumen de información que casi siempre se encuentra en medios físicos y por ende ocasiona demoras, confusión o desorganización en el proceso, además; la situación actual del mercado laboral en Colombia, en relación con el desempleo alcanza la cifra de 8.6% a octubre de 2017 [2], lo cual se traduce en un reto para los departamentos de gestión humana, debido a que en sus vacantes concursan un número significativo de personas incluidas en dicho indicador del mercado laboral, lo cual implica que para esas vacantes el nivel de gestión probablemente será mayor; también y en la medida que para la selección de personal se requiere evaluar variables tanto cuantitativas como cualitativas, conviene incluir en ellos técnicas de lógica difusa que permitan al menos mitigar en algún grado subjetividades que son inherentes a procesos de dicha naturaleza, incluso en trabajos relacionados [3] se apela por enfoques de naturaleza difusa.

El artículo está estructurado de la siguiente manera; en primer lugar, se presenta un apartado donde se describe la metodología utilizada para el desarrollo del aplicativo, así como la utilizada para configurar los agentes de software, también en el mismo apartado se abordan conceptos referentes a lógica difusa y agentes de software, luego se detalla la forma de cómo se implementó la aplicación y los resultados obtenidos. Finalmente se presentan conclusiones al respecto y las referencias bibliográficas que fueron determinantes para el desarrollo de la aplicación y el presente artículo.

II. METODOLOGÍA

El desarrollo de la aplicación combinó el uso de una metodología para el desarrollo de software y otra para la definición e implementación de sistemas multi-agentes [4], así pues, se desarrolló el proyecto en el marco de la metodología Scrum, usando como lenguaje de programación PHP; paralelamente se usó la metodología MAS-CommonKADS, el lenguaje de programación JAVA y la librería para programación de agentes JADE con el fin de posibilitar la generación de recomendaciones.

Por otro lado, un sistema difuso se caracteriza por tener las siguientes fases: fusificación, evaluación de intervalos de pertenencia con las entradas suministradas, evaluación de reglas y desfusificación de la salida. Los pasos de fusificación y desfusificación consisten en llevar los valores de entrada y salida a una escala definida en el sistema difuso [5], también podría decirse que un problema de lógica fuzzy tiene dos etapas, una estática, que consiste en la definición de las variables, sus intervalos y sus reglas de inferencia, así como una etapa dinámica que consiste en el procesamiento de las entradas con base en la lógica fuzzy y la presentación de la respectiva solución a partir de dicho procesamiento.

A continuación, se presenta el modelo general de un sistema difuso:

Fases lógica
fuzzy
Fig. 1
Fases lógica fuzzy
Propia

En consecuencia, para el diseño e implementación de la aplicación, específicamente en lo referente a lógica difusa, se utilizó un algoritmo para la generación automática de reglas durante la etapa estática de dicha lógica, después y específicamente en su etapa dinámica, se utilizó agentes de software con el fin de generar recomendaciones en relación a 3 procesos de evaluación, que a saber son: prueba técnica, entrevista técnica y experiencia laboral; la aplicación Web desarrollada incluye características para la parametrización de variables difusas diferentes a las mencionadas anteriormente y sus correspondientes intervalos, además la configuración de funciones de pertenencia triangular y trapezoidal.

A. Fusificación

Etapa en la cual se toman las entradas concretas y se determinan los grados de pertenencia a los conjuntos difusos definidos por medio de las funciones de pertenencia. El valor resultante después de la fusificación representa el grado de similitud del dato concreto con cada uno de los conjuntos o intervalos de una variable particular.

Las funciones de pertenencia consideradas en esta investigación son la trapezoidal y la triangular; a continuación, se presenta su modelo matemático y correspondiente gráfica.

Función
triangular
Fig. 2
Función triangular
Propia

Función
trapezoidal tipo - ∞
Fig. 3
Función trapezoidal tipo - ∞
Propia

Función
trapezoidal tipo + ∞
Fig. 4
Función trapezoidal tipo + ∞
Propia

B. Base de conocimiento

La base de conocimiento contiene las reglas lingüísticas que son usadas en el proceso de inferencia, para el contexto de esta investigación se adaptó un algoritmo para la generación automática de reglas [6], con el fin de poder ser usadas en el motor de inferencia que hace parte de un mecanismo difuso. Generalmente las reglas siguen una forma si-entonces:

Si x1 es A y x2 es B entonces y es C

Donde x1 y x2 son las entradas que son evaluadas en los conjuntos difusos A y B, mientras que C representa la variable de salida y.

Las reglas usadas en esta investigación son de tipo Mamdani, esto último debido a que dicho método es altamente aceptado y de fácil comprensión [7].

C. Motor de inferencia

Responsable de determinar las variables de salida a partir de las variables de entrada por medio de la base de conocimiento y la inferencia difusa; para el contexto de esta investigación se utilizó un sistema de inferencia MIN-MAX, empezando por seleccionar el valor mínimo de cada antecedente con el fin de valorar su fuerza y el valor máximo de cada consecuente con el fin de establecer la salida [8].

D. Desfusificación

El proceso de desfusificación consiste en traducir los conjuntos difusos resultantes del proceso de inferencia, en valores concretos con el fin de proveer elementos que apoyen el proceso decisor, dicho de otra forma, en sistemas difusos tipo Mamdani, es necesario realizar esta etapa debido a que se debe trasladar los conjuntos resultantes expresados en datos difusos a resultados expresados en datos concretos.

De igual modo en [9] también se indica que el sistema debe devolver una salida precisa, por ello la Interfaz de desfusificación asume la tarea de combinar o agregar la información aportada por los conjuntos difusos individuales y transformarla en un valor preciso, para el contexto de esta investigación y con base en [8] se utilizó el método de la media difusa ponderada para trasladar datos borrosos a datos concretos, no se usó el método de centro de gravedad debido a que dicho método tiene un costo computacional considerable ya que requiere calcular o bien los puntos de intersección entre cada una de las funciones que intersectan, o bien, algo aún más costoso, evaluar todas las funciones punto a punto y seleccionar el de mayor valor en cada caso. [7]

E. Implementación

El proceso de recomendación fue planteado con 3 entradas que corresponden a: prueba técnica (PT), entrevista técnica (ET) y experiencia laboral (EL), así pues se definió para ET y PT un universo de discurso de 0 a 5, que representa una calificación numérica que los aspirantes en un proceso de selección pueden obtener una vez aplican a dichos procesos; para el caso de la EL, el universo de discurso fue configurado entre 0 y 24, que hace referencia al número de meses de experiencia laboral del aspirante que es evaluado.

También la aplicación Web ofrece la posibilidad de parametrizar intervalos difusos o funciones de pertenencia referentes a los niveles de importancia de los criterios parametrizados para evaluación; por tanto, la aplicación permite configurar qué tan importante es una entrada en relación a las demás con el fin de posibilitar la creación automática de reglas.

En consecuencia, la aplicación Web tiene la responsabilidad de ejecutar el componente estático de la lógica difusa, de este modo desde la aplicación se consultan los criterios de evaluación activos, funciones de pertenencia, funciones de importancia, intervalos difusos de los criterios de evaluación y los intervalos difusos de la salida esperada. Se debe tener en cuenta que los criterios de evaluación se parametrizan en la base datos como conjuntos difusos y no como datos concretos.

Precisamente por el aspecto parametrizable de la aplicación, a continuación, se detalla un ejemplo de posibles criterios de evaluación.

  1. · Cultura General: Criterio de evaluación que consta de dos intervalos difusos, el intervalo “aprobado” y “no aprobado”, este criterio tiene una importancia del 70% del total del proceso.

    · Dinámica Grupal: Criterio de evaluación que consta de 3 intervalos difusos, “Regular”, “Bueno” y “Sobresaliente”, este criterio tiene una importancia del 30% del total del proceso.

Para la etapa dinámica de la lógica difusa, se programaron cuatro agentes de software que tienen como función principal recibir y procesar las entradas con el fin de otorgar la salida del sistema difuso.

Finalmente, para comunicar la aplicación Web con los agentes de software, se definió un servicio Web en Java para ser consumido desde PHP por medio de la librería NuSOAP 0.9.5.

1. Funciones de pertenencia

A continuación, se presentan las funciones de pertenencia para los criterios de evaluación EL, ET, PT, así como los pesos de cada criterio (W) y los intervalos de salidas esperadas (PA).

1.1 Prueba técnica

Para el criterio de evaluación PT se definió dos intervalos difusos, el de color azul y punteado denominado “no aprobado” y el de color rojo y solido denominado “aprobado”, para el primer intervalo se tiene una función trapezoidal tipo a = b = - ∞ y para el segundo intervalo se tiene una función tipo a = b = + ∞

Función PT
Fig. 5
Función PT
Propia

1.1 Entrevista técnica

Para el criterio de evaluación ET se definió dos intervalos difusos, el de color azul y punteado denominado “no aprobado” y el de color rojo y solido denominado “aprobado”, para el primer intervalo se tiene una función trapezoidal tipo a = b = - ∞ y para el segundo una tipo a = b = + ∞

Función ET
Fig. 6
Función ET
Propia

1.2 Experiencia Laboral

Para el criterio de evaluación EL se definió 5 intervalos difusos, como se aprecia en la figura 7, dos de los intervalos corresponden a funciones trapezoidales y los 3 restantes a funciones triangulares.

Función EL
Fig. 7
Función EL
Propia

1.3 Pesos de criterios de evaluación

Para la generación automática de reglas y con base en lo encontrado en [6], fue necesario establecer el peso de cada criterio de evaluación en relación a todo el proceso de selección, por ello se definió los siguientes intervalos difusos:

Pesos de los criterios
de entrada
Fig. 8
Pesos de los criterios de entrada
Propia

1.4 Salida esperada

Una vez definidos los criterios de evaluación y por tanto sus intervalos difusos, junto con sus etiquetas lingüísticas, se definió los intervalos difusos de salida con los cuales se busca apoyar a los decisores una vez el proceso de inferencia sea realizado, así pues, se tienen los siguientes intervalos difusos de salida:

 Función
salida esperada
Fig. 9
Función salida esperada
Propia

Las etiquetas lingüísticas establecidas o asignadas a los intervalos difusos fueron, “Totalmente rechazados”, “Pendientes por llamado” y “Totalmente aceptado”

Gracias a la utilización del algoritmo para la generación automática de reglas difusas y la flexibilidad del aplicativo Web en términos de parametrización, es posible entonces configurar los criterios de evaluación necesarios dependiendo las particularidades de cada proceso de selección de personal, en la medida que cada organización puede desarrollar procesos de dicha naturaleza de manera diferente.

2. Agentes de software

MAS-CommonKADS se trata de una metodología orientada al desarrollo utilizando experiencia en sistemas expertos [10], esta metodología recoge conceptos de la orientación a objetos para la producción de MAS[1], además MAS-CommonKADS permite la integración de técnicas de la ingeniería de conocimientos, ingeniería de software orientada a objetos e ingeniería de software de protocolos [11].

A continuación, se presentan los agentes definidos en el marco de la metodología MAS-CommonKADS.

2.1 Modelo de agentes

Tabla I.
AGENTE RECEPTOR
Agente Receptor de información
Tipo Reactivo
Capacidad de razonamiento Agente a la espera de información desde el aplicativo Web desarrollado
Descripción Agente que inicia el proceso de inferencia, se encarga de recibir los parámetros enviados por la aplicación Web y entregarlos al agente buscador.
Propia

Tabla II
AGENTE BUSCADOR.
Agente Buscador de información
Tipo Proactivo
Capacidad de razonamiento Agente que se encarga de iniciar búsquedas con los datos suministrados por el receptor.
Descripción Encargado de buscar la información en la base de datos transaccional referente a criterios de evaluación, intervalos difusos e intervalos difusos de salidas, con el fin de proporcionar dicha información al agente evaluador.
Propia

Tabla III
AGENTE EVALUADOR.
Agente Evaluador
Tipo Reactivo
Capacidad de razonamiento Agente que se encarga de realizar la inferencia difusa
Descripción Por medio de la distancia euclidiana, las calificaciones de PT y ET, así como el número de meses representado en EL, la base de datos de reglas difusas y conjuntos borrosos de entrada y salida se realiza el proceso de inferencia, con el fin de enviar los resultados al agente comunicador.
Propia

Tabla IV
AGENTE COMUNICADOR.
Agente Comunicador
Tipo Deliberativo
Capacidad de razonamiento Agente que entrega un ranking de aspirantes evaluados
Descripción Agente que se encarga de presentar los resultados del proceso de inferencia a la aplicación Web desarrollada.
Propia

2.2 Flujo de proceso de recomendación

El proceso inicia siempre y cuando los parámetros o criterios de evaluación estén debidamente configurados en la base de datos transaccional de la aplicación Web, luego se llevan a cabo los pasos incluidos en la figura 10.

Flujo de
proceso
Fig. 10
Flujo de proceso
Propia

2.4 Modelo de comunicación

Como se aprecia en la figura 11, el proceso de comunicación inicia con la petición de una recomendación desde la aplicación, luego el agente receptor se encarga de recibir la petición con el propósito de enviar el número de convocatoria, de la cual se requiere un ranking de aspirantes al agente encargado de buscar las respetivas puntuaciones de cada uno de los aspirantes asociados a dicha convocatoria, después el agente evaluador es el encargado de la inferencia y finalmente el agente comunicador registra los resultados en la base de datos transaccional de la aplicación Web.

Modelo de
comunicación
Fig. 11
Modelo de comunicación
Propia

2.5 Modelo de coordinación

La figura 12 muestra la secuencialidad de una recomendación una vez se solicita esta desde la aplicación Web.

Modelo de
coordinación
Fig. 12
Modelo de coordinación
Propia

3 Resultados

Una vez la aplicación fue desarrollada puede destacarse resultados en relación con:

3.1 Construcción automática de reglas

El algoritmo para la construcción automática de reglas presentado en [6], tiene una complejidad condicional del orden de 4, que hace referencia a la medida cuantitativa que expresa la cantidad mínima de pruebas que deben realizarse para agotar cada camino básico del software o fragmento de software desarrollado. [12]

Para el cálculo de dicha complejidad se utilizó la ecuación:

(1)

Donde A representa el número de aristas del grafo correspondiente a la lógica implementada y N el número de vértices o nodos que están conectados por medio de las aristas.

Con el ánimo de disminuir su complejidad, se decidió adaptar el algoritmo para la generación automática de reglas; a continuación, se detallan los pasos realizados para ello.

El primer paso consistió en definir los intervalos de pertenencia de las variables ET, PT y EL, así como sus correspondientes pesos y los intervalos para la variable de salida PA. Luego y como segundo paso se realizó una consulta a la base de datos transaccional de la aplicación Web, donde además de consultar todos los intervalos mencionados en el paso uno, se calcularon las correspondientes ponderaciones con base en la relación de cada una de las variables con los intervalos de pesos correspondientes, de igual modo se combinaron los intervalos de las variables ET, PT y EL, dando como resultado 20 triplas de etiquetas lingüísticas.

Como tercer paso se calculó un promedio ponderado difuso (PPD) de cada una de las combinaciones resultantes en el paso número dos, esto por medio del producto ponderado (PP) de cada intervalo difuso que fue obtenido en la consulta SQL[2] referenciada en el paso uno y la sumatoria de los intervalos difusos de pesos para cada variable, luego en el paso cuatro, y teniendo en cuenta que el PPD fue expresado en una escala de 0 a 5, se calculó la distancia de dicho conjunto resultante con cada uno de los conjuntos de salida PA, dicha distancia fue obtenida por medio del método de distancia Euclidiana; en el paso cinco se almacenó en un arreglo la distancia mínima determinada en el paso cuatro, así y para concluir el algoritmo, en el paso seis se seleccionó la etiqueta lingüística del intervalo de salida que coincidió con la distancia mínima almacenada en el paso cinco.

Una vez se realizaron lo pasos mencionados fue posible implementar la lógica que construye a partir de las etiquetas lingüísticas configuradas y sus correspondientes pesos, el número de reglas difusas y sus respectivos consecuentes con base a las salidas difusas parametrizadas.

Finalmente, para el algoritmo presentado en la figura 13, se calculó la complejidad condicional haciendo uso de la ecuación (1), obteniendo como resultado una complejidad del orden de 3, lo cual representa una disminución del 25% en relación con la complejidad determinada para el algoritmo presentado en [6]

 Algoritmo
para creación de reglas
Fig. 13
Algoritmo para creación de reglas
Propia

3.1 Selección de aspirantes

Tabla V
Escenarios de prueba
ET PT EL PUNTUACIÓN SALIDA
A 5 5 24 5 Totalmente aceptado
B 0 0 0 0 Totalmente rechazado
C 3 3 12 3.1 Pendiente por Llamado
D 4.6 4.1 12 5 Totalmente aceptado
E 3.9 3.5 6 4.14 Totalmente aceptado
Propia

La figura 14 muestra la recomendación de 3 aspirantes asociados a una convocatoria en particular, así pues, los decisores cuentan con información sobre el rendimiento de los aspirantes a partir de una inferencia difusa y no concreta, lo cual significa un aporte relevante al proceso decisor, además la tabla 5 muestra cinco escenarios, los dos primeros (A y B) representan el mejor y peor caso, encontrando que los resultados, así como las etiquetas de salida son coherentes con el modelo difuso. Finalmente, los escenarios C, D y E evidencian como la EL fue determinante para el proceso de calificación de cada uno de los aspirantes.

Ranking de
aspirantes
Fig. 14
Ranking de aspirantes
Propia

III. CONCLUSIONES

· La generación manual de un número significativo de reglas de inferencia para la evaluación difusa representa una actividad complicada, debido al crecimiento exponencial en función de las variables consideradas para una evaluación, de modo que se identificó que es útil hacer uso de algoritmos para la generación automática de dichas reglas.

· El uso de lógica difusa en procesos de selección de personal contribuye a la reducción de ambigüedad y sesgos que normalmente afectan la evaluación de un aspirante, esto porque aparta de la interpretación de resultados, calificaciones concretas y más bien proporciona intervalos de pertenencia a cada una de las variables o criterios de evaluación definidos.

· Los procesos de selección de personal necesariamente deben involucrar el criterio humano en el proceso deliberativo, así pues, hasta ahora y específicamente la aplicación desarrollada no sustituye de ninguna manera el proceso decisor de los seres humanos, al contrario, funge como un instrumento para al apoyo en los procesos de toma de decisiones.

RECOMENDACIONES

Agradezco sinceramente a los profesores que enriquecieron este artículo con sus conceptos, críticas y opiniones. Al estudiante de la Maestría en Ingeniería y profesor catedrático de la Universidad del Valle, Ing. Carlos Andrés Delgado Saavedra, de igual modo al profesor Joshua David Triana, profesor del curso de Inteligencia Artificial de la Universidad del Valle sede Tuluá, finalmente al profesor Diego Leyes, Especialista en Sistemas Gerenciales de Ingeniería y profesor catedrático de la universidad del Valle sede Tuluá.

REFERENCIAS

[1] C. C. Victor Manuel, “La importancia del proceso de selección de personal y vinculación en las empresas”. Universidad militar nueva granada, Bogotá D.C, 2014. Disponible en: http://repository.unimilitar.edu.co/bitstream/10654/12447/1/TRABAJO%20DE%20tesis.pdf

[2] P. Mauricio, “Principales indicadores del mercado laboral,” DANE, Reporte técnico, 2016. Disponible en: https://www.dane.gov.co/files/investigaciones/boletines/ech/ech/bol_empleo_oct_17.pdf

[3] C. M. Ana Isabel, G. M. Ángel y R. C. Alfonso, “Selección de personal utilizando lógica borrosa,” IX congreso de ingeniería de organización. España. 2005. Disponible en: https://dialnet.unirioja.es/servlet/libro?codigo=422348

[4] A. Juan José y E.E. Royer David, “Sistema de recomendación web para la selección de personal basado en agentes de software”. Universidad del Valle, escuela de ingeniería de sistemas y computación. Tuluá. 2014. Disponible en: http://opac.univalle.edu.co/cgi-olib/?infile=details.glu&loid=880513&rs=4477484&hitno=7

[5] B. D. Jesús y B. D. Gilberto, “Metodología para la implementación de sistemas difusos tipo mamdani en lenguajes de programación de propósito general,” congreso internacional en ingeniería en electrónica. México, 318-323. 2014. Disponible en: https://www.academia.edu/14902239/METODOLOG%C3%8DA_PARA_LA_IMPLEMENTACI%C3%93N_DE_SISTEMAS_DIFUSOS_TIPO_MAMDANI_EN_LENGUAJES_DE_PROGRAMACI%C3%93N_DE_PROP%C3%93SITO_GENERAL?auto=download

[6] G. A. Iván Darío, Q. M. Jabid Eduardo y C. J. Neyid Mauricio, “Clasificación de estudiantes por medio de un sistema de lógica difusa,” Revista educación en ingeniería. 4(8), 49-56. 2009. Disponible en: http://www.educacioneningenieria.org/index.php/edi/article/view/83

[7] P. M. Rolando Alberto, “Sistema de inferencia basados en lógica borrosa: fundamentos y caso de estudio,” Revista de investigación de sistemas e informática. 7(1), 91-104. 2010. Disponible en: http://sisbib.unmsm.edu.pe/bibvirtual/publicaciones/risi/2010_n1/v7n1/a09v7n1.pdf

[8] T. M. Guillermo, “Tutorial de lo lógica fuzzy,” Facultad de ingeniería electrónica, Universidad nacional mayor de San Marcos. Lima, 2000.

[9] R. P. Antonio, “Integración de operadores de implicación y métodos de defuzzificacion en sistemas basados en reglas difusas. Implementación, análisis y caracterización,” Ph.D. dissertation, Dept. de Ciencias de la computación e inteligencia artificial. Universidad de granada. 2000.

[10] G. Z. Jorge. “Metodologías para el desarrollo de sistemas multi-agente,” Revista Iberoamericana de Inteligencia Artificial. 18(2003). pp 51-63. Disponible en: http://polar.lsi.uned.es/revista/index.php/ia/article/viewFile/603/586

[11] J. B. Jovani, Alberto, O. C. Demetrio, Arturo y B. B. John Willian. “Conceptualización y análisis de un sistema multi-agente pedagógico utilizando la metodología mas-commonkads,” Dyna, 76(158). pp 229-339, Medellín. 2009. Disponible en: http://www.scielo.org.co/cgi-bin/wxis.exe/iah/

[12] G. C. Darío. “Refactorización de código y consideraciones sobre la complejidad ciclomática,” Universidad del CEMA. Buenos Aires, 2016. Disponible en: https://www.ucema.edu.ar/publicaciones/doc_trabajo.php

Notas

[1] Multi-Agent System
[2] Structured Query Language
HTML generado a partir de XML-JATS4R por