Fine-tuned sentence-transformers/all-mpnet-base-v2 for job description (JD) embedding generation in the AppAI recruitment matching pipeline.
The model encodes job descriptions into four 768-dim L2-normalised span embeddings — full, education, experience, and leadership — enabling granular, section-level candidate matching when paired with the LayoutLMv3 resume encoder and the ConFiT alignment model.
Model Details
Property
Value
Base model
sentence-transformers/all-mpnet-base-v2
Max sequence length
384 tokens
Embedding dimension
768
Normalisation
L2 (unit norm)
Training objective
4-way paired cosine similarity
Batch size
64
Architecture
Input text → MPNet tokenizer → all-mpnet-base-v2 → Mean Pooling → L2 Normalize → 768-dim embedding
Training pairs each JD span against its corresponding resume span across four named features. Each feature is encoded independently, giving fine-grained control over education, experience, and leadership matching in addition to the full-text representation.
Intended Use
This model is part of the AppAI recruitment intelligence pipeline:
It is intended for cosine similarity-based candidate ranking within the AppAI system. It is not designed for general-purpose semantic search.
Usage
Installation
pip install sentence-transformers
Encoding a Job Description
python
1from sentence_transformers import SentenceTransformer
23model = SentenceTransformer("Smutypi3/applai-sbert")4model.max_seq_length =38456jd_text ="We are looking for a senior software engineer with 5+ years of Python experience..."7embedding = model.encode(jd_text, convert_to_tensor=True, normalize_embeddings=True)8print(embedding.shape)# torch.Size([768])
Fallback: "no specific information available" when extracted span is ≤ 10 characters
Training Objective
4-way pairing loss over (JD full, JD education, JD experience, JD leadership) vs (resume full, resume education, resume experience, resume leadership) pairs using cosine similarity.
Limitations
Designed for English-language job descriptions
Section extraction relies on keyword matching — niche or unconventional JD formats may not extract cleanly
Best used together with Smutypi3/applai-layoutlmv3 and Smutypi3/applai-confit; standalone cosine similarity without alignment will not reflect trained performance
Citation
bibtex
1@software{lucero2025applai_sbert,
2 author = {Lucero, Jaime Emmanuel},
3 title = {{AppAI SBERT 4-Way Pairing}: Fine-tuned Sentence Transformer for Job Description Embedding},
4 year = {2025},
5 publisher = {HuggingFace},
6 url = {https://huggingface.co/Smutypi3/applai-sbert},
7 note = {Part of the AppAI recruitment intelligence pipeline}
8}