(57)【要約】【課題】受検者からの回答が得られたテスト項目の正誤結果に基づいて、受検者からの回答が得られていないテスト項目の正誤を高い精度で推定する。【解決手段】評価システム１０は、Ｉ人の受検者のうちのｉ番目の受検者による、Ｊ個のテスト項目のうちのｊ番目のテスト項目の回答結果として、「正答」、「誤答」及び「未回答」の何れかを示す値をｉ行ｊ列の行列要素として有する階数ＫのＩ行Ｊ列の非負値行列Ｕを、Ｉ行Ｋ列の非負値行列Ｗと、Ｋ行Ｊ列の非負値行列Ｈとの積ＷＨに近似する近似モジュール２１と、非負値行列Ｕのｉ行ｊ列の行列要素の値が「未回答」を示す場合にＷＨのｉ行ｊ列の行列要素の値が所定の閾値を超えるか否かに応じてｉ番目の受検者によるｊ番目のテスト項目の正誤を推定する推定モジュール２２とを備える。【選択図】図１
2017207577.tif 000002
【特許請求の範囲】
【請求項１】
Ｉ人の受検者のうちのｉ番目の受検者による、Ｊ個のテスト項目のうちのｊ番目のテスト項目の回答結果として、「正答」、「誤答」及び「未回答」の何れかを示す値をｉ行ｊ列の行列要素として有するＩ行Ｊ列の非負値行列Ｕを、Ｉ行Ｋ列の非負値行列Ｗと、Ｋ行Ｊ列の非負値行列Ｈとの積ＷＨに近似する近似手段と、
非負値行列Ｕのｉ行ｊ列の行列要素の値が「未回答」を示す場合にＷＨのｉ行ｊ列の行列要素の値が所定の閾値を超えるか否かに応じてｉ番目の受検者によるｊ番目のテスト項目の正誤を推定する推定手段と、を備え、
Ｉ，Ｋは、それぞれ１以上の整数であり、Ｊは２以上の整数であり、且つi，jは、それぞれ０＜i≦Ｉ，０＜j≦Ｊの条件を満たす１以上の整数である、評価システム。
【請求項２】
Ｉ人の受検者のうちのｉ番目の受検者による、Ｊ個のテスト項目のうちのｊ番目のテスト項目の回答結果として、「正答」、「誤答」及び「未回答」の何れかを示す値をｉ行ｊ列の行列要素として有するＩ行Ｊ列の非負値行列Ｕを、Ｉ行Ｋ列の非負値行列Ｗと、Ｋ行Ｊ列の非負値行列Ｈとの積ＷＨに近似する近似手段と、
非負値行列Ｕのｉ行ｊ列の行列要素の値が「未回答」を示す場合にＷＨのｉ行ｊ列の行列要素の値を、ｉ番目の受検者がｊ番目のテスト項目に正答する確率であると見做して、ｉ番目の受検者によるｊ番目のテスト項目の正誤を推定する推定手段と、を備え、
非負値行列Ｕのｉ行ｊ列の行列要素は、ｉ番目の受検者によるｊ番目のテスト項目の回答結果が、「正答」、「誤答」、「未回答」である場合に、それぞれ、「１」、「０」、「ＮＡ（Not Applicable）」の値をとり、
ＷＨの各行列要素の値は、０以上１以下に値域制限されており、
Ｉ，Ｋは、それぞれ１以上の整数であり、Ｊは２以上の整数であり、且つi，jは、それぞれ０＜i≦Ｉ，０＜j≦Ｊの条件を満たす１以上の整数である、評価システム。
【請求項３】
請求項２に記載の評価システムであって、
前記近似手段は、Ｉ行Ｊ列の非負値行列Ｍの各行列要素を、（Ｕ−ＷＨ）の対応する行列要素にかけることにより得られるＩ行Ｊ列の行列のフロベニウスノルムが最小値に収束まで、非負値行列Ｈ及び非負値行列Ｗのそれぞれの初期値を所定の更新則に従って更新する処理を繰り返すことにより、非負値行列Ｈ及び非負値行列Ｗを算出し、
非負値行列Ｍのｉ行ｊ列の行列要素の値は、非負値行列Ｕのｉ行ｊ列の行列要素の値が、「ＮＡ」、「ＮＡ」以外の値である場合に、それぞれ、「０」、「１」の値をとる、評価システム。
【請求項４】
請求項１乃至請求項３のうち何れか１項に記載の評価システムであって、
ｉ番目の受検者が回答していないテスト項目の中からｉ番目の受検者の正答率が所定の閾値未満と推定されるテスト項目を非負値行列Ｗに基づいて選択する選択手段を更に備える、評価システム。
【請求項５】
請求項３に記載の評価システムであって、
非負値行列Ｈの初期値は、非負値行列Ｕを主成分分析することにより得られたＫ個の主成分を非負値に制限することにより得られる非負値行列であり、
非負値行列Ｗの初期値は、非負値行列Ｕを、非負値行列Ｈの初期値のムーア・ペンローズ疑似逆行列の右から掛けることにより得られる非負値行列である、評価システム。
【請求項６】
請求項１乃至請求項５のうち何れか１項に記載の評価システムであって、
ｉ番目の受検者による未回答のテスト項目の数は、Ｊ個の７５％未満である、評価システム。
【請求項７】
請求項１乃至請求項５のうち何れか１項に記載の評価システムであって、
ｉ番目の受検者による未回答のテスト項目の数は、Ｊ個の２５％未満である、評価システム。
【請求項８】
請求項１乃至請求項５のうち何れか１項に記載の評価システムであって、
各受検者による未回答のテスト項目の数は、一律に、Ｊ個の５０％未満である、評価システム。
【請求項９】
請求項１乃至請求項７のうち何れか１項に記載の評価システムであって、
Ｊは５９以上６１以下である、評価システム。
【請求項１０】
コンピュータが、
Ｉ人の受検者のうちのｉ番目の受検者による、Ｊ個のテスト項目のうちのｊ番目のテスト項目の回答結果として、「正答」、「誤答」及び「未回答」の何れかを示す値をｉ行ｊ列の行列要素として有するＩ行Ｊ列の非負値行列Ｕを、Ｉ行Ｋ列の非負値行列Ｗと、Ｋ行Ｊ列の非負値行列Ｈとの積ＷＨに近似する処理と、
非負値行列Ｕのｉ行ｊ列の行列要素の値が「未回答」を示す場合にＷＨのｉ行ｊ列の行列要素の値が所定の閾値を超えるか否かに応じてｉ番目の受検者によるｊ番目のテスト項目の正誤を推定する処理と、を実行し、
Ｉ，Ｋは、それぞれ１以上の整数であり、Ｊは２以上の整数であり、且つi，jは、それぞれ０＜i≦Ｉ，０＜j≦Ｊの条件を満たす１以上の整数である、評価方法。
【請求項１１】
コンピュータに、
Ｉ人の受検者のうちのｉ番目の受検者による、Ｊ個のテスト項目のうちのｊ番目のテスト項目の回答結果として、「正答」、「誤答」及び「未回答」の何れかを示す値をｉ行ｊ列の行列要素として有するＩ行Ｊ列の非負値行列Ｕを、Ｉ行Ｋ列の非負値行列Ｗと、Ｋ行Ｊ列の非負値行列Ｈとの積ＷＨに近似する処理と、
非負値行列Ｕのｉ行ｊ列の行列要素の値が「未回答」を示す場合にＷＨのｉ行ｊ列の行列要素の値が所定の閾値を超えるか否かに応じてｉ番目の受検者によるｊ番目のテスト項目の正誤を推定する処理と、を実行させ、
Ｉ，Ｋは、それぞれ１以上の整数であり、Ｊは２以上の整数であり、且つi，jは、それぞれ０＜i≦Ｉ，０＜j≦Ｊの条件を満たす１以上の整数である、評価プログラム。
【請求項１２】
コンピュータに、
Ｉ人の受検者のうちのｉ番目の受検者による、Ｊ個のテスト項目のうちのｊ番目のテスト項目の回答結果として、「正答」、「誤答」及び「未回答」の何れかを示す値をｉ行ｊ列の行列要素として有するＩ行Ｊ列の非負値行列Ｕを、Ｉ行Ｋ列の非負値行列Ｗと、Ｋ行Ｊ列の非負値行列Ｈとの積ＷＨに近似する処理と、
非負値行列Ｕのｉ行ｊ列の行列要素の値が「未回答」を示す場合にＷＨのｉ行ｊ列の行列要素の値が所定の閾値を超えるか否かに応じてｉ番目の受検者によるｊ番目のテスト項目の正誤を推定する処理と、を実行させる評価プログラムを記録したコンピュータ読み取り可能な記録媒体であって、Ｉ，Ｋは、それぞれ１以上の整数であり、Ｊは２以上の整数であり、且つi，jは、それぞれ０＜i≦Ｉ，０＜j≦Ｊの条件を満たす１以上の整数である、記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、評価システム、評価方法、評価プログラム、及び記録媒体に関する。
【背景技術】
【０００２】
テストを用いて人の能力を評価することは、例えば、学習設計及び評価、適正診断による推薦、或いはチーム構成の把握及び最適化等の場面において利用されている。このようなテストを効率的に実施するための理論として、項目応答理論の有用性が注目されている。項目応答理論は、評価項目群への応答に基づいて受検者の特性（認識能力、技術、知識、態度、人格的特徴）や、評価項目の難易度を測定するための試験理論である。この理論の主な特徴は、個人の能力値や項目の難易度といったパラメータを、評価項目に対する正誤結果のような離散的な結果から確率論的に求めようとする点である。このような項目応答理論の応用例として、例えば、特許３６４５９０１号は、出題された複数のテスト項目に対する受検者からの回答に基づいて受検者の能力を推定するテストシステムを開示している。また、例えば、特開２００８−０２６５８３号公報は、受検者に対して複数のレベルに分けてテスト項目を出題し、解答の正答率又は誤答率によってレベルを昇降させて受検者の能力のレベルを判定するテストシステムを開示している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許３６４５９０１号公報
【特許文献２】特開２００８−０２６５８３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、従来のテストシステムは、出題された全てのテスト項目に対して回答することが必要とされているが、出題された複数のテスト項目の一部について受検者が回答しなくても、受検者からの回答が得られた一部のテスト項目の正誤結果から受検者の能力を評価することができれば、より少ない出題数でテストを遂行することができる。更に、テスト時間を短縮できるとともに出題準備の負荷が軽減するため、受検者と出題者の双方にとって利点がある。
【０００５】
しかし、出題数を単純に減らしてしまうと、定量化したい能力の幅を縮小せざるを得なかったり、定量化の信頼性が低下したりする等の弊害がある。
【０００６】
そこで、本発明は、このような事情に鑑み、受検者からの回答が得られたテスト項目の正誤結果に基づいて、受検者からの回答が得られていないテスト項目の正誤を高い精度で推定することを課題とする。
【課題を解決するための手段】
【０００７】
上述の課題を解決するため、本発明に係る評価システムは、Ｉ人の受検者のうちのｉ番目の受検者による、Ｊ個のテスト項目のうちのｊ番目のテスト項目の回答結果として、「正答」、「誤答」及び「未回答」の何れかを示す値をｉ行ｊ列の行列要素として有するＩ行Ｊ列の行列Ｕを、Ｉ行Ｋ列の行列Ｗと、Ｋ行Ｊ列の行列Ｈとの積ＷＨに近似する近似手段と、行列Ｕのｉ行ｊ列の行列要素の値が「未回答」を示す場合にＷＨのｉ行ｊ列の行列要素の値が所定の閾値を超えるか否かに応じてｉ番目の受検者によるｊ番目のテスト項目の正誤を推定する推定手段と、を備える。ここで、Ｉ，Ｋは、それぞれ１以上の整数であり、Ｊは２以上の整数であり、且つi，jは、それぞれ０＜i≦Ｉ，０＜j≦Ｊの条件を満たす１以上の整数である。
【図面の簡単な説明】
【０００８】
【図１】本実施形態に係る評価システムの構成を示すブロック図である。
【図２】検証に用いたデータセット（以下、データセットＡと称する）における全受検者の素点分布を示すグラフである。
【図３】データセットＡにおける各テスト項目の難易度を示すグラフである。
【図４】データセットＡから推定された行列Ｈを可視化したヒートマップである。
【図５】データセットＡから推定された行列Ｗを可視化したヒートマップである。
【図６】欠測率を５％から９５％まで５％刻みで変化させたときの、データセットＡに対するＬＯＥＯＣＶ精度を示すグラフである。
【図７】欠測率を５％から９５％まで５％刻みで変化させたときの、データセットＡに対する素点の推定値の平均自乗誤差の平方根（以下、ＲＭＳＥと称する）を示すグラフである。
【図８】欠測率を５％から９５％まで５％刻みで変化させたときの、データセットＡに対する素点の推定値のＲＭＳＥを示すグラフである。
【図９】データセットＡを対象に、欠測率を変化させたときの素点の推定値のＲＭＳＥの欠測応答数に対する比率を示すグラフである。
【図１０】データセットＡを対象に、テスト項目の回答数と素点の推定値のＲＭＳＥとの関係を示すグラフである。
【図１１】データセットＡにおいて、欠測率と素点の推定値のＲＭＳＥとの関係を示すグラフである。
【図１２】データセットＡにおいて、欠測率を０％から９５％まで５％刻みで変化させたときのクロンバックのα係数の誤差のグラフである。
【発明を実施するための形態】
【０００９】
以下、各図を参照しながら本発明の実施形態について説明する。ここで、同一符号は同一の要素を示すものとし、重複する説明は省略する。
図１は本実施形態に係る評価システム１０の構成を示すブロック図である。評価システム１０は、プロセッサ１１、ＲＡＭ（Random Access Memory）１２、ＲＯＭ（Read Only Memory）１３、入力インタフェース１４、出力インタフェース１５、及び記憶装置１６を備えるコンピュータシステムである。プロセッサ１２は、算術演算、論理演算、ビット演算等を処理する算術論理演算ユニット及び各種レジスタ（プログラムカウンタ、データレジスタ、命令レジスタ、汎用レジスタ等）から構成され、記憶装置１６に格納されている評価プログラム２０を解釈及び実行する。評価プログラム２０は、受検者からの回答が得られたテスト項目の正誤結果に基づいて、受検者からの回答が得られていないテスト項目の正誤を推定するためのコンピュータプログラムであり、メインプログラムの中で呼び出されて実行される複数のソフトウェアモジュールを備える。このようなソフトウェアモジュールは、それぞれ特定の処理を実行するためにモジュール化されたサブプログラムであり、例えば、プロシージャ、サブルーチン、メソッド、関数、及びデータ構造等を用いて作成される。モジュールは、その部分だけでコンパイル可能な単位である。このようにモジュール化されたサブプログラムとして、評価プログラム２０は、近似モジュール２１、推定モジュール２２、及び選択モジュール２３を備える。これらのモジュール２１，２２，２３の詳細については後述する。なお、評価プログラム２０の実行方法は、コンパイル方式に限られるものではなく、インタプリタ方式でもよい。
【００１０】
ＲＡＭ１２は、プロセッサ１１のワークエリアとして機能し、評価プログラム２０による各種の演算（例えば、後述する非負行列分解など）に必要な各種のパラメータ（例えば、後述する行列Ｕ，Ｗ，Ｈ，Ｍなど）の値を一時的に保存する。ＲＯＭ１３は、プロセッサ１１のＢＩＯＳ（Basic Input Output System）等のプログラムを格納する不揮発性メモリである。入力インタフェース１４は、受検者によるテスト項目の回答結果（「正答」、「誤答」、及び「未回答」の何れか）を入力するためのインタフェース（具体的には、キーボード、マウス、タッチパネルなど）である。出力インタフェース１５は、受検者からの回答が得られたテスト項目の正誤結果に基づいて、受検者からの回答が得られていないテスト項目の推定結果を出力するためのインタフェース（具体的には、ディスプレイ、プリンタなど）である。記憶装置１６は、コンピュータ読み取り可能な記録媒体（例えば、フレキシブルディスク、光磁気ディスク、ＲＯＭ、フラッシュメモリ等の書き込み可能な不揮発性メモリ、ＤＶＤ等の可搬媒体、ハードディスクドライブ又はソリッドステートドライブ等の記憶資源）である。記憶装置１６は、別の受験者の同一の問題に対する過去の回答、及び別の受験者の別の問題に対する過去の回答を保存しており、これらの過去の回答は、行列Ｕの生成に用いることができる。
【００１１】
Ｉ人の受検者のそれぞれに対して、Ｊ個のテスト項目からなるテスト項目セットの受験を実施する場合を考える（但し、Ｉは１以上の整数であり、Ｊは２以上の整数とする）。ここで、「テスト項目」とは、「問題」を意味し、一つのテスト項目に対して、「正答」、「誤答」及び「未回答」の何れか一つが得られる。未回答のテスト項目は、受検者に出題されたが、受検者から回答がなされていないテスト項目でもよく、或いは、受検者に未だ出題されていないテスト項目でもよい。Ｉ人の受検者のうちのｉ番目の受検者による、Ｊ個のテスト項目のうちのｊ番目のテスト項目の回答結果が「正答」、「誤答」、「未回答」である場合に、それぞれ、「１」、「０」、「ＮＡ（Not Applicable）」の値をｉ行ｊ列の行列要素として有する、階数ＫのＩ行Ｊ列の非負値行列Ｕを（１）式のように定義する（但し、Ｋは、１以上の整数であり、i，jは、それぞれ０＜i≦Ｉ，０＜j≦Ｊの条件を満たす１以上の整数である）。受検者によるテスト項目の回答結果は、入力インタフェース１４を介して入力され、非負値行列Ｕを生成するためにＲＡＭ１２に一時的に保存される。
【数１】
2017207577.tif 000003
【００１２】
（２）式に示す行列Ｕのｉ行をｉ番目の受検者の項目応答パタンと称する。また、行列Ｕは、項目応答パタン行列と称することもできる。
【数２】
2017207577.tif 000004
【００１３】
近似モジュール２１は、ＲＡＭ１２に保存されている非負値行列Ｕを読み取り、（３）式に示すように、階数ＫのＩ行Ｊ列の非負値行列Ｕを、Ｉ行Ｋ列の非負値行列Ｗと、Ｋ行Ｊ列の非負値行列Ｈとの積ＷＨに近似する。
【数３】
2017207577.tif 000005
【００１４】
ここで、行列Ｗ及びＨを（４）式のように行ベクトルに分解して考えると、個々の項目応答パタンは、（５）式のように記述することができる。
【数４】
2017207577.tif 000006
【数５】
2017207577.tif 000007
【００１５】
（５）式から、ｈkはｋ番目のスキルセットであると解釈できる（但し、ｋは０＜ｋ≦Ｋの条件を満たす１以上の整数である）。また、ｗiはｉ番目の受検者が有する潜在スキルセットの重みと解釈できる。
【００１６】
近似モジュール２１は、行列Ｕを非負行列分解することにより、行列Ｗ及びＨを求める。非負行列分解は、（６）式に示す最適化問題を解くことに帰着する。
【数６】
2017207577.tif 000008
【００１７】
（６）式は、全てのｉ，ｊ，ｋに対して、ｗik，ｈkjが０以上であるという条件下において、行列Ｍと行列（Ｕ−ＷＨ）との積のフロベニウスノルム（二乗誤差）を最小値にするような行列Ｗ及びＨが、行列Ｕを非負行列分解することにより得られる行列Ｗ及びＨに一致することを意味している。但し、行列Ｍと行列（Ｕ−ＷＨ）との積は、通常の行列同士の積とは異なり、（７）式に示すように定義される。
【数７】
2017207577.tif 000009
【００１８】
（７）式では、Ｉ行Ｊ列の行列ＡとＩ行Ｊ列の行列Ｂとの積によって得られる行列を、行列Ａのｉ行ｊ列の行列要素ａijに、行列Ｂのｉ行ｊ列の行列要素ｂijを乗じて得られるａij＊ｂijをｉ行ｊ列の行列要素として有する行列であると定義している（但し、ＮＡ＊０＝０と定義する）。
【００１９】
ここで、行列Ｍは、マスク行列と呼ばれるＩ行Ｊ列の非負値行列であり、（８）式に示すように定義される。
【数８】
2017207577.tif 000010
【００２０】
（８）式から理解できるように、行列Ｍのｉ行ｊ列の行列要素ｍijの値は、行列Ｕのｉ行ｊ列の行列要素ｕijの値が、「ＮＡ」、「ＮＡ」以外の値（「１」又は「０」）である場合に、それぞれ、「０」、「１」の値をとる。このように、行列Ｕの行列要素が「ＮＡ」の値を含む場合であっても、近似モジュール２１は、マスク行列Ｍを用いて「ＮＡ」を無視し、（９）式に示す更新則に従って、行列Ｗ及びＨを更新する処理を繰り返すことにより、（６）式に示すフロベニウスノルムを最小値にするような行列Ｗ及びＨを算出することができる。
【数９】
2017207577.tif 000011
【００２１】
このようにして、行列Ｕを非負行列分解して行列Ｗ及びＨが得られたならば、（３）式に示すように、行列Ｗと行列Ｈとの積である行列ＷＨの各行列要素は、行列Ｕの各行列要素に近似する値を有する。ここで、ＷＨの各行列要素の値域は、「０」や「１」等のような離散的な値ではなく、連続値になるため、行列Ｕのｉ行ｊ列の行列要素の値が「ＮＡ」である場合（即ち、ｉ番目の受検者がｊ番目のテスト項目に回答していない場合）に、推定モジュール２２は、ＷＨのｉ行ｊ列の行列要素の値が所定の閾値ｕ0以上であれば、ｉ番目の受検者がｊ番目のテスト項目に正答するものと推定し、ＷＨのｉ行ｊ列の行列要素の値が所定の閾値ｕ0未満であれば、ｉ番目の受検者がｊ番目のテスト項目に誤答するものと推定する。閾値ｕ0は、例えば、０．５である。この推定結果は、例えば、出力インタフェース１５を介して出力することができる。
【００２２】
なお、ＷＨの各行列要素の値を０以上１以下に値域制限することにより、行列Ｕのｉ行ｊ列の行列要素の値が「ＮＡ」である場合（即ち、ｉ番目の受検者がｊ番目のテスト項目に回答していない場合）に、推定モジュール２２は、ＷＨのｉ行ｊ列の行列要素の値を、ｉ番目の受検者がｊ番目のテスト項目に正答する確率であると見做すことができる。ＷＨの各行列要素の値が０以上１以下であることを保証した非負行列分解は、（１０）式に示す最適化問題を解くことに帰着する。
【数１０】
2017207577.tif 000012
【００２３】
ＷＨの各行列要素の値を０以上１以下に値域制限するために、（１１）式〜（１４）式に示す変換を考える。（１１）式の下付きの添え字は、行ベクトルであることを示し、上付きの添え字は、列ベクトルであることを示す。
【数１１】
2017207577.tif 000013
【数１２】
2017207577.tif 000014
【数１３】
2017207577.tif 000015
【数１４】
2017207577.tif 000016
【００２４】
（１２）式の左辺のｉ行ｊ列の行列要素は、（１５）式のように記述できるため、ＷＨの各行列要素の値が０以上１以下に値域制限されていることが理解できる。
【数１５】
2017207577.tif 000017
【００２５】
従って、近似モジュール２１は、（９）式に示す更新則に加えて、（１６）式に示す更新則を追加することにより、ＷＨの各行列要素の値を０以上１以下に値域制限することができる。
【数１６】
2017207577.tif 000018
【００２６】
なお、行列Ｒを正則行列とすると、行列Ｗと行列Ｈとの間には任意性ＷＨ＝（ＷＲ-1）（ＲＨ）が存在し、ＷをＷＲ-1に、ＨをＲＨにそれぞれ置き換えても積が同一となる。非負行列分解では、特にスケール任意性が問題となるため、（１６）式に示す更新則に加えて、（１７）式に示す更新則を追加してもよい。
【数１７】
2017207577.tif 000019
【００２７】
ここで、行列Ｄは、（１８）式に示すように記述することができ、行列Ｗの各行列要素は、（１９）式に示すように記述することができる。ＷＨの各行列要素の値が０以上１以下に値域制限されている場合には（１７）式の変換により、行列Ｗも行列Ｈもそれぞれの行列要素の値が０以上１以下に値域制限される。なお、（１７）式の変換の前後において、行列Ｗと行列Ｈとの積は変化しない。
【数１８】
2017207577.tif 000020
【数１９】
2017207577.tif 000021
【００２８】
（９）式、（１６）式、及び（１７）式に示すように、非負行列分解は、反復計算であるから、初期値を必要とする。行列Ｗ及びＨの初期値は、正規乱数などでランダムに決定してもよいが、計算結果を安定させるために、例えば、主成分分析（ＰＣＡ）を用いて初期値を決定するのが好ましい。具体的には、行列Ｕを主成分分析することにより得られたＫ個の主成分を非負値に制限することにより得られる非負値行列を行列Ｈの初期値とし、行列Ｕを行列Ｈの初期値のムーア・ペンローズ疑似逆行列の右から掛けることにより得られる非負値行列を行列Ｗの初期値としてもよい。
【００２９】
さて、（５）式に示すｗiはｉ番目の受検者が有する潜在スキルセットの重みと解釈できるため、選択モジュール２３は、ｉ番目の受検者が回答していないテスト項目の中からｉ番目の受検者の正答率が所定値未満と推定されるテスト項目を行列Ｗに基づいて選択する。このようにして選択されたテスト項目を、出力インタフェース１５を介して、ｉ番目の受検者に出題し、その回答を得ることにより、より少ないテスト項目を用いて、行列Ｗ及びＨの精度を高め、未回答のテスト項目の正誤を高い精度で推定することができる。
【００３０】
本実施形態によれば、Ｊ個のテスト項目のうち受検者からの回答が得られた一部のテスト項目の正誤結果に基づいて、受検者からの回答が得られていない残りのテスト項目の正誤を高い精度で推定することができる。
【００３１】
なお、各モジュール２１，２２，２３の機能は、プロセッサ２０と評価プログラム２０との協働により実現されるものであるが、専用のハードウェア資源（例えば、特定用途向け集積回路（ＡＳＩＣ））やファームウェアなどを用いて同様の機能を実現してもよい。
【実施例】
【００３２】
３１３人のソフトウェアエンジニアを受検者として、スキル評価用の５８個のテスト項目からなるテスト項目セットを作成し、全受検者から全てのテスト項目に対する回答を得た（Ｉ＝３１３，Ｊ＝５８）。ここで、図２は検証に用いたデータセット（以下、データセットＡと称する）における全受検者の素点分布を示すグラフである。図２の横軸は、素点（スコア）を示し、図２の縦軸は受検者数を示している。図３はデータセットＡにおける各テスト項目の難易度を示すグラフである。図３の横軸は難易度を示し、図３の縦軸は受検者数を示している。全受検者からの未回答を含まない回答から、どのようなスキルセット（即ち、行列Ｈ）が得られるのかを把握するため、「ＮＡ」を行列要素に含まない行列Ｕを非負行列分解して行列Ｗ及びＨを得た。ここで、行列Ｕの階数を５とした。図４はデータセットＡから推定された行列Ｈを可視化したヒートマップであり、図５はデータセットＡから推定された行列Ｗを可視化したヒートマップである。行列Ｈ及びＷには、スパースなパーツ表現、即ち、グループ構造が見られ、項目毎の関連が抽出できる。
【００３３】
次に、欠測率（テスト項目の総数に対する未回答のテスト項目の数の割合）を０％から９０％まで５％刻みで変化させ、未回答のテスト項目（以下、「欠測項目」と称する）に対する予測の正答率を評価した。これにより、適度な予測精度を保ちつつ、減らせるテスト項目の数はどれくらいなのかを判断する評価指標を得ることができる。このとき、欠測項目は、ランダムに選択するのではなく、行列Ｕの行毎に欠測項目の数が同じになるように欠測項目を選択した。また、閾値ｕ0を０．５とした。行列Ｕの非負行列分解の結果は、行列Ｗ及びＨの初期値により異なるため、各欠測率について１０回シミュレーションを行った。このとき、行列Ｕの階数は５に固定した。評価は、クロスバリデーションで行った。まず、３１３人分の行列Ｕに対して全体的に、欠測項目を発生させ、次に、一人分のテスト項目に対する応答を抜いた３１２人分の行列Ｕを非負行列分解し、抜いておいた受検者に対する欠測補完の精度を評価する。抜く受検者を一人ずつ入れ替えながらこの評価を３１３回繰り返し、その平均精度をleave-one-examinee-out cross-validation精度（ＬＯＥＯＣＶ精度）とする。一つ一つの精度評価については、欠測項目のみを対象とする。行列Ｕの階数を５に固定した。図６は欠測率を５％から９５％まで５％刻みで変化させたときの、データセットＡに対するＬＯＥＯＣＶ精度を示す。図６の横軸は欠測率を示し、図６の縦軸は、ＬＯＥＯＣＶ精度を示している。各欠測率において評価を１２回行った。欠測率５％では、７５％の精度が得られており、欠測率が５〜５０％の範囲では、精度は緩やかに下がるが、欠測率が５０％を超えると、精度の低下が顕著になる。しかし、欠測率が９５％でも６０％程度の精度が得られた。
【００３４】
次に、素点の誤差を標準偏差で評価した。図７は欠測率を５％から９５％まで５％刻みで変化させたときの、データセットＡに対する素点の推定値の平均自乗誤差の平方根（以下、ＲＭＳＥと称する）を示す（但し、各欠測率において評価を１２回行った。）。図７の横軸は欠測率を示し、図７の縦軸は、素点の標準偏差を示している。素点の計算には、欠測項目以外のテスト項目の応答も含めた。行列Ｕのうち欠測項目以外のテスト項目については、行列Ｕの値をそのまま用い、欠測項目のみを行列Ｕの非負行列分解で得られる行列Ｗ及びＨから推定した。従って、標準偏差の最大値は、行毎の欠測応答数（テスト項目の総数×欠測率）となる。図８は欠測率を５％から９５％まで５％刻みで変化させたときの、データセットＡに対する素点の推定値のＲＭＳＥを示す（但し、各欠測率における評価は１回のみである。）。図８の横軸は欠測率を示し、図８の縦軸は、素点の標準偏差を示している。図９はデータセットＡを対象に、欠測率を変化させたときの素点の推定値のＲＭＳＥの欠測応答数に対する比率を示す。図９の横軸は欠測率を示し、図９の縦軸は素点の標準偏差の欠測応答数に対する比率を示している。標準偏差は、欠測率が８０％あたりまではほぼ線形に、欠測率１０％につき約１ずつ増加している。欠測率が８０％を超えると、標準偏差は急激に悪化し、標準偏差の増加率は約４倍である。
【００３５】
ｗiはｉ番目の受検者が有する潜在スキルセットの重みと解釈できるため、ｉ番目の受検者が回答していないテスト項目の中からｉ番目の受検者の正答率が所定値未満と推定されるテスト項目を選択して出題することにより、不確実性の高いテスト項目に対する応答を観測し、予測に対する信頼性を高めることができるものと考えられる。このようにして出題順序を決定する方式を能動学習と称する。能動学習の効果を確認するため、抜かれる受検者以外の受検者については、全てのテスト項目についての回答が得られているという状況のleave-one-examinee-out（ＬＯＥＯ）スキームで実験を行った。一人の受検者ｉを選び、その受検者ｉ以外の全ての受検者からは、全てのテスト項目について回答が得られているものとする。Ｊ個のテスト項目のうち一部のテスト項目を受検者ｉに出題して回答を得、行列Ｕを非負行列分解して行列Ｗを推定し、未出題のテスト項目の中から、受検者ｉの正答率が所定値未満と推定されるテスト項目から順番に選択して出題することにより、受検者ｉの項目応答パタンを完成させる。テスト項目の数を増やしつつ、推定した素点と真の素点との誤差を標準偏差で評価した。図１０はデータセットＡにおいて、テスト項目の回答数と素点の推定値のＲＭＳＥとの関係を示すグラフである。図１０の横軸はテスト項目の回答数を示し、図１０の縦軸は素点の標準偏差を示している。図１１はデータセットＡにおいて、欠測率と素点の推定値のＲＭＳＥとの関係を示すグラフである。図１１の横軸は欠測率を示し、図１１の縦軸は素点の標準偏差を示している。
【００３６】
非負行列分解による欠測項目の補完の後に計算したクロンバックのα係数（α係数の推定値）が、欠測項目のない行列Ｕに対して計算したα係数（真のα係数）とどれだけずれるのかを評価した。クロンバックのα係数は、テスト項目の信頼性の評価指数であり、（２０）式のように定義される。但し、ｓjはテスト項目ｊの分散を示し、ｓyは素点の分散を示す。
【数２０】
2017207577.tif 000022
【００３７】
欠測率を０％から９５％まで５％刻みで変化させながら、α係数の推定値が真のα係数とどれだけずれているのかを評価した。このとき、一つの欠測率について、欠測項目をランダムに変えて１２回評価した。図１２は、データセットＡにおいて、欠測率を０％から９５％まで５％刻みで変化させたときのクロンバックのα係数の推定値と真のα係数との差（α係数の誤差）をプロットしたグラフである。図１２の横軸は欠測率を示し、図１２の縦軸はα係数の誤差を示している。欠測率が５〜７５％の範囲では、欠測率の増加に伴い、α係数の誤差は線形に増加しており、かつ分散が小さい。一方、欠測率が７５％を超えると、α係数の誤差は大きく下振れし、欠測率が９５％のときにα駅数の誤差はゼロ付近に戻った。
【００３８】
以上の実験結果から、欠測率は、例えば、７５％未満が好ましく、２５％未満が更に好ましい。各受検者の欠測率が一律に５０％未満であっても、実用的には十分な精度で欠測項目の正誤を推定することができる。なお、テスト項目の数は、約６０前後（例えば、５９以上６１以下）が好ましい。
【００３９】
なお、以上説明した各実施形態は、本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。本発明はその趣旨を逸脱することなく、変更／改良され得るととともに、本発明にはその等価物も含まれる。即ち、各実施形態に当業者が適宜設計変更を加えたものも、本発明の特徴を備えている限り、本発明の範囲に包含される。
【符号の説明】
【００４０】
１０…評価システム
１１…プロセッサ
１２…ＲＡＭ
１３…ＲＯＭ
１４…入力インタフェース
１５…出力インタフェース
１６…記憶装置
２０…評価プログラム
２１…近似モジュール
２２…推定モジュール
２３…選択モジュール
【図１】
2017207577.tif 000023
【図２】
2017207577.tif 000024
【図３】
2017207577.tif 000025
【図４】
2017207577.tif 000026
【図５】
2017207577.tif 000027
【図６】
2017207577.tif 000028
【図７】
2017207577.tif 000029
【図８】
2017207577.tif 000030
【図９】
2017207577.tif 000031
【図１０】
2017207577.tif 000032
【図１１】
2017207577.tif 000033
【図１２】
2017207577.tif 000034