(57)【要約】      （修正有）【課題】複数のユーザが共有画面に対して操作を行う場合において、一連の操作の次に行われるあるユーザの操作を予測する精度を向上させる。【解決手段】複数の端末装置２で共有される共有画面に配置される描画オブジェクトを対象とする操作を複数種類記憶する操作記憶手段１０２と、前記描画オブジェクトである、配置オブジェクトを対象として行われた操作である履歴操作を、前記履歴操作が行われた順番で記憶し、さらに、前記複数の端末装置２のユーザの識別子である参加ユーザ識別子を記憶する操作履歴記憶手段１０３と、前記複数の端末装置２のうち対象端末装置２のユーザである対象ユーザが、前記操作記憶手段１０２に格納されている前記操作である候補操作を、次に行う確率である操作確率を、前記対象ユーザの識別子である対象ユーザ識別子と、前記履歴操作と、前記参加ユーザ識別子とに基づいて導出する操作スコア導出手段１０４とを備える。【選択図】図１
2015064715.tif 000002
【特許請求の範囲】
【請求項１】
複数の端末装置で共有される共有画面に配置される描画オブジェクトを対象とする操作を複数種類記憶する操作記憶手段と、
前記共有画面に配置されており、描画オブジェクト記憶手段に格納されている前記描画オブジェクトである、配置オブジェクトを対象として行われた操作である履歴操作を、前記履歴操作が行われた順番で記憶し、さらに、前記複数の端末装置のユーザの識別子である参加ユーザ識別子を記憶する操作履歴記憶手段と、
前記複数の端末装置のうち対象端末装置のユーザである対象ユーザが、前記操作記憶手段に格納されている前記操作である候補操作を、次に行う確率である操作確率を、前記対象ユーザの識別子である対象ユーザ識別子と、前記履歴操作と、前記参加ユーザ識別子とに基づいて導出する操作スコア導出手段と
を備える入力支援装置。
【請求項２】
前記操作履歴記憶手段は、前記履歴操作に関連付けて、当該履歴操作を行った前記ユーザの識別子である操作ユーザ識別子を記憶し、
前記操作スコア導出手段は、前記操作確率を、前記対象ユーザの識別子である対象ユーザ識別子と、前記履歴操作と、当該履歴操作に関連付けられた前記操作ユーザ識別子とに基づいて導出する
請求項１に記載の入力支援装置。
【請求項３】
前記描画オブジェクト記憶手段は、さらに、前記配置オブジェクトに関連付けて、前記共有画面において前記配置オブジェクトが配置されている位置である配置位置を記憶し、
前記操作スコア導出手段は、前記操作確率を、さらに、前記配置位置に基づいて導出する
請求項１又は２に記載の入力支援装置。
【請求項４】
前記描画オブジェクト記憶手段は、さらに、前記配置オブジェクトに関連付けて、前記共有画面において前記配置オブジェクトが配置されている位置である配置位置と、前記配置オブジェクトが生成された生成時刻とを記憶し、
前記入力支援装置は、
前記描画オブジェクト記憶手段に格納されている描画オブジェクトから、複数の前記描画オブジェクトを含むオブジェクトグループを、当該オブジェクトグループに含まれる前記描画オブジェクトの、前記オブジェクトグループに含まれる他のいずれかの前記描画オブジェクトに対する、関連付けられている前記配置位置及び前記生成時刻の少なくとも一方における差が、所定基準を満たすように生成するオブジェクトグループ生成手段と、
前記オブジェクトグループに含まれる前記描画オブジェクトの前記操作履歴に基づき、前記操作確率を導出するパラメータを導出する学習手段と
をさらに備え、
前記操作スコア導出手段は、最も新しい前記履歴操作が対象とする前記配置オブジェクトを含む前記オブジェクトグループに含まれる、記配置オブジェクトを対象として行われた前記履歴操作に基づき、導出された前記パラメータを使用して前記操作確率を導出する
請求項１又は２に記載の入力支援装置。
【請求項５】
前記操作スコア導出手段は、前記操作確率を、さらに、前記配置位置に基づいて導出する
請求項４に記載の入力支援装置。
【請求項６】
前記操作履歴記憶手段は、さらに、前記履歴操作に関連付けて、当該配置オブジェクトに関する前記操作が行われた時刻である操作時刻を記憶し、
前記操作確率導出手段は、前記操作確率を、さらに、前記操作時刻に基づいて導出する
請求項１乃至５のいずれかに記載の入力支援装置。
【請求項７】
前記端末装置から、前記操作を受信し、当該操作に基づき前記配置オブジェクトを更新し、受信した前記操作を、前記履歴操作として、前記操作履歴記憶手段に格納する操作受付手段と、
前記描画オブジェクトが配置された前記共有画面を前記対象端末に出力する共有画面出力手段と、
導出された前記操作確率が最も高い前記候補操作の入力を促す表示を、前記対象端末装置に出力する操作推薦手段と
をさらに備える請求項１乃至６のいずれかに記載の入力支援装置。
【請求項８】
前記複数の端末と、
請求項１乃至７のいずれかに記載の入力支援装置と
を含む情報処理システム。
【請求項９】
複数の端末装置で共有される共有画面に配置される描画オブジェクトを対象とする操作を複数種類操作記憶手段に記憶し、
前記共有画面に配置されており、描画オブジェクト記憶手段に格納されている前記描画オブジェクトである、配置オブジェクトを対象として行われた操作である履歴操作を、前記履歴操作が行われた順番で記憶し、さらに、前記複数の端末装置のユーザの識別子である参加ユーザ識別子を操作履歴記憶手段に記憶し、
前記複数の端末装置のうち対象端末装置のユーザである対象ユーザが、前記操作記憶手段に格納されている前記操作である候補操作を、次に行う確率である操作確率を、前記対象ユーザの識別子である対象ユーザ識別子と、前記履歴操作と、前記参加ユーザ識別子とに基づいて導出する
入力支援方法。
【請求項１０】
コンピュータを、
複数の端末装置で共有される共有画面に配置される描画オブジェクトを対象とする操作を複数種類記憶する操作記憶手段と、
前記共有画面に配置されており、描画オブジェクト記憶手段に格納されている前記描画オブジェクトである、配置オブジェクトを対象として行われた操作である履歴操作を、前記履歴操作が行われた順番で記憶し、さらに、前記複数の端末装置のユーザの識別子である参加ユーザ識別子を記憶する操作履歴記憶手段と、
前記複数の端末装置のうち対象端末装置のユーザである対象ユーザが、前記操作記憶手段に格納されている前記操作である候補操作を、次に行う確率である操作確率を、前記対象ユーザの識別子である対象ユーザ識別子と、前記履歴操作と、前記参加ユーザ識別子とに基づいて導出する操作スコア導出手段と
して動作させる入力支援プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ユーザが行う操作を推測する技術に関する。
【背景技術】
【０００２】
一般的な会議手法の１つとして、参加者全員が同時に閲覧できるホワイトボードに参加者からの意見を書き出し、そして、参加者全員がその書き出された意見を共有しながら検討を進めるフリーディスカッション方式がある。さらに、近年、通信ネットワークの高速化に伴ってＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）を使用した通信会議が現在一般的になっている。Web会議においては、電子ホワイトボードアプリケーションを用いて、参加者の個人PCから情報共有や議論することが可能である。その電子ホワイトボードアプリケーションは、通信ネットワークを介して複数の端末が共有する、電子ホワイトボードとも呼ばれる共有画面に、それぞれの端末から別々に書き込みを行えるアプリケーションである。電子ホワイトボードアプリケーションは、ホワイトボードツールとも呼ばれる。さらに、スマートデバイスの普及に伴い、スマートフォンやタブレットにおいて電子ホワイトボードアプリケーションを使用することにより、移動中に情報を共有したり、議論に参加したりするようなユースケースが増えつつある。
【０００３】
このようなホワイトボードツールを使用する場合、議論をしながら、迅速に絵を描いたり、テキストを入力したりする必要がある。しかし、様々な種類の図形の描画や、描かれる図形や入力されるテキストに対する様々な種類の書式設定を可能にするためには、数多くのアイコンやメニューが必要である。そのため、数多くのアイコンやメニューから希望の操作を探すことが、ユーザの負担になっている。特にスマートデバイスにおいて利用されるホワイトボードツールでは、画面が狭いために、表示できるアイコンやメニューの数が限られる。したがって、スマートデバイスのホワイトボードツールでは、絵やテキストを入力するメニューや書式設定をするメニューに、複数のページや階層が使われる。そのため、希望の操作がどこにあるかが分かりにくい。そして、選択に大変な手間が必要である。
【０００４】
特許文献１には、ユーザが行った所定回数の操作の履歴に基づき、ユーザが入力した特定の操作の次に行われる操作を予測する情報端末装置が記載されている。特許文献１の情報端末装置は、操作の履歴に基づき、一つの操作あるいは一連の複数の操作の後に行われる操作の確率を導出する。そして、特許文献１の情報端末装置は、ユーザが行った操作あるいは一連の複数の操作の後に行われる操作として、導出された確率が最も高い操作を選択する。さらに、特許文献１の情報端末装置は、予測した動作をユーザが行った場合に行われる処理を実行する。あるいは、特許文献１の情報端末装置は、予測した動作とユーザが次に行う動作を比較し、それらの動作が異なる場合、ユーザに通知を行う。特許文献１には、さらに、操作が行われた時間帯毎に、上述の確率を導出することが記載されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００４−１５２２７６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
例えば上述のホワイトボードツールが使用される場合、複数の端末が共有する共有画面に配置されているテキストや図形などの描画オブジェクトに対して、それらの端末のユーザが操作を行う。このような場面において、あるユーザが、それらのユーザによって一連の操作が行われた後にある操作を行う確率は、その一連の操作が同じであっても、共有画面に対して操作を行う他のユーザの組み合わせが異なれば、異なる場合がある。例えば、専門家でないユーザＡが会議に参加している場合、いずれかのが図形を入力すると、ユーザＢがその図形を説明するテキストを書き込むことが考えられる。しかし、ユーザＡが会議に参加していない場合、いずれかのユーザが図形を入力すると、ユーザＢはテキストを入力せず、その図形をブラッシュアップする操作など他の操作を行うことが考えられる。例えば以上のような場合、一連の操作の後にある操作が行われる確率は、他のユーザの組み合わせが異なれば、異なる。
【０００７】
特許文献１の情報端末装置は、その情報端末装置１のユーザが行った操作の履歴に基づいて確率を算出する。そのため、特許文献１の情報端末装置は、複数のユーザが操作を行う場合において、一連の操作の次に行われるあるユーザの操作を精度よく予測することはできない。
【０００８】
本発明の目的の一つは、複数のユーザが共有画面に対して操作を行う場合において、一連の操作の次に行われるあるユーザの操作を予測する精度を向上させることができる入力支援装置を提供することにある。
【課題を解決するための手段】
【０００９】
本発明の入力支援装置は、複数の端末装置で共有される共有画面に配置される描画オブジェクトを対象とする操作を複数種類記憶する操作記憶手段と、前記共有画面に配置されており、描画オブジェクト記憶手段に格納されている前記描画オブジェクトである、配置オブジェクトを対象として行われた操作である履歴操作を、前記履歴操作が行われた順番で記憶し、さらに、前記複数の端末装置のユーザの識別子である参加ユーザ識別子を記憶する操作履歴記憶手段と、前記複数の端末装置のうち対象端末装置のユーザである対象ユーザが、前記操作記憶手段に格納されている前記操作である候補操作を、次に行う確率である操作確率を、前記対象ユーザの識別子である対象ユーザ識別子と、前記履歴操作と、前記参加ユーザ識別子とに基づいて導出する操作スコア導出手段とを備える。
【００１０】
本発明の入力支援方法は、複数の端末装置で共有される共有画面に配置される描画オブジェクトを対象とする操作を複数種類操作記憶手段に記憶し、前記共有画面に配置されており、描画オブジェクト記憶手段に格納されている前記描画オブジェクトである、配置オブジェクトを対象として行われた操作である履歴操作を、前記履歴操作が行われた順番で記憶し、さらに、前記複数の端末装置のユーザの識別子である参加ユーザ識別子を操作履歴記憶手段に記憶し、前記複数の端末装置のうち対象端末装置のユーザである対象ユーザが、前記操作記憶手段に格納されている前記操作である候補操作を、次に行う確率である操作確率を、前記対象ユーザの識別子である対象ユーザ識別子と、前記履歴操作と、前記参加ユーザ識別子とに基づいて導出する。
【００１１】
本発明の入力支援プログラムは、コンピュータを、複数の端末装置で共有される共有画面に配置される描画オブジェクトを対象とする操作を複数種類記憶する操作記憶手段と、前記共有画面に配置されており、描画オブジェクト記憶手段に格納されている前記描画オブジェクトである、配置オブジェクトを対象として行われた操作である履歴操作を、前記履歴操作が行われた順番で記憶し、さらに、前記複数の端末装置のユーザの識別子である参加ユーザ識別子を記憶する操作履歴記憶手段と、前記複数の端末装置のうち対象端末装置のユーザである対象ユーザが、前記操作記憶手段に格納されている前記操作である候補操作を、次に行う確率である操作確率を、前記対象ユーザの識別子である対象ユーザ識別子と、前記履歴操作と、前記参加ユーザ識別子とに基づいて導出する操作スコア導出手段として動作させる。
【発明の効果】
【００１２】
本発明には、複数のユーザが共有画面に対して操作を行う場合において、一連の操作の次に行われるあるユーザの操作を予測する精度を向上させることができるという効果がある。
【図面の簡単な説明】
【００１３】
【図１】図１は、第２の実施形態の入力支援装置１Ｃの構成を表すブロック図である。
【図２】図２は、第１の実施形態の情報処理システム１００の構成の例を表すブロック図である。
【図３】図３は、第１の実施形態の情報処理システム１００の全体像を概念的に表すブロック図である。
【図４】図４は、第１の実施形態の入力支援装置１の、学習時における動作の例を表すフローチャートである。
【図５】図５は、第１の実施形態の入力支援装置１の操作を受信した場合の動作の例を表すフローチャートである。
【図６】図６は、第１の実施形態の入力支援装置１の構成例であるレコメンドサーバ１Ｅの構成を表すブロック図である。
【図７】図７は、特徴ベクトルと特徴ベクトルセットの関係を概念的に表す図である。
【図８】図８は、時間特徴ベクトルと時間特徴ベクトルによって構成される特徴ベクトルセットを概念的に表す図である。
【図９】図９は、空間特徴ベクトルと空間特徴ベクトルによって構成される特徴ベクトルセットを概念的に表す図である。
【図１０】図１０は、ユーザ属性特徴ベクトルとユーザ属性特徴ベクトルによって構成される特徴ベクトルセットを概念的に表す図である。
【図１１】図１１は、レコメンドサーバ１Ｅの機械学習フェーズにおける動作の例を表すフローチャートである。
【図１２】図１２は、本構成例のレコメンドサーバ１Ｅのレコメンドフェーズにおける動作の例を表すフローチャートである。
【図１３】図１３は、学習及びスコアの計算におけるデータの流れを概念的に表す図である。
【図１４】図１４は、入力支援装置１、入力支援装置１Ａ、入力支援装置１Ｂ、入力支援装置１Ｃ、及びレコメンドサーバ１Ｅを実現するために使用される、コンピュータ１０００の構成の一例を表す図である。
【図１５】図１５は、第１の実施形態の第１の変形例の情報処理システム１００Ａの構成の例を表すブロック図である。
【図１６】図１６は、第１の実施形態の第１の変形例の情報処理システム１００Ａの全体像を概念的に表すブロック図である。
【図１７】図１７は、第１の実施形態の第２の変形例の情報処理システム１００Ｂの構成の例を表すブロック図である。
【図１８】図１８は、第１の実施形態の第２の変形例の情報処理システム１００Ｂの全体像を概念的に表すブロック図である。
【発明を実施するための形態】
【００１４】
（第１の実施形態）
次に、本発明の第１の実施の形態について図面を参照して詳細に説明する。
【００１５】
図２は、本実施形態の情報処理システム１００の構成の例を表すブロック図である。
【００１６】
図２を参照すると、本実施形態の情報処理システム１００は、入力支援装置１と、複数の端末装置２とを含む。各端末装置２は、入力支援装置１と通信することができる。
【００１７】
図３は、本実施形態の情報処理システム１００の全体像の例を表すブロック図である。図３を参照すると、入力支援装置１と、各端末装置２は、通信ネットワーク３を介して接続されている。そして、入力支援装置１と、各端末装置２は、通信ネットワーク３を介して通信を行う。
【００１８】
図２の入力支援装置１は、描画オブジェクト記憶部１０１と、操作記憶部１０２と、操作履歴記憶部１０３と、操作スコア導出部１０４と、操作推薦部１０５と、オブジェクトグループ生成部１０６と、学習部１０７と、モデル記憶部１０８と、データ整形部１０９と、操作受付部１１０と、整形データ記憶部１１１とを含む。入力支援装置１は、さらに、共有画面出力部２０３を含んでいてもよい。入力支援装置１は、共有画面出力部２０３を含んでいなくてもよい。入力支援装置１が共有画面出力部２０３を含まない場合、例えば他のサーバ装置が共有画面出力部２０３を含んでいればよい。
【００１９】
操作受付部１１０は、端末装置２の入力部２０１から、端末装置２のユーザが入力した操作を受信する。操作受付部１１０が受信する操作は、共有画面に配置された描画オブジェクトに関する操作である。共有画面は、各端末装置２が共有する画面である。描画オブジェクトは、共有画面に配置される、例えばテキストや図形などのオブジェクトである。描画オブジェクトに関する操作は、例えば、描画オブジェクトを生成する操作や、描画オブジェクトを変更する操作である。描画オブジェクトに関する操作は、共有画面に配置される少なくともいずれかの描画オブジェクトに変化が生じる操作であれば、これらの操作に限られない。
【００２０】
操作受付部１１０は、操作の種別を表す操作識別子すなわち操作ＩＤ（Ｉｄｅｎｔｉｆｉｅｒ）と、操作の対象である描画オブジェクトの識別子である描画オブジェクトＩＤとを、操作として、入力部２０１から受信する。操作受付部１１０は、操作ＩＤと描画オブジェクトＩＤとを含む操作データを受信すればよい。操作受付部１１０は、さらに、操作の対象である描画オブジェクトの、操作後の状態を含む操作データを受信してもよい。操作受付部１１０は、さらに、操作を行ったユーザの識別子である操作ユーザ識別子を受信してもよい。操作受付部１１０は、端末装置２毎に、その端末装置２のユーザの識別子を保持していてもよい。そして、ある端末装置２から操作を受信した場合、その端末装置２のユーザの識別子を、操作ユーザ識別子にしてもよい。本発明の各実施形態の説明において、ユーザが行った操作を表すデータを、「操作」と表記する。例えば、ユーザが行った操作を表すデータを受信することを、「操作を受信する」と表記する。
【００２１】
操作受付部１１０は、操作に加えて、その操作が行われた操作時刻を、入力部２０１から受信してもよい。あるいは、操作受付部１１０は、操作受付部１１０が操作を受信した時刻を、操作時刻にしてもよい。
【００２２】
また操作受付部１１０は、共有画面を共有する全ての端末装置２から、端末装置２のユーザＩＤを受信する。操作受付部１１０は、例えば、端末装置２が入力支援装置１に接続されたときに、その端末装置２からユーザＩＤを取得すればよい。例えば、ユーザが、入力装置を使用して、操作受付部１１０が受信するユーザＩＤを入力してもよい。操作受付部１１０は、受信したユーザＩＤを、そのユーザＩＤを送信した端末装置２の識別子に関連付けて、例えば操作履歴記憶部１０３に格納する。
【００２３】
操作受付部１１０は、共有画面を共有する全ての端末装置２のユーザ、すなわち、共有画面を使用可能な全てのユーザのユーザＩＤを、例えば、それらのユーザＩＤを含むユーザリストとして、操作履歴記憶部１０３に格納すればよい。そして、操作受付部１１０は、ユーザリストに識別子であるユーザリストＩＤを付与すればよい。また、操作受付部１１０は、共有画面を使用可能なユーザが変化した場合、新しいユーザリストを生成して操作履歴記憶部部１０３に格納すればよい。
【００２４】
例えば、操作受付部１１０は、ある端末装置２が、共有画面を共有しない状態になった場合、操作履歴記憶部１０３に格納されているユーザリストから、その端末装置２の識別子に関連付けられたユーザＩＤが削除されたユーザリストを生成する。そして、操作履歴記憶部１０３は、生成したユーザリストに新たにユーザリストＩＤを付与する。そして、操作履歴記憶部１０３は、生成したユーザリストを、操作履歴記憶部１０３に格納する。以下の説明において、共有画面を共有する端末装置２のユーザのユーザＩＤを、参加ユーザＩＤとも表記する。
【００２５】
描画オブジェクト記憶部１０１は、共有画面に配置される描画オブジェクトを表すデータを記憶する。本発明の各実施形態の説明において、描画オブジェクトを表すデータを記憶することを、描画オブジェクトを記憶すると表記する。描画オブジェクトを表すデータは、例えば、描画オブジェクトのオブジェクトＩＤ（Ｉｄｅｎｔｉｆｉｅｒ）と、描画オブジェクトの種別と、描画オブジェクトの内容を含むデータである。描画オブジェクト記憶部１０１記憶する描画オブジェクトには、描画オブジェクトの共有画面上における位置を表す配置位置と、描画オブジェクトが生成された生成時刻とが関連付けられている。描画オブジェクト記憶部１０１に格納された描画オブジェクトのうち、ユーザの操作により削除された描画オブジェクトには、さらに、ユーザにより削除された時刻である削除時刻が関連付けられていてもよい。描画オブジェクト記憶部１０１に格納された描画オブジェクトのうち、ユーザの操作により削除された描画オブジェクトは、操作受付部１１０により、描画オブジェクト記憶部１０１から削除されてもよい。
【００２６】
共有画面出力部２０３は、描画オブジェクト記憶部１０１に格納されている、共有画面に配置されている描画オブジェクトを各端末装置２の出力部２０２に送信する。共有画面出力部２０２は、例えば、描画オブジェクト記憶部１０１に格納されている描画オブジェクトを表すオブジェクトデータを、描画オブジェクトとして、出力部２０２に送信すればよい。オブジェクトデータは、例えば、描画オブジェクトのオブジェクトＩＤと、配置位置と、描画オブジェクトの内容を表すデータを含むデータである。共有画面出力部２０３は、描画オブジェクト記憶部１０１に格納されている描画オブジェクトに基づき、描画オブジェクトが配置された共有画面を生成してもよい。そして、共有画面出力部２０３は、生成された共有画面を、各端末装置２の出力部２０２に送信してもよい。共有画面出力部２０３は、削除時刻が関連付けられている描画オブジェクトが存在すれば、その削除時刻が関連付けられている描画オブジェクトを、共有画面に配置されている描画オブジェクトから除外する。
【００２７】
操作受付部１１０は、さらに、受信した操作を、共有画面に配置される描画オブジェクトに反映させる。すなわち、操作受付部１１０は、描画オブジェクト記憶部１０１に格納されている描画オブジェクトを表すデータを、受信した操作に応じて変更する。操作受付部１１０は、受信した操作が、共有画面に配置される描画オブジェクトを生成する操作である場合、その描画オブジェクトに、生成時刻を関連付ける。操作受付部１１０は、描画オブジェクトを生成する操作の操作時刻を、その描画オブジェクトの生成時刻にする。操作受付部１１０は、受信した操作が、共有画面に配置されている描画オブジェクトを削除する操作である場合、その描画オブジェクトを描画オブジェクト記憶部１０１から削除するよう設計されていてもよい。操作受付部１１０は、受信した操作が、共有画面に配置されている描画オブジェクトを削除する操作である場合、その描画オブジェクトに、削除時刻を関連付けるよう設計されていてもよい。操作受付部１１０は、描画オブジェクトを削除する操作の操作時刻を、その描画オブジェクトの削除時刻にする。
【００２８】
さらに、操作受付部１１０は、受信した操作を、その操作を行ったユーザとその操作の操作時刻に関連付けて、操作履歴記憶部１０３に格納する。具体的には、操作受付部１１０は、受信した操作の種別を表す操作ＩＤを、その操作を行ったユーザの識別子（すなわちユーザＩＤ）と、その操作の操作時刻とに関連付けて、操作履歴記憶部１０３に格納すればよい。操作受付部１１０は、さらに、受信した操作を、その操作の受信時におけるユーザリストＩＤに関連付ける。
【００２９】
操作履歴記憶部１０３は、操作受付部１１０が受信した操作を記憶する。操作履歴記憶部１０３は、操作受付部１１０が受信した操作を、操作が行われた順番で記憶していてもよい。操作履歴記憶部１０３は、操作受付部１１０が受信した操作を、操作受付部１１０がその操作を受信した順番で記憶していてもよい。本発明の各実施形態の説明において、操作履歴記憶部１０３が記憶する操作を、履歴操作とも表記する。上述のように、操作履歴記憶部１０３は、操作履歴をユーザリストＩＤに関連付けて記憶する。さらに、操作履歴記憶部１０３は、履歴操作を、その履歴操作を行ったユーザのユーザＩＤと、その履歴操作の操作時刻に関連付けて記憶してもよい。さらに、本発明の各実施形態の説明において、履歴操作と、その履歴操作に関連付けられているユーザＩＤ及び操作時刻とを含むデータを、履歴操作データと表記する。さらに、１つ又は複数の履歴操作が含まれる、履歴操作のグループを操作履歴と表記する。操作履歴に含まれる履歴操作は、その履歴操作の操作時刻の順にソートされていてもよい。
【００３０】
操作履歴記憶部１０３は、さらに、前述のユーザリストを記憶する。
【００３１】
オブジェクトグループ生成部１０６は、共有画面に配置されている描画オブジェクトから、時間的又は空間的に近い描画オブジェクトのグループであるオブジェクトグループを生成する。
【００３２】
オブジェクトグループ生成部１０６は、オブジェクトグループの生成を、例えば、以下のように行う。まず、オブジェクトグループ生成部１０６は、ある描画オブジェクトを、判定対象として選択する。オブジェクトグループ生成部１０６が判定対象として選択する描画オブジェクトは、新たに生成されたオブジェクトであってもよい。オブジェクトグループ生成部１０６は、選択された描画オブジェクトと、あるオブジェクトグループに含まれるいずれかの描画オブジェクトとの間で、次の２つの条件が満たされるか否かを判定する。
【００３３】
第１の条件は、関連付けられている配置位置の差が所定距離以下であることである。第２の条件は、関連付けられている生成時刻の差が、所定時間（所定期間）以下であることである。
【００３４】
オブジェクトグループ生成部１０６は、これらの条件のいずれか一方が満たされた場合に、選択された描画オブジェクトが、そのオブジェクトグループに含まれると判定する。あるいは、オブジェクトグループ生成部１０６は、上述の第１の条件が満たされた場合に、選択された描画オブジェクトをそのオブジェクトグループに含まれると判定してもよい。あるいは、オブジェクトグループ生成部１０６は、上述の第２の条件が満たされた場合に、選択された描画オブジェクトをそのオブジェクトグループに含まれると判定してもよい。
【００３５】
オブジェクトグループ生成部１０６は、選択された描画オブジェクトと、存在する全てのオブジェクトグループのそれぞれとの組み合わせに対して、以上の判定を行えばよい。選択された描画オブジェクトが、複数のオブジェクトグループに含まれると判定された場合、オブジェクトグループ生成部１０６は、それらの複数のオブジェクトグループを併合することによって、一つのオブジェクトグループを生成してもよい。選択された描画オブジェクトが、いずれのオブジェクトグループにも含まれないと判定された場合、オブジェクトグループ生成部１０６は、選択された描画オブジェクトのみを含む新たなオブジェクトグループを生成してもよい。  オブジェクトグループ生成部１０６は、生成したオブジェクトグループにオブジェクトグループＩＤを付与してもよい。そして、オブジェクトグループ生成部１０６は、その生成したオブジェクトグループに含まれる描画オブジェクトのオブジェクトＩＤを、そのオブジェクトグループのオブジェクトグループＩＤに関連付けて、例えば描画オブジェクト記憶部１０１に格納してもよい。
【００３６】
データ整形部１０９は、操作履歴記憶部１０３が記憶する履歴操作から、１つ又は複数の連続する履歴操作の集合である操作履歴を生成する。一つの操作履歴に含まれる履歴操作の数は、あらかじめ決められていてもよい。データ整形部１０９は、連続する複数の履歴操作から、その履歴操作の数より少ない数の履歴操作からなる、複数の操作履歴を抽出してもよい。さらに、データ整形部１０９は、操作履歴に含まれる最後の履歴操作の後に、最初に行われた操作と、その操作を行ったユーザを特定する。データ整形部１０９は、例えば、関連付けられている操作時刻が、操作履歴に含まれる最後の操作時刻の次の操作時刻である操作を特定すればよい。操作履歴に含まれる最後の履歴操作の後に行われた操作が存在しない場合、データ整形部１０９は、操作履歴に含まれる最後の履歴操作の後に、最初に行われた操作を特定しない。
【００３７】
ただし、本実施形態では、データ整形部１０９は、同じユーザリストＩＤが関連付けられている履歴操作を含み、異なるユーザリストＩＤが関連付けられている履歴操作を含まない履歴操作を生成する。データ整形部１０９は、まず、操作履歴記憶部１０３に格納されている履歴操作を、同じユーザリストＩＤが付与されている履歴操作のグループに分類すればよい。そして、データ整形部１０９は、ユーザリストＩＤ毎に、同じユーザリストＩＤに関連付けられている履歴操作からなる操作履歴を生成すればよい。さらに、データ整形部１０９は、同じユーザリストＩＤが付与されている履歴操作の中で、操作時刻が最後の履歴操作の後に、最初に行われた操作を特定してもよい。
【００３８】
あるいは、データ整形部１０９は、さらに、操作履歴記憶部１０３に格納されている履歴操作を、その履歴操作が行われた描画オブジェクトが含まれるオブジェクトグループ毎に分類してもよい。そして、データ整形部１０９は、さらにオブジェクトグループ毎に、同じオブジェクトグループに分類された描画オブジェクトへの履歴操作からなる操作履歴を生成してもよい。さらに、データ整形部１０９は、同じオブジェクトグループに分類された描画オブジェクトへの履歴操作の中で、操作時刻が最後の履歴操作の後に、最初に行われた操作を特定してもよい。
【００３９】
そして、データ整形部１０９は、生成した操作履歴に含まれる各履歴操作に対して、例えば、履歴操作の操作ＩＤとその履歴操作を行ったユーザのユーザＩＤを含むユーザ属性特徴データとが関連付けられた、操作データを生成する。データ整形部１０９は、生成した操作履歴に対して、その操作履歴に含まれる履歴操作の操作データが時系列で並んだ操作履歴データを生成する。操作データは、操作ＩＤと、ユーザデータと、履歴操作の対象である描画オブジェクトの位置のデータである空間特徴データと、履歴操作が行われた時刻を表す時間特徴データが関連付けられたデータであってもよい。ユーザ属性特徴データは、さらに、ユーザのグループＩＤを含んでいてもよい。時間特徴データは、操作履歴において直前に行われた履歴操作との操作時刻を含んでいてもよい。時間特徴データは、オブジェクトグループに含まれる描画オブジェクトに対する最初の操作の操作時刻からの経過時間を含んでいてもよい。空間特徴データは、操作の対象である描画オブジェクトの配置位置の座標を含んでいてもよい。空間特徴データは、操作履歴において直前に行われた操作の対象である描画オブジェクトの配置位置と、操作の対象である描画オブジェクトの配置位置との間の距離を含んでいてもよい。空間特徴データは、操作履歴において直前に行われた操作の対象である描画オブジェクトの配置位置に対する、操作の対象である描画オブジェクトの配置位置の方向を表す角度を含んでいてもよい。
【００４０】
また、データ整形部１０９は、生成した操作履歴データに、その操作履歴データが表す各履歴操作に関連付けられているユーザリストＩＤを関連付ける。データ整形部１０９は、操作履歴データに、そのユーザリストＩＤで特定されるユーザリストを加えてもよい。
【００４１】
そして、データ整形部１０９は、操作履歴データを、後述される操作スコア導出部１０４や学習部１０７に応じた形式に整形する。整形後のデータの形式はあらかじめ決められていればよい。本発明の各実施形態の説明では、整形後のデータの形式が、例えば、特徴を表す１つ又は複数のベクトルをまとめたデータ形式であるよう設計されている場合、整形後のデータを、特徴ベクトルセットとも表記する。データの整形が必要なければ、データ整形部１０９は、以上のデータの形式の整形を行わない。
【００４２】
データ整形部１０９は、操作履歴データを、整形データ記憶部１１１に格納する。データ整形部１０９は操作履歴データと、その操作履歴データで表される操作履歴の後に最初に行われた操作とを関連付けて、整形データ記憶部１１１に格納してもよい。データ整形部１０９は、操作履歴データと、その操作履歴データで表される操作履歴の後に最初に行われた操作及びその操作を行ったユーザのユーザＩＤとを関連付けて、整形データ記憶部１１１に格納してもよい。
【００４３】
また、データ整形部１０９は、操作履歴データを、オブジェクトグループ毎に、整形データ記憶部１１１に格納する。データ整形部１０９は、例えば、操作履歴データに、その操作履歴データが生成された履歴操作が行われた描画オブジェクトが含まれるオブジェクトグループのオブジェクトグループＩＤを関連付けて、整形データ記憶部１１１に格納すればよい。データ整形部１０９は、さらに、操作履歴データと、その操作履歴データで表される操作履歴の後に最初に行われた操作とを関連付けて、整形データ記憶部１１１に格納してもよい。データ整形部１０９は、操作履歴データと、その操作履歴データで表される操作履歴の後に最初に行われた操作及びその操作を行ったユーザのユーザＩＤとを関連付けて、整形データ記憶部１１１に格納してもよい。
【００４４】
また、データ整形部１０９は、操作受付部１１０が受信した最も新しい操作を含む操作履歴の操作履歴データを、操作スコア導出部１０４に送信する。
【００４５】
整形データ記憶部１１１は、例えばオブジェクトグループ毎に、操作履歴データを、その操作履歴データで表される操作履歴に含まれる最後の操作の後に最初に行われた操作に関連付けて記憶する。
【００４６】
学習部１０７は、機械学習によって、ある一連の操作が行われた後にあるユーザが行う操作としての、スコアを導出する対象である操作のスコアを導出するモデルを導出する。機械学習の方法は、後述するように、既存の任意のいずれかの教師付き機械学習の方法でよい。学習部１０７は、ユーザ毎にモデルを導出する。学習部１０７は、あるユーザに対してモデルを導出する場合、例えば、そのユーザの操作に関連付けられている操作履歴データを、整形データ記憶部１１１から読み出す。そのユーザの操作に関連付けられている操作履歴データは、操作ＩＤ及びそのユーザのユーザＩＤが関連付けられている操作履歴データである。学習部１０７は、さらに、その操作履歴データに関連付けられているユーザリストＩＤで特定されるユーザリストを、例えば、操作履歴記憶部１０３から読み出す。操作履歴データがユーザリストを含むよう設計されている場合、学習部１０７は、ユーザリストを読み出さなくてよい。そして、学習部１０７は、読み出された操作履歴データと、ユーザリストと、その操作履歴データに関連付けられている操作とを、教師データとして使用して機械学習を行うことによって、そのユーザに対するモデルを導出する。使用されるユーザリストは、操作履歴データにユーザリストＩＤが関連付けられているユーザリストである。あるいは、使用されるユーザリストは、操作履歴データに含まれるユーザリストである。学習部１０７は、操作受付部１１０が受信した最も新しい操作が対象とする描画オブジェクトが分類されたオブジェクトグループのオブジェクトグループＩＤに関連付けられている、操作履歴データと操作を、教師データとして使用してもよい。
【００４７】
操作のスコアは、例えば、一連の操作が行われた後の操作として、スコアを導出する対象である操作が行われる確率である。モデルは、例えば、ある一連の操作を表す値と、スコアを算出する対象の操作を表す値から、スコアを算出する数式におけるパラメータである。
【００４８】
学習部１０７は、共有画面を共有する全ての端末装置２のユーザに対して、前述のモデルを導出してもよい。共有画面を共有する端末装置２のユーザのユーザＩＤは、例えば、操作履歴記憶部１０３に格納されている。学習部１０７は、操作履歴記憶部１０３からそれらのユーザＩＤのうちの一つを順次読み出せばよい。そして、学習部１０７は、読み出したユーザＩＤにより特定されるユーザが行った動作と、その前に行われた一連の動作に基づき、モデルを導出すればよい。学習部１０７は、ユーザＩＤの選択からモデルの導出までの動作を、操作履歴記憶部１０３に格納されているユーザＩＤが全て選択されるまで行えばよい。
【００４９】
学習部１０７がモデルを導出するための機械学習の学習アルゴリズムは、既存の、教師有りの機械学習アルゴリズムでよい。そのような機械学習として、例えば、ＳＶＭ（Ｓｕｐｐｏｒｔ  Ｖｅｃｔｏｒ  Ｍａｃｈｉｎｅ）、ベイジアン、ニューラルネット、ＳＳＩ（Ｓｕｐｅｒｖｉｓｅｄ  Ｓｅｍａｎｔｉｃ  Ｉｎｄｅｘｉｎｇ）がある。ＳＳＩは、例えば、非特許文献１に記載されている。
【００５０】
（非特許文献１）”Supervised Semantic Indexing,” Bing Bai, Jason Weston, Ronan Collobert, David Grangier, Kunihiko Sadamasa, Yanjun Qi, Olivier Chapelle, Kilian Q. Weinberger, Conference: International Conference on Information and Knowledge Management - CIKM , pp. 761-765, 2009。
【００５１】
ＳＳＩに基づくモデルは、概念的には、スコアを算出する対象である操作を表すベクトルと、モデルを表すパラメータである行列と、一連の操作を表すベクトルとの掛け算によって表される。学習部１０７がＳＳＩによって学習を行う場合、学習部１０７は、例えば非特許文献１に記載されている方法によって、パラメータである上述の行列を導出する。
【００５２】
学習部１０７は、操作受付部１１０が操作を受信した場合、その操作の対象である描画オブジェクトを含むオブジェクトグループを特定してもよい。そして、学習部１０７は、特定したオブジェクトグループに含まれる描画オブジェクトに関する操作のみからなる一連の操作に基づき、モデルを生成してもよい。
【００５３】
学習部１０７は、導出されたモデルを、モデル記憶部１０８に格納する。学習部１０７は、導出されたモデルを、そのモデルを導出されたユーザのユーザＩＤに関連付けてモデル記憶部１０８に格納すればよい。
【００５４】
モデル記憶部１０８は、学習部１０７によって導出された、一連の操作の後にあるユーザが行う操作としての、操作のスコアを導出するモデルを記憶する。モデル記憶部１０８は、モデルを、ユーザＩＤに関連付けて記憶すればよい。
【００５５】
操作記憶部１０２は、描画オブジェクトに対して行われる操作を記憶する。操作記憶部１０２には、例えば、描画オブジェクトに対して行われる操作として設計されている操作の操作ＩＤが、あらかじめ格納されていればよい。例えば、入力支援装置１の設計者が、それらの操作ＩＤを操作記憶部１０２に格納しておけばよい。
【００５６】
操作スコア導出部１０４は、例えば操作受付部１１０が受信した最新の操作を含む、連続する複数の操作と、それらの操作に関連付けら得ているユーザリストとを、例えば、操作履歴記憶部１０３から、データ整形部１０９を介して受信する。操作スコア導出部１０４は、例えば操作受付部１１０が受信した最新の操作を含む連続する複数の操作が、データ整形部１０９によって整形された操作履歴データと、その操作履歴データに関連付けられているユーザリストとを、データ整形部１０９から受信すればよい。操作受付部１１０が受信した最新の操作を含む連続する複数の操作は、その最新の操作が対象とする描画オブジェクトが分類されたオブジェクトグループに含まれる描画オブジェクトを対象とする操作であってもよい。
【００５７】
また、操作スコア導出部１０４は、モデル記憶部１０８からモデルを読み出す。そして、操作スコア導出部１０４は、例えば操作記憶部１０２に格納されている各操作に対して、受信した操作履歴データ及びユーザリストと読み出したモデルとを使用して、スコアを導出する。操作スコア導出部１０４は、例えば、描画オブジェクト記憶部１０１に格納されている描画オブジェクトに対して行うことが可能な操作を、操作記憶部１０２に格納されている操作から選択してもよい。そして、操作スコア導出部１０４は、選択された操作に対して、スコアを導出すればよい。
【００５８】
操作スコア導出部１０４は、モデルの読み出しからスコアの導出までの処理を、入力支援装置１に接続されて、共有画面を共有する全ての端末装置２のユーザに対して行えばよい。前述のように、共有画面を共有する端末装置２のユーザのユーザＩＤは、操作履歴記憶部１０３に格納されている。操作スコア導出部１０４は、操作履歴記憶部１０３に格納されているユーザＩＤを一つ選択すればよい。そして、操作スコア導出部１０４は、読み出されたユーザＩＤに関連付けられているモデルを、モデル記憶部１０８から読み出せばよい。そして、操作スコア導出部１０４は、読み出されたモデルを使用して、スコアの導出を行えばよい。操作スコア導出部１０４は、操作履歴記憶部１０３に格納されていユーザＩＤが全て選択されるまで、モデルの読み出しからスコアの導出までの動作を行えばよい。操作スコア導出部１０４は、一つのユーザＩＤに対して、操作記憶部１０２に格納されている全ての操作のスコアを算出すると、例えば、算出した全ての操作ＩＤとその操作ＩＤのスコアを、そのユーザＩＤに関連付けて、操作推薦部１０５に送信すればよい。
【００５９】
上述のように、本実施形態では、スコアは確率である。以下の説明において、一連の操作の後に行われる操作としての確率が高いほど、スコアは高い。
【００６０】
操作推薦部１０５は、スコアが高い順から所定個数の操作を選択する。操作推薦部１０５が選択する操作の個数は、例えば入力支援装置１によって適宜選択された１個以上の個数であればよい。操作推薦部１０５は、さらに、スコアが所定スコアより高い操作を選択してもよい。
【００６１】
さらに、操作推薦部１０５は、選択した操作を、スコアの順に並べる。そして、操作推薦部１０５は、スコアの順に並んだ操作のリストを、端末装置２の出力部２０２に出力する。
【００６２】
操作推薦部１０５は、操作を選択する動作から操作のリストを送信する動作までの動作を、入力支援装置１に接続されて、共有画面を共有する全ての端末装置２のユーザに対して行えばよい。操作推薦部１０５は、ユーザＩＤに関連付けられた、操作ＩＤとその操作ＩＤに対して算出されたスコアを受信すると、ユーザＩＤ毎に、前述の操作のリストを生成する。そして、操作推薦部１０５は、そのユーザＩＤに関連付けられている端末装置２の識別子を読み出す。そして、操作推薦部１０５は、識別子が読み出された端末装置２に対して、上述の操作のリストを出力すればよい。
【００６３】
また、端末装置２は、入力部２０１と、出力部２０２とを含む。
【００６４】
入力部２０１は、端末装置２のユーザが操作を入力する入力装置から、ユーザの操作を表す信号を受信する。入力装置は、図２において図示されていない。入力装置は、例えば、キーボードや、マウスや、他のポインティングデバイスである。入力装置は、例えばタッチパネルのような、入力機能を備えた表示装置であってもよい。入力装置は、端末装置２のユーザが操作を入力できる装置であれば、以上に限られない。入力部２０１は、受信した信号が表す操作が、共有画面に配置されている描画オブジェクトに対する操作であるか否かを判定する。受信した信号が表す操作が共有画面に配置されている描画オブジェクトに対する操作であると判定された場合、入力部２０１は、その操作が、どの描画オブジェクトを対象とする、どのような種別の操作であるかを特定する。そして、入力部２０１は、その操作の内容を特定する。入力部２０１は、特定された操作の種別を表す前述の操作ＩＤを選択する。そして、入力部２０１は、選択された操作ＩＤと、その操作の対象である描画オブジェクトのオブジェクトＩＤとを、操作受付部１１０に送信する。入力部２０１は、さらに、入力部２０１が含まれる端末装置２のユーザのユーザＩＤを、操作ユーザ識別子として、操作受付部１１０に送信してもよい。入力部２０１は、操作の内容を、操作受付部１１０に送信してもよい。入力部２０１は、操作ＩＤと、オブジェクトＩＤと、操作ユーザＩＤと、操作の内容とを含む操作データを、操作受付部１１０に送信してもよい。
【００６５】
また、入力部２０１は、入力支援装置１に接続される際、入力部２０１が含まれる端末装置２のユーザのユーザＩＤを、操作受付部１１０に送信する。入力部２０１は、図示されない入力装置を介してユーザが入力したユーザＩＤを、操作受付部１１０に送信してもよい。入力部２０１は、端末装置２が保持するユーザＩＤを、操作受付部１１０に送信してもよい。
【００６６】
出力部２０２は、例えば、描画オブジェクトのオブジェクトＩＤと、配置位置と、描画オブジェクトの内容を表すデータを含む、上述のオブジェクトデータを、共有画面出力部２０３から受信する。出力部２０２は、受信したオブジェクトデータに基づき、共有画面を生成してもよい。また、出力部２０２は、操作推薦部１０５から、スコアが高い順に並べられた操作のリストを受信する。そして、出力部は、リストに含まれる操作の入力を促す表示を生成する。出力部２０２は、例えば入力支援装置１の共有画面出力部２０３から、共有画面を受信してもよい。また、出力部２０２は、例えば入力支援装置１の操作推薦部１０５から、操作の入力を促す表示を受信してもよい。出力部２０２は、例えば、端末装置２が画面を表示する表示装置に、上述の共有画面と、操作の入力を促す表示とを表示する。操作の入力を促す表示は、例えば、操作を入力する機能を起動するためのアイコンである。操作の入力を促す表示は、例えば、メニューであってもよい。本実施形態の説明では、アイコンやメニューなどの、ユーザに操作の入力を促す表示を表すデータを受信することを、ユーザに操作の入力を促す表示を受信すると表記する。出力部２０２は、ユーザに入力を促す表示を、共有画面に重畳して表示してもよい。出力部２０２は、ユーザに入力を促す表示を、共有画面が表示される領域に重ならないよう表示装置に表示する。表示装置は、図２において図示されていない。表示装置は、例えばフラットパネルディスプレイ装置である。表示装置は、タッチパネルであってもよい。表示装置は、端末装置２が画面を表示する装置であれば、以上に限られない。
【００６７】
次に、本実施形態の入力支援装置１Ａの動作について、図面を参照して詳細に説明する。
【００６８】
図４は、本実施形態の入力支援装置１の、学習時における動作の例を表すフローチャートである。
【００６９】
学習部１０７は、例えば、操作受付部１１０が新しく操作を受信した場合に、図４に示す動作を開始すればよい。その場合、例えば操作受付部１１０が、学習部１０７に対して、操作を新しく受信したことを通知すればよい。学習部１０７は、例えば定期的に図４に示す動作を開始してもよい。
【００７０】
図４の動作の開始時において、既に前述のオブジェクトグループは生成されている。そして、各オブジェクトグループのオブジェクトグループＩＤに関連付けられた、連続する複数の操作の操作データを含む操作履歴データが、整形データ記憶部１１１に格納されている。さらに、操作履歴データは、その操作履歴データが表す複数の操作のうち最後の操作の後に行われた最初の操作と、その操作を行ったユーザのユーザＩＤに関連付けられている。
【００７１】
入力支援装置１は、例えば、操作履歴記憶部１０３に格納されている全ての参加ユーザＩＤを一つずつ順次選択し、選択された参加ユーザＩＤに対して、図４の動作を行う。前述のように、参加ユーザＩＤは、共有画面を共有する端末装置２のユーザのユーザＩＤである。そして、選択された参加ユーザＩＤが対象ユーザＩＤである。また、選択された参加ユーザＩＤによって特定されるユーザが、対象ユーザである。
【００７２】
学習部１０７は、まず、最新の操作が対象とする描画オブジェクトが分類されたオブジェクトグループを特定する（ステップＳ１０１）。学習部１０７は、例えば、操作履歴データに含まれる操作の操作時刻に基づき、最新の操作を特定すればよい。そして、学習部１０７は、最新の操作を含む操作履歴データに関連付けられているオブジェクトグループＩＤによって、最新の操作が対象とする描画オブジェクトが分類されたオブジェクトグループを特定すればよい。
【００７３】
次に、学習部１０７は、特定されたオブジェクトグループに含まれる描画オブジェクトに対する操作履歴を表す操作履歴データを特定する（ステップＳ１０２）。学習部１０７は、例えば、特製したオブジェクトグループのオブジェクトグループＩＤに関連付けられている操作履歴データを特定すればよい。
【００７４】
次に、学習部１０７は、操作履歴データで表される操作履歴に含まれる最後の操作の次の操作を、対象ユーザが行った操作履歴データを特定する（ステップＳ１０３）。学習部１０７は、ステップＳ１０２で特定した操作履歴データのうち、対象ユーザＩＤに関連付けられている操作履歴データを特定すればよい。
【００７５】
次に、学習部１０７は、特定した操作履歴データと、操作履歴データで表される操作履歴に含まれる最後の操作の次の操作とを読み出す（ステップＳ１０４）。学習部１０７は、ステップＳ１０３で特定した操作履歴データと、その操作履歴データに関連付けられている操作とを、整形データ記憶部１１１から読み出せばよい。
【００７６】
次に、学習部１０７は、読み出した操作履歴データ及び操作と、ユーザリストとに基づいて学習を行うことによって、操作のスコアを導出するモデルを導出する（ステップＳ１０５）。前述のように、ユーザリストは、共有画面を共有する全ての端末装置２のユーザのユーザＩＤである。学習部１０７は、読み出した操作履歴データ及び操作を教師データとして使用して、あらかじめ定められたアルゴリズムに基づく学習方法によって機械学習を行う。このことにより、学習部１０７は、一連の操作と、ある一つの操作である対象操作が与えられたときに、その一連の操作の後に対象ユーザがその対象操作を行う確率を表すスコアを導出するモデルを導出する。モデルは、例えば、一連の操作を表す値と、対象操作を表す値を引数として、前述の確率を導出する、あらかじめ与えられた数式のパラメータである。
【００７７】
最後に、学習部１０７は、導出されたモデルをモデル記憶部１０８に格納する。
【００７８】
次に、入力支援装置１の操作を受信した場合の動作について、図面を参照して詳細に説明する。
【００７９】
図５は、本実施形態の入力支援装置１の操作を受信した場合の動作の例を表すフローチャートである。
【００８０】
図５を参照すると、まず、操作受付部１１０が、端末装置２から操作を受信する（ステップＳ２０１）。操作を受信した操作受付部１１０は、学習部１０７に、操作を新しく受信したことを通知してもよい。
【００８１】
次に、操作受付部１１０は、受信した操作を、共有画面に配置されている描画オブジェクトである配置オブジェクトに反映させる（ステップＳ２０２）。
【００８２】
次に、操作受付部１１０は、受信した操作を、履歴操作として操作履歴記憶部１０３に格納する（ステップＳ２０３）。
【００８３】
次に、オブジェクトグループ生成部１０６は、受信した捜査が対象とする描画オブジェクトを含む、オブジェクトグループを特定する（ステップＳ２０４）。既に生成されているオブジェクトグループが存在し、受信した操作が描画オブジェクトの生成である場合、その描画オブジェクトはいずれのオブジェクトグループにも含まれていない。その場合、オブジェクトグループ生成部１０６は、新しく生成された描画オブジェクトが、どのオブジェクトグループに分類されるか判定する。そして、オブジェクトグループ生成部１０６は、新しく生成された描画オブジェクトを、その描画オブジェクトが分類されると判定されたオブジェクトグループに追加する。新しく生成された描画オブジェクトが、いずれのオブジェクトグループにも含まれない場合、オブジェクトグループ生成部１０６は、新しく生成された描画オブジェクトを含む新しいオブジェクトグループを生成する。
【００８４】
次に、データ整形部１０９が、ステップＳ２０１で特定されたオブジェクトグループに含まれる描画オブジェクトを対象とする履歴操作と受信した操作とから、操作履歴データを生成する（ステップＳ２０５）。データ整形部１０９は、受信した操作の直前に行われた履歴操作を含む、連続する履歴操作と、受信した操作から、操作履歴データを生成すればよい。操作履歴データが生成される操作の数は、あらかじめ決められていてもよい。データ整形部１０９は、ステップＳ２０５で生成した操作履歴データを、操作スコア導出部１０４に送信する。
【００８５】
操作スコア導出部１０４は、操作履歴記憶部１０３に格納されている参加ユーザＩＤから、まだ選択されてない参加ユーザＩＤを一つ選択すればよい。そして、操作スコア導出部１０４は、選択された参加ユーザＩＤである対象ユーザＩＤに対して、ステップＳ２０６からステップＳ２０８までの動作を行う。さらに、操作推薦部１０５が、ステップＳ２０９とステップＳ２１０の動作を行う。入力支援装置１は、ステップＳ２０６からステップＳ２１０間での動作を、操作スコア導出部１０４が全ての参加ユーザＩＤを選択するまで繰り返せばよい。
【００８６】
操作スコア導出部１０４は、まず、操作記憶部１０２に格納されている操作である候補操作を一つ読み出す（ステップＳ２０６）。
【００８７】
操作スコア導出部１０４は、生成された操作履歴データと、その操作履歴データに関連付けられているユーザリストと、生成されたモデルとを使用して、候補操作に対するスコアを導出する（ステップＳ２０７）。本実施形態では、ステップＳ２０７で導出されるスコアは、操作履歴データで表される一連の操作の後に、対象ユーザが候補操作を行う確率である。
【００８８】
操作記憶部１０２から全ての候補操作が読み出されていない場合（ステップＳ２０８においてＮｏ）、入力支援装置１の動作は、ステップＳ２０６に戻る。
【００８９】
操作記憶部１０２から全ての候補操作が読み出した場合（ステップＳ２０８においてＹｅｓ）、操作推薦部１０５は、受信した操作が行われた後の状態において選択できない候補操作を除外する。そして、操作推薦部１０５は、残った候補操作から、導出された確率が高い方から所定個数の候補操作を選択する（ステップＳ２０９）。
【００９０】
次に、操作推薦部１０５は、導出された確率が高い順に並べられた、選択された候補操作の入力を促す表示を、端末装置２に送信する（ステップＳ２１０）。操作推薦部１０５は、導出された確率が高い順に並べられた、選択された候補操作のリストを、端末装置２に送信してもよい。そして、端末候補２が、リストに含まれる候補操作の入力を促す表示を、候補操作が並べられた順番に並べて、出力してもよい。
【００９１】
以上で説明した本実施形態には、複数のユーザが共有画面に対して操作を行う場合において、一連の操作の次に行われるあるユーザの操作を予測する精度を向上させることができるという第１の効果がある。
【００９２】
第１の効果の第１の理由は、操作スコア導出部１０４が、一連の操作と共有画面を共有するユーザとに基づき、一連の操作の次に行われるあるユーザの操作の確率を算出するからである。
【００９３】
第１の効果の第２の理由は、操作スコア導出部１０４が、一連の操作とそれらの操作を行ったユーザとに基づき、一連の操作の次に行われるあるユーザの操作の確率を算出するからである。
【００９４】
連続する同じ操作であっても、それらの操作を行うユーザが異なれば、それらの操作の後に行われる操作が異なる場合がある。例えば、ユーザＡが続けてテキストを入力した後には、ユーザＡが四角形を作成することが多いのに対して、ユーザＡとユーザＢがテキストを入力した後には、ユーザＡが続けてテキストを入力することが多いような場合がある。そのような状況において、操作を行うユーザの情報を使用しないで次の操作の予測が行われる場合、精度のよい予測は期待できない。一方、本実施形態の操作スコア導出部１０４は、操作を行ったユーザに基づいて、操作が次に行われる確率を算出する。本実施形態の入力支援装置１は、複数のユーザが共有画面に対して操作を行う場合において、一連の操作の次に行われる、あるユーザの操作を予測する精度を向上させることができる。
【００９５】
また、本実施形態には、さらに、複数の描画オブジェクトが配置されている共有画面に対して操作を行う場合において、一連の操作の次に行われるあるユーザの操作を予測する精度を向上させることができるという第２の効果がある。
【００９６】
第２の効果の第１の理由は、操作スコア導出部１０４が、一連の操作とそれぞれの操作の対象であった描画オブジェクトの位置とに基づき、一連の操作の次に行われるあるユーザの操作を予測するからである。
【００９７】
第２の効果の第１の理由は、操作スコア導出部１０４が、一連の操作とそれぞれの操作が行われた時刻とに基づき、一連の操作の次に行われるあるユーザの操作を予測するからである。
【００９８】
例えば、連続する２つの操作によって生成された２つのオブジェクトの位置関係によって、次に行われる操作が異なる場合がある。例えば、ユーザが四角形を作成した後、その四角形の中にテキストを入力した場合、そのユーザは、さらに四角形を入力することが多いのに対し、ユーザが四角形を作成した後、その四角形の下にテキストを入力した場合、そのユーザは、さらに矢印を入力することが多いというような場合がある。このような状況において、連続する２つの操作によって生成されたオブジェクトの位置関係を使用しないで予測が行われる場合、予測の精度は期待できない。一方、本実施形態の操作スコア導出部１０４は、連続する２つの操作によって生成されたオブジェクトの位置関係を使用して、操作が次に行われる確率を算出する。従って、本実施形態の入力支援装置１は、複数の描画オブジェクトが配置されている共有画面に対して操作を行う場合において、一連の操作の次に行われるあるユーザの操作を予測する精度を向上させることができる。
【００９９】
（構成例）
次に、本発明の第１の実施形態に基づく構成例について、図面を参照して詳細に説明する。
【０１００】
図６は、本実施形態の入力支援装置１の構成例であるレコメンドサーバ１Ｅの構成を表すブロック図である。
【０１０１】
図６を参照すると、レコメンドサーバ１Ｅは、オブジェクトグループ生成部１０と、データリポジトリ部２０と、特徴ベクトル生成部３０と、レコメンドエンジン部４０と、レコメンドランキング決定部５０と、操作受付部６０とを含む。
【０１０２】
データリポジトリ部２０は、操作履歴データ記憶部２１と、オブジェクトデータ記憶部２２とを含む。
【０１０３】
特徴ベクトル生成部３０は、時間特徴ベクトル生成部３１と、空間特徴ベクトル生成部３２と、ユーザ属性特徴ベクトル生成部３３と、特徴ベクトルセット生成部３４とを含む。
【０１０４】
レコメンドエンジン部４０は、学習部４１と、スコア計算部４２とを含む。
【０１０５】
レコメンドサーバ１Ｅの構成要素と、入力支援装置１の構成要素の関係は、以下の通りである。
【０１０６】
オブジェクトグループ生成部１０は、オブジェクトグループ生成部１０６に相当する。操作履歴データ記憶部２１は、操作履歴記憶部１０３に相当する。オブジェクトデータ記憶部２２は、描画オブジェクト記憶部１０１に相当する。特徴ベクトル生成部３０は、データ整形部１０９に相当する。学習部４１は、学習部１０７に相当する。スコア計算部４２は、操作スコア導出部１０４に相当する。レコメンドランキング決定部５０は、操作推薦部１０５に相当する。操作受付部６０は、入力支援装置１の操作受付部１１０に相当する。また、データリポジトリ部２０は、操作記憶部１０２として動作する。
【０１０７】
次に、レコメンドサーバ１Ｅの構成について、さらに詳細に説明する。
【０１０８】
操作受付部６０は、ユーザの操作を受け付ける。データリポジトリ部２０は、ユーザの操作履歴データを記憶する操作履歴データ記憶部２１と登録されたオブジェクトデータを記憶するオブジェクトデータ記憶部２２とを含む。オブジェクトグループ生成部１０は、登録されたオブジェクトデータの空間距離もしくは操作履歴の操作時間距離でオブジェクトをグルーピングする。特徴ベクトル生成部３０は、オブジェクトグループを特徴ベクトルへ変換する。レコメンドエンジン部４０は、オブジェクトグループの時間関係、空間関係、及びユーザ属性をあらわす特徴ベクトルセットに基づき、次の操作候補の出力確率を求める。レコメンドランキング決定部５０は、次の操作候補として選択できない操作を操作候補から除外した上で、レコメンドエンジン部４０によって計算された出力確率が高い順で操作候補が並べられたレコメンドリストを生成する。
【０１０９】
特徴ベクトル生成部３０は、時間特徴ベクトル生成部３１と、空間特徴ベクトル生成部３２と、ユーザ属性特徴ベクトル生成部３３と、特徴ベクトルセット生成部３４とを含む。時間特徴ベクトル生成部３１は、操作履歴から、時間関係を表す時間特徴ベクトルを生成する。空間特徴ベクトル生成部３２は、オブジェクト間の空間関係を表す空間特徴ベクトルを生成する。ユーザ属性特徴ベクトル生成部３３は、操作のユーザ属性を表すユーザ属性特徴ベクトルを生成する。特徴ベクトルセット生成部３４は、時間特徴ベクトル、空間特徴ベクトル、ユーザ属性特徴ベクトルに基づき、特徴ベクトルセットを生成する。
【０１１０】
レコメンドエンジン部４０は、学習部４１と、スコア計算部４２とを含む。学習部４１は、特徴ベクトルセットと操作の対応であるパタンに基づき学習を行う。スコア計算部４２は、ある特徴ベクトルセットが与えられたときに、その特徴ベクトルと学習の結果に基づき、操作の出現確率を計算する。
【０１１１】
時間関係は、操作の順序である。時間関係は、後述される特徴ベクトルセットに、操作の情報を表す特徴ベクトルが、操作が行われた時刻の順に並べられることによって表される。
【０１１２】
図７は、特徴ベクトルと特徴ベクトルセットの関係を概念的に表す図である。特徴ベクトルセットは、操作が行われた順番に並べられた特徴ベクトルによって構成される。特徴ベクトルには、時間特徴ベクトルと、空間特徴ベクトルと、ユーザ属性特徴ベクトルがある。時間特徴ベクトルは、上述の時間特徴データに相当する。空間特徴ベクトルは、上述の空間特徴データに相当する。ユーザ属性特徴ベクトルは、上述のユーザ属性特徴データに相当する。
【０１１３】
図８は、時間特徴ベクトルと時間特徴ベクトルによって構成される特徴ベクトルセットを概念的に表す図である。時間特徴ベクトルは、上述の時間関係を表すベクトルである。
【０１１４】
時間特徴ベクトルは、例えば、操作の識別子である操作ＩＤと、操作が行われた時刻とを含む。例えば、図８の左端のベクトルでは、操作ＩＤはｉｄ１である。また、操作が行われた時刻はＴ１である。時刻の数値が使用されることにより、操作が行われた時刻に応じた、操作に対する重み付けが可能になる。時間特徴ベクトルは、さらに、操作が行われた時刻と、その操作の直前の操作が行われた時刻との差を含んでいてもよい。例えば、図８の左端のベクトルでは、この時刻の差はｔ１である。時刻の差の数値が使用されることにより、操作の時間的な間隔に応じた、操作に対する重み付けが可能になる。時間特徴ベクトルは、さらに、操作が行われた時刻において、共有画面に対する一連の操作が開始されてから経過した時間である経過時間を含んでいてもよい。例えば、図８の左端のベクトルでは、経過時間はｅ１である。経過時間の数値が使用されることにより、操作が行われた時刻における経過時間に応じた、操作に対する重み付けが可能になる。その場合、レコメンドサーバ１Ｅは、経過時間に応じて異なるレコメンド操作リストを出力することが可能になる。
【０１１５】
空間関係は、例えば、ホワイトボード上の複数操作オブジェクトの座標である。ホワイトボードは、前述の電子ホワイトボードである。本構成例の説明においては、ホワイトボードは電子ホワイトボードを表す。ホワイトボードは、前述の共有画面に相当する。複数操作オブジェクトは、複数のユーザが操作することができる描画オブジェクトである。本変形例の説明において、複数操作オブジェクトは、単に、オブジェクトとも表記される。複数操作オブジェクトの座標は、例えば、ｘ座標とｙ座標とを組み合わせた二次元座標によって表される。
【０１１６】
図９は、空間特徴ベクトルと空間特徴ベクトルによって構成される特徴ベクトルセットを概念的に表す図である。空間特徴ベクトルは、上述の空間関係を表すベクトルである。
【０１１７】
空間特徴ベクトルは、例えば、操作を特定する操作ＩＤと、その操作の対象であるオブジェクトの座標を含む。図９の空間特徴ベクトルは、座標として、ｘ座標とｙ座標とを含む。例えば、図９の左端の空間特徴ベクトルでは、操作ＩＤがｉｄ１であり、ｘ座標はｘ１であり、ｙ座標はｙ１である。座標の数値が使用されることにより、操作が行われたオブジェクトの位置に応じた、操作に対する重み付けが可能になる。その場合、レコメンドサーバ１Ｅは、操作が行われた場所に応じて異なるレコメンド操作リストを出力することが可能になる。その場合、レコメンドサーバ１Ｅは、例えば、左上にテキストボックスが生成された場合は箇条書きのメニューを出力し、下側にテキストボックスが生成された場合は、フォントを小さくするメニューを出力するような動作が可能になる。
【０１１８】
空間特徴ベクトルは、操作が行われたオブジェクトの位置と、その操作の直前の操作が行われたオブジェクトの位置との間の距離を含んでいてもよい。例えば、図８に示す左端の空間特徴ベクトルでは、その距離はｄ１である。距離の数値が使用されることにより、連続する操作が行われたオブジェクトの距離に応じたレコメンドリストの出力が可能になる。その場合、レコメンドサーバ１Ｅは、例えば、２個の四角形が続けて描かれた場合、連続する操作の対象であるそれらの２個の四角形が重なっていればレイヤーを変更するメニューを出力し、の距離が遠ければ、矢印を描くメニューを出力するような動作が可能になる。空間特徴ベクトルが含む座標と距離は、ホワイトボードの高さと幅によって正規化されていてもよい。正規化は、例えば、高さ方向の座標値をホワイトボードの高さで割り、幅方向の座標値をホワイトボードの幅で割る操作である。そして、距離は、正規化後の座標によって算出されればよい。
【０１１９】
空間特徴ベクトルは、さらに、操作が行われたオブジェクトの位置の、その操作の直前の操作が行われたオブジェクトの位置からの方向を表す値を含んでいてもよい。方向は、例えば、いずれかの座標軸からの角度によって表されていればよい。例えば図８に示す左端の空間ベクトルでは、角度はθ１である。図の多くは、左から右へ、あるいは上から下に向かって描かれる。方向の値が使用されることによって、描かれる順序に応じたレコメンドリストの出力が可能になる。
【０１２０】
ユーザ属性は、例えば、操作を行ったユーザのユーザＩＤや、ホワイトボードを使用するユーザのユーザＩＤのリストである。
【０１２１】
図１０は、ユーザ属性特徴ベクトルとユーザ属性特徴ベクトルによって構成される特徴ベクトルセットを概念的に表す図である。
【０１２２】
ユーザ属性特徴ベクトルの一つは、ホワイトボードを使用するユーザのユーザＩＤのリストである。図１０に示す例では、右端のユーザ属性特徴ベクトルが、ホワイトボードを使用するユーザのユーザＩＤのリストを表すユーザ属性特徴ベクトルである。右端のベクトルにおいて、Ｕ１からＵｎがホワイトボードを使用するユーザのユーザＩＤである。リストに含まれる、ホワイトボードを使用するユーザのユーザＩＤの値が使用されることにより、ホワイトボードの使用者に応じたレコメンドリストの出力が可能になる。
【０１２３】
また、ユーザ属性特徴ベクトルは、それぞれの操作を行ったユーザのユーザＩＤを表すベクトルであってもよい。図１０に示す例では、例えば左端のベクトルは、操作ＩＤがｉｄ１である操作を、ユーザＩＤがｕ１であるユーザが行ったことを表すベクトルである。このベクトルにおけるｕ１の値は、右端のベクトルの要素の値である、Ｕ１からＵｎまで値のいずれかである。ユーザ属性特徴ベクトルは、ユーザのグループＩＤを含んでいてもよい。例えば、図１０に示す左端のベクトルにおいて、グループＩＤはｇ１である。それぞれの操作を行ったユーザのユーザＩＤの値が使用されることにより、ユーザ毎の操作パタンに応じたレコメンドリストの出力が可能になる。
【０１２４】
次に、本構成例のレコメンドサーバ１Ｅの動作について、図面を参照して詳細に説明する。本構成例のレコメンドサーバ１Ｅの動作は、機械学習フェーズと操作のレコメンドフェーズの２つに分けられる。
【０１２５】
図１１は、本構成例のレコメンドサーバ１Ｅの機械学習フェーズにおける動作の例を表すフローチャートである。
【０１２６】
オブジェクトグループ生成部１０はデータリポジトリ部２０から既存のオブジェクトグループを取得する（ステップＳ３０１）。
【０１２７】
次に、特徴ベクトル生成部３０が、そのオブジェクトグループの特徴ベクトルセットを生成する（ステップＳ３０２）。ステップＳ３０２では、まず、時間特徴ベクトル生成部３１が、オブジェクトグループの操作履歴内の時間関係をベクトルへ変換する。空間特徴ベクトル生成部３２が、オブジェクトグループ内の各オブジェクト間の空間関係をベクトルへ変換する。ユーザ属性特徴ベクトル生成部３３が、オブジェクト操作履歴のユーザ属性をベクトルへ変換する。そして、特徴ベクトルセット生成部３４は、時間特徴ベクトル生成部３１、空間特徴ベクトル生成部３２およびユーザ属性特徴ベクトル生成部３３が生成したそれぞれのベクトルを、特徴ベクトルセットに変換する。
【０１２８】
レコメンドエンジン部４０は、特徴ベクトルセット生成部３４が生成した特徴ベクトルセットを取得する。
【０１２９】
さらに、レコメンドエンジン部４０は、データリポジトリ部２０に含まれる操作履歴データ記憶部２１から、そのオブジェクトグループにおいて、ユーザが選択した次の操作履歴を取得する（ステップＳ３０３）。
【０１３０】
次に、レコメンドエンジン部４０は、取得した特徴ベクトルセットと、ユーザが選択した次の操作履歴に基づいて機械学習を行うことによって、データモデルを生成する（ステップＳ３０４）。このデータモデルは、第１の実施形態の説明におけるモデルに相当する。
【０１３１】
図１２は、本構成例のレコメンドサーバ１Ｅのレコメンドフェーズにおける動作の例を表すフローチャートである。
【０１３２】
まず操作受付部６０が、ユーザによるホワイトボードに対する操作を受け付ける（ステップＳ４０１）。
【０１３３】
操作受付部６０は、受け付けた操作をデータリポジトリ部２０に保存する（ステップＳ４０２）。
【０１３４】
次に、オブジェクトグループ生成部１０が、データリポジトリ部２０から、ホワイトボード上の全てのオブジェクトを取得する。そして、オブジェクトグループ生成部１０は、取得されたオブジェクトから、オブジェクトグループを生成する（ステップＳ４０３）。オブジェクトグループ生成部１０は、生成したオブジェクトグループをデータリポジトリ部２０に保存する。
【０１３５】
オブジェクトは、四角枠、テキスト、矢印、画像などのホワイトボードの図形要素である。オブジェクトに対する操作は、オブジェクトをホワイトボード上に作成すること、色やスタイルなどの属性を設定すること、フォント、文字サイズを設定することなどである。関連していないオブジェクトに対する各操作には、関連性はないはずである。したがって、オブジェクトグループ生成部１０は、関連していないオブジェクトに対する操作を別の操作履歴として扱う。また、関連する２つのオブジェクトは、以下の２つの条件を満たすオブジェクトである。関連していない２つのオブジェクトは、以下の２つの条件を満たさないオブジェクトである。第１の条件は、２つのオブジェクトが配置されている位置の距離が閾値以内であることである。第２の条件は、２つのオブジェクトが作成された時刻の差が閾値以内であることである。また、ある操作の対象であるオブジェクトが、あるオブジェクトグループのいずれかのオブジェクトと関連していることを、その操作がそのオブジェクトグループに関連すると表記する。
【０１３６】
オブジェクト生成部１０は、さらに、ステップＳ４０２において保存された操作が、既存オブジェクトグループのいずれかと関連しているか否かを判定する。オブジェクト生成部１０は、ステップＳ４０２において保存された操作が、いずれかの既存オブジェクトグループと関連していれば、その操作をそのオブジェクトグループに追加する。オブジェクト生成部１０は、その操作がいずれの既存オブジェクトグループとも関連していなければ、新たなオブジェクトグループを作成する。オブジェクト生成部１０は、操作が複数のオブジェクトグループに関連する場合、それらの既存のオブジェクトグループを統合する。
【０１３７】
そして、時間特徴ベクトル生成部３１が、既存オブジェクトグループの操作履歴内の時間関係をベクトルへ変換する（ステップＳ４０４）。空間特徴ベクトル生成部３２が、オブジェクトグループ内の各オブジェクト間の空間関係をベクトルへ変換する（ステップＳ４０５）。ユーザ属性特徴ベクトル生成部３３が、オブジェクト操作履歴のユーザ属性をベクトルへ変換する（ステップＳ４０６）。そして、特徴ベクトルセット生成部３４が、時間特徴ベクトル生成部３１、空間特徴ベクトル生成部３２およびユーザ属性特徴ベクトル生成部３３が生成したそれぞれのベクトルを、特徴ベクトルセットに変換する（ステップＳ４０７）。
【０１３８】
次に、レコメンドエンジンのスコア計算部４２が、特徴ベクトルセット生成部３４が生成した特徴ベクトルセットを取得する。また、スコア計算部４２は、データリポジトリ内にあらかじめ格納されている操作集合から候補操作を取得する。そして、スコア計算部４２は、操作のスコアを計算する（ステップＳ４０９）。本変形例では、スコアは確率である。
【０１３９】
そして、レコメンドランキング決定部５０は、スコア計算部４２から、候補操作と、その候補操作のスコアを取得する。レコメンドランキング決定部５０は、候補操作から選択できない操作を除外する。そして、レコメンドランキング決定部５０は、残った候補操作をスコア高い順で並べたレコメンドリストを作成する（ステップＳ４１０）。
【０１４０】
レコメンドランキング決定部５０は、生成したレコメンドリストを、ユーザに対して出力する（ステップＳ４１１）。
【０１４１】
図１３は、学習及びスコアの計算におけるデータの流れを概念的に表す図である。
【０１４２】
学習においては、特徴ベクトルセットと操作の組み合わせが、複数、レコメンドエンジン部４０に供給される。そして、レコメンドエンジン部４０は、データモデルを出力する。
【０１４３】
スコア計算においては、データモデルと、特徴ベクトルセットと、複数の操作の候補とが、レコメンドエンジン部４０に供給される。そして、レコメンドエンジン部４０は、複数の確率を出力する。
【０１４４】
（第１の変形例）
次に、本実施形態に基づく第１の変形例について、図面を参照して詳細に説明する。
【０１４５】
図１５は、本変形例の情報処理システム１００Ａの構成を表すブロック図である。図１５を参照すると、本変形例の情報処理システム１００Ａは、それぞれ入力支援装置１Ａを含む端末装置２Ａを含む。
【０１４６】
図１６は、本変形例の情報処理システム１００Ａの全体像を表すブロック図である。図１６を参照すると、各端末装置２Ａは、通信ネットワーク３を介して接続されている。各端末装置２Ａは、互いに通信することができる。
【０１４７】
図１５に示す入力支援装置１Ａは、図２に示す入力支援装置１の各構成要素に加えて、操作送受信部２０４を含む。
【０１４８】
操作送受信部２０４は、他の端末装置２Ａのユーザが行った操作の操作データを、その端末装置２から受信する。そして、他の端末装置２Ａから受信した操作データを、操作受付部１１０に送信する。また、操作送受信部２０４は、その操作送受信部２０４が含まれる端末装置２のユーザが行った操作の操作データを、操作受付部１１０を介して受信する。そして、操作送受信部２０４は、その操作送受信部２０４が含まれる端末装置２のユーザが行った操作の操作データを、他の端末装置２Ａの各々に送信する。本変形例の操作受付部１１０は、入力部２０１から受信した操作データを、さらに、操作送受信部２０４に送信する。
【０１４９】
本変形例の学習部１０７は、入力支援装置１Ａを含む端末装置２Ａのユーザに対するモデルを導出すればよい。本変形例のモデル記憶部１０８は、入力支援装置１Ａを含む端末装置２Ａのユーザに対して導出されたモデルを記憶する。本変形例の操作スコア導出部１０４は、入力支援装置１Ａを含む端末装置２Ａのユーザに対して操作のスコアを導出し、操作のリストを生成する。本変形例の操作推薦部１０５は、入力支援装置１Ａを含む端末装置２Ａの出力部２０２に対して、操作のリストを生成する。
【０１５０】
本変形例の情報処理システム１００Ａは、その他の点において、第１の実施形態の情報処理システム１００と同じである。
【０１５１】
（第２の変形例）
次に、本実施形態の第２の変形例について、図面を参照して詳細に説明する。
【０１５２】
図１７は、本変形例の情報処理システム１００Ｂの構成の例を表すブロック図である。図１７を参照すると、本変形例の情報処理システム１００Ｂは、複数の端末装置２Ｂと、それぞれの端末装置２Ｂに接続された入力支援装置１Ｂを含む。図１７と図１５とを比較すると、本変形例の入力支援装置１Ｂは、共有画面出力部２０３と、操作送受信部２０４とを含まない。一方、本変形例の端末装置２Ｂは、共有画面出力部２０３と、操作送受信部２０４とを含む。
【０１５３】
図１８は、本変形例の情報処理システム１００Ｂの全体像を表すブロック図である。図１８を参照すると、各端末装置２は、通信ネットワーク３を介して接続されている。さらに、各端末装置２Ｂに、入力支援装置１Ｂが接続されている。
【０１５４】
本変形例の情報処理システム１００Ｂは、その他の点において、第１の実施形態の第１の変形例の情報処理システム１００Ａと同じである。
【０１５５】
（第２の実施形態）
次に、本発明の第２の実施形態について、図面を参照して詳細に説明する。
【０１５６】
図１は、本実施形態の入力支援装置１Ｃの構成を表すブロック図である。
【０１５７】
図１を参照すると、本実施形態の入力支援装置１Ｃは、複数の端末装置で共有される共有画面に配置される描画オブジェクトを対象とする操作を複数種類記憶する操作記憶部１０２と、前記共有画面に配置されており、描画オブジェクト記憶手段に格納されている前記描画オブジェクトである、配置オブジェクトを対象として行われた操作である履歴操作を、前記履歴操作が行われた順番で記憶し、さらに、前記複数の端末装置のユーザの識別子である参加ユーザ識別子を記憶する操作履歴記憶部１０３と、前記複数の端末装置のうち対象端末装置のユーザである対象ユーザが、前記操作記憶手段に格納されている前記操作である候補操作を、次に行う確率である操作確率を、前記対象ユーザの識別子である対象ユーザ識別子と、前記履歴操作と、前記参加ユーザ識別子とに基づいて導出する操作スコア導出部１０４とを備える。
【０１５８】
以上で説明した本実施形態には、第１の実施形態の第１の効果と同じ効果がある。その理由は、第１の実施形態の第１の効果の第１の理由と同じである。
【０１５９】
入力支援装置１、入力支援装置１Ａ、入力支援装置１Ｂ、入力支援装置１Ｃ、及びレコメンドサーバ１Ｅは、それぞれ、コンピュータ及びコンピュータを制御するプログラム、専用のハードウェア、又は、コンピュータ及びコンピュータを制御するプログラムと専用のハードウェアの組合せにより実現することができる。
【０１６０】
図１４は、入力支援装置１、入力支援装置１Ａ、入力支援装置１Ｂ、入力支援装置１Ｃ、及びレコメンドサーバ１Ｅを実現するために使用される、コンピュータ１０００の構成の一例を表す図である。図１４を参照すると、コンピュータ１０００は、プロセッサ１００１と、メモリ１００２と、記憶装置１００３と、Ｉ／Ｏ（Ｉｎｐｕｔ／Ｏｕｔｐｕｔ）インタフェース１００４とを含む。また、コンピュータ１０００は、記録媒体１００５にアクセスすることができる。メモリ１００２と記憶装置１００３は、例えば、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、ハードディスクなどの記憶装置である。記録媒体１００５は、例えば、ＲＡＭ、ハードディスクなどの記憶装置、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、可搬記録媒体である。記憶装置１００３が記録媒体１００５であってもよい。プロセッサ１００１は、メモリ１００２と、記憶装置１００３に対して、データやプログラムの読み出しと書き込みを行うことができる。プロセッサ１００１は、Ｉ／Ｏインタフェース１００４を介して、例えば、端末装置２にアクセスすることができる。プロセッサ１００１は、記録媒体１００５にアクセスすることができる。記録媒体１００５には、コンピュータ１０００を、入力支援装置１、入力支援装置１Ａ、入力支援装置１Ｂ、入力支援装置１Ｃ、又はレコメンドサーバ１Ｅとして動作させるプログラムが格納されている。
【０１６１】
プロセッサ１００１は、記録媒体１００５に格納されている、コンピュータ１０００を、入力支援装置１、入力支援装置１Ａ、入力支援装置１Ｂ、入力支援装置１Ｃ、又はレコメンドサーバ１Ｅとして動作させるプログラムを、メモリ１００２にロードする。そして、プロセッサ１００１が、メモリ１００２にロードされたプログラムを実行することにより、コンピュータ１０００は、入力支援装置１、入力支援装置１Ａ、入力支援装置１Ｂ、入力支援装置１Ｃ、又はレコメンドサーバ１Ｅとして動作する。
【０１６２】
操作スコア導出部１０４、操作推薦部１０５、オブジェクトグループ生成部１０６、学習部１０７、データ整形部１０９、操作受付部１１０、共有画面出力部２０３、操作送受信部２０４、オブジェクトグループ生成部１０、特徴ベクトル生成部３０、時間特徴ベクトル生成部３１、空間特徴ベクトル生成部３２、ユーザ属性特徴ベクトル生成部３３、特徴ベクトルセット生成部３４、レコメンドエンジン部４０、学習部４１、スコア計算部４２、レコメンドランキング決定部５０、操作受付部６０は、例えば、プログラムを記憶する記録媒体１００５からメモリ１００２に読み込まれた、各部の機能を実現するための専用のプログラムと、そのプログラムを実行するプロセッサ１００１により実現することができる。また、描画オブジェクト記憶部１０１、操作記憶部１０２、操作履歴記憶部１０３、モデル記憶部１０８、整形データ記憶部１１１、データリポジトリ部２０、操作履歴データ記憶部２１、オブジェクトデータ記憶部２２は、コンピュータが含むメモリ１００２やハードディスク装置等の記憶装置１００３により実現することができる。あるいは、描画オブジェクト記憶部１０１、操作記憶部１０２、操作履歴記憶部１０３、操作スコア導出部１０４、操作推薦部１０５、オブジェクトグループ生成部１０６、学習部１０７、モデル記憶部１０８、データ整形部１０９、操作受付部１１０、整形データ記憶部１１１、共有画面出力部２０３、操作送受信部２０４、オブジェクトグループ生成部１０、データリポジトリ部２０、操作履歴データ記憶部２１、オブジェクトデータ記憶部２２、特徴ベクトル生成部３０、時間特徴ベクトル生成部３１、空間特徴ベクトル生成部３２、ユーザ属性特徴ベクトル生成部３３、特徴ベクトルセット生成部３４、レコメンドエンジン部４０、学習部４１、スコア計算部４２、レコメンドランキング決定部５０、操作受付部６０の一部又は全部を、各部の機能を実現する専用の回路によって実現することもできる。
【０１６３】
以上、実施形態を参照して本発明を説明したが、本発明は上記実施形態に限定されるものではない。本発明の構成や詳細には、本発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【０１６４】
また、上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
【０１６５】
（付記１）
複数の端末装置で共有される共有画面に配置される描画オブジェクトを対象とする操作を複数種類記憶する操作記憶手段と、
前記共有画面に配置されており、描画オブジェクト記憶手段に格納されている前記描画オブジェクトである、配置オブジェクトを対象として行われた操作である履歴操作を、前記履歴操作が行われた順番で記憶し、さらに、前記複数の端末装置のユーザの識別子である参加ユーザ識別子を記憶する操作履歴記憶手段と、
前記複数の端末装置のうち対象端末装置のユーザである対象ユーザが、前記操作記憶手段に格納されている前記操作である候補操作を、次に行う確率である操作確率を、前記対象ユーザの識別子である対象ユーザ識別子と、前記履歴操作と、前記参加ユーザ識別子とに基づいて導出する操作スコア導出手段と
を備える入力支援装置。
【０１６６】
（付記２）
前記操作履歴記憶手段は、前記履歴操作に関連付けて、当該履歴操作を行った前記ユーザの識別子である操作ユーザ識別子を記憶し、
前記操作スコア導出手段は、前記操作確率を、前記対象ユーザの識別子である対象ユーザ識別子と、前記履歴操作と、当該履歴操作に関連付けられた前記操作ユーザ識別子とに基づいて導出する
付記１に記載の入力支援装置。
【０１６７】
（付記３）
前記描画オブジェクト記憶手段は、さらに、前記配置オブジェクトに関連付けて、前記共有画面において前記配置オブジェクトが配置されている位置である配置位置を記憶し、
前記操作スコア導出手段は、前記操作確率を、さらに、前記配置位置に基づいて導出する
付記１又は２に記載の入力支援装置。
【０１６８】
（付記４）
前記描画オブジェクト記憶手段は、さらに、前記配置オブジェクトに関連付けて、前記共有画面において前記配置オブジェクトが配置されている位置である配置位置と、前記配置オブジェクトが生成された生成時刻とを記憶し、
前記入力支援装置は、
前記描画オブジェクト記憶手段に格納されている描画オブジェクトから、複数の前記描画オブジェクトを含むオブジェクトグループを、当該オブジェクトグループに含まれる前記描画オブジェクトの、前記オブジェクトグループに含まれる他のいずれかの前記描画オブジェクトに対する、関連付けられている前記配置位置及び前記生成時刻の少なくとも一方における差が、所定基準を満たすように生成するオブジェクトグループ生成手段と、
前記オブジェクトグループに含まれる前記描画オブジェクトの前記操作履歴に基づき、前記操作確率を導出するパラメータを導出する学習手段と
をさらに備え、
前記操作スコア導出手段は、最も新しい前記履歴操作が対象とする前記配置オブジェクトを含む前記オブジェクトグループに含まれる、記配置オブジェクトを対象として行われた前記履歴操作に基づき、導出された前記パラメータを使用して前記操作確率を導出する
付記１又は２に記載の入力支援装置。
【０１６９】
（付記５）
前記操作スコア導出手段は、前記操作確率を、さらに、前記配置位置に基づいて導出する
付記４に記載の入力支援装置。
【０１７０】
（付記６）
前記操作履歴記憶手段は、さらに、前記履歴操作に関連付けて、当該配置オブジェクトに関する前記操作が行われた時刻である操作時刻を記憶し、
前記操作確率導出手段は、前記操作確率を、さらに、前記操作時刻に基づいて導出する
付記１乃至５のいずれかに記載の入力支援装置。
【０１７１】
（付記７）
前記端末装置から、前記操作を受信し、当該操作に基づき前記配置オブジェクトを更新し、受信した前記操作を、前記履歴操作として、前記操作履歴記憶手段に格納する操作受付手段と、
前記描画オブジェクトが配置された前記共有画面を前記対象端末に出力する共有画面出力手段と、
導出された前記操作確率が最も高い前記候補操作の入力を促す表示を、前記対象端末装置に出力する操作推薦手段と
をさらに備える付記１乃至６のいずれかに記載の入力支援装置。
【０１７２】
（付記８）
前記複数の端末と、
付記１乃至７のいずれかに記載の入力支援装置と
を含む情報処理システム。
【０１７３】
（付記９）
複数の端末装置で共有される共有画面に配置される描画オブジェクトを対象とする操作を複数種類操作記憶手段に記憶し、
前記共有画面に配置されており、描画オブジェクト記憶手段に格納されている前記描画オブジェクトである、配置オブジェクトを対象として行われた操作である履歴操作を、前記履歴操作が行われた順番で記憶し、さらに、前記複数の端末装置のユーザの識別子である参加ユーザ識別子を操作履歴記憶手段に記憶し、
前記複数の端末装置のうち対象端末装置のユーザである対象ユーザが、前記操作記憶手段に格納されている前記操作である候補操作を、次に行う確率である操作確率を、前記対象ユーザの識別子である対象ユーザ識別子と、前記履歴操作と、前記参加ユーザ識別子とに基づいて導出する
入力支援方法。
【０１７４】
（付記１０）
前記履歴操作に関連付けて、当該履歴操作を行った前記ユーザの識別子である操作ユーザ識別子を前記操作履歴記憶手段に記憶し、
前記操作確率を、前記対象ユーザの識別子である対象ユーザ識別子と、前記履歴操作と、当該履歴操作に関連付けられた前記操作ユーザ識別子とに基づいて導出する
付記９に記載の入力支援方法。
【０１７５】
（付記１１）
さらに、前記配置オブジェクトに関連付けて、前記共有画面において前記配置オブジェクトが配置されている位置である配置位置を前記描画オブジェクト記憶手段に記憶し、
前記操作確率を、さらに、前記配置位置に基づいて導出する
付記９又は１０に記載の入力支援方法。
【０１７６】
（付記１２）
さらに、前記配置オブジェクトに関連付けて、前記共有画面において前記配置オブジェクトが配置されている位置である配置位置と、前記配置オブジェクトが生成された生成時刻とを前記描画オブジェクト記憶手段に記憶し、
前記描画オブジェクト記憶手段に格納されている描画オブジェクトから、複数の前記描画オブジェクトを含むオブジェクトグループを、当該オブジェクトグループに含まれる前記描画オブジェクトの、前記オブジェクトグループに含まれる他のいずれかの前記描画オブジェクトに対する、関連付けられている前記配置位置及び前記生成時刻の少なくとも一方における差が、所定基準を満たすように生成し、
前記オブジェクトグループに含まれる前記描画オブジェクトの前記操作履歴に基づき、前記操作確率を導出するパラメータを導出し、
最も新しい前記履歴操作が対象とする前記配置オブジェクトを含む前記オブジェクトグループに含まれる、記配置オブジェクトを対象として行われた前記履歴操作に基づき、導出された前記パラメータを使用して前記操作確率を導出する
付記９又は１０に記載の入力支援方法。
【０１７７】
（付記１３）
前記操作確率を、さらに、前記配置位置に基づいて導出する
付記１２に記載の入力支援方法。
【０１７８】
（付記１４）
さらに、前記履歴操作に関連付けて、当該配置オブジェクトに関する前記操作が行われた時刻である操作時刻を前記操作履歴記憶手段に記憶し、
前記操作確率を、さらに、前記操作時刻に基づいて導出する
付記９乃至１３のいずれかに記載の入力支援方法。
【０１７９】
（付記１５）
前記端末装置から、前記操作を受信し、当該操作に基づき前記配置オブジェクトを更新し、受信した前記操作を、前記履歴操作として、前記操作履歴記憶手段に格納し、
前記描画オブジェクトが配置された前記共有画面を前記対象端末に出力し、
導出された前記操作確率が最も高い前記候補操作の入力を促す表示を、前記対象端末装置に出力する
付記９乃至１４のいずれかに記載の入力支援方法。
【０１８０】
（付記１６）
コンピュータを、
複数の端末装置で共有される共有画面に配置される描画オブジェクトを対象とする操作を複数種類記憶する操作記憶手段と、
前記共有画面に配置されており、描画オブジェクト記憶手段に格納されている前記描画オブジェクトである、配置オブジェクトを対象として行われた操作である履歴操作を、前記履歴操作が行われた順番で記憶し、さらに、前記複数の端末装置のユーザの識別子である参加ユーザ識別子を記憶する操作履歴記憶手段と、
前記複数の端末装置のうち対象端末装置のユーザである対象ユーザが、前記操作記憶手段に格納されている前記操作である候補操作を、次に行う確率である操作確率を、前記対象ユーザの識別子である対象ユーザ識別子と、前記履歴操作と、前記参加ユーザ識別子とに基づいて導出する操作スコア導出手段と
して動作させる入力支援プログラム。
【０１８１】
（付記１７）
コンピュータを、
前記履歴操作に関連付けて、当該履歴操作を行った前記ユーザの識別子である操作ユーザ識別子を記憶する前記操作履歴記憶手段と、
前記操作確率を、前記対象ユーザの識別子である対象ユーザ識別子と、前記履歴操作と、当該履歴操作に関連付けられた前記操作ユーザ識別子とに基づいて導出する前記操作スコア導出手段と
して動作させる付記１６に記載の入力支援プログラム。
【０１８２】
（付記１８）
コンピュータを、
さらに、前記配置オブジェクトに関連付けて、前記共有画面において前記配置オブジェクトが配置されている位置である配置位置を記憶する前記描画オブジェクト記憶手段と、
前記操作確率を、さらに、前記配置位置に基づいて導出する前記操作スコア導出手段と
して動作させる付記１６又は１７に記載の入力支援プログラム。
【０１８３】
（付記１９）
コンピュータを、
さらに、前記配置オブジェクトに関連付けて、前記共有画面において前記配置オブジェクトが配置されている位置である配置位置と、前記配置オブジェクトが生成された生成時刻とを記憶する前記描画オブジェクト記憶手段と、
前記描画オブジェクト記憶手段に格納されている描画オブジェクトから、複数の前記描画オブジェクトを含むオブジェクトグループを、当該オブジェクトグループに含まれる前記描画オブジェクトの、前記オブジェクトグループに含まれる他のいずれかの前記描画オブジェクトに対する、関連付けられている前記配置位置及び前記生成時刻の少なくとも一方における差が、所定基準を満たすように生成するオブジェクトグループ生成手段と、
前記オブジェクトグループに含まれる前記描画オブジェクトの前記操作履歴に基づき、前記操作確率を導出するパラメータを導出する学習手段と
最も新しい前記履歴操作が対象とする前記配置オブジェクトを含む前記オブジェクトグループに含まれる、記配置オブジェクトを対象として行われた前記履歴操作に基づき、導出された前記パラメータを使用して前記操作確率を導出する前記操作スコア導出手段と
して動作させる付記１６又は１７に記載の入力支援プログラム。
【０１８４】
（付記２０）
コンピュータを、
前記操作確率を、さらに、前記配置位置に基づいて導出する前記操作スコア導出手段と
して動作させる付記１９に記載の入力支援プログラム。
【０１８５】
（付記２１）
コンピュータを、
さらに、前記履歴操作に関連付けて、当該配置オブジェクトに関する前記操作が行われた時刻である操作時刻を記憶する前記操作履歴記憶手段と、
前記操作確率を、さらに、前記操作時刻に基づいて導出する前記操作確率導出手段と
して動作させる付記１６乃至２０のいずれかに記載の入力支援装置。
【０１８６】
（付記２２）
コンピュータを、
前記端末装置から、前記操作を受信し、当該操作に基づき前記配置オブジェクトを更新し、受信した前記操作を、前記履歴操作として、前記操作履歴記憶手段に格納する操作受付手段と、
前記描画オブジェクトが配置された前記共有画面を前記対象端末に出力する共有画面出力手段と、
導出された前記操作確率が最も高い前記候補操作の入力を促す表示を、前記対象端末装置に出力する操作推薦手段と
して動作させる付記１６乃至２１のいずれかに記載の入力支援プログラム。
【符号の説明】
【０１８７】
１、１Ａ、１Ｂ、１Ｃ    入力支援装置
１Ｅ    レコメンドサーバ
２    端末装置
３    通信ネットワーク
１０、１０６    オブジェクトグループ生成部
２０    データリポジトリ部
２１    操作履歴データ記憶部
２２    オブジェクトデータ記憶部
３０    特徴ベクトル生成部
３１    時間特徴ベクトル生成部
３２    空間特徴ベクトル生成部
３３    ユーザ属性特徴ベクトル生成部
３４    特徴ベクトルセット生成部
４０    レコメンドエンジン部
４１    学習部
４２    スコア計算部
５０    レコメンドランキング決定部
６０、１１０    操作受付部
１００、１００Ａ、１００Ｂ    情報処理システム
１０１    描画オブジェクト記憶部
１０２    操作記憶部
１０４    操作スコア導出部
１０３    操作履歴記憶部
１０５    操作推薦部
１０７    学習部
１０８    モデル記憶部
１０９    データ整形部
１１１    整形データ記憶部
２０１    入力部
２０２    出力部
２０３    共有画面出力部
２０４    操作送受信部
１０００    コンピュータ
１００１    プロセッサ
１００２    メモリ
１００３    記憶装置
１００４    Ｉ／Ｏインタフェース
１００５    記録媒体
【図１】
2015064715.tif 000003
【図２】
2015064715.tif 000004
【図３】
2015064715.tif 000005
【図４】
2015064715.tif 000006
【図５】
2015064715.tif 000007
【図６】
2015064715.tif 000008
【図７】
2015064715.tif 000009
【図８】
2015064715.tif 000010
【図９】
2015064715.tif 000011
【図１０】
2015064715.tif 000012
【図１１】
2015064715.tif 000013
【図１２】
2015064715.tif 000014
【図１３】
2015064715.tif 000015
【図１４】
2015064715.tif 000016
【図１５】
2015064715.tif 000017
【図１６】
2015064715.tif 000018
【図１７】
2015064715.tif 000019
【図１８】
2015064715.tif 000020