Inteligencia Artificial en la preselección de candidatos para Infojobs Brasil
Infojobs Brasil es una plataforma que promueve el encuentro entre candidatos y empresas que desean seleccionar trabajadores calificados. Se trata de la plataforma de vacantes profesionales y búsqueda de talento más visitada de Brasil, superando los 32 millones de visitas al mes y los 31 millones de candidatos registrados.
Frente a este gran volumen de solicitudes y registros, InfoJobs Brasil detectó la gran carga de trabajo a la que estaba expuesto su departamento de Recursos Humanos y la necesidad de optimizar parte de sus procesos para poder seguir ofreciendo un servicio de calidad.
Inteligencia artificial en la preselección de candidatos
Con el objetivo de aligerar el volumen de gestión sin mermar la calidad del servicio, Plain Concepts desarrolló un proceso basado en Inteligencia Artificial ( IA ) para preseleccionar de forma automática los candidatos más adecuados para una oferta de trabajo, mediante una clasificación automatizada que segmentaba a los candidatos en dos categorías; adecuados y no adecuados.
El objetivo principal del proyecto era utilizar técnicas de IA para automatizar parte de la carga de trabajo de los procesos de selección. Pero, además, se trabajó en aportar paralelamente un proceso que permitiera reciclar los modelos existentes con la llegada de nuevos datos, con el objetivo de que la solución pudiera evolucionar según las nuevas características que presentaran posibles escenarios futuros.
Clasificación de datos
El algoritmo seleccionado para este proyecto fue una red neuronal multicapa que permitiese el reentrenamiento, ya que las variables sobre las que se realiza la valoración de los candidatos presentan todo tipo de naturalezas; desde el extracto, a la experiencia o los estudios.
En el campo de la Inteligencia Artificial, un problema de clasificación consiste en identificar a qué categoría pertenece una observación, basándose en un conjunto de datos que contiene observaciones cuya categoría ya se conoce.
Para lograrlo, utilizamos un conjunto de datos de 180Gb que contenía datos correspondientes a diferentes categorías, tales como: logística, administración, artes, moda, etc. Para ello, se crearon tantos modelos como categorías, con el objetivo de que los modelos fueran lo más específicos posible con el objetivo de obtener una profunda y precisa clasificación de los candidatos.
Otro aspecto a destacar sobre el conjunto de datos es la existencia de diferentes tipos de variables:
- Numéricas (edad)
- Categóricas (idiomas hablados)
- Texto (estudios, experiencia)
Este tipo de variables son determinantes para lograr un buen resultado en la preselección de candidatos. Sin embargo, los algoritmos de IA funcionan bajo sistemas matemáticos, por lo que fue necesario limpiar y transformar ese conjunto de información a un formato numérico. Esta tarea se realizó mediante la utilización de técnicas One Hot Encoder y Feature Hashing.
Para realizar todo el proceso, y dada la dimensionalidad de los conjuntos de datos, también utilizamos Azure Batch para convertir todo el proceso en escalable, lo que nos permitió recortar en gran medida el tiempo necesario para la transformación de todo el conjunto de datos.
Automatización del proceso
Para cumplir con el objetivo del proyecto se analizaron diferentes algoritmos y se compararon los distintos resultados que ofrecían. Seleccionando finalmente una red neuronal multicapa.
Como hemos mencionado, no se entrenó una única red neuronal, sino que se utilizaron tantas como categorías había en nuestro conjunto de datos. Un total de 34. Estas redes neuronales fueron entrenadas con los datos limpiados en el paso anterior, y cada uno de ellos fue almacenado en Azure Blob Storage, haciéndolos accesibles tanto para realizar la predicción como para mejorar el sistema mediante reentrenamiento.
Reentrenamiento
Como hemos comentado el reentrenamiento es una acción vital para la durabilidad de la solución y su constante optimización. Cuando alguien se presenta a una oferta de trabajo y se recibe la información de la empresa a la que se está postulando, los datos relacionados con su candidatura son recopilados para mejorar las predicciones a medida que se agrega información para el posterior reentrenamiento del sistema.
El reentrenamiento se realiza mediante nuestra interfaz de usuario, que se integra en la plataforma de Infojobs Brasil. Este proceso se inicia cuando el usuario introduce nuevos candidatos en el sistema. Una vez cargados y limpiados los datos, se descargan los modelos correspondientes a las categorías que se muestran en el nuevo conjunto de datos proporcionados, y el modelo actualizado sobrescribe la última versión del modelo presente en el almacenamiento.
Fase de predicción
La última fase del proyecto es la predicción. Cuando alguien se presenta a una oferta de trabajo, los datos relacionados con su candidatura pasan a la red neuronal correspondiente, la cual los procesa y, dependiendo de su valoración, el algoritmo realiza una predicción clasificando al candidato en calidad de candidato adecuado o no adecuado para la vacante.
Para llevar a cabo esta última tarea, hemos utilizado Azure Machine Learning Service Workspace para crear las imágenes del docker y para desplegarlo Azure Container Instances.
Beneficios de la IA y posibles aplicaciones
Nuestra solución a supuesto a Infojobs Brasil una importante reducción de la carga de trabajo en su equipo de Recursos Humanos, que ahora únicamente analiza aquellos perfiles propuestos para una vacante que presentan características de firme interés para la empresa anunciante.
Gracias a las soluciones de Inteligencia Artificial, logramos ayudar a las empresas a mejorar sus procesos de toma de decisiones y hacerlos más eficientes mediante la aplicación de técnicas de Aprendizaje Automático, Computación Visual o análisis de texto, entre otros.
Cualquier empresa que maneje un gran volumen de información puede beneficiarse de la Inteligencia Artificial para ofrecer a sus clientes la mejor experiencia de usuario, mostrando los productos de usuario adaptados a sus necesidades, ofreciendo la información más relevante y sugiriendo ideas de mejora que les ayuden a llevar a cabo su trabajo de forma más eficiente.
No nos referimos solo a empresas de reclutamiento que buscan constantemente talento entre innumerables perfiles. Bufetes de abogados que necesitan analizar millones de documentos, centros comerciales y hoteles que reciben miles de visitas al mes y quieren ofrecer la mejor experiencia de usuario a sus clientes, compañías del sector industrial que necesitan automatizar y potenciar parte de sus acciones, centros de atención al cliente… Las funcionalidades se presentan de forma exponencial.
Para 2020, se espera que las empresas inviertan un total de 47.000 millones de dólares en aplicaciones de inteligencia artificial, lo que cambiará nuestras vidas para siempre a medida que todo tipo de programas y aplicaciones vayan incorporando sus funcionalidades.