(57)【要約】【課題】ユーザによって登録されたスケジュールと、ユーザの行動履歴とを組み合わせて利用することによって、ユーザの行動をより正確に把握する。【解決手段】ユーザによって登録されたスケジュールを取得するスケジュール取得部と、上記ユーザの行動履歴を取得する行動履歴取得部と、上記行動履歴に基づいて、上記スケジュールのうちの過去スケジュールを補正する過去スケジュール補正部とを含む情報処理装置、情報処理方法およびプログラムが提供される。【選択図】図４
2015011431.tif 000002
【特許請求の範囲】
【請求項１】
ユーザによって登録されたスケジュールを取得するスケジュール取得部と、
前記ユーザの行動履歴を取得する行動履歴取得部と、
前記行動履歴に基づいて、前記スケジュールのうちの過去スケジュールを補正する過去スケジュール補正部と
を備える情報処理装置。
【請求項２】
前記過去スケジュール補正部は、前記行動履歴に基づいて、前記過去スケジュールに含まれるイベント情報が実際に実行されたイベントに対応するか否かを判定し、実際には実行されなかったイベントに対応する前記イベント情報を前記過去スケジュールから削除または無効化する、請求項１に記載の情報処理装置。
【請求項３】
前記過去スケジュール補正部は、前記イベント情報が互いに競合している場合に、該競合しているイベント情報のうちのどのイベント情報が実際に実行されたイベントに対応するかを判定する、請求項２に記載の情報処理装置。
【請求項４】
前記過去スケジュール補正部は、前記行動履歴によって示されるユーザ位置と、前記イベント情報によって示される位置とを比較することによって、前記イベント情報が実際に実行されたイベントに対応するか否かを判定する、請求項２に記載の情報処理装置。
【請求項５】
前記過去スケジュール補正部は、前記過去スケジュールに含まれる第１のイベント情報に対応する第１のイベントに付随して発生した第２のイベントに対応する第２のイベント情報を前記過去スケジュールに追加する、請求項１に記載の情報処理装置。
【請求項６】
前記過去スケジュール補正部は、前記過去スケジュールに含まれるイベント情報における表記ゆれを解消する、請求項１に記載の情報処理装置。
【請求項７】
前記過去スケジュール補正部は、前記行動履歴によって示される位置またはイベント内容と、前記イベント情報によって示される位置またはイベント内容とを比較することによって、前記イベント情報における表記ゆれを解消する、請求項６に記載の情報処理装置。
【請求項８】
前記補正された過去スケジュールを出力する過去スケジュール出力部をさらに備える、請求項１に記載の情報処理装置。
【請求項９】
少なくとも前記過去スケジュールの補正パターンに基づいて、前記スケジュールのうちの未来スケジュールを補正する未来スケジュール補正部をさらに備える、請求項１に記載の情報処理装置。
【請求項１０】
前記未来スケジュール補正部は、前記未来スケジュールに含まれるイベント情報に対応するイベントの実行可能性を推定する、請求項９に記載の情報処理装置。
【請求項１１】
前記補正された未来スケジュールと前記行動履歴とに基づいて、前記ユーザのための行動支援情報を生成する行動支援情報生成部をさらに備え、
前記行動支援情報生成部は、前記実行可能性が低いイベントに対応するイベント情報については前記行動支援情報の生成を抑制する、請求項１０に記載の情報処理装置。
【請求項１２】
前記未来スケジュール補正部は、前記イベント情報が互いに競合している場合に、該競合しているイベント情報のうちのどのイベント情報に対応するイベントの前記実行可能性が最も高いかを推定する、請求項１０に記載の情報処理装置。
【請求項１３】
前記未来スケジュール補正部は、前記行動履歴にさらに基づいて前記未来スケジュールを補正し、前記行動履歴によって示される直近のユーザ位置と、前記補正パターンに条件として含まれる位置とを比較することによって、前記実行可能性を推定する、請求項１０に記載の情報処理装置。
【請求項１４】
前記未来スケジュール補正部は、前記未来スケジュールに含まれる第１のイベント情報に対応する第１のイベントに付随して発生すると予想される第２のイベントに対応する第２のイベント情報を前記未来スケジュールに追加する、請求項９に記載の情報処理装置。
【請求項１５】
前記第２のイベントは、前記第１のイベントの場所までの移動イベントであり、
前記未来スケジュール補正部は、前記行動履歴にさらに基づいて前記未来スケジュールを補正し、前記行動履歴によって示される直近のユーザ位置と、前記補正パターンに含まれる前記移動イベントの開始位置とを比較することによって、前記第２のイベント情報を前記未来スケジュールに追加するか否かを判定する、請求項１４に記載の情報処理装置。
【請求項１６】
前記未来スケジュール補正部は、前記未来スケジュールに含まれるイベント情報における表記ゆれを解消する、請求項９に記載の情報処理装置。
【請求項１７】
前記未来スケジュール補正部は、前記行動履歴にさらに基づいて前記未来スケジュールを補正する、請求項９に記載の情報処理装置。
【請求項１８】
前記補正された未来スケジュールを出力する未来スケジュール出力部をさらに備える、請求項９に記載の情報処理装置。
【請求項１９】
ユーザによって登録されたスケジュールを取得することと、
前記ユーザの行動履歴を取得することと、
プロセッサが、前記行動履歴に基づいて、前記スケジュールのうちの過去スケジュールを補正することと
を含む情報処理方法。
【請求項２０】
ユーザによって登録されたスケジュールを取得する機能と、
前記ユーザの行動履歴を取得する機能と、
前記行動履歴に基づいて、前記スケジュールのうちの過去スケジュールを補正する機能と
をコンピュータに実現させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、情報処理装置、情報処理方法およびプログラムに関する。
【背景技術】
【０００２】
情報処理端末を用いてユーザのスケジュールを管理することは、既に広く行われている。例えば、特許文献１には、ユーザによるスケジュールの登録を受け付ける際に、スケジュールとして登録された行動を補完する保管行動を自動的に登録する技術が記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１１−１８０９０８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
スケジュールは、ユーザが明示的に登録する行動予定であるため、例えば情報処理端末がユーザの行動支援情報を生成したりする際には有用でありうる。ところが、ユーザによって登録されるスケジュールは、例えば同じ時間に複数の予定が登録されていたり（競合）、同じ予定や場所が異なる文言によって記述されていたり（表記ゆれ）するために、必ずしも利用しやすいデータとはいえない。最近では、複数のユーザの間でスケジュールを共有することも一般的になってきているが、他のユーザによって登録された予定がスケジュールに含まれる場合、競合や表記ゆれの問題はさらに拡大しうる。
【０００５】
一方で、ユーザの行動を把握する手段としては、ユーザが携帯する端末装置が有する加速度センサやＧＰＳセンサなどの検出結果を利用した行動認識技術も知られている。しかし、行動認識技術によって把握されるユーザの行動には、例えば地下などで一部のセンサの検出が不能であったり、ユーザが端末装置を携帯していなかったりすることによる情報の欠落が生じうる。また、認識されたそれぞれの行動がユーザにとって何を意味するのかを判定することも容易ではない。
【０００６】
そこで、本開示では、ユーザによって登録されたスケジュールと、ユーザの行動履歴とを組み合わせて利用することによって、ユーザの行動をより正確に把握することを可能にする、新規かつ改良された情報処理装置、情報処理方法およびプログラムを提案する。
【課題を解決するための手段】
【０００７】
本開示によれば、ユーザによって登録されたスケジュールを取得するスケジュール取得部と、上記ユーザの行動履歴を取得する行動履歴取得部と、上記行動履歴に基づいて、上記スケジュールのうちの過去スケジュールを補正する過去スケジュール補正部とを含む情報処理装置が提供される。
【０００８】
また、本開示によれば、ユーザによって登録されたスケジュールを取得することと、上記ユーザの行動履歴を取得することと、プロセッサが、上記行動履歴に基づいて、上記スケジュールのうちの過去スケジュールを補正することとを含む情報処理方法が提供される。
【０００９】
また、本開示によれば、ユーザによって登録されたスケジュールを取得する機能と、上記ユーザの行動履歴を取得する機能と、上記行動履歴に基づいて、上記スケジュールのうちの過去スケジュールを補正する機能とをコンピュータに実現させるためのプログラムが提供される。
【発明の効果】
【００１０】
以上説明したように本開示によれば、ユーザによって登録されたスケジュールと、ユーザの行動履歴とを組み合わせて利用することによって、ユーザの行動をより正確に把握することができる。
【図面の簡単な説明】
【００１１】
【図１】本開示の第１の実施形態に係る情報処理システムの概略的な構成を示す図である。
【図２】本開示の第１の実施形態に係るクライアント装置の概略的な構成を示すブロック図である。
【図３】本開示の第１の実施形態に係るサーバ装置の概略的な構成を示すブロック図である。
【図４】本開示の第１の実施形態に係る情報処理システムの概略的な機能構成を示すブロック図である。
【図５】本開示の第１の実施形態に係る過去スケジュール補正機能の詳細を示す図である。
【図６】本開示の第１の実施形態における具体的な処理の第１の例を示す図である。
【図７】本開示の第１の実施形態における具体的な処理の第１の例を示す図である。
【図８】本開示の第１の実施形態における具体的な処理の第２の例を示す図である。
【図９】本開示の第１の実施形態における具体的な処理の第２の例を示す図である。
【図１０】本開示の第２の実施形態に係る情報処理システムの概略的な機能構成を示すブロック図である。
【図１１】本開示の第２の実施形態に係る補正パターンＤＢの詳細を示す図である。
【図１２】本開示の第２の実施形態に係る未来スケジュール補正機能の詳細を示す図である。
【図１３】本開示の第２の実施形態に係る行動支援情報生成機能の詳細を示す図である。
【図１４】本開示の第２の実施形態における通知の例を示す図である。
【図１５】本開示の第２の実施形態における具体的な処理の第１の例を示す図である。
【図１６】本開示の第２の実施形態における具体的な処理の第２の例を示す図である。
【発明を実施するための形態】
【００１２】
以下に添付図面を参照しながら、本開示の好適な実施の形態について詳細に説明する。なお、本明細書および図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
【００１３】
なお、説明は以下の順序で行うものとする。
１．第１の実施形態
１−１．システム構成
１−２．機能構成
１−３．具体的な処理の例
２．第２の実施形態
２−１．機能構成
２−２．具体的な処理の例
３．補足
【００１４】
（１．第１の実施形態）
（１−１．システム構成）
図１は、本開示の第１の実施形態に係る情報処理システムの概略的な構成を示す図である。図１を参照すると、システム１０は、クライアント装置１００と、サーバ装置２００とを含む。単一のサーバ装置２００、または複数のサーバ装置２００の協働によって、サーバ２０が構成される。サーバ２０は、ネットワークを介してクライアント装置１００と通信し、クライアント装置１００にサービスを提供する。
【００１５】
（クライアント装置の構成）
図２は、本開示の第１の実施形態に係るクライアント装置の概略的な構成を示すブロック図である。図２を参照すると、クライアント装置１００は、プロセッサ１０２、メモリ１０４、ストレージ１０６、通信モジュール１０８、ディスプレイ１１０およびタッチセンサ１１２によって構成されるタッチパネル１１４、スピーカ１１６、ボタン１１８、センサモジュール１２０、カメラモジュール１２２、および接続ポート１２４を含みうる。
【００１６】
プロセッサ１０２は、例えばＣＰＵ（Central  Processing  unit）、ＤＳＰ（Digital  Signal  Processor）、またはＡＳＩＣ（Application  Specific  Integrated  Circuit）などによって実現され、メモリ１０４に格納されたプログラムに従って動作することによって各種の機能を実現する。プロセッサ１０２は、クライアント装置１００の各部を制御することによって、各種の入力を取得し、また各種の出力を提供する。なお、プロセッサ１０２によって実現される機能の詳細については後述する。
【００１７】
メモリ１０４は、例えばＲＡＭ（Random  Access  Memory）またはＲＯＭ（Read  Only  Memory）として用いられる半導体メモリによって実現される。メモリ１０４には、例えばプロセッサ１０２が動作するためのプログラムが格納される。このプログラムは、例えばストレージ１０６から読み出されてメモリ１０４に一時的に展開されてもよく、メモリ１０４に持続的に格納されていてもよい。あるいは、プログラムは、通信モジュール１０８によって受信されて、メモリ１０４に一時的に展開されてもよい。メモリ１０４は、さらに、プロセッサ１０２の処理によって生成された各種のデータを、一時的または持続的に格納する。
【００１８】
ストレージ１０６は、例えばＨＤＤ（Hard  Disk  Drive）などの磁気ディスク、光ディスク、もしくは光磁気ディスクなどを利用した記憶装置、またはフラッシュメモリなどによって実現される。ストレージ１０６には、例えばプロセッサ１０２が動作するためのプログラムや、プロセッサ１０２の処理によって生成された各種のデータが持続的に格納される。ストレージ１０６は、リムーバブルメディアを含んで構成されてもよいし、クライアント装置１００に内蔵されてもよい。
【００１９】
通信モジュール１０８は、プロセッサ１０２の制御に従って有線または無線のネットワーク通信を実行する各種の通信回路によって実現される。無線通信を実行する場合、通信モジュール１０８はアンテナを含んでもよい。通信モジュール１０８は、例えばインターネットやＬＡＮ（Local  Area  Network）、またはＢｌｕｅｔｏｏｔｈ（登録商標）などの通信規格に従ってネットワーク通信を実行する。通信モジュール１０８によって、クライアント装置１００で生成された情報がサーバ２０または他のクライアント装置１００などに送信されるとともに、サーバ２０または他のクライアント装置１００から各種の情報が受信されうる。
【００２０】
ディスプレイ１１０は、例えばＬＣＤ（Liquid  Crystal  Display）または有機ＥＬ（Electro-Luminescence）ディスプレイなどによって実現される。ディスプレイ１１０は、プロセッサ１０２の制御に従って各種の情報を画像として表示する。本実施形態では、入力手段としてディスプレイ１１０とタッチセンサ１１２とによって構成されるタッチパネル１１４が用いられるため、ディスプレイ１１０はタッチセンサ１１２によって操作可能なＧＵＩ（Graphical  User  Interface）画像を表示する。なお、ディスプレイ１１０に表示される画像の具体的な例については後述する。
【００２１】
タッチセンサ１１２は、例えばディスプレイ１１０に対応する位置に配設される静電容量方式などのセンサによって実現される。あるいは、タッチセンサ１１２は、ディスプレイ１１０タッチセンサ１１２は、ディスプレイ１１０に表示されたＧＵＩ画像に対するユーザのタッチ操作を取得する。タッチセンサ１１２が取得するタッチ操作には、タップ、ドラッグ、およびフリックなど、ユーザのタッチによって構成されるさまざまなパターンが含まれうる。なお、他の実施形態では、タッチセンサ１１２とともに、またはこれに代えて、マウスやタッチパッドなどの他のポインティングデバイスが採用されてもよい。
【００２２】
スピーカ１１６は、プロセッサ１０２の制御に従って各種の情報を音声として出力する。ボタン１１８は、クライアント装置１００の筐体上に配設され、ユーザによる押下操作を取得する。このように、クライアント装置１００には、タッチパネル１１４とともに、またはこれに代えてさまざまな出力装置および入力装置が設けられうる。
【００２３】
センサモジュール１２０は、例えば加速度センサ、ジャイロセンサ、地磁気センサ、光センサ、気圧センサ、または音センサなどの各種のセンサと、センサに付属する処理回路とによって実現される。センサモジュール１２０は、例えばクライアント装置１００の筐体に作用する加速度や筐体の向きなど、クライアント装置１００自体の状態に関する情報を取得するのに加え、クライアント装置１００の周辺の明るさや騒音など、クライアント装置１００の周辺環境に関する情報を取得してもよい。また、センサモジュール１２０には、ＧＰＳ（Global  Positioning  System）信号を受信してクライアント装置１００の緯度、経度および高度を測定するＧＰＳセンサが含まれてもよい。
【００２４】
カメラモジュール１２２は、例えばＣＣＤ（Charge  Coupled  Device）またはＣＭＯＳ（Complementary  Metal  Oxide  Semiconductor）などの撮像素子と、撮像素子への被写体像の結像を制御するためのレンズなどの光学系と、撮像素子および光学系を駆動させる駆動回路とによって実現される。カメラモジュール１２２は、撮像素子が被写体像を撮像することによって生成された静止画または動画を、画像データとしてプロセッサ１０２に提供する。
【００２５】
接続ポート１２４は、クライアント装置１００に外部装置を直接的に接続するためのポートであり、例えばＵＳＢ（Universal  Serial  Bus）ポート、ＩＥＥＥ１３９４ポート、またはＨＤＭＩ（登録商標）（High-Definition  Multimedia  Interface）ポートなどによって実現される。接続ポート１２４に接続される外部装置は、例えば表示装置（外部ディスプレイなど）、入力装置（キーボードやマウスなど）、または記憶装置（外部ＨＤＤなど）でありうるが、これらの例には限られない。
【００２６】
以上で説明したような構成要素を含むクライアント装置１００は、例えばスマートフォン、タブレット端末、または各種のＰＣ（Personal  Computer）などでありうる。また、クライアント装置１００は、メディアプレーヤ、ゲーム機、またはテレビなどであってもよい。本実施形態において、クライアント装置１００は、単独で、またはサーバ装置２００との協働によって、本開示に係る情報処理装置の機能を実現しうる。
【００２７】
（サーバ装置の構成）
図３は、本開示の第１の実施形態に係るサーバ装置の概略的な構成を示すブロック図である。図３を参照すると、サーバ装置２００は、プロセッサ２０２、メモリ２０４、ストレージ２０６、および通信モジュール２０８を含みうる。
【００２８】
なお、以下の説明では、サーバ装置２００を、ネットワーク上でクライアント装置１００にサービスを提供することを主な目的として設置され、それ自体が設定操作の場合などを除きユーザへの情報出力や操作入力の取得などを実施しない装置として説明するが、サーバ装置２００はこのような装置には限られず、例えばクライアント装置１００と同様の構成を有する装置であってもよい。つまり、例えば、ユーザが自宅に設置しているデスクトップＰＣがサーバ装置２００として機能し、ユーザが携帯しているスマートフォンがクライアント装置１００として機能するような例も可能である。
【００２９】
プロセッサ２０２は、例えばＣＰＵ、ＤＳＰ、またはＡＳＩＣなどによって実現され、メモリ２０４に格納されたプログラムに従って動作することによって各種の機能を実現する。プロセッサ２０２は、通信モジュール２０８を介してクライアント装置１００から送信された情報を取得し、この情報に基づいて各種の処理を実行する。プロセッサ２０２は、処理結果の情報を、通信モジュール２０８を介してクライアント装置１００に送信する。サーバ装置２００は、複数のクライアント装置１００にサービスを提供することが可能でありうる。従って、プロセッサ２０２は、複数のクライアント装置１００からそれぞれ送信された情報に基づいて処理を実行し、処理結果の情報を元の情報を送信したクライアント装置１００とは別のクライアント装置１００に送信してもよい。
【００３０】
メモリ２０４は、例えばＲＡＭまたはＲＯＭとして用いられる半導体メモリによって実現される。メモリ２０４には、例えばプロセッサ２０２が動作するためのプログラムが格納される。このプログラムは、例えばストレージ２０６から読み出されてメモリ２０４に一時的に展開されてもよく、メモリ２０４に持続的に格納されていてもよい。あるいは、プログラムは、通信モジュール２０８によって受信されて、メモリ２０４に一時的に展開されてもよい。メモリ１０４は、さらに、プロセッサ２０２の処理によって生成された各種のデータを、一時的または持続的に格納する。
【００３１】
ストレージ２０６は、例えばＨＤＤなどの磁気ディスク、光ディスク、もしくは光磁気ディスクなどを利用した記憶装置、またはフラッシュメモリなどによって実現される。ストレージ２０６には、例えばプロセッサ２０２が動作するためのプログラムや、プロセッサ２０２の処理によって生成された各種のデータが持続的に格納される。ストレージ１０６は、リムーバブルメディアを含んで構成されてもよいし、サーバ装置２００に内蔵されてもよい。
【００３２】
通信モジュール２０８は、プロセッサ２０２の制御に従って有線または無線のネットワーク通信を実行する各種の通信回路によって実現される。無線通信を実行する場合、通信モジュール２０８はアンテナを含んでもよい。通信モジュール２０８は、例えばインターネットやＬＡＮ、またはＢｌｕｅｔｏｏｔｈ（登録商標）などの通信規格に従ってネットワーク通信を実行する。通信モジュール２０８によって、サーバ装置２００で生成された情報がクライアント装置１００または他のサーバ装置２００に送信されるとともに、クライアント装置１００または他のサーバ装置２００から各種の情報が受信されうる。サーバ２０が複数のサーバ装置２００の協働によって構成される場合、それぞれのサーバ装置２００のプロセッサ２０２が、通信モジュール２０８を介して処理に関する情報をやりとりする。
【００３３】
（１−２．機能構成）
図４は、本開示の第１の実施形態に係る情報処理システムの概略的な機能構成を示すブロック図である。図４を参照すると、本実施形態では、スケジュール取得機能（Ｆ１０１）、行動履歴取得機能（Ｆ１０３）、過去スケジュール補正機能（Ｆ１０５）、過去スケジュール出力機能（Ｆ１０７）、行動履歴補正機能（Ｆ１０９）、および行動履歴出力機能（Ｆ１１１）が実現される。
【００３４】
これらの機能Ｆ１０１〜Ｆ１１１は、例えばすべてがクライアント装置１００のプロセッサ１０２、またはサーバ装置２００のプロセッサ２０２によって実現されてもよい。また、機能Ｆ１０１〜Ｆ１１１は、その一部が、クライアント装置１００のプロセッサ１０２によって実現され、残りがサーバ装置２００のプロセッサ２０２によって実現されてもよい。この場合、プロセッサ１０２とプロセッサ２０２は、ネットワーク通信を介して協働する。サーバ２０が複数のサーバ装置２００によって構成される場合、機能Ｆ１０１〜Ｆ１１１のうちの少なくとも一部は、複数のサーバ装置２００に分散して実現されうる。この場合、１つの機能が複数のサーバ装置２００に分散して実現されてもよいし、１つのサーバ装置２００が複数の機能を実現してもよい。
【００３５】
スケジュール取得機能（Ｆ１０１）は、ユーザによって登録されたスケジュールを取得する。例えば、ユーザは、クライアント装置１００において提供されるカレンダーアプリケーションを利用して登録されたスケジュールを取得する。カレンダーアプリケーションは、例えばクライアント装置１００のプロセッサ１０２において実行されてもよいし、サーバ装置２００のプロセッサ２０２において実行されて、Ｗｅｂアプリケーションのようなものとしてクライアント装置１００からアクセスされてもよい。スケジュールは、例えば、「２０１３年６月５日（水）１１：００〜１２：００」というような時間の情報と、「定例会議＠本社」といったような内容の情報とによって定義されるイベント情報を含みうる。イベント情報は、さらに、イベント参加者を指定する情報などを含んでもよい。
【００３６】
ここで、イベント情報は、一般的にはイベントが実行される前に登録される。まだ実行時間が到来していないイベント情報を含むスケジュールを、以下の説明では「未来スケジュール」と称する。一方、既に実行時間が到来したイベント情報を含むスケジュールを、以下の説明では「過去スケジュール」と称する。スケジュール取得機能（Ｆ１０１）では、未来スケジュールおよび過去スケジュールの両方が取得されうる。
【００３７】
より具体的には、登録されているスケジュールの中から過去スケジュールが選択的に取得されてもよいし、未来スケジュールと過去スケジュールとの両方が取得され、イベント情報の実行時間が到来した場合に未来スケジュールが過去スケジュールに変更されてもよい。未来スケジュール、過去スケジュールともに、一旦取得されたスケジュールが、例えば取得元のカレンダーアプリケーション上で更新されたような場合には、それにあわせてスケジュール取得機能（Ｆ１０１）がスケジュールを更新する。
【００３８】
行動履歴取得機能（Ｆ１０３）は、例えばクライアント装置１００のセンサモジュール１２０によって取得された情報に基づいて認識される、クライアント装置１００のユーザの行動履歴を取得する。行動履歴は、例えばクライアント装置１００のプロセッサ１０２、またはサーバ装置２００のプロセッサ２０２において実現される行動認識機能による認識結果から取得されうる。あるいは、行動履歴は、センサモジュール１２０によって取得された情報をシステム１０の外部の行動認識サーバに送信し、行動認識サーバが受信した情報に基づいて行動認識処理を実行した結果から取得されてもよい。
【００３９】
ここで、ユーザの行動履歴は、例えばクライアント装置１００の筐体に作用する加速度などに基づいて、止まっているか、歩いているか、電車による移動か、車による移動か、といったようなユーザの動きを認識した結果を含んでもよい。また、行動履歴は、ユーザの動きを認識した結果と、ＧＰＳセンサなどによって取得されたユーザの位置情報とを組み合わせて、ユーザが仕事をしているか、自宅にいるか、買い物をしているか、といったようなより高度な行動を認識した結果を含んでもよい。なお、こうした行動認識の処理については、例えば特開２０１０−１９８５９５号公報、および特開２０１１−８１４３１号公報などで既に知られているため、ここでは詳細な説明を省略する。
【００４０】
過去スケジュール補正機能（Ｆ１０５）は、行動履歴取得機能（Ｆ１０３）が取得したユーザの行動履歴に基づいて、スケジュール取得機能（Ｆ１０１）が取得したスケジュールのうちの過去スケジュールを補正する。図５に、過去スケジュール補正機能（Ｆ１０５）の詳細を示す。過去スケジュール補正機能（Ｆ１０５）は、例えば、コンフリクト解消機能（Ｆ１０５１）、実行判定機能（Ｆ１０５３）、付随行動補完機能（Ｆ１０５５）、および表記ゆれ解消機能（Ｆ１０５７）を含む。以下、これらの機能についてさらに説明する。
【００４１】
コンフリクト解消機能（Ｆ１０５１）は、過去スケジュールに含まれるイベント情報が互いに競合している場合に、これらのイベント情報のうちのどのイベント情報が実際に実行されたイベントに対応するかをユーザの行動履歴に基づいて判定し、実際に実行されたイベント以外のイベント情報を削除または無効化することによって競合を解消しうる。なお、どちらのイベント情報に対応するイベントも実行されなかったと判定されることもありうる。また、コンフリクト解消機能（Ｆ１０５１）では、過去スケジュールにおいて互いに競合している複数のイベント情報が、実際には同じイベントを意味していることを判定し、これらのイベント情報を統合することによって競合を解消してもよい。同じイベントを意味するイベント情報の識別には、例えば後述する表記ゆれ解消機能（Ｆ１０５７）の処理結果が利用されうる。
【００４２】
例えばカレンダーアプリケーションでは、未来スケジュールにおいて、定期的に繰り返されるイベントＡ（例えば週ごとや月ごとのイベント）のイベント情報と、１回だけのイベントＢのイベント情報とが競合して登録されることがありうる。このような場合、実際にはイベントＢが実行されたとしても、ユーザが実行されないイベントＡのイベント情報を事前に削除することは少ない。これは、例えばユーザ自身にはイベントＡとイベントＢとの関係が暗黙のうちに認識されている（その週／月はイベントＡがキャンセルされたのでイベントＢを設定した、イベントＡは重要度が高くないのでその週／月についてはキャンセルしてイベントＢを設定した、など）ために、イベントＡのイベント情報を削除しなくても混乱を生じないためでありうる。また、カレンダーアプリケーションでは、定期的に繰り返されるイベントについて一括してイベント情報が設定されている場合が多く、そのうちの１回だけを削除するアプリケーションの操作は多くの場合煩雑である。
【００４３】
また、複数のユーザがカレンダーアプリケーションを利用してスケジュールを共有している場合、未来スケジュールにおいて、競合のためにユーザが参加不可能なイベントのイベント情報が他のユーザによって登録されたり、同じイベントを意味するイベント情報が複数のユーザによって重複して登録されたりすることがありうる。このような場合も、ユーザが実行されないイベントのイベント情報や重複しているイベント情報を事前に削除することは少ない。これは、例えばユーザ自身には自ら登録したイベント情報と他のユーザによって登録されたイベント情報との関係が暗黙のうちに認識されている（他のユーザによって登録されたイベント情報は、自ら登録したイベント情報と競合する場合には無視してよい、など）ために、実行されなかったイベントのイベント情報を削除しなくても混乱を生じないためでありうる。また、他のユーザによって登録されるイベント情報は、複数のイベント参加者を指定して登録されている場合が多く、参加者の中から１人だけを削除するアプリケーションの操作は多くの場合煩雑である。
【００４４】
その上、イベント情報の実行時間が到来し、未来スケジュールが過去スケジュールになった後は、ユーザがスケジュールにおけるイベント情報の競合を解消するためにスケジュールに手を加えることはほぼないといってよい。スケジュールは、本来的には、未来の予定を把握するためのものだからである。例えばカレンダーアプリケーションでも、現在時刻、または前日よりも前のスケジュールは、意図的に表示範囲を変更しないと表示されないことが多い。
【００４５】
上記のような理由によって過去スケジュールに残存することになったイベント情報の重複を、コンフリクト解消機能（Ｆ１０５１）が解消する。これによって、過去スケジュールを、ユーザによって実行されたイベントの履歴に近い情報に補正することができる。なお、このようにして補正された過去スケジュールがどのように有用であるかについては後述する。
【００４６】
実行判定機能（Ｆ１０５３）は、過去スケジュールに含まれるイベント情報が実際に実行されたイベントに対応するか否かを、ユーザの行動履歴に基づいて判定する。コンフリクト解消機能（Ｆ１０５１）との相違として、実行判定機能（Ｆ１０５３）では、イベント情報が競合しているか否かにかかわらず、各イベント情報に対応するイベントが実行されたか否かを判定する。例えば、上記の例における定期的に繰り返されるイベントの場合、ユーザがある週／月のイベントをキャンセルしたとしても、毎回のイベントが一括して登録されていることもあり、ユーザがキャンセルした回のイベント情報を削除することは少ない。また、スケジュールが共有される場合に他のユーザによって登録されたイベント情報も、複数の参加者が登録されていたり、ユーザがそもそもイベント情報の登録に気づかなかったりするために、ユーザが参加しなかったイベントのイベント情報を削除することは少ない。実行判定機能（Ｆ１０５３）は、上記のような理由によって過去スケジュールに残存することになった、実際には実行されなかったイベントに対応するイベント情報を、過去スケジュールから削除するか、または過去スケジュール上でこれを無効化する。これによって、コンフリクト解消機能（Ｆ１０５１）と同様に、過去スケジュールを、ユーザによって実行されたイベントの履歴に近い情報に補正することができる。
【００４７】
付随行動補完機能（Ｆ１０５５）は、過去スケジュールに含まれる第１のイベント情報に対応する第１のイベントに付随して発生した第２のイベント（付随行動）に対応する第２のイベント情報を、過去スケジュールに追加する。第２のイベント（付随行動）は、例えば第１のイベントの場所までの移動や、第１のイベント（例えば会議など）のための資料の準備などでありうる。第２のイベント（付随行動）は、例えば第１のイベントに伴ってユーザに暗黙のうちに認識されるものでありうるため、ユーザが明示的にイベント情報として登録することは少ない。しかし、例えば後述するように行動履歴を補正するような場合には、第２のイベント（付随行動）を示す第２のイベント情報は有用でありうる。
【００４８】
表記ゆれ解消機能（Ｆ１０５７）は、過去スケジュールに含まれるイベント情報における表記ゆれを解消する。例えば、イベント情報では、イベントの名称や開催場所が、場合によって異なる名称で登録されていることも多い。従って、例えば、「グループ定例会議」が「定例会議」と登録される場合もあれば、「グループ会議」と登録される場合もありうる。同様に、例えば、「本社１０１会議室」が「本社」と登録される場合もあれば、「１０１会議室」と登録される場合もありうる。スケジュールが共有されて、他のユーザによってもイベント情報が登録される場合、表記ゆれはさらに大きくなりうる。
【００４９】
本実施形態では、表記ゆれ解消機能（Ｆ１０５７）が表記ゆれを解消することによって、後述するような過去スケジュールの利用がしやすくなる。表記ゆれ解消機能（Ｆ１０５７）では、例えば、行動履歴によって示される位置またはイベント内容と、イベント情報によって示される位置またはイベント内容とを比較することによって、イベント情報における表記ゆれを解消する。つまり、イベント情報における表記ゆれに含まれるいくつかの表記が何を意味するかを推定するために、行動履歴が利用されうる。表記ゆれの解消には、一般的には機械学習の手法が応用されうるが、このときに、異なる表記が同じものを意味するケースをユーザの行動履歴に基づいて識別することで、学習の精度を向上させることができる。
【００５０】
再び図４を参照して、過去スケジュール出力機能（Ｆ１０７）は、過去スケジュール補正機能（Ｆ１０５）によって補正された過去スケジュールを出力する。補正された過去スケジュールは、例えばクライアント装置１００のディスプレイ１１０に表示され、ユーザが過去の行動を振り返るときに参照されてもよい。あるいは、過去スケジュールは、イベント情報として含まれる会議などのイベントに関するデータと関連付けられて、イベント参加者への議事録などの送付に利用されてもよい。この場合、過去スケジュール補正機能（Ｆ１０５）によって実際に会議に出席したユーザが特定されていれば、実際に会議に出席したユーザに限定して議事録などを送付したり、スケジュールに会議のイベント情報が登録されているが実際には出席しなかったユーザに配布資料や議事録を送付したりすることが可能である。
【００５１】
行動履歴補正機能（Ｆ１０９）は、過去スケジュール補正機能（Ｆ１０５）によって補正された過去スケジュールに基づいて、行動履歴取得機能（Ｆ１０３）が取得したユーザの行動履歴を補正する。上述の通り、行動履歴は、例えばクライアント装置１００のセンサモジュール１２０によって取得された情報に基づいて認識されるユーザの行動の履歴である。
【００５２】
例えば、行動履歴補正機能（Ｆ１０９）は、行動履歴取得機能（Ｆ１０３）が取得したユーザの行動履歴を、タイムスタンプなどを用いて、過去スケジュール補正機能（Ｆ１０５）によって補正された過去スケジュールと関連付け、行動履歴において定義された場所などの名称を過去スケジュールに基づいて補完する。また、行動履歴補正機能（Ｆ１０９）は、例えば地下にいるためにＧＰＳセンサによって位置が検出されなかった、またはユーザがクライアント装置１００を机上に放置して別の場所に行っていたなどのために行動履歴が取得できなかった時間について、過去スケジュールに基づいて行動履歴を補完してもよい。
【００５３】
行動履歴出力機能（Ｆ１１１）は、行動履歴補正機能（Ｆ１０９）によって補正された行動履歴を出力する。補正された行動履歴は、例えばクライアント装置１００のディスプレイ１１０に表示され、ユーザが過去の行動を振り返るときに参照されてもよい。あるいは、補正された行動履歴は、蓄積された上で統計的に解析され、ユーザの行動パターンなどの判定に利用されてもよい。
【００５４】
（１−３．具体的な処理の例）
（第１の例）
図６および図７は、本開示の第１の実施形態における具体的な処理の第１の例を示す図である。図６は補正前の過去スケジュールおよび行動履歴を示し、図７は補正後の過去スケジュールおよび行動履歴を示す。
【００５５】
図６を参照すると、過去スケジュールＳ１には、イベント情報Ｓ１０１〜Ｓ１０７が登録されている。また、この日の行動履歴Ａ１には、行動履歴Ａ１０１〜Ａ１１１が記録されている。ここで、スケジュールＳ１では、イベント情報Ｓ１０１（定例会議＠本社、１１：００〜１２：００）とイベント情報Ｓ１０３（緊急会議＠新宿、１０：３０〜１２：３０）とが競合している。また、行動履歴Ａ１では、行動履歴Ａ１０９（？？？＠横浜市南区、１５：００〜１６：３０）について、ユーザの位置は検出できているものの、ユーザがそこで何をしていたかは識別できていない。
【００５６】
ここで、上述した過去スケジュール補正機能（Ｆ１０５）によって過去スケジュールＳ１が補正されるとともに、行動履歴補正機能（Ｆ１０９）によって行動履歴Ａ１が補正された。その結果を図７に示す。
【００５７】
図７を参照すると、過去スケジュール補正機能（Ｆ１０５）に含まれるコンフリクト解消機能（Ｆ１０５１）によってイベント情報Ｓ１０１，Ｓ１０３の競合が解消され、イベント情報Ｓ１０３のイベント（緊急会議）が実行されたことが判定されている。ここで、コンフリクト解消機能（Ｓ１０５１）は、例えば、行動履歴Ａ１０１によって示される、イベント情報Ｓ１０１，Ｓ１０３に対応する時間（１０：３０〜１２：３０）のユーザ位置と、それぞれのイベント情報によって示される位置とを比較する。ここで、行動履歴Ａ１０１によって示されるユーザ位置は「新宿支店」である。また、イベント情報Ｓ１０１によって示される位置は「本社」であり、イベント情報Ｓ１０３によって示される位置は「新宿」である。ここで、表記ゆれ解消機能（Ｆ１０５７）によって、イベント情報Ｓ１０３の「新宿」が「新宿支店」を指すことが認識されている。従って、イベント情報Ｓ１０３によって示される位置が、行動履歴Ａ１によって示されるユーザ位置に整合することになる。これに基づいて、コンフリクト解消機能（Ｆ１０５１）は、イベント情報Ｓ１０３が実際に実行されたイベントに対応することを判定しうる。実行されなかったイベント（定例会議）に対応するイベント情報Ｓ１０１は、過去スケジュールＳ１から削除されてもよいし、図示された例のように無効化した上で過去スケジュールＳ１に残されてもよい。
【００５８】
また、さらに図７を参照すると、過去スケジュール補正機能（Ｆ１０５）に含まれる実行判定機能（Ｓ１０５３）によって、イベント情報Ｓ１０５に対応するイベント（ランチセミナー）が実行されなかったことが判定されている。ここで、実行判定機能（Ｆ１０５３）は、例えば、行動履歴Ａ１０３として、イベント情報Ｓ１０５に対応する時間（１２：３０〜１３：１５）に、ユーザが新宿から品川まで移動していたことが記録されていることに基づき、イベント情報Ｓ１０５に対応するイベントが実行されなかったことを判定しうる。実行されなかったイベント（ランチセミナー）のイベント情報Ｓ１０５は、上述したイベント情報Ｓ１０１と同様に、スケジュールＳ１から削除されてもよいし、図示された例のように無効化した上で残されてもよい。
【００５９】
さらに図７を参照すると、過去スケジュール補正機能（Ｆ１０５）に含まれる付随行動補完機能（Ｆ１０５５）によって、イベント情報Ｓ１０７（顧客訪問＠横浜市）の前にイベント情報Ｓ１０９（品川から横浜への移動）が補完されている。ここで、付随行動補完機能（Ｆ１０５５）は、例えば、行動履歴Ａ１０７として、イベント情報Ｓ１０７に対応する時間（１５：００〜）の前に、ユーザが品川から横浜まで移動していたことが記録されていることと、他の日の行動履歴（図示されていない）から、ユーザが通常仕事をしている場所が品川であると推定されることに基づき、イベント情報Ｓ１０９を補完しうる。さらに、図示された例では、表記ゆれ解消機能（Ｆ１０５７）によって、イベント情報Ｓ１０７に含まれる場所の情報「横浜市」が、「横浜市南区」に修正されている。また、付加的に、行動履歴Ａ１０７の終了時刻（１６：３０）に合わせて、対応するイベント情報Ｓ１０７の終了時刻（元は１７：００）が修正されてもよい。
【００６０】
一方、図７を参照すると、行動履歴Ａ１でも、行動履歴補正機能（Ｆ１０９）によって、ユーザが何をしていたかが識別されていなかった行動履歴Ａ１０９について、対応する時間（１５：００〜）で登録された補正後のスケジュールＳ１におけるイベント情報Ｓ１０７（顧客訪問）に基づき、ユーザの行動が「顧客訪問」であったことが補完されている。
【００６１】
以上のようにして補正されたスケジュールＳ１および行動履歴Ａ１は、例えば、過去スケジュール出力機能（Ｆ１０７）および行動履歴出力機能（Ｆ１１１）によって、クライアント装置１００のディスプレイ１１０に表示されうる。このときディスプレイ１１０には、例えば図７にスケジュールＳ１および行動履歴Ａ１として示したような画像が表示されうる。このとき、スケジュールＳ１には、図示されているように、実行されたイベントに対応するイベント情報（Ｓ１０３，Ｓ１０７，Ｓ１０９）にＴ、実行されなかったイベントに対応するイベント情報（Ｓ１０１、Ｓ１０５）にＦなどの記号が表示されてもよい。
【００６２】
（第２の例）
図８および図９は、本開示の第１の実施形態における具体的な処理の第２の例を示す図である。図８は補正前の過去スケジュールおよび行動履歴を示し、図９は補正後の過去スケジュールおよび行動履歴を示す。
【００６３】
図８を参照すると、過去スケジュールＳ２には、イベント情報Ｓ２０１〜Ｓ２０７が登録されている。また、この日の行動履歴Ａ２には、行動履歴Ａ２０１〜Ａ２１１が記録されている。ここで、過去スケジュールＳ２では、イベント情報Ｓ２０１（定例会議＠本社、１１：００〜１２：００）とイベント情報Ｓ２０３（グループ会議＠１０１会議室、１１：００〜１２：００）とが競合している。
【００６４】
ここで、上述した過去スケジュール補正機能（Ｆ１０５）によってスケジュールＳ２が補正されるとともに、行動履歴補正機能（Ｆ１０９）によって行動履歴Ａ２が補正された。その結果を図９に示す。
【００６５】
図９を参照すると、過去スケジュール補正機能（Ｆ１０５）に含まれるコンフリクト解消機能（Ｆ１０５１）によってイベント情報Ｓ２０１，Ｓ２０３の競合が解消され、イベント情報Ｓ２０３がイベント情報Ｓ２０１に統合されている。ここで、コンフリクト解消機能（Ｓ１０５１）は、例えば、行動履歴Ａ２０１の場所「本社１０１会議室」が、元のイベント情報Ｓ２０１の場所「本社」、およびイベント情報Ｓ２０３の場所「１０１会議室」と同じものを意味することを、表記ゆれ解消機能（Ｆ１０５７）の処理結果を利用して判定しうる。この結果、コンフリクト解消機能（Ｆ１０５１）は、イベント情報Ｓ２０１とイベント情報Ｓ２０３とを、同じイベントを意味するイベント情報として識別することができる。
【００６６】
また、さらに図９を参照すると、表記ゆれ解消機能（Ｆ１０５７）によって、イベント情報Ｓ２０５に含まれる場所の情報「３０３会議室」が、行動履歴Ａ２０７に基づき「本社３０３会議室」に修正されている。また、イベント情報Ｓ２０７に含まれる場所の情報「ミーティングスペース」が、行動履歴Ａ２１１に基づき「本社オフィスのミーティングスペース」に修正されている。一方、行動履歴Ａ２では、行動履歴補正機能（Ｆ１０９）によって、行動履歴Ａ２１１に含まれるユーザの行動「会議」が、イベント情報Ｓ２０７から取得されるより詳細な記述である「設計書レビュー」に修正されている。
【００６７】
以上で説明した本開示の第１の実施形態では、ユーザによって登録された過去スケジュールをユーザの行動履歴に基づいて補正する。補正された過去スケジュールは、それ自体がユーザの過去の行動を示す情報として有用である。また、補正された過去スケジュールに基づいて行動履歴を補正すれば、行動履歴の欠落部分を補完したり、センサ情報に基づく行動認識によっては認識することが難しい、ユーザによって認識される行動のラベルを特定したりすることができる。
【００６８】
（２．第２の実施形態）
続いて、本開示の第２の実施形態について説明する。本実施形態は、システム構成については上記の第１の実施形態と同様であるため、詳細な説明は省略する。また、機能構成についても、一部は第１の実施形態と同様であるため、当該部分については共通の符号を付することによって重複した説明を省略する。
【００６９】
（２−１．機能構成）
図１０は、本開示の第２の実施形態に係る情報処理システムの概略的な機能構成を示すブロック図である。図１０を参照すると、本実施形態では、スケジュール取得機能（Ｆ１０１）、行動履歴取得機能（Ｆ１０３）、過去スケジュール補正機能（Ｆ１０５）、未来スケジュール補正機能（Ｆ２０３）、行動支援情報生成機能（Ｆ２０７）、および行動支援情報出力機能（Ｆ２０９）が実現される。また、本実施形態では、補正パターンＤＢ（Ｄ１０１）が作成され、適宜参照される。
【００７０】
これらの機能Ｆ１０１〜Ｆ１０５，Ｆ２０３〜Ｆ２０９は、例えばすべてがクライアント装置１００のプロセッサ１０２、またはサーバ装置２００のプロセッサ２０２によって実現されてもよい。また、機能Ｆ１０１〜Ｆ１０５，Ｆ２０３〜Ｆ２０９は、その一部が、クライアント装置１００のプロセッサ１０２によって実現され、残りがサーバ装置２００のプロセッサ２０２によって実現されてもよい。この場合、プロセッサ１０２とプロセッサ２０２は、ネットワーク通信を介して協働する。サーバ２０が複数のサーバ装置２００によって構成される場合、機能Ｆ１０１〜Ｆ１０５，Ｆ２０３〜Ｆ２０９のうちの少なくとも一部は、複数のサーバ装置２００に分散して実現されうる。この場合、１つの機能が複数のサーバ装置２００に分散して実現されてもよいし、１つのサーバ装置２００が複数の機能を実現してもよい。
【００７１】
また、上記の補正パターンＤＢ（Ｄ１０１）は、例えばクライアント装置１００のストレージ１０６に格納されてもよいし、サーバ装置２００のストレージ２０６に格納されてもよい。
【００７２】
補正パターンＤＢ（Ｄ２０１）には、行動履歴取得機能（Ｆ１０３）が取得したユーザの行動履歴に基づいて過去スケジュール補正機能（Ｆ１０５）が過去スケジュールを補正した結果に基づいて生成される補正パターンが、データとして蓄積される。図１１に、補正パターンＤＢ（Ｄ２０１）の詳細を示す。補正パターンＤＢ（Ｄ２０１）には、例えば、コンフリクト調整パターン（Ｄ２０１１）、実行／不実行パターン（Ｄ２０１３）、付随行動パターン（Ｓ２０１５）、および表記ゆれパターン（Ｄ２０１７）が含まれうる。以下、これらのデータについてさらに説明する。
【００７３】
コンフリクト調整パターン（Ｄ２０１１）には、過去スケジュール補正機能（Ｆ１０５）のコンフリクト解消機能（Ｆ１０５１）による補正結果から抽出された補正パターンの情報が記録される。例えば、上記で図６および図７を参照して説明された例では、競合していたイベント情報Ｓ１０１，Ｓ１０３のうち、イベント情報Ｓ１０３が、実行されたイベントの情報として判定された。ここで、イベント情報Ｓ１０１が定期的に繰り返されるイベント（定例会議）のイベント情報（以下、繰り返しイベント情報ともいう）であり、イベント情報Ｓ１０３が１回だけのイベント（緊急会議）のイベント情報（以下、単発イベント情報ともいう）であったとすると、コンフリクト調整パターン（Ｄ２０１１）には、「繰り返しイベント情報と単発イベント情報とが競合した場合、単発イベント情報を優先させる」という補正パターンが記録されうる。
【００７４】
この他にも、例えば、「『緊急』という文言が含まれるイベント情報を優先させる」という補正パターンや、「ユーザが通常仕事をしている場所（品川）とは異なる場所でのイベント情報を優先させる」という補正パターンなどが、上記の補正から導出されてコンフリクト調整パターン（Ｄ２０１１）に記録されてもよい。コンフリクト解消機能（Ｆ１０５１）によってスケジュール情報の競合の解消が繰り返し実行されれば、コンフリクト調整パターン（Ｄ２０１１）の精度を向上させることができる。例えば、あるときの処理には適合した補正パターンが別のときの処理には適合しなかった場合、コンフリクト調整パターン（Ｄ２０１１）に記録された補正パターンが削除されるか、別途設定される信頼度の値が引き下げられうる。
【００７５】
実行／不実行パターン（Ｄ２０１３）には、過去スケジュール補正機能（Ｆ１０５）の実行判定機能（Ｆ１０５３）による補正結果から抽出された補正パターンの情報が記録される。例えば、上記で図６および図７を参照して説明された例では、イベント情報Ｓ１０５に対応するイベントが実行されなかったことが判定された。この補正結果に基づいて、例えば、実行／不実行パターン（Ｄ２０１３）には、「午前中にユーザが通常仕事をしている場所（品川）とは異なる場所でのイベントが実行された場合には、昼休み中のイベントは実行されない」という補正パターンが記録されうる。あるいは、実行／不実行パターン（Ｄ２０１３）には、「午前中に設定された繰り返しイベント情報のイベントが実行されなかった場合には、昼休み中のイベントも実行されない」という補正パターンが記録されてもよい。
【００７６】
付随行動パターン（Ｄ２０１５）には、過去スケジュール補正機能（Ｆ１０５）の付随行動補完機能（Ｆ１０５５）による補正結果から抽出された補正パターンの情報が記録される。例えば、上記で図６および図７を参照して説明された例では、イベント情報Ｓ１０７の付随行動としてイベント情報Ｓ１０９が補完された。この補正結果に基づいて、例えば、付随行動パターン（Ｄ２０１５）には、「ユーザが通常仕事をしている場所（品川）から顧客訪問に行く場合には付随行動として移動イベントが発生する」という補正パターンが記録されうる。また、付随行動パターン（Ｄ２０１５）には、付随行動の実績が記録されてもよい。例えば、上記の例であれば、補正パターンとともに、「横浜市南区の顧客訪問に品川から行くときの移動のイベントの所要時間は１時間程度」という情報が記録されてもよい。
【００７７】
表記ゆれパターン（Ｄ２０１７）には、過去スケジュール補正機能（Ｆ１０５）の表記ゆれ解消機能（Ｆ１０５７）による補正結果から抽出された補正パターンの情報が記録される。例えば、上記で図８および図９を参照して説明された例では、イベント情報Ｓ２０１，Ｓ２０３における「本社」「１０１会議室」という表記ゆれが、「本社１０１会議室」に修正された。この結果に基づいて、例えば、表記ゆれパターン（Ｄ２０１７）には、「『本社』（会議の場合）、『１０１会議室』は、『本社１０１会議室』を意味する」という補正パターンが記録されうる。なお、表記ゆれ解消機能（Ｆ１０５７）では、異なる表記が同じものを意味するケースを識別するためにユーザの行動履歴が用いられるが、表記ゆれパターン（Ｄ２０１７）に記録される補正パターンは、必ずしも行動履歴に関連付けて記録されなくてもよい。
【００７８】
再び図１０を参照して、未来スケジュール補正機能（Ｆ２０３）は、行動履歴取得機能（Ｆ１０３）が取得したユーザの直近の行動履歴と、補正パターンＤＢ（Ｄ２０１）に記録された補正パターンとに基づいて、スケジュール取得機能（Ｆ１０１）が取得した未来スケジュールを補正する。図１２に、未来スケジュール補正機能（Ｆ２０３）の詳細を示す。未来スケジュール補正機能（Ｆ２０３）は、例えば、コンフリクト調整機能（Ｆ２０３１）、実行可能性推定機能（Ｆ２０３３）、付随行動推定機能（Ｆ２０３５）、および表記ゆれ推定機能（Ｆ２０３７）を含む。以下、これらの機能についてさらに説明する。
【００７９】
コンフリクト調整機能（Ｆ２０３１）は、未来スケジュールに含まれるイベント情報が互いに競合している場合に、コンフリクト調整パターン（Ｄ２０１１）や、ユーザの直近の行動履歴から推定されるユーザの位置などに基づいて、これらのイベント情報のうちのどのイベント情報に対応するイベントの実行可能性が最も高いかを推定する。なお、後述する実行可能性推定（Ｆ２０３３）の結果、どのイベントの実行可能性も低いと推定されることもありうる。また、コンフリクト調整機能（Ｆ２０３１）では、未来スケジュールにおいて互いに競合している複数のイベント情報が、実際には同じイベントを意味していることを推定し、これらのイベント情報を統合することによって競合を解消してもよい。同じイベントを意味するイベント情報の識別には、例えば後述する表記ゆれ推定機能（Ｆ２０３７）の処理結果が利用されうる。
【００８０】
実行可能性推定機能（Ｆ２０３３）は、未来スケジュールに含まれるイベント情報に対応するイベントの実行可能性を、実行／不実行パターン（Ｄ２０１３）に条件や内容として含まれる位置と、ユーザの行動履歴によって示される直近のユーザ位置などに基づいて推定する。スケジュールに登録されている以上、どのイベント情報に対応するイベントにも実行される可能性はあるが、実行／不実行パターン（Ｄ２０１３）によって示される過去の実績やユーザの位置などに基づいて実行可能性を推定することで、後述するように行動支援情報における通知の度合いに差をつけてもよい。
【００８１】
付随行動推定機能（Ｆ２０３５）は、未来スケジュールに含まれる第１のイベント情報に対応する第１のイベントに付随して発生すると予想される第２のイベント（付随行動）に対応する第２のイベント情報を、未来スケジュールに追加する。第２のイベント（付随行動）は、例えば第１のイベントの場所までの移動や、第１のイベント（例えば会議など）のための資料の準備などでありうる。付随行動推定機能（Ｆ２０３５）は、例えば行動履歴によって示される直近のユーザ位置と、付随行動パターン（Ｄ２０１５）に含まれる第２のイベント（付随行動）の開始位置とを比較することによって第２のイベント情報を未来スケジュールに追加するか否かを判定しうる。ここで、単に付随行動パターン（Ｄ２０１５）に従って第２のイベント情報を追加した場合、例えばイレギュラーなユーザの行動（いつもは品川を出発して横浜の顧客訪問に向かうが、今日は他の用件のために既に横浜にいる、など）によって不適切な付随行動が推定される場合がある。従って、付随行動推定機能（Ｆ２０３５）では、付随行動の推定にあたりユーザの行動履歴によって示される直近のユーザ位置も参照する。
【００８２】
表記ゆれ推定機能（Ｆ２０３７）は、未来スケジュールに含まれるイベント情報における表記ゆれを、表記ゆれパターン（Ｄ２０１７）に基づく推定によって解消する。表記ゆれが解消されることによって、ユーザに提示される未来スケジュール上の文言が統一されるだけではなく、イベント情報が補完され、より詳細なイベント内容や場所などに基づいて後述する行動支援情報を生成することができる。
【００８３】
再び図１０を参照して、未来スケジュール出力機能（Ｆ２０５）は、未来スケジュール補正機能（Ｆ２０３）によって補正された未来スケジュールを出力する。補正された過去スケジュールは、例えばクライアント装置１００のディスプレイ１１０に表示され、ユーザが行動予定を確認するときに参照されてもよい。なお、後述する行動支援情報生成機能（Ｆ２０７）が実現される場合、未来スケジュール出力機能（Ｆ２０５）は実現されなくてもよいし、両方の機能が実現されてもよい。
【００８４】
行動支援情報生成機能（Ｆ２０７）は、未来スケジュール補正機能（Ｆ２０３）によって補正された未来スケジュールと、行動履歴取得機能（Ｆ１０３）が取得したユーザの直近の行動履歴とに基づいて、ユーザに提供するための行動支援情報を生成する。図１３に、行動支援情報生成機能（Ｆ２０７）の詳細を示す。行動支援情報生成機能（Ｆ２０７）は、例えば、通知生成機能（Ｆ２０７１）、および連絡メール生成機能（Ｆ２０７３）を含む。以下、これらの機能についてさらに説明する。
【００８５】
通知生成機能（Ｆ２０７１）は、例えば、未来スケジュールとユーザの直近の行動履歴とに基づいて、スケジュールに含まれるイベント情報に沿って行動するための通知を生成する。図１４に、通知の例を示す。クライアント装置１００のディスプレイ１１０に表示される通知１００１は、ユーザに次のイベントに向けた行動をとるよう促すものでありうる。
【００８６】
連絡メッセージ作成機能（Ｆ２０７３）は、例えば、未来スケジュールとユーザの直近の行動履歴とが乖離してしまった場合に、スケジュールに含まれるイベント情報が実行不可能になったことを他のユーザに通知するための連絡メッセージを作成する。
【００８７】
再び図１０を参照して、行動支援情報出力機能（Ｆ２０９）は、行動支援情報生成機能（Ｆ２０７）によって生成された行動支援情報を出力する。行動支援情報は、例えば通知生成機能（Ｆ２０７１）によって生成される通知であり、図１４に例示したようにクライアント装置１００のディスプレイ１１０に表示されてもよい。また、通知は、例えばクライアント装置１００のスピーカ１１６から音声として出力されてもよく、その他の出力装置として設けられるバイブレータから振動として出力されてもよい。あるいは、行動支援情報は、例えば連絡メッセージ作成機能（Ｆ２０７３）によって生成される連絡メッセージであり、クライアント装置１００の通信モジュール１０８を介して他のクライアント装置などに向けて出力されてもよい。
【００８８】
（２−２．具体的な処理の例）
（第１の例）
図１５は、本開示の第２の実施形態における具体的な処理の第１の例を示す図である。図１５を参照すると、未来スケジュールＳ３には、イベント情報Ｓ３０１〜Ｓ３０７が登録されている。ここで、スケジュールＳ３では、イベント情報Ｓ３０１（定例会議＠本社、１１：００〜１２：００）とイベント情報Ｓ３０３（緊急会議＠新宿、１０：３０〜１２：３０）とが競合している。
【００８９】
この未来スケジュールＳ３を未来スケジュール補正機能（Ｆ２０３）が補正するにあたり、まず、コンフリクト調整機能（Ｆ２０３１）が、イベント情報Ｓ３０１とイベント情報Ｓ３０３との競合を調整する。ここで、例えば、補正パターンＤＢ（Ｄ２０１）のコンフリクト調整パターン（Ｄ２０１１）に、上記で図６および図７を参照して説明された例（競合していたイベント情報Ｓ１０１（定例会議），Ｓ１０３（緊急会議）のうち、イベント情報Ｓ１０３（緊急会議）が、実行されたイベントの情報として判定された）のような補正結果に基づく補正パターンが記録されていれば、コンフリクト調整機能（Ｆ２０３１）は、この補正パターンに基づいて、未来スケジュールＳ３でも、イベント情報Ｓ３０１のイベント（定例会議）ではなくイベント情報Ｓ３０３のイベント（緊急会議）が実行されると判定しうる。
【００９０】
ただし、この場合、コンフリクト調整機能（Ｆ２０３１）の判定結果は推定にすぎないため、イベント情報Ｓ３０１のイベント（定例会議）は、「実行可能性が低い」と判定されるにとどまる。従って、未来スケジュールＳ３にはイベント情報Ｓ３０１が残るが、実行可能性が低いものとして扱われ、例えば行動支援情報生成機能（Ｆ２０７）の通知生成機能（Ｆ２０７１）による通知の生成や、連絡メッセージ作成機能（Ｆ２０７３）による連絡メッセージの生成は抑制されうる。
【００９１】
上記の推定が正しければ、ユーザはイベント情報Ｓ３０３の緊急会議に出席しているために、イベント情報Ｓ３０１の定例会議に関する通知は必要ではなく、またイベント情報Ｓ３０１の定例会議に参加する他のユーザも、ユーザが定例会議を欠席することを認識している可能性が高い。つまり、未来スケジュール補正機能（Ｆ２０３）によって補正された未来スケジュールＳ３に基づいて行動支援情報生成機能（Ｆ２０７）が行動支援情報を生成することによって、ユーザ自身、または他のユーザにとって不要な通知や連絡メッセージが生成されることが抑制される。
【００９２】
また、未来スケジュールＳ３の補正では、実行可能性推定機能（Ｆ２０３３）が、各イベント情報について実行可能性を推定する。ここで、例えば、補正パターンＤＢ（Ｄ２０１）の実行／不実行パターン（Ｄ２０１３）に、上記で図６および図７を参照して説明された例（イベント情報Ｓ１０５に対応するイベント（ランチセミナー）が実行されなかったことが判定された）のような補正結果に基づく補正パターンが記録されていれば、実行可能性推定機能（Ｆ２０３３）は、この補正パターンに基づいて、未来スケジュールＳ３でも、イベント情報Ｓ３０５のイベント（ランチセミナー）は実行される可能性が低いと判定しうる。
【００９３】
ここでも、イベント情報Ｓ３０５は、上記のイベント情報Ｓ３０１と同様に、未来スケジュールＳ３に残るが、実行可能性が低いものとして扱われ、例えば行動支援情報生成機能（Ｆ２０７）の通知生成機能（Ｆ２０７１）による通知の生成や、連絡メッセージ作成機能（Ｆ２０７３）による連絡メッセージの生成は抑制されうる。
【００９４】
さらに、未来スケジュールＳ３の補正では、付随行動推定機能（Ｆ２０３５）が、各イベント情報に対する付随行動を推定する。ここで、例えば、補正パターンＤＢ（Ｄ２０１）の付随行動パターン（Ｄ２０１５）に、上記で図６および図７を参照して説明された例（イベント情報Ｓ１０７（顧客訪問）の付随行動としてイベント情報Ｓ１０９（品川から横浜への移動）が補完された）のような補正結果に基づく補正パターンが記録されており、かつ、ユーザの直近の行動履歴によってユーザが想定される付随行動に適合した位置（上記の例であれば品川）にいる場合、付随行動補正機能（Ｆ２０３５）は、未来スケジュールＳ３において、イベント情報Ｓ３０７の前にイベント情報Ｓ３０９（品川から横浜への移動）を補完する。
【００９５】
図示された例では、上記のような付随行動推定機能（Ｆ２０３５）の処理によって、ユーザが未来スケジュールＳ３に登録したイベント情報Ｓ３０７（顧客訪問）のイベントを実行するためには、その前にイベント情報Ｓ３０９（品川から横浜への移動）のイベントを実行する必要があることが明らかになる。そこで、例えば行動支援情報生成機能（Ｆ２０７）の通知生成機能（Ｆ２０７１）が、例えば図１４に示したような移動を促す通知を生成し、行動支援情報出力機能（Ｆ２０９）によって例えばクライアント装置１００のディスプレイ１１０などを介して出力することで、ユーザが適切な行動をとることを支援することができる。
【００９６】
また、未来スケジュールＳ３の補正では、表記ゆれ推定機能（Ｆ２０３７）が、補正パターンＤＢ（Ｄ２０１）の表記ゆれパターン（Ｄ２０１７）に基づいて、各イベント情報における表記ゆれを解消する。図示された例では、イベント情報Ｓ３０３において場所「新宿」が「新宿支店」に修正され、イベント情報Ｓ３０７において場所「横浜市」が「横浜市南区」に修正されている。このような修正によって、例えばイベント情報Ｓ３０７のイベントが実行される場所、つまりユーザの行き先を正確に推定することができ、上記のように付随行動推定機能（Ｆ２０３５）が移動のためのイベント情報Ｓ３０９を補完することが可能になる。
【００９７】
（第２の例）
図１６は、本開示の第２の実施形態における具体的な処理の第２の例を示す図である。図１６を参照すると、未来スケジュールＳ４には、イベント情報Ｓ４０１〜Ｓ４０７が登録されている。ここで、未来スケジュールＳ４では、イベント情報Ｓ４０１（定例会議＠本社、１１：００〜１２：００）とイベント情報Ｓ４０３（グループ会議＠１０１会議室、１１：００〜１２：００）とが競合している。
【００９８】
この未来スケジュールＳ４を未来スケジュール補正機能（Ｆ２０３）が補正するにあたり、まず、コンフリクト調整機能（Ｆ２０３１）が、イベント情報Ｓ４０１とイベント情報Ｓ４０３との競合を調整する。ここで、先に、表記ゆれ推定機能（Ｆ２０３７）が、イベント情報Ｓ４０１の場所「本社」と、イベント情報Ｓ４０３の場所「１０１会議室」とが、いずれも「本社１０１会議室」を意味することを推定していれば、同じ会議室で同じ時間に開催される会議であることから、コンフリクト調整機能（Ｆ２０３１）がイベント情報Ｓ４０３をイベント情報Ｓ４０１に統合することによって、これらのイベント情報の競合を解消することができる。
【００９９】
あるいは、表記ゆれ推定機能（Ｆ２０３７）が、イベント情報Ｓ４０１の内容「定例会議」と、イベント情報Ｓ４０３の内容「グループ会議」とが、いずれも「グループ定例会義」を意味することを推定していれば、例えば時間が多少ずれていたとしても（同じイベントのイベント情報が異なるユーザによってそれぞれ登録された場合、開始時刻は大体一致するが終了時刻は相違することも多い）、コンフリクト調整機能（Ｆ２０３１）がイベント情報Ｓ４０３をイベント情報Ｓ４０１に統合し、競合を解消することができる。
【０１００】
また、未来スケジュールＳ４の補正では、さらに、表記ゆれ推定機能（Ｆ２０３７）が、補正パターンＤＢ（Ｄ２０１）の表記ゆれパターン（Ｄ２０１７）に基づいて、各イベント情報における表記ゆれを解消している。上述したイベント情報Ｓ４０１，Ｓ４０３における表記ゆれの解消に加え、イベント情報Ｓ４０５で場所「３０３会議室」が「本社３０３会議室」に修正され、イベント情報Ｓ４０７で場所「ミーティングスペース」が「本社オフィスのミーティングスペース」に修正されている。このような修正によって、イベント情報Ｓ４０５，Ｓ４０７のイベントが実行される場所がいずれも「本社」であり、例えば付随行動推定機能（Ｆ２０３５）がイベントの開催場所への移動のための新たなイベント情報を補完する必要がないことが明らかになる。
【０１０１】
（３．補足）
本開示の実施形態は、例えば、上記で説明したような情報処理装置（クライアント装置またはサーバ装置）、システム、情報処理装置またはシステムで実行される情報処理方法、情報処理装置を機能させるためのプログラム、およびプログラムが記録された一時的でない有形の媒体を含みうる。
【０１０２】
以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示の技術的範囲はかかる例に限定されない。本開示の技術分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
【０１０３】
なお、以下のような構成も本開示の技術的範囲に属する。
（１）ユーザによって登録されたスケジュールを取得するスケジュール取得部と、
前記ユーザの行動履歴を取得する行動履歴取得部と、
前記行動履歴に基づいて、前記スケジュールのうちの過去スケジュールを補正する過去スケジュール補正部と
を備える情報処理装置。
（２）前記過去スケジュール補正部は、前記行動履歴に基づいて、前記過去スケジュールに含まれるイベント情報が実際に実行されたイベントに対応するか否かを判定し、実際には実行されなかったイベントに対応する前記イベント情報を前記過去スケジュールから削除または無効化する、前記（１）に記載の情報処理装置。
（３）前記過去スケジュール補正部は、前記イベント情報が互いに競合している場合に、該競合しているイベント情報のうちのどのイベント情報が実際に実行されたイベントに対応するかを判定する、前記（２）に記載の情報処理装置。
（４）前記過去スケジュール補正部は、前記行動履歴によって示されるユーザ位置と、前記イベント情報によって示される位置とを比較することによって、前記イベント情報が実際に実行されたイベントに対応するか否かを判定する、前記（２）または（３）に記載の情報処理装置。
（５）前記過去スケジュール補正部は、前記過去スケジュールに含まれる第１のイベント情報に対応する第１のイベントに付随して発生した第２のイベントに対応する第２のイベント情報を前記過去スケジュールに追加する、前記（１）〜（４）のいずれか１項に記載の情報処理装置。
（６）前記過去スケジュール補正部は、前記過去スケジュールに含まれるイベント情報における表記ゆれを解消する、前記（１）〜（５）のいずれか１項に記載の情報処理装置。
（７）前記過去スケジュール補正部は、前記行動履歴によって示される位置またはイベント内容と、前記イベント情報によって示される位置またはイベント内容とを比較することによって、前記イベント情報における表記ゆれを解消する、前記（６）に記載の情報処理装置。
（８）前記補正された過去スケジュールを出力する過去スケジュール出力部をさらに備える、前記（１）〜（７）のいずれか１項に記載の情報処理装置。
（９）少なくとも前記過去スケジュールの補正パターンに基づいて、前記スケジュールのうちの未来スケジュールを補正する未来スケジュール補正部をさらに備える、前記（１）に記載の情報処理装置。
（１０）前記未来スケジュール補正部は、前記未来スケジュールに含まれるイベント情報に対応するイベントの実行可能性を推定する、前記（９）に記載の情報処理装置。
（１１）前記補正された未来スケジュールと前記行動履歴とに基づいて、前記ユーザのための行動支援情報を生成する行動支援情報生成部をさらに備え、
前記行動支援情報生成部は、前記実行可能性が低いイベントに対応するイベント情報については前記行動支援情報の生成を抑制する、前記（１０）に記載の情報処理装置。
（１２）前記未来スケジュール補正部は、前記イベント情報が互いに競合している場合に、該競合しているイベント情報のうちのどのイベント情報に対応するイベントの前記実行可能性が最も高いかを推定する、前記（１０）または（１１）に記載の情報処理装置。
（１３）前記未来スケジュール補正部は、前記行動履歴にさらに基づいて前記未来スケジュールを補正し、前記行動履歴によって示される直近のユーザ位置と、前記補正パターンに条件として含まれる位置とを比較することによって、前記実行可能性を推定する、前記（１０）〜（１２）のいずれか１項に記載の情報処理装置。
（１４）前記未来スケジュール補正部は、前記未来スケジュールに含まれる第１のイベント情報に対応する第１のイベントに付随して発生すると予想される第２のイベントに対応する第２のイベント情報を前記未来スケジュールに追加する、前記（９）〜（１３）のいずれか１項に記載の情報処理装置。
（１５）前記第２のイベントは、前記第１のイベントの場所までの移動イベントであり、
前記未来スケジュール補正部は、前記行動履歴にさらに基づいて前記未来スケジュールを補正し、前記行動履歴によって示される直近のユーザ位置と、前記補正パターンに含まれる前記移動イベントの開始位置とを比較することによって、前記第２のイベント情報を前記未来スケジュールに追加するか否かを判定する、前記（１４）に記載の情報処理装置。
（１６）前記未来スケジュール補正部は、前記未来スケジュールに含まれるイベント情報における表記ゆれを解消する、前記（９）〜（１５）のいずれか１項に記載の情報処理装置。
（１７）前記未来スケジュール補正部は、前記行動履歴にさらに基づいて前記未来スケジュールを補正する、前記（９）〜（１６）のいずれか１項に記載の情報処理装置。
（１８）前記補正された未来スケジュールを出力する未来スケジュール出力部をさらに備える、前記（９）〜（１７）のいずれか１項に記載の情報処理装置。
（１９）ユーザによって登録されたスケジュールを取得することと、
前記ユーザの行動履歴を取得することと、
プロセッサが、前記行動履歴に基づいて、前記スケジュールのうちの過去スケジュールを補正することと
を含む情報処理方法。
（２０）ユーザによって登録されたスケジュールを取得する機能と、
前記ユーザの行動履歴を取得する機能と、
前記行動履歴に基づいて、前記スケジュールのうちの過去スケジュールを補正する機能と
をコンピュータに実現させるためのプログラム。
【符号の説明】
【０１０４】
１０    システム
１００    クライアント装置
１０２    プロセッサ
２０    サーバ
２００    サーバ装置
２０２    プロセッサ
Ｆ１０１    スケジュール取得機能
Ｆ１０３    行動履歴取得機能
Ｆ１０５    過去スケジュール補正機能
Ｆ１０７    過去スケジュール出力機能
Ｆ１０９    行動履歴補正機能
Ｆ１１１    行動履歴出力機能
Ｄ２０１    補正パターンＤＢ
Ｆ２０３    未来スケジュール補正機能
Ｆ２０５    未来スケジュール出力機能
Ｆ２０７    行動支援情報生成機能
Ｆ２０９    行動支援情報出力機能
【図１】
2015011431.tif 000003
【図２】
2015011431.tif 000004
【図３】
2015011431.tif 000005
【図４】
2015011431.tif 000006
【図５】
2015011431.tif 000007
【図６】
2015011431.tif 000008
【図７】
2015011431.tif 000009
【図８】
2015011431.tif 000010
【図９】
2015011431.tif 000011
【図１０】
2015011431.tif 000012
【図１１】
2015011431.tif 000013
【図１２】
2015011431.tif 000014
【図１３】
2015011431.tif 000015
【図１４】
2015011431.tif 000016
【図１５】
2015011431.tif 000017
【図１６】
2015011431.tif 000018