| Name: | Description: | Size: | Format: | |
|---|---|---|---|---|
| 3.84 MB | Adobe PDF |
Authors
Abstract(s)
Currently job recruitment remains one of the most resource-intensive processes in companies. Especially in industries where speed and agility directly impact competitiveness rate. The increase in online job applications has resulted in companies receiving hundreds or even thousands of job applications hours after publishing the job opening. Which in turn makes manual recruitment processing very inefficient, as such, companies use Applicant Tracking systems to automate these workflows, yet they have a big downside of relying solely
in keyword-based filtering. This leads to critical limitations of not being able to capture semantic nuances and results on the exclusion of qualified candidates. This dissertation proposes a solution that integrates Large Language Models and Retrieval-Augmented Generation to avoid the downsides of the generic Applicant Tracking systems. This project was developed in collaboration with an enterprise. For the purpose of this
disseration, the enterprise will be referred with an alias as Xcellence. This company which typically receives more than 800 applications per job opening, and takes up to two months to finish recruitment cycles. This research follows a hybrid methodology that combines Design Science Research with Cross-Industry Standard Process for Data Mining (CRISP-DM). Which enables both theoretical rigor and piratical development. Furthermore, a systematic literature review is conducted using the PRISMA framework. The developed system implements a three-layered architecture, namely storage, processing and access, and the workflow pipeline integrates five orchestrated phases. The included technologies are OCR, semantic vector representations, and the use of a local LLM to output extracted candidate data as JSON. Furthermore, this dissertation also brings to light a range of ethical challenges. Such as, designing and implementing privacy mechanisms, to ensure effective privacy safeguards. In conclusion, the findings demonstrate that the LLM-Powered Resume Matcher can significantly
reduce recruitment cycle time, and select the most qualified candidate to a specific job opening, thus representing a viable and ethical evolution in algorithmic recruiting.
Num contexto empresarial, o processo de recrutar profissionais qualificados constitui há várias décadas um dos maiores desafios. Principalmente devido á exponencial crescida da Internet que tornou possível enviar candidaturas via online. Embora este fenómeno contribua para uma maior diversidade de candidatos, também representa um problema para o departamento de recursos humanos nas empresas. Aliás, na grande maioria das situações, uma única vaga pode receber centenas ou mesmo milhares de candidaturas, o qual faz com que a análise manual de todos os candidatos em tempo útil seja efetivamente impossível. Como tal, esta realidade atrasa os processos de recrutamento durante meses, os quais podem prejudicar a empresa, principalmente devido ao facto de prazos de projeto não serem cumpridos. Neste cenário, os Applicant Tracking Systems surgiram como uma solução para auxiliar os recrutadores. Estes sistemas automatizam parte do processo, recolhendo, armazenando e filtrando currículos com base em critérios predefinidos, geralmente dependentes de palavras-chave. Porém, apesar da ampla adoção dos Applicant Tracking System, a maioria está limitada por serem softwares genéricos e não softwares personalizados para cada empresa. Assim como o facto destes sistemas não terem a capacidade de realizar uma interpretação semântica dos currículos dos candidatos. O que leva à rejeição de candidatos qualificados mas com percursos profissionais atípicos, ou com currículos com formatos não convencionais. Face a estas limitações, esta dissertação propõe e desenvolve um sistema inovador designado LLM-Powered Resume Matcher, que tira partido de Large Language Models em conjunto com técnicas de Retrieval-Augmented Generation. A solução foi concebida para responder a um caso real, em colaboração com uma empresa portuguesa de consultoria em tecnologias de informação, aqui referida como Xcellence. Nesta organização, cada vaga aberta resulta em mais de oitocentas candidaturas, sendo que o ciclo de recrutamento se prolonga frequentemente por dois meses. Tal atraso compromete diretamente a capacidade de resposta aos clientes e gera perdas de competitividade. A pertinência deste projeto reside, portanto, na sua dupla dimensão: por um lado, contribui para o avanço científico no domínio da aplicação de Large Language Models na área de recrutamento. Contudo, como este projeto celebrou de uma colaboração empresarial, permitiu respondender a uma necessiade real da empresa Xcellence. A investigação seguiu uma metodologia híbrida, integrando Design Science Research, responsável por enquadrar a construção e avaliação de artefactos tecnológicos, e o Cross Industry Standard Process for Data Mining, que ofereceu um guia estruturado para o fluxo técnico de desenvolvimento. Para a revisão da literatura, foi adotada a metodologia PRISMA, a qual permitiu uma seleção rigorosa de artigos a partir de repositórios científicos, tais como o ACM e o IEEE. O processo inicial identificou mil seiscentos e dois artigos, reduzidos a quarenta publicações de relevância direta para as questões de investigação definidas. Estas questões procuraram compreender o estado atual da investigação sobre LLMs aplicados em contextos empresariais internos, os desafios e boas práticas na implementação destes modelos. Também como, a forma como podem contribuir para o parsing de currículos e o panorama atual dos ATS. Esta revisão sistemática estabeleceu uma base teórica sólida para o trabalho prático subsequente. Do ponto de vista arquitetónico, o sistema proposto foi desenhado em três camadas principais. A camada de armazenamento é responsável pela gestão dos documentos originais, utilizando MinIO para objetos e bases de dados relacionais e vetoriais como SQLite e ChromaDB. A camada de processamento assegura as operações de extração de texto através de OCR com Tesseract, transformação em estruturas JSON recorrendo a LLMs e vetorização semântica com modelos Sentence-Transformers, associando ainda metadados como identificadores de candidato, localização ou competências. Por fim, a camada de acesso disponibiliza a interação com o sistema tanto em interface de linha de comandos como numa interface gráfica desenvolvida em Streamlit, suportada por um backend em FastAPI. A implementação foi organizada em cinco fases sequenciais. A configuração inicial da base de dados assegura a preparação do ambiente de persistência. A sincronização entre MinIO e SQLite garante a correspondência entre documentos armazenados e registos estruturados. A fase de extração realiza a leitura dos currículos e a transformação dos textos em estruturas organizadas, recorrendo a OCR e LLMs. A fase de vetorização gera representações semânticas tanto dos documentos como dos metadados, o que assegura a proximidade contextual entre descrições de emprego e perfis de candidatos. Por fim, a fase de consulta permite a obtenção de candidatos adequados a cada vaga através de Retrieval Augmented Generation, a qual apresenta listas ordenadas de acordo com a relevância dos candidatos. Uma preocupação central foi a eficiência, pelo que o sistema foi concebido para processar apenas novos documentos, ignorando os já tratados, reduzindo significativamente o tempo de execução. Para efeitos de validação, foram preparados três conjuntos de dados distintos. Um conjunto sintético, gerado com a biblioteca Faker e modelos pré-definidos de experiência académica e profissional. Um conjunto manual, elaborado especificamente para simular casos realistas mas controlados. E um conjunto de currículos reais, devidamente anonimizados para proteção de dados pessoais. A avaliação do sistema foi conduzida com base em métricas clássicas de recuperação de informação: precisão, recuperação, F1-score e Normalised Discounted Cumulative Gain. Estas métricas permitiram comparar as classificações produzidas pelo sistema com a verdade de base fornecida pelos recrutadores da Xcellence. Os resultados demonstraram uma elevada correspondência entre o artefacto desenvolvido e as decisões dos recrutadores por parte da Xcellence, sobretudo em termos das métricas de precisão e nDCG. Estas métricas demonstraram a capacidade do sistema em extrair detalhes semânticos relevantes. Ademais, além das questões técnicas, este trabalho também teve como objetivo investigar aspetos éticos e jurídicos associados ao uso de inteligência artificial nos processos de recrutamento. A revisão bibliográfica demonstrou que existem riscos reais de enviesamento nos algoritmos, que podem ocorrer em várias etapas dos sistemas. Desde a formulação dos anúncios de emprego, até à escolha final dos candidatos, incluindo também a seleção dos currículos. Para concluir, o artefacto aqui desenvolvido fornece evidência empírica de que é possível evoluir a área de recrutamento com a utilização de LLMs, conciliando inovação, responsabilidade e impacto social positivo.
Num contexto empresarial, o processo de recrutar profissionais qualificados constitui há várias décadas um dos maiores desafios. Principalmente devido á exponencial crescida da Internet que tornou possível enviar candidaturas via online. Embora este fenómeno contribua para uma maior diversidade de candidatos, também representa um problema para o departamento de recursos humanos nas empresas. Aliás, na grande maioria das situações, uma única vaga pode receber centenas ou mesmo milhares de candidaturas, o qual faz com que a análise manual de todos os candidatos em tempo útil seja efetivamente impossível. Como tal, esta realidade atrasa os processos de recrutamento durante meses, os quais podem prejudicar a empresa, principalmente devido ao facto de prazos de projeto não serem cumpridos. Neste cenário, os Applicant Tracking Systems surgiram como uma solução para auxiliar os recrutadores. Estes sistemas automatizam parte do processo, recolhendo, armazenando e filtrando currículos com base em critérios predefinidos, geralmente dependentes de palavras-chave. Porém, apesar da ampla adoção dos Applicant Tracking System, a maioria está limitada por serem softwares genéricos e não softwares personalizados para cada empresa. Assim como o facto destes sistemas não terem a capacidade de realizar uma interpretação semântica dos currículos dos candidatos. O que leva à rejeição de candidatos qualificados mas com percursos profissionais atípicos, ou com currículos com formatos não convencionais. Face a estas limitações, esta dissertação propõe e desenvolve um sistema inovador designado LLM-Powered Resume Matcher, que tira partido de Large Language Models em conjunto com técnicas de Retrieval-Augmented Generation. A solução foi concebida para responder a um caso real, em colaboração com uma empresa portuguesa de consultoria em tecnologias de informação, aqui referida como Xcellence. Nesta organização, cada vaga aberta resulta em mais de oitocentas candidaturas, sendo que o ciclo de recrutamento se prolonga frequentemente por dois meses. Tal atraso compromete diretamente a capacidade de resposta aos clientes e gera perdas de competitividade. A pertinência deste projeto reside, portanto, na sua dupla dimensão: por um lado, contribui para o avanço científico no domínio da aplicação de Large Language Models na área de recrutamento. Contudo, como este projeto celebrou de uma colaboração empresarial, permitiu respondender a uma necessiade real da empresa Xcellence. A investigação seguiu uma metodologia híbrida, integrando Design Science Research, responsável por enquadrar a construção e avaliação de artefactos tecnológicos, e o Cross Industry Standard Process for Data Mining, que ofereceu um guia estruturado para o fluxo técnico de desenvolvimento. Para a revisão da literatura, foi adotada a metodologia PRISMA, a qual permitiu uma seleção rigorosa de artigos a partir de repositórios científicos, tais como o ACM e o IEEE. O processo inicial identificou mil seiscentos e dois artigos, reduzidos a quarenta publicações de relevância direta para as questões de investigação definidas. Estas questões procuraram compreender o estado atual da investigação sobre LLMs aplicados em contextos empresariais internos, os desafios e boas práticas na implementação destes modelos. Também como, a forma como podem contribuir para o parsing de currículos e o panorama atual dos ATS. Esta revisão sistemática estabeleceu uma base teórica sólida para o trabalho prático subsequente. Do ponto de vista arquitetónico, o sistema proposto foi desenhado em três camadas principais. A camada de armazenamento é responsável pela gestão dos documentos originais, utilizando MinIO para objetos e bases de dados relacionais e vetoriais como SQLite e ChromaDB. A camada de processamento assegura as operações de extração de texto através de OCR com Tesseract, transformação em estruturas JSON recorrendo a LLMs e vetorização semântica com modelos Sentence-Transformers, associando ainda metadados como identificadores de candidato, localização ou competências. Por fim, a camada de acesso disponibiliza a interação com o sistema tanto em interface de linha de comandos como numa interface gráfica desenvolvida em Streamlit, suportada por um backend em FastAPI. A implementação foi organizada em cinco fases sequenciais. A configuração inicial da base de dados assegura a preparação do ambiente de persistência. A sincronização entre MinIO e SQLite garante a correspondência entre documentos armazenados e registos estruturados. A fase de extração realiza a leitura dos currículos e a transformação dos textos em estruturas organizadas, recorrendo a OCR e LLMs. A fase de vetorização gera representações semânticas tanto dos documentos como dos metadados, o que assegura a proximidade contextual entre descrições de emprego e perfis de candidatos. Por fim, a fase de consulta permite a obtenção de candidatos adequados a cada vaga através de Retrieval Augmented Generation, a qual apresenta listas ordenadas de acordo com a relevância dos candidatos. Uma preocupação central foi a eficiência, pelo que o sistema foi concebido para processar apenas novos documentos, ignorando os já tratados, reduzindo significativamente o tempo de execução. Para efeitos de validação, foram preparados três conjuntos de dados distintos. Um conjunto sintético, gerado com a biblioteca Faker e modelos pré-definidos de experiência académica e profissional. Um conjunto manual, elaborado especificamente para simular casos realistas mas controlados. E um conjunto de currículos reais, devidamente anonimizados para proteção de dados pessoais. A avaliação do sistema foi conduzida com base em métricas clássicas de recuperação de informação: precisão, recuperação, F1-score e Normalised Discounted Cumulative Gain. Estas métricas permitiram comparar as classificações produzidas pelo sistema com a verdade de base fornecida pelos recrutadores da Xcellence. Os resultados demonstraram uma elevada correspondência entre o artefacto desenvolvido e as decisões dos recrutadores por parte da Xcellence, sobretudo em termos das métricas de precisão e nDCG. Estas métricas demonstraram a capacidade do sistema em extrair detalhes semânticos relevantes. Ademais, além das questões técnicas, este trabalho também teve como objetivo investigar aspetos éticos e jurídicos associados ao uso de inteligência artificial nos processos de recrutamento. A revisão bibliográfica demonstrou que existem riscos reais de enviesamento nos algoritmos, que podem ocorrer em várias etapas dos sistemas. Desde a formulação dos anúncios de emprego, até à escolha final dos candidatos, incluindo também a seleção dos currículos. Para concluir, o artefacto aqui desenvolvido fornece evidência empírica de que é possível evoluir a área de recrutamento com a utilização de LLMs, conciliando inovação, responsabilidade e impacto social positivo.
Description
Keywords
Large Language Models Artificial Intelligence Natural Language Processing Curriculum Vitae Ethics Human Re- sources
