HR Tech x 機械学習 導入事例紹介
-
Upload
dcubeio -
Category
Engineering
-
view
4.658 -
download
2
Transcript of HR Tech x 機械学習 導入事例紹介
HR Tech x 機械学習 導入事例紹介株式会社ビズリーチ HRMOS 事業部 エンジニア田部 亮介2017/02/23 (thu)
1
事前アンケートの結果
2
30%
30%
26%
13% 機械学習に興味あり : 30% AI の活用方法に興味 : 30%
HR Tech に興味あり : 26% その他 : 13%
今日お話すること
• HR 領域の SaaS 「 HRMOS 」 の紹介• 機械学習の技術をどのように導入、活用しているか• 今後の展望について
total 60page
3
自己紹介• 名前 : 田部亮介 ( べーたべ )
• 高知県出身 29 歳• ビズリーチ入社 4 年目• 大学文系 ( 経済学部 )
• スタンバイ事業部 (1 年ちょっと機械学習やってました ) -> HRMOS 事業部 採用管理チーム
4
D3 とは創業以来、高い技術力と戦略的な UI/UX を武器に、世の中に価値あるサービスを生み出しているビズリーチ。サービスの数が増えるにつれ、技術の幅が広がったため、そのスキルやノウハウを社内のみならず、世の中のエンジニアやデザイナーとも共有すべく、私たちは「 D3 (ディーキューブ)※」というプロジェクトチームを立ち上げました。D3 では、たくさんのイベントや勉強会を開催し、世のエンジニア・デザイナーと共に、さらなる高みを目指します。※ D3 = DESIGNER & DEVELOPER DIVISION
5
HR 領域の SaaS の紹介
人事の仕事って本当に大変ですよね…
7
例えばビズリーチの場合、10 人採用したいとすると…
採用のお仕事の悩み
• 面接、面談の情報が属人化しがちで、一般化しづらい…• 職種毎に毛色の違う人材を採用していて採用要件が違う…• 採用担当者が変わるともう…
8
9
• 採用管理、勤怠管理、評価管理など、人事領域の仕事の効率化を目的として作られたモジュール群です。• 現在リリースしているものは 採用管理 、 勤怠管理 の 2 つです。• 今後は評価管理、組織管理など、あらゆる人事領域で必要な仕事を効率化するモジュールを出して行く予定です。
10
11
の描く未来図
12
の描く未来図
作られた背景
13
スタンバイ
• 検索結果の最適化や UX 改善のために、機械学習の技術を用いて様々な工夫をしています。例 : 年収予測 職種予測 キーワードサジェスト
• その中の ATS から派生して出来たのが HRMOS です。
14
ATS ( Applicant Tracking System )
15
メールのやり取り 面接の設定 候補者の管理
採用管理ツール
の mission
16
採用活動の効率化
採用活動を効率化するためには
• システムで解決できることはシステムに任せる! ( 自動化 )
• 判断や作業に時間がかかるものには、サジェストしたりフローを簡単にする! ( 簡易化 )
17
人工知能 の出番!
ビズリーチが HR Tech をやる強み
1. 自社で毎月 1,000 名 以上の応募者と接点を作って来たことで 蓄積されている人事データ2. 人材サービス ( ビズリーチ , careertrek等 ) を展開していく中で得た知見
(※個人情報の保護には最新の注意を払っています )
3. スタンバイを作ってくることで得た機械学習のノウハウ
18
採用管理ツールへの機械学習の導入と、導入までの一連の流れ
ご紹介する機能
20
「応募者の書類選考評価予測」 機能
書類選考?
21
書類選考
面接
入社書類選考が、採用活動の中で1番多い
書類選考ってどこを見てますか?• 職歴 / 学歴
( = 経験 )• 年齢• 写真• 資格• 募集しているポジションとのマッチ度
22
判断
応募者の書類選考評価予測• 応募書類情報と、企業情報、また求人情報から、書類選考でどの評価 [S,A,B,C] を受けるのかを予測する機能です。
23
応募
デモ画面をちらっとお見せします
概略図
25
応募者が情報を入力したら
評価予測
予測結果表示
AI サーバ応募者
RDB
評価採用担当者
導入までイメージ• 「書類選考の合格率予想を作って欲しい」との要望• 納期 1ヶ月• 書類選考したことない人が実装担当 ( 1 人 )
※ インフラは揃えていただきました。• スタンバイで使った自然言語処理の知識は持ってた
26
事前に把握しておくイメージ
27
問題の性質 学習器の特徴
実装方法数値化の手法( ベクトル化 )
Z
事前に把握しておくイメージ
28
問題の性質
どんなデータがあるか数値を求めたいのか分類したいのか
応募者のレジュメ企業情報求人情報
事前に把握しておくイメージ
29
学習器の特徴
学習器にはどんなものがあるのかそれぞれどんな用途に強いのかどんな データフォーマットを用意すれば良いのか
svm決定木ロジスティック回帰
事前に把握しておくイメージ
30
数値化の手法( ベクトル化 )
学習対象のデータを、どうやったら数値で表せれるのかどんな手法があるのか
CountVectorizerTfIdfVectorizer
事前に把握しておくイメージ
31
実装方法
データの数値化 ( ベクトル化 ) や学習器の使い方予測結果をどうするのか
pythonR
scikit-learn
用意した武器
• python- scikit-learn, pandas- common-ml (弊社で作っている ml のライブラリです。 )
• elasticsearch- 形態素解析用サーバとして使用
32
使った技術・手法
• 自然言語処理• 決定木 ( DesicionTreeClassifier )
• SVM ( サポートベクターマシン )
• 多項ロジスティック回帰
33
はじめにやったこと
• 決定木のモデルを作ってみて、どこのどんなキーワードまたは数値が書類選考の結果に強い影響を持つかを調べてみる
34
どうやってやるか
• 応募者のレジュメデータと、求人情報、企業情報を全てまとめる• elasticsearch を使ってそれらのデータを形態素解析し、
CountVectorizer で数値化 ( ベクトル化 ) する• scikit-learn の DecisionTreeClassifier で学習させてみて、結果を pandas で pdf 出力して眺める
35
学習するデータが決まれば
• 実際の書類選考の結果を教師データ、事前の調査で使うと決めたデータを学習データとして学習させたい( 教師あり学習 ・ 2 値分類 )
• でも書類情報や企業情報はただの文字情報…
36
データの数値化(ベクトル化)
• レジュメなどテキストデータの数値化には、Bug-Of-Words ( BOW ) と呼ばれる手法が一般的です。
• 今回は BOW の中でも尤もシンプルなCountVectorizer を使いました。
37
決定木の結果を見て
• 強い影響を与えるのがどこのデータなのかを大体把握した( 職歴、学歴、年齢、住所等… )
=> 学習の際は、それらの強い影響を与えるデータのみ を扱うようにする
38
すごくざっくりした図
39
応募情報・年齢・学歴・職歴・住所等
求人情報企業情報書類選考評価
ベクトル化(CountVectorizer) [1,0,2,
0,0,1,…
0,0,1]
y
モデル作成
学習するデータが決まれば
• どんな学習器を使うかの選定になります。
• 今回は合否判定を作っていたので、まずは 2 値分類に強い SVM ( サポートベクターマシン ) を使いました。
40
SVM
41
合格不合格
SVM
• 合格 と 不合格 のちょうど良いところに線を引いて、分類する• 直線からの距離が遠ければ遠いほど信頼度が高い
=> 正解率が高い と判断できる=> 直線からの距離を一定数値間に置き換えて、 確率に変換していました。
42
でもあまり結果が良くない…
• 理由 : 1. 学習データ ( 応募者のレジュメ ) の情報がまばら 2. 途中で S, A, B, C の評価を出力するように変更が入り、 合格、不合格といった 2 値分類には精度が出るが 4択 ( 評価 : S, A, B, C ) は苦手だった…
43
2 値分類 -> 多値分類
• 問題の性質が変わってしまったため、次の手法を選択しないといけない…• 多値分類を解く問題に変わったので、次は多項ロジスティック回帰を使って予測をするように変更しました。
44
多項ロジスティック回帰
• これは n 個への分類に対して、それぞれの尤度を出すモデルです。• 多項ロジスティック回帰を使って、評価 [ S, A, B, NG ] の中で1番予想確率の高いものを選択するようにしました。
45
• 詳細はまた次回…( 3/13 Mon にこの詳細についての勉強会が開催予定ですので、 もし興味があればそちらにご参加ください m_ _m )
46
多項ロジスティック回帰
これで予測ができるようになりました!
• あとは、 AI サーバと API を繋いで、応募情報の追加や更新があれば予測結果を DB に書き込みます。• 応募者の書類選考の際には、予測結果を取得して表示します。
47
事前に把握しておくイメージ
48
問題の性質 学習器の特徴
実装方法数値化の手法( ベクトル化 )
Z
なぜこの機能を作ったのか と今後の展望について
応募書類評価予測を作った理由
50
採用活動の効率化
応募書類評価予測を作った理由
51
書類 面談 面接 内定 入社
企業が人材を採用する流れ
採用のお仕事 ( 再 )
52
例えばビズリーチの場合、10 人採用したいとすると…
応募書類評価予測を作った理由
• 応募書類評価が予測できる => 1次面接の予測ができる => 内定予測… => 内定承諾予測…• それらの先駆けとしてまず導入しました。
53
様々な予測が出来るようになれば
54
書類 面談 面接 内定 入社
企業が人材を採用する流れ
様々な予測が出来るようになれば
55
書類 面談 面接 内定 入社
30%
20%
80%
50%
56
様々な人事モジュールがつながる未来
• 社内の評価が高い人材と似ている応募があれば、積極的に採用してみる• 勤怠、健康の乱れ、評価の情報から、離職率を下げれるような動きを取り、事前に防ぐ• 過去のデータから戦略的な人材配置のアシスト
etc…
57
まだまだ挑戦は始まったばかり…
58
59
一緒に挑戦してくれる仲間を募集中です!
60
ご清聴ありがとうございました。