/ Модель

Характеристики

Контекст
512 токенов
Параметры
124 млн
Лицензия
MIT
Архитектура
bert · dense
Базовая модель
multilingual-e5-small
Библиотека
sentence-transformers
Опубликована
12 июл 2026

job-title-normalizer-e5-small

ЭмбеддингиТекст → embedding5 профессий

Компактная модель эмбеддингов сопоставляет неоднородные названия должностей с профессиями ESCO и O*NET для семантического поиска и межъязыковой нормализации.

105скачиваний за 30 дней0лайковвеса обновлены12 июл 2026

Бенчмарки

Как модель справилась с задачами пользователей ailist и что о ней публикуют открытые лидерборды

Тесты пользователейпока нет

Никто ещё не опубликовал тест этой модели. Соберите бенчмарк из своих задач — результат появится здесь.

  1. Добавьте модель в бенчмарк

    Вместе с другими моделями категории «Эмбеддинги» — сравнение идёт внутри одной категории.

  2. Опишите свои задачи

    Напишите запросы, при необходимости приложите файлы и эталонные ответы.

  3. Запустите и опубликуйте

    Модели ответят на каждую задачу, судья оценит ответы. Опубликованный результат появится на этой странице.

Публичные оценки

Из открытых лидербордов. Сравнивайте результаты одного теста при одинаковых условиях — отсутствие оценки не значит, что модель хуже.

В подключённых источниках результатов для этой модели пока нет.

Что умеет модель

Описание составлено по карточке модели и метаданным Hugging Face

Misbahuddin разработал компактную модель sentence-transformers на базе multilingual-e5-small для нормализации неоднородных названий профессий. Она сопоставляет входные названия с одной из 4 055 канонических профессий из таксономий ESCO и O*NET, создавая текстовые эмбеддинги для поиска и ранжирования. Модель содержит 124,3 млн параметров, использует архитектуру BERT с mean pooling и выдаёт векторы размерности 384; контекст ограничен 512 токенами, а обучение ориентировано на короткие названия до 64 токенов.

Модель подходит для обработки названий должностей в резюме, вакансиях и системах CRM, ATS и HRIS, а также для межъязыкового поиска с французского и немецкого на английский. В README сообщается о тестировании на 15 248 названиях без пересечения профессий между обучающей и тестовой выборками; качество поиска выше, чем у BM25 и исходной e5-small на приведённых метриках. Для корректной работы нужны префиксы `query:` для входных названий и `passage:` для канонических меток.

Модель выпущена под лицензией MIT. Покрытие ограничено профессиями ESCO и O*NET, а проверенные языки — английский, французский и немецкий. Она не предназначена для автоматического найма, отбора кандидатов или решений о компенсации; в таких сценариях необходим контроль человека.

Сценарии применения

  • сопоставление названий должностей из резюме с профессиями ESCO и O*NET
  • нормализация названий вакансий к каноническим идентификаторам профессий
  • семантический поиск профессий в CRM, ATS и HRIS
  • поиск английского эквивалента должности по французскому названию
  • поиск английского эквивалента должности по немецкому названию

Ограничения

Покрытие ограничено таксономиями ESCO и O*NET, а проверенные языки — английский, французский и немецкий; короткие тексты до 64 токенов соответствуют заявленному режиму. Модель не предназначена для автоматических решений о найме, отборе кандидатов или компенсации без участия человека.

Для каких профессий подходит5

Разделы каталога профессий, в задачах которых используется эта модель

Все профессии

Также подходит для

Карточка модели

README от автора на Hugging Face, как он его опубликовал

Открыть на Hugging Face

job-title-normalizer-e5-small

The lightweight variant of job-title-normalizer-e5-base: a 118M-param sentence encoder fine-tuned to normalize messy, multilingual job titles to a canonical occupation taxonomy (ESCO + O*NET), framed as retrieval over 4,055 canonical occupations. ~2.5× smaller and faster than the e5-base variant at a modest accuracy cost — the right choice for CPU serving and bulk backfills.

Live demo: https://job-title-normalizer-525186107937.us-central1.run.app (Cloud Run; may cold-start ~1 min)

Results

Held-out test set of 15,248 real ESCO/O*NET titles; split by occupation (zero train/test occupation overlap, asserted at build time).

SliceMethodRecall@1Recall@5Recall@10MRR
OverallBM25 (lexical)0.0950.1630.1830.124
Overallzero-shot e5-small0.2260.3710.4370.286
Overallthis model0.3670.5390.6010.441
FR→ENthis model0.5250.7370.7990.618
DE→ENthis model0.5230.7450.8150.619

BM25 scores MRR 0.034 cross-lingually; this model reaches 0.619. For the best accuracy, use the e5-base variant (overall MRR 0.463 vs 0.441).

Training

  • Base: intfloat/multilingual-e5-small (mean pooling, query:/passage: prefixes, 384-dim).
  • Objective: in-batch-negatives InfoNCE (MultipleNegativesRankingLoss, scale 20), wrapped in MatryoshkaLoss (dims 384/256/128/64).
  • Data: 160,240 positive pairs (synonyms, alternate titles, cross-lingual label pairs) from ESCO (EN/FR/DE) + O*NET alternate titles; ≤50 pairs per occupation.
  • Setup: 2 epochs, batch 128, lr 2e-5, warmup 10%, max_seq_len 64, fp16, NoDuplicatesDataLoader. Trained on an RTX 4060 Laptop (8 GB) in ~8 min.

How to use

The e5 family needs asymmetric prefixes: titles as query: …, canonical labels as passage: …. Forgetting them silently degrades accuracy.

from sentence_transformers import SentenceTransformer
from sentence_transformers.util import cos_sim

model = SentenceTransformer("Misbahuddin/job-title-normalizer-e5-small")

canonicals = [
    "passage: software developer",
    "passage: data scientist",
    "passage: nurse responsible for general care",
]
query = "query: Krankenpfleger"              # German → English canonical

q = model.encode(query, normalize_embeddings=True)
c = model.encode(canonicals, normalize_embeddings=True)
scores = cos_sim(q, c)[0]
print(canonicals[int(scores.argmax())], float(scores.max()))

Vectors are L2-normalized (cosine == dot product) — use FAISS IndexFlatIP for production. Matryoshka truncation to 256/128/64 dims works after re-normalizing. Calibrate an abstention threshold: out-of-taxonomy queries return low-score nearest neighbours rather than failing.

Intended use & limitations

  • In scope: normalizing titles from resumes, postings, CRM/ATS/HRIS records to occupation IDs; semantic occupation search; FR/DE→EN cross-lingual lookup.
  • Not a hiring/screening/compensation decision system. Keep a human in the loop for consequential uses.
  • Coverage bounded by ESCO + O*NET; en/fr/de verified only. Short-text regime (≤64 tokens).

Acknowledgements

ONET® is a trademark of USDOL/ETA. This model was produced using ONET data but is not endorsed by USDOL/ETA. ESCO is a service of the European Commission; this model is not endorsed by the Commission.

Как запустить

На своей GPU в ailist. Цена — по текущим предложениям провайдеров

GPU в ailist

Универсальный рантайм · sentence-transformers

Можно запустить

Подбираем GPU…

Класс архитектуры
BertModel
Ревизия весов
2cf1012

0 моделей