(57)【要約】【課題】ユーザの操作履歴を使用して電子ファイルを管理する情報処理装置、操作支援方法、プログラムおよび記録媒体を提供すること。【解決手段】情報処理装置１０４は、電子ファイルに関する情報を取得するための情報取得手段３０４と、電子ファイルに関する情報を保存する入力情報記憶手段３０２ｂと、操作の内容情報を保存する操作候補記憶手段３０２ｄと、ユーザごとに形成され、操作を選択する確率値を保存する選択確率記憶手段３０２ｅと、異なるユーザの間での操作の類似性の値を保存する類似度記憶手段３０２ａとを備え、ユーザが操作しようとする電子ファイルに関する情報と、内容情報と、操作を選択する確率値と、類似性の値とを使用して、ユーザが操作しようとする電子ファイルに対する操作候補を選択するための機能選択確率値を計算する、機能選択確率計算手段３００ａとを含んでいる。  を含む、【選択図】図３
2009087318.tif 000002
【特許請求の範囲】
【請求項１】
電子ファイルに対するユーザの操作を予測して提示する情報処理装置であって、
前記電子ファイルに関する情報を取得するための情報取得手段と、
前記電子ファイルに関する情報を保存する入力情報記憶手段と、
前記操作の内容情報を保存する操作候補記憶手段と、
前記ユーザごとに形成され、前記操作を選択する確率値を保存する選択確率記憶手段と、
異なる前記ユーザの間での前記操作の類似性の値を保存する類似度記憶手段とを備え、
前記ユーザが操作しようとする前記電子ファイルに関する情報と、前記内容情報と、前記操作を選択する確率値と、前記類似性の値とを使用して、前記ユーザが前記操作しようとする前記電子ファイルに対する操作候補を選択するための機能選択確率値を計算する、機能選択確率計算手段と
を含む、情報処理装置。
【請求項２】
前記入力情報記憶手段は、前記電子ファイルに関する情報と、前記電子ファイルを特定する識別値とを対応付けて保存する、請求項１に記載の情報処理装置。
【請求項３】
さらに、
前記ユーザが前記電子ファイルに対して行った前記操作を取得する操作取得手段と、
前記操作を保持する操作履歴記憶手段と、
前記操作取得手段が取得する操作と、前記情報取得手段が取得する前記内容情報とを操作履歴として操作履歴記憶手段に保存する履歴更新手段と
を含む、請求項１または２に記載の情報処理装置。
【請求項４】
前記操作履歴記憶手段が保持する情報および前記入力情報記憶手段が保持する情報を使用して、前記ユーザによる前記電子ファイルに対する操作が指令される確率値を計算し、前記確率値により前記選択確率記憶手段を更新する確率更新手段を含む、請求項３に記載の情報処理装置。
【請求項５】
前記操作履歴および前記ユーザごとに形成される前記確率値を使用して、異なる前記ユーザの間での前記類似性の値を計算し、計算した前記類似性の値で、類似度記憶手段を更新する類似度更新手段を含む、請求項１〜４のいずれか１項に記載の情報処理装置。
【請求項６】
前記機能選択確率計算手段は、前記ユーザの選択する可能性のある前記操作候補について選択確率を設定するための汎用性指標値を使用して、選択される前記操作候補を変更する、選択確率変更手段を含む、請求項１〜５のいずれか１項に記載の情報処理装置。
【請求項７】
情報処理装置が電子ファイルに対するユーザの操作を予測して提示する操作支援方法であって、前記情報処理装置が、
前記電子ファイルに関する情報を取得するステップと、
前記電子ファイルに関する情報を保存するステップと、
前記操作の内容情報を保存するステップと、
前記ユーザごとに形成され、前記操作を選択する確率値を保存するステップと、
異なる前記ユーザの間での前記操作の類似性の値を保存するステップと、
前記ユーザが操作しようとする前記電子ファイルに関する情報と、前記内容情報と、前記操作を選択する確率値と、前記類似性の値とを使用して、前記ユーザが前記操作しようとする前記電子ファイルに対する操作候補を選択するための機能選択確率値を計算するステップと
を実行する、操作支援方法。
【請求項８】
さらに、前記電子ファイルに関する情報と、前記電子ファイルを特定する識別値とを対応付けて保存するステップを含む、請求項７に記載の操作支援方法。
【請求項９】
さらに、
前記ユーザが前記電子ファイルに対して行った前記操作を取得するステップと、
前記操作を保持するステップと、
取得した前記操作と、取得した前記内容情報とを操作履歴として操作履歴記憶手段に保存するステップと
を含む、請求項７または８に記載の操作支援方法。
【請求項１０】
保持された前記電子ファイルに関する情報および前記操作の内容情報を使用して、前記ユーザによる前記電子ファイルに対する操作が指令される確率値を計算するステップと、
前記確率値により前記機能選択確率値を更新するステップと
を含む、請求項９に記載の操作支援方法。
【請求項１１】
前記操作履歴および前記ユーザごとに形成される前記確率値を使用して、異なる前記ユーザの間での前記類似性の値を計算し、計算した前記類似性の値で、過去に登録された類似性の値を更新するステップ
を含む、請求項７〜１０のいずれか１項に記載の操作支援方法。
【請求項１２】
さらに、前記ユーザの選択する可能性のある前記操作候補について選択確率を設定するための汎用性指標値を使用して、選択される前記操作候補を変更するステップを含む、請求項７〜１１のいずれか１項に記載の操作支援方法。
【請求項１３】
請求項１〜６記載の各手段として情報処理装置を機能させるためのコンピュータ実行可能なプログラム。
【請求項１４】
請求項１２記載のプログラムを記録したコンピュータ可読な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ユーザの操作履歴を使用して電子ファイルを管理する情報処理装置、操作支援方法、プログラムおよび記録媒体に関する。
【背景技術】
【０００２】
コンピュータ中に存在する電子ファイルに対して実行することのできる操作は、様々想定できる。上述した操作は、例えば、同一コンピュータ内における記録媒体間やコンピュータ間における電子ファイルのコピー、移動、または電子ファイルそのものの削除といった電子ファイルを対象として行う操作を挙げることができる。また、電子ファイルに対する操作は、電子メールに添付することによる送信、特定のアプリケーションから呼び出して、電子ファイルの印刷など、アプリケーション上で操作を行うものを挙げることができる。これらの操作の他、文書エディタによる編集やファイル容量を減らすための電子ファイルの圧縮など電子ファイルに対してアプリケーションが処理を行う操作などを挙げることができる。
【０００３】
さらに、電子文書を印刷するという操作についても、操作に対する条件設定が存在し、例えば、何部印刷するか、両面に印刷するか、フルカラーで印刷するか白黒印刷を行うかなど、選択または指定しなければならない機能は、多岐にわたっている。
【０００４】
しかしながら、このような機能の多様性があることは機能の拡大という面では好ましいものの、選択しなければならない機能や条件設定を行うことについてみれば、ユーザは、ますます煩雑な操作を強いられることになる。例えば、両面印刷を選択するだけであっても、例えば、プリントウィザードを開き、印刷設定ボタンをクリックして設定ウィザードを表示させ、両面設定をクリックし、設定ウィザードを終了させるなど、多数回のクリック動作が必要である。さらにユーザは、各ボタンをクリックするためにマウスなどのポインタデバイスの物理的移動が必要となり、その選択操作の煩雑さが機能の有効活用の障壁となる可能性もある。
【０００５】
これまで、ユーザが選ぶ可能性の高い機能を予測し、提示する方法が提案されている。例えば特開平１０−０２７０８９号公報（特許文献１）には、コマンド履歴保存手段と、所定の条件を満足するコマンドのうち最新のコマンドを予測コマンドとして選択するコマンド予測手段とを含むコンピュータオペレーション支援装置が開示されている。また、特開平７−３０６８４７号公報（特許文献２）では、コンピュータシステムに投入されたコマンドの履歴を時系列に従って記録し、所定の条件を満足したコマンドのうち最新のものを予測コマンドとして選択するコンピュータオペレーション支援装置が開示されている。以上の特許文献に開示された方法は、ユーザの操作の予測は、当該ユーザの過去の印刷履歴に基づき、予測を行う方法が採用されている。また、特定のユーザ、あるいはユーザグループにあわせた予測を行うには、そのユーザあるいはユーザグループの知識を表すユーザモデルを構築し、そのモデルに基づいて推定を行う手法が用いられ、操作支援のために利用されている。
【０００６】
しかしながら、上述した従来手法では、過去履歴が充分に蓄積されていない場合、正確なモデルが構築できないという問題があり、これに対処するため複数のユーザに関する情報を組み合わせる協調的方法が併用される場合が多い。この協調的方法として有用な方法に協調フィルタリングがある。この方法は例えばインターネットショッピングにおいて複数ユーザの各商品に対する評価の組み合わせを履歴として取得することで、あるユーザについて評価値の得られていない商品に対する評価を予測する手法である。
【０００７】
協調フィルタリング手法は、それぞれの評価間に相関があることを前提とした手法であり、機能の予測に対して適応した場合、機能ごとの評価の相関のみから機能選択を予測することになる。しかしユーザがどのような機能を利用するかは、その機能の選択対象である電子ファイルに大きく依存すると考えられる。すなわち機能の実行対象に関する情報（例えば電子ファイルに関する作成者や内容、ファイル名などの情報）を入力変数、機能（例えば電子ファイルに対する操作内容）を出力変数としたとき、パーソナルコンピュータ上の電子ファイルに対する機能の選択は、対象となる電子ファイルに依存するところが大きいように、機能の予測については出力変数と入力変数の間の関係が重要である。また、例えばファイルの印刷における「集約印刷」と「１０部印刷」のように、複数の機能を組み合わせて使用する場合はそれらの機能間の依存関係も重要である。このような変数間、特に入力・出力変数間や出力変数間の複雑な依存関係を協調フィルタリングにより扱うことはできないという問題点があった。
【０００８】
このような入力・出力変数間の複雑な依存関係を扱うことができる方法としてはベイジアンネットワークという手法が存在する。この方法を用いれば入力・出力を区別せずに、複雑な依存関係を適切な拘束のもとにモデル化することができる。それにより，機能すなわちユーザの意図をより高精度に予測することが可能となる。しかし、この方法には上述の協調的方法はわずかしか存在せず、しかもそれらの方法は本発明により扱おうとしている機能の予測に容易に適用可能なものではない。例えば、非特許文献３（A. Jameson and F. Wittig. Leveraging data about users in general in the learning of individual user model. In B. Nebel, editor, Proceedings of the Seventeenth International Joint Conference on Artificial Intelligence, pages 1185-1192, San Francisco, CA, 2001. Morgan Kaufmann.）では、個人のモデルと一般的なモデルの組み合わせ方についていくつかの方法を開示している。また、非特許文献４（A. Niculescu-Mizil and R. Caruana. Inductive transfer for Bayesian network structure learning. In Proc. 11th International Conf. on AI and Statistics, 2007.）では、構造の似ている複数のモデルを同時に求める方法が開示されているものの、単にモデル構造を求めることを開示するのみであり、組み合わせ手法が論理的妥当性にかけるので、非特許文献３で適用された事例以外の適用性が不明であり、一般的に画像形成装置の操作などの意図推定に利用可能なユーザモデル構築方法にそのまま適用することはできなかった。
【特許文献１】特開平１０−０２７０８９号公報
【特許文献２】特開平０７−３０６８４７号公報
【非特許文献３】A. Jameson and F. Wittig. Leveraging data about users in general in the learning of individual user model. In B. Nebel, editor, Proceedings of the Seventeenth International Joint Conference on Artificial Intelligence, pages 1185-1192, San Francisco, CA, 2001. Morgan Kaufmann.
【非特許文献４】A. Niculescu-Mizil and R. Caruana. Inductive transfer for Bayesian network structure learning. In Proc. 11th International Conf. on AI and Statistics, 2007.
【発明の開示】
【発明が解決しようとする課題】
【０００９】
すなわち、これまで、履歴が少ないユーザに対しても他人に対する予測を組み合わせる協調的方法のうち、電子ファイルに対して行おうとする操作の予測において利用可能な技術は、従来技術には存在しなかったということができる。本発明は、上記従来技術の不都合に鑑みてなされたものであり、本発明は、電子ファイルに対して行おうとする操作を操作履歴が少ないユーザに対しても予測し提示することを可能とする、情報処理装置、操作支援方法、プログラムおよび記録媒体を提供することを目的とする。
【課題を解決するための手段】
【００１０】
本発明では、情報処理装置が操作する電子ファイルの属性および操作履歴を確率的に処理することにより、特定ユーザの操作履歴のデータ量にかかわらず、当該電子ファイルに対してユーザが確率的に行う可能性の高い操作を選択し、ユーザに操作候補を提示する。操作候補は、電子ファイルの属性および全ユーザが当該電子ファイルに対して行った操作および入力された情報の因果関係を使用する確率計算により選択され、確率のより高い操作を操作候補としてクライアントマシンに提示する。
【００１１】
本発明によれば、情報処理装置に対する操作入力または操作指令を、ユーザが指令した操作コマンドおよび操作条件の因果関係を解析して類似計算を行うことにより、確率論的な観点から、ユーザが希望する操作を降順に表示させることで操作選択を効率化する、情報処理装置、操作支援システム、およびプログラムを提供することが可能となる。
【００１２】
さらに、本発明によれば、操作支援を要求するユーザ以外のユーザが行った電子ファイルについての操作であっても、操作候補として提示することができ、ユーザの操作履歴の多寡によらず、その時点でユーザが行う可能性の高い操作を、電子ファイルの属性および操作履歴の確率論的処理に基づいて選択し、提示する操作支援を行うことが可能となる。
【００１３】
本発明によれば、電子ファイルに対するユーザの操作を予測して提示する情報処理装置であって、
前記電子ファイルに関する情報を取得するための情報取得手段と、
前記電子ファイルに関する情報を保存する入力情報記憶手段と、
前記操作の内容情報を保存する操作候補記憶手段と、
前記ユーザごとに形成され、前記操作を選択する確率値を保存する選択確率記憶手段と、
異なる前記ユーザの間での前記操作の類似性の値を保存する類似度記憶手段とを備え、
前記ユーザが操作しようとする前記電子ファイルに関する情報と、前記内容情報と、前記操作を選択する確率値と、前記類似性の値とを使用して、前記ユーザが前記操作しようとする前記電子ファイルに対する操作候補を選択するための機能選択確率値を計算する、機能選択確率計算手段と
を含む、情報処理装置が提供される。
【００１４】
前記入力記憶手段は、前記電子ファイルに関する情報と、前記電子ファイルを特定する識別値とを対応付けて保存することができる。
【００１５】
本発明では、さらに、
前記ユーザが前記電子ファイルに対して行った前記操作を取得する操作取得手段と、
前記操作を保持する操作履歴記憶手段と、
前記操作取得手段が取得する操作と、前記情報取得手段が取得する前記内容情報とを操作履歴として操作履歴記憶手段に保存する履歴更新手段と
を含むことができる。
【００１６】
また、前記操作履歴記憶手段が保持する情報および前記入力情報記憶手段が保持する情報を使用して、前記ユーザによる前記電子ファイルに対する操作が指令される確率値を計算し、前記確率値により前記選択確率記憶手段を更新する確率更新手段を含むことができる。さらに、前記操作履歴および前記ユーザごとに形成される前記確率値を使用して、異なる前記ユーザの間での前記類似性の値を計算し、計算した前記類似性の値で、類似度記憶手段を更新する類似度更新手段を含むことができる。
【００１７】
さらに、前記機能選択確率計算手段は、前記ユーザの選択する可能性のある前記操作候補について選択確率を設定するための汎用性指標値を使用して、選択される前記操作候補を変更する、選択確率変更手段を含むことができる。
【００１８】
本発明によれば、情報処理装置が電子ファイルに対するユーザの操作を予測して提示する操作支援方法であって、前記情報処理装置が、
前記電子ファイルに関する情報を取得するステップと、
前記電子ファイルに関する情報を保存するステップと、
前記操作の内容情報を保存するステップと、
前記ユーザごとに形成され、前記操作を選択する確率値を保存するステップと、
異なる前記ユーザの間での前記操作の類似性の値を保存するステップと、
前記ユーザが操作しようとする前記電子ファイルに関する情報と、前記内容情報と、前記操作を選択する確率値と、前記類似性の値とを使用して、前記ユーザが前記操作しようとする前記電子ファイルに対する操作候補を選択するための機能選択確率値を計算するステップと
を実行する、操作支援方法が提供される。
【００１９】
本発明では、さらに、前記電子ファイルに関する情報と、前記電子ファイルを特定する識別値とを対応付けて保存するステップを含むことができる。
【００２０】
本発明では、さらに、
前記ユーザが前記電子ファイルに対して行った前記操作を取得するステップと、
前記操作を保持するステップと、
取得した前記操作と、取得した前記内容情報とを操作履歴として操作履歴記憶手段に保存するステップと
を含むことができる。
【００２１】
本発明では、保持された前記電子ファイルに関する情報および前記操作の内容情報を使用して、前記ユーザによる前記電子ファイルに対する操作が指令される確率値を計算するステップと、
前記確率値により前記機能選択確率値を更新するステップと
を含むことができる。
【００２２】
また、本発明では、前記操作履歴および前記ユーザごとに形成される前記確率値を使用して、異なる前記ユーザの間での前記類似性の値を計算し、計算した前記類似性の値で、過去に登録された類似性の値を更新するステップを含むことができる。
【００２３】
さらに、本発明では、前記ユーザの選択する可能性のある前記操作候補について選択確率を設定するための汎用性指標値を使用して、選択される前記操作候補を変更するステップを含むことができる。
【００２４】
本発明では、上記情報処理装置の各手段として情報処理装置を機能させるためのコンピュータ実行可能なプログラムが提供される。また、本発明では、上記プログラムを記録したコンピュータ可読な記録媒体が提供される。
【発明を実施するための最良の形態】
【００２５】
以下、本発明の実施形態を以て説明するが、本発明は、後述する実施形態に限定されるものではない。図１は、本実施形態の操作支援システム１００を示す。図１に示す操作支援システム１００は、ネットワーク１０２と、ネットワーク１０２に接続されたクライアントマシン１０６ａ、１０６ｂ、１０６ｃ、１０６ｄと、ネットワークプリンタなどとしても機能する複合機（ＭＦＰ）１０８とを含んで構成される。さらにネットワーク１０２には、電子ファイルの情報を管理する管理サーバ１０４が接続されていて、クライアントマシン１０６ａ〜１０６ｄに対して電子ファイルに対する操作情報を、クライアントマシン１０６ａ〜１０６ｄに提供している。
【００２６】
ネットワーク１０２は、インターネット、ワイドエリアネットワーク（ＷＡＮ）、またはローカルエリアネットワーク（ＬＡＮ）などを含んで構成されていて、クライアントマシン１０６ａ〜１０６ｄからの要求を、管理サーバ１０４に送付し、また管理サーバからの応答を、クライアントマシン１０６ａ〜１０６ｄに取得させている。
【００２７】
クライアントマシン１０６ａ〜クライアントマシン１０６ｄおよび管理サーバ１０４は、パーソナルコンピュータ、ワークステーション、複合機(Multi-Function Peripheral:MFP)、サーバなどの情報処理装置から構成されていて、コンピュータ本体１１０と、キーボード１１２と、マウス１１４などを含んで構成されている。また、管理サーバ１０４は、ＷＩＮＤＯＷＳ（登録商標）２００Ｘ、ＵＮＩＸ（登録商標）、ＬＩＮＵＸなどのオペレーティングシステムにより処理を実行する。管理サーバ１０４は、クライアントマシン１０６ａ〜１０６ｄに対して電子ファイルの操作履歴に基づいた操作コマンドを選択し、クライアントマシン１０６ａ〜１０６ｄに提供している。
【００２８】
図２は、本実施形態で使用される情報処理装置２００の機能構成を示す。情報処理装置２００は、上述したように、パーソナルコンピュータ、ワークステーション、多機能複写機、サーバなどとして構成することができる。なお、パーソナルコンピュータとサーバ、多機能複写機については、使用するオペレーティングシステム（ＯＳ）およびブート処理の関係で、ソフトウェア構成は異なるものの、ハードウェア構成としては、同様の基本構成を採用することができる。例えばクライアントマシン１０６ａ〜１０６ｄは、パーソナルコンピュータの場合、ＯＳとしては、ＷＩＮＤＯＷＳ（登録商標）ＸＰなどを使用することができる。また、情報処理装置２００が、サーバまたはワークステーションの場合、ＷＩＮＤＯＷＳ（登録商標）２００ＸＳＥＲＶＥＲ、ＵＮＩＸ（登録商標）、ＬＩＮＵＸ（登録商標）などを適宜使用することができる。
【００２９】
図２に示した中央処理装置（ＣＰＵ）２０２と、ＣＰＵ２０２が使用するデータの高速アクセスを可能とするキャッシュメモリ２０４と、ＣＰＵ２０２の処理を可能とするＲＡＭ、ＤＲＡＭなどの固体メモリ素子から形成されるシステムメモリ２１０とを備える。ＣＰＵ２０２、キャッシュメモリ２０４、およびシステムメモリ２１０は、システムバス２１４を介して、情報処理装置２００の他のデバイスまたはドライバ、例えば、ディスプレイアダプタ２０８およびネットワークデバイス（ＮＩＣ）２１２へと接続されている。ディスプレイアダプタ２０８は、バスを介してディスプレイ装置２０６に接続されて、ＣＰＵ２０２による処理結果をディスプレイ画面上に表示させている。また、ネットワークデバイス２１２は、トランスポート層レベルおよび物理層レベルで情報処理装置２００をネットワーク２２８へと接続して、クライアントマシン１０６ａ〜１０６ｄ（図示せず）とのトランザクションを可能とさせている。
【００３０】
システムバス２１４には、さらにＩ／Ｏバスブリッジ２１６が接続されている。Ｉ／Ｏバスブリッジ２１６の下流側には、Ｉ／Ｏバス２１８を介して、ハードディスク装置２２０が接続されている。また、Ｉ／Ｏバス２１８には、ＵＳＢなどのバスを介して、キーボード、マウスなどの入力装置２２２が接続され、システム管理者などのオペレータによる入力および指令を受付けている。また、Ｉ／Ｏバス２１８を介してシリアルポート２２４からＭＦＰ１０８などのプリンタに接続されていて、プリント、ファクシミリ、またはスキャンなどの処理を指令する。さらに、情報処理装置２００は、音声インタフェース２２６を備えていて、Ｉ／Ｏバス２１８を介してボイスプロセッシングシステム（図示せず）によるコマンド入力を可能としている。
【００３１】
図３は、管理サーバ１０４の機能構成を示す。管理サーバ１０４は、履歴管理部３００と、履歴管理部３００に対してクライアントマシン１０６ａ〜１０６ｄのデータを提供し、履歴管理を可能とするデータセットである、テーブルセット３０２と、ネットワーク２２８を介してクライアントマシン１０６ａ〜１０６ｄと相互接続するためのネットワークインタフェース３０４とを含んで構成されている。
【００３２】
履歴管理部３００は、機能選択確率計算部３００ａと、履歴更新部３００ｂと、確率更新部３００ｃと、類似度更新部３００ｄとを含んで構成される。機能選択確率計算部３００ａは、ハードディスク装置２２０などの記憶装置に格納される情報を読み出して、クライアントマシン１０６ａ〜１０６ｄで、ユーザが所定の電子ファイルに対して指令した操作コマンドと、その操作コマンドを他の操作コマンドに対してユーザが指令する可能性の大きさを計算する。また、機能選択確率計算部３００ａは、第２の実施形態では、汎用性指標αを使用して、選択するべき機能の選択確率を変更する選択確率変更手段（図示せず）を含む構成とすることができる。選択確率変更手段は、選択するべき機能が汎用性があるか否かに応じて、メモリなどに登録された汎用性指標αを取得して、当該汎用性指標αの値を使用して機能選択確率を修正するプログラムモジュールとして実装することができる。先着確率変更手段は、機能選択に際し、ユーザまたはユーザグループに応じて提示される機能の選択確率を変更させ、ユーザカスタマイズを可能としている。
【００３３】
履歴更新部３００ｂは、情報取得手段として機能するネットワークインタフェース３０４を介してクライアントマシンから送信された情報で、テーブルセット３０２に登録された操作履歴テーブル３０２ｃを更新する。確率更新部３００ｃは、操作履歴テーブル３０２ｃおよび入力情報テーブル３０２ｂの内容を使用して選択確率テーブル３０２ｅを更新する。また、類似度更新部３００ｄは、操作履歴テーブル３０２ｃ、選択確率テーブル３０２ｅの内容に基づいて類似度テーブル３０２ａを更新している。
【００３４】
ハードディスク装置２２０などの記憶装置に格納されるテーブルセット３０２は、類似度テーブル３０２ａ、入力情報テーブル３０２ｂ、操作履歴テーブル３０２ｃ、操作候補テーブル３０２ｄ、および選択確率テーブル３２０ｅを含んで構成される。操作候補テーブル３０２ｄは、クライアントマシンで行われた操作および操作の際の用紙サイズ、印刷枚数、集約処理などの操作を実行する場合のデータである内容情報を保持する。また、類似度テーブル３０２ａは、ユーザ同士の操作傾向の類似性を数値化して保持する。
【００３５】
入力情報テーブル３０２ｂは、クライアントマシンで操作された電子ファイルに関する情報を保持する。操作履歴テーブル３０２ｃは、過去にユーザが行った操作について、その際の電子ファイルに関する情報と操作に関する情報と時間情報とを関連づけて保持する。選択確率テーブル３０２ｅは、ユーザごとにある入力に対してある操作を選択する可能性の高さを保持する。これらのテーブルセット３０２は、クライアントマシン１０６ａ〜１０６ｄからユーザが所定の電子ファイルに対して行った操作コマンドの履歴に応じて、履歴更新部３００ｂ、確率更新部３００ｃ、類似度更新部３００ｄなどにより更新される。
【００３６】
図４は、クライアントマシン１０６ａ〜１０６ｄのうち、クライアントマシン１０６ａの機能構成を例示的に示す。クライアントマシン１０６ｂ〜クライアントマシン１０６ｄについても同様の構成を用いることができる。クライアントマシン１０６ａは、ユーザインタフェース部４００と、操作支援情報処理部４０２と、ストレージインタフェース４０４と、ネットワークインタフェース４０６とを含んで構成される。
【００３７】
ユーザインタフェース部４００は、情報表示部４００ａと、操作命令部４００ｂと、入力取得部４００ｃとを含んで構成される。情報表示部４００ａは、ディスプレイスクリーンなどを介してユーザに情報を提示する処理を実行する。操作命令部４００ｂは、イベントハンドラなどを含んで構成され、ポインティングデバイスや、キーボードなどを介してユーザが指令するファイル名などといった電子ファイル識別値、操作コマンド、および操作コマンドに必要な情報を入力するためのインタフェースを提供する。さらに、入力取得部４００ｃは、操作命令部４００ｂからの入力から操作コマンドをデコードし、情報を取得する。
【００３８】
また、操作支援情報処理部４０２は、ユーザが選択する電子ファイル識別値といった、入力取得部４００ｃからの情報を取得する情報取得部４０２ａと、管理サーバ１０４から取得した選択機能の候補を、操作支援情報として提示する操作候補提示部４０２ｂと、ユーザが実際に行った操作コマンドの内容を取得する操作取得部４０２ｃとを含んで構成されている。操作支援情報処理部４０２が取得した各種情報は、ストレージインタフェース４０４を介してメモリ、ハードディスク装置、ＵＳＢメモリなどに格納される。また、操作支援処理部４０２が取得した情報は、ネットワークインタフェース４０６を介してネットワーク２２８に送出され、管理サーバ１０４による履歴情報を使用する処理に反映される。
【００３９】
図５は、クライアントマシン１０６ａがそのディスプレイスクリーン上に表示する機能選択画面５００の実施形態を示す。図５に示す機能選択画面５００は、ディスプレイスクリーン上に、ファイル名などの電子ファイル識別値を、アイコン５０４として表示させる。表示される電子ファイル識別値は、例えばハードディスク装置２２０や、ＤＶＤ、ＣＤ−ＲＯＭなどのメディア内の、デフォルトフォルダ上に登録された電子ファイルのファイル名などが使用される。
【００４０】
ユーザは、電子ファイルを示しているアイコン上にマウスカーソルなどを位置決めした状態で、マウスのボタンの押下などの操作を施す。本実施形態では、ユーザによる押下操作により操作支援処理が起動され、ユーザが指定された電子ファイルに対して行う操作をアシストする。操作支援処理は、指定された電子ファイル識別値を管理サーバ１０４に送付し、管理サーバ１０４が管理される他のユーザの操作履歴を参照して、当該電子ファイルに対して確率的に推奨される操作の予測を行う処理を含む。
【００４１】
管理サーバ１０４の予測結果は、図５に示すように、ポップアップメニュー５０６として構成され、ポップアップメニュー５０６内のメニュー項目として構成される。ユーザは、マウスカーソル５０８を希望する操作メニューに一致させ、マウスの押下により、目的とする動作を選択することによりユーザは操作を行うことができる。
【００４２】
管理サーバ１０４が操作予測を実行するタイミングは、上述したタイミングの他、以下のような場合を挙げることができる。
（１）操作支援システムを表す特定のアイコンに、電子ファイルを表すアイコンをドラッグアンドドロップされた場合。
（２）キーボード上のハードウェアボタンにより、ディスプレイスクリーンに表示された電子ファイルのアイコンを選択し、その状態で、操作候補提示を指令するコマンドが割当てられたハードウェアボタン、またはボタンセットが押下られた場合。
（３）電子ファイルを所定のアプリケーションにより利用している状態において、操作支援システム１００の起動を示すハードウェアボタンが押下されたり、アイコン、メニューバーなど、ディスプレイスクリーン上で操作支援システム１００の起動が、ポインティングデバイスにより選択された場合。
【００４３】
上述した場合（１）〜（３）は、ユーザ操作性や、使用する情報処理装置２００のユーザインタフェースに応じて、適宜選択して単独で、または併用して実装することができる。
【００４４】
図６は、クライアントマシン１０６ａで実行される、管理サーバ１０４による操作支援処理の実施形態についてのフローチャートを示す。操作支援要求処理は、ステップＳ６００から開始し、ステップＳ６０１で、情報所得部４０２ａが選択された電子ファイルに関する情報を取得する。電子ファイルに関する情報には、電子ファイルを固有に識別する電子ファイル識別値、電子ファイルの拡張子、電子ファイルがページ識別を含む場合には、総ページ数、最終更新年月、電子ファイルを作成したユーザのユーザＩＤ等を挙げることができる。
ステップＳ６０２では、取得した情報および取得する操作候補の最大数をネットワークを介して、管理サーバ１０４に送信し、操作候補の選択および提示を要求する。
【００４５】
ステップＳ６０３では、管理サーバ１０４から、操作支援要求に対応する操作候補を取得し、操作候補提示部４０２ｂがポップアップメニュー５０６のメニュー項目として設定し、情報表示部４００ａに操作候補を提示する。ステップＳ６０４では、ユーザによるポップアップメニュー５０６内に表示されたメニュー項目の選択をイベントハンドラが検知し、指令された操作を実行させ、処理をステップＳ６０５で終了させる。
【００４６】
図７は、クライアントマシン１０６ａが、管理サーバ１０４が管理するテーブルセット３０２を更新する処理の実施形態についてのフローチャートを示す。なお、図７に示した処理は、独立したアイコンやメニューバーとして登録することができる。また、他の実施形態では、電子ファイルに対して特定の操作を行った場合、操作終了時に呼び出されるオブジェクトまたはメソッドとして構成することもできる。履歴更新処理は、ステップＳ７００から開始し、ステップＳ７０１で、所定の電子ファイルに関する操作をステップＳ７０２で情報取得部４０２ａが特定の電子ファイルに関する操作を取得する。ステップＳ７０３では、情報取得部４０２ａは、操作を行ったユーザのユーザＩＤと、取得した操作コマンドと、電子ファイル識別値などの情報とを管理サーバ１０４に送信し、テーブルセットの更新を要求する。
【００４７】
ステップＳ７０４では、管理サーバ１０４がユーザＩＤと、操作コマンドと、情報とを受信し、履歴更新部が入力情報テーブル３０２ｂ、操作候補テーブル３０２ｄ、操作履歴テーブル３０２ｃを更新し、処理をステップＳ７０５で終了する。
【００４８】
以下、図８〜図１２を使用して、管理サーバ１０４が管理するテーブルセット３０２の実施形態を説明する。図８は、操作候補テーブル３０２ｄの実施形態を示す。操作候補テーブル３０２ｄは、操作コマンドを固有に識別するための操作ＩＤを登録するフィールド８００と、当該操作コマンドの操作内容とを、操作コマンドおよび設定情報とを対応させて登録するフィールド８０２とがレコードとして構成されている。管理サーバ１０４は、クライアントマシン１０６ａなどから履歴更新要求を受領すると、操作候補テーブル３０２ｄを検索し、受領した操作コマンドおよび操作内容が登録されているか否かを判断する。操作コマンドおよび操作内容が登録されている場合、操作候補テーブル３０２ｄの更新を行わず、他の処理に処理を分岐させる。また、操作候補テーブル３０２ｄに受領した操作コマンドおよび操作内容が登録されていない場合、新たな操作ＩＤを取得し、フィールド８００に新たな操作ＩＤを追加し、フィールド８０２に操作内容を追加して新たなレコードを登録する。
【００４９】
図９は、入力情報テーブル３０２ｂの実施形態を示す。管理サーバ１０４は、クライアントマシン１０６ａなどから、電子ファイルの情報を受領すると、電子ファイルについて管理している情報を検索し、同一ファイルの情報が登録されているか否かを検索する。検索の結果、同一ファイルが登録されている場合には、入力情報テーブル３０２ｂの更新を終了する。一方、電子ファイル識別値が同一であって、ファイル拡張子およびユーザＩＤが一致する場合、一致する電子ファイル識別値に対応する入力ＩＤのレコードの値を更新する。また、同一の電子ファイル識別値が登録されていない場合には、管理サーバ１０４は、新規な入力ＩＤを取得し、受領した電子ファイルの情報を、新規な入力ＩＤで規定されるレコードの対応するフィールドに記述して、新規レコードとして追加する。
【００５０】
入力情報テーブル３０２ｂは、入力ＩＤに対して入力情報の種別を示す入力情報を登録するための、入力情報に対応するフィールド９００、９０２、９０４、９０６、９０８が登録されている。各要素値は、入力ＩＤごとにレコードを形成している。入力情報としては、ファイル拡張子、ページ数、最終更新年月、作成ユーザＩＤなどを設定し、それぞれ要素値とすることができるが、これらの入力情報に限定されず、特定の用途に応じ、入力情報は、適宜設定することができる。なお、ファイル拡張子としては、ｐｄｆ、ｄｏｃ、ｔｘｔ、ｈｔｍｌなどを挙げることができる。図９に示した実施形態では、要素値を与える入力情報としページ数、最終更新年月、作成ユーザＩＤが登録されている。しかしながら、これらの要素値は、例えば、同一の電子ファイル識別値を有する異なる電子ファイルを識別する識別情報として利用することができる。
【００５１】
図１０は、選択確率テーブル３０２ｅの実施形態を示す。選択確率テーブル３０２ｅは、ユーザごとに作成され、ユーザの数だけ選択確率テーブル３０２ｅが存在する。選択確率テーブル３０２ｅの行１０００は、操作候補テーブル３０２ｄの行に対応した入力ＩＤであり、選択確率テーブル３０２ｅの列１００２は、入力情報テーブル３０２ｂの行に対応する操作ＩＤが参照される。図１０の選択確率テーブル３０２ｅの第ｉ行第ｊ列には、入力ＩＤ＝Ｘ（ｊ）のファイルを選択した場合に、操作ＩＤ＝Ｙ（ｉ）で指定される操作が選択される確率の確率値が格納される。なお、確率値は、表に対応付けられたユーザの過去履歴のみから、特定の操作について選択される入力情報の因果関係を取得し、ベイジアンネットワークを使用して計算される。なお、ベイジアンネットワークを使用する確率値の計算処理については、より詳細に後述する。
【００５２】
図１１は、操作履歴テーブル３０２ｃの実施形態を示す。操作履歴テーブル３０２ｃは、電子ファイルに対する操作を行った時刻を示すタイムスタンプを登録するフィールド１１００と、操作を行ったユーザのユーザＩＤを登録するフィールド１１０２と、入力履歴を示す入力ＩＤを登録するフィールド１１０４と、操作ＩＤ１１０６とを含んで構成されており、タイムスタンプにより識別されるレコードを形成している。操作履歴テーブル３０２ｃは、ユーザにより新たな操作入力がなされた場合、各フィールドの要素値が、履歴更新部３００ｂにより更新される。
【００５３】
図１２は、類似度テーブル３０２ａの実施形態を示す。類似度テーブル３０２ａは、異なるユーザにより操作を支援情報に含ませるために利用され、特定のユーザからみた場合の、他ユーザの類似度を示す。類似度テーブル３０２ａにエントリされた要素値は、操作履歴テーブル３０２ｃの同一ユーザＩＤについて登録された入力ＩＤおよび操作ＩＤで指定される確率値を、図１０の選択確率テーブル３０２ｅから選択し、当該ユーザＩＤについて登録されている入力ＩＤおよび操作ＩＤに対応する選択確率をすべて乗算することにより与えられる。したがって、類似度テーブル３０２ｃを利用することにより、他のユーザが指令した操作についても操作支援情報として提示することが可能となる。類似度テーブル３０２ａは、操作履歴テーブル３０２ｃが更新されると、リレーショナルデータベースなどの機能により、当該更新にリンクして更新される。なお、本実施形態では、同一のユーザについても同様に類似度の値が計算されている。このため、同一のユーザにおいて登録された操作履歴が少ない場合であっても、同一のユーザの操作履歴とともに、他のユーザが行った操作を類似度値を規準として入力支援に利用することができる。
【００５４】
図１３は、クライアントマシン１０６ａが含む操作候補提示部４０２ｂの処理の実施形態についてのフローチャートを示す。操作候補提示部４０２ｂの処理は、ステップＳ１３００でユーザが操作コードおよび操作のための情報を入力することにより開始される。操作候補提示部４０２ｂは、ステップＳ１３０１で、管理サーバ１０４に対し、ネットワークを介して電子ファイルに関する情報、提示候補数およびユーザＩＤを送信し、操作候補の取得を要求する。
【００５５】
ステップＳ１３０２では、管理サーバ１０４から操作候補と、選択確率のセットとを取得する。ステップＳ１３０３では、選択確率の高い選択候補から選択確率の低い選択候補について降順にソーティングを行い、メニューアイテムドキュメントに登録し、例えば、PopupMenuクラスを起動させ、操作候補を情報表示部４００ａを介してユーザに提示させ、処理を終了する。なお、情報表示部４００ａは、マウス１１４などを使用したユーザのメニュー選択イベントを、イベントハンドラなどを使用してモニタしており、ユーザのメニュー選択イベントに対応して、選択候補を実行するための操作コマンドおよび処理情報を入力取得部４００ｃに渡して、選択された選択候補の処理を実行させている。
【００５６】
図１４は、管理サーバ１０４の機能選択確率計算部３００ａが実行する選択確率計算の実施形態についてのフローチャートを示す。図１４の処理は、ステップＳ１４００から開始し、ステップＳ１４０１で電子ファイルに関する情報および要求する選択候補数ｎおよびユーザＩＤ＝ｕ０を、クライアントマシン１０６ａから受信する。ステップＳ１４０２では、入力情報テーブル３０２ｂと受信した情報とを比較し、一致する入力の入力ＩＤ＝ｘ０を取得して、入力情報テーブル３０２ｂに登録する。
【００５７】
ステップＳ１４０３では、全ユーザの選択確率テーブル３０２ｅを検索し、検索された入力ＩＤ＝ｘ０と一致する列を抽出し、その列においてユーザｕ０の操作ＩＤｉに対する選択確率を取得し、これをＰｕ（ｉ）としてメモリに登録する。ステップＳ１４０４では、類似度テーブル３０２ａを参照し、類似度テーブル３０２ａの第ｕ０行のすべての値を抽出し、第ｕ列の値を、Ｓｉｍ（ｕ）としてメモリに登録する。ステップＳ１４０５では、操作ｉの選択確率を下記式（１）で計算し、Ｐ（ｉ）をソーティングしてＰ（ｉ）の高い順にｎ個の操作ＩＤｉを抽出する。
【００５８】
【数１】
2009087318.tif 000003
ステップＳ１４０６では、取得した操作ＩＤに対応する操作を、操作候補テーブル３０２ｄを検索し、候補数ｎの分だけ取得する。ステップＳ１４０７では、取得した操作候補およびその操作に対応する選択確率をネットワークを介してクライアントマシン１０６ａに返し、ステップＳ１４０８で処理を終了する。
【００５９】
以上の処理により、操作候補を要求したユーザ以外が行った類似操作を含めた操作候補を取得することが可能となる。
【００６０】
図１５は、管理サーバ１０４の機能選択確率計算部３００ａが実行する選択確率計算の第２の実施形態についてのフローチャートを示す。図１５に示した第２の実施形態では、図１４のステップＳ１４０５で説明した操作の選択確率を、下記式（２）および（３）を使用して計算する。式（２）は、汎用性指標α≠１の場合に適用され、式（３）は、汎用性指標α＝１の場合に適用される。その他の処理ステップについては、図１４の各ステップの処理と同様にして機能候補の計算を実行する。
【００６１】
【数２】
2009087318.tif 000004
【００６２】
【数３】
2009087318.tif 000005
【００６３】
上記式（２）および（３）を使用して選択確率を計算する際に、汎用性指標α（αは、実数値である）。の値を導入することにより、提示する印刷設定の性質を調整することが可能となる。汎用性指標αは、ユーザが比較的選択しやすい機能であることを示す値であり、図１５、式（２）および式（３）で説明する実施形態では、α＝０を境界として、負数が選択確率を高め、正数が選択確率を低める設定とされている。すなわち、汎用性指標αの値が０より小さい場合、多くのユーザが共通して使用するような設定を提示する傾向が強くなることに相当する。この範囲で適切な汎用性指標αの値を選択することで、あるユーザが使うであろう設定を、類似ユーザの統計上、平均的な傾向に基づき、安定して予測することが可能となる。
【００６４】
一方、図１５、式（２）、および式（３）で示す実施形態では、汎用性指標αの値が０より大きい場合、全体的にはあまり使われなくとも、類似ユーザの一部に高確率で利用されるような設定が選択されるように指定することができる。これらの設定は、ユーザまたはユーザグループごとに汎用性指標αの設定を登録することができる構成とすることで、ユーザおよびユーザグループに対して機能選択のカスタマイズを可能とすることで、効率的な機能選択を促すことを可能とする。
【００６５】
なお、汎用性指標αの値は、管理サーバ１０４などにおいて全ユーザに共通する単一値に設定されてもよいし、管理サーバ１０４などのユーティリティ機能が提供する調整画面、またはクライアントマシン１０６ａ〜１０６ｄ、または複合機１０８において、調整画面を表示させ、特定のユーザが、汎用的な機能を使用する場合が多いか、あるいは一部のユーザではカスタマイズした特定機能の選択および提示を希望するかを調整することができる構成とすることができる。また、このため、管理サーバ１０４、クライアント１０６ａ〜１０６ｄ、複合機１０８は、ディスプレイ画面、操作パネル上に、後述するカスタマイズ画面を表示させ、ユーザまたはユーザグループごとに選択する際の優先度を変更することができる。さらに、選択する機能をカスタマイズする場合、機能の種別を汎用性指標αの特定値範囲に割当てておき、指定された汎用性指標αに対して±βの範囲にある機能を選択して表示させることができる。
【００６６】
図１６は、履歴更新部３００ｂが実行する処理の実施形態についてのフローチャートを示す。履歴更新部３００ｂの処理は、ステップＳ１６００から開始し、ステップＳ１６０１でユーザＩＤ、操作および電子ファイルに関する情報を、クライアントマシン１０６ａから受信する。ステップＳ１６０２で、取得した操作と操作候補テーブルとを比較し、同一のものがあれば、対応する操作ＩＤを取得する。また、履歴更新部３００ｂは、同一のものがなければ第１列にない任意に設定される識別記号などの識別値を取得し、操作候補テーブル３０２ｄの未登録レコードを、新規レコードとして確保し、当該レコードに操作ＩＤと、操作とを登録する。
【００６７】
また、ステップＳ１６０３では、取得した電子ファイルに関する情報と入力情報テーブルとを比較し、同一のものがあれば対応する入力ＩＤを取得し、なければ第１列にない任意の記号を入力ＩＤとして取得し、入力情報テーブルの未登録レコードを確保する。
【００６８】
ステップＳ１６０４では、取得したユーザＩＤ、入力ＩＤ、および操作ＩＤをタイムスタンプとともに操作履歴テーブル３０２ｃで、まだ要素値が登録されていない未登録レコードに格納し、ステップＳ１６０５で処理を終了する。なお、クライアントマシン１０６ａからの履歴更新要求は、ユーザが履歴の更新を行う指令に応答して管理サーバ１０４に発行することもできるし、ユーザが指定した操作を終了させた段階で、サービスプロセスなどとして実行される操作支援処理部４０２のモジュールが自動的に管理サーバ１０４に対して操作履歴を送付することができる。
【００６９】
以下、確率更新部３００ｃの処理を説明する。なお、確率更新部３００ａの処理は、管理サーバ１０４内で、それまで送付された各ユーザからの操作履歴のログを参照して、一定時間ごとに自動的に処理を行うことが好ましい。また、他の実施形態では、履歴更新部３００ｂの処理が終了するごとに確率更新部３００ｃを起動し、確率更新処理を実行することができる。
【００７０】
より具体的には、確率更新部３００ｃは、一定期間ごとに蓄積されたログを使用して更新処理を行う場合、ユーザＩＤごとに同一の操作をユーザ数Ｎだけ繰り返し行う。また、履歴更新部３００ｂの処理が終了するごとに起動される実施形態では、履歴更新部の取得したユーザＩＤに対してのみ、確率更新処理を実行させることができる。具体的な処理は、以下のシーケンスにしたがって実行される。
【００７１】
確率更新部３００ｃは、操作履歴テーブル３０２ｃから処理対象として設定したユーザに関するレコードの値を抽出する。その後、確率更新部３００ｃは、入力情報テーブル３０２ｂおよび操作候補テーブル３０２ｄをルックアップし、抽出されたレコードの要素値のうち、対応するタイムスタンプの要素値、入力情報の要素値、操作情報の要素値のセットを、処理範囲とされるユーザ数Ｎの行（レコード）について、処理対象のユーザＩＤに対応するセットを取得する。このとき、タイムスタンプを構成する要素値としては、年月の他、日付け情報や時刻情報を設定することができる。上述のようにして得られた要素値のセットを使用して、ベイジアンネットワーク手法を使用し、各要素値に対し、非循環有向グラフを割当て、ベイズの定理、条件付独立性などを予め各要素ごとに登録した確率テーブルを求める処理を実行する。
【００７２】
その後、求められたベイジアンネットワークにおける要素値同士の因果関係を利用し、入力情報テーブル３０２ｂの各レコードに登録された入力情報が観測された場合に、操作候補テーブル３０２ｄの各レコードにある操作内容が同時に観測される確率を求め、選択確率テーブル３０２ｅの選択確率を更新する処理が行われる。なお、ベイジアンネットワークを使用する計算には、例えば、Ｍａｔｌａｂ（登録商標）のアプリケーションパッケージである、Bayes Net Toolboxを、管理サーバ１０４、プリンタサーバ、またはＭＦＰ１０８に実装することにより行うことができる。
【００７３】
図１７は、類似度更新部３００ｃが実行する処理の実施形態についてのフローチャートを示す。図１７の処理は、ステップＳ１７００から開始し、ステップＳ１７０１で、全ユーザ数＝Ｎとし、各ユーザのユーザＩＤを、Ｕ（ｘ）（ｘ＝１，２，３，．．．Ｎ）として設定する。ステップＳ１７０２では、カウンタｉおよびカウンタｋの値を初期設定し、ステップＳ１７０３で、すべてのｊ（ｊ＝１，２，３，．．．，Ｎ）に対し、Ｓ（ｊ）＝１に初期設定する。
【００７４】
ステップＳ１７０４で、カウンタｋ≦操作履歴テーブル３０２ｃのレコード（行）数の条件が満たされる間（ｙｅｓ）、ステップＳ１７０５で、Ｕ（ｉ）にが操作履歴テーブル３０２ｃの第ｋ行第２列の値に等しいか否かを判断する。なお、操作履歴テーブル３０２ｃの第２列は、説明する実施形態では、ユーザＩＤを登録するフィールドである。ステップＳ１７０４でカウンタｋ≦操作履歴テーブルのレコード（行）数の条件が満たされなくなった場合（ｎｏ）、操作履歴のレコード数全部についての設定が終了したので、ステップＳ１７１２に処理を分岐させる。また、ステップＳ１７０５で、操作履歴テーブル３０２ｃの第ｋ行第２列目がＵ（ｉ）でない場合（ｎｏ）、説明する実施形態では、ユーザＩＤが一致しない操作である。このよううな操作が操作履歴に登録されている場合、ユーザによる選択確率として反映させるのは適切ではないので、ステップＳ１７１１に処理を分岐させ、他のレコードについての処理を実行させる。
【００７５】
一方、操作履歴テーブル３０２ｃの第ｋ行第２列がＵ（ｉ）の場合（ｙｅｓ）には、ステップＳ１７０６でＩ＝操作履歴テーブル３０２ｃの第ｋ行第３列、ｍ＝操作履歴テーブル３０２ｃの第ｋ行第４列として設定する。なお、操作履歴テーブル３０２ｃの第３列は、説明している実施形態では、入力ＩＤを登録するフィールドであり、第４列は、操作ＩＤを登録するフィールドである。その後、ステップＳ１７０７でカウンタｊ＝１に初期設定し、ステップＳ１７０８でＳ（ｊ）＝Ｓ（ｊ）＊（Ｕ（ｊ）に割当てられている選択確率テーブル３０２ｃの第ｍ行第Ｉ列）を計算する。その後、ステップＳ１７０９で、カウンタｊをインクリメントさせ、ステップＳ１７１０で、カウンタｊが全ユーザ数Ｎを超えていないか否かを判断する。カウンタｊがＮを超えない場合（ｎｏ）、処理をステップＳ１７０８に分岐させ、ｊ＞Ｎが満たされるまで、ステップＳ１７０８〜ステップＳ１７１０の処理を反復させる。
【００７６】
一方、ステップＳ１７１０で、ｊ＞Ｎの条件が満たされた場合（ｙｅｓ）、処理をステップＳ１７１１に分岐させ、カウンタｋをインクリメントさせて処理をステップＳ１７０４に分岐させ、操作履歴テーブル３０２ｃのレコード全部について処理が終了するまで計算を反復させる。
【００７７】
操作履歴テーブル３０２ｃの全レコードについて処理を行った後、ステップＳ１７１２で、メモリに格納しておいた計算されたＳ（ｊ）を合計する。その後、ステップＳ１７１３で、Ｓ（ｊ）の値を、カウンタｊについて正規化し、ステップＳ１７１４で類似度テーブルの第ｉ行第ｊ列を、正規化された新たなＳ（ｊ）で置換する。
【００７８】
ステップＳ１７１５では、カウンタｉをインクリメントし、ステップＳ１７１６で、カウンタｉが全ユーザ数以下の場合（ｙｅｓ）、処理をステップＳ１７０３に戻し、再度、Ｓ（ｊ）の計算を反復させる。一方、ステップＳ１７１６でｉ＞Ｎとなった場合（ｎｏ）、処理を、ステップＳ１７１７で終了させる。以上の処理により、操作履歴テーブル３０２ｃが、履歴更新要求に対応して更新することができ、全ユーザによる履歴を反映した操作支援が可能となる。この場合、操作支援を要求したユーザには、自己の行った操作以外に類似する操作も提示されるが、当該ユーザには、どのユーザが類似した操作を行ったのかが識別できないので、ユーザ個人の操作履歴を他のユーザに知られることなく、操作支援を行うことが可能となる。
【００７９】
図１８は、操作支援処理を実行するプログラムを、クライアントマシン１０６ａのプリンタドライバとして実装した他の実施形態を示す。図１８の実施形態で、プリンタドライバとして実装する場合、ＬＡＮなどのネットワークを介して接続された。プリンタサーバやＭＦＰ１０８などが管理サーバ１０４と同様の機能を実装する。図１８では、ユーザが、特定のアプリケーションなどから、プリント指令を行ったものとする。このとき、クライアントマシン１０６のディスプレイスクリーン上には、プリントウィザード１８００が表示されている。プリントウィザード１８００には、用紙サイズを指定するためのアイコン１８０２と、印刷面を指定するためのアイコン１８０４と、集約処理を指定するためのアイコン１８０６と、カラーモードを指定するためのアイコン１８０８とが表示されている。
【００８０】
プリントウィザード１８２０は、ユーザが設定することを要求されるアイコンを全部クリックした後の表示形態を示す。ユーザは、プリントウィザード１８２０で示すように、用紙サイズを指定するためのアイコン１８２２と、印刷面を指定するためのアイコン１８２４と、集約処理を指定するためのアイコン１８２６と、カラーモードを指定するためのアイコン１８２８が自動的に選択およびクリックという、少なくとも４回のアイコン選択およびクリック動作を行う。
【００８１】
その後、ユーザが「ＯＫ」ボタンをクリックすると、プリンタドライバは、操作履歴を図１９に示すデータテーブル１９００に登録する。なお、図１９に示すデータテーブル１９００は、操作ＩＤを登録するフィールド１９０２と、操作内容を登録するフィールド１９０４とを含んで構成されており、管理サーバ１０４が管理する操作候補テーブル３０２ｄと同様に構成される。
【００８２】
図２０は、本実施形態の情報処理装置２０００が、ＤＶＤ、ＣＤ−ＲＯＭ、ＭＯなどのドライブに登録されたメディアに格納された電子ファイルに対して操作支援を適用する場合の実施形態を示す。なお、図２０に示した情報処理装置２０００は、パーソナルコンピュータとして構成されているが、情報処理装置２０００は、外付けメディアが接続可能であり、かつネットワークに接続された地上波デジタル放送、デジタル衛星放送が受信可能なテレビとすることもできる。情報処理装置２０００に対し、ユーザが記録媒体をドライブにセットすると、情報処理装置２０００は、メディアに登録された電子ファイルの属性値を取得し、操作支援要求を、ネットワーク２２８を介して管理サーバ１０４に送付する。管理サーバ１０４は、情報処理装置２０００から受信した操作支援要求に含まれる電子ファイルの属性を処理し、操作支援画面２００２を情報処理装置２０００に送付し、図２０（ａ）に示すように、ディスプレイスクリーン上に操作支援画面２００２を表示する。
【００８３】
図２０（ｂ）は、操作支援画面２００２の詳細に示す。図２０（ｂ）に示されるように、操作支援画面２００２には、メディア内に登録された電子ファイルのファイル名などを表示するフィールド２００４と機能操作一覧を表示するフィールド２００６が形成されている。例えばユーザが、フォトアルバムＣを、マウス、リモコンなどを使用して選択すると、機能操作一覧を表示するフィールド２００６に一覧表示、消去、スライドショー、メールなどの操作が表示される。図２０（ｂ）のフィールド２００６で、ユーザがスライドショー２０１０を選択すると、選択に対応した操作が実行され、ユーザは、最小限の操作指令のみで希望する操作を行うことが可能となる。なお、ユーザの機能選択は、管理サーバ１０４へと送られて、操作履歴テーブル３０２ｃなどを更新するためのデータとされる。
【００８４】
図２１は、本実施形態の管理サーバ１０４がクライアントマシン１０６ａ〜１０６ｄのディスプレイ画面上または複合機１０８の操作パネル上に表示する、選択確率の調整画面２１００の実施形態を示す。調整画面２１００には、機能カスタマイズを指定するための画面であることが「表示する機能のカスタマイズ」として表示されている。また、調整画面２１００には、カスタマイズ度を示すグラフィックス表示２１０２が提供されている。また、グラフィックス表示２１０２に対応して、カスタマイズ度の高低を示す表示「カスタマイズユーザ向き」２１０４、「普通のユーザ向き」２１０６として示されている。
【００８５】
ユーザは、図２１に示した調整画面２１００を参照として、提示される機能の種類を、選択確率を変更させることにより設定することができる。図２１に示した実施形態では、カスタマイズ度に対応して複数の選択ボタン２１０８〜選択ボタン２１１０が提供されている。各選択ボタン２１０８〜２１１０には、汎用性指標の特定の値範囲が割当てられている。一方、選択するべき機能についても、例えば統計的にユーザが利用する機能に対応する汎用性指標αが割当てられていて、例えばＲＯＭなどに登録されている。ユーザが、選択ボタン２１０８を選択すると、選択ボタン２１０８に割当てられた汎用性指標α０の値を中心として、（α０−β０）≦α０≦（α０＋β０）の範囲の汎用性指標が割当てられた機能がディスプレイ画面上に表示され、ユーザまたはユーザグループごとのカスタマイズが可能とされている。
【００８６】
以上説明したように、本発明では、情報処理装置に対する操作入力または操作指令を、ユーザが指令した操作コマンドおよび操作条件の因果関係を解析して類似計算を行うことにより、確率論的な観点から、ユーザが希望する操作を降順に表示させることが可能な、情報処理装置、操作支援システム、およびプログラムを提供することが可能となる。
【００８７】
また、管理サーバを使用して、操作支援を行う場合、当該ユーザ以外のユーザが行った電子ファイルについての操作であっても、操作候補として提示することができ、ユーザの操作履歴の多寡によらず、その時点でユーザが行う可能性の高い操作を、電子ファイルの特徴および確率論的な観点に基づいて選択し、提示する操作支援を行うことが可能となる。なお、本実施形態では、管理サーバを特に設置することなく、管理サーバに変えて、複合機の提供する機能として、入力支援処理を提供することもできる。
【００８８】
また、本実施形態の上記機能は、Ｃ＋＋、Ｊａｖａ（登録商標）、Ｊａｖａ（登録商標）Ｂｅａｎｓ、Ｊａｖａ（登録商標）Ａｐｐｌｅｔ、Ｊａｖａ（登録商標）Ｓｃｒｉｐｔ、Ｐｅｒｌ、Ｒｕｂｙなどのオブジェクト指向プログラミング言語などで記述された装置実行可能なプログラムにより実現でき、装置可読な記録媒体に格納して頒布することができる。
【００８９】
これまで本発明を図面に示した実施形態をもって説明してきたが、本発明は、実施形態に限定されるものではなく、他の実施形態、追加、変更、削除など、当業者が想到することができる範囲内で変更することができ、いずれの態様においても本発明の作用・効果を奏する限り、本発明の範囲に含まれるものである。
【図面の簡単な説明】
【００９０】
【図１】本実施形態の操作支援システムを示した図。
【図２】本実施形態で使用される情報処理装置の機能構成を示した図。
【図３】管理サーバの機能構成を示した図。
【図４】クライアントマシンの機能構成を例示した図。
【図５】クライアントマシンがディスプレイスクリーン上に表示する機能選択画面の実施形態を示した図。
【図６】クライアントマシンで実行される、管理サーバによる操作支援処理の実施形態についてのフローチャート。
【図７】クライアントマシンが、管理サーバが管理するテーブルセットを更新する処理の実施形態についてのフローチャート。
【図８】操作候補テーブルの実施形態を示した図。
【図９】入力情報テーブルの実施形態を示した図。
【図１０】選択確率テーブルの実施形態を示した図。
【図１１】操作履歴テーブルの実施形態を示した図。
【図１２】類似度テーブルの実施形態を示した図。
【図１３】クライアントマシンが含む選択候補提示部の処理の実施形態についてのフローチャートを示した図。
【図１４】管理サーバの機能選択確率計算部が実行する選択確率計算の実施形態についてのフローチャートを示した図。
【図１５】管理サーバの機能選択確率計算部が実行する選択確率計算の第２の実施形態についてのフローチャートを示した図。
【図１６】履歴更新部が実行する処理の実施形態についてのフローチャート。
【図１７】類似度更新部が実行する処理の実施形態についてのフローチャート。
【図１８】操作支援処理を実行するプログラムを、クライアントマシン１０６ａのプリンタドライバとして実装した他の実施形態を示した図。
【図１９】プリンタドライバにより操作履歴を登録するデータテーブルを示した図。
【図２０】本実施形態の情報処理装置が、ＤＶＤ、ＣＤ−ＲＯＭ、ＭＯなどのドライブに登録されたメディアに格納された電子ファイルに対して操作支援を適用する場合の実施形態を示した図。
【図２１】本実施形態の汎用性指標αの調整画面の実施形態を示した図。
【符号の説明】
【００９１】
１００…操作支援システム、１０２…ネットワーク、１０４…管理サーバ、１０６ａ、１０６ｂ、１０６ｃ、１０６ｄ…クライアントマシン、１０８…複合機、１１０…コンピュータ本体、１１２…キーボード、１１４…マウス、２００…情報処理装置、２０２…中央処理装置（ＣＰＵ）、２０４…キャッシュメモリ、２０６…ディスプレイ、２０８…ディスプレイアダプタ、２１０…システムメモリ、２１２…ネットワークデバイス、２１４…システムバス、２１６…Ｉ／Ｏバスブリッジ、２１８…Ｉ／Ｏバスには、２２０…ハードディスク装置、２２２…入力装置、２２４…シリアルポート、２２６…音声インタフェース、２２８…ネットワーク、３００…履歴管理部、３０２…テーブルセット、３０４…ネットワークインタフェース、４００…ユーザインタフェース部、４０２…操作支援情報処理部、４０４…ストレージインタフェース、４０６…ネットワークインタフェース
【図１】
2009087318.tif 000006
【図２】
2009087318.tif 000007
【図３】
2009087318.tif 000008
【図４】
2009087318.tif 000009
【図５】
2009087318.tif 000010
【図６】
2009087318.tif 000011
【図７】
2009087318.tif 000012
【図８】
2009087318.tif 000013
【図９】
2009087318.tif 000014
【図１０】
2009087318.tif 000015
【図１１】
2009087318.tif 000016
【図１２】
2009087318.tif 000017
【図１３】
2009087318.tif 000018
【図１４】
2009087318.tif 000019
【図１５】
2009087318.tif 000020
【図１６】
2009087318.tif 000021
【図１７】
2009087318.tif 000022
【図１８】
2009087318.tif 000023
【図１９】
2009087318.tif 000024
【図２０】
2009087318.tif 000025
【図２１】
2009087318.tif 000026