レバレジーズ データAIブログ

インハウスデータ組織のあたまのなか

20000件の求人からスキルグラフ作ってみた

こんにちは、レバレジーズテクノロジー戦略室で研究員をしている修です。
データ系職種の皆さんは「次に何を学ぼうかな?」「このスキルとあのスキルって、どう関係してるんだろう?」と思ったことはありませんか?
今回、そんな疑問を解決するために、約2万件の求人データセットを使って、スキル同士の関係性を「グラフ」として可視化し、「どのスキルが一番『ハブ』になっているのか?」という観点から分析してみました。

この記事でやること

  1. データと手法の紹介:どのデータを、どんな方法で分析したのかを簡単に説明します。
  2. スキルグラフの作成:求人データから「スキルの相関グラフ」を作ります。
  3. グラフ分析(中心性):作成したグラフを使って、「重要なスキル」を見つけ出します。
  4. 考察:分かったことや、次にやりたいことをまとめます。

1. データと手法の紹介

使用データ

今回使用したのは、「Retrieving Skills from Job Descriptions: A Language Model Based Extreme Multi-label Classification Framework」という論文で公開されている、シンガポールの総合型求人サイト(mycareersfuture.sg)のデータセットです。

  • データ数: 約20,000件
  • 内容: 求人のタイトル、職務内容、必須スキルなど

このデータセットの「必須スキル」(skills_required)リストに注目し、「どのスキルが、どのスキルと一緒に要求されやすいか」を分析の土台にします。このデータセットでは、「Python」のようなハードスキルと「Team Leadership」のようなソフトスキルが区別されず、どちらも「必須スキル」として扱われています。

{'company_name': 'THE SUPREME HR ADVISORY PTE. LTD.',
 'job_title': 'Admin Assistant [$1.5k-$2.2k  /  Bukit Batuk  /  Indoor Sales  /  Networking  /  With exp  /  Immediate]',
 'employment_type': 'Permanent, Full Time',
 'seniority': 'Junior Executive',
 'job_category': ['Admin ', ' Secretarial'],
 'location': 'AZ @ PAYA LEBAR, 140 PAYA LEBAR ROAD 409015',
 'salary': '$1,800to$2,200Monthly',
 'min_experience': '1 year  exp',
 'skills_required': ['Access',
  'Customer Service',
  'Data Entry',
  'Employee Relations',
  'English',
  'Event Planning',
  'Human Resources',
  'Leadership',
  'Management',
  'Microsoft Excel',
  'Microsoft Office',
  'Microsoft Word',
  'Outlook',
  'PowerPoint',
  'Public Speaking',
  'Research',
  'Social Media',
  'Team Leadership',
  'Teamwork',
  'Time Management'],
 'requirements_and_role': 'providing support director admin manager assisting daily day day activities carry indoor sales network tele marketing exp willing learn also generate quotation invoicing etc sales coordination functions',
 'job_requirements': 'requirements preferably least 1 year relevant exp',
 'company_info': 'THE SUPREME HR ADVISORY PTE. LTD.\nHere at The Supreme HR Advisory, we pride ourselves on being a vibrant recruitment firm with strong Southeast Asia standing. We believe in customizing our services to cater to your unique needs. We are dedicated, enthusiastic and we take innovative approaches in customizing our services. Our depth of experience enables us to understand each industry’s challenges and provide expert advice on hiring requirements. Our goal is to leverage local knowledge and global expertise to deliver high-quality candidates specifically matched to the requirements of each of our clients worldwide.\n',
 'posting_date': '09 May 2019',
 'expiry_date': '08 Jun 2019',
 'no_of_applications': '7',
 'job_id': 'JOB-2019-0098255'}
求人データの例

分析手法

分析の手法は、「Patterns of co-occurrent skills in UK job adverts」という論文を参考にしました。
この論文のアイデアを一言でいうと、「求人広告で"一緒に出てくる"スキルは、何らかの関係があるはずだ」というものです 。
この考え方に基づき、スキル同士の「共起(co-occurrence)」 をベースにしたスキルグラフを構築します。

2. スキルグラフの作り方

分析の核となる「スキルグラフ」の作り方は、とてもシンプルです。

  1. スキルを「点(ノード)」とする:
    Python」「SQL」「Java」「Project Planning」など、データに出てくる全スキルを「点」として用意します。
  2. スキルの「共起(co-occurence)」を「線(エッジ)」とする:
    ある1つの求人広告で、「Python」と「SQL」が同時に必須スキルとして挙げられていたら、2つの点の間に「線」を引きます。
  3. 線の重みを決める:
    何度も一緒に出てくるスキル同士(例:「Python」と「SQL」)は、重みが大きく(=関係性が強い)なります。逆に出てくる回数が少ないペアは、重みが小さくなります。

こうして、スキル同士がどれだけ強く結びついているかを示す、巨大な「スキルの相関ネットワーク」を構築します。

構築したスキルグラフ

C++」サブグラフ

C++のサブグラフを可視化してみると、近くにPython、C、Javaなどがきているのがわかります。うまくできてそうですね!次のステップでは、全グラフを使ってスキルの重要度を探索していきます。

3. グラフ分析:「重要なスキル」はどれだ?

さて、スキルグラフが完成したところで、いよいよ分析です。この巨大なネットワークから「重要なスキル」を見つけるために、ネットワーク分析の代表的な指標である「中心性(Centrality)」を使います。今回は、特に有名な2つの中心性を使いました。

① 近接中心性 (Closeness Centrality) - スキル界の「ハブ」は誰だ?

  • 何を測るか?: そのスキル(点)が、他のすべてのスキル(点)にどれだけ「近い」か。
  • 簡単な例え:
    • 近接中心性が高い: 「主要ターミナル駅(例:東京駅)」
      どの駅(スキル)に行くにもアクセスが良く、ネットワーク全体の中心に位置しています。
    • 近接中心性が低い: 「ローカル線の終着駅」
      他の駅(スキル)に行くには、何度も乗り換えが必要で、ネットワークの端に位置しています。
  • 数式:
    • は対象のスキル、はスキルの総数、はスキルから到達可能なスキルの数、から到達可能なスキルの集合、からへの最短経路距離です。他のスキルからの距離が平均的に近いほどが大きくなる仕組みですね!

この指標が高いスキルは、多くのスキルと直接・間接的に繋がっている「汎用スキル」「基礎スキル」である可能性が高いです。

【分析結果】 近接中心性が高かったスキル

近接中心性が高かったスキル top 20

データの特性上スキルが被り気味ですが、上位はほぼ管理系スキルで独占されてますね。逆に、PythonJavaなどの特定領域でメジャーなスキルなどはいっさいランクインしてないですね。また、僅差で順位が決まってるのを見ると、マネジメント系のスキル全体がネットワークのコアを形成しているようです。

② 媒介中心性 (Betweenness Centrality) - スキル界の「橋渡し役」は誰だ?

  • 何を測るか?: そのスキル(点)が、他のスキル同士の「最短経路」にどれだけ頻繁に登場するか。
  • 簡単な例え:
    • 媒介中心性が高い: 「重要な『橋』や『乗り換え駅』」
      異なるスキル群(例:「データ分析の島」と「Web開発の島」)を繋ぐ役割を果たしています。
    • 媒介中心性が低い: 「袋小路の道」
      そのスキルを通らなくても、他のスキルには問題なくたどり着けます。
  • 数式:
    • は対象のスキル、以外のスキル、間の最短経路の数、はそのうちを経由する最短経路になります。を経由する最短経路が多いほどの値が大きくなる仕組みです。

この指標が高いスキルは、異なる専門分野を繋ぐ「ブリッジ人材」に必要なスキルや、複数の技術を組み合わせる上で鍵となる「キースキル」である可能性が高いです。

【分析結果】 媒介中心性が高かったスキル

媒介中心性が高かったスキル top 20

この指標でもTeam LeadershipやProject Planningのような管理系のスキルが上位に来ました。ということは、これらのスキルは各分野の中心的なスキルであると同時に、異なる分野を結びつける役割も果たしているということですね。それとは対照的に、他の管理系のスキルのスコアはこの二つに比べてだいぶ低いことから、中心的なスキルではありつつ、他の専門分野との橋渡し的な役割(例: データサイエンス→営業)は果たしてなさそうです。また、近接中心性と違い、今回はRecruiting (HR)やCloud Computing (IT)のような色々な領域のスキルがランクインしています。これらのスキルは各領域とその他を繋ぐ小さな橋だが、中心的なスキルではないというイメージですね。

4. まとめと今後の展望

今回は、約2万件の求人データからスキルグラフを作成し、「中心性」という指標で重要なスキルを分析しました。

  • 近接中心性(ハブ)では、Team Leadershipやのような管理系のスキルが上位に来ました。
  • 媒介中心性(橋渡し)では、管理系のスキルの他にも異なる分野を繋ぐスキルが目立ちました。

求人データを「点と線」の関係で捉え直すだけで、市場で求められるスキルの「役割」が見えてくるのは、とても面白い発見でした。

今後は、

  • スキルをクラスタリングして、「Web開発」や「データサイエンス」といった専門分野の「かたまり」を見つける。
  • 給与データと絡めて、どのスキル(またはスキルの組み合わせ)が給与にポジティブな影響を与えるか分析する。

などもやってみたいと思います。

最後まで読んでいただき、ありがとうございました!データ分析って面白いですね!

おわりに

レバレジーズでは、最先端AI技術の調査・研究開発を行う研究員のポジションで一緒に働くメンバーを募集しています。 「専門性を生かして新たなイノベーションを起こしたい」と考えている方は以下の求人もご確認ください!

hrmos.co

参考資料

  • 手法の参考: Liu, Z., Clarke, J. M., Rohenkohl, B., & Barahona, M. (2024). Patterns of co-occurrent skills in UK job adverts. arXiv:2406.03139v1.
  • データセット: Bhola, A., Halder, K., Prasad, A., & Kan, M. Y. (2020). Retrieving Skills from Job Descriptions: A Language Model Based Extreme Multi-label Classification Framework. Proceedings of the 28th International Conference on Computational Linguistics (COLING)