(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024123358
(43)【公開日】2024-09-12
(54)【発明の名称】マッチング装置およびプログラム
(51)【国際特許分類】
G06Q 10/0631 20230101AFI20240905BHJP
【FI】
G06Q10/0631
【審査請求】未請求
【請求項の数】6
【出願形態】OL
(21)【出願番号】P 2023030695
(22)【出願日】2023-03-01
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.JAVA
2.Python
(71)【出願人】
【識別番号】000233538
【氏名又は名称】株式会社日立ソリューションズ東日本
(74)【代理人】
【識別番号】110002572
【氏名又は名称】弁理士法人平木国際特許事務所
(72)【発明者】
【氏名】星 魁人
(72)【発明者】
【氏名】清藤 駿成
【テーマコード(参考)】
5L010
5L049
【Fターム(参考)】
5L010AA09
5L049AA09
(57)【要約】
【課題】パートナとプロジェクトの適合度を予測するマッチング装置において、入力値の変化に対して出力値の変化の単調性を保証できるものを提供する。
【解決手段】パートナとプロジェクトの適合度を予測するマッチング装置は、複数のパートナのそれぞれについて、パートナ属性ベクトルに基づき、単調に変化するパートナ特徴ベクトルを算出し、前記マッチング装置は、複数のプロジェクトのそれぞれについて、プロジェクト属性ベクトルに基づき、単調に変化するプロジェクト特徴ベクトルを算出し、前記マッチング装置は、前記パートナ特徴ベクトルおよび前記プロジェクト特徴ベクトルに基づき、単調に変化する前記適合度を算出する。
【選択図】
図5
【特許請求の範囲】
【請求項1】
パートナとプロジェクトの適合度を予測するマッチング装置であって、
前記マッチング装置は、複数のパートナのそれぞれについて、複数のパートナ属性要素から構成されるパートナ属性ベクトルに基づき、複数のパートナ特徴要素から構成されるパートナ特徴ベクトルを算出し、ただし、各前記パートナ特徴要素の変化は、ユーザが指定した前記パートナ属性要素の変化に対して単調であり、
前記マッチング装置は、複数のプロジェクトのそれぞれについて、複数のプロジェクト属性要素から構成されるプロジェクト属性ベクトルに基づき、複数のプロジェクト特徴要素から構成されるプロジェクト特徴ベクトルを算出し、ただし、各前記プロジェクト特徴要素の変化は、ユーザが指定した前記プロジェクト属性要素の変化に対して単調であり、
前記マッチング装置は、前記パートナ特徴ベクトルおよび前記プロジェクト特徴ベクトルに基づき、前記適合度を算出し、ただし、前記適合度の変化は、各前記パートナ属性要素の変化および各前記プロジェクト属性要素の変化に対して単調である、
マッチング装置。
【請求項2】
請求項1に記載のマッチング装置であって、前記マッチング装置は、単調ニューラルネットワークを用いて前記パートナ特徴ベクトルおよび前記プロジェクト特徴ベクトルを算出する、マッチング装置。
【請求項3】
請求項1に記載のマッチング装置であって、
前記マッチング装置は、前記パートナ特徴要素の各項目について、そのパートナ特徴要素への寄与度が一定の閾値よりも大きいパートナ属性要素の項目を、寄与属性として取得し、
前記マッチング装置は、前記パートナ特徴要素の各項目と、対応する前記寄与属性とを関連付けて出力する、
マッチング装置。
【請求項4】
請求項1に記載のマッチング装置であって、
前記マッチング装置は、複数の前記パートナについて各前記パートナ特徴要素の値を評価し、
前記マッチング装置は、複数の前記プロジェクトについて各前記プロジェクト特徴要素の値を評価し、
評価の結果が類似する前記パートナおよび前記プロジェクトを関連付けて出力する、
マッチング装置。
【請求項5】
請求項4に記載のマッチング装置であって、
前記マッチング装置は、前記パートナ特徴要素および前記プロジェクト特徴要素の値を、所定閾値との比較に基づき複数のレベルに変換することにより評価し、
前記評価の結果が類似する前記パートナおよび前記プロジェクトとして、すべての項目について評価結果が一致する前記パートナおよび前記プロジェクトを、関連付けて出力する、
マッチング装置。
【請求項6】
コンピュータを、請求項1~5のいずれか一項に記載のマッチング装置として機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明はマッチング装置およびプログラムに関し、たとえば、入力値の変化に対して出力値の変化の単調性を保証できるものに関する。
【背景技術】
【0002】
プロジェクト型事業を行う企業では、人手不足の解消や自社で保持していない技術の調達のために、他社(たとえばパートナ企業。具体例として派遣企業等)の人材(パートナ人材)に、自社のプロジェクトに一時的に参画してもらうことが多い。各プロジェクトに対し、適切なパートナ人材を活用していくことは、経営上の重要な課題である。
【0003】
しかし、パートナ人材(特に、新規のパートナ人材)とプロジェクトとの適合度を判断するのは難しく、ミスマッチが発生しているのが現状である。これは、適合度を判断する際に考慮が必要なパートナ人材の情報(保持スキル、性格、働きたい環境、等)とプロジェクトの情報(必要スキル、職場環境、等)との関係が複雑なためである。そのため近年では、プロジェクトに対する、パートナ人材の適合度を計算するAI技術を開発する事例が増えている。
【0004】
パートナとプロジェクトの適合度を予測するための技術として、特許文献1に、過去のパートナとプロジェクトのマッチング実績から、適合度の計算方法を学習する技術が開示されている。
【0005】
具体的には、深層ニューラルネットワーク(DNN)を用いて、パートナとプロジェクトの属性値から、適合度の計算に有用な特徴量を抽出し、その特徴量にもとづいてパートナとプロジェクトの適合度を計算する。過去のマッチング実績におけるパートナとプロジェクトに対して、DNNが予測した適合度と実際の適合度が一致するようにパラメータを学習することで、適合度を正確に予測できるようになる。
【0006】
また、パートナとプロジェクトの適合度を予測するための技術に関するものではないが、DNNにおいて、入力の変化に対して出力の変化の単調性が保証されるように構築されたもの(単調ニューラルネットワーク、MNN)に関する技術が公知である。このような技術は、たとえば非特許文献1および2に記載される。
【先行技術文献】
【特許文献】
【0007】
【非特許文献】
【0008】
【非特許文献1】Sill, Joseph、「Monotonic networks」、Advances in neural information processing systems 10 (1997)、[online]、[令和5年1月16日検索]、インターネット<URL:https://proceedings.neurips.cc/paper/1997/file/83adc9225e4deb67d7ce42d58fe5157c-Paper.pdf>
【非特許文献2】You, Seungi, et al.、「Deep lattice networks and partial monotonic functions」、Advances in neural information processing systems 30 (2017)、[online]、[令和5年1月16日検索]、インターネット<URL:https://proceedings.neurips.cc/paper/2017/file/464d828b85b0bed98e80ade0a5c43b0f-Paper.pdf>
【発明の概要】
【発明が解決しようとする課題】
【0009】
しかしながら、従来の技術では、人材マッチングにおいて、入力値(パートナに関する情報、プロジェクトに関する情報、等)の変化に対する、出力値(適合度等)の変化の単調性を保証できず、ユーザが有する一般的な業務知識とマッチング結果が整合しないという課題があった。
【0010】
単調性とは、具体的には、保持スキルの高いパートナは低いパートナと比較して任意のプロジェクトとの適合度が高くなること、同様に、要求スキルが高いプロジェクトは低いプロジェクトと比較して任意のパートナとの適合度が低くなること、である。より正確には、パートナの属性ベクトルに含まれる要素の値x,x’(ただしx≦x’)と、プロジェクトの属性ベクトルに含まれる要素の値y,y’(ただしy≦y’)と、適合度を計算する関数fとに対して、f(x,y)≦f(x’,y)かつf(x,y)≧f(x,y’)となることである。なお関数fは具体的には属性ベクトルx=(x[1],x[2],…),y=(y[1],y[2],…)に対してf(x[1],x[2],…,y[1],y[2],…)で定義される。
【0011】
従来のマッチング技術(例として特許文献1に記載の技術)を用いてこれを実現するためには、大量の学習データから、適合度の予測において単調性が満たされていることを学習する必要がある。しかし、学習データの数は限られており、すべての入力パターンで単調性の満たされた予測方法を学習できるわけではない。したがって、従来技術では、予測において単調性を保証することが難しい。単調性は業務知識としてユーザから当然守られていると期待されることや、単調性を満たさない予測はユーザが明らかに間違いだと分かる誤判断であることから、このような予測を出力してしまうと信頼性が著しく下がってしまう。そのため、単調性を確実に保証できるマッチング装置が求められている。
【0012】
本発明はこのような課題を解決するためになされたものであり、入力値の変化に対して出力値の変化の単調性を保証できるマッチング装置およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【0013】
本発明に係るマッチング装置の一例は、
パートナとプロジェクトの適合度を予測するマッチング装置であって、
前記マッチング装置は、複数のパートナのそれぞれについて、複数のパートナ属性要素から構成されるパートナ属性ベクトルに基づき、複数のパートナ特徴要素から構成されるパートナ特徴ベクトルを算出し、ただし、各前記パートナ特徴要素の変化は、ユーザが指定した前記パートナ属性要素の変化に対して単調であり、
前記マッチング装置は、複数のプロジェクトのそれぞれについて、複数のプロジェクト属性要素から構成されるプロジェクト属性ベクトルに基づき、複数のプロジェクト特徴要素から構成されるプロジェクト特徴ベクトルを算出し、ただし、各前記プロジェクト特徴要素の変化は、ユーザが指定した前記プロジェクト属性要素の変化に対して単調であり、
前記マッチング装置は、前記パートナ特徴ベクトルおよび前記プロジェクト特徴ベクトルに基づき、前記適合度を算出し、ただし、前記適合度の変化は、各前記パートナ属性要素の変化および各前記プロジェクト属性要素の変化に対して単調である。
【0014】
一例によれば、前記マッチング装置は、単調ニューラルネットワークを用いて前記パートナ特徴ベクトルおよび前記プロジェクト特徴ベクトルを算出する。
【0015】
一例によれば、前記マッチング装置は、前記パートナ特徴要素の各項目について、そのパートナ特徴要素への寄与度が一定の閾値よりも大きいパートナ属性要素の項目を、寄与属性として取得し、
前記マッチング装置は、前記パートナ特徴要素の各項目と、対応する前記寄与属性とを関連付けて出力する。
【0016】
一例によれば、前記マッチング装置は、複数の前記パートナについて各前記パートナ特徴要素の値を評価し、
前記マッチング装置は、複数の前記プロジェクトについて各前記プロジェクト特徴要素の値を評価し、
評価の結果が類似する前記パートナおよび前記プロジェクトを関連付けて出力する。
【0017】
一例によれば、前記マッチング装置は、前記パートナ特徴要素および前記プロジェクト特徴要素の値を、所定閾値との比較に基づき複数のレベルに変換することにより評価し、
前記評価の結果が類似する前記パートナおよび前記プロジェクトとして、すべての項目について評価結果が一致する前記パートナおよび前記プロジェクトを、関連付けて出力する。
【0018】
本発明に係るプログラムの一例は、コンピュータを、上述のマッチング装置として機能させる。
【発明の効果】
【0019】
本発明に係るマッチング装置およびプログラムによれば、入力値の変化に対して出力値の変化の単調性が保証される。このため、たとえば予測の信頼性が高まる。
【図面の簡単な説明】
【0020】
【
図1】実施形態1に係るマッチング装置の機能ブロック図。
【
図9】パートナとプロジェクトを特徴ごとにグルーピングしたグループ図の例。
【
図10】
図9のグループ図を作成するためのフローチャート。
【発明を実施するための形態】
【0021】
[実施形態1]
以下、本発明の実施形態1について、図面を参照しながら詳細に説明する。以下では、実施形態1に係るマッチング装置を用いて、ある部署(対象部署)のパートナ調達担当者が、新規のパートナ人材(対象パートナ人材)に対して、自部署との適性が高いかどうかを判断する場面を想定する。当然ながら、マッチング装置の応用例はこれに限定されない。
【0022】
<1.機能ブロック図>
図1に、実施形態1に係るマッチング装置10の機能ブロック図を示す。マッチング装置10は、パートナとプロジェクトの適合度を予測する装置である。マッチング装置10は、公知のコンピュータとしてのハードウェア構成を有し、たとえば入力装置11、出力装置12、中央演算装置13、主記憶装置14、および補助記憶装置15を備える。
【0023】
入力装置11は、たとえばキーボード、マウス、ネットワークインタフェース、等である。出力装置12は、たとえばディスプレイ、プリンタ、ネットワークインタフェース、等である。中央演算装置13はたとえばプロセッサであり、演算手段を構成する。主記憶装置14はたとえば半導体メモリ装置である。補助記憶装置15はたとえば磁気ディスク装置である。主記憶装置14および補助記憶装置15は記憶手段を構成する。主記憶装置14および/または補助記憶装置15の一部が、過渡的でない(non-transitory)記憶媒体であってもよい。
【0024】
主記憶装置14は、実施形態1に係る処理を表すプログラムを格納する(適合度予測処理P1および結果表示処理P2のみ図示する)。中央演算装置13がこれらのプログラムを実行することにより、コンピュータがマッチング装置10として機能し、すなわち本実施形態に記載される機能を実現する。補助記憶装置15は、実施形態1に係る処理において使用されるデータを格納する。主記憶装置14および補助記憶装置15に対するデータの入出力は、たとえば入力装置11および出力装置12を介して行われる。
【0025】
補助記憶装置15は、パートナ人材テーブルT1、プロジェクトテーブルT2、および適合度予測設定テーブルT3を格納する。これらのテーブルは、人材マッチングに係る処理を実行する前に、入力装置11を用いて格納しておくことができる。
【0026】
図2に、パートナ人材テーブルT1の構成例を示す。パートナ人材テーブルT1は、適合度を予想したいパートナ人材(以下、単に「パートナ」と呼ぶ場合がある)のデータを含む。パートナ人材テーブルT1は、複数のパートナを互いに識別するためのパートナIDをキーとし、これに、パートナの属性を表す複数の要素(パートナ属性要素)の値を関連付ける。パートナ属性要素の具体例は、プログラミング言語に関するスキルの有無(「言語C」、「言語Java」)、性格(「性格明るい」、「性格穏やか」)、単価、経験年数、等である。
【0027】
ここで、パートナIDは必須の項目である。第2列以降の項目(パートナ属性要素)は適合度の計算に用いる。パートナ属性要素は、DNNに入力できる形式の数値データ(1が該当、0が非該当など)として格納しておくことが好ましい。また、
図2の項目以外にも、さまざまな項目を含むことが好ましい。
【0028】
図3に、プロジェクトテーブルT2の構成例を示す。プロジェクトテーブルT2は、企業で実施した(またはこれから実施する)プロジェクトのデータを含む。プロジェクトテーブルT2は、複数のプロジェクトを互いに識別するためのプロジェクトIDをキーとし、これに、プロジェクトの属性を表す複数の要素(プロジェクト属性要素)の値を関連付ける。プロジェクト属性要素の具体例は、そのプロジェクトを実施する部署名(「実施部署」)、使用するプログラミング技術(「技術C」、「技術Java」)、顧客に関する情報(「顧客新規」、「顧客継続」)、すでにそのプロジェクトに参画している社員の情報(「社員明るい」、「社員穏やか」)、等である。
【0029】
ここで、プロジェクトIDは必須の項目である。第3列以降の項目(プロジェクト属性要素)は、適合度の計算に用いる(さらに第2列の項目を用いてもよい)。プロジェクト属性要素は、DNNに入力できる形式の数値データ(1が該当、0が非該当など)として格納しておくことが好ましい。また、
図3の項目以外にも、さまざまな項目を含むことが好ましい。
【0030】
適合度予測設定テーブルT3は、とくに図示しないが、適合度予測処理で用いるデータ(DNNのネットワーク構成データやパラメータ等)を含む。適合度計算処理の説明で詳しく言及するが、適合度予測の具体的な実施態様は様々であり、それぞれの態様に合わせた形式のデータを格納しておくことができる。
【0031】
<2.主要な処理>
次に、主記憶装置14に格納された処理等の主要な内容について説明する。
【0032】
図4に、主要な処理のフローチャートを示す。ステップ1で、マッチング装置10は
図4の処置を開始する。ステップ2で、ユーザは、入力装置を用いて、マッチング装置10に、マッチング処理の対象となるパートナ人材および部署の情報を入力する。これに伴い、マッチング装置10は、パートナ人材テーブルT1およびプロジェクトテーブルT2を生成または更新する。
【0033】
ステップ3で、マッチング装置10は、適合度予測処理P1を実行し、入力された対象パートナ人材と、対象部署におけるすべてのプロジェクトとの、適合度を計算する。ステップ4で、マッチング装置10は、結果表示処理P2を実行し、ステップ3で計算した分析結果を表示する。ステップ5で、マッチング装置10は、
図4の処理を終了する。
【0034】
<3.適合度予測処理>
適合度予測処理P1において、マッチング装置10は、入力されたパートナ人材とプロジェクトの適合度を計算する。
【0035】
図5に適合度予測処理の概要を示す。マッチング装置10は、特徴計算部21および適合度計算部22を備える。特徴計算部21および適合度計算部22は、たとえば中央演算装置13が適合度予測処理P1を実行することによって実現される。
【0036】
図6に適合度予測処理P1のフローチャートを、
図7に処理に関する式(1)~(4)を示す。以下では、ベクトルデータ(例えばx)に対して、x[i](ただしiは1以上の整数)と表記したときは、ベクトルxのi番目の要素を意味する。
【0037】
ステップ11で、マッチング装置10は
図6の処理を開始する。ステップ12で、マッチング装置10は、パートナ人材テーブルT1から、パートナ人材の属性ベクトルx(パートナ属性ベクトル)を取得する。xは、複数のパートナ属性要素から構成されるパートナ属性ベクトルであり、パートナ属性要素の項目数に等しい次元を有する。
【0038】
同様に、このステップ12において、マッチング装置10は、プロジェクトテーブルT2から、プロジェクトの属性ベクトルy(プロジェクト属性ベクトル)を取得する。yは、複数のプロジェクト属性要素から構成されるプロジェクト属性ベクトルであり、プロジェクト属性要素の項目数に等しい次元を有する。
【0039】
ステップ13で、マッチング装置10は、パートナの特徴を表す複数の要素(パートナ特徴要素)から構成されるパートナ特徴ベクトルと、プロジェクトの特徴を表す複数の要素(プロジェクト特徴要素)から構成されるプロジェクト特徴ベクトルとを算出する。
【0040】
このステップ13において、マッチング装置10は、パートナのそれぞれについて、パートナ属性ベクトルxから、適合度の計算に用いるパートナ特徴ベクトルx~を算出する。なお記号「~」については、便宜上、明細書では文字の右側に示すが、
図7では文字の上に示している。x~は、パートナ特徴要素の項目数に等しい次元を有する。パートナ特徴要素の項目数は、適合度の具体的な計算方法に応じて適宜定義可能である。
【0041】
パートナ特徴ベクトルx~は、
図7の式(1)を用いて、パートナ属性ベクトルxに基づき、単調性を維持するよう計算される。ここで、ある入力ベクトル要素pの変化に対してある出力ベクトル要素qの変化が単調であるとは、たとえば、pの値がp
1からp
2に変化することに応じてqの値がq
1からq
2に変化した場合に、いかなるp
1,p
2,q
1,q
2の組み合わせに対しても下記条件1か下記条件2のいずれか一方が成立することを意味する。
条件1:p
1≦p
2であればq
1≦q
2となり、p
1≧p
2であればq
1≧q
2となる
条件2:p
1≦p
2であればq
1≧q
2となり、p
1≧p
2であればq
1≦q
2となる
【0042】
式(1)において、MNNptnは、入力の変化に対して出力の変化の単調性が保証されるように構築されたDNNであり、とくにパートナ属性ベクトルxの入力に対してパートナ特徴ベクトルx~を出力するよう学習が行われたものである。MNNを用いることにより、パートナ属性要素の変化に対するパートナ特徴要素の変化の単調性を保証できる。
【0043】
同様に、このステップ13において、マッチング装置10は、プロジェクトのそれぞれについて、プロジェクト属性ベクトルyから、適合度の計算に用いるプロジェクト特徴ベクトルy~を算出する。y~は、プロジェクト特徴要素の項目数に等しい次元を有する。プロジェクト特徴要素の項目数は、適合度の具体的な計算方法に応じて適宜定義可能であるが、プロジェクト特徴要素の数とパートナ特徴要素との数を等しくしておくと、適合度の計算を簡素に行うことができる。
【0044】
プロジェクト特徴ベクトルy~は、
図7の式(2)を用いて、プロジェクト属性ベクトルyに基づき、単調性を維持するよう計算される。MNN
prjは、入力の変化に対して出力の変化の単調性が保証されるように構築されたDNNであり、とくにプロジェクト属性ベクトルyの入力に対してプロジェクト特徴ベクトルy~を出力するよう学習が行われたものである。MNNを用いることにより、プロジェクト属性要素の変化に対するプロジェクト特徴要素の変化の単調性を保証できる。
【0045】
MNNによって計算されたベクトル(パートナ特徴ベクトルおよびプロジェクト特徴ベクトル)は、各要素の値が0~1の範囲内となるように正規化しておくと、適合度の計算(後述のステップ14)が好適に行える。式(1)、(2)の関数σはこの正規化を表し、要素ごとに作用する。σは、単調かつ出力値が0~1の範囲内となる関数であり、たとえばシグモイド関数である。出力値が0である場合には、パートナまたはプロジェクトがその特徴をまったく持たないことを意味し、出力値が1である場合には、パートナまたはプロジェクトがその特徴を強く持つことを意味する。
【0046】
MNNptnおよびMNNprjとして用いる具体的なDNNの構成は、公知技術等(非特許文献1および2を含む)に基づき、当業者が適宜設計可能である。たとえば、非負の値のパラメータを用いた線形関数を用いることができ、具体例として以下の式が挙げられる。
MNNptn(x)=Aptn・x+bptn
MNNprj(y)=Aprj・x+bprj
ただし、Aptnは、[パートナ特徴ベクトルの項目数]×[パートナ属性ベクトルの項目数]のサイズの重み付け行列であって各要素が正であり、bptnはパートナ特徴ベクトルの項目数に等しい次元を有するバイアスベクトルであり、Aprjは、[プロジェクト特徴ベクトルの項目数]×[プロジェクト属性ベクトルの項目数]のサイズの重み付け行列であって各要素が正であり、bprjはプロジェクト特徴ベクトルの項目数に等しい次元を有するバイアスベクトルである。
【0047】
なお、変化の単調性は、すべての属性要素について実現される必要はない。各パートナ特徴要素の変化は、ユーザが指定したパートナ属性要素の変化に対して単調であればよく、たとえば、
図2に示す項目のうち、「言語C」および「言語Java」のみについて単調となるようにすることができる。同様に、各プロジェクト特徴要素の変化は、ユーザが指定したプロジェクト属性要素の変化に対して単調であればよく、
図3に示す項目のうち、「技術C」および「技術Java」のみについて単調となるようにすることができる。
【0048】
図2の項目のうち、たとえばパートナの単価については、プロジェクトによって、予算の都合で単価が低いパートナが適切な場合と、優秀な人材を活用するために単価が高いパートナが適切な場合があるため、非単調な属性とすると好適である。MNNでは、このような属性については単調性を保証しないように設定することも可能である。ユーザは、必要に応じて非単調な属性を別途設定してもよい。
【0049】
ステップ14で、マッチング装置10は、パートナ特徴ベクトルx~およびプロジェクト特徴ベクトルy~に基づき、適合度を算出する。ここで適合度は、適合度の変化が、各パートナ属性要素の変化および各プロジェクト属性要素の変化に対して単調となるように計算される。
【0050】
このような適合度の具体的な算出式の例を、
図7の式(3)および(4)に示す。mはパートナ特徴ベクトルの次元(すなわちパートナ特徴ベクトルの項目数)であり、これはプロジェクト特徴ベクトルの次元(すなわちプロジェクト特徴ベクトルの項目数)に等しい。式(3)によって、パートナ特徴ベクトルの各要素x~[i]とプロジェクト特徴ベクトルの各要素y~[i]に対して充足度z[i]を計算し、式(4)によって、すべての充足度z[1],…,z[m]のAND条件(たとえば積)として適合度wを計算する。
【0051】
充足度とは、プロジェクトが要求する特徴をパートナが保持する割合のことである。パートナ特徴要素の値が大きくなると、分子が大きくなるため、充足度が大きくなる。また、プロジェクト特徴要素の値が大きくなると、分母が大きくなるため、充足度が小さくなる。したがって、特徴の変化に対する充足度の変化の単調性を保証できる。また、AND条件(たとえば積)も単調な関数であることが知られているため、充足度の変化に対する適合度の変化の単調性も保証できる。
【0052】
式(3)のmin関数による処理は、充足度の値の範囲を0~1の範囲内にするために実施する。充足度が0である場合には、そのプロジェクトが要求する特徴をそのパートナがまったく持たないことを意味し、充足度が1である場合には、そのプロジェクトが要求する特徴をそのパートナが十分に持つことを意味する。なおεはゼロ除算を防ぐために加算される量(たとえば定数)であり、具体的な値はユーザが適宜決定可能である。
【0053】
特徴から充足度を計算する処理は、式(3)に限定されず、特徴の変化に対して充足度の変化の単調性が保証された処理を任意に選択してもよい。
【0054】
充足度から適合度を計算する処理は、式(4)のようなAND条件(積)に限定されず、充足度の変化に対して適合度の変化の単調性が保証された処理を任意に選択してもよい。例えば、平均値関数、max関数などがある。
【0055】
ステップ15で、マッチング装置10は
図6の処理を終了する。
【0056】
以上のような処理によれば、個々の処理の単調性が保証されているので、全体としても単調性を保証できる。
【0057】
MNNptnおよびMNNprjとして用いる具体的なDNNのパラメータは、実際に様々なパートナ人材が様々なプロジェクトに従事した事例の結果を表す教師データを用いて、事前に機械学習により計算することができる。この際に、適性が低いパートナとプロジェクトのペアが入力された場合には出力が0となり、適性が高いパートナとプロジェクトのペアが入力された場合には出力が1となるように学習させることができる。パラメータの学習方法は周知の技術であるため、詳細な説明は省略する。
【0058】
<4.結果表示処理>
結果表示処理P2において、マッチング装置10は、適合度予測処理P1で計算した特徴および/または適合度を出力する。出力はたとえば画面上に表示することによって行われる。本実施形態では、2種類の画面を表示する。これらの画面の例をそれぞれ
図8および
図9に示す。
【0059】
図8は、適合度のヒストグラム図の例である。ある1人のパートナを対象とし、そのパートナ(対象パートナ)と、特定の部署が実施するすべてのプロジェクトそれぞれとの適合度について、分布状況から全体の傾向を知ることができる。全体的に適合度が高いのであれば、そのパートナはその部署に対して適性が高いと判断できる。
【0060】
図9は、パートナとプロジェクトを特徴ごとにグルーピングした図(グループ図)の例である。このようなグループ図により、ある1人の対象パートナと、対象部署の各プロジェクトが、なぜ適合度が高いのか(低いのか)を知ることができる。なお
図9に示す属性要素の項目(「Python」等)は、
図2の例とは異なる。
【0061】
図10に、
図9のグループ図を作成するためのフローチャートを示す。ステップ21で、マッチング装置10は
図10の処理を開始する。
【0062】
ステップ22で、マッチング装置10は、パートナおよびプロジェクトの特徴を評価する。すなわち、マッチング装置10は、複数のパートナ(たとえばすべてのパートナ)について各パートナ特徴要素の値を評価し、複数のプロジェクト(たとえばすべてのプロジェクト)について各プロジェクト特徴要素の値を評価する。
【0063】
本実施形態では、評価は複数のレベルへの変換によって行われる。複数のレベルは、たとえば高低の二値によって表され、その場合には、マッチング装置10は、パートナ属性要素およびプロジェクト属性要素の値を、所定閾値との比較に基づき二値に変換することにより評価する。変換後の値が大きい場合には、そのパートナまたはプロジェクトがその特徴を持つことを意味し、変換後の値が小さい場合には、そのパートナまたはプロジェクトはその特徴を持たないことを意味する。
【0064】
ステップ23で、パートナとプロジェクトを、保持する特徴のパターンごとにグループに分ける。例えば、第1の項目によって表される特徴および第2の項目によって表される特徴を持つが、第3の項目によって表される特徴を持たないパートナやプロジェクトは、いずれもグループ{1,2}に分類される。
【0065】
ステップ24で、パートナとプロジェクトをグループごとにまとめて画面に表示する。
図9の例では、各グループは、保持する特徴が多い順に左から右へと並べられている。すなわち、最左列に3つの特徴を保持するグループ{1,2,3}が表示され、その右の列に2つの特徴を保持するグループ{1,2}が表示され、さらにその右の列に1つの特徴のみを保持するグループ{1}、グループ{2}およびグループ{3}が表示されている。また、保持する特徴の数が同じグループ(すなわちグループ{1}、グループ{2}およびグループ{3})は、縦に並べられている。なお、この例では、グループ{1,3}およびグループ{2,3}に属するパートナおよびプロジェクトは存在しない。
【0066】
このように、マッチング装置10は、評価の結果が類似するパートナおよびプロジェクトを関連付けて出力する。なお、本実施形態では二値による評価を行っているが、三値またはそれ以上の多値による評価を行ってもよい。
【0067】
また、本実施形態では、評価の結果が類似するパートナおよびプロジェクトとして、すべての項目について評価結果が一致するパートナおよびプロジェクトを関連付けて出力しているが、評価の結果が類似するか否かは、他の基準を用いて判定してもよい。たとえばベクトル間の距離を類似度の基準として用いてもよい。
【0068】
さらに、本実施形態では、パートナおよびプロジェクトが保持する特徴の番号(たとえばグループ{1,2}については「1,2」という数の列)と、対象パートナを表す記号(たとえばグレーの人形)と、他のパートナおよびプロジェクトを表す記号(たとえば白い人形および紙)を同じ枠内に表示することにより、それらの関連付けを表しているが、関連付けの表現方法は当業者が適宜設計可能である。
【0069】
各パートナおよび各プロジェクトを表す記号には、たとえばそれぞれパートナIDおよびプロジェクトIDが、表示またはその他の形式で関連付けられていてもよい。
【0070】
ステップ25で、保持する特徴の集合に包含関係があるグループ間に辺を張る。例えば、特徴1,2,3は特徴1,2を包含するため、グループ{1,2}からグループ{1,2,3}に辺を表す矢印を表示している。ただし冗長な矢印は省略してもよい。たとえば、
図9の例ではグループ{1}からグループ{1,2}への辺があり、さらにグループ{1,2}からグループ{1,2,3}への辺があるため、グループ{1}からグループ{1,2,3}への辺は省略されている。
【0071】
ステップ26で、単一の特徴のみを保持するグループに関連付けて(たとえばその右側に)、その単一の特徴に対する寄与度が大きい属性(寄与属性)を表示する。「寄与度」とは、その属性要素の値が変化した場合における、その特徴要素の値の変化の度合いを意味する。マッチング装置10は、パートナ特徴要素の各項目について、そのパートナ特徴要素への寄与度が一定の閾値よりも大きいパートナ属性要素の項目を寄与属性として取得し、パートナ特徴要素の各項目と、対応する寄与属性とを関連付けて出力する。たとえば特徴1への寄与属性は属性「Python」「R」であり、したがって「Python」「R」がグループ{1}に関連付けてその右側に表示されている。
【0072】
各特徴の寄与属性を特定する具体的方法は、当業者が適宜設計することができる。たとえば公知のXAI(説明可能AI)技術を用いてもよい。
【0073】
ステップ27で、マッチング装置10は
図10の処理を終了する。
【0074】
適合度予測処理P1は、プロジェクトが要求する特徴をパートナが持つときに適合度が高いと判定する。したがって、各パートナは、そのパートナが属するグループを含めて、それよりも下位のグループに属するプロジェクトと適合度が高い。例えば、
図9に示すように、ある特定のパートナ(「対象パートナ」)がグループ{1,2}に属している場合には、その対象パートナは、グループ{1,2}、グループ{1}、グループ{2}に属するプロジェクトとの適合度が高い。
【0075】
保持する特徴の評価結果のパターンごとにグルーピングすることで、ある特定のパートナが、適性ありとされたプロジェクトに対して、どの特徴をもとに適性ありと判断されたのか、また、適性なしとされたプロジェクトに対しても、どの特徴がないから適性なしと判断されたのかが分かる。
【0076】
さらに、各特徴に寄与する属性をもとに、各特徴にどのようなスキルが寄与しているかも分かる。
図9の例では、対象パートナはグループ{1,2}に属している。この場合において、この対象パートナがグループ{1,2}に属するプロジェクトに対して適性ありと判断された場合には、その理由は、この対象パートナが、特徴1に寄与する属性(Python言語またはR言語に関するスキル等)のいずれかと、特徴2に寄与する属性(データ分析スキルまたは数学スキル)のいずれかを持つことであると分かる。また、この対象パートナが、グループ{1,2,3}に属するプロジェクトに対して適性なしと判断された場合には、その理由は、この対象パートナが特徴3に寄与する属性(マネジメントスキル)を持たないことであると分かる。
【0077】
このように、
図9のようなグループ図を表示することにより、パートナとプロジェクトとの適合度の算出根拠をより容易に理解することができる。
【0078】
当業者は、上述の各実施形態において、本発明の範囲内で、構成要素を任意に追加、変更または削除することができる。たとえばマッチング装置10は、通信ネットワークを介して接続された複数のコンピュータによって構成することができる。
【符号の説明】
【0079】
10…マッチング装置
11…入力装置
12…出力装置
13…中央演算装置
14…主記憶装置
15…補助記憶装置
21…特徴計算部
22…適合度計算部
P1…適合度予測処理
P2…結果表示処理
T1…パートナ人材テーブル
T2…プロジェクトテーブル
T3…適合度予測設定テーブル
w…適合度
x…パートナ属性ベクトル
x~…パートナ特徴ベクトル
y…プロジェクト属性ベクトル
y~…プロジェクト特徴ベクトル
z…充足度