(57)【要約】  【課題】  作業者の作業評価値を予測するための技法を提供する。  【解決手段】  複数の作業者による、複数回の全力作業と手抜き作業のラベル付きデータがコンピュータのハードディスクに保存された段階で、i = 1, ,,,. M （Mは、作業者の数）につき、作業者iの全力作業と手抜き作業のラベル付きデータに対して、線形識別モデルに基づく機械学習が適用される。このようにして、結果的に、試行した各作業者毎のパラメータw(1),w(2),...,w(M)が得られると、それらの合計をMで割ることによって、平均のwが得られる。あるいは、各作業者毎の試行回数で重みをつけた、重み付き平均wをとってもよい。こうして総合した結果のパラメータwが得られると、評価関数にこのwを適用する。すると、例えば、新たな作業者の作業データxと、wとの内積をとることによって、xの評価値が得られる。【選択図】  図３
2010061323.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータの処理によって、作業者の作業評価値を予測するための識別モデル作成方法であって、
作業者が第１の作業モードで作業したデータを電気信号として記録した複数の第１のデータと、当該作業者が前記第１の作業モードとは異なる第２の作業モードで作業したデータを電気信号として記録した複数の第２のデータを、複数の作業者につき、コンピュータ可読な記憶手段に保存するステップと、
前記コンピュータの処理により、一人の前記作業者の前記第１のデータに第１のラベルを付与し、その同一の作業者の前記第２のデータに第２のラベルを付与することによって、線形識別モデルを適用し、以って該作業者のデータについてのモデルパラメータを計算するステップを、前記複数の作業者のデータに適用することにより、前記コンピュータの処理により、前記複数の作業者のデータ毎の前記モデルパラメータを得るステップと、
前記コンピュータの処理により、前記複数の作業者のデータ毎の前記モデルパラメータを平均することによって、全体のモデルパラメータを得るステップを有する、
識別モデル作成方法。
【請求項２】
前記第１の作業モードが、作業者が全力で作業する全力作業モードであり、前記第２の作業モードが、作業者が手抜きで作業する手抜き作業モードである、請求項１の方法。
【請求項３】
前記線形識別モデルが、ロジスティック回帰を使用するモデルである、請求項１の方法。
【請求項４】
コンピュータの処理によって、作業評価値を予測する方法であって、
新たな作業者の作業データを入力するステップと、
請求項１によって作成された全体のモデルパラメータを、前記入力した作業データに適用することによって、前記入力した作業データの作業評価値を計算するステップを有する、
作業評価値予測方法。
【請求項５】
前記モデルパラメータと前記作業データはベクトルであり、前記評価値は、前記モデルパラメータと、前記作業データの内積によって計算される、請求項４の作業評価値予測方法。
【請求項６】
コンピュータの処理によって、作業者の作業評価値を予測するための識別モデル作成用プログラムであって、
前記コンピュータをして、
作業者が第１の作業モードで作業したデータを電気信号として記録した複数の第１のデータと、当該作業者が前記第１の作業モードとは異なる第２の作業モードで作業したデータを電気信号として記録した複数の第２のデータを、複数の作業者につき、コンピュータ可読な記憶手段に保存するステップと、
前記コンピュータの処理により、一人の前記作業者の前記第１のデータに第１のラベルを付与し、その同一の作業者の前記第２のデータに第２のラベルを付与することによって、線形識別モデルを適用し、以って該作業者のデータについてのモデルパラメータを計算するステップを、前記複数の作業者のデータに適用することにより、前記コンピュータの処理により、前記複数の作業者のデータ毎の前記モデルパラメータを得るステップと、
前記コンピュータの処理により、前記複数の作業者のデータ毎の前記モデルパラメータを平均することによって、全体のモデルパラメータを得るステップを実行させる、
プログラム。
【請求項７】
前記第１の作業モードが、作業者が全力で作業する全力作業モードであり、前記第２の作業モードが、作業者が手抜きで作業する手抜き作業モードである、請求項６のプログラム。
【請求項８】
前記線形識別モデルが、ロジスティック回帰を使用するモデルである、請求項６のプログラム。
【請求項９】
コンピュータの処理によって作業評価値を予測するシステムであって、
新たな作業者の作業データを入力する手段と、
請求項６のプログラムによって作成された全体のモデルパラメータを、前記入力した作業データに適用することによって、前記入力した作業データの作業評価値を計算する手段を有する、
作業評価値予測システム。
【請求項１０】
前記モデルパラメータと前記作業データはベクトルであり、前記評価値は、前記モデルパラメータと、前記作業データの内積によって計算される、請求項９の作業評価値予測システム。
【請求項１１】
コンピュータの処理によって、作業者の作業評価値を予測するための識別モデル作成方法であって、
作業者が第１の作業モードで作業したデータを電気信号として記録した複数の第１のデータと、当該作業者が前記第１の作業モードとは異なる第２の作業モードで作業したデータを電気信号として記録した複数の第２のデータを、複数の作業者につき、コンピュータ可読な記憶手段に保存するステップと、
前記コンピュータの処理により、一人の前記作業者の前記第１のデータから前記第２のデータを引いたデータに第１のラベルを付与し、その同一の作業者の前記第２のデータから前記第１のデータを引いたデータに第２のラベルを付与して前記コンピュータ可読な記憶手段に保存するラベル付与ステップと、
前記コンピュータの処理により、前記ラベル付与ステップを、全ての作業者のデータに適用するステップと、
前記コンピュータの処理により、前記全ての作業者のデータに、前記ラベル付与ステップが適用された後のデータに線形識別モデルを適用することによって、モデルパラメータを得るステップを有する、
識別モデル作成方法。
【請求項１２】
前記第１の作業モードが、作業者が全力で作業する全力作業モードであり、前記第２の作業モードが、作業者が手抜きで作業する手抜き作業モードである、請求項１１の方法。
【請求項１３】
前記線形識別モデルが、ロジスティック回帰を使用するモデルである、請求項１１の方法。
新たな作業者の作業データを入力するステップと、
【請求項１４】
コンピュータの処理によって、作業評価値を予測する方法であって、
請求項１１によって作成された全体のモデルパラメータを、前記入力した作業データに適用することによって、前記入力した作業データの作業評価値を計算するステップを有する、
作業評価値予測方法。
【請求項１５】
前記モデルパラメータと前記作業データはベクトルであり、前記評価値は、前記モデルパラメータと、前記作業データの内積によって計算される、請求項１４の作業評価値予測方法。
【請求項１６】
コンピュータの処理によって、作業者の作業評価値を予測するための識別モデル作成プログラムであって、
前記コンピュータをして、
作業者が第１の作業モードで作業したデータを電気信号として記録した複数の第１のデータと、当該作業者が前記第１の作業モードとは異なる第２の作業モードで作業したデータを電気信号として記録した複数の第２のデータを、複数の作業者につき、コンピュータ可読な記憶手段に保存するステップと、
前記コンピュータの処理により、一人の前記作業者の前記第１のデータから前記第２のデータを引いたデータに第１のラベルを付与し、その同一の作業者の前記第２のデータから前記第１のデータを引いたデータに第２のラベルを付与して前記コンピュータ可読な記憶手段に保存するラベル付与ステップと、
前記コンピュータの処理により、前記ラベル付与ステップを、全ての作業者のデータに適用するステップと、
前記コンピュータの処理により、前記全ての作業者のデータに、前記ラベル付与ステップが適用された後のデータに線形識別モデルを適用することによって、モデルパラメータを得るステップを実行させる、
識別モデル作成プログラム。
【請求項１７】
前記第１の作業モードが、作業者が全力で作業する全力作業モードであり、前記第２の作業モードが、作業者が手抜きで作業する手抜き作業モードである、請求項１６のプログラム。
【請求項１８】
前記線形識別モデルが、ロジスティック回帰を使用するモデルである、請求項１６のプログラム。
【請求項１９】
コンピュータの処理によって、作業評価値を予測するシステムであって、
新たな作業者の作業データを入力する手段と、
請求項１６のプログラムによって作成されたモデルパラメータを、前記入力した作業データに適用することによって、前記入力した作業データの作業評価値を計算する手段を有する、
作業評価値予測システム。
【請求項２０】
前記モデルパラメータと前記作業データはベクトルであり、前記評価値は、前記モデルパラメータと、前記作業データの内積によって計算される、請求項１９の作業評価値予測システム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、作業、行動、または振る舞いなどを記録したデータから、その作業、行動または振る舞いのレベルまたは評価値などを予測または評価するためのシステム、方法及びプログラムに関するものである。
【背景技術】
【０００２】
人間の作業には、製造ラインでの作業、医師による手術、パイロットによる操縦、スキーの滑降、ゴルフでのショットなどさまざまなものがある。そういう物理的な道具を使うもの以外にも、コンピュータ・ゲームで、迫ってくる対象物を打ち落とす操作のようなものもある。
【０００３】
このような作業において、作業を記録したデータに基づき、例えば、その作業をした人の能力を推定したい、という要望がある。このような評価を行おうとすると、一つの考えられる方法は、熟練した人の作業を記録したデータと、未熟練の人の作業を記録したデータを保存しておき、ある被験者に作業をしてもらって記録したデータに、それらを比較することである。
【０００４】
しかし、予め記録された熟練した人の作業データも、未熟練の人の作業データも、それらの作業者の癖や傾向を含むため、別人の作業の比較に使っても、必ずしも適切な評価値が得られるとは限らない。このため、各作業者の評価値差を考慮に入れて平均化した、より客観的な評価値スコアを与えることができる技法が要望されている。
【０００５】
特開平７−１６４２６７公報は、高精度な組立作業時間の予測を行い、かつこの予測値の計算を迅速に行うために、指定された組立作業時間予測製品に対して、実績データ格納手段に格納されている実績データの中から類似の実績データを複数選択し、その得られた実績データのうち、類似製品の部品の種類を説明変数とすると共に組立作業時間を目的変数として重回帰分析を行うことにより、組立作業時間予測モデルを作製し、作製された組立作業時間予測モデルの有効性を統計的に判定することを開示する。
【０００６】
特開平７−２５３９６６公報は、各装置から得られる特性値（収量、反応量など）に影響を与える要因（温度、触媒量、引っ張り強度、圧力など）の交互作用項を検知するために、特性値と特性値を得たときの条件（要因等）を入力し、モデル式選択手段で、回帰モデルの最適モデル式選択の手法を用いて、回帰モデル変数選択規準にもとずき交互作用項を含めた最適な回帰モデル式を求め、モデル式利用手段では、求めた最適なモデル式を使って推定値及び推定誤差を計算することを開示する。
【０００７】
特開平９−６８３８号公報は、営業活動の最適な標準化を図り、営業生産性を革新的に向上させることができるようにするためのシステムに関し、データ入力部より入力されるデータを用いて、顧客の立場を考慮した客観評価基準と自己の立場を考慮した取引評価基準との２つの評価基準の下に種々の顧客を評価し、その評価結果の高低に応じて種々の顧客を分類する顧客評価・分類部と、顧客評価・分類部による評価・分類の結果を参照して顧客別の訪問回数の目標値を設定する目標値設定部とを設け、自己の立場を考慮した取引評価だけでなく、顧客の立場を考慮した客観評価をも行い、その評価結果に基づいて顧客を分類するようにすることにより、顧客の評価をより正確に行って取引拡大すべき顧客を明確にすることができるようにし、営業活動における無駄を省いて営業訪問力を種々の顧客に適正に配分することができるようにすることを開示する。
【０００８】
特開２０００−３３９３３６号公報は、過去のユーザの作品に対する評価を用いて、芸術作品に対する分類自体の評価を推定し、また、他のユーザの評価に対する類似度を推定してユーザモデルを構成することにより、ユーザに適合的な芸術作品の候補を選定し、さらに選定結果に対するユーザの評価を用いて、ユーザモデルを再構築することを開示する。
【０００９】
【特許文献１】特開平７−１６４２６７公報
【特許文献２】特開平７−２５３９６６公報
【特許文献３】特開平９−６８３８号公報
【特許文献４】特開２０００−３３９３３６号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
しかし、上記どの従来技術も、各作業者の評価値差を統合し平均化した、より客観的な評価値スコアを与える技法については、示唆するものではない。
【００１１】
従って、この発明の目的は、複数の作業者の作業の評価値に基づき、作業者間の癖や傾向を吸収して、より客観的な評価を与えるモデルを作成する技法、及びそのモデルを実装したシステムを提供することにある。
【課題を解決するための手段】
【００１２】
本発明によれば、事前準備ステップとして、複数の作業者に、複数回の全力での作業の試行と、複数回の手抜きでの作業の試行が依頼され、その各々が記録される。ここで言う作業とは例えば、工場のラインでの組み立て作業であり、記録は、作業者の腕、手の甲、指などに取り付けられたセンサからの電気信号を、コンピュータのハードディスクに順次保存することによって行われる。記録は、例えば、５秒間、あるクロック間隔で位置座標を記録することによって行われ、従って、記録された各データは、各成分が位置座標であるようなベクトルである。この際、ベクトルの次元は、各記録データで同一になるようになされる。その記録の際に、全力での作業として行われたデータの記録は、全力であることを示すラベルを付与してハードディスクに保存され、手抜きの作業として行われたデータの記録は、手抜きであることを示すラベルを付与してハードディスクに保存される。例えば、全力であることを示すラベルを+1、手抜きであることを示すラベルを-1とする。
【００１３】
このとき、各作業者における、全力での作業の試行の回数と、手抜きでの作業の試行は、ほぼ同数であることが望ましいが、異なっていてもよい。また、各作業者毎の全力と手抜きを合わせた試行回数は、ほぼ同数であることが望ましいが、異なっていてもよい。
【００１４】
こうして、複数の作業者による、複数回の全力作業と手抜き作業のラベル付きデータがコンピュータのハードディスクに保存された段階で、本発明の第１の実施例によれば、i = 1, ,,,. M （Mは、作業者の数）につき、作業者iの全力作業と手抜き作業のラベル付きデータに対して、線形識別モデルに基づく機械学習が適用される。好ましい１つの線形識別モデルは、これには限定されないが、ロジスティック回帰である。この機械学習の結果、作業者iに対してパラメータw(i)が決定される。なお、w(i)は、記録データと同じ次元のベクトルである。
【００１５】
このようにして、結果的に、試行した各作業者毎のパラメータw(1),w(2),...,w(M)が得られると、それらの合計をMで割ることによって、平均のwが得られる。あるいは、各作業者毎の試行回数で重みをつけた、重み付き平均wをとってもよい。
【００１６】
こうして総合した結果のパラメータwが得られると、好適には、新たな作業者の作業データxと、wの内積を取ることによって、xの評価値を得る。
【００１７】
本発明の第２の実施例によれば、複数の作業者による、複数回の全力作業と手抜き作業のラベル付きデータがコンピュータのハードディスクに保存された段階で、i番目の作業者のjH番目の全力作業をx(i,jH)とし、i番目の作業者のjL番目の手抜き作業をx(i,jL)とすると、
i = 1, ,,,. M （Mは、作業者の数）につき、x(i,jH) - x(i,jL)を計算し、それを改めて、全力作業ラベルをもつデータとして記録する。ここで、x(i,jH) - x(i,jL)は、作業者iの任意の全力作業ラベル・データと、任意の手抜き作業ラベル・データの全ての組み合わせである。同様にして、x(i,jL) - x(i,jH)を計算し、それを改めて、手抜き作業ラベルをもつデータとして記録する。
【００１８】
そのようなラベル付けされたデータの全てがコンピュータのハードディスクに保存されると、これに対して、線形識別モデルに基づく機械学習が適用される。後は、上記第１の実施例の場合と同様である。
【発明の効果】
【００１９】
以上のように、この発明によれば、複数の作業者による、複数回の全力作業と手抜き作業のラベル付きデータの傾向を平準化した好適な評価パラメータが得られるので、新たな作業データに対して、より適切な評価値が提供される。
【発明を実施するための最良の形態】
【００２０】
以下、図面に従って、本発明の実施例を説明する。これらの実施例は、本発明の好適な態様を説明するためのものであり、発明の範囲をここで示すものに限定する意図はないことを理解されたい。また、以下の図を通して、特に断わらない限り、同一符号は、同一の対象を指すものとする。
【００２１】
図１を参照すると、本発明の一実施例に係るシステム構成及び処理を実現するためのコンピュータ・ハードウェアのブロック図が示されている。図１において、システム・バス１０２には、ＣＰＵ１０４と、主記憶（ＲＡＭ）１０６と、ハードディスク・ドライブ（ＨＤＤ）１０８と、キーボード１１０と、マウス１１２と、ディスプレイ１１４が接続されている。ＣＰＵ１０４は、好適には、３２ビットまたは６４ビットのアーキテクチャに基づくものであり、例えば、インテル社のＰｅｎｔｉｕｍ（商標）４、インテル社のＣｏｒｅ（商標）  ２  ＤＵＯ、ＡＭＤ社のＡｔｈｌｏｎ（商標）などを使用することができる。主記憶１０４は、好適には、５１２ＫＢ以上の容量、より好ましくは、１ＧＢ以上の容量をもつものである。
【００２２】
ハードディスク・ドライブ１０８には、個々に図示しないが、オペレーティング・システム及び本発明に係る処理プログラムなどが、予め格納されている。オペレーティング・システムは、Ｌｉｎｕｘ（商標）、マイクロソフト社のＷｉｎｄｏｗｓ  Ｖｉｓｔａ、Ｗｉｎｄｏｗｓ  ＸＰ（商標）、Ｗｉｎｄｏｗｓ（商標）２０００、アップルコンピュータのＭａｃ  ＯＳ（商標）などの、ＣＰＵ１０４に適合する任意のものでよい。
【００２３】
キーボード１１０及びマウス１１２は、オペレーティング・システムが提供するグラフィック・ユーザ・インターフェースに従い、ディスプレイ１１４に表示されたアイコン、タスクバー、ウインドウなどのグラフィック・オブジェクトを操作するために使用される。キーボード１１０及びマウス１１２はまた、後述するデータは記録用プログラムを操作するためにも使用される。
【００２４】
ディスプレイ１１４は、これには限定されないが、好適には、１０２４×７６８以上の解像度をもち、３２ビットtrue colorのＬＣＤモニタである。ディスプレイ１１４は、作業者による全力及び手抜きのデータ記録用のプログラム、評価結果の数値などを表示するために使用される。
【００２５】
ハードディスク・ドライブ１０８にはさらに、データ記録用プログラム、及び本発明に関する記録データ処理プログラムが格納されている。このプログラムは、Ｃ＋＋、Ｃ＃、Ｊａｖａ（商標）、Ｐｅｒｌ、Ｒｕｂｙなどの既存の任意のプログラム言語で書くことができる。オペレーティング・システムとして、Ｗｉｎｄｏｗｓ  Ｖｉｓｔａ、Ｗｉｎｄｏｗｓ  ＸＰ（商標）、Ｗｉｎｄｏｗｓ（商標）２０００などを使用する場合には、Ｗｉｎ３２  ＡＰＩの機能を利用して、ＧＵＩも含むアプリケーション・プログラムとして実装することができる。しかし、本発明に関するデータ処理プログラムは、ＣＵＩとしても実装することが可能である。
【００２６】
バス１０２にはさらに、ＵＳＢインターフェース１１６を介して、作業者の作業データを記録するためのセンサ１１８が接続される。センサ１１８は、作業者の手の甲などに取り付けられて、その動き、加速度などを検出するものであって、例えば、これらに限定されないが、特開２０００−１３２３０５号公報、特開２００１−１２５７２８号公報、及び特開２００４−１５７８５０号公報などに記載されているようなものである。
【００２７】
データ記録用プログラムは、このようなセンサ１１８と協働して動作し、例えば、0.1秒間隔で5秒間、作業者の動きを検出して、ハードディスク・ドライブ１０８に記録する。
【００２８】
図２は、ディスプレイ１１４に表示される、データ記録用プログラムのウインドウ２００を示す図である。このようなＧＵＩは、オペレーティング・システムが  Ｗｉｎｄｏｗｓ  Ｖｉｓｔａ、Ｗｉｎｄｏｗｓ  ＸＰ（商標）、Ｗｉｎｄｏｗｓ（商標）２０００である場合、Ｗｉｎ３２  ＡＰＩの所定の関数を呼び出すことによって実現される。その他のオペレーティング・システムにも、一般的に、同等の機能が用意されている。ウインドウ２００には、作業者のＩＤを入れるフィールド２０２と、全力作業か手抜き作業かを区別するラジオ・ボタン２０４と、記録データ数を示すフィールド２０６と、記録開始のためのボタン２０８と、記録終了のためのボタン２１０をもつ。オペレータは、先ず、フィールド２０２の欄に、作業者のＩＤを入れる。次に、オペレータは、作業者の手の甲などに、センサ１１８を取り付ける。そうして、全力作業であることを示すラジオ・ボタン２０４ａをクリックしておいてから、作業者に、全力で作業して下さい、と依頼して、ボタン２０８をクリックすることにより、複数個のデータを記録する。データは、その作業の5秒間を１データとして、ある一定間隔で、自動的にデータは記録され、その度に、フィールド２０６の数字は１つずつ増分される。これは、作業の種類にもよるが、２０個乃至３０個程度で十分である。所望の個数のデータが記録されたら、オペレータは、ボタン２１０をクリックして、記録を終了する。これにより、全力ラベルをもつデータが、ハードディスク・ドライブ１０８に記録される。
【００２９】
次に、オペレータは、手抜き作業であることを示すラジオ・ボタン２０４ｂをクリックしておいてから、作業者に、手抜きで作業して下さい、と依頼して、ボタン２０８をクリックすることにより、複数個のデータを記録する。データは、その作業の5秒間を１データとして、ある一定間隔で、自動的にデータは記録され、その度に、フィールド２０６の数字は１つずつ増分される。これも、２０個乃至３０個程度で十分である。所望の個数のデータが記録されたら、オペレータは、ボタン２１０をクリックして、記録を終了する。これにより、手抜きラベルをもつデータが、ハードディスク・ドライブ１０８に記録される。尚、ここでいう「手抜き」であるが、例えば、作業者が、全力の３割乃至２割５分程度と自分の主観で感じる程度でよい。
【００３０】
こうして一人の作業者のデータの記録が終わると、次の作業者に交代してもらって、少なくとも５〜６人のデータの記録を行う。
【００３１】
このとき、記録データは、上記したように、複数の数値が並んだベクトルとして記録されているが、その次元は、後での計算のために、どのデータも同一である必要があることに留意されたい。但し、データ記録用プログラムが次元数を決めてそこで記録を打ち切るので、オペレータは、その点は留意する必要がない。
【００３２】
尚、このようなデータ記録プログラムとセンサの組み合わせは、本発明の要部ではなく、一実施例に過ぎないことを理解されたい。例えば、ＲＦＩＤなどを使って遠隔的にデータを記録してもよい。あるいは、ＧＰＳセンサを使うことで、作業者の行動記録をデータとすることもできる。要するに、作業者の異なる努力レベルでラベルした２種類のデータがあればよい。
【００３３】
ハードディスク・ドライブ１０８に記録されるデータの形式であるが、ＣＳＶ、ＸＭＬなど、コンピュータ可読でベクトルを表記可能な任意の形式を用いることができる。
【００３４】
また、これらのデータは、図１に示す、データ解析を行うコンピュータと同一のコンピュータで記録する必要はなく、別のコンピュータまたはシステムで記録して、ＵＳＢ接続の外部記憶装置、あるいはネットワーク経由などで、図１に示す、データ解析を行うコンピュータに、データを搬入してもよい。
【００３５】
図３は、このようにして記録したデータがハードディスク・ドライブ１０８に保存されている場合の、本発明の処理を機能的に示すブロック図である。
【００３６】
図３において、作業者１、作業者２、・・・作業者Ｍ毎に、データ３０２ａ、３０２ｂ・・・３０２ｍがハードディスク・ドライブ１０８に保存されている。その各々データには、全力作業のラベルが付いたデータ群と、手抜き作業のラベルが付いたデータ群とが各々含まれている。例えば、データ３０２ａには、全力作業のラベルが付いたデータ群３０２ａ１と、手抜き作業のラベルが付いたデータ群３０２ａ２が含まれている。このとき、データ群３０２ａ１、及びデータ群３０２ａ２はそれぞれ、複数のデータからなるが、データ群３０２ａ１と及びデータ群３０２ａ２に含まれるデータの個数は、必ずしも等しくなくてよい。このことは、データ３０２ｂ・・・３０２ｍについても、同様である。
【００３７】
本発明によれば、このように作業者１、作業者２、・・・作業者Ｍ毎に、ハードディスク・ドライブ１０８に保存されたデータ３０２ａ、３０２ｂ・・・３０２ｍを訓練データとして、ハードディスク・ドライブ１０８に保存されている解析プログラムが、評価関数あるいは評価モデル３０４を作成する。その際、データ３０２ａ、３０２ｂ・・・３０２ｍに含まれているデータ群に付けられた全力作業と、手抜き作業のラベルが使用される。
【００３８】
こうして、一旦評価関数３０４が作成されると、任意の新しい誰かのデータ３０６に対して、評価関数３０４が適用されて、評価値３０８が得られる。
【００３９】
図４は、本発明の第１の実施例に従って、評価モデルを生成する処理のフローチャートである。作業者毎の全力作業データと、手抜き作業データの記録は、ある程度オペレータが介在したが、図４のフローチャートの処理は、コンピュータにより自動的に実行されることを理解されたい。
【００４０】
ステップ４０２では、変数iに1が代入される。この変数iは、i番目の作業者のデータを指定するために使用される。
【００４１】
ステップ４０４は、i番目の作業者のデータに基づき、i番目の識別モデルパラメータw(i)を計算する処理をあらわす。ステップ４０４において、ハードディスク・ドライブ１０８から読み出したi番目の作業者の全力作業データ群４０４ａと、i番目の作業者の手抜き作業データ群４０４ｂに基づき、ステップ４０４ｃで、全力作業データ群４０４ａを「正例」、i番目の作業者の手抜き作業データ群４０４ｂを「負例」として、線形識別モデルのアルゴリズムを適用する。線形識別モデルについては、例えば、
Pattern Recognition and Machine Learning by Christopher M. Bishop, 2006, Springer Verlag（以下では、C. M. Bishopの著書と称する）の第４章を参照されたい。
【００４２】
ここで、全力作業と手抜き作業を示すラベルには、任意の記号または数字を使用することができるが、以下の実施例では、全力作業のラベルとして+1を使い、手抜き作業のラベルとして-1を使うものとする。
【００４３】
特に、線形識別モデルの一例である、ロジスティック回帰を用いた処理を、後の図５のフローチャートを使用して説明する。
【００４４】
こうして、ステップ４０４ｄでは、i番目の作業者についての識別モデルパラメータw(i)が得られ、この値は後の計算のため、主記憶１０６に一旦保持され、またはハードディスク・ドライブ１０８に保存される。
【００４５】
ステップ４０６では、iが1だけ増分され、ステップ４０８では、i > Mかどうかが判断される。i > Mでなければ、まだＭ人の作業者すべてのデータについて計算し尽くしていないので、ステップ４０４に戻る。
【００４６】
ステップ４０８でi > Mと判断されると、Ｍ人の作業者すべてのデータについて計算し尽くされたことを意味するので、ステップ４１０では、Ｍ人分のパラメータw(1)、w(2)、・・w(M)の重み付き平均wが、下記の式により計算される。ここで、Niは、i番目の作業者のデータに含まれる全力作業と手抜き作業のデータの合計の数である。
ここで、w(1)、w(2)、・・w(M)はベクトルであって、従って、結果のwも同次元のベクトルになることを理解されたい。
【数１】
2010061323.tif 000003
【００４７】
但し、Ｍ人の作業者のデータがほぼ等しい数のデータを含むと想定してよい場合は、重みつきでなく下記のように、Ｍ人の単純な平均でもよい。
【数２】
2010061323.tif 000004
【００４８】
ここまでのステップが、モデル作成フェーズである。こうして、平均されたパラメータwがステップ４１２で保存されると、ステップ４１４で新しい作業者の作業データxが入力されると、ステップ４１６で、この作業データxに、ステップ４１６でモデルが適用され、その結果の予測値がステップ４１８で得られ、これによって、新しい作業者の作業データxに基づき、その作業がどれくらい真剣であったかが、予測される。なお、新しい作業者の作業データxは、図３に示す、作業者の全力作業データ群または手抜き作業データ群の個々のデータと同じ次元のベクトルである。
【００４９】
ステップ４１６では、好適には、新たな作業者の作業データxと、wの内積を取ることによって、xの予測値または評価値を得る。あるいは、このようにして求めた内積を引数として評価値を与える適当な関数を用いることができる。
【００５０】
図５は、図４のステップ４０４で、個々の作業者のパラメータw(i)を計算するための、より詳細なフローチャートである。図５のステップ５０２では、訓練集合x1、x2、・・・、xnとそのラベルy1、y2、・・・、ynを入力する。ここでいう入力とは、ハードディスク・ドライブ１０８から、単一の作業者の全力作業データ群または手抜き作業データ群を、図１に示すコンピュータ・システムによる処理のため、主記憶１０６に読み込むことである。このとき、訓練集合x1、x2、・・・、xnが、単一の作業者の全力作業データ群または手抜き作業データ群の個々のデータである。ラベルy1、y2、・・・、ynは、それぞれx1、x2、・・・、xnに対応するものであって、例えば、ラベルyiは、対応するデータxiが全力作業データである場合は+1、対応するデータxiが手抜き作業データである場合は-1であるとする。ここで全力作業データと手抜き作業データとを区別するためのラベルは、異なる値であれば任意でよいことを理解されたい。
【００５１】
なお、ステップ５０２では、初期パラメータw = 0と置くものとする。wはベクトルなので、w = 0とは、全ての成分が0であることを意味する。
【００５２】
ステップ５０４では、下記の交差エントロピー誤差関数が最小に近づくようにwが更新される。
【数３】
2010061323.tif 000005
【００５３】
１つの実施例では、F(xi,w)は、下記のようなロジスティックシグモイド関数である。
【数４】
2010061323.tif 000006
ここで、xi・wは、ベクトルxiと、ベクトルwの内積である。このとき、ロジスティック回帰のような確率モデルでの推定においては、最尤推定という方法がよく使われる。これは、訓練データの正解クラスを、最も高い値で出力するモデルのパラメータが、最良のパラメータである、という考えに基づいている。これを表現したのが、交差エントロピー誤差関数であり、すなわち、交差エントロピー誤差関数の最小化が、最尤推定ということになる。
【００５４】
交差エントロピー誤差関数の勾配∇E(w)は、次のようになる。
【数５】
2010061323.tif 000007
ここで、使用する関数F(xi,w)及びラベルyiとして使用する値によって、多少係数などが異なることがあることに留意されたい。
【００５５】
このような∇E(w)を用いて、w(new) = w(old) - η∇E(w(old))という式によってwを更新する。ここで、例えばη=0.001のように選ばれるが、この値は、xのスケールにも依存するので、場合によって変わり得る。また、ループを回すにつれて、ηを次第に小さくする方法もある。肩の(new)、(old)は、w(old)がw(new)に置き換わることを示すために、説明の便宜上付けたものである。
【００５６】
こうして、ステップ５０４とステップ５０６を繰り返してwを更新していくと、wの前回の値からの変化量が、所定の閾値以下になる。そのことをステップ５０６で判定して、終了条件とすることができる。
【００５７】
あるいは、予め、ステップ５０４とステップ５０６のループの回数を決めておいて、その回数を以って終了条件とすることもできる。
【００５８】
ここのwの値の更新方法として、上記以外に、ηをヘッセ行列の逆行列に置き換えたニュートン・ラフソン法(C. M. Bishopの著書の4.3.3節参照)、あるいは共役勾配法などを使用することもできる。共役勾配法については、例えば、「これなら分かる最適化数学」金谷健一著、共立出版、２００５年９月２５日刊の３．３節に記載されている。
【００５９】
こうしてステップ５０６で終了条件が満たされると、ステップ５０８でパラメータwが確定される。もしこれがi番目の作業者のパラメータであるなら、これは、図４のステップ４０４ｄで、w(i)が計算されたことになる。
【００６０】
なお、上述のような交差エントロピー誤差関数ではなく、下記のような二乗誤差の式を最小に近づけるようにwを更新する方法も採用することができる。
【数６】
2010061323.tif 000008
ここで、P(yiが全力作業ラベル)は、yiが全力作業ラベル、すなわち+1のとき1を返し、yiが手抜き作業ラベル、すなわち-1のとき0を返すものとする。この式においても、この二乗誤差の式を最小に近づけるようなwを求めるために、ニュートン・ラフソン法などを適用することができる。
【００６１】
上記の例は、ロジスティック回帰によるものであるが、フィッシャー識別(C. M. Bishopの著書の4.1.4節参照)、パーセプトロン(C. M. Bishopの著書の4.1.7節参照)、サポートペクトルマシン(C. M. Bishopの著書の7.1.4節参照)なども、使うことができる。
【００６２】
図６は、本発明の第２の実施例に従って、評価モデルを生成する処理のフローチャートである。図５のフローチャートもまた、コンピュータにより自動的に実行されることを理解されたい。
【００６３】
ステップ６０２では、変数iに1が代入される。この変数iは、i番目の作業者のデータを指定するために使用される。
【００６４】
ステップ６０４は、i番目の作業者のデータに基づき、「正例」と「負例」のデータを作成して保存するための処理をあらわす。ステップ６０４において、ハードディスク・ドライブ１０８から読み出したi番目の作業者の全力作業データ群６０４ａと、i番目の作業者の手抜き作業データ群６０４ｂに基づき、ステップ６０４ｃでは、全力作業データ群６０４ａの各データと、手抜き作業データ群６０４ｂの各データから、「正例」のデータと、「負例」のデータがそれぞれ作られる。
【００６５】
より具体的には、i番目の作業者のjH番目の全力作業データをx(i,jH)とし、i番目の作業者のjL番目の手抜き作業データをx(i,jL)とする。そこで、x(i,jH) - x(i,jL)を計算し、その結果のデータのラベルを「正例」とする。同様に、x(i,jL) - x(i,jH)を計算し、その結果のデータのラベルを「負例」とする。
【００６６】
このようなjH及びjLは、可能な全ての場合に亙って選ばれることに留意されたい。すなわち、i番目の作業者の全力作業データの数をNH(i)とし、i番目の作業者の手抜き作業データの数をNL(i)とすると、x(i,jH) - x(i,jL)と計算され「正例」のラベルを付与されたデータも、x(i,jL) - x(i,jH)と計算され「正例」のラベルを付与されたデータも、各々、NH(i)×NL(i)個あることになる。
【００６７】
こうして計算された2×NH(i)×NL(i)個のラベル付きのデータが、ステップ６０４ｄで、i番目の作業者のデータとして、好適には、ハードディスク・ドライブ１０８に保存される。なお、2×NH(i)×NL(i)個がデータの個数として多すぎると判断される場合は、精度を許容範囲に維持するように、適当にデータを間引きしてもよい。また、作業者毎のデータ数が著しく異なるときは、同じ数ずつサンプリングするなどの方法も考えられる。
【００６８】
ここで、全力作業と手抜き作業を示すラベルには、任意の記号または数字を使用することができるが、この実施例では、全力作業のラベルとして+1を使い、手抜き作業のラベルとして-1を使うものとする。
【００６９】
ステップ６０６では、iが1だけ増分され、ステップ６０８では、i > Mかどうかが判断される。i > Mでなければ、まだＭ人の作業者すべてのデータについて計算し尽くしていないので、ステップ６０４に戻る。
【００７０】
ステップ６０８でi > Mと判断されると、Ｍ人の作業者すべてのデータについて計算し尽くされたことを意味するので、ステップ６１０では、Ｍ人の作業者すべてのデータに、線形識別モデルの学習アルゴリズムが適用される。この線形識別モデルの学習アルゴリズムは、図５に関連して説明した処理を用いてよいので、これ以上の説明は、省略する。
【００７１】
ここまでのステップが、モデル作成フェーズである。こうして、平均されたパラメータwがステップ６１２で保存されると、新しい作業データに対して、評価値を予測可能となる。ステップ６１４で新しい作業者の作業データxが入力されると、ステップ６１６で、この作業データxに、ステップ６１６でモデルが適用され、その結果の予測値がステップ６１８で得られ、これによって、新しい作業者の作業データxに基づき、その作業がどれくらい真剣であったかが、予測される。前述のように、新しい作業者の作業データxは、図３に示す、作業者の全力作業データ群または手抜き作業データ群の個々のデータと同じ次元のベクトルである。
【００７２】
ここで、ステップ６１６では例えば、作業データxとwとの内積によって、真剣度あるいは全力度の予測値あるいは評価値が計算される。あるいは、このようにして求めた内積を引数として評価値を与える適当な関数を用いることができる。
【００７３】
第２の実施例について補足すると、i番目の作業者の全力作業データの添え字の集合をH(i)、i番目の作業者の手抜き作業データの添え字の集合をL(i)として、
jH ∈ H(i)、jL ∈ L(i)として、f(x)をxの評価値を出力する関数とすると、下記のような単調増加である損失関数loss()を定義する。
【数７】
2010061323.tif 000009
【００７４】
【数８】
2010061323.tif 000010
は、i番目の作業者の添え字jLをもつ手抜き作業データ、
【数９】
2010061323.tif 000011
は、i番目の作業者の添え字jHをもつ全力作業データである。
【００７５】
【数１０】
2010061323.tif 000012
であれば、評価が高いはずのデータと低いはずのデータに対する評価値予測が逆転していることになる。
【００７６】
一方、
【数１１】
2010061323.tif 000013
であれば、順序が正しく予測できていることになる。従って、与えられたデータに対して、
【数１２】
2010061323.tif 000014
を最小化または、近似的に最小化するようなパラメータwを求めればよい。
【００７７】
自明な解や、データへの過適合を防ぐために、|w| = 1などの制約を加えたり、損失関数J(w)に、wの2ノルム
【数１３】
2010061323.tif 000015
または1ノルム
【数１４】
2010061323.tif 000016
を加え、
【数１５】
2010061323.tif 000017
のようにしてもよい。ここで、xdはwの成分であり、σは0以上の定数である。
【００７８】
損失関数を適切にデザインすると、最適化問題が決まるため、後はこれを適当な最適化ソルバーを用いて解けば、最適または準最適なパラメータが求まるが、既存の学習アルゴリズムに帰着することができることもある。
【００７９】
例えば、
【数１６】
2010061323.tif 000018
のように、引数が真であるなら1、そうでなければ0を返す関数δを用いて、「正例」データよりも、「負例」データの方により高い評価値を与えてしまう回数のように定義することができる。これは、パーセプトロン・アルゴリズムなどを用いて、近似的に最適化できる。このとき、入力する事例は、
【数１７】
2010061323.tif 000019
を正例として、
【数１８】
2010061323.tif 000020
を負例として用いる。
【００８０】
あるいは、
【数１９】
2010061323.tif 000021
または、
【数２０】
2010061323.tif 000022
などのように定義される。これは、「正例」データよりも、「負例」データの方を、1以上の差で、高い評価値と予測してしまうことに、その差に応じて、差の１乗または２乗のペナルティを与えることになる。
【００８１】
このとき、目的関数に、前述した2ノルムの項を加えると、対応する最適化問題は、
【数２１】
2010061323.tif 000023
を正例として、
【数２２】
2010061323.tif 000024
を負例としたときのサポートベクトルマシンと等価になるため、既存のサポートベクトルマシンのソルバーを用いて解くことができる。
【００８２】
第２の実施例は、このような考察に基づきなされたものであるが、一人の作業者の全力操作のデータと手抜きデータの全ての組み合わせの差をとることから、このままだと問題のサイズが、もともとのデータの個数の２乗のオーダーになってしまう。これが処理時間的に大きくなりすぎる場合は、差をとるため組み合わせをとるとき、全力操作のデータと、手抜き操作のデータを適当に間引いてもよい。
【００８３】
なお、上記実施例では、作業者の全力作業データと、手抜き作業データとして、データを記録したが、これは一例であって、これに限らず、作業の動作態様の異なる二種類のデータとして記録したデータを、線形識別モデルのための学習データとして使用することができる。例えば、作業者が、あるコンピュータ・ゲームを操作するとして、攻撃に主体をおいた操作でのデータを記録し、一方で、防御に主体をおいた操作でのデータを記録し、これらに線形識別モデルを適用してもよい。この結果、任意のゲームの操作記録データに対して、どの程度の攻撃度かを予測することができる。
【００８４】
このとき重要なのは、作業の動作態様の差異が、作業者のメンタル・プロセス内に留まらず、手や足などの物理的動き、または測定可能な生理作用として、センサにより検出可能で電気信号として変換可能な動作の差としてあらわれるかどうかである。従って、作業の動作態様の差異が、信号的特徴の差異として検出可能なら、脳波、脈動、心拍などのデータを使用することもできる。
【図面の簡単な説明】
【００８５】
【図１】本発明を実施するためのハードウェア構成のブロック図である。
【図２】データ記録プログラムの画面の例を示す図である。
【図３】各作業者毎に保存された全力作業データと手抜き作業データと、それらを使った評価関数の適用を示すブロック図である。
【図４】第１の実施例のモデル作成及び適用処理のフローチャートである。
【図５】本発明に適用される、線形識別モデルの処理のフローチャートである。
【図６】第２の実施例のモデル作成及び適用処理のフローチャートである。
【符号の説明】
【００８６】
３０２ａ１、・・・３０２ｍ１    全力作業データ
３０２ａ２、・・・３０２ｍ２    手抜き作業データ
３０４                          評価関数
【図１】
2010061323.tif 000025
【図２】
2010061323.tif 000026
【図３】
2010061323.tif 000027
【図４】
2010061323.tif 000028
【図５】
2010061323.tif 000029
【図６】
2010061323.tif 000030