Тенденции в сфере работы с данными NLP для анализа тенденций в сфере работы

Топ-тенденции в сфере работы с данными NLP для анализа тенденций в индустрии

Авторы: Махантеш Паттадкал и Андреа Де Мауро

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

Быстрый рост данных, опирающихся на технологии, сопровождается увеличением спроса на специализированные роли, такие как “инженер данных”. Этот всплеск спроса распространяется не только на саму инженерию данных, но и на связанные должности, такие как дата-ученый и дата-аналитик.

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

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

  

В качестве инструмента реализации мы выбрали низкокодовую платформу для науки о данных: KNIME Analytics Platform. Это бесплатная платформа с открытым исходным кодом для полного цикла науки о данных, основанная на визуальном программировании и предлагающая широкий спектр функциональных возможностей, включая ETL-операции и различные источники данных для их слияния, а также алгоритмы машинного обучения, включая глубинное обучение.

Набор рабочих процессов, положенных в основу этого приложения, можно бесплатно скачать с ресурса KNIME Community Hub по ссылке “Тенденции вакансий в области аналитики данных”. Веб-приложение можно оценить в браузере по ссылке “Тенденции вакансий в области аналитики данных”.

 

Приложение “Тенденции вакансий в области аналитики данных”

 

Это приложение состоит из четырех рабочих процессов, показанных на рисунке 2, которые выполняются последовательно для следующих этапов:

  1. Скрапинг веб-страниц для сбора данных
  2. Анализ NLP и очистка данных
  3. Тематическое моделирование
  4. Анализ атрибуции роли вакансии – навыки

Рабочие процессы доступны в публичном разделе KNIME Community Hub по ссылке “Тенденции вакансий в области аналитики данных”.

  

  • Процесс “01_Скрапинг веб-страниц для сбора данных” обходит онлайн-постинги вакансий и извлекает текстовую информацию в структурированном формате.
  • Процесс “02_Анализ NLP и очистка данных” выполняет необходимые шаги по очистке и разбивке длинных текстов на более короткие предложения.
  • Процесс “03_Тематическое моделирование и исследовательское приложение для данных” использует очищенные данные для создания тематической модели и визуализации ее результатов в исследовательском приложении для данных.
  • Процесс “04_Атрибуция навыков на вакансии” определяет связь навыков между ролями вакансий, такими как дата-ученый, инженер данных и дата-аналитик, на основе результатов LDA.

 

Скрапинг веб-страниц для сбора данных

 

Для получения актуального представления о необходимых навыках на рынке труда мы выбрали анализ постингов вакансий с помощью скрапинга веб-страниц онлайн-агентств по трудоустройству. Учитывая региональные отличия и многообразие языков, мы сосредоточились на постингах вакансий в Соединенных Штатах. Это позволяет убедиться в том, что значительная часть вакансий представлена на английском языке. Мы также сосредоточились на вакансиях с февраля 2023 года по апрель 2023 года.

Рабочий процесс KNIME “01_Web Scraping для сбора данных” на рисунке 3 проходит через список URL-адресов поисковых систем на веб-сайтах агентств по трудоустройству.

Чтобы извлечь соответствующие вакансии, относящиеся к аналитике данных, мы использовали поисковые запросы с шестью ключевыми словами, охватывающими сферу аналитики данных: “большие данные”, “наука о данных”, “бизнес-аналитика”, “анализ данных”, “машинное обучение” и “аналитика данных”. Ключевые слова поиска хранятся в файле Excel и считываются через узел Читатель Excel.

Основным узлом этого рабочего процесса является узел Получение веб-страницы. Он используется дважды. Первый раз (внешний цикл), узел переходит на сайт в соответствии с введенным ключевым словом и формирует список связанных URL-адресов для вакансий, опубликованных в США за последние 24 часа. Во второй раз (внутренний цикл) узел извлекает текстовое содержимое каждого URL-адреса вакансии. Узлы Xpath, следующие за узлом Webpage Retriever, анализируют извлеченный текст для получения необходимой информации, такой как название должности, требования к квалификации, описание работы, заработная плата и рейтинг компании. В конце результаты записываются в локальный файл для дальнейшего анализа. На рисунке 4 показан пример собранных вакансий за февраль 2023 года.

Обработка NLP и очистка данных

Как и все недавно собранные данные, результаты нашего веб-сбора требуют некоторой очистки. Мы выполняем обработку NLP вместе с очисткой данных и записываем соответствующие файлы данных с использованием рабочего процесса 02_NLP Parsing and Cleaning, показанного на рисунке 5.

Несколько полей из собранных данных сохранены в виде объединения строковых значений. Здесь мы извлекли отдельные разделы с помощью ряда узлов String Manipulation внутри мета-узла “Title-Location-Company Name Extraction”, а затем удалили ненужные столбцы и избавились от дублирующихся строк.

Затем мы присвоили каждому тексту вакансии уникальный идентификатор и разбили весь документ на предложения с помощью узла Cell Splitter. Вся мета-информация для каждой вакансии – название, местоположение и компания – также была извлечена и сохранена вместе с идентификатором вакансии.

Список наиболее часто встречающихся 1000 слов был извлечен из всех документов для создания списка стоп-слов, включающего слова, такие как “заявитель”, “сотрудничество”, “трудоустройство” и т. д. Эти слова присутствуют в каждой вакансии и поэтому не несут никакой информации для следующих задач NLP.

Результатом этого этапа очистки является набор из трех файлов:

– Таблица, содержащая предложения документов;

– Таблица, содержащая метаданные описания работы;

– Таблица, содержащая список стоп-слов.

Тематическое моделирование и исследование результатов

Рабочий процесс 03_Topic Modeling and Exploration Data App (рисунок 6) использует очищенные файлы данных из предыдущего рабочего процесса. На этом этапе мы стремимся:

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

Мы подробно обсуждаем вышеупомянутые задачи в следующих подразделах.

 

3.1 Удаление стоп-фраз с использованием N-грамм

 

Многие объявления о вакансиях содержат предложения, которые обычно встречаются в политиках компании или общих соглашениях, таких как “Политика недискриминации” или “Соглашения о неразглашении”. На рисунке 7 приведен пример, где вакансии 1 и 2 упоминают политику “Недискриминации”. Эти предложения не относятся к нашему анализу и, следовательно, должны быть удалены из нашего текстового корпуса. Мы называем их “Стоп-фразы” и используем два метода для их идентификации и фильтрации.

Первый метод прост: мы рассчитываем частоту каждого предложения в нашем корпусе и удаляем все предложения с частотой больше 10.

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

  

Мы использовали оба метода для удаления “Стоп-фраз”, как показано на диаграмме включения, изображенной на рисунке 7. Сначала мы удалили самые частотные предложения, затем мы создали N-граммы с N=35 и пометили их в каждом документе с помощью узла Dictionary Tagger, и, наконец, мы удалили эти N-граммы с помощью узла Dictionary Replacer.

 

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

 

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

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

Мы решили сосредоточиться на словах, несущих смысл, поэтому мы отфильтровали документы, оставив только существительные и глаголы. Это можно сделать, присваивая метку части речи (POS) каждому слову в документе. Мы используем узел POS Tagger, чтобы присвоить этим словам метки и отфильтровать их на основе их значения, в частности, оставлять слова с POS = Существительное и POS = Глагол.

Наконец, мы применяем лемматизацию Stanford, чтобы убедиться, что корпус готов к моделированию тем. Все эти этапы предварительной обработки выполняются компонентом “Предварительная обработка”, показанным на рисунке 6.

 

3.3 Построение модели тем и ее визуализация

 

В последнем этапе нашей реализации мы применили алгоритм Латентного размещения Дирихле (Latent Dirichlet Allocation, LDA) для построения модели тем с использованием узла Topic Extractor (Parallel LDA), показанного на рисунке 6. Алгоритм LDA создает определенное количество тем (k), каждая тема описывается (m) количество ключевых слов. Параметры (k,m) должны быть определены.

Кстати, k и m не могут быть слишком большими, так как мы хотим визуализировать и интерпретировать темы (наборы навыков), рассматривая ключевые слова (навыки) и их соответствующие веса. Мы исследовали диапазон [1, 10] для k и установили значение m=15. После тщательного анализа мы обнаружили, что k=7 приводит к самым разнообразным и отличным темам с минимальным перекрытием ключевых слов. Таким образом, мы определили k=7 как оптимальное значение для нашего анализа.  

 

Исследуйте результаты моделирования тем с помощью интерактивного приложения для данных

 

Чтобы предоставить возможность каждому доступ к результатам тематического моделирования и позволить им самостоятельно ознакомиться с ними, мы развернули рабочий процесс (на рисунке 6) как Data App на KNIME Business Hub и сделали его общедоступным. Вы можете посмотреть его по адресу: Data Analytics Job Trends.

Визуальная часть этого Data App создана с использованием компонента Topic Explorer View от  Francesco Tuscolano и  Paolo Tamagnini, доступного для бесплатной загрузки с KNIME Community Hub и предоставляет ряд интерактивных визуализаций тем по темам и документам.

 Рисунок 8: Data Analytics Job Trends для изучения результатов тематического моделирования 

Представленный на рисунке 8 Data App предлагает вам выбор между двумя различными представлениями: представление “Тема” и представление “Документ”.

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

Чтобы погрузиться в исследование отдельных объявлений о работе, просто выберите представление “Документ”. Представление “Документ” представляет собой упрощенное изображение всех документов на двух измерениях. Используйте метод выбора окна для выделения значимых документов, и внизу будет представлен обзор выбранных документов.

 

Исследование рынка рабочих мест по аналитике данных с использованием NLP

 

Мы предоставляем здесь краткое описание приложения “Data Analytics Job Trends”, которое было реализовано и использовано для изучения наиболее актуальных требований к навыкам и ролям на рынке работы в сфере науки о данных. Для этого блога мы ограничились областью действия описаний вакансий в США, написанных на английском языке, с февраля по апрель 2023 года.

Для понимания тенденций в сфере работы и предоставления обзора “Data Analytics Job Trends” собирает информацию с сайтов агентств по трудоустройству, извлекает текст из онлайн-объявлений о вакансиях, извлекает темы и ключевые слова после выполнения ряда задач NLP, а затем визуализирует результаты по теме и по документу для выявления закономерностей в данных.

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

Мы развернули рабочий процесс на KNIME Business Hub и сделали его общедоступным, чтобы все могли получить к нему доступ. Вы можете проверить его по адресу: Data Analytics Job Trends.

Полный набор рабочих процессов доступен для бесплатной загрузки с KNIME Community Hub по адресу Data Analytics Job Trends. Рабочие процессы легко могут быть изменены и адаптированы для выявления тенденций в других областях рынка труда. Достаточно изменить список ключевых слов для поиска в файле Excel, веб-сайт и временной диапазон для поиска.

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

 

Ресурсы

 

  1. Систематический обзор требований к работе в области анализа данных и онлайн-курсов от A. Мауро и др. 

  Махантеш Паттадкал имеет более 6 лет опыта в консалтинге по проектам и продуктам в области науки о данных. С магистерской степенью в области науки о данных, его экспертиза проявляется в глубоком обучении, обработке естественного языка и машинном обучении, доступном для объяснения. Кроме того, он активно работает с сообществом KNIME для сотрудничества в проектах, основанных на науке о данных. 

Андреа Де Мауро имеет более 15 лет опыта работы в международных компаниях, таких как P&G и Vodafone, в области построения бизнес-аналитики и команд науки о данных. Помимо своей корпоративной роли, он преподает маркетинговую аналитику и прикладное машинное обучение в нескольких университетах Италии и Швейцарии. В своих исследованиях и публикациях он исследовал бизнес- и общественное влияние данных и искусственного интеллекта, убежденный в том, что широкая аналитическая грамотность сделает мир лучше. Его последняя книга “Data Analytics Made Easy” издана издательством Packt. Он попал в глобальный список “Сорок под сорок” журнала CDO 2022 года.