(57)【要約】【課題】操作候補を提供する際にかかる負荷の抑制を図ること。【解決手段】操作候補提供装置１０１は、記憶部１１２に蓄積されたログに基づいて、操作候補提供装置１０１で実行された操作について、繰り返し操作種別パターンを検出する。次に、操作候補提供装置１０１は、検出した繰り返し操作種別パターンに合致する操作情報１２０群の詳細情報１２２を、操作バッファ１１１から取得する。そして、操作候補提供装置１０１が、検出した繰り返し操作種別パターンにおける最初の操作と合致する操作を操作候補提供装置１０１において検出したとする。このとき、最初の操作と合致する操作を検出すると、操作候補提供装置１０１は、取得した詳細情報１２２に基づいて、繰り返し操作種別パターンにおける最初の操作に続く操作情報１２０を操作候補として提供する。【選択図】図１
2016218743.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータに、
前記コンピュータで実行される操作に応じて、該操作のログを記憶部に蓄積し、
前記記憶部に蓄積された前記ログに基づいて、前記コンピュータで実行された操作について、操作種別の繰り返しのパターンを検出し、
検出した前記繰り返しのパターンに合致する操作情報群の詳細情報を、操作バッファから取得し、
検出した前記繰り返しのパターンにおける最初の操作と合致する操作を前記コンピュータにおいて検出すると、取得した前記詳細情報に基づいて、前記繰り返しのパターンにおける前記最初の操作に続く操作情報を操作候補として提供する、
処理を実行させることを特徴とする操作候補提供プログラム。
【請求項２】
前記操作バッファは、前記コンピュータで実行される操作を示す操作情報を、先入れ先出しで記憶する記憶領域であり、
前記操作情報は、操作種別と前記操作種別に応じた詳細情報とを有することを特徴とする請求項１に記載の操作候補提供プログラム。
【請求項３】
前記コンピュータに、
前記操作バッファから取得した前記操作情報群を前記操作バッファとは異なる他の記憶領域に格納し、
前記コンピュータで実行される操作に応じて、該操作によって更新された前記操作バッファの操作情報群と合致した前記他の記憶領域に格納された操作情報群の繰り返し回数を増加させる、処理を実行させ、
前記提供する処理は、
検出した前記繰り返しのパターンにおける最初の操作と合致する操作を前記コンピュータにおいて検出すると、前記他の記憶領域に格納された操作情報群の繰り返し回数が所定数を超えていれば、前記他の記憶領域に格納された詳細情報に基づいて、前記繰り返しのパターンにおける前記最初の操作に続く操作情報を操作候補として提供する、
ことを特徴とする請求項２に記載の操作候補提供プログラム。
【請求項４】
前記繰り返し回数を増加させる処理は、
前記コンピュータで実行される操作に応じて、該操作が行われた時刻が所定期間に含まれていれば、該操作によって更新された前記操作バッファの操作情報群と合致した前記他の記憶領域に格納された操作情報群の繰り返し回数を増加させる、
ことを特徴とする請求項３に記載の操作候補提供プログラム。
【請求項５】
前記所定期間は、断続的な期間であり、
前記提供する処理は、
検出した前記繰り返しのパターンにおける最初の操作と合致する操作を前記コンピュータにおいて検出すると、前記他の記憶領域に格納された操作情報群の繰り返し回数が前記所定数を超えており、かつ、該操作が行われた時刻が前記所定期間に含まれていれば、前記他の記憶領域に格納された詳細情報に基づいて、前記繰り返しのパターンにおける前記最初の操作に続く操作情報を操作候補として提供する、
ことを特徴とする請求項４に記載の操作候補提供プログラム。
【請求項６】
自装置で実行される操作に応じて、該操作のログを記憶部に蓄積し、
前記記憶部に蓄積された前記ログに基づいて、自装置で実行された操作について、操作種別の繰り返しのパターンを検出し、
検出した前記繰り返しのパターンに合致する操作情報群の詳細情報を、操作バッファから取得し、
検出した前記繰り返しのパターンにおける最初の操作と合致する操作を自装置において検出すると、取得した前記詳細情報に基づいて、前記繰り返しのパターンにおける前記最初の操作に続く操作情報を操作候補として提供する、
制御部を有することを特徴とする操作候補提供装置。
【請求項７】
コンピュータが、
前記コンピュータで実行される操作に応じて、該操作のログを記憶部に蓄積し、
前記記憶部に蓄積された前記ログに基づいて、前記コンピュータで実行された操作について、操作種別の繰り返しのパターンを検出し、
検出した前記繰り返しのパターンに合致する操作情報群の詳細情報を、操作バッファから取得し、
検出した前記繰り返しのパターンにおける最初の操作と合致する操作を前記コンピュータにおいて検出すると、取得した前記詳細情報に基づいて、前記繰り返しのパターンにおける前記最初の操作に続く操作情報を操作候補として提供する、
処理を実行することを特徴とする操作候補提供方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、操作候補提供プログラム、操作候補提供装置、および操作候補提供方法に関する。
【背景技術】
【０００２】
従来、利用者によるソフトウェアの操作を示す操作情報をログとして蓄積し、ログから頻繁に行われた操作情報のパターンを検出し、検出した操作情報のパターンを操作候補として利用者に提供する技術がある。関連する先行技術として、例えば、利用者が情報端末で実行したアプリに対する画面の操作内容の情報を格納した操作履歴データベースから頻繁に行われた操作内容の情報を抽出し、抽出した操作を実行するスクリプトを利用者が使用するものがある。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１３−７３４２８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来技術によれば、ソフトウェアの操作を示す操作情報を蓄積する量が多くなるほど、操作候補を提供する際にかかる負荷が増大する。具体的には、例えば、蓄積する操作情報が多くなるほど、操作情報を蓄積するための記憶領域にかかる負荷が増大する。また、蓄積する操作情報が多くなるほど、蓄積された操作情報から繰り返しのパターンを検索する検索対象が多くなるため、操作の繰り返しのパターンの検出にかかる負荷が増大する。
【０００５】
１つの側面では、本発明は、操作候補を提供する際にかかる負荷を抑制することができる操作候補提供プログラム、操作候補提供装置、および操作候補提供方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明の一態様によれば、コンピュータで実行される操作に応じて、該操作のログを記憶部に蓄積し、記憶部に蓄積されたログに基づいて、コンピュータで実行された操作について、操作種別の繰り返しのパターンを検出し、検出した繰り返しのパターンに合致する操作情報群の詳細情報を、操作バッファから取得し、検出した繰り返しのパターンにおける最初の操作と合致する操作をコンピュータにおいて検出すると、取得した詳細情報に基づいて、繰り返しのパターンにおける最初の操作に続く操作情報を操作候補として提供する操作候補提供プログラム、操作候補提供装置、および操作候補提供方法が提案される。
【発明の効果】
【０００７】
本発明の一側面によれば、操作候補を提供する際にかかる負荷を抑制することができるという効果を奏する。
【図面の簡単な説明】
【０００８】
【図１】図１は、実施の形態１にかかる操作候補提供装置１０１の動作例を示す説明図である。
【図２】図２は、操作候補提供装置１０１のハードウェア構成例を示すブロック図である。
【図３】図３は、操作候補提供装置１０１の機能構成例を示す説明図である。
【図４】図４は、操作バッファ１１１の記憶内容の一例を示す説明図である。
【図５】図５は、記憶部１１２の記憶内容の一例を示す説明図である。
【図６】図６は、繰り返し操作種別パターンの検出例を示す説明図である。
【図７】図７は、繰り返し操作情報パターンテーブル３１２の記憶内容の一例を示す説明図である。
【図８】図８は、繰り返し操作情報パターンテーブル３１２への追加例を示す説明図である。
【図９】図９は、繰り返し操作情報パターンテーブル３１２の更新例を示す説明図である。
【図１０】図１０は、繰り返し操作情報パターンの提供例を示す説明図である。
【図１１】図１１は、利用者の操作による画面例を示す説明図（その１）である。
【図１２】図１２は、利用者の操作による画面例を示す説明図（その２）である。
【図１３】図１３は、実施の形態１にかかる操作候補提供処理手順の一例を示すフローチャート（その１）である。
【図１４】図１４は、実施の形態１にかかる操作候補提供処理手順の一例を示すフローチャート（その２）である。
【図１５】図１５は、実施の形態１にかかる操作候補提供処理手順の一例を示すフローチャート（その３）である。
【図１６】図１６は、実施の形態２にかかる操作候補提供装置１６０１の機能構成例を示す説明図である。
【図１７】図１７は、条件テーブル１６１１の記憶内容の一例を示す説明図である。
【図１８】図１８は、繰り返し操作情報パターンテーブル１６１２の記憶内容の一例を示す説明図である。
【図１９】図１９は、実施の形態２にかかる操作候補提供処理手順の一例を示すフローチャート（その２）である。
【図２０】図２０は、実施の形態３にかかる操作候補提供システム２０００の機能構成例を示す説明図である。
【発明を実施するための形態】
【０００９】
以下に図面を参照して、開示の操作候補提供プログラム、操作候補提供装置、および操作候補提供方法の実施の形態を詳細に説明する。
【００１０】
（実施の形態１の説明）
図１は、実施の形態１にかかる操作候補提供装置１０１の動作例を示す説明図である。操作候補提供装置１０１は、操作候補提供装置１０１の利用者に操作候補を提供するコンピュータである。操作候補提供装置１０１は、パーソナル・コンピュータでもよいし、携帯電話等の携帯端末でもよい。例えば、利用者は、操作候補提供装置１０１で実行中のソフトウェアを操作する際に、一連の操作を繰り返し行うことがある。そこで、操作候補提供装置１０１は、繰り返し行われた一連の操作を、操作候補として提供することにより、利用者が一連の操作を行わずに済むようになる。
【００１１】
ここで、操作の対象となるソフトウェアは、操作を受け付けるソフトウェアであればどのようなものでもよい。例えば、操作の対象となるソフトウェアは、表計算ソフト、ワープロソフト、プレゼンテーションソフト、画像編集ソフト等である。また、操作の対象となるソフトウェアは、ＧＵＩ（Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）による操作方法を提供するソフトウェアでもよいし、ＣＵＩ（Ｃｈａｒａｃｔｅｒ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）による操作方法を提供するソフトウェアでもよい。
【００１２】
操作候補を提供する技術としては、例えば、アプリの操作情報をログとして蓄積し、ログから頻繁に行われた操作情報のパターンを検出し、検出したパターンが再度実行されると判断した際、検出したパターンを操作候補として提供するものがある。
【００１３】
しかしながら、ソフトウェアの操作を示す操作情報を蓄積する量が多くなるほど、操作候補を提供する際にかかる負荷が増大する。具体的には、例えば、蓄積する操作情報が多くなるほど、操作情報を蓄積するための記憶領域にかかる負荷が増大する。また、蓄積する操作情報が多くなるほど、蓄積された操作情報から繰り返しのパターンを検索する検索対象が多くなるため、操作の繰り返しのパターンの検出にかかる負荷が増大する。例えば、操作情報が、背景色をある色で塗りつぶしたという操作を示す情報であるとする。このとき、操作情報には、色の情報として、例えば、ＲＧＢ値が格納される。ＲＧＢ値は、２５６＊２５６＊２５６通りあり、色の情報が異なる操作情報を、それぞれ別の操作情報として扱うことになるため、検出にかかる負荷が増大することになる。
【００１４】
そこで、実施の形態１では、操作情報の操作種別だけを蓄積したログから繰り返しのパターンを検出し、検出したパターンの最初の操作が行われたらパターンの２番目の操作情報を提供する方法について説明する。
【００１５】
図１において、操作候補提供装置１０１は、操作バッファ１１１と、記憶部１１２とを有する。操作バッファ１１１は、操作候補提供装置１０１で実行される操作を示す操作情報１２０を先入れ先出し（Ｆｉｒｓｔ  Ｉｎ，Ｆｉｒｓｔ  Ｏｕｔ）で記憶する記憶領域である。操作バッファ１１１は、２以上の操作情報１２０を記憶する。そして、操作情報１２０は、操作種別１２１と操作種別１２１に応じた詳細情報１２２とを有する。操作情報１２０には、詳細情報１２２を有さないものがあってもよい。記憶部１１２は、複数の操作種別１２１を記憶する。
【００１６】
ここで、操作種別１２１は、操作の種類を識別する情報である。例えば、操作の対象となるソフトウェアが、表計算ソフトであれば、操作種別１２１は、表計算ソフトの画面上における、１つ１つの数値データを格納する領域であるセルに値を入力するという操作であったり、セルの文字色を変更するという操作であったりする。そして、詳細情報１２２は、操作種別１２１に応じた情報である。例えば、操作種別１２１がセルに値を入力するという操作を示す場合、詳細情報１２２は、具体的に入力される値となる。また、例えば、操作種別１２１がセルの文字色を変更するという操作を示す場合、変更する文字色を示す値、例えば、ＲＧＢ値である。
【００１７】
また、例えば、操作の対象となるソフトウェアが、ＣＵＩによる操作方法を提供するソフトウェアであれば、操作種別１２１は、該当のソフト名に加えて、与えられるコマンド名である。そして、詳細情報１２２は、コマンドに与えられる引数である。
【００１８】
操作情報１２０のうち、どの情報を操作種別１２１とし、どの情報を詳細情報１２２とするかについては、実施の形態１における操作候補提供方法の開発者が、操作の対象となるソフトウェアで行い得る操作ごとに決めておけばよい。
【００１９】
操作候補提供装置１０１は、操作候補提供装置１０１で実行される操作に応じて、操作のログを記憶部１１２に蓄積する。具体的には、操作候補提供装置１０１は、操作を示す操作情報１２０のうちの操作種別１２１を記憶部１１２に蓄積する。また、操作候補提供装置１０１は、操作情報１２０を記憶部１１２に一旦格納したのち、記憶部１１２に格納した操作情報１２０を解析して、操作情報１２０から詳細情報１２２を削除してもよい。また、操作候補提供装置１０１は、操作を実行してから操作種別１２１を記憶部１１２に蓄積してもよいし、操作を実行する前に操作種別１２１を記憶部１１２に蓄積してもよい。
【００２０】
図１の例では、操作バッファ１１１は、操作情報１２０＿ｉ−１と、操作情報１２０＿ｉとを有する。ここで、操作情報１２０の末尾符号「＿ｉ−１」、「＿ｉ」は、それぞれ、ｉ−１番目、ｉ番目であることを示す。ｉは２以上の整数である。従って、操作情報１２０＿ｉ−１は、ｉ−１番目の操作情報であり、操作情報１２０＿ｉは、ｉ番目の操作情報である。操作種別１２１、詳細情報１２２の末尾符号も、操作情報１２０の末尾符号と同様の意味を持つ。そして、操作情報１２０＿ｉ−１は、種別１を示す操作種別１２１＿ｉ−１と、操作種別１２１＿ｉ−１に応じた詳細情報１２２＿ｉ−１とを有する。また、操作情報１２０＿ｉは、種別２を示す操作種別１２１＿ｉと、操作種別１２１＿ｉに応じた詳細情報１２２＿ｉと、を記憶する。また、図１の例では、操作種別１２１を、下辺を斜めの線とする四角形として示し、詳細情報１２２を、上辺を斜めの線とする四角形として示す。
【００２１】
また、記憶部１１２は、種別１を示す操作種別１２１＿１と、種別２を示す操作種別１２１＿２と、…、操作種別１２１＿ｉ−１と、操作種別１２１＿ｉとを有する。
【００２２】
そして、操作候補提供装置１０１は、記憶部１１２に蓄積されたログに基づいて、操作候補提供装置１０１で実行された操作について、操作種別１２１の繰り返しのパターンを検出する。操作種別１２１の繰り返しのパターンを、「繰り返し操作種別パターン」と称する。これに対し、操作種別１２１に詳細情報１２２を加えた操作情報の繰り返しのパターンを、「繰り返し操作情報パターン」と称する。
【００２３】
具体的な繰り返し操作種別パターンの検出例については、図６で説明する。図１の例では、種別１、種別２という繰り返しが、操作種別１２１＿１、２と、操作種別１２１＿ｉ−１、ｉとで、２回発生しており、操作候補提供装置１０１は、種別１、種別２という繰り返しを、繰り返し操作種別パターンとして検出する。
【００２４】
次に、操作候補提供装置１０１は、検出した繰り返し操作種別パターンに合致する操作情報１２０群の詳細情報１２２を、操作バッファ１１１から取得する。図１の例では、操作候補提供装置１０１は、検出した繰り返し操作種別パターンに合致する操作情報１２０群の詳細情報１２２として、詳細情報１２２＿ｉ−１と詳細情報１２２＿ｉとを取得する。このとき、操作候補提供装置１０１は、検出した繰り返し操作種別パターンに合致する操作情報１２０そのものを取得してもよい。
【００２５】
そして、操作候補提供装置１０１が、検出した繰り返し操作種別パターンにおける最初の操作と合致する操作を操作候補提供装置１０１において検出したとする。図１の例では、操作情報１２０＿ｘが示す操作が実行されるとする。そして、操作情報１２０＿ｘの操作種別１２１＿ｘが種別１であるとする。このとき、操作候補提供装置１０１は、繰り返し操作種別パターンにおける最初の操作の操作種別１２１＿ｉ−１が種別１であり、操作種別１２１＿ｘが種別１であるから、検出した繰り返し操作種別パターンにおける最初の操作と合致する操作を検出したとする。ここで、最初の操作と合致する操作について、操作候補提供装置１０１は、操作種別１２１に加えて、詳細情報１２２が合致した際に、最初の操作と合致する操作として検出してもよい。
【００２６】
そして、最初の操作と合致する操作を検出すると、操作候補提供装置１０１は、取得した詳細情報１２２に基づいて、繰り返し操作種別パターンにおける最初の操作に続く操作情報１２０を操作候補として提供する。図１の例では、操作候補提供装置１０１は、最初の操作を示す操作情報１２０＿ｉ−１に続く操作情報１２０＿ｉを利用者に提供する。具体的な提供方法としては、利用者に操作情報１２０＿ｉを提示したり、操作情報１２０＿ｉを実行したりする。これにより、操作候補提供装置１０１は、操作候補を提供する際にかかる負荷を抑制することができる。次に、操作候補提供装置１０１のハードウェアについて、図２を用いて説明する。
【００２７】
（操作候補提供装置１０１のハードウェア構成例）
図２は、操作候補提供装置１０１のハードウェア構成例を示すブロック図である。操作候補提供装置１０１は、ＣＰＵ２０１と、ＲＯＭ２０２と、ＲＡＭ２０３と、を含む。また、操作候補提供装置１０１は、ディスクドライブ２０４と、ディスク２０５と、通信インターフェース２０６と、を含む。また、操作候補提供装置１０１は、ディスプレイ２０７と、キーボード２０８と、マウス２０９とを含む。また、ＣＰＵ２０１〜ディスクドライブ２０４と、通信インターフェース２０６〜マウス２０９とは、バス２１０によってそれぞれ接続される。
【００２８】
ＣＰＵ２０１は、操作候補提供装置１０１の全体の制御を司る演算処理装置である。ＲＯＭ２０２は、ブートプログラムなどのプログラムを記憶する不揮発性メモリである。ＲＡＭ２０３は、ＣＰＵ２０１のワークエリアとして使用される揮発性メモリである。
【００２９】
ディスクドライブ２０４は、ＣＰＵ２０１の制御に従ってディスク２０５に対するデータのリードおよびライトを制御する制御装置である。ディスクドライブ２０４には、例えば、磁気ディスクドライブ、光ディスクドライブ、ソリッドステートドライブなどを採用することができる。ディスク２０５は、ディスクドライブ２０４の制御で書き込まれたデータを記憶する不揮発性メモリである。例えばディスクドライブ２０４が磁気ディスクドライブである場合、ディスク２０５には、磁気ディスクを採用することができる。また、ディスクドライブ２０４が光ディスクドライブである場合、ディスク２０５には、光ディスクを採用することができる。また、ディスクドライブ２０４がソリッドステートドライブである場合、ディスク２０５には、半導体素子によって形成された半導体メモリ、いわゆる半導体ディスクを採用することができる。
【００３０】
通信インターフェース２０６は、ネットワークと内部のインターフェースを司り、外部装置からのデータの入出力を制御する制御装置である。具体的に、通信インターフェース２０６は、通信回線を通じてネットワークを介して他の装置に接続される。通信インターフェース２０６には、例えば、モデムやＬＡＮアダプタなどを採用することができる。
【００３１】
ディスプレイ２０７は、マウスカーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する装置である。ディスプレイ２０７には、例えば、ＣＲＴ（Ｃａｔｈｏｄｅ  Ｒａｙ  Ｔｕｂｅ）、ＴＦＴ（Ｔｈｉｎ  Ｆｉｌｍ  Ｔｒａｎｓｉｓｔｏｒ）液晶ディスプレイ、プラズマディスプレイなどを採用することができる。
【００３２】
キーボード２０８は、文字、数字、各種指示などの入力のためのキーを有し、データの入力を行う装置である。また、キーボード２０８は、タッチパネル式の入力パッドやテンキーなどであってもよい。マウス２０９は、マウスカーソルの移動や範囲選択、あるいはウィンドウの移動やサイズの変更などを行う装置である。マウス２０９は、ポインティングデバイスとして同様に機能を有するものであれば、トラックボールやジョイスティックなどであってもよい。
【００３３】
（操作候補提供装置１０１の機能構成例）
図３は、操作候補提供装置１０１の機能構成例を示す説明図である。操作候補提供装置１０１は、制御部を有する。制御部は、操作キャプチャ部３００と、蓄積部３０１と、検出部３０２と、取得部３０３と、増加部３０４と、提供部３０５と、を含む。制御部となる蓄積部３０１〜提供部３０５は、記憶装置に記憶されたプログラムをＣＰＵ２０１が実行することにより、各部の機能を実現する。記憶装置とは、具体的には、例えば、図２に示したＲＯＭ２０２、ＲＡＭ２０３、ディスク２０５などである。また、各部の処理結果は、ＣＰＵ２０１のレジスタや、ＣＰＵ２０１のキャッシュメモリ等に格納される。
【００３４】
また、操作候補提供装置１０１は、操作バッファ１１１と、記憶部１１２と、繰り返し操作種別パターンテーブル３１１と、繰り返し操作情報パターンテーブル３１２とにアクセス可能である。操作バッファ１１１と、記憶部１１２と、繰り返し操作種別パターンテーブル３１１と、繰り返し操作情報パターンテーブル３１２とは、ＲＡＭ２０３、ディスク２０５といった記憶装置に格納される。繰り返し操作種別パターンテーブル３１１は、繰り返し操作種別パターンを記憶するテーブルである。繰り返し操作情報パターンテーブル３１２は、繰り返し操作情報パターンを記憶するテーブルである。
【００３５】
操作キャプチャ部３００は、操作候補提供装置１０１で実行される操作をキャプチャする。例えば、操作キャプチャ部３００は、操作の対象となるソフトウェアから操作情報を受け取れる仕様であれば、操作の対象となるソフトウェアから操作情報１２０を取得する。また、操作キャプチャ部３００は、操作の対象となるソフトウェアから操作情報を受け取れないのであれば、画面情報から操作種別１２１と詳細情報１２２とを解析することにより、操作情報１２０を取得する。
【００３６】
蓄積部３０１は、操作候補提供装置１０１で実行される操作に応じて、操作のログを記憶部１１２に蓄積する。また、蓄積部３０１は、操作の操作情報１２０を操作バッファ１１１に格納する。
【００３７】
検出部３０２は、記憶部１１２に蓄積されたログに基づいて、操作候補提供装置１０１で実行された操作について、繰り返し操作種別パターンを検出する。
【００３８】
取得部３０３は、検出部３０２が検出した繰り返しのパターンに合致する操作情報１２０群の詳細情報１２２を、操作バッファ１１１から取得する。また、取得部３０３は、操作バッファ１１１から取得した操作情報１２０群を操作バッファとは異なる他の記憶領域として、繰り返し操作情報パターンテーブル３１２に格納してもよい。
【００３９】
増加部３０４は、操作候補提供装置１０１で実行される操作に応じて、操作によって更新された操作バッファ１１１の操作情報１２０群と合致した繰り返し操作情報パターンテーブル３１２に格納された操作情報１２０群の繰り返し回数を増加させる。具体的な繰り返し回数の増加例については、図９で説明する。
【００４０】
ここで、検出部３０２が検出した繰り返し操作種別パターンにおける最初の操作と合致する操作を操作候補提供装置１０１において検出したとする。このとき、提供部３０５は、取得部３０３が取得した詳細情報１２２に基づいて、繰り返し操作種別パターンにおける最初の操作に続く操作情報１２０を操作候補として提供する。また、提供部３０５は、繰り返し操作情報パターンテーブル３１２に格納された操作情報１２０群の繰り返し回数が所定数を超えているかを判断する。そして、提供部３０５は、繰り返し回数が所定数を超えていれば、繰り返し操作情報パターンテーブル３１２に格納された詳細情報１２２に基づいて、繰り返し操作種別パターンにおける最初の操作に続く操作情報１２０を操作候補として提供してもよい。
【００４１】
具体的な提供の例としては、提供部３０５は、操作候補とする操作情報１２０をディスプレイ２０７に表示する。また、操作候補が１つの繰り返し操作種別パターンである場合、提供部３０５は、繰り返し操作種別パターンを実行することにより、操作候補を提供してもよい。または、操作候補提供装置１０１がスピーカを有するならば、操作候補となる繰り返し操作種別パターンの各操作情報１２０を読み上げた音声をスピーカから出力してもよい。
【００４２】
次に、操作の対象となるソフトウェアとして表計算ソフトを用いる際に操作候補を提供する例を、図４〜図１０を用いて説明する。ここで、表計算ソフトとは、数値データの集計・分析に用いられるアプリケーションソフトウェアである。
【００４３】
図４は、操作バッファ１１１の記憶内容の一例を示す説明図である。図４では、操作バッファ１１１の記憶内容の一例を示す。操作バッファ１１１は、一連の複数の操作情報１２０を記憶する記憶領域である。例えば、操作バッファ１１１は、ＲＡＭ２０３等の記憶装置の記憶領域である。ここで、操作バッファ１１１が記憶する各操作情報１２０は、操作種別１２１と、操作種別１２１に応じた詳細情報１２２とを有する情報である。
【００４４】
図４で示す操作バッファ１１１は、５つの操作情報１２０を記憶する。また、図４で示す操作バッファ１１１は、左側にある操作情報１２０ほど古く、右側にある操作情報１２０ほど新しい。図４で示す操作バッファ１１１には、最も古い操作情報１２０が、図４の（１）で示す操作情報１２０であり、図４の（２）〜図４の（５）の順で操作情報１２０が格納されている。
【００４５】
図４の（１）で示す操作情報１２０は、表計算ソフトにおいて、セルの選択を行ったという情報である。
【００４６】
また、図４の（２）で示す操作情報１２０は、表計算ソフトにおいて、セルの書式設定を開くという情報である。
【００４７】
また、図４の（３）で示す操作情報１２０は、表計算ソフトにおいて、セルの書式設定を開き、書式設定の塗りつぶしメニューから、（単色）［ＲＧＢ（１２８，１２８，１２８）］を選択したという情報である。
【００４８】
また、図４の（４）で示す操作情報１２０は、表計算ソフトにおいて、セルの書式設定を開き、書式設定の枠線の色メニューから、（単色）［ＲＧＢ（０，０，０）］を選択したという情報である。
【００４９】
また、図４の（５）で示す操作情報１２０は、表計算ソフトにおいて、セルの書式設定を開き、書式設定の枠線のスタイルメニューから、［幅（２ｐｔ）］を選択したという情報である。
【００５０】
図５は、記憶部１１２の記憶内容の一例を示す説明図である。図５では、記憶部１１２の記憶内容の一例を示す。記憶部１１２が記憶する各情報は、操作種別１２１であり、操作種別１２１に応じた詳細情報１２２を含まない。このように、記憶部１１２は、操作情報１２０のうちの操作種別１２１に応じた詳細情報１２２を含めずに、簡略化した操作種別１２１を記憶することにより、記憶量の増加を抑えて、大量の操作種別１２１を記憶することを可能にする。
【００５１】
記憶部１１２は、直近の操作種別１２１から、操作バッファ１１１より古い操作種別１２１までを記憶した操作種別１２１のログを記憶する記憶領域である。記憶部１１２は、操作候補提供装置１０１が起動してから現在までの全ての操作種別１２１を記憶することが好ましい。または、記憶部１１２は、５年前から現在までの全ての操作種別１２１、１年前から現在までの全ての操作種別１２１、というように、一定期間の操作種別１２１を記憶してもよい。
【００５２】
図５に示す記憶部１１２は、最下段の右側に示す操作種別１２１が最も新しく、左側にある操作種別１２１ほど、古くなる。そして、最下段の左側に示す操作種別１２１の次に古い操作種別１２１が、最下段の一つ上の段の右側に示す操作種別１２１となる。
【００５３】
例えば、図５に示す記憶部１１２で最も新しい操作種別１２１は、表計算ソフトにおいて、セルの書式設定を開き、書式設定の枠線のスタイルメニューまでを示す操作種別１２１である。ここで、図５に示す記憶部１１２で最も新しい操作種別１２１は、図４の（５）で示す操作情報１２０に対応する。
【００５４】
図６は、繰り返し操作種別パターンの検出例を示す説明図である。図６では、記憶部１１２から、繰り返し操作種別パターンを検出する例について説明する。操作候補提供装置１０１は、記憶部１１２から、繰り返された連続した操作種別１２１を検出し、繰り返し操作種別パターンとして検出する。繰り返し操作種別パターンを検出するタイミングは、いつでもよい。例えば、操作候補提供装置１０１は、記憶部１１２に操作種別１２１を追加した都度行う。または、操作候補提供装置１０１は、操作候補提供装置１０１の利用者の指示に応じて、繰り返し操作種別パターンを検出してもよい。
【００５５】
図６の例を用いて繰り返し操作種別パターンの検出の一例を説明する。具体的には、操作候補提供装置１０１は、記憶部１１２から、操作バッファ１１１が記憶する操作情報１２０の個数以下の連続した操作種別１２１を取得する。例えば、図４では、操作バッファ１１１が記憶する操作情報１２０の個数が５であったため、操作候補提供装置１０１は、記憶部１１２から、直近の５つの操作種別１２１を取得する。
【００５６】
そして、操作候補提供装置１０１は、記憶部１１２から、取得した連続した操作種別１２１と合致する連続した操作種別１２１が閾値以上ある場合に、取得した連続した操作種別１２１が繰り返されたとみなして、繰り返し操作種別パターンとして検出する。連続した操作種別１２１が繰り返されたとみなす閾値を、以下、「繰り返し閾値」と呼称する。
【００５７】
例えば、図６の例では、直近の５つの操作種別１２１と合致する連続した操作種別１２１が２つあるとする。図６の例では、記憶部１１２内のハッチを付与した箇所が、直近の５つの操作種別１２１と合致する連続した操作種別１２１である。そして、繰り返し閾値を２とする。この場合、操作候補提供装置１０１は、取得した連続した操作種別１２１と合致する連続した操作種別１２１が繰り返し閾値以上あると判断し、直近の５つの操作種別１２１を繰り返し操作種別パターンとして検出する。
【００５８】
繰り返し操作種別パターンを検出した場合、操作候補提供装置１０１は、検出した繰り返し操作種別パターンを、繰り返し操作種別パターンテーブル３１１に追加する。図６の例では、繰り返し操作種別パターンテーブル３１１は、レコード６０１＿１、２を記憶する。そして、操作候補提供装置１０１は、レコード６０１＿３として、検出した繰り返し操作種別パターンを、繰り返し操作種別パターンテーブル３１１に追加する。
【００５９】
繰り返し操作種別パターンテーブル３１１は、検出した繰り返し操作種別パターンを１レコードとして記憶するテーブルである。繰り返し操作種別パターンテーブル３１１の各レコードが有する操作種別１２１の個数は、操作バッファ１１１の記憶する操作情報１２０の個数を最大値として、それぞれ異なってもよい。次に、図７を用いて、繰り返し操作情報パターンテーブル３１２の記憶内容の一例について説明する。
【００６０】
図７は、繰り返し操作情報パターンテーブル３１２の記憶内容の一例を示す説明図である。繰り返し操作情報パターンテーブル３１２は、繰り返し操作情報パターンを記憶するテーブルである。繰り返し操作情報パターンテーブル３１２の各レコードが、１つの繰り返し操作情報パターンを記憶する。図７に示す繰り返し操作情報パターンテーブル３１２は、レコード７０１＿１、２を有する。
【００６１】
繰り返し操作情報パターンテーブル３１２は、繰り返し操作情報パターンを形成する操作情報１２０と、繰り返し回数と、候補フラグというフィールドを有する。操作情報フィールドには、繰り返し操作情報パターンを形成する操作情報１２０が格納される。繰り返し操作情報パターンテーブル３１２の各レコードが有する操作情報１２０の個数は、操作バッファ１１１の記憶する操作情報１２０の個数を最大値として、それぞれ異なってもよい。
【００６２】
繰り返し回数フィールドには、繰り返し操作情報パターンが繰り返された回数を示す値が格納される。候補フラグフィールドには、繰り返し操作情報パターンを候補として提供するか否かを示す識別子が格納される。具体的には、候補フラグフィールドには、繰り返し操作情報パターンを候補として利用者に提供することを示す「有効」識別子か、繰り返し操作情報パターンを候補として利用者に提供しないことを示す「無効」識別子かのいずれかが格納される。
【００６３】
例えば、レコード７０１＿１は、レコード７０１＿１が示す繰り返し操作情報パターンが７回繰り返されており、レコード７０１＿１が示す繰り返し操作情報パターンを利用者に提供することを示す。次に、繰り返し操作情報パターンテーブル３１２への繰り返し操作情報パターンの追加例について、図８を用いて説明する。
【００６４】
図８は、繰り返し操作情報パターンテーブル３１２への追加例を示す説明図である。図８では、繰り返し操作情報パターンテーブル３１２に繰り返し操作情報パターンを追加する例について説明する。繰り返し操作情報パターンテーブル３１２に繰り返し操作情報パターンを追加する契機としては、例えば、繰り返し操作種別パターンテーブル３１１にレコードを追加した時となる。
【００６５】
まず、操作候補提供装置１０１は、操作バッファ１１１と繰り返し操作種別パターンテーブル３１１とを比較する。より具体的には、操作候補提供装置１０１は、操作バッファ１１１の各操作情報１２０から、操作種別１２１を抽出した繰り返し操作種別パターンを生成する。そして、操作候補提供装置１０１は、繰り返し操作種別パターンテーブル３１１の各レコードから、生成した繰り返し操作種別パターンと合致するパターンを検索する。そして、合致するパターンがあれば、操作候補提供装置１０１は、操作バッファ１１１の各操作を、繰り返し操作情報パターンとして、繰り返し操作情報パターンテーブル３１２に追加する。
【００６６】
図８の例では、操作候補提供装置１０１は、操作バッファ１１１から生成した繰り返し操作種別パターンがレコード６０１＿３の繰り返し操作種別パターンに合致したと判断する。そして、操作候補提供装置１０１は、操作バッファ１１１の各操作を、繰り返し操作情報パターンとして、繰り返し操作情報パターンテーブル３１２のレコード７０１＿３として追加する。
【００６７】
繰り返し操作情報パターンテーブル３１２に追加する際に、追加するレコードの繰り返し回数フィールドには、１が格納されてもよいし、追加するレコードに対応する繰り返し操作種別パターンを検出した際の回数を示す値が格納されてもよい。また、追加するレコードの候補フラグフィールドには、「無効」識別子が格納される。
【００６８】
図９は、繰り返し操作情報パターンテーブル３１２の更新例を示す説明図である。操作候補提供装置１０１は、繰り返し操作情報パターンテーブル３１２を、操作の度に確認し、操作バッファ１１１と合致する繰り返し操作情報パターンの繰り返し回数をインクリメントする。そして、操作候補提供装置１０１は、繰り返し回数が所定数を超えた場合、インクリメントした繰り返し操作情報パターンの候補フラグを「有効」に設定する。繰り返し操作情報パターンを利用者に提供するものとする所定数を、以下、「候補閾値」と呼称する。
【００６９】
ここで、操作候補提供装置１０１は、操作バッファ１１１に格納される操作情報１２０の個数から、繰り返し操作情報パターンを形成する操作情報１２０の個数を引いた差分の値分、重複してインクリメントしてしまうことになる。従って、操作候補提供装置１０１は、操作バッファ１１１に格納される操作情報１２０の個数から繰り返し操作情報パターンを形成する操作情報１２０の個数を引いた差分を、予め決めた値に加えた値を候補閾値とする。これにより、重複してインクリメントしてしまう分の影響を吸収できるため、繰り返し操作情報パターンを形成する操作情報１２０の個数に影響されずに、頻繁に実行された繰り返し操作情報パターンを操作候補として提供することができる。
【００７０】
例えば、図９の例では、候補閾値が４回であるとする。そして、レコード７０１＿３の繰り返し回数がインクリメントした結果５回となり、候補閾値を超えたため、操作候補提供装置１０１は、レコード７０１＿３の候補フラグを無効から有効に設定する。
【００７１】
図１０は、繰り返し操作情報パターンの提供例を示す説明図である。図１０では、繰り返し操作情報パターンを利用者に提供する際の一例を示す。操作候補提供装置１０１は、操作の都度、繰り返し操作情報パターンテーブル３１２の中に、直近の操作情報１２０と同一の操作情報１２０から始まる繰り返し操作情報パターンがあるかを検索する。検索した結果、操作候補提供装置１０１は、直近の操作情報１２０と同一の操作情報１２０から始まる繰り返し操作情報パターンをディスプレイ２０７に表示することにより、繰り返し操作情報パターンを利用者に提供する。
【００７２】
図１０の例では、直近の操作情報１２０が、表計算ソフトであり、セルの選択を行った情報であるとする。そして、操作候補提供装置１０１は、繰り返し操作情報パターンテーブル３１２から検索した結果、レコード７０１＿１、３が示すそれぞれの繰り返し操作情報パターンをディスプレイ２０７に表示する。次に、利用者の操作に応じた具体的な繰り返し操作情報パターンを表示した画面例について、図１１、図１２を用いて説明する。
【００７３】
図１１は、利用者の操作による画面例を示す説明図（その１）である。図１１の（ａ）で示す画面１１０１は、表計算ソフトにより描画された画面である。表計算ソフトは、集計用紙のように、格子上のセルを表示する。図１１の（ａ）では、操作候補提供装置１０１は、利用者によるマウス２０９の操作により、行番号Ｂであり列番号９であるセルを選択したとする。
【００７４】
図１１の（ｂ）では、利用者の操作によってセルが選択された後、操作候補提供装置１０１が、繰り返し操作情報パターンを画面１１０１上に表示した状態を示す。図１１の（ｂ）において、１として示された繰り返し操作情報パターンは、レコード７０１＿１が示す繰り返し操作情報パターンである。また、図１１の（ｂ）において、２として示された繰り返し操作情報パターンは、レコード７０１＿３が示す繰り返し操作情報パターンである。
【００７５】
図１２は、利用者の操作による画面例を示す説明図（その２）である。図１２の（ａ）では、操作候補提供装置１０１が２つの繰り返し操作情報パターンを画面１１０１上に表示した後に、利用者により、繰り返し操作情報パターンを選択した状態を示す。図１２の（ａ）の例では、具体的には、操作候補提供装置１０１は、利用者によるキーボード２０８の操作により、１として示された繰り返し操作情報パターンを選択したとする。
【００７６】
図１２の（ｂ）では、１として示された繰り返し操作情報パターンが選択された後、操作候補提供装置１０１が、選択された繰り返し操作情報パターンを実行した状態を示す。具体的には、操作候補提供装置１０１は、選択された行番号Ｂであり列番号９であるセルに対して、ＲＧＢ（１２８、１２８、１２８）で単色の塗りつぶしを行うとともに、枠線の色をＲＧＢ（０、０、０）とし、枠線の幅を２ｐｔに設定する。
【００７７】
次に、実施の形態１にかかる操作候補提供処理のフローチャートについて、図１３〜図１５を用いて説明する。
【００７８】
図１３は、実施の形態１にかかる操作候補提供処理手順の一例を示すフローチャート（その１）である。また、図１４は、実施の形態１にかかる操作候補提供処理手順の一例を示すフローチャート（その２）である。また、図１５は、実施の形態１にかかる操作候補提供処理手順の一例を示すフローチャート（その３）である。実施の形態１にかかる操作候補提供処理は、利用者に操作候補を提供する処理である。
【００７９】
操作候補提供装置１０１は、直近の１件の操作情報１２０を操作キャプチャ部３１０に格納する（ステップＳ１３０１）。次に、操作候補提供装置１０１は、操作バッファ１１１のうちの１番古い操作情報１２０を破棄する（ステップＳ１３０２）。そして、操作候補提供装置１０１は、操作バッファ１１１に、操作キャプチャ部３１０から最新の操作情報１２０を追加する（ステップＳ１３０３）。次に、操作候補提供装置１０１は、操作キャプチャ部３１０の最新の操作情報１２０から操作種別１２１を抽出する（ステップＳ１３０４）。そして、操作候補提供装置１０１は、抽出した操作種別１２１を、記憶部１１２に追加する（ステップＳ１３０５）。
【００８０】
次に、操作候補提供装置１０１は、記憶部１１２の操作種別１２１のログから、繰り返し操作種別パターンを検出する（ステップＳ１３０６）。繰り返し操作種別パターンの検出例は、図６で示した通りである。そして、操作候補提供装置１０１は、検出した繰り返し操作種別パターンを、繰り返し操作種別パターンテーブル３１１に追加する（ステップＳ１３０７）。次に、操作候補提供装置１０１は、操作バッファ１１１の各操作情報１２０から操作種別１２１を抽出した操作種別パターンを生成する（ステップＳ１３０８）。
【００８１】
そして、操作候補提供装置１０１は、繰り返し操作種別パターンテーブル３１１に、生成した操作種別パターンと合致するパターンがあるか否かを判断する（ステップＳ１４０１）。生成した操作種別パターンと合致するパターンがある場合（ステップＳ１４０１：Ｙｅｓ）、操作候補提供装置１０１は、操作バッファ１１１の各操作情報１２０を、繰り返し操作情報パターンとして、繰り返し操作情報パターンテーブル３１２に追加する（ステップＳ１４０２）。
【００８２】
ステップＳ１４０２の処理終了後、操作候補提供装置１０１は、繰り返し操作情報パターンテーブル３１２のうちの操作バッファ１１１の各操作情報１２０と合致する繰り返し操作情報パターンの繰り返し回数をインクリメントする（ステップＳ１４０３）。また、生成した操作種別パターンと合致するパターンがない場合（ステップＳ１４０１：Ｎｏ）にも、操作候補提供装置１０１は、ステップＳ１４０３の処理を実行する。ここで、操作バッファ１１１の各操作情報１２０と合致する繰り返し操作情報パターンがなければ、操作候補提供装置１０１は、インクリメントを行わない。
【００８３】
そして、操作候補提供装置１０１は、繰り返し操作情報パターンテーブル３１２のうちの操作バッファ１１１の各操作情報１２０と合致する繰り返し操作情報パターンの繰り返し回数が候補閾値を超えたか否かを判断する（ステップＳ１４０４）。繰り返し回数が候補閾値を超えた場合（ステップＳ１４０４：Ｙｅｓ）、操作候補提供装置１０１は、繰り返し操作情報パターンテーブル３１２のうちの操作バッファ１１１の各操作情報１２０と合致する繰り返し操作情報パターンの候補フラグを有効に設定する（ステップＳ１４０５）。
【００８４】
ステップＳ１４０５の処理終了後、操作候補提供装置１０１は、繰り返し操作情報パターンテーブル３１２から、候補フラグが有効であり、かつ、直近の操作情報１２０と同一の操作情報１２０から始まる繰り返し操作情報パターンを検索する（ステップＳ１４０６）。また、繰り返し回数が候補閾値を超えない場合（ステップＳ１４０４：Ｎｏ）にも、操作候補提供装置１０１は、ステップＳ１４０６の処理を実行する。
【００８５】
次に、操作候補提供装置１０１は、検索した結果、繰り返し操作情報パターンがあったか否かを判断する（ステップＳ１５０１）。繰り返し操作情報パターンがあった場合（ステップＳ１５０１：Ｙｅｓ）、操作候補提供装置１０１は、検出した繰り返し操作情報パターンを実行候補として利用者に提供する（ステップＳ１５０２）。そして、操作候補提供装置１０１は、利用者の操作により、提供した繰り返し操作情報パターンを選択したか否かを判断する（ステップＳ１５０３）。提供した繰り返し操作情報パターンを選択した場合（ステップＳ１５０３：Ｙｅｓ）、操作候補提供装置１０１は、選択した繰り返し操作情報パターンを実行する（ステップＳ１５０４）。ここで、繰り返し操作情報パターンを実行する際に、繰り返し操作情報パターンの最初の操作情報１２０に合致する操作が既に実行されているならば、操作候補提供装置１０１は、最初の操作情報１２０に続く操作情報１２０から実行する。
【００８６】
ステップＳ１５０４の処理終了後、または、繰り返し操作情報パターンがない場合（ステップＳ１５０１：Ｎｏ）、提供した繰り返し操作情報パターンを選択していない場合（ステップＳ１５０３：Ｎｏ）、操作候補提供装置１０１は、実施の形態１にかかる操作候補提供処理を終了する。実施の形態１にかかる操作候補提供処理を実行することにより、操作候補提供装置１０１は、操作候補となる繰り返し操作情報パターンを利用者に提供することができる。
【００８７】
以上説明したように、操作候補提供装置１０１によれば、操作情報１２０の操作種別１２１だけを蓄積したログから繰り返し操作種別パターンを検出し、検出したパターンの最初の操作が行われたらパターンの２番目以降の操作情報１２０を操作候補として提供する。これにより、操作候補提供装置１０１は、操作種別１２１から操作種別パターンを検出するので、操作候補を提供する際にかかる負荷を抑制することができる。具体的には、操作候補提供装置１０１は、操作情報１２０を記憶する場合と比較して、記憶部１１１に記憶する情報量を抑制することができる。また、操作候補提供装置１０１は、操作情報１２０を簡略化した操作種別１２１でまとめた上で、繰り返し操作種別パターンを検出するため、操作の繰り返しのパターンを検出するための負荷を抑制することができる。
【００８８】
また、操作候補提供装置１０１が、ディスク２０５の容量やＣＰＵ２０１の処理性能が限られる場合であっても、操作候補提供装置１０１は、日常的に行っている繰り返し操作を抽出、実行できるようになり、省力化、効率化を図ることができる。また、繰り返し操作情報パターンの提供により、操作候補提供装置１０１は、利用者の誤操作を抑制することができる。
【００８９】
また、操作候補提供装置１０１によれば、繰り返し操作情報パターンテーブル３１２に格納された操作情報１２０群の繰り返し回数が候補閾値を超えていれば、繰り返し操作情報パターンにおける最初の操作に続く操作情報１２０を操作候補として提供してもよい。ここで、繰り返し操作種別パターンテーブル３１１に格納された繰り返し操作種別パターンは、操作種別パターンが繰り返されたものであり、操作種別パターンに含まれる操作種別１２１に対応する詳細情報１２２は、異なっていた可能性がある。そこで、操作情報パターンが候補閾値を超えた分繰り返されたかを判定することにより、利用者に、詳細情報１２２のレベルで何度も繰り返された操作情報１２０を操作候補として提供することができる。
【００９０】
（実施の形態２の説明）
実施の形態１では、繰り返し回数が候補閾値を超えるか否かを繰り返し操作情報パターンを提供する条件とする。これに対し、実施の形態２では、実施の形態１より多くの条件を付与して、より利用者が望むであろう繰り返し操作情報パターンを提供することを図る。なお、実施の形態１において説明した箇所と同様の箇所については、同一符号を付して図示および説明を省略する。
【００９１】
図１６は、実施の形態２にかかる操作候補提供装置１６０１の機能構成例を示す説明図である。操作候補提供装置１６０１は、実施の形態２にかかる制御部を有する。実施の形態２にかかる制御部は、操作キャプチャ部３００と、蓄積部３０１と、検出部３０２と、取得部３０３と、増加部１６０２と、提供部１６０３と、を含む。実施の形態２にかかる制御部は、記憶装置に記憶されたプログラムをＣＰＵ２０１が実行することにより、各部の機能を実現する。記憶装置とは、具体的には、例えば、図２に示したＲＯＭ２０２、ＲＡＭ２０３、ディスク２０５などである。また、各部の処理結果は、ＣＰＵ２０１のレジスタや、ＣＰＵ２０１のキャッシュメモリ等に格納される。
【００９２】
また、操作候補提供装置１６０１は、操作バッファ１１１と、記憶部１１２と、繰り返し操作種別パターンテーブル３１１と、条件テーブル１６１１と、繰り返し操作情報パターンテーブル１６１２とにアクセス可能である。条件テーブル１６１１は、操作情報パターンが繰り返されたものとみなす条件と、候補として提供する条件とを記憶するテーブルである。また、条件テーブル１６１１は、操作情報パターンが繰り返されたものとみなす条件だけを記憶してもよい。条件テーブル１６１１の記憶内容については、図１７で説明する。
【００９３】
繰り返し操作情報パターンテーブル１６１２は、繰り返し操作情報パターンを記憶するテーブルである。さらに、繰り返し操作情報パターンテーブル１６１２は、条件テーブル１６１１が有する条件ごとに、繰り返し回数と候補フラグとを記憶する。繰り返し操作情報パターンテーブル１６１２の記憶内容については、図１８で説明する。
【００９４】
増加部１６０２は、操作候補提供装置１６０１で実行される操作に応じて、操作が行われた時刻が所定期間に含まれているか判断する。ここで、所定期間は、条件テーブル１６１１に含まれる情報である。そして、操作が行われた時刻が所定期間に含まれていれば、増加部１６０２は、該操作によって更新された操作バッファ１１１の操作情報１２０群と合致した繰り返し操作情報パターンテーブル１６１２に格納された操作情報１２０群の繰り返し回数を増加させる。
【００９５】
ここで、所定期間が、断続的な期間であるとする。断続的な期間としては、例えば、週の初め、週末、月初め、月末、年初、年末等である。または、所定期間は、不定期な断続的な期間でもよい。そして、検出部３０２が検出した繰り返し操作種別パターンにおける最初の操作と合致する操作を操作候補提供装置１６０１において検出したとする。このとき、提供部１６０３は、繰り返し操作情報パターンテーブル１６１２に格納された操作情報１２０群の繰り返し回数が候補閾値を超えており、かつ、該操作が行われた時刻が所定期間に含まれているかという条件が満たされるか判断する。そして、条件が満たされていれば、提供部１６０３は、繰り返し操作情報パターンテーブル１６１２に格納された詳細情報１２２に基づいて、繰り返し操作種別パターンにおける最初の操作に続く操作情報１２０を操作候補として提供する。
【００９６】
図１７は、条件テーブル１６１１の記憶内容の一例を示す説明図である。図１７で示す条件テーブル１６１１は、レコード１７０１＿１、２を有する。条件テーブル１６１１は、条件ＩＤ（ＩＤｅｎｔｉｆｙ）と、繰り返し判定条件と、提供条件というフィールドを含む。条件ＩＤフィールドには、条件を識別する識別情報が格納される。繰り返し判定条件フィールドには、操作情報パターンが繰り返されたものとみなす条件が格納される。提供条件フィールドには、候補として提供する条件が格納される。
【００９７】
例えば、レコード１７０１＿１は、所定期間として２週間以内に、５回以上繰り返し実行した操作を操作情報パターンが繰り返されたものとみなす条件とし、操作情報パターンが繰り返されたものとみなした操作情報パターンを、常に候補として提供することを示す。また、レコード１７０１＿２は、１年以内、かつ、所定期間として月末に、４回以上繰り返し実行した操作を操作情報パターンが繰り返されたものとみなす条件とし、利用者が、所定期間として月末に操作した場合に候補として提供することを示す。
【００９８】
図１８は、繰り返し操作情報パターンテーブル１６１２の記憶内容の一例を示す説明図である。図１７に示す繰り返し操作情報パターンテーブル１６１２は、レコード１８０１＿１＿１〜１８０１＿３＿２を有する。
【００９９】
繰り返し操作情報パターンテーブル１６１２は、繰り返し操作情報パターンを形成する操作情報１２０と、操作実行日時と、繰り返し回数と、候補フラグというフィールドを有する。ここで、繰り返し操作情報パターンテーブル１６１２の繰り返し操作情報パターンを形成する操作情報フィールドは、繰り返し操作情報パターンテーブル３１２の繰り返し操作情報パターンを形成する操作情報フィールドと同一であるため、説明を省略する。
【０１００】
操作実行日時フィールドには、繰り返し操作情報パターンが実行された日時を示す値が格納される。繰り返し回数フィールドには、条件テーブル１６１１の条件ごとに、繰り返し操作情報パターンが繰り返された回数を示す値が格納される。候補フラグフィールドには、条件テーブル１６１１の条件ごとに、繰り返し操作情報パターンを候補として提供するか否かを示す識別子が格納される。また、候補フラグフィールドに条件テーブル１６１１の条件ごとに格納された識別子のうち、一つでも「有効」があれば、操作候補提供装置１６０１は、候補として表示する。
【０１０１】
例えば、レコード１８０１＿１＿１は、レコード１８０１＿１が示す繰り返し操作情報パターンが条件１を３回満たしており、レコード１８０１＿１が示す繰り返し操作情報パターンを利用者に提供しないことを示す。
【０１０２】
次に、実施の形態２にかかる操作候補提供処理のフローチャートについて、図１９を用いて説明する。ここで、実施の形態２にかかる操作候補提供処理手順の一例を示すフローチャート（その１）、（その３）については、実施の形態１にかかる操作候補提供処理手順の一例を示すフローチャート（その１）、（その３）と同一であるため、説明を省略する。
【０１０３】
図１９は、実施の形態２にかかる操作候補提供処理手順の一例を示すフローチャート（その２）である。実施の形態２にかかる操作候補提供処理は、利用者に操作候補を提供する処理である。
【０１０４】
ステップＳ１３０８の処理終了後、操作候補提供装置１６０１は、繰り返し操作種別パターンテーブル３１１に、生成した操作種別パターンと合致する繰り返し操作情報パターンがあるか否かを判断する（ステップＳ１９０１）。生成した操作種別パターンと合致する繰り返し操作情報パターンがある場合（ステップＳ１９０１：Ｙｅｓ）、操作候補提供装置１６０１は、繰り返し操作情報パターンテーブル１６１２に、操作バッファ１１１の各操作情報１２０と合致する繰り返し操作情報パターンがあるか否かを判断する（ステップＳ１９０２）。操作バッファ１１１の各操作情報１２０と合致する繰り返し操作情報パターンがある場合（ステップＳ１９０２：Ｙｅｓ）、操作候補提供装置１６０１は、合致した繰り返し操作情報パターンを選択する（ステップＳ１９０３）。
【０１０５】
一方、操作バッファの各操作情報１２０と合致する繰り返し操作情報パターンがない場合（ステップＳ１９０２：Ｎｏ）、操作候補提供装置１６０１は、操作バッファ１１１の各操作情報１２０を繰り返し操作情報パターンとして、繰り返し操作情報パターンテーブル１６１２に追加する（ステップＳ１９０４）。そして、操作候補提供装置１６０１は、追加した繰り返し操作情報パターンを選択する（ステップＳ１９０５）。
【０１０６】
ステップＳ１９０３、またはステップＳ１９０５の処理終了後、操作候補提供装置１６０１は、選択した繰り返し操作情報パターンの操作実行日時を記録する（ステップＳ１９０６）。次に、操作候補提供装置１６０１は、選択した繰り返し操作情報パターンの繰り返し回数のうち、条件テーブル１６１１の繰り返し判定条件を満たした条件に対応する繰り返し回数をインクリメントする（ステップＳ１９０７）。ここで、条件テーブル１６１１の繰り返し判定条件を満たすものがない場合、操作候補提供装置１６０１は、インクリメントを行わない。
【０１０７】
そして、操作候補提供装置１６０１は、インクリメントした繰り返し回数が、繰り返し判定条件で指定した回数を超えたか否かを判断する（ステップＳ１９０８）。繰り返し判定条件で指定した回数を超えた場合（ステップＳ１９０８：Ｙｅｓ）、操作候補提供装置１６０１は、選択した繰り返し操作情報パターンの候補フラグのうち、条件テーブル１６１１の繰り返し判定条件が合致した条件の候補フラグを有効に設定する（ステップＳ１９０９）。次に、操作候補提供装置１６０１は、繰り返し操作情報パターンテーブル１６１２から、条件テーブル１６１１のうちの満たされた提供条件に対応する候補フラグが有効であり、かつ、直近の操作情報１２０と同一の操作情報１２０から始まるパターンを検索する（ステップＳ１９１０）。
【０１０８】
生成した操作種別パターンと合致する繰り返し操作情報パターンがない場合（ステップＳ１９０１：Ｎｏ）、または、繰り返し判定条件で指定した回数を超えない場合（ステップＳ１９０８：Ｎｏ）も同様に、操作候補提供装置１６０１は、ステップＳ１９１０の処理を実行する。ステップＳ１９１０の処理終了後、操作候補提供装置１６０１は、ステップＳ１５０１の処理に移行する。実施の形態２にかかる操作候補提供処理を実行することにより、操作候補提供装置１０１は、操作候補となる繰り返し操作情報パターンを利用者に提供することができる。
【０１０９】
以上説明したように、操作候補提供装置１６０１によれば、操作が行われた時刻が所定期間に含まれる場合、操作バッファ１１１の操作情報１２０群と合致した繰り返し操作情報パターンテーブル１６１２に格納された操作情報１２０群の繰り返し回数を増加させる。これにより、操作候補提供装置１６０１は、所定期間に何度も繰り返されたという、利用者が所定期間に頻繁に行う操作を操作候補として提供することができる。
【０１１０】
また、所定期間が、断続的な期間であるとする。このとき、操作候補提供装置１６０１によれば、繰り返し操作情報パターンテーブル１６１２に格納された操作情報１２０群の繰り返し回数が候補閾値を超えており、かつ、該操作が行われた時刻が所定期間に含まれていれば、操作候補として提供してもよい。これにより、操作候補提供装置１６０１は、繰り返し回数が候補閾値を超えて、操作候補として提供するものとした操作情報パターンを、所定期間から一時的に外れる場合には、候補として提供しないことができる。
【０１１１】
例えば、レコード１７０１＿２で示す条件２は、月末で頻繁に実行される操作情報パターンを提供するために設定した条件であり、月末以外に操作候補として提供されると、利用者が混乱した結果、誤って選択してしまう可能性がある。そこで、操作候補提供装置１６０１は、月末以外には候補として提供しないことにより、利用者の混乱を抑えることができる。
【０１１２】
（実施の形態３の説明）
実施の形態１、２では、それぞれ、操作候補提供装置１０１、１６０１を利用者が直接操作することを前提とする。これに対し、実施の形態３では、複数の利用者装置から操作候補提供装置が利用される形態である。実施の形態３は、実施の形態１に基づくものでもよいし、実施の形態２に基づくものでもよい。なお、実施の形態１または２において説明した箇所と同様の箇所については、同一符号を付して図示および説明を省略する。
【０１１３】
図２０は、実施の形態３にかかる操作候補提供システム２０００の機能構成例を示す説明図である。操作候補提供システム２０００は、操作候補提供装置２００１と、利用者装置２００２＿１〜ｎとを有する。ｎは、２以上の整数である。操作候補提供装置２００１と、利用者装置２００２＿１〜ｎとは、ネットワーク２００３で接続される。
【０１１４】
操作候補提供装置２００１は、例えば、サーバである。操作候補提供装置２００１が有するハードウェアは、操作候補提供装置１０１が有するハードウェアのうち、ディスプレイ２０７〜マウス２０９を除くものがあればよい。また、利用者装置２００２＿１〜ｎが有するハードウェアは、操作候補提供装置１０１が有するハードウェアと同一でよい。
【０１１５】
操作候補提供装置２００１は、実施の形態１における制御部とほぼ同一の制御部を有する。具体的には、実施の形態３における制御部は、利用者装置２００２＿１〜ｎの個数分の操作キャプチャ部３００を有する。実施の形態３における制御部は、記憶装置に記憶されたプログラムをＣＰＵ２０１が実行することにより、各部の機能を実現する。記憶装置とは、具体的には、例えば、図２に示したＲＯＭ２０２、ＲＡＭ２０３、ディスク２０５などである。また、各部の処理結果は、ＣＰＵ２０１のレジスタや、ＣＰＵ２０１のキャッシュメモリ等に格納される。
【０１１６】
また、操作候補提供装置２００１は、利用者装置２００２＿１〜ｎの個数分の操作バッファ１１１と記憶部１１２とを有する。そして、実施の形態３における蓄積部３０１は、それぞれ、対応する利用者装置２００２で実行される操作に応じて、操作のログを対応する記憶部１１２＿１〜ｎのいずれかに蓄積する。また、実施の形態３における検出部３０２は、記憶部１１２＿１〜ｎに蓄積されたログに基づいて、記憶部１１２＿１〜ｎに対応する利用者装置２００２で実行された操作について、繰り返し操作種別パターンを検出する。操作候補提供装置２００１は、繰り返し操作種別パターンを検出すると、以降は利用者装置２００２の区別なく処理を行う。
【０１１７】
そして、実施の形態３における検出部３０２が検出した繰り返し操作種別パターンにおける最初の操作と合致する操作を利用者装置２００２＿１〜ｎのうちのいずれかの利用者装置２００２において検出したとする。このとき、提供部３０５は、取得部３０３が取得した詳細情報１２２に基づいて、繰り返し操作種別パターンにおける最初の操作に続く操作情報１２０を操作候補として、いずれかの利用者装置２００２に提供する。
【０１１８】
以上説明したように、操作候補提供装置２００１によれば、ある利用者装置２００２が頻繁に実行していなくとも、他の利用者装置２００２により頻繁に実行された操作情報パターンを提供することできる。これにより、操作情報パターンが提供される機会が増え、利用者装置２００２を操作する利用者の利便性が向上する。
【０１１９】
なお、実施の形態１〜３で説明した操作候補提供方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本操作候補提供プログラムは、ハードディスク、フレキシブルディスク、ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ−Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また本操作候補提供プログラムは、インターネット等のネットワークを介して配布してもよい。
【０１２０】
上述した実施の形態１〜３に関し、さらに以下の付記を開示する。
【０１２１】
（付記１）コンピュータに、
前記コンピュータで実行される操作に応じて、該操作のログを記憶部に蓄積し、
前記記憶部に蓄積された前記ログに基づいて、前記コンピュータで実行された操作について、操作種別の繰り返しのパターンを検出し、
検出した前記繰り返しのパターンに合致する操作情報群の詳細情報を、操作バッファから取得し、
検出した前記繰り返しのパターンにおける最初の操作と合致する操作を前記コンピュータにおいて検出すると、取得した前記詳細情報に基づいて、前記繰り返しのパターンにおける前記最初の操作に続く操作情報を操作候補として提供する、
処理を実行させることを特徴とする操作候補提供プログラム。
【０１２２】
（付記２）前記操作バッファは、前記コンピュータで実行される操作を示す操作情報を、先入れ先出しで記憶する記憶領域であり、
前記操作情報は、操作種別と前記操作種別に応じた詳細情報とを有することを特徴とする付記１に記載の操作候補提供プログラム。
【０１２３】
（付記３）前記コンピュータに、
前記操作バッファから取得した前記操作情報群を前記操作バッファとは異なる他の記憶領域に格納し、
前記コンピュータで実行される操作に応じて、該操作によって更新された前記操作バッファの操作情報群と合致した前記他の記憶領域に格納された操作情報群の繰り返し回数を増加させる、処理を実行させ、
前記提供する処理は、
検出した前記繰り返しのパターンにおける最初の操作と合致する操作を前記コンピュータにおいて検出すると、前記他の記憶領域に格納された操作情報群の繰り返し回数が所定数を超えていれば、前記他の記憶領域に格納された詳細情報に基づいて、前記繰り返しのパターンにおける前記最初の操作に続く操作情報を操作候補として提供する、
ことを特徴とする付記２に記載の操作候補提供プログラム。
【０１２４】
（付記４）前記繰り返し回数を増加させる処理は、
前記コンピュータで実行される操作に応じて、該操作が行われた時刻が所定期間に含まれていれば、該操作によって更新された前記操作バッファの操作情報群と合致した前記他の記憶領域に格納された操作情報群の繰り返し回数を増加させる、
ことを特徴とする付記３に記載の操作候補提供プログラム。
【０１２５】
（付記５）前記所定期間は、断続的な期間であり、
前記提供する処理は、
検出した前記繰り返しのパターンにおける最初の操作と合致する操作を前記コンピュータにおいて検出すると、前記他の記憶領域に格納された操作情報群の繰り返し回数が前記所定数を超えており、かつ、該操作が行われた時刻が前記所定期間に含まれていれば、前記他の記憶領域に格納された詳細情報に基づいて、前記繰り返しのパターンにおける前記最初の操作に続く操作情報を操作候補として提供する、
ことを特徴とする付記４に記載の操作候補提供プログラム。
【０１２６】
（付記６）複数の利用者装置と接続可能なコンピュータに、
前記複数の利用者装置の各々の利用者装置で実行される操作に応じて、該操作のログを記憶部に蓄積し、
前記記憶部に蓄積された前記ログに基づいて、前記各々の利用者装置で実行された操作について、操作種別の繰り返しのパターンを検出し、
検出した前記繰り返しのパターンに合致する操作情報群の詳細情報を、操作バッファから取得し、
検出した前記繰り返しのパターンにおける最初の操作と合致する操作を前記複数の利用者装置のいずれかの利用者装置において検出すると、取得した前記詳細情報に基づいて、前記繰り返しのパターンにおける前記最初の操作に続く操作情報を操作候補として前記いずれかの利用者装置に提供する、
処理を実行させることを特徴とする操作候補提供プログラム。
【０１２７】
（付記７）自装置で実行される操作に応じて、該操作のログを記憶部に蓄積し、
前記記憶部に蓄積された前記ログに基づいて、自装置で実行された操作について、操作種別の繰り返しのパターンを検出し、
検出した前記繰り返しのパターンに合致する操作情報群の詳細情報を、操作バッファから取得し、
検出した前記繰り返しのパターンにおける最初の操作と合致する操作を自装置において検出すると、取得した前記詳細情報に基づいて、前記繰り返しのパターンにおける前記最初の操作に続く操作情報を操作候補として提供する、
制御部を有することを特徴とする操作候補提供装置。
【０１２８】
（付記８）コンピュータが、
前記コンピュータで実行される操作に応じて、該操作のログを記憶部に蓄積し、
前記記憶部に蓄積された前記ログに基づいて、前記コンピュータで実行された操作について、操作種別の繰り返しのパターンを検出し、
検出した前記繰り返しのパターンに合致する操作情報群の詳細情報を、操作バッファから取得し、
検出した前記繰り返しのパターンにおける最初の操作と合致する操作を前記コンピュータにおいて検出すると、取得した前記詳細情報に基づいて、前記繰り返しのパターンにおける前記最初の操作に続く操作情報を操作候補として提供する、
処理を実行することを特徴とする操作候補提供方法。
【符号の説明】
【０１２９】
１０１、１６０１、２００１  操作候補提供装置
１１１  操作バッファ
１１２  記憶部
１２０  操作情報
１２１  操作種別
１２２  詳細情報
３００  操作キャプチャ部
３０１  蓄積部
３０２  検出部
３０３  取得部
３０４、１６０２  増加部
３０５、１６０３  提供部
３１０  操作キャプチャ部
３１１  繰り返し操作種別パターンテーブル
３１２  繰り返し操作情報パターンテーブル
２０００  操作候補提供システム
２００２  利用者装置
【図１】
2016218743.tif 000003
【図２】
2016218743.tif 000004
【図３】
2016218743.tif 000005
【図４】
2016218743.tif 000006
【図５】
2016218743.tif 000007
【図６】
2016218743.tif 000008
【図７】
2016218743.tif 000009
【図８】
2016218743.tif 000010
【図９】
2016218743.tif 000011
【図１０】
2016218743.tif 000012
【図１１】
2016218743.tif 000013
【図１２】
2016218743.tif 000014
【図１３】
2016218743.tif 000015
【図１４】
2016218743.tif 000016
【図１５】
2016218743.tif 000017
【図１６】
2016218743.tif 000018
【図１７】
2016218743.tif 000019
【図１８】
2016218743.tif 000020
【図１９】
2016218743.tif 000021
【図２０】
2016218743.tif 000022