(57)【要約】【課題】幅広い種類のドキュメントにおいて、種々の人為的誤りの可能性を推定し、誤りの発見を支援できる情報処理装置を提供する。【解決手段】操作の記録と、当該操作によって生成される成果物において推定される誤り量との相関を表す相関情報を保持しており、指定された期間の操作の記録に基づいて、指定された期間に生成された注目成果物における誤り量の推定値を演算し、当該演算された誤り量の推定値を出力する情報処理装置である。【選択図】図１
2008112368.tif 000002
【特許請求の範囲】
【請求項１】
利用者の操作を受け入れる操作受入手段と、
前記操作受入手段における操作の記録と、当該操作によって生成される成果物において推定される誤り量との相関を表す相関情報を保持する手段と、
前記操作受入手段における、指定された期間の操作の記録に基づいて、前記指定された期間に生成された注目成果物における誤り量の推定値を演算する手段と、
前記演算された誤り量の推定値を出力する手段と、
を含むことを特徴とする情報処理装置。
【請求項２】
前記演算された誤り量の推定値を、前記注目成果物に関連づけて保持する手段をさらに含み、
当該推定値が、前記注目成果物の評価に供されることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
コンピュータに、
利用者の操作を受け入れる手順と、
受け入れる操作の記録と、当該操作によって生成される成果物において推定される誤り量との相関を表す相関情報を保持する手順と、
指定された期間の操作の記録に基づいて、前記指定された期間に生成された注目成果物における誤り量の推定値を演算する手順と、
前記演算された誤り量の推定値を出力する手順と、
を実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置及びプログラムに関する。
【背景技術】
【０００２】
近年では、コンピュータによって実行されるべきプログラム、伝票や帳票などの文書、その他、種々のドキュメントが情報処理装置を利用して作成されている。これらのドキュメントは、マウス操作やキーボードの操作などを介して行われ、利用者は、操作の誤りによってドキュメントに生じた誤りがあれば、自らそれを見つけ出して修正することが必要になる。入力された情報から文字列の入力誤りを検出する技術としては、例えば特許文献１に開示された技術がある。
【特許文献１】特開２００４−２６５００４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、人為的な誤りの態様は文字列の入力誤りに限られない。また文字列の入力誤りについても、同じ単語が繰り返し現れる長文や辞書に掲載されている単語を利用しているドキュメントであれば、誤りを検出ができる場合もあるが、人名などの短い文字列やプログラムなど辞書に掲載のない単語などを利用するドキュメントにおいて誤りを検出することは困難である。
【０００４】
しかるに、幅広い種類のドキュメントにおいて、様々な人為的誤りの発見を支援する技術が要望されている。
【０００５】
本発明は上記実情に鑑みて為されたもので、幅広い種類のドキュメントにおいて、種々の人為的誤りの可能性を推定し、誤りの発見を支援できる情報処理装置及びプログラムを提供することを、その目的の一つとする。
【課題を解決するための手段】
【０００６】
上記従来例の問題点を解決するための本発明は、情報処理装置であって、利用者の操作を受け入れる操作受入手段と、前記操作受入手段における操作の記録と、当該操作によって生成される成果物において推定される誤り量との相関を表す相関情報を保持する手段と、前記操作受入手段における、指定された期間の操作の記録に基づいて、前記指定された期間に生成された注目成果物における誤り量の推定値を演算する手段と、前記演算された誤り量の推定値を出力する手段と、を含むものである。
【０００７】
ここで前記演算された誤り量の推定値を、前記注目成果物に関連づけて保持する手段をさらに含み、当該推定値が、前記注目成果物の評価に供されることとしてもよい。
【０００８】
また本発明の一態様は、プログラムであって、コンピュータに、利用者の操作を受け入れる手順と、受け入れる操作の記録と、当該操作によって生成される成果物において推定される誤り量との相関を表す相関情報を保持する手順と、指定された期間の操作の記録に基づいて、前記指定された期間に生成された注目成果物における誤り量の推定値を演算する手順と、前記演算された誤り量の推定値を出力する手順と、を実行させることとしたものである。
【発明を実施するための最良の形態】
【０００９】
本発明の実施の形態について図面を参照しながら説明する。本発明の実施の形態に係る情報処理装置は、図１に示すように、制御部１１と、記憶部１２と、操作部１３と、表示部１４とを含んで構成されている。
【００１０】
制御部１１は、ＣＰＵなどのプログラム制御デバイスであり、記憶部１２に格納されているプログラムに従って動作する。本実施の形態の制御部１１は、利用者がドキュメントの作成時に行った操作の記録に基づいて、ドキュメントに含まれる誤りの量を推定する処理を行う。この制御部１１の具体的な処理の内容については、後に詳しく述べる。
【００１１】
記憶部１２は、ＲＡＭ（Ramdom Access Memory）や、ハードディスクなどを含んで構成される。この記憶部１２は、制御部１１によって実行されるプログラムを保持し、また、制御部１１のワークメモリとしても動作する。このプログラムは、ＤＶＤ−ＲＯＭなどのコンピュータ可読な記録媒体に格納されて配布され、この記憶部１２にインストールされたものでもよい。本実施の形態では、この記憶部１２に、予めドキュメントの誤り量の推定に用いる基準情報が格納されている。
【００１２】
ここで基準情報は、例えば、利用者のキー入力速度に対する誤りの発生率を規定する情報を含む。この情報は、実際の利用者、またはサンプルとなった被験者が実際に、一定の速度でキー入力を行った場合の誤りの発生率を測定することによって得られる。一例として、図２に示すように、入力速度が慣用されている速度近傍では、誤りの発生率が低下するが、それに比して入力速度遅くなったり、早くなったりするほど、誤りの発生率が上昇するカーブが実験により得られた場合（一般に操作速度を引数とする関数では類した形状のカーブとなると考えられる）、このカーブに従って、複数の代表速度値に対する誤りの発生率を関連づけたテーブルを、図３に示すように生成し、このテーブルを基準情報として記憶部１２に格納しておく。
【００１３】
また、基準情報は、利用者が操作を行う時間帯ごとの誤り発生率を規定する情報を含んでもよい。この情報もまた、実験により得ることができる。一例として、０時から１時、１時から２時…と、予め定めた時刻ごとに区切った時間帯ごとに、入力された文字列などの誤り率を測定しておく。この時間帯は、深夜など一般に作業が行われない時間帯は幅広に、日中など作業が行われている時間帯は狭めに設定してもよい。つまり、深夜は１時間単位、日中は１５分単位で区切ってもよい。この時間帯ごとの誤り発生率の情報も、また、図４に示すように、時間帯を特定する情報と、各時間帯での誤り発生率とを関連づけたテーブルとして記憶部１２に格納しておけばよい。
【００１４】
このように基準情報は、概念的にはキーの入力速度や、マウス移動速度、操作の行われた時間帯、曜日、その他観測可能な情報Ｘ1，Ｘ2…Ｘnに対し、それぞれに対応する誤りの発生率を表す関数（推定関数）Ｆ1，Ｆ2…Ｆnを関連づけたものである。以下の説明では、観測可能な情報Ｘiが観測されたときに、その観測値に対応する誤りの発生率をＦi（Ｘi）と表記する。
【００１５】
操作部１３は、キーボードや、マウスなどであり、利用者がドキュメントの作成に用いるものである。操作部１３は、利用者が入力したキーや、マウス操作などの内容を制御部１１に出力する。表示部１４は、ディスプレイなどであり、制御部１１から入力される指示に従って、情報を提示する。
【００１６】
本実施の形態の情報処理装置は、制御部１１が記憶部１２に格納されたプログラムを実行することにより、機能的には、図５に示すように、操作記録部２１と、推定関数保持部２２と、推定値演算部２３と、推定値蓄積部２４と、を含む装置として実現される。
【００１７】
操作記録部２１は、利用者が、キー押下やマウス操作など、操作部１３での操作を行うごとに、操作が行われた日時を表わす情報を、図示しない時計部（現在日時を計時する時計部）から取得する。そして操作記録部２１は、行われた操作を特定する情報と、取得した日時の情報と、利用者を特定する情報（予め利用者を認証するなどして得ておくことができる）とを関連づけて、記憶部１２に蓄積する。
【００１８】
ここで行われた操作を特定する情報は、例えば、操作されたデバイスを特定する情報と、行われた操作の内容を表わす情報とを含んでもよい。例えば、利用者がキーボードにて「Ａ」のキーを押下した場合、操作されたデバイスを特定する情報として「キーボード」、操作の内容として「Ａキー押下」が記録される。
【００１９】
推定関数保持部２２は、記録された情報そのもの、または記録された情報から生成可能な情報を引数として、当該引数に関連する誤り率を関数値として規定した、推定関数（相関情報）を少なくとも一つ保持する。ここで関数は、具体的に数式として規定されてもよいし、図３や図４に示したようなテーブルとして規定されてもよい。また、各推定関数は、引数を特定する情報に関連づけて保持されているものとする。
【００２０】
推定値演算部２３は、推定関数保持部２２が保持する情報を参照し、各推定関数の引数を生成する。具体的な処理として、この推定値演算部２３は、演算の対象とする期間として、対象となる成果物（文書データなど）の生成に係る操作の開始の日時と、完了の日時とを表す情報と、対象となる利用者を特定する情報との入力を受けて、操作記録部２１が記録した情報から、対象となる情報を抽出する。そして推定値演算部２３は、抽出した情報に基づいて、各引数を生成することになる。
【００２１】
例えば引数がキーボード平均入力速度である場合は、抽出した情報のうち、操作されたデバイスが「キーボード」で、操作の内容が「キー押下」を含むものを検索する。そして検索により見いだされた情報を、それぞれに関連づけられている日時の情報の順に並べ替える。ここで並べ替えた後の情報に含まれる日時の情報をＴ１，Ｔ２，Ｔ３…，Ｔｎと書くと、推定値演算部２３は、Σ（Ｔｉ＋１−Ｔｉ）（ｉを１からｎー１まで変化させたときの総和）を演算し、この値を（ｎ−１）で除して、キーボードの平均入力速度Ｘkeyin_speedを求める。
【００２２】
また、引数が、マウス操作速度であれば、マウスポインタの移動が行われた操作の記録を検索し、移動距離を、移動時間で除した値を平均して、マウス操作速度Ｘmouse_speedを求めればよい。
【００２３】
さらに引数が操作が行われた時間帯であれば、操作の記録に含まれる日時が属する時間帯を列挙して出力すればよい。
【００２４】
推定値演算部２３は、演算した引数Ｘ1，Ｘ2，…を、それぞれ対応する推定関数の引数として代入する処理を行い、各推定関数Ｆiによる誤り率Ｆ1（Ｘ1），Ｆ2（Ｘ2），…を演算する。さらに、これら各推定関数による誤り率を、重みづけ合成して、誤り率の推定値Ｙ
Ｙ＝Ａ1×Ｆ1（Ｘ1）＋Ａ2×Ｆ2（Ｘ2）＋…
と演算する。ここで重みＡ1，Ａ2，…は、経験的、または実験的に定められてもよいし、現実に発生した誤りに対する、各推定関数（またはその引数）の関係に基づいて、発生頻度との相関値とするなど、動的に更新されてもよい。
【００２５】
なお、引数が時間帯の情報のように列挙される引数であれば、列挙された各引数に対応する誤り率の平均値など所定の統計量が推定値演算部２３にて演算されるようにすればよい。
【００２６】
推定値蓄積部２４は、推定値算出部２３が算出した誤り率の推定値を、演算の対象となった青果物を特定する情報と、対象となる利用者を特定する情報とに関連づけて、記憶部１２に蓄積する。ここで成果物を特定する情報は、例えば成果物がファイルである場合は、当該ファイルの格納場所を表す参照情報（ＵＲＬ：Uniform Resource Locator）などでよい。
【００２７】
なお、推定値演算部２３は、各推定関数による誤り率Ｆ1（Ｘ1），Ｆ2（Ｘ2），…の線形合成値として誤り率の推定値を得ていたが、誤り率の推定値はこれに限らず、例えばＦ1（Ｘ1），Ｆ2（Ｘ2），…のうち最大となるＦi（Ｘi）を誤り率の推定値としてもよいし、これらＦ1（Ｘ1），Ｆ2（Ｘ2），…の平均値を誤り率の推定値としてもよい。このように、Ｆ1（Ｘ1），Ｆ2（Ｘ2），…に基づく統計処理によって誤り率を推定しても構わない。
【００２８】
さらに、本実施の形態では、さらに推定関数の引数Ｘ1，Ｘ2，…の値の平均値や最大値など、統計演算結果を成果物に関連づけて記録してもよい。
【００２９】
本実施の形態の情報処理装置は、これらの構成を備えており、次に述べるような動作を行う。本実施の形態の情報処理装置は、利用者名やパスワードの入力を受け入れるなどして、利用者を認証すると、以下、当該利用者によって操作が行われるごとに、各操作を特定する情報と、利用者を特定する情報と、操作が行われた日時の情報とを関連づけて記録していく。
【００３０】
ここでの操作の記録には、例えば文書データを作成するアプリケーションプログラム（ワードプロセッサなど）において、新規の文書データを生成する操作や、文書データの生成を終了する操作（文書データを保存して終了する指示など）なども含めて記録する。
【００３１】
本実施の形態の情報処理装置は、所定のタイミングで図６に示す処理を開始し、生成された成果物の少なくとも一つを注目成果物として、当該注目成果物に係る操作（文書データであれば、当該文書データの作成開始から作成完了までの操作）の記録を選択的に読み出す（Ｓ１）。そして当該読み出した操作の記録と、予め定められた相関情報としての推定関数とに基づいて操作の誤り率の推定値を演算し（Ｓ２）、対象となった成果物に関連づけて（例えば成果物を特定する情報に関連づけて）当該演算した推定値を記録する（Ｓ３）。
【００３２】
この推定値は、例えば次のように利用できる。一般に、コンピュータによって実行されるプログラムは、複数のソースコードを含んでいる。このため、プログラムにバグ（誤り）があった場合に、どのソースコードの記述が誤っているかを探索することが必要となることもある。この場合に、各ソースコードについて、上述の誤り率の推定値が関連づけられていれば、当該推定値の高い順にソースコードを検証することができ、誤りの発見を支援できる。
【００３３】
また、複数の利用者が作成した文書データなどを、作成した利用者を表す情報とともに、この誤り率の推定値の高い順に一覧表示すれば、一般的に誤り率の推定値が高い利用者を見出すことができ、人的管理にも利用できる。
【００３４】
［推定関数の変形例］
なお、推定関数の引数は、必ずしも操作の記録だけに基づくものではなく、環境情報や、利用者ごとの過去の誤り率などであってもよい。ここで環境情報は、例えば、季節や、曜日、天候などであり、操作の記録に関連づけられている日時情報や、天気のデータベース（日時の情報と天候の情報とを関連づけたデータベースであって、本実施の形態の装置において生成・管理してもよいし、外部（例えば気象庁）のデータベースなどであってもよい）に基づいて得ることができる。
【００３５】
また、ここまでの説明では推定関数は、一般的な知見や、広く知られた人為的誤りの法則などに基づいて予め生成されているものとして説明したが、本実施の形態の情報処理装置の利用者に対して、例えば入力速度を変化させたときのキー入力誤り率などを測定するテストや、入力操作を行う時刻を変化させたときのキー入力誤り率などを測定するテストなどを行わせて、当該テストの結果に基づいて設定してもよい。また、この場合、推定関数は、各利用者ごとに設定されてもよい。各利用者ごとに推定関数を設定した場合、推定値演算部２３は、演算した引数Ｘ1，Ｘ2，…を、対象となっている利用者の推定関数であって、それぞれ対応する推定関数の引数として代入する処理を行い、各推定関数Ｆiによる誤り率Ｆ1（Ｘ1），Ｆ2（Ｘ2），…を演算することとなる。
【００３６】
また、例えば操作経験期間（経験年数など）ごとに予め定型化した推定関数を定めておき、各利用者の操作経験期間などによって、各利用者ごとの推定関数を定めてもよい。
【００３７】
なお、ここまでの説明では、利用者の操作を一旦記録してから各引数を算出することとしたが、操作中に各引数に対応する値Ｘ1，Ｘ2，…を算出し、さらに各推定関数Ｆiによる誤り率Ｆ1（Ｘ1），Ｆ2（Ｘ2），…を演算し、誤り率の推定値Ｙを動的に（操作が行われている間に）算出してもよい。この場合、操作が行われるごとに誤り率の推定値Ｙが変化することとなるが、このＹの変化の平均値など統計処理した値を成果物の誤り率の推定値として記録することとすればよい。
【００３８】
このように本実施の形態では、操作の状況によって、成果物たるドキュメント等に誤りが含まれる可能性を推定するので、例えば幅広い種類のドキュメントにおいて、種々の人為的誤りの可能性を推定し、誤りの発見を支援できる。
【００３９】
さらに、推定関数の引数として、利用者の脈拍などを用いてもよい。この場合、例えば利用者が操作するキーボード（例えばスペースバーの手前側など）やマウスなどの操作部１３に光学式の脈拍センサを設けて、利用者に所定のタイミングで（例えば定期的に繰り返し）脈拍センサに指を置くよう表示部１４にメッセージを表示する。また、マウスボタンや、マウスの側面、キートップ（例えばホームポジションであるqwerty配列における「Ｊ」や「Ｆ」キーの位置のキートップのみでもよい）など、利用者が操作の際に指を触れる場所に脈拍センサを設け、利用者が操作を行う度に脈拍を検出してもよい。
【００４０】
具体的な例として、図７に示すように、赤外線、またはそれに近い波長の光を放射するＬＥＤを点灯させ、その光の指での反射光をフォトダイオードＰＤなどで受けて、オペアンプＯＰなどで増幅した信号を用いると、図８に示すように脈動に応じて変化する電圧信号が得られる。そこで、この図８に示したような電圧信号のピーク間の時間（Ｔｐ）の平均（以下＜Ｔｐ＞と記す）により、例えば
Ｎｐ＝６０／＜Ｔｐ＞
として、脈拍Ｎｐの値を演算する。これに対する推定関数ＦＮｐ（Ｎｐ）は、Ｎｐに対して単調増加する関数としておけばよい。
【００４１】
このようにすると、人間の生体活動の変化をも考慮に入れることができる。
【図面の簡単な説明】
【００４２】
【図１】本発明の実施の形態に係る情報処理装置の構成例を表すブロック図である。
【図２】本発明の実施の形態に係る情報処理装置において設定される操作の記録と誤り率の相関関係を表す情報の一例を表す概略図である。
【図３】本発明の実施の形態に係る情報処理装置において設定される操作の記録と誤り率の相関関係を表す情報の一例を表す説明図である。
【図４】本発明の実施の形態に係る情報処理装置において設定される操作の記録と誤り率の相関関係を表す別の情報の例を表す概略図である。
【図５】本発明の実施の形態に係る情報処理装置の例を表す機能ブロック図である。
【図６】本発明の実施の形態に係る情報処理装置の動作例を表すフローチャート図である。
【図７】本発明の実施の形態に係る情報処理装置に接続される、脈拍センサの一例を表す説明図である。
【図８】本発明の実施の形態に係る情報処理装置に接続される、脈拍センサの出力信号例を表す説明図である。
【符号の説明】
【００４３】
１１  制御部、１２  記憶部、１３  操作部、１４  表示部、２１  操作記録部、２２  推定関数保持部、２３  推定値演算部、２４  推定値蓄積部。
【図１】
2008112368.tif 000003
【図２】
2008112368.tif 000004
【図３】
2008112368.tif 000005
【図４】
2008112368.tif 000006
【図５】
2008112368.tif 000007
【図６】
2008112368.tif 000008
【図７】
2008112368.tif 000009
【図８】
2008112368.tif 000010