RankPO: Preference Optimization for Job-Talent Matching

Yafei Zhang, Murray Wang, Yu Wang, Xiaohui Wang
3/13/2025
cs.CLcs.AIcs.IR

Official code: yflyzhang/RankPO (3 stars, Apache-2.0, last commit 2025-03-17).

Abstract

Matching job descriptions (JDs) with suitable talent requires models capable of understanding not only textual similarities between JDs and candidate resumes but also contextual factors such as geographical location and academic seniority. To address this challenge, we propose a two-stage training framework for large language models (LLMs). In the first stage, a contrastive learning approach is used to train the model on a dataset constructed from real-world matching rules, such as geographical alignment and research area overlap. While effective, this model primarily learns patterns that defined by the matching rules. In the second stage, we introduce a novel preference-based fine-tuning method inspired by Direct Preference Optimization (DPO), termed Rank Preference Optimization (RankPO), to align the model with AI-curated pairwise preferences emphasizing textual understanding. Our experiments show that while the first-stage model achieves strong performance on rule-based data (nDCG@20 = 0.706), it lacks robust textual understanding (alignment with AI annotations = 0.46). By fine-tuning with RankPO, we achieve a balanced model that retains relatively good performance in the original tasks while significantly improving the alignment with AI preferences. The code and data are available at https://github.com/yflyzhang/RankPO.

View on arXivView PDF

Code Implementations(1)

yflyzhang/RankPOOfficial100%
Apache-2.0

RankPO: Rank Preference Optimization

30Shell, PythonMar 13, 20251 years agoApache-2.0
direct-preference-optimizationdpoinformation-retrievallarge-language-modelsllm+3 more

Similar Papers

Cite this paper

@article{zhang2025rankpo,
  title  = {RankPO: Preference Optimization for Job-Talent Matching},
  author = {Yafei Zhang and Murray Wang and Yu Wang and Xiaohui Wang},
  year   = {2025},
  eprint = {2503.10723},
  archivePrefix = {arXiv},
  url    = {http://arxiv.org/abs/2503.10723v1}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/2503.10723.svg)](https://codeofpaper.com/paper/2503.10723)

Discussion