Прия Рамакришнан | Грант Лоури | Неха Агравал | Фан Чжан | Снеха Банерджи
Описание и цели проекта
На нынешнем рынке труда соискатели постоянно стремятся приобрести соответствующие навыки, чтобы быть конкурентоспособными с другими соискателями. Образовательные учреждения, онлайн-академии и корпорации наводняют социальные сети рекламой курсов, которые предлагают вам самые лучшие навыки. Навыки, которые якобы приведут вас к «работе мечты» после завершения программы. Но с бесконечным выбором карьерных путей многие курсы могут не подойти человеку. Точно так же многие описания вакансий содержат ряд обязательных и предпочтительных навыков, которые могут быть полезны кандидатам.
Идея этого проекта состоит в том, чтобы собрать сообщения с LinkedIn, Indeed и других популярных сайтов со списками вакансий, чтобы извлечь часто необходимые навыки/ожидания для самых разных аналитических ролей. При этом мы также будем очищать диапазоны заработной платы и потенциальные преимущества, связанные с различными позициями и географическими местоположениями. В идеале мы стремимся создать бота, который будет ежедневно собирать сообщения и давать нам текущую рыночную тенденцию из прошлых данных. Наша конечная цель — создать интерактивный концентратор, ориентированный на пользователей, который позволит соискателям в аналитической отрасли понять макротенденции, которые помогут им быть более конкурентоспособными на сегодняшнем постоянно меняющемся рынке труда.
Описания данных
Наша группа использовала данные, полученные с популярного сайта объявлений о вакансиях LinkedIn. Мы искали различные должности и функциональные роли по всей территории Соединенных Штатов. Мы позаботились о том, чтобы очистить данные, не входя в учетную запись LinkedIn, чтобы обеспечить универсальность для любого пользователя. Мы также обнаружили, что без входа в систему мы можем извлечь более подробные данные из описаний вакансий. Ниже показано, как выглядела типичная страница объявлений о вакансиях.
После успешного извлечения и форматирования данных из LinkedIn наши данные содержали отдельный JobId, JobTitle, Company, Job Description, Range Pay Range, Location и Date Posting Date.
Исследование данных
Учитывая, что у нас были подробные данные о местонахождении, навыках, компании и должностях, мы сначала изучили данные, чтобы определить, как лучше всего их можно проанализировать для достижения нашей цели. Мы обнаружили, что существуют сотни разных названий должностей, поэтому их нужно использовать в объединенном формате, а не искать среди названий должностей как есть.
Изучив лучших работодателей из нашей базы данных, мы обнаружили, что технические рекрутеры, такие как Amazon, Google, Meta, находятся в верхней части списка с преобладающим присутствием финансовых компаний, таких как Bank of America, Citi.
Углубившись в каждую из различных категорий ролей, мы обнаруживаем, что для ролей Data Science в топ-5 рекрутеров за указанный период времени входили Amazon, Bank of America, Google, Citi и Meta. По сравнению с ведущими работодателями в целом, некоторые новички в этой категории были такими гигантами розничной торговли, как The Home Depot и Gap.
Сосредоточение внимания на категории вакансий «Маркетинговый аналитик» привело к большему количеству вариаций в списке лучших работодателей, который состоял из разных отраслей. В топе оказалась финансовая компания Affirm, за которой следуют производственная компания Thermo Fisher Scientific и компания-разработчик программного обеспечения Dropbox. Это указывает на то, что в общем списке лучших работодателей роли Marketing Analytics не были так востребованы по сравнению с другими ролями, особенно за период времени, охваченный нашим анализом.
Точно так же, взглянув на список лучших работодателей Operations Analyst, мы увидели смесь отраслей, в которых доминирующими отраслями были компании, занимающиеся разработкой программного обеспечения, розничной торговлей и управленческим консалтингом. Этот список возглавил Blackbaud, за ним следуют Centene и CVS Health.
Географически мы проанализировали, скажем, должности аналитиков операций, которые показали, что на восточном побережье преобладали такие роли. Дальнейший анализ можно увидеть на панели инструментов Tableau.
Методология
После того, как группа собрала данные из нашего процесса парсинга, мы отформатировали большинство столбцов в управляемом виде. Большая часть работы, которую необходимо выполнить, — это извлечение характеристик из самих должностных инструкций. В качестве начального шага наша группа выполнила все обычные этапы предварительной обработки, необходимые для обработки естественного языка. Это включает в себя использование регулярных выражений для удаления ненужных символов, удаление типичных и нерелевантных стоп-слов, токенизацию каждого отдельного описания.
Процесс, который следует здесь, заключался в использовании тегов частей речи для извлечения существительных в единственном и множественном числе, имен собственных и прилагательных. В полученном списке было много шума, и его нужно было сопоставить с исчерпывающим списком всех навыков, необходимых для всех трех категорий ролей, и, таким образом, из каждого описания был извлечен набор из 5 характеристик навыков, и добавлены эти 5 характеристик в текущий список для найти общие наиболее распространенные навыки в каждой категории.
Библиотека spacy пригодилась для понимания алгоритма сопоставления правил на основе тегов POS. Каждому слову назначается часть речи, и таким образом слова группируются с использованием грамматики.
Приведенный выше код представляет собой средство извлечения навыков сопоставления тегов POS. Код принимает список слов с тегами POS, а затем извлекает только слова, соответствующие правилу. Код сопоставления правил показан ниже.
Наиболее распространенные навыки, найденные с использованием тегов POS, показаны в облаке слов ниже. Это показывает навыки, связанные с ролями науки о данных.
Мы хотели использовать нейронные сети для нашего второго подхода и попробовали модель word2vec для извлечения необходимых векторов навыков. Мы обучили модель с помощью набора токенов из извлеченного описания работы и провели измерение сходства. Word2vec также хорошо подходит для конкретных навыков работы с данными. В приведенном ниже фрагменте кода показаны наиболее похожие слова в практике науки о данных.
Основные выводы
Основываясь на нашем анализе, мы определили различные наборы навыков, которым отдают приоритет различные должности, и кандидаты могут рассматривать их в качестве основных направлений деятельности. Например, претендент на роль специалиста по данным должен уделить первоочередное внимание совершенствованию своих навыков в AWS, SAS, глубоком обучении, прогнозировании и программировании в целом. Это сильно отличается от навыков, необходимых для аналитика по маркетингу, которые включают хорошее знание программного обеспечения для визуализации, такого как Tableau, Power BI, и глубокое понимание технологий баз данных и MS Excel. Аналогичным образом, большинство повторяющихся навыков, необходимых для операционного аналитика, включали статистику, MS Excel, прогнозирование и SAS. В заключение, наиболее распространенными навыками, которым компании отдают приоритет в этих трех конкретных областях, были Tableau, Power BI, MS Excel и практические знания в области запросов к базе данных.
Задачи
Перед началом проекта наша группа была обеспокоена множеством подводных камней, которые ограничивали бы наши возможности в плане сбора и анализа данных.
Первая проблема, с которой мы столкнулись, касалась информации о заработной плате. Учитывая, что огромную часть критерия отбора соискателя составляет заработная плата, мы посчитали, что сравнение ролей на основе их оплаты будет огромным преимуществом для тех, кто использует нашу систему. Вскоре после веб-скрейпинга мы обнаружили, что подавляющее большинство корпораций либо не публикуют данные о зарплате в описании. Это сильно ограничило наши возможности по анализу заработной платы в нашем проекте.
Кроме того, мы столкнулись с многочисленными проблемами в процессе парсинга веб-страниц. Чаще всего наша группа сталкивалась с проблемами получения эффективного размера набора данных в каждом раунде очистки. После дальнейшего расследования мы обнаружили, что веб-страницы LinkedIn не были стандартизированы и часто приводили к сбою нашего кода очистки. Чтобы компенсировать это, нашей группе пришлось провести несколько раундов соскоба в течение нескольких дней, чтобы получить достаточный размер выборки для анализа. Это также привело к еще одной проблеме, когда повторяющиеся задания будут отбрасываться, поскольку возможно, что результат поиска аналитика данных имеет перекрывающиеся задания из поиска аналитика цепочки поставок. Это потребовало дополнительной проверки с точки зрения удаления всех дубликатов, чтобы обеспечить целостность наших очищенных результатов, и потребуется в качестве шага проверки каждый раз, когда результаты очищаются.
Заключение
Алгоритмы, использованные в нашем проекте, были двоякими. В обоих есть оговорки. Сходство word2vec основано на описании, которое мы обучили, поэтому поиск навыков для каждой роли завершается неудачей, если в описании не упоминается роль. Словарь зависит от корпуса, поэтому поиск по ролям не удался с моделью word2vec.
Сопоставление тегов POS на основе правил соответствует всем необходимым навыкам, но также извлекает другие существительные и имена собственные. Было много шума, и для извлечения потребовался другой словарь для получения необходимых существительных (навыков). Это интересная проблема, которую можно решить с помощью других моделей НЛП, таких как тематическое моделирование, LSTM и встраивание слов. Самый важный вывод из этого проекта заключается в том, что извлечение контекстных тем без шума все еще находится в стадии исследования.
Ссылка на код находится здесь: https://github.com/Priya1Projects/MSBA_DataScience/blob/main/NLPJobSkillsExtraction.ipynb
Доступ к панели инструментов Tableau для этого проекта можно получить по следующей ссылке: https://public.tableau.com/views/JobSkillsDashboard/Story1?:language=en-US&publish=yes&:display_count=n&:origin=viz_share_link