(58)【調査した分野】(Int.Cl.,DB名)
前記描画オブジェクト記憶手段は、さらに、前記配置オブジェクトに関連付けて、前記共有画面において前記配置オブジェクトが配置されている位置である配置位置を記憶し、
前記操作スコア導出手段は、前記操作確率を、さらに、前記配置位置に基づいて導出する
請求項1又は2に記載の入力支援装置。
前記描画オブジェクト記憶手段は、さらに、前記配置オブジェクトに関連付けて、前記共有画面において前記配置オブジェクトが配置されている位置である配置位置と、前記配置オブジェクトが生成された生成時刻とを記憶し、
前記入力支援装置は、
前記描画オブジェクト記憶手段に格納されている描画オブジェクトから、複数の前記描画オブジェクトを含むオブジェクトグループを、当該オブジェクトグループに含まれる前記描画オブジェクトの、前記オブジェクトグループに含まれる他のいずれかの前記描画オブジェクトに対する、関連付けられている前記配置位置及び前記生成時刻の少なくとも一方における差が、所定基準を満たすように生成するオブジェクトグループ生成手段と、
前記オブジェクトグループに含まれる前記描画オブジェクトの前記操作履歴に基づき、前記操作確率を導出するパラメータを導出する学習手段と
をさらに備え、
前記操作スコア導出手段は、最も新しい前記履歴操作が対象とする前記配置オブジェクトを含む前記オブジェクトグループに含まれる、記配置オブジェクトを対象として行われた前記履歴操作に基づき、導出された前記パラメータを使用して前記操作確率を導出する
請求項1又は2に記載の入力支援装置。
前記端末装置から、前記操作を受信し、当該操作に基づき前記配置オブジェクトを更新し、受信した前記操作を、前記履歴操作として、前記操作履歴記憶手段に格納する操作受付手段と、
前記描画オブジェクトが配置された前記共有画面を前記対象端末に出力する共有画面出力手段と、
導出された前記操作確率が最も高い前記候補操作の入力を促す表示を、前記対象端末装置に出力する操作推薦手段と
をさらに備える請求項1乃至6のいずれかに記載の入力支援装置。
【発明を実施するための形態】
【0014】
(第1の実施形態)
次に、本発明の第1の実施の形態について図面を参照して詳細に説明する。
【0015】
図2は、本実施形態の情報処理システム100の構成の例を表すブロック図である。
【0016】
図2を参照すると、本実施形態の情報処理システム100は、入力支援装置1と、複数の端末装置2とを含む。各端末装置2は、入力支援装置1と通信することができる。
【0017】
図3は、本実施形態の情報処理システム100の全体像の例を表すブロック図である。
図3を参照すると、入力支援装置1と、各端末装置2は、通信ネットワーク3を介して接続されている。そして、入力支援装置1と、各端末装置2は、通信ネットワーク3を介して通信を行う。
【0018】
図2の入力支援装置1は、描画オブジェクト記憶部101と、操作記憶部102と、操作履歴記憶部103と、操作スコア導出部104と、操作推薦部105と、オブジェクトグループ生成部106と、学習部107と、モデル記憶部108と、データ整形部109と、操作受付部110と、整形データ記憶部111とを含む。入力支援装置1は、さらに、共有画面出力部203を含んでいてもよい。入力支援装置1は、共有画面出力部203を含んでいなくてもよい。入力支援装置1が共有画面出力部203を含まない場合、例えば他のサーバ装置が共有画面出力部203を含んでいればよい。
【0019】
操作受付部110は、端末装置2の入力部201から、端末装置2のユーザが入力した操作を受信する。操作受付部110が受信する操作は、共有画面に配置された描画オブジェクトに関する操作である。共有画面は、各端末装置2が共有する画面である。描画オブジェクトは、共有画面に配置される、例えばテキストや図形などのオブジェクトである。描画オブジェクトに関する操作は、例えば、描画オブジェクトを生成する操作や、描画オブジェクトを変更する操作である。描画オブジェクトに関する操作は、共有画面に配置される少なくともいずれかの描画オブジェクトに変化が生じる操作であれば、これらの操作に限られない。
【0020】
操作受付部110は、操作の種別を表す操作識別子すなわち操作ID(Identifier)と、操作の対象である描画オブジェクトの識別子である描画オブジェクトIDとを、操作として、入力部201から受信する。操作受付部110は、操作IDと描画オブジェクトIDとを含む操作データを受信すればよい。操作受付部110は、さらに、操作の対象である描画オブジェクトの、操作後の状態を含む操作データを受信してもよい。操作受付部110は、さらに、操作を行ったユーザの識別子である操作ユーザ識別子を受信してもよい。操作受付部110は、端末装置2毎に、その端末装置2のユーザの識別子を保持していてもよい。そして、ある端末装置2から操作を受信した場合、その端末装置2のユーザの識別子を、操作ユーザ識別子にしてもよい。本発明の各実施形態の説明において、ユーザが行った操作を表すデータを、「操作」と表記する。例えば、ユーザが行った操作を表すデータを受信することを、「操作を受信する」と表記する。
【0021】
操作受付部110は、操作に加えて、その操作が行われた操作時刻を、入力部201から受信してもよい。あるいは、操作受付部110は、操作受付部110が操作を受信した時刻を、操作時刻にしてもよい。
【0022】
また操作受付部110は、共有画面を共有する全ての端末装置2から、端末装置2のユーザIDを受信する。操作受付部110は、例えば、端末装置2が入力支援装置1に接続されたときに、その端末装置2からユーザIDを取得すればよい。例えば、ユーザが、入力装置を使用して、操作受付部110が受信するユーザIDを入力してもよい。操作受付部110は、受信したユーザIDを、そのユーザIDを送信した端末装置2の識別子に関連付けて、例えば操作履歴記憶部103に格納する。
【0023】
操作受付部110は、共有画面を共有する全ての端末装置2のユーザ、すなわち、共有画面を使用可能な全てのユーザのユーザIDを、例えば、それらのユーザIDを含むユーザリストとして、操作履歴記憶部103に格納すればよい。そして、操作受付部110は、ユーザリストに識別子であるユーザリストIDを付与すればよい。また、操作受付部110は、共有画面を使用可能なユーザが変化した場合、新しいユーザリストを生成して操作履歴記憶部部103に格納すればよい。
【0024】
例えば、操作受付部110は、ある端末装置2が、共有画面を共有しない状態になった場合、操作履歴記憶部103に格納されているユーザリストから、その端末装置2の識別子に関連付けられたユーザIDが削除されたユーザリストを生成する。そして、操作履歴記憶部103は、生成したユーザリストに新たにユーザリストIDを付与する。そして、操作履歴記憶部103は、生成したユーザリストを、操作履歴記憶部103に格納する。以下の説明において、共有画面を共有する端末装置2のユーザのユーザIDを、参加ユーザIDとも表記する。
【0025】
描画オブジェクト記憶部101は、共有画面に配置される描画オブジェクトを表すデータを記憶する。本発明の各実施形態の説明において、描画オブジェクトを表すデータを記憶することを、描画オブジェクトを記憶すると表記する。描画オブジェクトを表すデータは、例えば、描画オブジェクトのオブジェクトID(Identifier)と、描画オブジェクトの種別と、描画オブジェクトの内容を含むデータである。描画オブジェクト記憶部101記憶する描画オブジェクトには、描画オブジェクトの共有画面上における位置を表す配置位置と、描画オブジェクトが生成された生成時刻とが関連付けられている。描画オブジェクト記憶部101に格納された描画オブジェクトのうち、ユーザの操作により削除された描画オブジェクトには、さらに、ユーザにより削除された時刻である削除時刻が関連付けられていてもよい。描画オブジェクト記憶部101に格納された描画オブジェクトのうち、ユーザの操作により削除された描画オブジェクトは、操作受付部110により、描画オブジェクト記憶部101から削除されてもよい。
【0026】
共有画面出力部203は、描画オブジェクト記憶部101に格納されている、共有画面に配置されている描画オブジェクトを各端末装置2の出力部202に送信する。共有画面出力部202は、例えば、描画オブジェクト記憶部101に格納されている描画オブジェクトを表すオブジェクトデータを、描画オブジェクトとして、出力部202に送信すればよい。オブジェクトデータは、例えば、描画オブジェクトのオブジェクトIDと、配置位置と、描画オブジェクトの内容を表すデータを含むデータである。共有画面出力部203は、描画オブジェクト記憶部101に格納されている描画オブジェクトに基づき、描画オブジェクトが配置された共有画面を生成してもよい。そして、共有画面出力部203は、生成された共有画面を、各端末装置2の出力部202に送信してもよい。共有画面出力部203は、削除時刻が関連付けられている描画オブジェクトが存在すれば、その削除時刻が関連付けられている描画オブジェクトを、共有画面に配置されている描画オブジェクトから除外する。
【0027】
操作受付部110は、さらに、受信した操作を、共有画面に配置される描画オブジェクトに反映させる。すなわち、操作受付部110は、描画オブジェクト記憶部101に格納されている描画オブジェクトを表すデータを、受信した操作に応じて変更する。操作受付部110は、受信した操作が、共有画面に配置される描画オブジェクトを生成する操作である場合、その描画オブジェクトに、生成時刻を関連付ける。操作受付部110は、描画オブジェクトを生成する操作の操作時刻を、その描画オブジェクトの生成時刻にする。操作受付部110は、受信した操作が、共有画面に配置されている描画オブジェクトを削除する操作である場合、その描画オブジェクトを描画オブジェクト記憶部101から削除するよう設計されていてもよい。操作受付部110は、受信した操作が、共有画面に配置されている描画オブジェクトを削除する操作である場合、その描画オブジェクトに、削除時刻を関連付けるよう設計されていてもよい。操作受付部110は、描画オブジェクトを削除する操作の操作時刻を、その描画オブジェクトの削除時刻にする。
【0028】
さらに、操作受付部110は、受信した操作を、その操作を行ったユーザとその操作の操作時刻に関連付けて、操作履歴記憶部103に格納する。具体的には、操作受付部110は、受信した操作の種別を表す操作IDを、その操作を行ったユーザの識別子(すなわちユーザID)と、その操作の操作時刻とに関連付けて、操作履歴記憶部103に格納すればよい。操作受付部110は、さらに、受信した操作を、その操作の受信時におけるユーザリストIDに関連付ける。
【0029】
操作履歴記憶部103は、操作受付部110が受信した操作を記憶する。操作履歴記憶部103は、操作受付部110が受信した操作を、操作が行われた順番で記憶していてもよい。操作履歴記憶部103は、操作受付部110が受信した操作を、操作受付部110がその操作を受信した順番で記憶していてもよい。本発明の各実施形態の説明において、操作履歴記憶部103が記憶する操作を、履歴操作とも表記する。上述のように、操作履歴記憶部103は、操作履歴をユーザリストIDに関連付けて記憶する。さらに、操作履歴記憶部103は、履歴操作を、その履歴操作を行ったユーザのユーザIDと、その履歴操作の操作時刻に関連付けて記憶してもよい。さらに、本発明の各実施形態の説明において、履歴操作と、その履歴操作に関連付けられているユーザID及び操作時刻とを含むデータを、履歴操作データと表記する。さらに、1つ又は複数の履歴操作が含まれる、履歴操作のグループを操作履歴と表記する。操作履歴に含まれる履歴操作は、その履歴操作の操作時刻の順にソートされていてもよい。
【0030】
操作履歴記憶部103は、さらに、前述のユーザリストを記憶する。
【0031】
オブジェクトグループ生成部106は、共有画面に配置されている描画オブジェクトから、時間的又は空間的に近い描画オブジェクトのグループであるオブジェクトグループを生成する。
【0032】
オブジェクトグループ生成部106は、オブジェクトグループの生成を、例えば、以下のように行う。まず、オブジェクトグループ生成部106は、ある描画オブジェクトを、判定対象として選択する。オブジェクトグループ生成部106が判定対象として選択する描画オブジェクトは、新たに生成されたオブジェクトであってもよい。オブジェクトグループ生成部106は、選択された描画オブジェクトと、あるオブジェクトグループに含まれるいずれかの描画オブジェクトとの間で、次の2つの条件が満たされるか否かを判定する。
【0033】
第1の条件は、関連付けられている配置位置の差が所定距離以下であることである。第2の条件は、関連付けられている生成時刻の差が、所定時間(所定期間)以下であることである。
【0034】
オブジェクトグループ生成部106は、これらの条件のいずれか一方が満たされた場合に、選択された描画オブジェクトが、そのオブジェクトグループに含まれると判定する。あるいは、オブジェクトグループ生成部106は、上述の第1の条件が満たされた場合に、選択された描画オブジェクトをそのオブジェクトグループに含まれると判定してもよい。あるいは、オブジェクトグループ生成部106は、上述の第2の条件が満たされた場合に、選択された描画オブジェクトをそのオブジェクトグループに含まれると判定してもよい。
【0035】
オブジェクトグループ生成部106は、選択された描画オブジェクトと、存在する全てのオブジェクトグループのそれぞれとの組み合わせに対して、以上の判定を行えばよい。選択された描画オブジェクトが、複数のオブジェクトグループに含まれると判定された場合、オブジェクトグループ生成部106は、それらの複数のオブジェクトグループを併合することによって、一つのオブジェクトグループを生成してもよい。選択された描画オブジェクトが、いずれのオブジェクトグループにも含まれないと判定された場合、オブジェクトグループ生成部106は、選択された描画オブジェクトのみを含む新たなオブジェクトグループを生成してもよい。 オブジェクトグループ生成部106は、生成したオブジェクトグループにオブジェクトグループIDを付与してもよい。そして、オブジェクトグループ生成部106は、その生成したオブジェクトグループに含まれる描画オブジェクトのオブジェクトIDを、そのオブジェクトグループのオブジェクトグループIDに関連付けて、例えば描画オブジェクト記憶部101に格納してもよい。
【0036】
データ整形部109は、操作履歴記憶部103が記憶する履歴操作から、1つ又は複数の連続する履歴操作の集合である操作履歴を生成する。一つの操作履歴に含まれる履歴操作の数は、あらかじめ決められていてもよい。データ整形部109は、連続する複数の履歴操作から、その履歴操作の数より少ない数の履歴操作からなる、複数の操作履歴を抽出してもよい。さらに、データ整形部109は、操作履歴に含まれる最後の履歴操作の後に、最初に行われた操作と、その操作を行ったユーザを特定する。データ整形部109は、例えば、関連付けられている操作時刻が、操作履歴に含まれる最後の操作時刻の次の操作時刻である操作を特定すればよい。操作履歴に含まれる最後の履歴操作の後に行われた操作が存在しない場合、データ整形部109は、操作履歴に含まれる最後の履歴操作の後に、最初に行われた操作を特定しない。
【0037】
ただし、本実施形態では、データ整形部109は、同じユーザリストIDが関連付けられている履歴操作を含み、異なるユーザリストIDが関連付けられている履歴操作を含まない履歴操作を生成する。データ整形部109は、まず、操作履歴記憶部103に格納されている履歴操作を、同じユーザリストIDが付与されている履歴操作のグループに分類すればよい。そして、データ整形部109は、ユーザリストID毎に、同じユーザリストIDに関連付けられている履歴操作からなる操作履歴を生成すればよい。さらに、データ整形部109は、同じユーザリストIDが付与されている履歴操作の中で、操作時刻が最後の履歴操作の後に、最初に行われた操作を特定してもよい。
【0038】
あるいは、データ整形部109は、さらに、操作履歴記憶部103に格納されている履歴操作を、その履歴操作が行われた描画オブジェクトが含まれるオブジェクトグループ毎に分類してもよい。そして、データ整形部109は、さらにオブジェクトグループ毎に、同じオブジェクトグループに分類された描画オブジェクトへの履歴操作からなる操作履歴を生成してもよい。さらに、データ整形部109は、同じオブジェクトグループに分類された描画オブジェクトへの履歴操作の中で、操作時刻が最後の履歴操作の後に、最初に行われた操作を特定してもよい。
【0039】
そして、データ整形部109は、生成した操作履歴に含まれる各履歴操作に対して、例えば、履歴操作の操作IDとその履歴操作を行ったユーザのユーザIDを含むユーザ属性特徴データとが関連付けられた、操作データを生成する。データ整形部109は、生成した操作履歴に対して、その操作履歴に含まれる履歴操作の操作データが時系列で並んだ操作履歴データを生成する。操作データは、操作IDと、ユーザデータと、履歴操作の対象である描画オブジェクトの位置のデータである空間特徴データと、履歴操作が行われた時刻を表す時間特徴データが関連付けられたデータであってもよい。ユーザ属性特徴データは、さらに、ユーザのグループIDを含んでいてもよい。時間特徴データは、操作履歴において直前に行われた履歴操作との操作時刻を含んでいてもよい。時間特徴データは、オブジェクトグループに含まれる描画オブジェクトに対する最初の操作の操作時刻からの経過時間を含んでいてもよい。空間特徴データは、操作の対象である描画オブジェクトの配置位置の座標を含んでいてもよい。空間特徴データは、操作履歴において直前に行われた操作の対象である描画オブジェクトの配置位置と、操作の対象である描画オブジェクトの配置位置との間の距離を含んでいてもよい。空間特徴データは、操作履歴において直前に行われた操作の対象である描画オブジェクトの配置位置に対する、操作の対象である描画オブジェクトの配置位置の方向を表す角度を含んでいてもよい。
【0040】
また、データ整形部109は、生成した操作履歴データに、その操作履歴データが表す各履歴操作に関連付けられているユーザリストIDを関連付ける。データ整形部109は、操作履歴データに、そのユーザリストIDで特定されるユーザリストを加えてもよい。
【0041】
そして、データ整形部109は、操作履歴データを、後述される操作スコア導出部104や学習部107に応じた形式に整形する。整形後のデータの形式はあらかじめ決められていればよい。本発明の各実施形態の説明では、整形後のデータの形式が、例えば、特徴を表す1つ又は複数のベクトルをまとめたデータ形式であるよう設計されている場合、整形後のデータを、特徴ベクトルセットとも表記する。データの整形が必要なければ、データ整形部109は、以上のデータの形式の整形を行わない。
【0042】
データ整形部109は、操作履歴データを、整形データ記憶部111に格納する。データ整形部109は操作履歴データと、その操作履歴データで表される操作履歴の後に最初に行われた操作とを関連付けて、整形データ記憶部111に格納してもよい。データ整形部109は、操作履歴データと、その操作履歴データで表される操作履歴の後に最初に行われた操作及びその操作を行ったユーザのユーザIDとを関連付けて、整形データ記憶部111に格納してもよい。
【0043】
また、データ整形部109は、操作履歴データを、オブジェクトグループ毎に、整形データ記憶部111に格納する。データ整形部109は、例えば、操作履歴データに、その操作履歴データが生成された履歴操作が行われた描画オブジェクトが含まれるオブジェクトグループのオブジェクトグループIDを関連付けて、整形データ記憶部111に格納すればよい。データ整形部109は、さらに、操作履歴データと、その操作履歴データで表される操作履歴の後に最初に行われた操作とを関連付けて、整形データ記憶部111に格納してもよい。データ整形部109は、操作履歴データと、その操作履歴データで表される操作履歴の後に最初に行われた操作及びその操作を行ったユーザのユーザIDとを関連付けて、整形データ記憶部111に格納してもよい。
【0044】
また、データ整形部109は、操作受付部110が受信した最も新しい操作を含む操作履歴の操作履歴データを、操作スコア導出部104に送信する。
【0045】
整形データ記憶部111は、例えばオブジェクトグループ毎に、操作履歴データを、その操作履歴データで表される操作履歴に含まれる最後の操作の後に最初に行われた操作に関連付けて記憶する。
【0046】
学習部107は、機械学習によって、ある一連の操作が行われた後にあるユーザが行う操作としての、スコアを導出する対象である操作のスコアを導出するモデルを導出する。機械学習の方法は、後述するように、既存の任意のいずれかの教師付き機械学習の方法でよい。学習部107は、ユーザ毎にモデルを導出する。学習部107は、あるユーザに対してモデルを導出する場合、例えば、そのユーザの操作に関連付けられている操作履歴データを、整形データ記憶部111から読み出す。そのユーザの操作に関連付けられている操作履歴データは、操作ID及びそのユーザのユーザIDが関連付けられている操作履歴データである。学習部107は、さらに、その操作履歴データに関連付けられているユーザリストIDで特定されるユーザリストを、例えば、操作履歴記憶部103から読み出す。操作履歴データがユーザリストを含むよう設計されている場合、学習部107は、ユーザリストを読み出さなくてよい。そして、学習部107は、読み出された操作履歴データと、ユーザリストと、その操作履歴データに関連付けられている操作とを、教師データとして使用して機械学習を行うことによって、そのユーザに対するモデルを導出する。使用されるユーザリストは、操作履歴データにユーザリストIDが関連付けられているユーザリストである。あるいは、使用されるユーザリストは、操作履歴データに含まれるユーザリストである。学習部107は、操作受付部110が受信した最も新しい操作が対象とする描画オブジェクトが分類されたオブジェクトグループのオブジェクトグループIDに関連付けられている、操作履歴データと操作を、教師データとして使用してもよい。
【0047】
操作のスコアは、例えば、一連の操作が行われた後の操作として、スコアを導出する対象である操作が行われる確率である。モデルは、例えば、ある一連の操作を表す値と、スコアを算出する対象の操作を表す値から、スコアを算出する数式におけるパラメータである。
【0048】
学習部107は、共有画面を共有する全ての端末装置2のユーザに対して、前述のモデルを導出してもよい。共有画面を共有する端末装置2のユーザのユーザIDは、例えば、操作履歴記憶部103に格納されている。学習部107は、操作履歴記憶部103からそれらのユーザIDのうちの一つを順次読み出せばよい。そして、学習部107は、読み出したユーザIDにより特定されるユーザが行った動作と、その前に行われた一連の動作に基づき、モデルを導出すればよい。学習部107は、ユーザIDの選択からモデルの導出までの動作を、操作履歴記憶部103に格納されているユーザIDが全て選択されるまで行えばよい。
【0049】
学習部107がモデルを導出するための機械学習の学習アルゴリズムは、既存の、教師有りの機械学習アルゴリズムでよい。そのような機械学習として、例えば、SVM(Support Vector Machine)、ベイジアン、ニューラルネット、SSI(Supervised Semantic Indexing)がある。SSIは、例えば、非特許文献1に記載されている。
【0050】
(非特許文献1)”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。
【0051】
SSIに基づくモデルは、概念的には、スコアを算出する対象である操作を表すベクトルと、モデルを表すパラメータである行列と、一連の操作を表すベクトルとの掛け算によって表される。学習部107がSSIによって学習を行う場合、学習部107は、例えば非特許文献1に記載されている方法によって、パラメータである上述の行列を導出する。
【0052】
学習部107は、操作受付部110が操作を受信した場合、その操作の対象である描画オブジェクトを含むオブジェクトグループを特定してもよい。そして、学習部107は、特定したオブジェクトグループに含まれる描画オブジェクトに関する操作のみからなる一連の操作に基づき、モデルを生成してもよい。
【0053】
学習部107は、導出されたモデルを、モデル記憶部108に格納する。学習部107は、導出されたモデルを、そのモデルを導出されたユーザのユーザIDに関連付けてモデル記憶部108に格納すればよい。
【0054】
モデル記憶部108は、学習部107によって導出された、一連の操作の後にあるユーザが行う操作としての、操作のスコアを導出するモデルを記憶する。モデル記憶部108は、モデルを、ユーザIDに関連付けて記憶すればよい。
【0055】
操作記憶部102は、描画オブジェクトに対して行われる操作を記憶する。操作記憶部102には、例えば、描画オブジェクトに対して行われる操作として設計されている操作の操作IDが、あらかじめ格納されていればよい。例えば、入力支援装置1の設計者が、それらの操作IDを操作記憶部102に格納しておけばよい。
【0056】
操作スコア導出部104は、例えば操作受付部110が受信した最新の操作を含む、連続する複数の操作と、それらの操作に関連付けら得ているユーザリストとを、例えば、操作履歴記憶部103から、データ整形部109を介して受信する。操作スコア導出部104は、例えば操作受付部110が受信した最新の操作を含む連続する複数の操作が、データ整形部109によって整形された操作履歴データと、その操作履歴データに関連付けられているユーザリストとを、データ整形部109から受信すればよい。操作受付部110が受信した最新の操作を含む連続する複数の操作は、その最新の操作が対象とする描画オブジェクトが分類されたオブジェクトグループに含まれる描画オブジェクトを対象とする操作であってもよい。
【0057】
また、操作スコア導出部104は、モデル記憶部108からモデルを読み出す。そして、操作スコア導出部104は、例えば操作記憶部102に格納されている各操作に対して、受信した操作履歴データ及びユーザリストと読み出したモデルとを使用して、スコアを導出する。操作スコア導出部104は、例えば、描画オブジェクト記憶部101に格納されている描画オブジェクトに対して行うことが可能な操作を、操作記憶部102に格納されている操作から選択してもよい。そして、操作スコア導出部104は、選択された操作に対して、スコアを導出すればよい。
【0058】
操作スコア導出部104は、モデルの読み出しからスコアの導出までの処理を、入力支援装置1に接続されて、共有画面を共有する全ての端末装置2のユーザに対して行えばよい。前述のように、共有画面を共有する端末装置2のユーザのユーザIDは、操作履歴記憶部103に格納されている。操作スコア導出部104は、操作履歴記憶部103に格納されているユーザIDを一つ選択すればよい。そして、操作スコア導出部104は、読み出されたユーザIDに関連付けられているモデルを、モデル記憶部108から読み出せばよい。そして、操作スコア導出部104は、読み出されたモデルを使用して、スコアの導出を行えばよい。操作スコア導出部104は、操作履歴記憶部103に格納されていユーザIDが全て選択されるまで、モデルの読み出しからスコアの導出までの動作を行えばよい。操作スコア導出部104は、一つのユーザIDに対して、操作記憶部102に格納されている全ての操作のスコアを算出すると、例えば、算出した全ての操作IDとその操作IDのスコアを、そのユーザIDに関連付けて、操作推薦部105に送信すればよい。
【0059】
上述のように、本実施形態では、スコアは確率である。以下の説明において、一連の操作の後に行われる操作としての確率が高いほど、スコアは高い。
【0060】
操作推薦部105は、スコアが高い順から所定個数の操作を選択する。操作推薦部105が選択する操作の個数は、例えば入力支援装置1によって適宜選択された1個以上の個数であればよい。操作推薦部105は、さらに、スコアが所定スコアより高い操作を選択してもよい。
【0061】
さらに、操作推薦部105は、選択した操作を、スコアの順に並べる。そして、操作推薦部105は、スコアの順に並んだ操作のリストを、端末装置2の出力部202に出力する。
【0062】
操作推薦部105は、操作を選択する動作から操作のリストを送信する動作までの動作を、入力支援装置1に接続されて、共有画面を共有する全ての端末装置2のユーザに対して行えばよい。操作推薦部105は、ユーザIDに関連付けられた、操作IDとその操作IDに対して算出されたスコアを受信すると、ユーザID毎に、前述の操作のリストを生成する。そして、操作推薦部105は、そのユーザIDに関連付けられている端末装置2の識別子を読み出す。そして、操作推薦部105は、識別子が読み出された端末装置2に対して、上述の操作のリストを出力すればよい。
【0063】
また、端末装置2は、入力部201と、出力部202とを含む。
【0064】
入力部201は、端末装置2のユーザが操作を入力する入力装置から、ユーザの操作を表す信号を受信する。入力装置は、
図2において図示されていない。入力装置は、例えば、キーボードや、マウスや、他のポインティングデバイスである。入力装置は、例えばタッチパネルのような、入力機能を備えた表示装置であってもよい。入力装置は、端末装置2のユーザが操作を入力できる装置であれば、以上に限られない。入力部201は、受信した信号が表す操作が、共有画面に配置されている描画オブジェクトに対する操作であるか否かを判定する。受信した信号が表す操作が共有画面に配置されている描画オブジェクトに対する操作であると判定された場合、入力部201は、その操作が、どの描画オブジェクトを対象とする、どのような種別の操作であるかを特定する。そして、入力部201は、その操作の内容を特定する。入力部201は、特定された操作の種別を表す前述の操作IDを選択する。そして、入力部201は、選択された操作IDと、その操作の対象である描画オブジェクトのオブジェクトIDとを、操作受付部110に送信する。入力部201は、さらに、入力部201が含まれる端末装置2のユーザのユーザIDを、操作ユーザ識別子として、操作受付部110に送信してもよい。入力部201は、操作の内容を、操作受付部110に送信してもよい。入力部201は、操作IDと、オブジェクトIDと、操作ユーザIDと、操作の内容とを含む操作データを、操作受付部110に送信してもよい。
【0065】
また、入力部201は、入力支援装置1に接続される際、入力部201が含まれる端末装置2のユーザのユーザIDを、操作受付部110に送信する。入力部201は、図示されない入力装置を介してユーザが入力したユーザIDを、操作受付部110に送信してもよい。入力部201は、端末装置2が保持するユーザIDを、操作受付部110に送信してもよい。
【0066】
出力部202は、例えば、描画オブジェクトのオブジェクトIDと、配置位置と、描画オブジェクトの内容を表すデータを含む、上述のオブジェクトデータを、共有画面出力部203から受信する。出力部202は、受信したオブジェクトデータに基づき、共有画面を生成してもよい。また、出力部202は、操作推薦部105から、スコアが高い順に並べられた操作のリストを受信する。そして、出力部は、リストに含まれる操作の入力を促す表示を生成する。出力部202は、例えば入力支援装置1の共有画面出力部203から、共有画面を受信してもよい。また、出力部202は、例えば入力支援装置1の操作推薦部105から、操作の入力を促す表示を受信してもよい。出力部202は、例えば、端末装置2が画面を表示する表示装置に、上述の共有画面と、操作の入力を促す表示とを表示する。操作の入力を促す表示は、例えば、操作を入力する機能を起動するためのアイコンである。操作の入力を促す表示は、例えば、メニューであってもよい。本実施形態の説明では、アイコンやメニューなどの、ユーザに操作の入力を促す表示を表すデータを受信することを、ユーザに操作の入力を促す表示を受信すると表記する。出力部202は、ユーザに入力を促す表示を、共有画面に重畳して表示してもよい。出力部202は、ユーザに入力を促す表示を、共有画面が表示される領域に重ならないよう表示装置に表示する。表示装置は、
図2において図示されていない。表示装置は、例えばフラットパネルディスプレイ装置である。表示装置は、タッチパネルであってもよい。表示装置は、端末装置2が画面を表示する装置であれば、以上に限られない。
【0067】
次に、本実施形態の入力支援装置1Aの動作について、図面を参照して詳細に説明する。
【0068】
図4は、本実施形態の入力支援装置1の、学習時における動作の例を表すフローチャートである。
【0069】
学習部107は、例えば、操作受付部110が新しく操作を受信した場合に、
図4に示す動作を開始すればよい。その場合、例えば操作受付部110が、学習部107に対して、操作を新しく受信したことを通知すればよい。学習部107は、例えば定期的に
図4に示す動作を開始してもよい。
【0070】
図4の動作の開始時において、既に前述のオブジェクトグループは生成されている。そして、各オブジェクトグループのオブジェクトグループIDに関連付けられた、連続する複数の操作の操作データを含む操作履歴データが、整形データ記憶部111に格納されている。さらに、操作履歴データは、その操作履歴データが表す複数の操作のうち最後の操作の後に行われた最初の操作と、その操作を行ったユーザのユーザIDに関連付けられている。
【0071】
入力支援装置1は、例えば、操作履歴記憶部103に格納されている全ての参加ユーザIDを一つずつ順次選択し、選択された参加ユーザIDに対して、
図4の動作を行う。前述のように、参加ユーザIDは、共有画面を共有する端末装置2のユーザのユーザIDである。そして、選択された参加ユーザIDが対象ユーザIDである。また、選択された参加ユーザIDによって特定されるユーザが、対象ユーザである。
【0072】
学習部107は、まず、最新の操作が対象とする描画オブジェクトが分類されたオブジェクトグループを特定する(ステップS101)。学習部107は、例えば、操作履歴データに含まれる操作の操作時刻に基づき、最新の操作を特定すればよい。そして、学習部107は、最新の操作を含む操作履歴データに関連付けられているオブジェクトグループIDによって、最新の操作が対象とする描画オブジェクトが分類されたオブジェクトグループを特定すればよい。
【0073】
次に、学習部107は、特定されたオブジェクトグループに含まれる描画オブジェクトに対する操作履歴を表す操作履歴データを特定する(ステップS102)。学習部107は、例えば、特製したオブジェクトグループのオブジェクトグループIDに関連付けられている操作履歴データを特定すればよい。
【0074】
次に、学習部107は、操作履歴データで表される操作履歴に含まれる最後の操作の次の操作を、対象ユーザが行った操作履歴データを特定する(ステップS103)。学習部107は、ステップS102で特定した操作履歴データのうち、対象ユーザIDに関連付けられている操作履歴データを特定すればよい。
【0075】
次に、学習部107は、特定した操作履歴データと、操作履歴データで表される操作履歴に含まれる最後の操作の次の操作とを読み出す(ステップS104)。学習部107は、ステップS103で特定した操作履歴データと、その操作履歴データに関連付けられている操作とを、整形データ記憶部111から読み出せばよい。
【0076】
次に、学習部107は、読み出した操作履歴データ及び操作と、ユーザリストとに基づいて学習を行うことによって、操作のスコアを導出するモデルを導出する(ステップS105)。前述のように、ユーザリストは、共有画面を共有する全ての端末装置2のユーザのユーザIDである。学習部107は、読み出した操作履歴データ及び操作を教師データとして使用して、あらかじめ定められたアルゴリズムに基づく学習方法によって機械学習を行う。このことにより、学習部107は、一連の操作と、ある一つの操作である対象操作が与えられたときに、その一連の操作の後に対象ユーザがその対象操作を行う確率を表すスコアを導出するモデルを導出する。モデルは、例えば、一連の操作を表す値と、対象操作を表す値を引数として、前述の確率を導出する、あらかじめ与えられた数式のパラメータである。
【0077】
最後に、学習部107は、導出されたモデルをモデル記憶部108に格納する。
【0078】
次に、入力支援装置1の操作を受信した場合の動作について、図面を参照して詳細に説明する。
【0079】
図5は、本実施形態の入力支援装置1の操作を受信した場合の動作の例を表すフローチャートである。
【0080】
図5を参照すると、まず、操作受付部110が、端末装置2から操作を受信する(ステップS201)。操作を受信した操作受付部110は、学習部107に、操作を新しく受信したことを通知してもよい。
【0081】
次に、操作受付部110は、受信した操作を、共有画面に配置されている描画オブジェクトである配置オブジェクトに反映させる(ステップS202)。
【0082】
次に、操作受付部110は、受信した操作を、履歴操作として操作履歴記憶部103に格納する(ステップS203)。
【0083】
次に、オブジェクトグループ生成部106は、受信した捜査が対象とする描画オブジェクトを含む、オブジェクトグループを特定する(ステップS204)。既に生成されているオブジェクトグループが存在し、受信した操作が描画オブジェクトの生成である場合、その描画オブジェクトはいずれのオブジェクトグループにも含まれていない。その場合、オブジェクトグループ生成部106は、新しく生成された描画オブジェクトが、どのオブジェクトグループに分類されるか判定する。そして、オブジェクトグループ生成部106は、新しく生成された描画オブジェクトを、その描画オブジェクトが分類されると判定されたオブジェクトグループに追加する。新しく生成された描画オブジェクトが、いずれのオブジェクトグループにも含まれない場合、オブジェクトグループ生成部106は、新しく生成された描画オブジェクトを含む新しいオブジェクトグループを生成する。
【0084】
次に、データ整形部109が、ステップS201で特定されたオブジェクトグループに含まれる描画オブジェクトを対象とする履歴操作と受信した操作とから、操作履歴データを生成する(ステップS205)。データ整形部109は、受信した操作の直前に行われた履歴操作を含む、連続する履歴操作と、受信した操作から、操作履歴データを生成すればよい。操作履歴データが生成される操作の数は、あらかじめ決められていてもよい。データ整形部109は、ステップS205で生成した操作履歴データを、操作スコア導出部104に送信する。
【0085】
操作スコア導出部104は、操作履歴記憶部103に格納されている参加ユーザIDから、まだ選択されてない参加ユーザIDを一つ選択すればよい。そして、操作スコア導出部104は、選択された参加ユーザIDである対象ユーザIDに対して、ステップS206からステップS208までの動作を行う。さらに、操作推薦部105が、ステップS209とステップS210の動作を行う。入力支援装置1は、ステップS206からステップS210間での動作を、操作スコア導出部104が全ての参加ユーザIDを選択するまで繰り返せばよい。
【0086】
操作スコア導出部104は、まず、操作記憶部102に格納されている操作である候補操作を一つ読み出す(ステップS206)。
【0087】
操作スコア導出部104は、生成された操作履歴データと、その操作履歴データに関連付けられているユーザリストと、生成されたモデルとを使用して、候補操作に対するスコアを導出する(ステップS207)。本実施形態では、ステップS207で導出されるスコアは、操作履歴データで表される一連の操作の後に、対象ユーザが候補操作を行う確率である。
【0088】
操作記憶部102から全ての候補操作が読み出されていない場合(ステップS208においてNo)、入力支援装置1の動作は、ステップS206に戻る。
【0089】
操作記憶部102から全ての候補操作が読み出した場合(ステップS208においてYes)、操作推薦部105は、受信した操作が行われた後の状態において選択できない候補操作を除外する。そして、操作推薦部105は、残った候補操作から、導出された確率が高い方から所定個数の候補操作を選択する(ステップS209)。
【0090】
次に、操作推薦部105は、導出された確率が高い順に並べられた、選択された候補操作の入力を促す表示を、端末装置2に送信する(ステップS210)。操作推薦部105は、導出された確率が高い順に並べられた、選択された候補操作のリストを、端末装置2に送信してもよい。そして、端末候補2が、リストに含まれる候補操作の入力を促す表示を、候補操作が並べられた順番に並べて、出力してもよい。
【0091】
以上で説明した本実施形態には、複数のユーザが共有画面に対して操作を行う場合において、一連の操作の次に行われるあるユーザの操作を予測する精度を向上させることができるという第1の効果がある。
【0092】
第1の効果の第1の理由は、操作スコア導出部104が、一連の操作と共有画面を共有するユーザとに基づき、一連の操作の次に行われるあるユーザの操作の確率を算出するからである。
【0093】
第1の効果の第2の理由は、操作スコア導出部104が、一連の操作とそれらの操作を行ったユーザとに基づき、一連の操作の次に行われるあるユーザの操作の確率を算出するからである。
【0094】
連続する同じ操作であっても、それらの操作を行うユーザが異なれば、それらの操作の後に行われる操作が異なる場合がある。例えば、ユーザAが続けてテキストを入力した後には、ユーザAが四角形を作成することが多いのに対して、ユーザAとユーザBがテキストを入力した後には、ユーザAが続けてテキストを入力することが多いような場合がある。そのような状況において、操作を行うユーザの情報を使用しないで次の操作の予測が行われる場合、精度のよい予測は期待できない。一方、本実施形態の操作スコア導出部104は、操作を行ったユーザに基づいて、操作が次に行われる確率を算出する。本実施形態の入力支援装置1は、複数のユーザが共有画面に対して操作を行う場合において、一連の操作の次に行われる、あるユーザの操作を予測する精度を向上させることができる。
【0095】
また、本実施形態には、さらに、複数の描画オブジェクトが配置されている共有画面に対して操作を行う場合において、一連の操作の次に行われるあるユーザの操作を予測する精度を向上させることができるという第2の効果がある。
【0096】
第2の効果の第1の理由は、操作スコア導出部104が、一連の操作とそれぞれの操作の対象であった描画オブジェクトの位置とに基づき、一連の操作の次に行われるあるユーザの操作を予測するからである。
【0097】
第2の効果の第1の理由は、操作スコア導出部104が、一連の操作とそれぞれの操作が行われた時刻とに基づき、一連の操作の次に行われるあるユーザの操作を予測するからである。
【0098】
例えば、連続する2つの操作によって生成された2つのオブジェクトの位置関係によって、次に行われる操作が異なる場合がある。例えば、ユーザが四角形を作成した後、その四角形の中にテキストを入力した場合、そのユーザは、さらに四角形を入力することが多いのに対し、ユーザが四角形を作成した後、その四角形の下にテキストを入力した場合、そのユーザは、さらに矢印を入力することが多いというような場合がある。このような状況において、連続する2つの操作によって生成されたオブジェクトの位置関係を使用しないで予測が行われる場合、予測の精度は期待できない。一方、本実施形態の操作スコア導出部104は、連続する2つの操作によって生成されたオブジェクトの位置関係を使用して、操作が次に行われる確率を算出する。従って、本実施形態の入力支援装置1は、複数の描画オブジェクトが配置されている共有画面に対して操作を行う場合において、一連の操作の次に行われるあるユーザの操作を予測する精度を向上させることができる。
【0099】
(構成例)
次に、本発明の第1の実施形態に基づく構成例について、図面を参照して詳細に説明する。
【0100】
図6は、本実施形態の入力支援装置1の構成例であるレコメンドサーバ1Eの構成を表すブロック図である。
【0101】
図6を参照すると、レコメンドサーバ1Eは、オブジェクトグループ生成部10と、データリポジトリ部20と、特徴ベクトル生成部30と、レコメンドエンジン部40と、レコメンドランキング決定部50と、操作受付部60とを含む。
【0102】
データリポジトリ部20は、操作履歴データ記憶部21と、オブジェクトデータ記憶部22とを含む。
【0103】
特徴ベクトル生成部30は、時間特徴ベクトル生成部31と、空間特徴ベクトル生成部32と、ユーザ属性特徴ベクトル生成部33と、特徴ベクトルセット生成部34とを含む。
【0104】
レコメンドエンジン部40は、学習部41と、スコア計算部42とを含む。
【0105】
レコメンドサーバ1Eの構成要素と、入力支援装置1の構成要素の関係は、以下の通りである。
【0106】
オブジェクトグループ生成部10は、オブジェクトグループ生成部106に相当する。操作履歴データ記憶部21は、操作履歴記憶部103に相当する。オブジェクトデータ記憶部22は、描画オブジェクト記憶部101に相当する。特徴ベクトル生成部30は、データ整形部109に相当する。学習部41は、学習部107に相当する。スコア計算部42は、操作スコア導出部104に相当する。レコメンドランキング決定部50は、操作推薦部105に相当する。操作受付部60は、入力支援装置1の操作受付部110に相当する。また、データリポジトリ部20は、操作記憶部102として動作する。
【0107】
次に、レコメンドサーバ1Eの構成について、さらに詳細に説明する。
【0108】
操作受付部60は、ユーザの操作を受け付ける。データリポジトリ部20は、ユーザの操作履歴データを記憶する操作履歴データ記憶部21と登録されたオブジェクトデータを記憶するオブジェクトデータ記憶部22とを含む。オブジェクトグループ生成部10は、登録されたオブジェクトデータの空間距離もしくは操作履歴の操作時間距離でオブジェクトをグルーピングする。特徴ベクトル生成部30は、オブジェクトグループを特徴ベクトルへ変換する。レコメンドエンジン部40は、オブジェクトグループの時間関係、空間関係、及びユーザ属性をあらわす特徴ベクトルセットに基づき、次の操作候補の出力確率を求める。レコメンドランキング決定部50は、次の操作候補として選択できない操作を操作候補から除外した上で、レコメンドエンジン部40によって計算された出力確率が高い順で操作候補が並べられたレコメンドリストを生成する。
【0109】
特徴ベクトル生成部30は、時間特徴ベクトル生成部31と、空間特徴ベクトル生成部32と、ユーザ属性特徴ベクトル生成部33と、特徴ベクトルセット生成部34とを含む。時間特徴ベクトル生成部31は、操作履歴から、時間関係を表す時間特徴ベクトルを生成する。空間特徴ベクトル生成部32は、オブジェクト間の空間関係を表す空間特徴ベクトルを生成する。ユーザ属性特徴ベクトル生成部33は、操作のユーザ属性を表すユーザ属性特徴ベクトルを生成する。特徴ベクトルセット生成部34は、時間特徴ベクトル、空間特徴ベクトル、ユーザ属性特徴ベクトルに基づき、特徴ベクトルセットを生成する。
【0110】
レコメンドエンジン部40は、学習部41と、スコア計算部42とを含む。学習部41は、特徴ベクトルセットと操作の対応であるパタンに基づき学習を行う。スコア計算部42は、ある特徴ベクトルセットが与えられたときに、その特徴ベクトルと学習の結果に基づき、操作の出現確率を計算する。
【0111】
時間関係は、操作の順序である。時間関係は、後述される特徴ベクトルセットに、操作の情報を表す特徴ベクトルが、操作が行われた時刻の順に並べられることによって表される。
【0112】
図7は、特徴ベクトルと特徴ベクトルセットの関係を概念的に表す図である。特徴ベクトルセットは、操作が行われた順番に並べられた特徴ベクトルによって構成される。特徴ベクトルには、時間特徴ベクトルと、空間特徴ベクトルと、ユーザ属性特徴ベクトルがある。時間特徴ベクトルは、上述の時間特徴データに相当する。空間特徴ベクトルは、上述の空間特徴データに相当する。ユーザ属性特徴ベクトルは、上述のユーザ属性特徴データに相当する。
【0113】
図8は、時間特徴ベクトルと時間特徴ベクトルによって構成される特徴ベクトルセットを概念的に表す図である。時間特徴ベクトルは、上述の時間関係を表すベクトルである。
【0114】
時間特徴ベクトルは、例えば、操作の識別子である操作IDと、操作が行われた時刻とを含む。例えば、
図8の左端のベクトルでは、操作IDはid1である。また、操作が行われた時刻はT1である。時刻の数値が使用されることにより、操作が行われた時刻に応じた、操作に対する重み付けが可能になる。時間特徴ベクトルは、さらに、操作が行われた時刻と、その操作の直前の操作が行われた時刻との差を含んでいてもよい。例えば、
図8の左端のベクトルでは、この時刻の差はt1である。時刻の差の数値が使用されることにより、操作の時間的な間隔に応じた、操作に対する重み付けが可能になる。時間特徴ベクトルは、さらに、操作が行われた時刻において、共有画面に対する一連の操作が開始されてから経過した時間である経過時間を含んでいてもよい。例えば、
図8の左端のベクトルでは、経過時間はe1である。経過時間の数値が使用されることにより、操作が行われた時刻における経過時間に応じた、操作に対する重み付けが可能になる。その場合、レコメンドサーバ1Eは、経過時間に応じて異なるレコメンド操作リストを出力することが可能になる。
【0115】
空間関係は、例えば、ホワイトボード上の複数操作オブジェクトの座標である。ホワイトボードは、前述の電子ホワイトボードである。本構成例の説明においては、ホワイトボードは電子ホワイトボードを表す。ホワイトボードは、前述の共有画面に相当する。複数操作オブジェクトは、複数のユーザが操作することができる描画オブジェクトである。本変形例の説明において、複数操作オブジェクトは、単に、オブジェクトとも表記される。複数操作オブジェクトの座標は、例えば、x座標とy座標とを組み合わせた二次元座標によって表される。
【0116】
図9は、空間特徴ベクトルと空間特徴ベクトルによって構成される特徴ベクトルセットを概念的に表す図である。空間特徴ベクトルは、上述の空間関係を表すベクトルである。
【0117】
空間特徴ベクトルは、例えば、操作を特定する操作IDと、その操作の対象であるオブジェクトの座標を含む。
図9の空間特徴ベクトルは、座標として、x座標とy座標とを含む。例えば、
図9の左端の空間特徴ベクトルでは、操作IDがid1であり、x座標はx1であり、y座標はy1である。座標の数値が使用されることにより、操作が行われたオブジェクトの位置に応じた、操作に対する重み付けが可能になる。その場合、レコメンドサーバ1Eは、操作が行われた場所に応じて異なるレコメンド操作リストを出力することが可能になる。その場合、レコメンドサーバ1Eは、例えば、左上にテキストボックスが生成された場合は箇条書きのメニューを出力し、下側にテキストボックスが生成された場合は、フォントを小さくするメニューを出力するような動作が可能になる。
【0118】
空間特徴ベクトルは、操作が行われたオブジェクトの位置と、その操作の直前の操作が行われたオブジェクトの位置との間の距離を含んでいてもよい。例えば、
図8に示す左端の空間特徴ベクトルでは、その距離はd1である。距離の数値が使用されることにより、連続する操作が行われたオブジェクトの距離に応じたレコメンドリストの出力が可能になる。その場合、レコメンドサーバ1Eは、例えば、2個の四角形が続けて描かれた場合、連続する操作の対象であるそれらの2個の四角形が重なっていればレイヤーを変更するメニューを出力し、の距離が遠ければ、矢印を描くメニューを出力するような動作が可能になる。空間特徴ベクトルが含む座標と距離は、ホワイトボードの高さと幅によって正規化されていてもよい。正規化は、例えば、高さ方向の座標値をホワイトボードの高さで割り、幅方向の座標値をホワイトボードの幅で割る操作である。そして、距離は、正規化後の座標によって算出されればよい。
【0119】
空間特徴ベクトルは、さらに、操作が行われたオブジェクトの位置の、その操作の直前の操作が行われたオブジェクトの位置からの方向を表す値を含んでいてもよい。方向は、例えば、いずれかの座標軸からの角度によって表されていればよい。例えば
図8に示す左端の空間ベクトルでは、角度はθ1である。図の多くは、左から右へ、あるいは上から下に向かって描かれる。方向の値が使用されることによって、描かれる順序に応じたレコメンドリストの出力が可能になる。
【0120】
ユーザ属性は、例えば、操作を行ったユーザのユーザIDや、ホワイトボードを使用するユーザのユーザIDのリストである。
【0121】
図10は、ユーザ属性特徴ベクトルとユーザ属性特徴ベクトルによって構成される特徴ベクトルセットを概念的に表す図である。
【0122】
ユーザ属性特徴ベクトルの一つは、ホワイトボードを使用するユーザのユーザIDのリストである。
図10に示す例では、右端のユーザ属性特徴ベクトルが、ホワイトボードを使用するユーザのユーザIDのリストを表すユーザ属性特徴ベクトルである。右端のベクトルにおいて、U1からUnがホワイトボードを使用するユーザのユーザIDである。リストに含まれる、ホワイトボードを使用するユーザのユーザIDの値が使用されることにより、ホワイトボードの使用者に応じたレコメンドリストの出力が可能になる。
【0123】
また、ユーザ属性特徴ベクトルは、それぞれの操作を行ったユーザのユーザIDを表すベクトルであってもよい。
図10に示す例では、例えば左端のベクトルは、操作IDがid1である操作を、ユーザIDがu1であるユーザが行ったことを表すベクトルである。このベクトルにおけるu1の値は、右端のベクトルの要素の値である、U1からUnまで値のいずれかである。ユーザ属性特徴ベクトルは、ユーザのグループIDを含んでいてもよい。例えば、
図10に示す左端のベクトルにおいて、グループIDはg1である。それぞれの操作を行ったユーザのユーザIDの値が使用されることにより、ユーザ毎の操作パタンに応じたレコメンドリストの出力が可能になる。
【0124】
次に、本構成例のレコメンドサーバ1Eの動作について、図面を参照して詳細に説明する。本構成例のレコメンドサーバ1Eの動作は、機械学習フェーズと操作のレコメンドフェーズの2つに分けられる。
【0125】
図11は、本構成例のレコメンドサーバ1Eの機械学習フェーズにおける動作の例を表すフローチャートである。
【0126】
オブジェクトグループ生成部10はデータリポジトリ部20から既存のオブジェクトグループを取得する(ステップS301)。
【0127】
次に、特徴ベクトル生成部30が、そのオブジェクトグループの特徴ベクトルセットを生成する(ステップS302)。ステップS302では、まず、時間特徴ベクトル生成部31が、オブジェクトグループの操作履歴内の時間関係をベクトルへ変換する。空間特徴ベクトル生成部32が、オブジェクトグループ内の各オブジェクト間の空間関係をベクトルへ変換する。ユーザ属性特徴ベクトル生成部33が、オブジェクト操作履歴のユーザ属性をベクトルへ変換する。そして、特徴ベクトルセット生成部34は、時間特徴ベクトル生成部31、空間特徴ベクトル生成部32およびユーザ属性特徴ベクトル生成部33が生成したそれぞれのベクトルを、特徴ベクトルセットに変換する。
【0128】
レコメンドエンジン部40は、特徴ベクトルセット生成部34が生成した特徴ベクトルセットを取得する。
【0129】
さらに、レコメンドエンジン部40は、データリポジトリ部20に含まれる操作履歴データ記憶部21から、そのオブジェクトグループにおいて、ユーザが選択した次の操作履歴を取得する(ステップS303)。
【0130】
次に、レコメンドエンジン部40は、取得した特徴ベクトルセットと、ユーザが選択した次の操作履歴に基づいて機械学習を行うことによって、データモデルを生成する(ステップS304)。このデータモデルは、第1の実施形態の説明におけるモデルに相当する。
【0131】
図12は、本構成例のレコメンドサーバ1Eのレコメンドフェーズにおける動作の例を表すフローチャートである。
【0132】
まず操作受付部60が、ユーザによるホワイトボードに対する操作を受け付ける(ステップS401)。
【0133】
操作受付部60は、受け付けた操作をデータリポジトリ部20に保存する(ステップS402)。
【0134】
次に、オブジェクトグループ生成部10が、データリポジトリ部20から、ホワイトボード上の全てのオブジェクトを取得する。そして、オブジェクトグループ生成部10は、取得されたオブジェクトから、オブジェクトグループを生成する(ステップS403)。オブジェクトグループ生成部10は、生成したオブジェクトグループをデータリポジトリ部20に保存する。
【0135】
オブジェクトは、四角枠、テキスト、矢印、画像などのホワイトボードの図形要素である。オブジェクトに対する操作は、オブジェクトをホワイトボード上に作成すること、色やスタイルなどの属性を設定すること、フォント、文字サイズを設定することなどである。関連していないオブジェクトに対する各操作には、関連性はないはずである。したがって、オブジェクトグループ生成部10は、関連していないオブジェクトに対する操作を別の操作履歴として扱う。また、関連する2つのオブジェクトは、以下の2つの条件を満たすオブジェクトである。関連していない2つのオブジェクトは、以下の2つの条件を満たさないオブジェクトである。第1の条件は、2つのオブジェクトが配置されている位置の距離が閾値以内であることである。第2の条件は、2つのオブジェクトが作成された時刻の差が閾値以内であることである。また、ある操作の対象であるオブジェクトが、あるオブジェクトグループのいずれかのオブジェクトと関連していることを、その操作がそのオブジェクトグループに関連すると表記する。
【0136】
オブジェクト生成部10は、さらに、ステップS402において保存された操作が、既存オブジェクトグループのいずれかと関連しているか否かを判定する。オブジェクト生成部10は、ステップS402において保存された操作が、いずれかの既存オブジェクトグループと関連していれば、その操作をそのオブジェクトグループに追加する。オブジェクト生成部10は、その操作がいずれの既存オブジェクトグループとも関連していなければ、新たなオブジェクトグループを作成する。オブジェクト生成部10は、操作が複数のオブジェクトグループに関連する場合、それらの既存のオブジェクトグループを統合する。
【0137】
そして、時間特徴ベクトル生成部31が、既存オブジェクトグループの操作履歴内の時間関係をベクトルへ変換する(ステップS404)。空間特徴ベクトル生成部32が、オブジェクトグループ内の各オブジェクト間の空間関係をベクトルへ変換する(ステップS405)。ユーザ属性特徴ベクトル生成部33が、オブジェクト操作履歴のユーザ属性をベクトルへ変換する(ステップS406)。そして、特徴ベクトルセット生成部34が、時間特徴ベクトル生成部31、空間特徴ベクトル生成部32およびユーザ属性特徴ベクトル生成部33が生成したそれぞれのベクトルを、特徴ベクトルセットに変換する(ステップS407)。
【0138】
次に、レコメンドエンジンのスコア計算部42が、特徴ベクトルセット生成部34が生成した特徴ベクトルセットを取得する。また、スコア計算部42は、データリポジトリ内にあらかじめ格納されている操作集合から候補操作を取得する。そして、スコア計算部42は、操作のスコアを計算する(ステップS409)。本変形例では、スコアは確率である。
【0139】
そして、レコメンドランキング決定部50は、スコア計算部42から、候補操作と、その候補操作のスコアを取得する。レコメンドランキング決定部50は、候補操作から選択できない操作を除外する。そして、レコメンドランキング決定部50は、残った候補操作をスコア高い順で並べたレコメンドリストを作成する(ステップS410)。
【0140】
レコメンドランキング決定部50は、生成したレコメンドリストを、ユーザに対して出力する(ステップS411)。
【0141】
図13は、学習及びスコアの計算におけるデータの流れを概念的に表す図である。
【0142】
学習においては、特徴ベクトルセットと操作の組み合わせが、複数、レコメンドエンジン部40に供給される。そして、レコメンドエンジン部40は、データモデルを出力する。
【0143】
スコア計算においては、データモデルと、特徴ベクトルセットと、複数の操作の候補とが、レコメンドエンジン部40に供給される。そして、レコメンドエンジン部40は、複数の確率を出力する。
【0144】
(第1の変形例)
次に、本実施形態に基づく第1の変形例について、図面を参照して詳細に説明する。
【0145】
図15は、本変形例の情報処理システム100Aの構成を表すブロック図である。
図15を参照すると、本変形例の情報処理システム100Aは、それぞれ入力支援装置1Aを含む端末装置2Aを含む。
【0146】
図16は、本変形例の情報処理システム100Aの全体像を表すブロック図である。
図16を参照すると、各端末装置2Aは、通信ネットワーク3を介して接続されている。各端末装置2Aは、互いに通信することができる。
【0147】
図15に示す入力支援装置1Aは、
図2に示す入力支援装置1の各構成要素に加えて、操作送受信部204を含む。
【0148】
操作送受信部204は、他の端末装置2Aのユーザが行った操作の操作データを、その端末装置2から受信する。そして、他の端末装置2Aから受信した操作データを、操作受付部110に送信する。また、操作送受信部204は、その操作送受信部204が含まれる端末装置2のユーザが行った操作の操作データを、操作受付部110を介して受信する。そして、操作送受信部204は、その操作送受信部204が含まれる端末装置2のユーザが行った操作の操作データを、他の端末装置2Aの各々に送信する。本変形例の操作受付部110は、入力部201から受信した操作データを、さらに、操作送受信部204に送信する。
【0149】
本変形例の学習部107は、入力支援装置1Aを含む端末装置2Aのユーザに対するモデルを導出すればよい。本変形例のモデル記憶部108は、入力支援装置1Aを含む端末装置2Aのユーザに対して導出されたモデルを記憶する。本変形例の操作スコア導出部104は、入力支援装置1Aを含む端末装置2Aのユーザに対して操作のスコアを導出し、操作のリストを生成する。本変形例の操作推薦部105は、入力支援装置1Aを含む端末装置2Aの出力部202に対して、操作のリストを生成する。
【0150】
本変形例の情報処理システム100Aは、その他の点において、第1の実施形態の情報処理システム100と同じである。
【0151】
(第2の変形例)
次に、本実施形態の第2の変形例について、図面を参照して詳細に説明する。
【0152】
図17は、本変形例の情報処理システム100Bの構成の例を表すブロック図である。
図17を参照すると、本変形例の情報処理システム100Bは、複数の端末装置2Bと、それぞれの端末装置2Bに接続された入力支援装置1Bを含む。
図17と
図15とを比較すると、本変形例の入力支援装置1Bは、共有画面出力部203と、操作送受信部204とを含まない。一方、本変形例の端末装置2Bは、共有画面出力部203と、操作送受信部204とを含む。
【0153】
図18は、本変形例の情報処理システム100Bの全体像を表すブロック図である。
図18を参照すると、各端末装置2は、通信ネットワーク3を介して接続されている。さらに、各端末装置2Bに、入力支援装置1Bが接続されている。
【0154】
本変形例の情報処理システム100Bは、その他の点において、第1の実施形態の第1の変形例の情報処理システム100Aと同じである。
【0155】
(第2の実施形態)
次に、本発明の第2の実施形態について、図面を参照して詳細に説明する。
【0156】
図1は、本実施形態の入力支援装置1Cの構成を表すブロック図である。
【0157】
図1を参照すると、本実施形態の入力支援装置1Cは、複数の端末装置で共有される共有画面に配置される描画オブジェクトを対象とする操作を複数種類記憶する操作記憶部102と、前記共有画面に配置されており、描画オブジェクト記憶手段に格納されている前記描画オブジェクトである、配置オブジェクトを対象として行われた操作である履歴操作を、前記履歴操作が行われた順番で記憶し、さらに、前記複数の端末装置のユーザの識別子である参加ユーザ識別子を記憶する操作履歴記憶部103と、前記複数の端末装置のうち対象端末装置のユーザである対象ユーザが、前記操作記憶手段に格納されている前記操作である候補操作を、次に行う確率である操作確率を、前記対象ユーザの識別子である対象ユーザ識別子と、前記履歴操作と、前記参加ユーザ識別子とに基づいて導出する操作スコア導出部104とを備える。
【0158】
以上で説明した本実施形態には、第1の実施形態の第1の効果と同じ効果がある。その理由は、第1の実施形態の第1の効果の第1の理由と同じである。
【0159】
入力支援装置1、入力支援装置1A、入力支援装置1B、入力支援装置1C、及びレコメンドサーバ1Eは、それぞれ、コンピュータ及びコンピュータを制御するプログラム、専用のハードウェア、又は、コンピュータ及びコンピュータを制御するプログラムと専用のハードウェアの組合せにより実現することができる。
【0160】
図14は、入力支援装置1、入力支援装置1A、入力支援装置1B、入力支援装置1C、及びレコメンドサーバ1Eを実現するために使用される、コンピュータ1000の構成の一例を表す図である。
図14を参照すると、コンピュータ1000は、プロセッサ1001と、メモリ1002と、記憶装置1003と、I/O(Input/Output)インタフェース1004とを含む。また、コンピュータ1000は、記録媒体1005にアクセスすることができる。メモリ1002と記憶装置1003は、例えば、RAM(Random Access Memory)、ハードディスクなどの記憶装置である。記録媒体1005は、例えば、RAM、ハードディスクなどの記憶装置、ROM(Read Only Memory)、可搬記録媒体である。記憶装置1003が記録媒体1005であってもよい。プロセッサ1001は、メモリ1002と、記憶装置1003に対して、データやプログラムの読み出しと書き込みを行うことができる。プロセッサ1001は、I/Oインタフェース1004を介して、例えば、端末装置2にアクセスすることができる。プロセッサ1001は、記録媒体1005にアクセスすることができる。記録媒体1005には、コンピュータ1000を、入力支援装置1、入力支援装置1A、入力支援装置1B、入力支援装置1C、又はレコメンドサーバ1Eとして動作させるプログラムが格納されている。
【0161】
プロセッサ1001は、記録媒体1005に格納されている、コンピュータ1000を、入力支援装置1、入力支援装置1A、入力支援装置1B、入力支援装置1C、又はレコメンドサーバ1Eとして動作させるプログラムを、メモリ1002にロードする。そして、プロセッサ1001が、メモリ1002にロードされたプログラムを実行することにより、コンピュータ1000は、入力支援装置1、入力支援装置1A、入力支援装置1B、入力支援装置1C、又はレコメンドサーバ1Eとして動作する。
【0162】
操作スコア導出部104、操作推薦部105、オブジェクトグループ生成部106、学習部107、データ整形部109、操作受付部110、共有画面出力部203、操作送受信部204、オブジェクトグループ生成部10、特徴ベクトル生成部30、時間特徴ベクトル生成部31、空間特徴ベクトル生成部32、ユーザ属性特徴ベクトル生成部33、特徴ベクトルセット生成部34、レコメンドエンジン部40、学習部41、スコア計算部42、レコメンドランキング決定部50、操作受付部60は、例えば、プログラムを記憶する記録媒体1005からメモリ1002に読み込まれた、各部の機能を実現するための専用のプログラムと、そのプログラムを実行するプロセッサ1001により実現することができる。また、描画オブジェクト記憶部101、操作記憶部102、操作履歴記憶部103、モデル記憶部108、整形データ記憶部111、データリポジトリ部20、操作履歴データ記憶部21、オブジェクトデータ記憶部22は、コンピュータが含むメモリ1002やハードディスク装置等の記憶装置1003により実現することができる。あるいは、描画オブジェクト記憶部101、操作記憶部102、操作履歴記憶部103、操作スコア導出部104、操作推薦部105、オブジェクトグループ生成部106、学習部107、モデル記憶部108、データ整形部109、操作受付部110、整形データ記憶部111、共有画面出力部203、操作送受信部204、オブジェクトグループ生成部10、データリポジトリ部20、操作履歴データ記憶部21、オブジェクトデータ記憶部22、特徴ベクトル生成部30、時間特徴ベクトル生成部31、空間特徴ベクトル生成部32、ユーザ属性特徴ベクトル生成部33、特徴ベクトルセット生成部34、レコメンドエンジン部40、学習部41、スコア計算部42、レコメンドランキング決定部50、操作受付部60の一部又は全部を、各部の機能を実現する専用の回路によって実現することもできる。
【0163】
以上、実施形態を参照して本発明を説明したが、本発明は上記実施形態に限定されるものではない。本発明の構成や詳細には、本発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【0164】
また、上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
【0165】
(付記1)
複数の端末装置で共有される共有画面に配置される描画オブジェクトを対象とする操作を複数種類記憶する操作記憶手段と、
前記共有画面に配置されており、描画オブジェクト記憶手段に格納されている前記描画オブジェクトである、配置オブジェクトを対象として行われた操作である履歴操作を、前記履歴操作が行われた順番で記憶し、さらに、前記複数の端末装置のユーザの識別子である参加ユーザ識別子を記憶する操作履歴記憶手段と、
前記複数の端末装置のうち対象端末装置のユーザである対象ユーザが、前記操作記憶手段に格納されている前記操作である候補操作を、次に行う確率である操作確率を、前記対象ユーザの識別子である対象ユーザ識別子と、前記履歴操作と、前記参加ユーザ識別子とに基づいて導出する操作スコア導出手段と
を備える入力支援装置。
【0166】
(付記2)
前記操作履歴記憶手段は、前記履歴操作に関連付けて、当該履歴操作を行った前記ユーザの識別子である操作ユーザ識別子を記憶し、
前記操作スコア導出手段は、前記操作確率を、前記対象ユーザの識別子である対象ユーザ識別子と、前記履歴操作と、当該履歴操作に関連付けられた前記操作ユーザ識別子とに基づいて導出する
付記1に記載の入力支援装置。
【0167】
(付記3)
前記描画オブジェクト記憶手段は、さらに、前記配置オブジェクトに関連付けて、前記共有画面において前記配置オブジェクトが配置されている位置である配置位置を記憶し、
前記操作スコア導出手段は、前記操作確率を、さらに、前記配置位置に基づいて導出する
付記1又は2に記載の入力支援装置。
【0168】
(付記4)
前記描画オブジェクト記憶手段は、さらに、前記配置オブジェクトに関連付けて、前記共有画面において前記配置オブジェクトが配置されている位置である配置位置と、前記配置オブジェクトが生成された生成時刻とを記憶し、
前記入力支援装置は、
前記描画オブジェクト記憶手段に格納されている描画オブジェクトから、複数の前記描画オブジェクトを含むオブジェクトグループを、当該オブジェクトグループに含まれる前記描画オブジェクトの、前記オブジェクトグループに含まれる他のいずれかの前記描画オブジェクトに対する、関連付けられている前記配置位置及び前記生成時刻の少なくとも一方における差が、所定基準を満たすように生成するオブジェクトグループ生成手段と、
前記オブジェクトグループに含まれる前記描画オブジェクトの前記操作履歴に基づき、前記操作確率を導出するパラメータを導出する学習手段と
をさらに備え、
前記操作スコア導出手段は、最も新しい前記履歴操作が対象とする前記配置オブジェクトを含む前記オブジェクトグループに含まれる、記配置オブジェクトを対象として行われた前記履歴操作に基づき、導出された前記パラメータを使用して前記操作確率を導出する
付記1又は2に記載の入力支援装置。
【0169】
(付記5)
前記操作スコア導出手段は、前記操作確率を、さらに、前記配置位置に基づいて導出する
付記4に記載の入力支援装置。
【0170】
(付記6)
前記操作履歴記憶手段は、さらに、前記履歴操作に関連付けて、当該配置オブジェクトに関する前記操作が行われた時刻である操作時刻を記憶し、
前記操作確率導出手段は、前記操作確率を、さらに、前記操作時刻に基づいて導出する
付記1乃至5のいずれかに記載の入力支援装置。
【0171】
(付記7)
前記端末装置から、前記操作を受信し、当該操作に基づき前記配置オブジェクトを更新し、受信した前記操作を、前記履歴操作として、前記操作履歴記憶手段に格納する操作受付手段と、
前記描画オブジェクトが配置された前記共有画面を前記対象端末に出力する共有画面出力手段と、
導出された前記操作確率が最も高い前記候補操作の入力を促す表示を、前記対象端末装置に出力する操作推薦手段と
をさらに備える付記1乃至6のいずれかに記載の入力支援装置。
【0172】
(付記8)
前記複数の端末と、
付記1乃至7のいずれかに記載の入力支援装置と
を含む情報処理システム。
【0173】
(付記9)
複数の端末装置で共有される共有画面に配置される描画オブジェクトを対象とする操作を複数種類操作記憶手段に記憶し、
前記共有画面に配置されており、描画オブジェクト記憶手段に格納されている前記描画オブジェクトである、配置オブジェクトを対象として行われた操作である履歴操作を、前記履歴操作が行われた順番で記憶し、さらに、前記複数の端末装置のユーザの識別子である参加ユーザ識別子を操作履歴記憶手段に記憶し、
前記複数の端末装置のうち対象端末装置のユーザである対象ユーザが、前記操作記憶手段に格納されている前記操作である候補操作を、次に行う確率である操作確率を、前記対象ユーザの識別子である対象ユーザ識別子と、前記履歴操作と、前記参加ユーザ識別子とに基づいて導出する
入力支援方法。
【0174】
(付記10)
前記履歴操作に関連付けて、当該履歴操作を行った前記ユーザの識別子である操作ユーザ識別子を前記操作履歴記憶手段に記憶し、
前記操作確率を、前記対象ユーザの識別子である対象ユーザ識別子と、前記履歴操作と、当該履歴操作に関連付けられた前記操作ユーザ識別子とに基づいて導出する
付記9に記載の入力支援方法。
【0175】
(付記11)
さらに、前記配置オブジェクトに関連付けて、前記共有画面において前記配置オブジェクトが配置されている位置である配置位置を前記描画オブジェクト記憶手段に記憶し、
前記操作確率を、さらに、前記配置位置に基づいて導出する
付記9又は10に記載の入力支援方法。
【0176】
(付記12)
さらに、前記配置オブジェクトに関連付けて、前記共有画面において前記配置オブジェクトが配置されている位置である配置位置と、前記配置オブジェクトが生成された生成時刻とを前記描画オブジェクト記憶手段に記憶し、
前記描画オブジェクト記憶手段に格納されている描画オブジェクトから、複数の前記描画オブジェクトを含むオブジェクトグループを、当該オブジェクトグループに含まれる前記描画オブジェクトの、前記オブジェクトグループに含まれる他のいずれかの前記描画オブジェクトに対する、関連付けられている前記配置位置及び前記生成時刻の少なくとも一方における差が、所定基準を満たすように生成し、
前記オブジェクトグループに含まれる前記描画オブジェクトの前記操作履歴に基づき、前記操作確率を導出するパラメータを導出し、
最も新しい前記履歴操作が対象とする前記配置オブジェクトを含む前記オブジェクトグループに含まれる、記配置オブジェクトを対象として行われた前記履歴操作に基づき、導出された前記パラメータを使用して前記操作確率を導出する
付記9又は10に記載の入力支援方法。
【0177】
(付記13)
前記操作確率を、さらに、前記配置位置に基づいて導出する
付記12に記載の入力支援方法。
【0178】
(付記14)
さらに、前記履歴操作に関連付けて、当該配置オブジェクトに関する前記操作が行われた時刻である操作時刻を前記操作履歴記憶手段に記憶し、
前記操作確率を、さらに、前記操作時刻に基づいて導出する
付記9乃至13のいずれかに記載の入力支援方法。
【0179】
(付記15)
前記端末装置から、前記操作を受信し、当該操作に基づき前記配置オブジェクトを更新し、受信した前記操作を、前記履歴操作として、前記操作履歴記憶手段に格納し、
前記描画オブジェクトが配置された前記共有画面を前記対象端末に出力し、
導出された前記操作確率が最も高い前記候補操作の入力を促す表示を、前記対象端末装置に出力する
付記9乃至14のいずれかに記載の入力支援方法。
【0180】
(付記16)
コンピュータを、
複数の端末装置で共有される共有画面に配置される描画オブジェクトを対象とする操作を複数種類記憶する操作記憶手段と、
前記共有画面に配置されており、描画オブジェクト記憶手段に格納されている前記描画オブジェクトである、配置オブジェクトを対象として行われた操作である履歴操作を、前記履歴操作が行われた順番で記憶し、さらに、前記複数の端末装置のユーザの識別子である参加ユーザ識別子を記憶する操作履歴記憶手段と、
前記複数の端末装置のうち対象端末装置のユーザである対象ユーザが、前記操作記憶手段に格納されている前記操作である候補操作を、次に行う確率である操作確率を、前記対象ユーザの識別子である対象ユーザ識別子と、前記履歴操作と、前記参加ユーザ識別子とに基づいて導出する操作スコア導出手段と
して動作させる入力支援プログラム。
【0181】
(付記17)
コンピュータを、
前記履歴操作に関連付けて、当該履歴操作を行った前記ユーザの識別子である操作ユーザ識別子を記憶する前記操作履歴記憶手段と、
前記操作確率を、前記対象ユーザの識別子である対象ユーザ識別子と、前記履歴操作と、当該履歴操作に関連付けられた前記操作ユーザ識別子とに基づいて導出する前記操作スコア導出手段と
して動作させる付記16に記載の入力支援プログラム。
【0182】
(付記18)
コンピュータを、
さらに、前記配置オブジェクトに関連付けて、前記共有画面において前記配置オブジェクトが配置されている位置である配置位置を記憶する前記描画オブジェクト記憶手段と、
前記操作確率を、さらに、前記配置位置に基づいて導出する前記操作スコア導出手段と
して動作させる付記16又は17に記載の入力支援プログラム。
【0183】
(付記19)
コンピュータを、
さらに、前記配置オブジェクトに関連付けて、前記共有画面において前記配置オブジェクトが配置されている位置である配置位置と、前記配置オブジェクトが生成された生成時刻とを記憶する前記描画オブジェクト記憶手段と、
前記描画オブジェクト記憶手段に格納されている描画オブジェクトから、複数の前記描画オブジェクトを含むオブジェクトグループを、当該オブジェクトグループに含まれる前記描画オブジェクトの、前記オブジェクトグループに含まれる他のいずれかの前記描画オブジェクトに対する、関連付けられている前記配置位置及び前記生成時刻の少なくとも一方における差が、所定基準を満たすように生成するオブジェクトグループ生成手段と、
前記オブジェクトグループに含まれる前記描画オブジェクトの前記操作履歴に基づき、前記操作確率を導出するパラメータを導出する学習手段と
最も新しい前記履歴操作が対象とする前記配置オブジェクトを含む前記オブジェクトグループに含まれる、記配置オブジェクトを対象として行われた前記履歴操作に基づき、導出された前記パラメータを使用して前記操作確率を導出する前記操作スコア導出手段と
して動作させる付記16又は17に記載の入力支援プログラム。
【0184】
(付記20)
コンピュータを、
前記操作確率を、さらに、前記配置位置に基づいて導出する前記操作スコア導出手段と
して動作させる付記19に記載の入力支援プログラム。
【0185】
(付記21)
コンピュータを、
さらに、前記履歴操作に関連付けて、当該配置オブジェクトに関する前記操作が行われた時刻である操作時刻を記憶する前記操作履歴記憶手段と、
前記操作確率を、さらに、前記操作時刻に基づいて導出する前記操作確率導出手段と
して動作させる付記16乃至20のいずれかに記載の入力支援装置。
【0186】
(付記22)
コンピュータを、
前記端末装置から、前記操作を受信し、当該操作に基づき前記配置オブジェクトを更新し、受信した前記操作を、前記履歴操作として、前記操作履歴記憶手段に格納する操作受付手段と、
前記描画オブジェクトが配置された前記共有画面を前記対象端末に出力する共有画面出力手段と、
導出された前記操作確率が最も高い前記候補操作の入力を促す表示を、前記対象端末装置に出力する操作推薦手段と
して動作させる付記16乃至21のいずれかに記載の入力支援プログラム。