
拓海先生、部下から『求人に書かれたソフトスキルを自動で取れるようにしろ』と言われまして、何から始めればいいのか全然わかりません。そもそもソフトスキルって、機械で分かるものなんですか?

素晴らしい着眼点ですね!大丈夫、できますよ。要点は三つで説明します。まず、求人文中に書かれた”friendly”などの言葉が『候補者に求められる性質』なのか『会社を説明する形容』なのかを区別すること、次にその区別を文脈で判定する仕組みを作ること、最後にその判定精度を現場で使えるレベルに保つことです。

つまり、単純にキーワードが出てきたらマッチ、というのではダメということですね。誤検出が多いと現場が信用しなくなります。投資対効果を考えると、誤検出は本当に困るのですが、精度はどれくらい出るものなんですか?

その不安はもっともです。論文の結果を見ると、タグ付けという入力表現を用いたLSTM(Long Short-Term Memory)で、精度を95%に固定したときの再現率(recall)が約83.9%まで伸びています。要するに、誤検出を抑えながら取りこぼしを減らすバランスが取れている、ということです。

なるほど。で、その『タグ付け』って結局どうするんです?要するに、求人文の中で注目する単語に印を付けて機械に教えるということですか?

良い理解です!正確には、注目するソフトスキル表現を文脈内で特別なタグで囲んでモデルに入力する手法です。例えるなら、社内報で重要な文だけ赤線を引いて見せるようなもので、その赤線があることで機械は『ここが判断対象だ』と理解できます。

他にどんな手法がありますか。例えば、単語を隠すみたいなことも有効だと聞きましたが、それは何のためにやるのですか?

素晴らしい着眼点ですね!ソフトスキルの『マスキング(masking)』は、注目語を特殊なトークンに置き換えて、モデルが周囲の文脈だけで判断するよう促す手法です。これは、キーワード自体の影響を減らして、前後の文が候補者を指すかどうかを見分ける助けになります。

なるほど。で、実務に導入するときの注意点は何でしょうか。現場は忙しいので手間はかけられませんし、運用コストも抑えたいです。

ポイントは三つです。一つ、モデルは文脈に依存するのでデータをある程度収集し、実際の求人文に合わせて微調整すること。二つ、誤検出時のフィードバックループを作り人手で修正して学習させること。三つ、精度と再現率のトレードオフを経営判断で決めること。これらを順序立てて運用すれば、コストは抑えられますよ。

これって要するに、仕事の募集文から『人に求めている性質』だけを正確に抽出するためのフィルターを掛ける技術ということですか?

その理解で合っていますよ!だから導入時には、まず高精度を目指して運用し、徐々にカバー範囲を広げていくのが現実的です。大丈夫、一緒にやれば必ずできますよ。

分かりました。では最初は高い精度で使えるようにして、反応を見ながら拡張していくという方針で進めます。要点は私の言葉で言うと、『求人の文脈を見て、本当に人に求められているソフトスキルだけ抽出する仕組みを作る』、ですね。


