Создание полезных вложений текстовой информации в вакансии и резюме для отраслевых рекомендательных систем

Автор Дор Лави, старший научный сотрудник Randstad Groep Nederland

Каждый день в Randstad мы используем рекомендательные системы отраслевого масштаба, чтобы рекомендовать тысячи соискателей нашим клиентам и наоборот; вакансии для соискателей. Наша система рекомендаций по вакансиям основана на разнородном наборе входных данных: биографических данных (резюме) соискателей, текстах вакансий (описаниях должностей) и структурированных данных (например, местонахождение соискателя или вакансии).

Цель нашей системы — рекомендовать лучших соискателей на каждую открытую вакансию.

В недавно опубликованной статье мы исследуем и описываем методы построения полезных вложений текстовой информации в вакансии и резюме.

Проблемы

При сопоставлении вакансий с соискателями с помощью текстовых резюме и данных о вакансиях возникает ряд проблем.

Зашумленные данные

Во-первых, данные, с которыми мы работаем, изначально зашумлены. С одной стороны, резюме — это пользовательские данные, обычно (но не всегда) в формате PDF. Само собой разумеется, что преобразование этих файлов в обычный текст само по себе может быть сложной задачей, и поэтому считалось, что это выходит за рамки. С другой стороны, в нашем случае вакансии состоят из структурированного форматированного текста.

Дополнительные данные

Во-вторых, различается характер данных. Большинство исследований сходства текста в НЛП основано на предположении, что две части информации одинаковы, но написаны по-разному. Однако в нашем случае два документа не выражают одну и ту же информацию, а дополняют друг друга, как кусочки пазла. Наша цель — сопоставить две взаимодополняющие части текстовой информации, которые могут не иметь прямого совпадения/сходства.

Многоязычие

В-третьих, поскольку транснациональная корпорация, работающая по всему миру, разрабатывает отдельные модели для каждого рынка и языка, она не масштабируется. Поэтому желаемое свойство нашей системы — многоязычность; система, которая будет поддерживать как можно больше языков.

Кроме того, поскольку в неанглоязычных странах принято иметь резюме на английском языке (например, на голландском рынке около 10% резюме составлено на английском языке), межъязыковость является еще одним желательным свойством, например, возможность сопоставлять англоязычные резюме с Голландские вакансии.

Создание набора данных

У нас богатая история взаимодействия консультантов (рекрутеров) и соискателей (кандидатов). Мы определяем положительный сигнал как любую точку контакта между соискателем работы и консультантом (например, телефонный звонок, собеседование, предложение о работе и т. д.). Негативные сигналы определяются соискателями, которые представляют свой профиль, но консультант отклоняет их без какого-либо взаимодействия (т. е. консультант просматривает профиль соискателя и отклоняет).

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

Базовый уровень

Без присмотра

Наши первые базовые показатели основаны на неконтролируемых представлениях объектов. В частности, мы представляем как наши вакансии, так и резюме как

(i) Взвешенные векторы TF-IDF

(ii) предварительно обученные вложения BERT

Затем мы вычисляем косинусное сходство между парами резюме и вакансий и рассматриваем косинусное сходство как прогнозируемый «показатель совпадения».

Наши векторы TF-IDF имеют 768 измерений, что равно размерности вложений BERT. Мы установили наши веса TF-IDF на тренировочном наборе, содержащем как данные о вакансиях, так и данные о резюме. Что касается моделей BERT, мы используем предварительно обученные в Википедии из библиотеки HuggingFace.

Эти неконтролируемые исходные данные помогают нам оценить, насколько проблематичным является разрыв в словарном запасе, т. е. если в вакансиях и резюме используются совершенно разные слова, оба подхода, основанные на наборе слов, такие как взвешивание TF-IDF, и встраивание представлений этих разных слов, скорее всего, будут показать низкое сходство. Если сформулировать по-другому, если перекрытие слов или близость между вакансиями и резюме имеют значение, эти базовые показатели могут работать достойно.

Под наблюдением

Далее мы представляем наши две контролируемые базовые модели, в которых мы используем классификатор случайного леса, который обучается поверх представления признаков, описанного в разделе неконтролируемого. Эти контролируемые базовые уровни обучаются на нашем 80-процентном разделении поездов с использованием параметров по умолчанию, заданных библиотекой scikit-learn.

Мы добавляем эти контролируемые методы и сравниваем их с ранее описанными неконтролируемыми базовыми уровнями, чтобы дополнительно установить степень вышеупомянутого словарного пробела и степень, в которой играет роль разнородный характер двух типов документов.

КОНСУЛЬТАНТБЕРТ

Наконец, мы представляем нашу отлаженную модель встраивания; conSultantBERT, который мы настраиваем с помощью цели регрессии, как показано на рисунке ниже.

Полученные результаты

На рисунке ниже мы видим несколько примеров предложений, которые кандидат может написать «Я работал…», и несколько примеров для вакансии «Мы ищем…». Чтобы продемонстрировать межъязыковость и многоязычность, одни и те же примеры написаны как на английском, так и на голландском языках.

TF-IDF

С TFIDF мы видим, что совпадений нет вообще. Это связано с пробелом в словарном запасе, поэтому по определению TFIDF не может сопоставлять слова "склад"и "логист".

БЕРТ

Чтобы устранить пробел в словарном запасе, мы ввели BERT.

Что мы видим, действительно находит сходство между предложениями кандидата и вакансии. Однако он также с трудом разделяет положительные и отрицательные пары.

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

КОНСУЛЬТАНТБЕРТРегрессор

На приведенном выше рисунке мы видим, что пробел в словарном запасе устранен, межъязыковые предложения составлены правильно (например, «Я проработал на складе 10 лет» и «We zijn op zoek naar een getalenteerde logistiek medewerker” имеют высокий балл), и, наконец, правильно оцениваются предложения как с голландского на голландский, так и с английского на английский, что позволяет достичь желаемого свойства многоязычия.

Заключительные примечания

В этой работе мы экспериментировали с различными способами построения вложений текстов резюме и вакансий. Мы предлагаем настроить модель BERT с использованием сиамской платформы SBERT на нашем большом реальном наборе данных с высококачественными метками для сопоставления резюме и вакансий, полученными на основе решений наших консультантов. Мы показываем, что наша модель превосходит наши неконтролируемые и контролируемые базовые уровни на основе функций TF-IDF и предварительно обученных вложений BERT.

Кроме того, мы показываем, что его можно применять для многоязычного (например, англо-английского наряду с голландско-голландским) и межъязыкового сопоставления (например, англо-голландского и наоборот).

Наконец, мы показываем, что использование цели регрессии для оптимизации косинусного подобия дает более полезные вложения в нашем сценарии, где мы стремимся применить изученные вложения в качестве представления функций в более широкой системе рекомендаций по работе.

Смотрите все наши истории и многое другое о работе в РГН ИТ