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



Обработка данных:

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

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

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

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

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

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

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

Моделирование:

Используя приведенный выше фрагмент кода, мы получаем окончательный фрейм данных, который мы будем использовать для создания модели. После обработки данных я вручную пометил данные «0» и «1» для создания модели бинарной классификации. Теперь давайте подгоним модель с помощью алгоритма бинарной классификации и проанализируем, как работает модель. Здесь наша целевая переменная — это статус кандидата, если он будет выбран или нет. Остальные столбцы — это наши функции для обучающего набора данных.

После сопоставления набора данных с моделью классификатора мы можем посмотреть полученные на его основе метрики в наборе данных для тестирования.

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

Дело 1:

Предположим, у нас есть кандидат с 4-летним опытом работы, 16-летним общим образованием и не прошедший сертификацию, но обладающий хорошими навыками, соответствующими нашим требованиям к работе.

Случай -2:

Давайте теперь попробуем с другой комбинацией, у которой очень плохие числа: 0, 10, 0, 0,3.

Случай-3:

Еще одна комбинация {7, 20, 1, 0,8}

Случай-4

Мы проверим что-то среднее: {2, 12, 0, 0,5}.

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

Спасибо всем, кто прочитал этот пост, потратив свое драгоценное время, давайте вскоре узнаем что-нибудь интересное. До свидания, ребята. Пожалуйста, поделитесь им с друзьями, если вам понравился пост.