説明

作業評価値予測方法、プログラム及びシステム

【課題】 作業者の作業評価値を予測するための技法を提供する。
【解決手段】 複数の作業者による、複数回の全力作業と手抜き作業のラベル付きデータがコンピュータのハードディスクに保存された段階で、i = 1, ,,,. M (Mは、作業者の数)につき、作業者iの全力作業と手抜き作業のラベル付きデータに対して、線形識別モデルに基づく機械学習が適用される。このようにして、結果的に、試行した各作業者毎のパラメータw(1),w(2),...,w(M)が得られると、それらの合計をMで割ることによって、平均のwが得られる。あるいは、各作業者毎の試行回数で重みをつけた、重み付き平均wをとってもよい。こうして総合した結果のパラメータwが得られると、評価関数にこのwを適用する。すると、例えば、新たな作業者の作業データxと、wとの内積をとることによって、xの評価値が得られる。

【発明の詳細な説明】
【技術分野】
【0001】
この発明は、作業、行動、または振る舞いなどを記録したデータから、その作業、行動または振る舞いのレベルまたは評価値などを予測または評価するためのシステム、方法及びプログラムに関するものである。
【背景技術】
【0002】
人間の作業には、製造ラインでの作業、医師による手術、パイロットによる操縦、スキーの滑降、ゴルフでのショットなどさまざまなものがある。そういう物理的な道具を使うもの以外にも、コンピュータ・ゲームで、迫ってくる対象物を打ち落とす操作のようなものもある。
【0003】
このような作業において、作業を記録したデータに基づき、例えば、その作業をした人の能力を推定したい、という要望がある。このような評価を行おうとすると、一つの考えられる方法は、熟練した人の作業を記録したデータと、未熟練の人の作業を記録したデータを保存しておき、ある被験者に作業をしてもらって記録したデータに、それらを比較することである。
【0004】
しかし、予め記録された熟練した人の作業データも、未熟練の人の作業データも、それらの作業者の癖や傾向を含むため、別人の作業の比較に使っても、必ずしも適切な評価値が得られるとは限らない。このため、各作業者の評価値差を考慮に入れて平均化した、より客観的な評価値スコアを与えることができる技法が要望されている。
【0005】
特開平7−164267公報は、高精度な組立作業時間の予測を行い、かつこの予測値の計算を迅速に行うために、指定された組立作業時間予測製品に対して、実績データ格納手段に格納されている実績データの中から類似の実績データを複数選択し、その得られた実績データのうち、類似製品の部品の種類を説明変数とすると共に組立作業時間を目的変数として重回帰分析を行うことにより、組立作業時間予測モデルを作製し、作製された組立作業時間予測モデルの有効性を統計的に判定することを開示する。
【0006】
特開平7−253966公報は、各装置から得られる特性値(収量、反応量など)に影響を与える要因(温度、触媒量、引っ張り強度、圧力など)の交互作用項を検知するために、特性値と特性値を得たときの条件(要因等)を入力し、モデル式選択手段で、回帰モデルの最適モデル式選択の手法を用いて、回帰モデル変数選択規準にもとずき交互作用項を含めた最適な回帰モデル式を求め、モデル式利用手段では、求めた最適なモデル式を使って推定値及び推定誤差を計算することを開示する。
【0007】
特開平9−6838号公報は、営業活動の最適な標準化を図り、営業生産性を革新的に向上させることができるようにするためのシステムに関し、データ入力部より入力されるデータを用いて、顧客の立場を考慮した客観評価基準と自己の立場を考慮した取引評価基準との2つの評価基準の下に種々の顧客を評価し、その評価結果の高低に応じて種々の顧客を分類する顧客評価・分類部と、顧客評価・分類部による評価・分類の結果を参照して顧客別の訪問回数の目標値を設定する目標値設定部とを設け、自己の立場を考慮した取引評価だけでなく、顧客の立場を考慮した客観評価をも行い、その評価結果に基づいて顧客を分類するようにすることにより、顧客の評価をより正確に行って取引拡大すべき顧客を明確にすることができるようにし、営業活動における無駄を省いて営業訪問力を種々の顧客に適正に配分することができるようにすることを開示する。
【0008】
特開2000−339336号公報は、過去のユーザの作品に対する評価を用いて、芸術作品に対する分類自体の評価を推定し、また、他のユーザの評価に対する類似度を推定してユーザモデルを構成することにより、ユーザに適合的な芸術作品の候補を選定し、さらに選定結果に対するユーザの評価を用いて、ユーザモデルを再構築することを開示する。
【0009】
【特許文献1】特開平7−164267公報
【特許文献2】特開平7−253966公報
【特許文献3】特開平9−6838号公報
【特許文献4】特開2000−339336号公報
【発明の開示】
【発明が解決しようとする課題】
【0010】
しかし、上記どの従来技術も、各作業者の評価値差を統合し平均化した、より客観的な評価値スコアを与える技法については、示唆するものではない。
【0011】
従って、この発明の目的は、複数の作業者の作業の評価値に基づき、作業者間の癖や傾向を吸収して、より客観的な評価を与えるモデルを作成する技法、及びそのモデルを実装したシステムを提供することにある。
【課題を解決するための手段】
【0012】
本発明によれば、事前準備ステップとして、複数の作業者に、複数回の全力での作業の試行と、複数回の手抜きでの作業の試行が依頼され、その各々が記録される。ここで言う作業とは例えば、工場のラインでの組み立て作業であり、記録は、作業者の腕、手の甲、指などに取り付けられたセンサからの電気信号を、コンピュータのハードディスクに順次保存することによって行われる。記録は、例えば、5秒間、あるクロック間隔で位置座標を記録することによって行われ、従って、記録された各データは、各成分が位置座標であるようなベクトルである。この際、ベクトルの次元は、各記録データで同一になるようになされる。その記録の際に、全力での作業として行われたデータの記録は、全力であることを示すラベルを付与してハードディスクに保存され、手抜きの作業として行われたデータの記録は、手抜きであることを示すラベルを付与してハードディスクに保存される。例えば、全力であることを示すラベルを+1、手抜きであることを示すラベルを-1とする。
【0013】
このとき、各作業者における、全力での作業の試行の回数と、手抜きでの作業の試行は、ほぼ同数であることが望ましいが、異なっていてもよい。また、各作業者毎の全力と手抜きを合わせた試行回数は、ほぼ同数であることが望ましいが、異なっていてもよい。
【0014】
こうして、複数の作業者による、複数回の全力作業と手抜き作業のラベル付きデータがコンピュータのハードディスクに保存された段階で、本発明の第1の実施例によれば、i = 1, ,,,. M (Mは、作業者の数)につき、作業者iの全力作業と手抜き作業のラベル付きデータに対して、線形識別モデルに基づく機械学習が適用される。好ましい1つの線形識別モデルは、これには限定されないが、ロジスティック回帰である。この機械学習の結果、作業者iに対してパラメータw(i)が決定される。なお、w(i)は、記録データと同じ次元のベクトルである。
【0015】
このようにして、結果的に、試行した各作業者毎のパラメータw(1),w(2),...,w(M)が得られると、それらの合計をMで割ることによって、平均のwが得られる。あるいは、各作業者毎の試行回数で重みをつけた、重み付き平均wをとってもよい。
【0016】
こうして総合した結果のパラメータwが得られると、好適には、新たな作業者の作業データxと、wの内積を取ることによって、xの評価値を得る。
【0017】
本発明の第2の実施例によれば、複数の作業者による、複数回の全力作業と手抜き作業のラベル付きデータがコンピュータのハードディスクに保存された段階で、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)を計算し、それを改めて、手抜き作業ラベルをもつデータとして記録する。
【0018】
そのようなラベル付けされたデータの全てがコンピュータのハードディスクに保存されると、これに対して、線形識別モデルに基づく機械学習が適用される。後は、上記第1の実施例の場合と同様である。
【発明の効果】
【0019】
以上のように、この発明によれば、複数の作業者による、複数回の全力作業と手抜き作業のラベル付きデータの傾向を平準化した好適な評価パラメータが得られるので、新たな作業データに対して、より適切な評価値が提供される。
【発明を実施するための最良の形態】
【0020】
以下、図面に従って、本発明の実施例を説明する。これらの実施例は、本発明の好適な態様を説明するためのものであり、発明の範囲をここで示すものに限定する意図はないことを理解されたい。また、以下の図を通して、特に断わらない限り、同一符号は、同一の対象を指すものとする。
【0021】
図1を参照すると、本発明の一実施例に係るシステム構成及び処理を実現するためのコンピュータ・ハードウェアのブロック図が示されている。図1において、システム・バス102には、CPU104と、主記憶(RAM)106と、ハードディスク・ドライブ(HDD)108と、キーボード110と、マウス112と、ディスプレイ114が接続されている。CPU104は、好適には、32ビットまたは64ビットのアーキテクチャに基づくものであり、例えば、インテル社のPentium(商標)4、インテル社のCore(商標) 2 DUO、AMD社のAthlon(商標)などを使用することができる。主記憶104は、好適には、512KB以上の容量、より好ましくは、1GB以上の容量をもつものである。
【0022】
ハードディスク・ドライブ108には、個々に図示しないが、オペレーティング・システム及び本発明に係る処理プログラムなどが、予め格納されている。オペレーティング・システムは、Linux(商標)、マイクロソフト社のWindows Vista、Windows XP(商標)、Windows(商標)2000、アップルコンピュータのMac OS(商標)などの、CPU104に適合する任意のものでよい。
【0023】
キーボード110及びマウス112は、オペレーティング・システムが提供するグラフィック・ユーザ・インターフェースに従い、ディスプレイ114に表示されたアイコン、タスクバー、ウインドウなどのグラフィック・オブジェクトを操作するために使用される。キーボード110及びマウス112はまた、後述するデータは記録用プログラムを操作するためにも使用される。
【0024】
ディスプレイ114は、これには限定されないが、好適には、1024×768以上の解像度をもち、32ビットtrue colorのLCDモニタである。ディスプレイ114は、作業者による全力及び手抜きのデータ記録用のプログラム、評価結果の数値などを表示するために使用される。
【0025】
ハードディスク・ドライブ108にはさらに、データ記録用プログラム、及び本発明に関する記録データ処理プログラムが格納されている。このプログラムは、C++、C#、Java(商標)、Perl、Rubyなどの既存の任意のプログラム言語で書くことができる。オペレーティング・システムとして、Windows Vista、Windows XP(商標)、Windows(商標)2000などを使用する場合には、Win32 APIの機能を利用して、GUIも含むアプリケーション・プログラムとして実装することができる。しかし、本発明に関するデータ処理プログラムは、CUIとしても実装することが可能である。
【0026】
バス102にはさらに、USBインターフェース116を介して、作業者の作業データを記録するためのセンサ118が接続される。センサ118は、作業者の手の甲などに取り付けられて、その動き、加速度などを検出するものであって、例えば、これらに限定されないが、特開2000−132305号公報、特開2001−125728号公報、及び特開2004−157850号公報などに記載されているようなものである。
【0027】
データ記録用プログラムは、このようなセンサ118と協働して動作し、例えば、0.1秒間隔で5秒間、作業者の動きを検出して、ハードディスク・ドライブ108に記録する。
【0028】
図2は、ディスプレイ114に表示される、データ記録用プログラムのウインドウ200を示す図である。このようなGUIは、オペレーティング・システムが Windows Vista、Windows XP(商標)、Windows(商標)2000である場合、Win32 APIの所定の関数を呼び出すことによって実現される。その他のオペレーティング・システムにも、一般的に、同等の機能が用意されている。ウインドウ200には、作業者のIDを入れるフィールド202と、全力作業か手抜き作業かを区別するラジオ・ボタン204と、記録データ数を示すフィールド206と、記録開始のためのボタン208と、記録終了のためのボタン210をもつ。オペレータは、先ず、フィールド202の欄に、作業者のIDを入れる。次に、オペレータは、作業者の手の甲などに、センサ118を取り付ける。そうして、全力作業であることを示すラジオ・ボタン204aをクリックしておいてから、作業者に、全力で作業して下さい、と依頼して、ボタン208をクリックすることにより、複数個のデータを記録する。データは、その作業の5秒間を1データとして、ある一定間隔で、自動的にデータは記録され、その度に、フィールド206の数字は1つずつ増分される。これは、作業の種類にもよるが、20個乃至30個程度で十分である。所望の個数のデータが記録されたら、オペレータは、ボタン210をクリックして、記録を終了する。これにより、全力ラベルをもつデータが、ハードディスク・ドライブ108に記録される。
【0029】
次に、オペレータは、手抜き作業であることを示すラジオ・ボタン204bをクリックしておいてから、作業者に、手抜きで作業して下さい、と依頼して、ボタン208をクリックすることにより、複数個のデータを記録する。データは、その作業の5秒間を1データとして、ある一定間隔で、自動的にデータは記録され、その度に、フィールド206の数字は1つずつ増分される。これも、20個乃至30個程度で十分である。所望の個数のデータが記録されたら、オペレータは、ボタン210をクリックして、記録を終了する。これにより、手抜きラベルをもつデータが、ハードディスク・ドライブ108に記録される。尚、ここでいう「手抜き」であるが、例えば、作業者が、全力の3割乃至2割5分程度と自分の主観で感じる程度でよい。
【0030】
こうして一人の作業者のデータの記録が終わると、次の作業者に交代してもらって、少なくとも5〜6人のデータの記録を行う。
【0031】
このとき、記録データは、上記したように、複数の数値が並んだベクトルとして記録されているが、その次元は、後での計算のために、どのデータも同一である必要があることに留意されたい。但し、データ記録用プログラムが次元数を決めてそこで記録を打ち切るので、オペレータは、その点は留意する必要がない。
【0032】
尚、このようなデータ記録プログラムとセンサの組み合わせは、本発明の要部ではなく、一実施例に過ぎないことを理解されたい。例えば、RFIDなどを使って遠隔的にデータを記録してもよい。あるいは、GPSセンサを使うことで、作業者の行動記録をデータとすることもできる。要するに、作業者の異なる努力レベルでラベルした2種類のデータがあればよい。
【0033】
ハードディスク・ドライブ108に記録されるデータの形式であるが、CSV、XMLなど、コンピュータ可読でベクトルを表記可能な任意の形式を用いることができる。
【0034】
また、これらのデータは、図1に示す、データ解析を行うコンピュータと同一のコンピュータで記録する必要はなく、別のコンピュータまたはシステムで記録して、USB接続の外部記憶装置、あるいはネットワーク経由などで、図1に示す、データ解析を行うコンピュータに、データを搬入してもよい。
【0035】
図3は、このようにして記録したデータがハードディスク・ドライブ108に保存されている場合の、本発明の処理を機能的に示すブロック図である。
【0036】
図3において、作業者1、作業者2、・・・作業者M毎に、データ302a、302b・・・302mがハードディスク・ドライブ108に保存されている。その各々データには、全力作業のラベルが付いたデータ群と、手抜き作業のラベルが付いたデータ群とが各々含まれている。例えば、データ302aには、全力作業のラベルが付いたデータ群302a1と、手抜き作業のラベルが付いたデータ群302a2が含まれている。このとき、データ群302a1、及びデータ群302a2はそれぞれ、複数のデータからなるが、データ群302a1と及びデータ群302a2に含まれるデータの個数は、必ずしも等しくなくてよい。このことは、データ302b・・・302mについても、同様である。
【0037】
本発明によれば、このように作業者1、作業者2、・・・作業者M毎に、ハードディスク・ドライブ108に保存されたデータ302a、302b・・・302mを訓練データとして、ハードディスク・ドライブ108に保存されている解析プログラムが、評価関数あるいは評価モデル304を作成する。その際、データ302a、302b・・・302mに含まれているデータ群に付けられた全力作業と、手抜き作業のラベルが使用される。
【0038】
こうして、一旦評価関数304が作成されると、任意の新しい誰かのデータ306に対して、評価関数304が適用されて、評価値308が得られる。
【0039】
図4は、本発明の第1の実施例に従って、評価モデルを生成する処理のフローチャートである。作業者毎の全力作業データと、手抜き作業データの記録は、ある程度オペレータが介在したが、図4のフローチャートの処理は、コンピュータにより自動的に実行されることを理解されたい。
【0040】
ステップ402では、変数iに1が代入される。この変数iは、i番目の作業者のデータを指定するために使用される。
【0041】
ステップ404は、i番目の作業者のデータに基づき、i番目の識別モデルパラメータw(i)を計算する処理をあらわす。ステップ404において、ハードディスク・ドライブ108から読み出したi番目の作業者の全力作業データ群404aと、i番目の作業者の手抜き作業データ群404bに基づき、ステップ404cで、全力作業データ群404aを「正例」、i番目の作業者の手抜き作業データ群404bを「負例」として、線形識別モデルのアルゴリズムを適用する。線形識別モデルについては、例えば、
Pattern Recognition and Machine Learning by Christopher M. Bishop, 2006, Springer Verlag(以下では、C. M. Bishopの著書と称する)の第4章を参照されたい。
【0042】
ここで、全力作業と手抜き作業を示すラベルには、任意の記号または数字を使用することができるが、以下の実施例では、全力作業のラベルとして+1を使い、手抜き作業のラベルとして-1を使うものとする。
【0043】
特に、線形識別モデルの一例である、ロジスティック回帰を用いた処理を、後の図5のフローチャートを使用して説明する。
【0044】
こうして、ステップ404dでは、i番目の作業者についての識別モデルパラメータw(i)が得られ、この値は後の計算のため、主記憶106に一旦保持され、またはハードディスク・ドライブ108に保存される。
【0045】
ステップ406では、iが1だけ増分され、ステップ408では、i > Mかどうかが判断される。i > Mでなければ、まだM人の作業者すべてのデータについて計算し尽くしていないので、ステップ404に戻る。
【0046】
ステップ408でi > Mと判断されると、M人の作業者すべてのデータについて計算し尽くされたことを意味するので、ステップ410では、M人分のパラメータw(1)、w(2)、・・w(M)の重み付き平均wが、下記の式により計算される。ここで、Niは、i番目の作業者のデータに含まれる全力作業と手抜き作業のデータの合計の数である。
ここで、w(1)、w(2)、・・w(M)はベクトルであって、従って、結果のwも同次元のベクトルになることを理解されたい。
【数1】

【0047】
但し、M人の作業者のデータがほぼ等しい数のデータを含むと想定してよい場合は、重みつきでなく下記のように、M人の単純な平均でもよい。
【数2】

【0048】
ここまでのステップが、モデル作成フェーズである。こうして、平均されたパラメータwがステップ412で保存されると、ステップ414で新しい作業者の作業データxが入力されると、ステップ416で、この作業データxに、ステップ416でモデルが適用され、その結果の予測値がステップ418で得られ、これによって、新しい作業者の作業データxに基づき、その作業がどれくらい真剣であったかが、予測される。なお、新しい作業者の作業データxは、図3に示す、作業者の全力作業データ群または手抜き作業データ群の個々のデータと同じ次元のベクトルである。
【0049】
ステップ416では、好適には、新たな作業者の作業データxと、wの内積を取ることによって、xの予測値または評価値を得る。あるいは、このようにして求めた内積を引数として評価値を与える適当な関数を用いることができる。
【0050】
図5は、図4のステップ404で、個々の作業者のパラメータw(i)を計算するための、より詳細なフローチャートである。図5のステップ502では、訓練集合x1、x2、・・・、xnとそのラベルy1、y2、・・・、ynを入力する。ここでいう入力とは、ハードディスク・ドライブ108から、単一の作業者の全力作業データ群または手抜き作業データ群を、図1に示すコンピュータ・システムによる処理のため、主記憶106に読み込むことである。このとき、訓練集合x1、x2、・・・、xnが、単一の作業者の全力作業データ群または手抜き作業データ群の個々のデータである。ラベルy1、y2、・・・、ynは、それぞれx1、x2、・・・、xnに対応するものであって、例えば、ラベルyiは、対応するデータxiが全力作業データである場合は+1、対応するデータxiが手抜き作業データである場合は-1であるとする。ここで全力作業データと手抜き作業データとを区別するためのラベルは、異なる値であれば任意でよいことを理解されたい。
【0051】
なお、ステップ502では、初期パラメータw = 0と置くものとする。wはベクトルなので、w = 0とは、全ての成分が0であることを意味する。
【0052】
ステップ504では、下記の交差エントロピー誤差関数が最小に近づくようにwが更新される。
【数3】

【0053】
1つの実施例では、F(xi,w)は、下記のようなロジスティックシグモイド関数である。
【数4】

ここで、xi・wは、ベクトルxiと、ベクトルwの内積である。このとき、ロジスティック回帰のような確率モデルでの推定においては、最尤推定という方法がよく使われる。これは、訓練データの正解クラスを、最も高い値で出力するモデルのパラメータが、最良のパラメータである、という考えに基づいている。これを表現したのが、交差エントロピー誤差関数であり、すなわち、交差エントロピー誤差関数の最小化が、最尤推定ということになる。
【0054】
交差エントロピー誤差関数の勾配∇E(w)は、次のようになる。
【数5】

ここで、使用する関数F(xi,w)及びラベルyiとして使用する値によって、多少係数などが異なることがあることに留意されたい。
【0055】
このような∇E(w)を用いて、w(new) = w(old) - η∇E(w(old))という式によってwを更新する。ここで、例えばη=0.001のように選ばれるが、この値は、xのスケールにも依存するので、場合によって変わり得る。また、ループを回すにつれて、ηを次第に小さくする方法もある。肩の(new)、(old)は、w(old)がw(new)に置き換わることを示すために、説明の便宜上付けたものである。
【0056】
こうして、ステップ504とステップ506を繰り返してwを更新していくと、wの前回の値からの変化量が、所定の閾値以下になる。そのことをステップ506で判定して、終了条件とすることができる。
【0057】
あるいは、予め、ステップ504とステップ506のループの回数を決めておいて、その回数を以って終了条件とすることもできる。
【0058】
ここのwの値の更新方法として、上記以外に、ηをヘッセ行列の逆行列に置き換えたニュートン・ラフソン法(C. M. Bishopの著書の4.3.3節参照)、あるいは共役勾配法などを使用することもできる。共役勾配法については、例えば、「これなら分かる最適化数学」金谷健一著、共立出版、2005年9月25日刊の3.3節に記載されている。
【0059】
こうしてステップ506で終了条件が満たされると、ステップ508でパラメータwが確定される。もしこれがi番目の作業者のパラメータであるなら、これは、図4のステップ404dで、w(i)が計算されたことになる。
【0060】
なお、上述のような交差エントロピー誤差関数ではなく、下記のような二乗誤差の式を最小に近づけるようにwを更新する方法も採用することができる。
【数6】

ここで、P(yiが全力作業ラベル)は、yiが全力作業ラベル、すなわち+1のとき1を返し、yiが手抜き作業ラベル、すなわち-1のとき0を返すものとする。この式においても、この二乗誤差の式を最小に近づけるようなwを求めるために、ニュートン・ラフソン法などを適用することができる。
【0061】
上記の例は、ロジスティック回帰によるものであるが、フィッシャー識別(C. M. Bishopの著書の4.1.4節参照)、パーセプトロン(C. M. Bishopの著書の4.1.7節参照)、サポートペクトルマシン(C. M. Bishopの著書の7.1.4節参照)なども、使うことができる。
【0062】
図6は、本発明の第2の実施例に従って、評価モデルを生成する処理のフローチャートである。図5のフローチャートもまた、コンピュータにより自動的に実行されることを理解されたい。
【0063】
ステップ602では、変数iに1が代入される。この変数iは、i番目の作業者のデータを指定するために使用される。
【0064】
ステップ604は、i番目の作業者のデータに基づき、「正例」と「負例」のデータを作成して保存するための処理をあらわす。ステップ604において、ハードディスク・ドライブ108から読み出したi番目の作業者の全力作業データ群604aと、i番目の作業者の手抜き作業データ群604bに基づき、ステップ604cでは、全力作業データ群604aの各データと、手抜き作業データ群604bの各データから、「正例」のデータと、「負例」のデータがそれぞれ作られる。
【0065】
より具体的には、i番目の作業者のjH番目の全力作業データをx(i,jH)とし、i番目の作業者のjL番目の手抜き作業データをx(i,jL)とする。そこで、x(i,jH) - x(i,jL)を計算し、その結果のデータのラベルを「正例」とする。同様に、x(i,jL) - x(i,jH)を計算し、その結果のデータのラベルを「負例」とする。
【0066】
このようなjH及びjLは、可能な全ての場合に亙って選ばれることに留意されたい。すなわち、i番目の作業者の全力作業データの数をNH(i)とし、i番目の作業者の手抜き作業データの数をNL(i)とすると、x(i,jH) - x(i,jL)と計算され「正例」のラベルを付与されたデータも、x(i,jL) - x(i,jH)と計算され「正例」のラベルを付与されたデータも、各々、NH(i)×NL(i)個あることになる。
【0067】
こうして計算された2×NH(i)×NL(i)個のラベル付きのデータが、ステップ604dで、i番目の作業者のデータとして、好適には、ハードディスク・ドライブ108に保存される。なお、2×NH(i)×NL(i)個がデータの個数として多すぎると判断される場合は、精度を許容範囲に維持するように、適当にデータを間引きしてもよい。また、作業者毎のデータ数が著しく異なるときは、同じ数ずつサンプリングするなどの方法も考えられる。
【0068】
ここで、全力作業と手抜き作業を示すラベルには、任意の記号または数字を使用することができるが、この実施例では、全力作業のラベルとして+1を使い、手抜き作業のラベルとして-1を使うものとする。
【0069】
ステップ606では、iが1だけ増分され、ステップ608では、i > Mかどうかが判断される。i > Mでなければ、まだM人の作業者すべてのデータについて計算し尽くしていないので、ステップ604に戻る。
【0070】
ステップ608でi > Mと判断されると、M人の作業者すべてのデータについて計算し尽くされたことを意味するので、ステップ610では、M人の作業者すべてのデータに、線形識別モデルの学習アルゴリズムが適用される。この線形識別モデルの学習アルゴリズムは、図5に関連して説明した処理を用いてよいので、これ以上の説明は、省略する。
【0071】
ここまでのステップが、モデル作成フェーズである。こうして、平均されたパラメータwがステップ612で保存されると、新しい作業データに対して、評価値を予測可能となる。ステップ614で新しい作業者の作業データxが入力されると、ステップ616で、この作業データxに、ステップ616でモデルが適用され、その結果の予測値がステップ618で得られ、これによって、新しい作業者の作業データxに基づき、その作業がどれくらい真剣であったかが、予測される。前述のように、新しい作業者の作業データxは、図3に示す、作業者の全力作業データ群または手抜き作業データ群の個々のデータと同じ次元のベクトルである。
【0072】
ここで、ステップ616では例えば、作業データxとwとの内積によって、真剣度あるいは全力度の予測値あるいは評価値が計算される。あるいは、このようにして求めた内積を引数として評価値を与える適当な関数を用いることができる。
【0073】
第2の実施例について補足すると、i番目の作業者の全力作業データの添え字の集合をH(i)、i番目の作業者の手抜き作業データの添え字の集合をL(i)として、
jH ∈ H(i)、jL ∈ L(i)として、f(x)をxの評価値を出力する関数とすると、下記のような単調増加である損失関数loss()を定義する。
【数7】

【0074】
【数8】

は、i番目の作業者の添え字jLをもつ手抜き作業データ、
【数9】

は、i番目の作業者の添え字jHをもつ全力作業データである。
【0075】
【数10】

であれば、評価が高いはずのデータと低いはずのデータに対する評価値予測が逆転していることになる。
【0076】
一方、
【数11】

であれば、順序が正しく予測できていることになる。従って、与えられたデータに対して、
【数12】

を最小化または、近似的に最小化するようなパラメータwを求めればよい。
【0077】
自明な解や、データへの過適合を防ぐために、|w| = 1などの制約を加えたり、損失関数J(w)に、wの2ノルム
【数13】

または1ノルム
【数14】

を加え、
【数15】

のようにしてもよい。ここで、xdはwの成分であり、σは0以上の定数である。
【0078】
損失関数を適切にデザインすると、最適化問題が決まるため、後はこれを適当な最適化ソルバーを用いて解けば、最適または準最適なパラメータが求まるが、既存の学習アルゴリズムに帰着することができることもある。
【0079】
例えば、
【数16】

のように、引数が真であるなら1、そうでなければ0を返す関数δを用いて、「正例」データよりも、「負例」データの方により高い評価値を与えてしまう回数のように定義することができる。これは、パーセプトロン・アルゴリズムなどを用いて、近似的に最適化できる。このとき、入力する事例は、
【数17】

を正例として、
【数18】

を負例として用いる。
【0080】
あるいは、
【数19】

または、
【数20】

などのように定義される。これは、「正例」データよりも、「負例」データの方を、1以上の差で、高い評価値と予測してしまうことに、その差に応じて、差の1乗または2乗のペナルティを与えることになる。
【0081】
このとき、目的関数に、前述した2ノルムの項を加えると、対応する最適化問題は、
【数21】

を正例として、
【数22】

を負例としたときのサポートベクトルマシンと等価になるため、既存のサポートベクトルマシンのソルバーを用いて解くことができる。
【0082】
第2の実施例は、このような考察に基づきなされたものであるが、一人の作業者の全力操作のデータと手抜きデータの全ての組み合わせの差をとることから、このままだと問題のサイズが、もともとのデータの個数の2乗のオーダーになってしまう。これが処理時間的に大きくなりすぎる場合は、差をとるため組み合わせをとるとき、全力操作のデータと、手抜き操作のデータを適当に間引いてもよい。
【0083】
なお、上記実施例では、作業者の全力作業データと、手抜き作業データとして、データを記録したが、これは一例であって、これに限らず、作業の動作態様の異なる二種類のデータとして記録したデータを、線形識別モデルのための学習データとして使用することができる。例えば、作業者が、あるコンピュータ・ゲームを操作するとして、攻撃に主体をおいた操作でのデータを記録し、一方で、防御に主体をおいた操作でのデータを記録し、これらに線形識別モデルを適用してもよい。この結果、任意のゲームの操作記録データに対して、どの程度の攻撃度かを予測することができる。
【0084】
このとき重要なのは、作業の動作態様の差異が、作業者のメンタル・プロセス内に留まらず、手や足などの物理的動き、または測定可能な生理作用として、センサにより検出可能で電気信号として変換可能な動作の差としてあらわれるかどうかである。従って、作業の動作態様の差異が、信号的特徴の差異として検出可能なら、脳波、脈動、心拍などのデータを使用することもできる。
【図面の簡単な説明】
【0085】
【図1】本発明を実施するためのハードウェア構成のブロック図である。
【図2】データ記録プログラムの画面の例を示す図である。
【図3】各作業者毎に保存された全力作業データと手抜き作業データと、それらを使った評価関数の適用を示すブロック図である。
【図4】第1の実施例のモデル作成及び適用処理のフローチャートである。
【図5】本発明に適用される、線形識別モデルの処理のフローチャートである。
【図6】第2の実施例のモデル作成及び適用処理のフローチャートである。
【符号の説明】
【0086】
302a1、・・・302m1 全力作業データ
302a2、・・・302m2 手抜き作業データ
304 評価関数

【特許請求の範囲】
【請求項1】
コンピュータの処理によって、作業者の作業評価値を予測するための識別モデル作成方法であって、
作業者が第1の作業モードで作業したデータを電気信号として記録した複数の第1のデータと、当該作業者が前記第1の作業モードとは異なる第2の作業モードで作業したデータを電気信号として記録した複数の第2のデータを、複数の作業者につき、コンピュータ可読な記憶手段に保存するステップと、
前記コンピュータの処理により、一人の前記作業者の前記第1のデータに第1のラベルを付与し、その同一の作業者の前記第2のデータに第2のラベルを付与することによって、線形識別モデルを適用し、以って該作業者のデータについてのモデルパラメータを計算するステップを、前記複数の作業者のデータに適用することにより、前記コンピュータの処理により、前記複数の作業者のデータ毎の前記モデルパラメータを得るステップと、
前記コンピュータの処理により、前記複数の作業者のデータ毎の前記モデルパラメータを平均することによって、全体のモデルパラメータを得るステップを有する、
識別モデル作成方法。
【請求項2】
前記第1の作業モードが、作業者が全力で作業する全力作業モードであり、前記第2の作業モードが、作業者が手抜きで作業する手抜き作業モードである、請求項1の方法。
【請求項3】
前記線形識別モデルが、ロジスティック回帰を使用するモデルである、請求項1の方法。
【請求項4】
コンピュータの処理によって、作業評価値を予測する方法であって、
新たな作業者の作業データを入力するステップと、
請求項1によって作成された全体のモデルパラメータを、前記入力した作業データに適用することによって、前記入力した作業データの作業評価値を計算するステップを有する、
作業評価値予測方法。
【請求項5】
前記モデルパラメータと前記作業データはベクトルであり、前記評価値は、前記モデルパラメータと、前記作業データの内積によって計算される、請求項4の作業評価値予測方法。
【請求項6】
コンピュータの処理によって、作業者の作業評価値を予測するための識別モデル作成用プログラムであって、
前記コンピュータをして、
作業者が第1の作業モードで作業したデータを電気信号として記録した複数の第1のデータと、当該作業者が前記第1の作業モードとは異なる第2の作業モードで作業したデータを電気信号として記録した複数の第2のデータを、複数の作業者につき、コンピュータ可読な記憶手段に保存するステップと、
前記コンピュータの処理により、一人の前記作業者の前記第1のデータに第1のラベルを付与し、その同一の作業者の前記第2のデータに第2のラベルを付与することによって、線形識別モデルを適用し、以って該作業者のデータについてのモデルパラメータを計算するステップを、前記複数の作業者のデータに適用することにより、前記コンピュータの処理により、前記複数の作業者のデータ毎の前記モデルパラメータを得るステップと、
前記コンピュータの処理により、前記複数の作業者のデータ毎の前記モデルパラメータを平均することによって、全体のモデルパラメータを得るステップを実行させる、
プログラム。
【請求項7】
前記第1の作業モードが、作業者が全力で作業する全力作業モードであり、前記第2の作業モードが、作業者が手抜きで作業する手抜き作業モードである、請求項6のプログラム。
【請求項8】
前記線形識別モデルが、ロジスティック回帰を使用するモデルである、請求項6のプログラム。
【請求項9】
コンピュータの処理によって作業評価値を予測するシステムであって、
新たな作業者の作業データを入力する手段と、
請求項6のプログラムによって作成された全体のモデルパラメータを、前記入力した作業データに適用することによって、前記入力した作業データの作業評価値を計算する手段を有する、
作業評価値予測システム。
【請求項10】
前記モデルパラメータと前記作業データはベクトルであり、前記評価値は、前記モデルパラメータと、前記作業データの内積によって計算される、請求項9の作業評価値予測システム。
【請求項11】
コンピュータの処理によって、作業者の作業評価値を予測するための識別モデル作成方法であって、
作業者が第1の作業モードで作業したデータを電気信号として記録した複数の第1のデータと、当該作業者が前記第1の作業モードとは異なる第2の作業モードで作業したデータを電気信号として記録した複数の第2のデータを、複数の作業者につき、コンピュータ可読な記憶手段に保存するステップと、
前記コンピュータの処理により、一人の前記作業者の前記第1のデータから前記第2のデータを引いたデータに第1のラベルを付与し、その同一の作業者の前記第2のデータから前記第1のデータを引いたデータに第2のラベルを付与して前記コンピュータ可読な記憶手段に保存するラベル付与ステップと、
前記コンピュータの処理により、前記ラベル付与ステップを、全ての作業者のデータに適用するステップと、
前記コンピュータの処理により、前記全ての作業者のデータに、前記ラベル付与ステップが適用された後のデータに線形識別モデルを適用することによって、モデルパラメータを得るステップを有する、
識別モデル作成方法。
【請求項12】
前記第1の作業モードが、作業者が全力で作業する全力作業モードであり、前記第2の作業モードが、作業者が手抜きで作業する手抜き作業モードである、請求項11の方法。
【請求項13】
前記線形識別モデルが、ロジスティック回帰を使用するモデルである、請求項11の方法。
新たな作業者の作業データを入力するステップと、
【請求項14】
コンピュータの処理によって、作業評価値を予測する方法であって、
請求項11によって作成された全体のモデルパラメータを、前記入力した作業データに適用することによって、前記入力した作業データの作業評価値を計算するステップを有する、
作業評価値予測方法。
【請求項15】
前記モデルパラメータと前記作業データはベクトルであり、前記評価値は、前記モデルパラメータと、前記作業データの内積によって計算される、請求項14の作業評価値予測方法。
【請求項16】
コンピュータの処理によって、作業者の作業評価値を予測するための識別モデル作成プログラムであって、
前記コンピュータをして、
作業者が第1の作業モードで作業したデータを電気信号として記録した複数の第1のデータと、当該作業者が前記第1の作業モードとは異なる第2の作業モードで作業したデータを電気信号として記録した複数の第2のデータを、複数の作業者につき、コンピュータ可読な記憶手段に保存するステップと、
前記コンピュータの処理により、一人の前記作業者の前記第1のデータから前記第2のデータを引いたデータに第1のラベルを付与し、その同一の作業者の前記第2のデータから前記第1のデータを引いたデータに第2のラベルを付与して前記コンピュータ可読な記憶手段に保存するラベル付与ステップと、
前記コンピュータの処理により、前記ラベル付与ステップを、全ての作業者のデータに適用するステップと、
前記コンピュータの処理により、前記全ての作業者のデータに、前記ラベル付与ステップが適用された後のデータに線形識別モデルを適用することによって、モデルパラメータを得るステップを実行させる、
識別モデル作成プログラム。
【請求項17】
前記第1の作業モードが、作業者が全力で作業する全力作業モードであり、前記第2の作業モードが、作業者が手抜きで作業する手抜き作業モードである、請求項16のプログラム。
【請求項18】
前記線形識別モデルが、ロジスティック回帰を使用するモデルである、請求項16のプログラム。
【請求項19】
コンピュータの処理によって、作業評価値を予測するシステムであって、
新たな作業者の作業データを入力する手段と、
請求項16のプログラムによって作成されたモデルパラメータを、前記入力した作業データに適用することによって、前記入力した作業データの作業評価値を計算する手段を有する、
作業評価値予測システム。
【請求項20】
前記モデルパラメータと前記作業データはベクトルであり、前記評価値は、前記モデルパラメータと、前記作業データの内積によって計算される、請求項19の作業評価値予測システム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate


【公開番号】特開2010−61323(P2010−61323A)
【公開日】平成22年3月18日(2010.3.18)
【国際特許分類】
【出願番号】特願2008−225425(P2008−225425)
【出願日】平成20年9月3日(2008.9.3)
【出願人】(390009531)インターナショナル・ビジネス・マシーンズ・コーポレーション (4,084)
【氏名又は名称原語表記】INTERNATIONAL BUSINESS MASCHINES CORPORATION