就職活動とトラスト・メトリック

就職活動に燃える学生たちは、就活に関するあらゆるインチキ本を手にし、就職活動に備えています。私も最近、Facebookに以下のような書き込みを行いました。

この書き込みは単なる思いつきを書いただけですが、ふと、ある疑問が起こります。はたして、ラマヌジャン定数について保型関数を用いて説明を行える学生を「優秀である」と判断できるでしょうか。

結論からいえば、採用基準は企業側の価値判断であるため、前述のような学生を優秀と判断する企業もあるし、そうではない企業もあるといえます。

質問計画問題の定義

残念ながら、ここで話そうとしていることは、就職活動における最適化問題ではありません。むしろ、採用基準を決定する方法について考えます。とはいえ、あまり複雑な状況を仮定するのではなく、まずは非常に単純な問題として定義します。

あなたは、人材の採用方法を決定する立場にある。しかし、上司からは、10の質問項目だけで人材の優劣を判断してほしいと言われている。このとき、あなたはどのように質問項目を決定するべきか。

採用面接の質問の特徴は、質問の曖昧性にあります。ポリグラフによるテストでは、YESかNOかで答えられる質問をしますが、採用面接では以下のような質問が一般的です。

「○○社の理念についてどうお考えですか?」

この質問への応じ方をどう評価するかは企業次第です。科学的な裏付けがあって評価をすることもあれば、全くの好き嫌いであることもあります。

質問計画問題の一つの考え方

一つの考え方は、各質問には2つの量が存在するという考え方です。1つめの量は「質問への応じ方に対する点数」であり、もう一つは「質問そのもの重要さ」です。このプロセスでは、まず質問の答えを評価し、次に質問の重要さから総合評価を行います。

つまり、人事担当者がしようとしていることは、各質問の受け答えxを評価する関数uと、評価全体に重み付けを行い、その就職希望者の総合評価を判定する関数wを決定することに一致します。

これは、最終目的が「優秀な人材を雇う」でも「美人を雇う」でも同じことです。

質問計画問題の一般化

この問題を線形代数を用いて一般化してみます。

評価対象となるものを、I={1,…,m}で表す。評価項目をJ={1,…,n}で表す。i∈I, j∈Jの評価点をa_ijで表すとき、この点数からなる行列をA=(a_ij)とする。評価項目に対する重みを列ベクトルx=(x_1,…,x_n)^Tで表すとき、b=Axとする。Aとxの各要素が0以上1以下であるとし、c=(1/n)bを総合評価とする。目的は、総合評価で最大の値をもつi∈Iを順に選ぶことである。

この方法は、階層分析法に似ています。階層分析法では、各項目の重みの合計が1になるよう割り当てます。ここで用いている方法では「評価対象の追加によって別の評価対象の評価値が変わることがない」ように使えます。これは、評価点と重みを、分配によってではなく、0から1までの好きな実数を指定できるようにすることで対処しています。このような一般化によって、就職面接以外でも用いることができるはずです。

複数の総合評価を評価する

総合評価は、列ベクトルc=(c_1,…,c_m)^Tによって示されました。しかし、あなたの上司が以下の要件を追加したらどうでしょうか。

10の質問の評価ができたのか。それはよかった。なら、別の評価基準を作って欲しいのだが、30項目からなる知能テスト、40項目からなる性格分析、ああそれと、あれとこれとそれと…

この解決策の一つは、総合評価を複数生成し、それらの総合評価に重みを与えることです。そうすれば、k種類のテストからk個の総合評価が得られたとしても、同様の方法で「総合評価の総合評価」を考えることができます。

これは、各評価項目の次元nが有限の自然数であれば、nが一定ではなくとも作れます。なぜなら、生成される総合評価は常に評価対象の数mに対応したm次元ベクトルであり、評価項目の数で割ることで総合評価は常に0以上1以下に収まるからです。

おわりに

これは関数wに対する一例であるため、この評価方法の妥当性に疑問がある場合、関数wを別の方法に代替する必要があります。しかし、そうやって複数の評価方法を作った場合、評価方法の優劣を評価する評価方法は作れるでしょうか?