AIマッチングが案件と人材を結びつける仕組み
Dot LinkのAIマッチングは、まず商流を軸にしたhard filterで明らかに合わない組み合わせを機械的に外し、残った候補だけを単価やスキルで丁寧に評価する2段階の仕組みで案件と人材を結びつけます。
ここで前提になるのは、自由文のメール本文から直接マッチングを試みるのではなく、いったん比較可能な形に正規化した構造データを突き合わせている点です。
この記事では、大量の案件と人材の組み合わせから、どうやって意味のある候補だけを見つけているのか、その2段階フィルタの仕組みを解説します。
総当たりで案件と人材を見比べる限界
案件と人材を1件ずつ総当たりで見比べる運用には、組み合わせが増えるほど現実的に回らなくなるという限界があります。
営業担当の方は、手元の案件と人材を頭の中で突き合わせ、商流が合いそうか、単価が噛み合うか、スキルが要件を満たすかを1件ずつ判断しています。
案件も人材も数件のうちは、この見比べが成り立ちます。
けれども扱う件数が増えると、確認すべき組み合わせの数がひとりの営業担当の手には収まらなくなります。
組み合わせが掛け算で増えていく問題
総当たりが破綻する最大の理由は、組み合わせの数が案件数と人材数の掛け算で増えるからです。
案件が10件・人材が10件なら100通りですが、それぞれが50件になれば2,500通りに膨らみます。
この2,500通りを1件ずつ「合うか合わないか」と見ていく作業は、案件が新しく届くたびにやり直しになります。
営業担当の方がどれだけ丁寧でも、掛け算で増える組み合わせを人力で漏れなく確認し続けるのは無理があります。
商流が合わない相手に時間を使う負担
もうひとつの負担は、そもそも成立しない組み合わせにも同じだけ確認の手間がかかることです。
SESは多重下請けの構造を持つため、案件側が受け入れられる商流の範囲と、人材側の所属の深さが合わなければ、スキルがどれだけ噛み合っても提案は成立しません。
それでも人力の総当たりでは、商流が合わない相手のスキルや単価まで一通り読んでから「これは商流で無理だ」と気づくことになります。
成立しない組み合わせの確認に時間を使ってしまうのは、見比べの順序を人が最適化しきれないことの表れです。
2段階で候補を絞り込むという設計
Dot Linkは、この総当たりの限界を、絞り込みを2段階に分けることで解いています。
いきなり全部の組み合わせをAIで丁寧に評価するのではなく、まず明らかに合わない組み合わせを機械的に外してから、残った候補だけを丁寧に評価します。
この2段階は、それぞれ役割がはっきり分かれています。
1段目はHard Filterで、明らかに合わない組み合わせを機械的に除外する段階です。
2段目はSoft Comparisonで、絞り込んだ候補をより豊かに比較・評価する段階です。
そして、この2段階が正しく動く前提として、案件・人材のデータが事前に正規化されている必要があります。
Dot Linkは自由文のメールから直接マッチングせず、商流・単価・スキル・稼働時期・勤務地・国籍・年齢といった項目を正規化した構造データを入力にしています。
商流と単価をメールからどう正規化しているかは、姉妹記事で詳しく扱っています。
1段目|Hard Filterで明らかに合わない組み合わせを外す
1段目のHard Filterは、正規化済みの項目を使って、明らかに合わない組み合わせをBigQuery上で機械的に除外する段階です。
ここでの目的は、丁寧に評価する価値のない組み合わせを、評価に進む前に落とし切ることです。
掛け算で膨らんだ組み合わせのうち、根本的に成立しないものをこの段階でまとめて外します。
これによって、次の2段目で丁寧に見る対象が、意味のある候補だけに絞られます。
商流の不一致が最も強い除外条件
Hard Filterで最も強く効く除外条件は、商流の不一致です。
案件側が受け入れられる商流の範囲(例:「貴社まで」「1社先可」等)と、人材側の所属の深さが合わなければ、その時点で候補から外れます。
商流は、合わなければ提案そのものが根本的に成立しない項目です。
だからこそ、スキルや単価を見るより前に、まず商流で機械的に外すのが理にかなっています。
ブロックリストやテストアカウントを機械的に隔離
商流以外にも、この段階で機械的に外れる組み合わせがあります。
ブロックリストに該当する送信元・会社や、テストアカウントの隔離も、この1段目で除外されます。
これらは案件・人材の中身を評価する以前に、そもそもマッチング対象に含めるべきでない組み合わせです。
評価に進む前に隔離しておくことで、後段の候補が実運用に使えるものだけになります。
単価では候補を除外しない理由
ここで重要なのは、単価はこの1段目では候補を除外する理由にしない、という点です。
単価がずれているという理由だけで、組み合わせが1段目で落とされることはありません。
単価は「多少ずれていても交渉の余地が残る」性質の項目であり、商流のように「合わなければ根本的に成立しない」項目とは性質が違うからです。
そのため単価は1段目では除外に使わず、後述の2段目で評価する項目として扱われています。
「商流と単価の両方でhard filterをかけている」と受け取られがちですが、1段目で機械的に除外するのは商流を軸にした条件で、単価は除外に使わないという点が設計上の要です。
判定できない商流は無理に落とさない
商流が「不明」など、どちらか判定できない組み合わせも、この段階では機械的には落としません。
判定できないものを無理に弾いてしまうと、本来は成立したかもしれない組み合わせまで失われるためです。
これは、判定できない項目を無理に埋めず正直に区分するという、正規化側の設計思想と一貫しています。
根拠が無いものを推測で除外しないという考え方は、姉妹記事の「不明を正直に区分する」話ともつながっています。
2段目|Soft Comparisonで残った候補を丁寧に評価
2段目のSoft Comparisonは、1段目を通過した候補に対して、より豊かな比較・評価を行う段階です。
1段目で組み合わせが意味のある候補だけに絞られているため、ここでは1件ずつを丁寧に見る余裕が生まれます。
明らかに合わない組み合わせを外すのが1段目、残った候補の良し悪しを評価するのが2段目、という役割分担です。
単価は交渉の余地が残る項目として評価
単価は、この2段目で評価されます。
正規化済みの金額レンジ同士を比較し、レンジが重なっていれば高評価として扱います。
レンジがずれていても、単価だけを理由に即座に除外はせず、評価スコアや懸念点として残します。
単価は交渉の余地が残る項目として、除外の条件ではなく評価の材料に位置づけられています。
スキルや稼働時期や勤務地を比較する
単価以外にも、スキル・稼働時期・勤務地/リモート・国籍・年齢といった項目が、この段階で比較・評価されます。
これらは、案件の要件と人材の条件がどれだけ噛み合っているかを測るための項目です。
1段目を通過した候補に対してだけこの比較を行うので、成立しない組み合わせにスキル評価の手間をかけずに済みます。
丁寧な評価を、意味のある候補だけに集中させられるということです。
マッチング結果には理由も添えられる
2段目のAIによる評価では、スコアだけでなく評価の理由も一緒に出力されます。
総合スコア・スキルスコア・稼働時期スコア・勤務地スコアといった評価に加えて、なぜこの候補が残ったか、どこが懸念点かという説明が添えられる設計です。
営業担当の方は、スコアの数字だけでなく、その候補を勧める理由と気をつけるべき点を一緒に受け取れます。
説明可能性そのものの詳しい話は別の機会に譲りますが、マッチング結果には理由も添えられる、とここでは押さえておいてください。
なぜ2段階に分けるのか
2段階に分ける理由は、すべての組み合わせをいきなりAIで丁寧に評価するのが非効率だからです。
前述の通り、案件数・人材数が増えるほど組み合わせは掛け算的に増えます。
その全部にAIの丁寧な評価をかけると、成立しない組み合わせの評価に大半の処理を費やすことになります。
そこで、まず明らかに合わない組み合わせ(特に商流が合わない組み合わせ)を機械的に弾き、残った候補だけを丁寧に評価する順序にしています。
役割を分けることで、機械的な除外は速く広く、丁寧な評価は狭く深く、という得意分野をそれぞれに担わせられます。
そして単価を1段目で弾かないのも、この役割分担の一部です。
単価は交渉の余地が残る項目なので、成立可否を決める1段目ではなく、良し悪しを測る2段目で扱うほうが、性質に合っています。
メール転送だけでマッチングの入力ができる流れ
この2段階マッチングの入力になる正規化データは、ses@dot-link.jpにメールを転送するだけで用意できます。
営業担当の方がやることは、届いた案件・人材メールを転送する一手だけです。
その後の本文解析、商流・単価・スキル等の正規化、2段階での候補生成は、すべて自動で進みます。
自由文のまま放置されていた案件・人材が、そのままマッチングの入力データに変わるという流れです。
ses@dot-link.jpに送ると正規化データになる
受信した案件・人材メールをses@dot-link.jpに送ると、AIが本文を解析して正規化データにします。
商流・単価・スキル・稼働時期・勤務地といった項目が、比較可能な形に揃えられます。
この正規化済みデータが、そのまま1段目・2段目のマッチングの入力になります。
メールを転送するだけの一手が、マッチングの土台づくりまで一気につながっているということです。
絞り込まれた候補だけを確認すればよい
営業担当の方は、大量の案件・人材を1件ずつ総当たりで見比べる必要がなくなります。
Dot Linkが1段目で明らかに合わない組み合わせを外し、2段目で丁寧に評価した候補だけを確認すればよいからです。
しかも候補には評価の理由と懸念点が添えられているため、なぜその組み合わせが残ったかを踏まえて判断できます。
総当たりの確認から、絞り込まれた候補の確認へと、営業担当の方の作業の中身が変わります。
総当たりをやめて設計で結びつけるという考え方
案件と人材の結びつけは、注意力や根気ではなく、絞り込みの設計で解くのが現実的です。
掛け算で増える組み合わせを人力で総当たりする運用には、件数が増えるほど回らなくなる構造的な限界があります。
明らかに合わない組み合わせは機械的に外し、残った候補だけを丁寧に評価するという2段階に分けることで、成立しない組み合わせに時間を使わずに済みます。
営業担当の方は、絞り込まれた候補とその理由を確認するところに時間を使えるようになります。
Dot Linkの全体像や発信方針は、こちらでも紹介しています。
大量の案件・人材から意味のある組み合わせだけを見つけたい営業担当の方は、まずは実際の受信メールを転送して試してみてください。
Dot Linkにメールを転送してAIマッチングを試す
無料登録してマッチングを確認する →よくある質問
AIマッチングはなぜメールから直接候補を出さないのですか
自由文のメール本文は、商流や単価の書き方が送信元ごとにばらばらで、記載そのものが無いこともあるためです。
そのまま突き合わせると、表記ゆれや記載漏れに引きずられて、案件と人材を同じ基準で比較できません。
そこでDot Linkは、いったん商流・単価・スキル・稼働時期・勤務地といった項目を正規化した構造データにしてから、それを突き合わせて候補を生成します。
比較可能な形に揃えてからマッチングすることで、2段階の絞り込みが正しく機能します。
単価が案件と人材でずれている候補はどう表示されますか
単価がずれていても、その一点だけで候補から消えることはありません。
単価は2段目で評価され、正規化済みの金額レンジ同士を比較して、重なっていれば高評価、ずれていれば評価スコアや懸念点として扱われます。
単価は交渉の余地が残る項目なので、成立可否を決める1段目の除外条件には使われず、良し悪しを測る材料として残されます。
そのため、単価にずれのある候補も、懸念点が添えられた状態で確認できます。
商流が「不明」の案件や人材はマッチングされないのですか
されなくなるわけではありません。
商流が「不明」でどちらか判定できない組み合わせは、1段目のHard Filterでは機械的に落とさない設計です。
判定できないものを無理に弾くと、本来は成立したかもしれない組み合わせまで失われるためです。
根拠が無いものを推測で除外しないという考え方で、「不明」の組み合わせも候補生成の対象として扱われます。
