(57)【要約】【課題】コンテンツの通知漏れを抑制すること。【解決手段】通知装置１０１は、スケジューラに登録されたイベントに関する情報を取得する。通知装置１０１は、取得したイベントに関する情報に基づき、特定の条件を満たすイベントが登録されていない期間を特定する。通知装置１０１は、特定した期間の開始時刻に応じた時刻が到来したことを検知すると、コンテンツを特定する情報を、コンテンツの提供期間に対応付けて記憶する記憶部１１０を参照して、特定した期間に提供されるコンテンツを特定する情報を取得する。通知装置１０１は、取得したコンテンツを特定する情報を通知する。【選択図】図１
2019200572.tif 000002
【特許請求の範囲】
【請求項１】
スケジューラに登録されたイベントに関する情報を取得し、
取得した前記イベントに関する情報に基づき、特定の条件を満たすイベントが登録されていない期間を特定し、
特定した前記期間の開始時刻に応じた時刻が到来したことを検知すると、コンテンツを特定する情報を、前記コンテンツの提供期間に対応付けて記憶する記憶部を参照して、特定した前記期間に提供されるコンテンツを特定する情報を取得し、
取得した前記コンテンツを特定する情報を通知する、
処理をコンピュータが実行することを特徴とする通知方法。
【請求項２】
前記特定の条件を満たすイベントは、前記イベントに関する情報に含まれるイベントである、ことを特徴とする請求項１に記載の通知方法。
【請求項３】
ユーザの興味を特定する情報を記憶する第２の記憶部を参照して、取得した前記コンテンツを特定する情報に基づいて、前記期間に提供されるコンテンツのうち、前記ユーザの興味に対応するコンテンツを特定する、処理を前記コンピュータが実行し、
前記通知する処理は、
特定した前記コンテンツを特定する情報を通知する、ことを特徴とする請求項１または２に記載の通知方法。
【請求項４】
前記第２の記憶部は、ユーザの興味を特定する情報を優先度を含めて記憶しており、
前記ユーザの興味に対応するコンテンツが複数特定された場合、前記第２の記憶部を参照して、特定した各コンテンツの優先度を判定する、処理を前記コンピュータが実行し、
前記通知する処理は、
判定した前記各コンテンツの優先度に基づいて、前記複数のコンテンツのいずれかのコンテンツを特定する情報を通知する、ことを特徴とする請求項３に記載の通知方法。
【請求項５】
スケジューラに登録されたイベントに関する情報を取得し、
取得した前記イベントに関する情報に基づき、特定の条件を満たすイベントが登録されていない期間を特定し、
特定した前記期間の開始時刻に応じた時刻が到来したことを検知すると、コンテンツを特定する情報を、前記コンテンツの提供期間に対応付けて記憶する記憶部を参照して、特定した前記期間に提供されるコンテンツを特定する情報を取得し、
取得した前記コンテンツを特定する情報を通知する、
処理をコンピュータに実行させることを特徴とする通知プログラム。
【請求項６】
スケジューラに登録されたイベントに関する情報を取得し、
取得した前記イベントに関する情報に基づき、特定の条件を満たすイベントが登録されていない期間を特定し、
特定した前記期間の開始時刻に応じた時刻が到来したことを検知すると、コンテンツを特定する情報を、前記コンテンツの提供期間に対応付けて記憶する記憶部を参照して、特定した前記期間に提供されるコンテンツを特定する情報を取得し、
取得した前記コンテンツを特定する情報を通知する、
制御部を有することを特徴とする通知装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通知方法、通知プログラムおよび通知装置に関する。
【背景技術】
【０００２】
従来、予定されたスケジュールに対して、そのスケジュールの内容（例えば、沖縄旅行）に関連する情報をレコメンドする機能がある。また、ネット通販サイトで購入した商品の購入履歴から、個人に対してレコメンドメールを送るシステムがある。
【０００３】
先行技術としては、予定記憶手段に登録されている予定がキャンセルされた場合に、当該キャンセルされた予定により発生する空き時間を特定し、イベント記憶手段に記憶されている予定の中から空き時間で実行可能な予定を絞り込み、絞り込んだ予定を、空き時間に応じた新たな予定候補として利用者に通知するものがある。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１６−１９７３３７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来技術では、ユーザにとって有効なコンテンツの通知漏れが生じてしまう場合がある。例えば、スケジュールが登録または削除されたことをトリガとして、レコメンドするコンテンツを検索する場合、スケジュールが登録または削除された後に更新されたコンテンツについてはレコメンドできない。
【０００６】
一つの側面では、本発明は、コンテンツの通知漏れを抑制することを目的とする。
【課題を解決するための手段】
【０００７】
１つの実施態様では、スケジューラに登録されたイベントに関する情報を取得し、取得した前記イベントに関する情報に基づき、特定の条件を満たすイベントが登録されていない期間を特定し、特定した前記期間の開始時刻に応じた時刻が到来したことを検知すると、コンテンツを特定する情報を、前記コンテンツの提供期間に対応付けて記憶する記憶部を参照して、特定した前記期間に提供されるコンテンツを特定する情報を取得し、取得した前記コンテンツを特定する情報を通知する、通知方法が提供される。
【発明の効果】
【０００８】
本発明の一側面によれば、コンテンツの通知漏れを抑制することができる。
【図面の簡単な説明】
【０００９】
【図１】図１は、実施の形態にかかる通知方法の一実施例を示す説明図である。
【図２】図２は、通知システム２００のシステム構成例を示す説明図である。
【図３】図３は、通知装置１０１のハードウェア構成例を示すブロック図である。
【図４】図４は、ユーザ情報ＤＢ２２０の記憶内容の一例を示す説明図である。
【図５】図５は、スケジュール情報ＤＢ２３０の記憶内容の一例を示す説明図である。
【図６】図６は、コンテンツ情報ＤＢ２４０の記憶内容の一例を示す説明図である。
【図７】図７は、通知装置１０１の機能的構成例を示すブロック図である。
【図８】図８は、レコメンド候補テーブル８００の記憶内容の一例を示す説明図である。
【図９】図９は、レコメンド画面９００の画面例を示す説明図である。
【図１０】図１０は、通知装置１０１の第１の通知処理手順の一例を示すフローチャート（その１）である。
【図１１】図１１は、通知装置１０１の第１の通知処理手順の一例を示すフローチャート（その２）である。
【図１２】図１２は、通知装置１０１の空き時間特定処理手順の一例を示すフローチャートである。
【図１３】図１３は、空き時間テーブル１３００の記憶内容の一例を示す説明図である。
【図１４】図１４は、通知装置１０１の第２の通知処理手順の一例を示すフローチャートである。
【発明を実施するための形態】
【００１０】
以下に図面を参照して、本発明にかかる通知方法、通知プログラムおよび通知装置の実施の形態を詳細に説明する。
【００１１】
（実施の形態）
図１は、実施の形態にかかる通知方法の一実施例を示す説明図である。図１において、通知装置１０１は、コンテンツを特定する情報を通知するコンピュータである。コンテンツは、文書、音声、画像、映像（動画）などの情報である。例えば、コンテンツは、タイムテーブルが決まっているものについての情報である。
【００１２】
より具体的には、例えば、コンテンツは、テレビやラジオの番組、映画などの情報である。また、コンテンツは、スポーツの試合の日程情報や、コンサートやライブの開催情報などであってもよい。コンテンツを特定する情報は、コンテンツのタイトル、概要などを示す情報である。
【００１３】
ここで、予定されたスケジュールに対して、そのスケジュールの内容に関連する情報をレコメンドする場合、予定された時間に対して、関連する情報のレコメンドが行われる。この場合、スケジュールがない空き時間については、ユーザに対するレコメンドは行われない。レコメンドとは、ユーザに対して推薦することである。
【００１４】
また、ユーザによって入力された情報（スケジュールの内容）をもとに、ＤＢ（Ｄａｔａｂａｓｅ）を検索してレコメンドする情報を決めるため、入力情報がなければレコメンドすることができない。すなわち、スケジュールがない空き時間については、提供可能なコンテンツがあったとしてもレコメンドすることができず、ユーザにとって有効なコンテンツの通知漏れが生じてしまう場合がある。
【００１５】
また、スケジュールが登録または削除されたことをトリガとして、ＤＢを参照してレコメンドするコンテンツを検索することも考えられる。しかし、スケジュールが登録または削除された後にＤＢに登録されたコンテンツについてはレコメンドすることができず、依然としてユーザにとって有効なコンテンツの通知漏れが生じてしまう場合がある。
【００１６】
そこで、本実施の形態では、コンテンツの通知漏れを抑制する通知方法について説明する。以下、通知装置１０１の処理例について説明する。
【００１７】
（１）通知装置１０１は、スケジューラに登録されたイベントに関する情報を取得する。スケジューラとは、スケジュールを管理するアプリケーションである。スケジューラは、例えば、サーバにアクセスして利用するウェブアプリケーションであり、端末１０２において利用される。端末１０２は、ユーザが使用するコンピュータである。
【００１８】
イベントに関する情報は、予定されたスケジュール（行事、催し物など）についての情報であり、例えば、スケジュールの内容、日付、開始時刻、終了時刻、場所などを示す。スケジューラに登録されたイベントに関する情報は、ユーザのスケジュールを管理する装置（例えば、後述の図２に示すスケジュール管理装置２０１）に記憶されてもよく、また、端末１０２に記憶されてもよい。
【００１９】
具体的には、例えば、通知装置１０１は、端末１０２のユーザのスケジュールを管理する装置から、スケジューラに登録されたイベントに関する情報を取得する。また、通知装置１０１は、端末１０２から、スケジューラに登録されたイベントに関する情報を取得することにしてもよい。
【００２０】
図１の例では、端末１０２のユーザについて、スケジューラに登録された２０１８年３月３日のイベントに関する情報ｓ１〜ｓ３が取得された場合を想定する。情報ｓ１は、９時００分から１１時００分までの時間に予定されたスケジュールの内容「ランニング」を示す。情報ｓ２は、１６時００分から２０時００分までの時間に予定されたスケジュールの内容「打ち合わせ」を示す。情報ｓ３は、２０時００分から２１時００分までの時間に予定されたスケジュールの内容「会食」を示す。
【００２１】
（２）通知装置１０１は、取得したイベントに関する情報に基づき、特定の条件を満たすイベントが登録されていない期間を特定する。特定の条件を満たすイベントは、例えば、取得したイベントに関する情報に含まれるイベントである。この場合、特定の条件を満たすイベントが登録されていない期間は、スケジュールが予定されていない空き時間といえる。
【００２２】
図１の例では、取得されたイベントに関する情報ｓ１〜ｓ３に含まれるイベントが登録されていない期間「２０１８／０３／０３  １１：００〜１６：００」が特定された場合を想定する。
【００２３】
（３）通知装置１０１は、特定した期間の開始時刻に応じた時刻が到来したことを検知すると、記憶部１１０を参照して、特定した期間に提供されるコンテンツを特定する情報を取得する。記憶部１１０は、コンテンツを特定する情報を、コンテンツの提供期間に対応付けて記憶する。
【００２４】
また、期間の開始時刻に応じた時刻は、期間の開始時刻よりも前の特定の時刻であってもよく、また、期間の開始時刻から所定の時間遡った時刻であってもよい。例えば、期間の開始時刻よりも前の特定の時刻を、期間の開始時刻が属する日の午前０時としてもよい。また、期間の開始時刻から所定の時間遡った時刻を、期間の開始時刻から１時間遡った時刻としてもよい。
【００２５】
コンテンツの提供期間は、コンテンツが提供される期間である。例えば、コンテンツがテレビやラジオの番組であれば、コンテンツの提供期間は、番組の放送時間である。コンテンツが映画であれば、コンテンツの提供期間は、映画の上映時間である。コンテンツがスポーツの試合の日程情報であれば、コンテンツの提供期間は、スポーツの試合が行われる予定の時間帯である。コンテンツがコンサートやライブの開催情報であれば、コンテンツの提供期間は、コンサートやライブが行われる予定の時間帯である。
【００２６】
図１の例では、特定された期間「２０１８／０３／０３  １１：００〜１６：００」の開始時刻に応じた時刻を、期間の開始時刻が属する日の午前０時とする。この場合、通知装置１０１は、時刻「２０１８／０３／０３  ００：００」が到来したことを検知すると、記憶部１１０を参照して、期間「２０１８／０３／０３  １１：００〜１６：００」に提供されるコンテンツを特定する情報を取得する。
【００２７】
ここでは、期間「２０１８／０３／０３  １１：００〜１６：００」に提供されるコンテンツを特定する情報として、コンテンツ情報１２０が取得された場合を想定する。コンテンツ情報１２０は、映画の情報であり、上映時間「１２：００〜１４：３０」と作品名「映画ＸＸ  ｐａｒｔ２」とを含む。
【００２８】
なお、記憶部１１０は、通知装置１０１が有していてもよく、また、通知装置１０１がアクセス可能な他のコンピュータが有していてもよい。他のコンピュータが記憶部１１０を有する場合、通知装置１０１は、他のコンピュータにアクセスすることにより、記憶部１１０の記憶内容を参照することができる。
【００２９】
（４）通知装置１０１は、取得したコンテンツを特定する情報を通知する。図１の例では、通知装置１０１は、取得したコンテンツ情報１２０を端末１０２に送信する。端末１０２は、コンテンツ情報１２０を受信すると、例えば、受信したコンテンツ情報１２０をディスプレイ１３０に表示する。
【００３０】
このように、通知装置１０１によれば、特定の条件を満たすイベントが登録されていない期間の開始時刻に応じた時刻が到来したことに応じて、当該期間に提供されるコンテンツを特定する情報を取得して通知することができる。
【００３１】
これにより、特定の条件を満たすイベントが登録されていない期間に対して有効なコンテンツをレコメンドすることができる。また、レコメンドするコンテンツを検索するタイミングが、スケジュールの登録や削除といったタイミングに限定されない。このため、スケジュールが登録または削除された後に新規登録あるいは更新されたコンテンツについてもレコメンドすることができ、ユーザにとって有効なコンテンツの通知漏れを抑制することができる。
【００３２】
図１の例では、ユーザは、日付が変わるタイミング（０時）で、当日の空き時間「１１：００〜１６：００」に鑑賞可能な映画の情報（上映時間：１２：００〜１４：３０、作品名：映画ＸＸ  ｐａｒｔ２）を知ることができる。この結果、ユーザにとって興味がある映画であれば、その時間に映画を鑑賞するという予定を立てることができ、空き時間を有効に利用することができる。
【００３３】
（通知システム２００のシステム構成例）
つぎに、図１に示した通知装置１０１と端末１０２とを含む通知システム２００のシステム構成例について説明する。
【００３４】
図２は、通知システム２００のシステム構成例を示す説明図である。図２において、通知システム２００は、通知装置１０１と、複数の端末１０２と、スケジュール管理装置２０１と、情報提供装置２０２と、を含む。通知システム２００において、通知装置１０１、複数の端末１０２、スケジュール管理装置２０１および情報提供装置２０２は、有線または無線のネットワーク２１０を介して接続される。ネットワーク２１０は、例えば、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、インターネットなどである。
【００３５】
ここで、通知装置１０１は、ユーザ情報ＤＢ２２０、スケジュール情報ＤＢ２３０およびコンテンツ情報ＤＢ２４０を有し、端末１０２に対してコンテンツを特定する情報を通知する。なお、各種ＤＢ２２０，２３０，２４０の記憶内容については、図４〜図６を用いて後述する。
【００３６】
端末１０２は、通知システム２００のユーザが使用するコンピュータである。端末１０２は、例えば、スマートフォン、ＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）、タブレット型ＰＣなどである。
【００３７】
スケジュール管理装置２０１は、通知システム２００のユーザのスケジュール情報を管理するコンピュータである。通知システム２００のユーザは、端末１０２からスケジュール管理装置２０１にアクセスしてスケジューラを利用することができる。スケジュール管理装置２０１は、例えば、ウェブサーバである。
【００３８】
情報提供装置２０２は、各種サービスのコンテンツ情報を管理するコンピュータである。コンテンツ情報は、コンテンツの情報であり、時間や場所などの情報を含む。コンテンツとしては、タイムテーブルが決まっているものであれば、いかなるものを対象としてもよい。情報提供装置２０２は、例えば、データベースサーバである。
【００３９】
なお、図２の例では、通知装置１０１、スケジュール管理装置２０１および情報提供装置２０２は、それぞれ別体に設けられることにしたが、これに限らない。例えば、通知装置１０１、スケジュール管理装置２０１および情報提供装置２０２は、１つのコンピュータシステムにより実現されることにしてもよい。
【００４０】
（通知装置１０１のハードウェア構成例）
図３は、通知装置１０１のハードウェア構成例を示すブロック図である。図３において、通知装置１０１は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）３０１と、メモリ３０２と、Ｉ／Ｆ（Ｉｎｔｅｒｆａｃｅ）３０３と、ディスクドライブ３０４と、ディスク３０５と、を有する。また、各構成部は、バス３００によってそれぞれ接続される。
【００４１】
ここで、ＣＰＵ３０１は、通知装置１０１の全体の制御を司る。ＣＰＵ３０１は、複数のコアを有していてもよい。メモリ３０２は、例えば、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）およびフラッシュＲＯＭなどを有する。具体的には、例えば、フラッシュＲＯＭがＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）のプログラムを記憶し、ＲＯＭがアプリケーションプログラムを記憶し、ＲＡＭがＣＰＵ３０１のワークエリアとして使用される。メモリ３０２に記憶されるプログラムは、ＣＰＵ３０１にロードされることで、コーディングされている処理をＣＰＵ３０１に実行させる。
【００４２】
Ｉ／Ｆ３０３は、通信回線を通じてネットワーク２１０に接続され、ネットワーク２１０を介して外部のコンピュータ（例えば、図２に示した端末１０２、スケジュール管理装置２０１、情報提供装置２０２）に接続される。そして、Ｉ／Ｆ３０３は、ネットワーク２１０と装置内部とのインターフェースを司り、外部のコンピュータからのデータの入出力を制御する。Ｉ／Ｆ３０３には、例えば、モデムやＬＡＮアダプタなどを採用することができる。
【００４３】
ディスクドライブ３０４は、ＣＰＵ３０１の制御に従ってディスク３０５に対するデータのリード／ライトを制御する。ディスク３０５は、ディスクドライブ３０４の制御で書き込まれたデータを記憶する。ディスク３０５としては、例えば、磁気ディスク、光ディスクなどが挙げられる。
【００４４】
なお、通知装置１０１は、上述した構成部のほかに、例えば、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）、入力装置、ディスプレイ等を有することにしてもよい。また、端末１０２、スケジュール管理装置２０１および情報提供装置２０２についても、通知装置１０１と同様のハードウェア構成により実現することができる。ただし、端末１０２は、上述した構成部のほかに、入力装置、ディスプレイ（例えば、図１に示したディスプレイ１３０）等を有する。
【００４５】
（各種ＤＢ２２０，２３０，２４０の記憶内容）
つぎに、図４〜図６を用いて、図２に示した各種ＤＢ２２０，２３０，２４０の記憶内容について説明する。各種ＤＢ２２０，２３０，２４０は、例えば、図３に示したメモリ３０２、ディスク３０５などの記憶装置により実現される。
【００４６】
図４は、ユーザ情報ＤＢ２２０の記憶内容の一例を示す説明図である。図４において、ユーザ情報ＤＢ２２０は、ユーザＩＤ、ジャンル、キーワードおよび優先度のフィールドを有し、各フィールドに情報を設定することで、ユーザ情報（例えば、ユーザ情報４００−１〜４００−３）をレコードとして記憶する。
【００４７】
ここで、ユーザＩＤは、通知システム２００のユーザを一意に識別する識別子である。ジャンルは、ユーザが興味のあるジャンルである。キーワードは、ユーザが興味のあるものを特徴付ける語である。優先度は、ユーザが興味のある度合いを示す。ここでは、数字が小さいほど、優先度が高いことを示す。
【００４８】
例えば、ユーザ情報４００−１は、ユーザＵ１が興味のあるジャンル「スポーツ」、キーワード「野球」および優先度「３」を示す。
【００４９】
なお、ユーザ情報は、例えば、ユーザの趣味嗜好情報などを学習する他のコンピュータから取得されて、ユーザ情報ＤＢ２２０に登録されることにしてもよい。また、ユーザ情報は、通知システム２００の管理者が作成してユーザ情報ＤＢ２２０に登録することにしてもよい。
【００５０】
図５は、スケジュール情報ＤＢ２３０の記憶内容の一例を示す説明図である。図５において、スケジュール情報ＤＢ２３０は、ユーザＩＤ、日付、開始時刻、終了時刻、内容および場所のフィールドを有し、各フィールドに情報を設定することで、スケジュール情報（例えば、スケジュール情報５００−１〜５００−３）をレコードとして記憶する。
【００５１】
ここで、ユーザＩＤは、通知システム２００のユーザを一意に識別する識別子である。日付は、スケジュール（イベント）が予定されている日付である。開始時刻は、スケジュールの開始時刻である。終了時刻は、スケジュールの終了時刻である。内容は、スケジュールの内容である。場所は、スケジュールに対応する場所である。場所が未設定の場合は「−（Ｎｕｌｌ）」となる。
【００５２】
例えば、スケジュール情報５００−１は、ユーザＵ１のスケジュールの日付「２０１８／０３／２４」、開始時刻「０９：００」、終了時刻「１０：００」、内容「ランニング」および場所「−」を示す。なお、スケジュール情報は、例えば、図２に示したスケジュール管理装置２０１から取得されて、スケジュール情報ＤＢ２３０に登録される。
【００５３】
図６は、コンテンツ情報ＤＢ２４０の記憶内容の一例を示す説明図である。図６において、コンテンツ情報ＤＢ２４０は、コンテンツＩＤ、日付、開始時刻、終了時刻およびタイトルのフィールドを有し、各フィールドに情報を設定することで、コンテンツ情報（例えば、コンテンツ情報６００−１〜６００−５）をレコードとして記憶する。
【００５４】
ここで、コンテンツＩＤは、コンテンツを一意に識別する識別子である。日付は、コンテンツが提供される日付である。開始時刻は、コンテンツの提供が開始される時刻である。終了時刻は、コンテンツの提供が終了する時刻である。タイトルは、コンテンツのタイトルである。タイトルとしては、例えば、テレビやラジオの番組名、映画の作品名、試合予定のチーム名、コンサートやライブのアーティスト名やタイトル名などが設定される。
【００５５】
図６の例では、コンテンツをテレビやラジオの番組とする。この場合、日付には、番組が放送される日付が設定される。開始時刻には、番組の放送が開始される時刻が設定される。終了時刻には、番組の放送が終了する時刻が設定される。タイトルには、例えば、番組の番組名や番組内容が設定される。
【００５６】
例えば、コンテンツ情報６００−１は、コンテンツＣ１の日付「２０１８／０３／２４」、開始時刻「１０：００」、終了時刻「１２：００」およびタイトル「マイケル  日本公演」を示す。なお、コンテンツ情報は、例えば、図２に示した情報提供装置２０２から取得されて、コンテンツ情報ＤＢ２４０に登録される。コンテンツ情報には、コンテンツのジャンルを示す情報が含まれていてもよい。ジャンルとしては、例えば、スポーツ、映画、芸能人、本などが挙げられる。
【００５７】
（通知装置１０１の機能的構成例）
図７は、通知装置１０１の機能的構成例を示すブロック図である。図７において、通知装置１０１は、取得部７０１と、特定部７０２と、検知部７０３と、レコメンド管理部７０４と、通知部７０５と、記憶部７１０と、を含む。取得部７０１〜通知部７０５は制御部となる機能であり、具体的には、例えば、図３に示したメモリ３０２、ディスク３０５などの記憶装置に記憶されたプログラムをＣＰＵ３０１に実行させることにより、または、Ｉ／Ｆ３０３により、その機能を実現する。各機能部の処理結果は、例えば、メモリ３０２、ディスク３０５などの記憶装置に記憶される。記憶部７１０は、例えば、メモリ３０２、ディスク３０５などの記憶装置により実現される。具体的には、例えば、記憶部７１０は、各種ＤＢ２２０，２３０，２４０を記憶する。
【００５８】
取得部７０１は、ユーザの興味を特定する情報を取得する。ここで、ユーザの興味を特定する情報は、通知システム２００のユーザの趣味嗜好についての情報であり、例えば、ユーザがどのような物事、人物などに興味を持っているかを示すユーザ情報である。ユーザの興味を特定する情報には、ユーザが興味のある度合いを示す優先度が含まれていてもよい。
【００５９】
具体的には、例えば、取得部７０１は、ユーザの趣味嗜好情報などを学習する他のコンピュータから、ユーザの興味を特定する情報を取得することにしてもよい。ただし、通知装置１０１において、ユーザの趣味嗜好情報などを学習して、ユーザの興味を特定する情報を取得することにしてもよい。
【００６０】
取得されたユーザの興味を特定する情報は、記憶部７１０に記憶される。より詳細に説明すると、取得されたユーザの興味を特定する情報は、例えば、図４に示したユーザ情報ＤＢ２２０に記憶される。
【００６１】
また、取得部７０１は、スケジューラに登録されたイベントに関する情報を取得する。ここで、イベントに関する情報は、予定されたスケジュールについての情報である。例えば、イベントに関する情報は、スケジュールの日付、開始時刻、終了時刻、内容、場所などを示すスケジュール情報である。
【００６２】
具体的には、例えば、取得部７０１は、図２に示したスケジュール管理装置２０１から各ユーザのスケジュール情報を受信することにより、当該スケジュール情報をイベントに関する情報として取得する。また、取得部７０１は、端末１０２からユーザのスケジュール情報を受信することにより、当該スケジュール情報をイベントに関する情報として取得することにしてもよい。
【００６３】
取得されたイベントに関する情報は、記憶部７１０に記憶される。より詳細に説明すると、取得されたスケジュール情報は、例えば、図５に示したスケジュール情報ＤＢ２３０に記憶される。
【００６４】
なお、イベントに関する情報の取得タイミングは、任意に設定可能である。例えば、イベントに関する情報が更新（登録、変更、削除等）されると、その都度、取得部７０１が、更新後のイベントに関する情報を取得してもよい。また、定期的あるいは所定のタイミングで、取得部７０１が、イベントに関する情報を取得してもよい。
【００６５】
また、取得部７０１は、コンテンツを特定する情報を、コンテンツの提供期間に対応付けてあらわす情報を取得する。ここで、コンテンツを特定する情報は、例えば、コンテンツのタイトルや概要などを示す情報である。コンテンツの提供期間は、コンテンツが提供される期間である。
【００６６】
具体的には、例えば、取得部７０１は、図２に示した情報提供装置２０２からコンテンツ情報を受信することにより、当該コンテンツ情報を、コンテンツの提供期間に対応付けて、コンテンツを特定する情報をあらわす情報として取得する。
【００６７】
取得されたコンテンツを特定する情報は、コンテンツの提供期間に対応付けて、記憶部７１０に記憶される。より詳細に説明すると、取得されたコンテンツ情報は、例えば、図６に示したコンテンツ情報ＤＢ２４０に記憶される。
【００６８】
特定部７０２は、取得されたイベントに関する情報に基づき、特定の条件を満たすイベントが登録されていない期間を特定する。ここで、特定の条件を満たすイベントは、例えば、取得されたイベントに関する情報に含まれるイベントである。また、特定の条件を満たすイベントは、例えば、場所が特定されていないイベントであってもよい。また、特定の条件を満たすイベントは、例えば、中止となる可能性が低いイベントであってもよい。
【００６９】
例えば、特定の条件を満たすイベントが、取得部７０１によって取得されたイベントに関する情報に含まれるイベントであるとする。この場合、特定部７０２は、例えば、スケジュール情報ＤＢ２３０を参照して、ユーザごとに、スケジュール情報が登録されていない期間、すなわち、スケジュールが予定されていない空き時間を特定する。
【００７０】
また、特定の条件を満たすイベントが、場所が特定されていないイベントであるとする。この場合、特定部７０２は、例えば、スケジュール情報ＤＢ２３０を参照して、ユーザごとに、場所が設定されたスケジュール情報が登録された期間を特定する。
【００７１】
また、特定の条件を満たすイベントが、中止となる可能性が低いイベントであるとする。この場合、特定部７０２は、例えば、スケジュール情報ＤＢ２３０を参照して、ユーザごとに、中止となる可能性があるイベントを特徴付けるキーワードを内容に含むスケジュール情報が登録された期間を特定する。中止となる可能性があるイベントを特徴付けるキーワードは、例えば、予め設定されてメモリ３０２、ディスク３０５などの記憶装置に記憶される。キーワードの例としては、天候に左右されて中止となるイベントの名称（ランニング、運動会など）や、「雨天中止」などのキーワードが挙げられる。
【００７２】
以下の説明では、特定の条件を満たすイベントが登録されていない期間を「期間Ｔ」と表記する場合がある。
【００７３】
検知部７０３は、期間Ｔの開始時刻に応じた時刻が到来したことを検知する。ここで、期間Ｔの開始時刻に応じた時刻は、任意に設定可能である。例えば、期間Ｔの開始時刻に応じた時刻は、期間Ｔの開始時刻よりも前の特定の時刻であってもよく、また、期間Ｔの開始時刻から所定の時間遡った時刻であってもよい。
【００７４】
例えば、期間Ｔの開始時刻に応じた時刻を、期間Ｔの開始時刻が属する日の午前０時とする。この場合、検知部７０３は、現在時刻が午前０時になったことに応じて、期間Ｔの開始時刻に応じた時刻が到来したことを検知する。また、期間Ｔの開始時刻に応じた時刻を、期間Ｔの開始時刻から１時間遡った時刻とする。この場合、検知部７０３は、現在時刻が、期間Ｔの開始時刻から１時間遡った時刻になったことに応じて、期間Ｔの開始時刻に応じた時刻が到来したことを検知する。
【００７５】
レコメンド管理部７０４は、期間Ｔの開始時刻に応じた時刻が到来したことが検知されると、コンテンツを特定する情報を、コンテンツの提供期間に対応付けて記憶する記憶部７１０を参照して、期間Ｔに提供されるコンテンツを特定する情報を取得する。具体的には、例えば、レコメンド管理部７０４は、コンテンツ情報ＤＢ２４０を参照して、期間Ｔごとに、期間Ｔの開始時刻以降の「開始時刻」を持ち、かつ、期間Ｔの終了時刻以前の「終了時刻」を持つコンテンツ情報を取得する。
【００７６】
また、レコメンド管理部７０４は、ユーザの興味を特定する情報を記憶する記憶部７１０を参照して、取得したコンテンツを特定する情報に基づいて、期間Ｔに提供されるコンテンツのうち、ユーザの興味に対応するコンテンツを特定してもよい。具体的には、例えば、レコメンド管理部７０４は、ユーザ情報ＤＢ２２０を参照して、ユーザごとに、キーワードと優先度とのペアを特定する。
【００７７】
そして、レコメンド管理部７０４は、ユーザごとに、取得したコンテンツ情報の中から、特定したキーワードをタイトルに含むコンテンツ情報を特定する。これにより、期間Ｔに提供されるコンテンツであって、ユーザが興味を持ちそうなコンテンツの情報を特定することができる。
【００７８】
なお、コンテンツ情報には、コンテンツのジャンルを示す情報が含まれていてもよい。この場合、レコメンド管理部７０４は、例えば、ユーザ情報ＤＢ２２０を参照して、ユーザごとに、ジャンルとキーワードと優先度との組み合わせを特定することにしてもよい。そして、レコメンド管理部７０４は、ユーザごとに、取得したコンテンツ情報の中から、特定したジャンルのコンテンツ情報であって、特定したキーワードをタイトルに含むコンテンツ情報を特定することにしてもよい。これにより、ジャンルを考慮しない場合に比べて、ユーザが興味を持ちそうなコンテンツの情報を精度良く特定することができる。
【００７９】
特定されたコンテンツを特定する情報は、例えば、後述の図８に示すようなレコメンド候補テーブル８００に記憶される。
【００８０】
また、レコメンド管理部７０４は、ユーザの興味に対応するコンテンツが複数特定された場合、ユーザの興味を特定する情報を優先度を含めて記憶する記憶部７１０を参照して、特定した各コンテンツの優先度を判定することにしてもよい。具体的には、例えば、レコメンド管理部７０４は、キーワードをタイトルに含むコンテンツ情報の優先度を、当該キーワードとペアで特定された優先度とする。
【００８１】
判定された各コンテンツの優先度は、例えば、後述の図８に示すようなレコメンド候補テーブル８００に記憶される。
【００８２】
そして、レコメンド管理部７０４は、判定した各コンテンツの優先度に基づいて、レコメンド対象コンテンツを決定することにしてもよい。レコメンド対象コンテンツは、ユーザに対してレコメンドするコンテンツである。
【００８３】
具体的には、例えば、レコメンド管理部７０４は、特定したコンテンツのうち優先度が最も高いコンテンツを、レコメンド対象コンテンツに決定することにしてもよい。また、例えば、レコメンド管理部７０４は、特定したコンテンツのうち優先度が高い上位いくつかのコンテンツを、レコメンド対象コンテンツに決定することにしてもよい。
【００８４】
レコメンド対象コンテンツの決定例については、図８を用いて後述する。
【００８５】
通知部７０５は、レコメンド管理部７０４によって取得されたコンテンツを特定する情報を通知する。コンテンツを特定する情報は、例えば、コンテンツの名称、提供期間などを含む。具体的には、例えば、通知部７０５は、決定されたレコメンド対象コンテンツを特定する情報を、ユーザの端末１０２にプッシュ通知する。
【００８６】
より具体的には、例えば、通知部７０５は、後述の図９に示すようなレコメンド画面９００を、端末１０２に表示させることにしてもよい。また、通知部７０５は、例えば、レコメンド対象コンテンツを特定する情報を、メモリ３０２やディスク３０５などの記憶装置に記憶しておき、端末１０２からの要求に応じて、レコメンド対象コンテンツを特定する情報を通知することにしてもよい。また、通知部７０５は、例えば、レコメンド対象コンテンツを特定する情報を、不図示のプリンタへ印刷出力することにしてもよい。
【００８７】
また、期間Ｔが、場所が設定されたスケジュール情報が登録された期間であるとする。この場合、レコメンド管理部７０４は、例えば、期間Ｔに提供されるコンテンツの中から、期間Ｔのスケジュール情報に設定された場所（例えば、川崎駅）をタイトルに含むコンテンツを特定することにしてもよい。そして、通知部７０５は、特定されたコンテンツを特定する情報を通知することにしてもよい。これにより、期間Ｔに対して、当該期間Ｔに予定されているスケジュールの場所に関連する情報を通知（レコメンド）することができる。
【００８８】
なお、特定部７０２は、例えば、スケジュール情報ＤＢ２３０を参照して、ユーザごとに、場所が設定されていないスケジュール情報が登録された期間Ｔを特定することにしてもよい。すなわち、特定の条件を満たすイベントを、場所が特定されたイベントとしてもよい。この場合、レコメンド管理部７０４は、例えば、期間Ｔに提供されるコンテンツの中から、場所を特定しないコンテンツ（例えば、場所を特定する内容をタイトルに含まないコンテンツ）を特定することにしてもよい。そして、通知部７０５は、特定されたコンテンツを特定する情報を通知することにしてもよい。これにより、期間Ｔに対して、場所を特定しないコンテンツの情報を通知（レコメンド）することができる。
【００８９】
（レコメンド対象コンテンツの決定例）
つぎに、レコメンド対象コンテンツの決定例について説明する。ここでは、ユーザＵ１を例に挙げて、ユーザＵ１に対してレコメンドする対象のコンテンツを決定する場合について説明する。また、期間Ｔを、スケジュールが予定されていない空き時間とする。すなわち、特定の条件を満たすイベントを、取得部７０１によって取得されたイベントに関する情報に含まれるイベントとする。また、期間Ｔの開始時刻に応じた時刻を、期間Ｔの開始時刻が属する日の午前０時とする。
【００９０】
ここで、期間Ｔの開始時刻が属する日付を「２０１８／０３／２４」とする。また、ユーザＵ１の日付「２０１８／０３／２４」のスケジュール情報を、図５に示したスケジュール情報５００−１〜５００−３とする。この場合、期間Ｔは、日付「２０１８／０３／２４」の「００：００〜０９：００」、「１０：００〜１５：４５」、「１８：００〜１９：００」および「２１：００〜２４：００」となる。
【００９１】
なお、以下の説明では、日付「２０１８／０３／２４」の「００：００〜０９：００」を期間Ｔ１、「１０：００〜１５：４５」を期間Ｔ２、「１８：００〜１９：００」を期間Ｔ３、「２１：００〜２４：００」を期間Ｔ４と表記する場合がある。
【００９２】
この場合、レコメンド管理部７０４は、日付「２０１８／０３／２４」の午前０時となったら、コンテンツ情報ＤＢ２４０を参照して、期間Ｔごとに、期間Ｔの開始時刻以降の「開始時刻」を持ち、かつ、期間Ｔの終了時刻以前の「終了時刻」を持つコンテンツ情報を取得する。
【００９３】
図６の例では、期間Ｔ１，Ｔ３，Ｔ４については、コンテンツ情報は取得されない。期間Ｔ２について、コンテンツ情報６００−１〜６００−４が取得される。
【００９４】
また、レコメンド管理部７０４は、ユーザ情報ＤＢ２２０を参照して、ユーザＵ１について、キーワードと優先度とのペアを特定する。図４の例では、ユーザ情報４００−１〜４００−３から、キーワードと優先度とのペア「野球：３」、「マイケル：１」、「ビジネス：５」および「稲川太郎：５」が特定される。
【００９５】
つぎに、レコメンド管理部７０４は、取得したコンテンツ情報の中から、特定したキーワードをタイトルに含むコンテンツ情報を特定する。ここでは、期間Ｔ２について取得されたコンテンツ情報６００−１〜６００−４の中から、キーワード「マイケル」をタイトルに含むコンテンツ情報６００−１と、キーワード「稲川太郎」をタイトルに含むコンテンツ情報６００−２と、キーワード「野球」をタイトルに含むコンテンツ情報６００−４とが特定される。
【００９６】
特定されたコンテンツ情報６００−１，６００−２，６００−４は、期間Ｔ２と対応付けて、例えば、図８に示すようなレコメンド候補テーブル８００に記憶される。レコメンド候補テーブル８００は、例えば、メモリ３０２、ディスク３０５などの記憶装置により実現される。
【００９７】
図８は、レコメンド候補テーブル８００の記憶内容の一例を示す説明図である。図８において、レコメンド候補テーブル８００は、ユーザＩＤ、期間、コンテンツＩＤ、日付、開始時刻、終了時刻、タイトルおよび優先度のフィールドを有する。各フィールドに情報を設定することで、レコメンド候補情報８００−１〜８００−３がレコードとして記憶されている。
【００９８】
ここで、ユーザＩＤは、通知システム２００のユーザを一意に識別する識別子である。期間は、期間Ｔである。コンテンツＩＤは、コンテンツを一意に識別する識別子である。日付は、コンテンツが提供される日付である。開始時刻は、コンテンツの提供が開始される時刻である。終了時刻は、コンテンツの提供が終了する時刻である。タイトルは、コンテンツのタイトルである。優先度は、コンテンツの優先度である。
【００９９】
レコメンド候補情報８００−１はコンテンツ情報６００−１に対応し、レコメンド候補情報８００−２はコンテンツ情報６００−２に対応し、レコメンド候補情報８００−３はコンテンツ情報６００−４に対応する。
【０１００】
図８の例では、ユーザＵ１の興味に対応するコンテンツ（コンテンツＣ１，Ｃ２，Ｃ４）が複数特定されている。この場合、レコメンド管理部７０４は、各コンテンツＣ１，Ｃ２，Ｃ４の優先度を判定する。具体的には、例えば、レコメンド管理部７０４は、各キーワード「マイケル」、「稲川太郎」、「野球」をタイトルに含むコンテンツＣ１，Ｃ２，Ｃ４の優先度を、当該各キーワードとペアで特定された優先度とする。
【０１０１】
この結果、レコメンド候補情報８００−１の優先度には、キーワード「マイケル」とペアで特定された優先度「１」が設定される。レコメンド候補情報８００−２の優先度には、キーワード「稲川太郎」とペアで特定された優先度「５」が設定される。レコメンド候補情報８００−３の優先度には、キーワード「野球」とペアで特定された優先度「３」が設定される。
【０１０２】
そして、レコメンド管理部７０４は、判定した各コンテンツＣ１，Ｃ２，Ｃ４の優先度に基づいて、レコメンド対象コンテンツを決定する。具体的には、例えば、レコメンド管理部７０４は、コンテンツＣ１，Ｃ２，Ｃ４のうち優先度が最も高いコンテンツＣ１を、レコメンド対象コンテンツに決定してもよい。また、レコメンド管理部７０４は、コンテンツＣ１，Ｃ２，Ｃ４のうち優先度が高い上位２つのコンテンツＣ１，Ｃ４を、レコメンド対象コンテンツに決定してもよい。
【０１０３】
また、レコメンド管理部７０４は、コンテンツＣ１，Ｃ２，Ｃ４のうち提供期間が重複していない全てのコンテンツを、レコメンド対象コンテンツに決定してもよい。この際、レコメンド管理部７０４は、提供期間が重複する複数のコンテンツがある場合、複数のコンテンツのうち優先度が最も高いコンテンツを、レコメンド対象コンテンツに決定してもよい。図８の例では、コンテンツＣ１，Ｃ４が、レコメンド対象コンテンツに決定される。コンテンツＣ２は、コンテンツＣ１と提供期間が重複するため除外される。
【０１０４】
（レコメンド画面９００の画面例）
つぎに、端末１０２に表示されるレコメンド画面９００の画面例について説明する。ここでは、ユーザＵ１に対するレコメンド対象コンテンツとして、コンテンツＣ１，Ｃ４が決定された場合を例に挙げて説明する。
【０１０５】
図９は、レコメンド画面９００の画面例を示す説明図である。図９において、レコメンド画面９００には、ユーザＵ１に対してレコメンドするコンテンツ情報９１０，９２０が表示されている。コンテンツ情報９１０は、コンテンツＣ１の提供期間「３月２４日  ０９：００〜１２：００」およびタイトル「マイケル  日本公演」を示す。コンテンツ情報９２０は、コンテンツＣ４の提供期間「３月２４日  １２：００〜１５：００」およびタイトル「野球選手  イチロー特番」を示す。
【０１０６】
レコメンド画面９００によれば、ユーザＵ１は、３月２４日の９時から１２時にタイトル「マイケル  日本公演」の番組があることを把握することができる。また、ユーザＵ１は、３月２４日の１２時から１５時にタイトル「野球選手  イチロー特番」の番組があることを把握することができる。
【０１０７】
なお、レコメンド画面９００には、期間Ｔ２、すなわち、ユーザＵ１のスケジュールが予定されていない空き時間「１０：００〜１５：４５」が表示されていてもよい。これにより、ユーザＵ１は、コンテンツ情報９１０，９２０が、スケジュールが予定されていない空き時間に対してレコメンドされた情報であることを把握することができる。
【０１０８】
また、レコメンド画面９００において、端末１０２の不図示の入力装置を用いたユーザＵ１の操作入力により、ボックス９１１を選択すると、コンテンツ情報９１０をスケジュール情報としてスケジューラに登録することができる。また、レコメンド画面９００において、ボックス９２１を選択すると、コンテンツ情報９２０をスケジュール情報としてスケジューラに登録することができる。
【０１０９】
なお、スケジュール情報の日付、開始時刻および終了時刻は、例えば、コンテンツ情報の提供期間に対応する。また、スケジュール情報の内容は、例えば、コンテンツ情報のタイトルに対応する。また、レコメンド画面９００において、ボタン９３０を選択すると表示を終了することができる。
【０１１０】
（通知装置１０１の第１の通知処理手順）
つぎに、図１０および図１１を用いて、通知装置１０１の第１の通知処理手順について説明する。第１の通知処理では、期間Ｔの開始時刻に応じた時刻を、期間Ｔの開始時刻が属する日の午前０時とする。また、期間Ｔを、スケジュールが予定されていない空き時間とする。
【０１１１】
図１０および図１１は、通知装置１０１の第１の通知処理手順の一例を示すフローチャートである。図１０のフローチャートにおいて、まず、通知装置１０１は、時刻が０時になったか否かを判断する（ステップＳ１００１）。ここで、通知装置１０１は、時刻が０時になるのを待つ（ステップＳ１００１：Ｎｏ）。
【０１１２】
そして、通知装置１０１は、時刻が０時になった場合（ステップＳ１００１：Ｙｅｓ）、ユーザ情報ＤＢ２２０を参照して、選択されていない未選択のユーザＩＤを選択する（ステップＳ１００２）。つぎに、通知装置１０１は、スケジュール情報ＤＢ２３０を参照して、選択したユーザＩＤに対応する当日のスケジュール情報を取得する（ステップＳ１００３）。
【０１１３】
そして、通知装置１０１は、取得したスケジュール情報に基づいて、スケジュールが予定されていない当日の空き時間を特定する（ステップＳ１００４）。つぎに、通知装置１０１は、コンテンツ情報ＤＢ２４０を参照して、特定した空き時間ごとに、空き時間の開始時刻以降の「開始時刻」を持ち、かつ、期間Ｔの終了時刻以前の「終了時刻」を持つコンテンツ情報を検索する（ステップＳ１００５）。
【０１１４】
そして、通知装置１０１は、コンテンツ情報が検索されたか否かを判断する（ステップＳ１００６）。ここで、コンテンツ情報が検索された場合（ステップＳ１００６：Ｙｅｓ）、通知装置１０１は、ユーザ情報ＤＢ２２０から、選択したユーザＩＤに対応するキーワードと優先度とのペアを特定する（ステップＳ１００７）。
【０１１５】
そして、通知装置１０１は、検索したコンテンツ情報の中から、特定したキーワードに対応するコンテンツ情報を特定して（ステップＳ１００８）、図１１に示すステップＳ１１０１に移行する。また、ステップＳ１００６において、コンテンツ情報が検索されなかった場合（ステップＳ１００６：Ｎｏ）、通知装置１０１は、図１１に示すステップＳ１１０８に移行する。
【０１１６】
図１１のフローチャートにおいて、まず、通知装置１０１は、ステップＳ１００８においてコンテンツ情報が特定されたか否かを判断する（ステップＳ１１０１）。ここで、コンテンツ情報が特定されなかった場合（ステップＳ１１０１：Ｎｏ）、通知装置１０１は、ステップＳ１１０８に移行する。
【０１１７】
一方、コンテンツ情報が特定された場合には（ステップＳ１１０１：Ｙｅｓ）、通知装置１０１は、キーワードとペアで特定した優先度に基づいて、特定したコンテンツ情報の優先度を判定する（ステップＳ１１０２）。そして、通知装置１０１は、判定したコンテンツ情報の優先度に基づいて、レコメンド対象コンテンツを決定する（ステップＳ１１０３）。
【０１１８】
つぎに、通知装置１０１は、決定したレコメンド対象コンテンツを特定する情報を、選択したユーザＩＤに対応する端末１０２に通知する（ステップＳ１１０４）。この結果、例えば、図９に示したようなレコメンド画面９００が端末１０２に表示される。そして、通知装置１０１は、端末１０２においていずれかのレコメンド対象コンテンツが選択されたか否かを判断する（ステップＳ１１０５）。
【０１１９】
ここで、レコメンド対象コンテンツが選択された場合（ステップＳ１１０５：Ｙｅｓ）、通知装置１０１は、選択されたレコメンド対象コンテンツを、選択したユーザＩＤに対応するスケジュール情報としてスケジューラに登録して（ステップＳ１１０６）、ステップＳ１１０８に移行する。
【０１２０】
一方、レコメンド対象コンテンツが選択されなかった場合（ステップＳ１１０５：Ｎｏ）、通知装置１０１は、特定したコンテンツ情報のうち通知していない未通知のコンテンツ情報があるか否かを判断する（ステップＳ１１０７）。ここで、未通知のコンテンツ情報がある場合（ステップＳ１１０７：Ｙｅｓ）、通知装置１０１は、ステップＳ１１０３に戻って、未通知のコンテンツ情報の中からレコメンド対象コンテンツを決定する。
【０１２１】
一方、未通知のコンテンツ情報がない場合（ステップＳ１１０７：Ｎｏ）、通知装置１０１は、ユーザ情報ＤＢ２２０を参照して、選択されていない未選択のユーザＩＤがあるか否かを判断する（ステップＳ１１０８）。ここで、未選択のユーザＩＤがある場合（ステップＳ１１０８：Ｙｅｓ）、通知装置１０１は、ステップＳ１００２に戻る。
【０１２２】
一方、未選択のユーザＩＤがない場合（ステップＳ１１０８：Ｎｏ）、通知装置１０１は、本フローチャートによる一連の処理を終了する。これにより、日付が変わったタイミング（０時）で、当日の空き時間に対してレコメンドするコンテンツを検索して通知することができる。
【０１２３】
なお、ステップＳ１１０１においてコンテンツ情報が特定されなかった場合、通知装置１０１は、ステップＳ１００５において検索されたいずれかのコンテンツ情報をレコメンド対象コンテンツに決定することにしてもよい。また、通知装置１０１は、ステップＳ１１０４においてレコメンド対象コンテンツを特定する情報を通知したら、ステップＳ１１０８に移行することにしてもよい。
【０１２４】
（通知装置１０１の第２の通知処理手順）
つぎに、通知装置１０１の第２の通知処理について説明する。第２の通知処理では、期間Ｔの開始時刻に応じた時刻を、期間Ｔの開始時刻から１時間遡った時刻とする。また、期間Ｔを、スケジュールが予定されていない空き時間とする。
【０１２５】
まず、図１２を用いて、通知装置１０１の空き時間特定処理手順について説明する。
【０１２６】
図１２は、通知装置１０１の空き時間特定処理手順の一例を示すフローチャートである。図１２のフローチャートにおいて、まず、通知装置１０１は、時刻が０時になったか否かを判断する（ステップＳ１２０１）。ここで、通知装置１０１は、時刻が０時になるのを待つ（ステップＳ１２０１：Ｎｏ）。
【０１２７】
そして、通知装置１０１は、時刻が０時になった場合（ステップＳ１２０１：Ｙｅｓ）、ユーザ情報ＤＢ２２０を参照して、選択されていない未選択のユーザＩＤを選択する（ステップＳ１２０２）。つぎに、通知装置１０１は、スケジュール情報ＤＢ２３０を参照して、選択したユーザＩＤに対応する当日のスケジュール情報を取得する（ステップＳ１２０３）。
【０１２８】
そして、通知装置１０１は、取得したスケジュール情報に基づいて、スケジュールが予定されていない当日の空き時間を特定する（ステップＳ１２０４）。つぎに、通知装置１０１は、ユーザ情報ＤＢ２２０を参照して、選択されていない未選択のユーザＩＤがあるか否かを判断する（ステップＳ１２０５）。
【０１２９】
ここで、未選択のユーザＩＤがある場合（ステップＳ１２０５：Ｙｅｓ）、通知装置１０１は、ステップＳ１２０２に戻る。一方、未選択のユーザＩＤがない場合には（ステップＳ１２０５：Ｎｏ）、通知装置１０１は、本フローチャートによる一連の処理を終了する。
【０１３０】
これにより、時刻が０時となったことに応じて、通知システム２００のユーザごとに、当日の空き時間を特定することができる。なお、通知装置１０１の空き時間特定処理の実行タイミングは、任意に設定可能である。
【０１３１】
また、ステップＳ１２０４において特定された各ユーザの当日の空き時間は、例えば、図１３に示すような空き時間テーブル１３００に記憶される。空き時間テーブル１３００は、例えば、メモリ３０２、ディスク３０５などの記憶装置により実現される。
【０１３２】
図１３は、空き時間テーブル１３００の記憶内容の一例を示す説明図である。図１３において、空き時間テーブル１３００は、ユーザＩＤと空き時間とを対応付けて記憶する。ユーザＩＤは、通知システム２００のユーザを一意に識別する識別子である。空き時間は、スケジュールが予定されていない空き時間である。
【０１３３】
ここでは、ユーザＩＤ「Ｕ１」と対応付けて、図１２に示したステップＳ１２０４において特定された当日（２０１８／０３／２４）の空き時間が設定されている。
【０１３４】
つぎに、図１４を用いて、通知装置１０１の第２の通知処理手順について説明する。第２の通知処理は、図１２に示した空き時間特定処理が実行された後、通知システム２００のユーザごとに、図１２に示したステップＳ１２０４において特定された当日の空き時間それぞれについて実行される。
【０１３５】
図１４は、通知装置１０１の第２の通知処理手順の一例を示すフローチャートである。図１４のフローチャートにおいて、まず、通知装置１０１は、図１３に示したような空き時間テーブル１３００を参照して、時刻が空き時間の開始時刻から１時間遡った時刻になったか否かを判断する（ステップＳ１４０１）。
【０１３６】
ここで、通知装置１０１は、空き時間の開始時刻から１時間遡った時刻になるのを待つ（ステップＳ１４０１：Ｎｏ）。そして、通知装置１０１は、空き時間の開始時刻から１時間遡った時刻になった場合（ステップＳ１４０１：Ｙｅｓ）、コンテンツ情報ＤＢ２４０を参照して、空き時間の開始時刻以降の「開始時刻」を持ち、かつ、期間Ｔの終了時刻以前の「終了時刻」を持つコンテンツ情報を検索する（ステップＳ１４０２）。
【０１３７】
そして、通知装置１０１は、コンテンツ情報が検索されたか否かを判断する（ステップＳ１４０３）。ここで、コンテンツ情報が検索されなかった場合（ステップＳ１４０３：Ｎｏ）、通知装置１０１は、本フローチャートによる一連の処理を終了する。
【０１３８】
一方、コンテンツ情報が検索された場合（ステップＳ１４０３：Ｙｅｓ）、通知装置１０１は、ユーザ情報ＤＢ２２０から、ユーザＩＤに対応するキーワードと優先度とのペアを特定する（ステップＳ１４０４）。つぎに、通知装置１０１は、検索したコンテンツ情報の中から、特定したキーワードに対応するコンテンツ情報を特定する（ステップＳ１４０５）。
【０１３９】
そして、通知装置１０１は、コンテンツ情報が特定されたか否かを判断する（ステップＳ１４０６）。ここで、コンテンツ情報が特定されなかった場合（ステップＳ１４０６：Ｎｏ）、通知装置１０１は、本フローチャートによる一連の処理を終了する。
【０１４０】
一方、コンテンツ情報が特定された場合（ステップＳ１４０６：Ｙｅｓ）、通知装置１０１は、キーワードとペアで特定した優先度に基づいて、特定したコンテンツ情報の優先度を判定する（ステップＳ１４０７）。そして、通知装置１０１は、判定したコンテンツ情報の優先度に基づいて、レコメンド対象コンテンツを決定する（ステップＳ１４０８）。
【０１４１】
つぎに、通知装置１０１は、決定したレコメンド対象コンテンツを特定する情報を、選択したユーザＩＤに対応する端末１０２に通知して（ステップＳ１４０９）、本フローチャートによる一連の処理を終了する。この結果、例えば、図９に示したようなレコメンド画面９００が端末１０２に表示される。
【０１４２】
これにより、ユーザの空き時間それぞれについて、空き時間の１時間前になったタイミングで、その空き時間に対してレコメンドするコンテンツを検索して通知することができる。
【０１４３】
以上説明したように、実施の形態にかかる通知装置１０１によれば、スケジューラに登録されたイベントに関する情報を取得し、取得したイベントに関する情報に基づき、特定の条件を満たすイベントが登録されていない期間Ｔを特定することができる。そして、通知装置１０１によれば、特定した期間Ｔの開始時刻に応じた時刻が到来したことを検知すると、コンテンツを特定する情報を、コンテンツの提供期間に対応付けて記憶する記憶部７１０を参照して、特定した期間Ｔに提供されるコンテンツを特定する情報を取得し、取得したコンテンツを特定する情報を通知することができる。
【０１４４】
これにより、特定の条件を満たすイベントが登録されていない期間Ｔに対して有効なコンテンツをレコメンドすることができる。期間Ｔは、例えば、スケジュールが予定されていない空き時間や、中止となる可能性があるイベントが登録された期間などである。また、レコメンドするコンテンツを検索するタイミングが、スケジュールの登録や削除といったタイミングに限定されない。このため、スケジュールが登録または削除された後に新規登録あるいは更新されたコンテンツについてもレコメンドすることができ、ユーザにとって有効なコンテンツの通知漏れを抑制することができる。
【０１４５】
また、通知装置１０１によれば、取得したイベントに関する情報に含まれるイベントが登録されていない期間Ｔを特定することができる。これにより、ユーザのスケジュールが予定されていない空き時間を特定することができ、空き時間に対して有効なコンテンツをレコメンドすることが可能となる。
【０１４６】
また、通知装置１０１によれば、ユーザの興味を特定する情報を記憶する記憶部７１０を参照して、取得したコンテンツを特定する情報に基づいて、期間Ｔに提供されるコンテンツのうち、ユーザの興味に対応するコンテンツを特定し、特定したコンテンツを特定する情報を通知することができる。
【０１４７】
これにより、期間Ｔに提供されるコンテンツであって、ユーザが興味を持ちそうなコンテンツを特定してレコメンドすることができる。
【０１４８】
また、通知装置１０１によれば、ユーザの興味を特定する情報を優先度を含めて記憶する記憶部７１０を参照して、ユーザの興味に対応するコンテンツが複数特定された場合、特定した各コンテンツの優先度を判定することができる。そして、通知装置１０１によれば、判定した各コンテンツの優先度に基づいて、複数のコンテンツのいずれかのコンテンツを特定する情報を通知することができる。
【０１４９】
これにより、期間Ｔに提供されるコンテンツであって、ユーザが興味を持ちそうなコンテンツが複数存在する場合に、ユーザにとって最も興味がありそうなものを優先的に特定してレコメンドすることができる。
【０１５０】
また、通知装置１０１によれば、期間Ｔの開始時刻に応じた時刻を、期間Ｔの開始時刻よりも前の特定の時刻とすることができる。これにより、予め決められた時刻が到来したことに応じて、期間Ｔに対してレコメンドするコンテンツを検索することができる。例えば、日付が変わったタイミング（０時）で、当日の空き時間に対してレコメンドするコンテンツを検索することができる。
【０１５１】
また、通知装置１０１によれば、期間Ｔの開始時刻に応じた時刻を、期間Ｔの開始時刻から所定の時間遡った時刻とすることができる。これにより、期間Ｔの開始時刻に応じてそれぞれ決まる時刻が到来したことに応じて、期間Ｔに対してレコメンドするコンテンツを検索することができる。例えば、ユーザの空き時間それぞれについて、空き時間の開始時刻から１時間前などのタイミングで、その空き時間に対してレコメンドするコンテンツを検索することができる。このため、空き時間の開始間際に登録されたコンテンツであっても、レコメンドの対象とすることができる。
【０１５２】
これらのことから、実施の形態にかかる通知装置１０１および通知システム２００によれば、ユーザの空き時間に対して有効な情報をレコメンドすることができるため、ユーザは空き時間を有効活用することが可能になる。
【０１５３】
なお、本実施の形態で説明した通知方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本通知プログラムは、ハードディスク、フレキシブルディスク、ＣＤ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ）−ＲＯＭ、ＭＯ（Ｍａｇｎｅｔｏ−Ｏｐｔｉｃａｌ  ｄｉｓｋ）、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）メモリ等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また、本通知プログラムは、インターネット等のネットワークを介して配布してもよい。
【０１５４】
上述した実施の形態に関し、さらに以下の付記を開示する。
【０１５５】
（付記１）スケジューラに登録されたイベントに関する情報を取得し、
取得した前記イベントに関する情報に基づき、特定の条件を満たすイベントが登録されていない期間を特定し、
特定した前記期間の開始時刻に応じた時刻が到来したことを検知すると、コンテンツを特定する情報を、前記コンテンツの提供期間に対応付けて記憶する記憶部を参照して、特定した前記期間に提供されるコンテンツを特定する情報を取得し、
取得した前記コンテンツを特定する情報を通知する、
処理をコンピュータが実行することを特徴とする通知方法。
【０１５６】
（付記２）前記特定の条件を満たすイベントは、前記イベントに関する情報に含まれるイベントである、ことを特徴とする付記１に記載の通知方法。
【０１５７】
（付記３）ユーザの興味を特定する情報を記憶する第２の記憶部を参照して、取得した前記コンテンツを特定する情報に基づいて、前記期間に提供されるコンテンツのうち、前記ユーザの興味に対応するコンテンツを特定する、処理を前記コンピュータが実行し、
前記通知する処理は、
特定した前記コンテンツを特定する情報を通知する、ことを特徴とする付記１または２に記載の通知方法。
【０１５８】
（付記４）前記第２の記憶部は、ユーザの興味を特定する情報を優先度を含めて記憶しており、
前記ユーザの興味に対応するコンテンツが複数特定された場合、前記第２の記憶部を参照して、特定した各コンテンツの優先度を判定する、処理を前記コンピュータが実行し、
前記通知する処理は、
判定した前記各コンテンツの優先度に基づいて、前記複数のコンテンツのいずれかのコンテンツを特定する情報を通知する、ことを特徴とする付記３に記載の通知方法。
【０１５９】
（付記５）前記期間の開始時刻に応じた時刻は、前記期間の開始時刻よりも前の特定の時刻である、ことを特徴とする付記１〜４のいずれか一つに記載の通知方法。
【０１６０】
（付記６）前記期間の開始時刻に応じた時刻は、前記期間の開始時刻から所定の時間遡った時刻である、ことを特徴とする付記１〜５のいずれか一つに記載の通知方法。
【０１６１】
（付記７）スケジューラに登録されたイベントに関する情報を取得し、
取得した前記イベントに関する情報に基づき、特定の条件を満たすイベントが登録されていない期間を特定し、
特定した前記期間の開始時刻に応じた時刻が到来したことを検知すると、コンテンツを特定する情報を、前記コンテンツの提供期間に対応付けて記憶する記憶部を参照して、特定した前記期間に提供されるコンテンツを特定する情報を取得し、
取得した前記コンテンツを特定する情報を通知する、
処理をコンピュータに実行させることを特徴とする通知プログラム。
【０１６２】
（付記８）スケジューラに登録されたイベントに関する情報を取得し、
取得した前記イベントに関する情報に基づき、特定の条件を満たすイベントが登録されていない期間を特定し、
特定した前記期間の開始時刻に応じた時刻が到来したことを検知すると、コンテンツを特定する情報を、前記コンテンツの提供期間に対応付けて記憶する記憶部を参照して、特定した前記期間に提供されるコンテンツを特定する情報を取得し、
取得した前記コンテンツを特定する情報を通知する、
制御部を有することを特徴とする通知装置。
【符号の説明】
【０１６３】
１０１  通知装置
１０２  端末
１１０，７１０  記憶部
１２０，９１０，９２０  コンテンツ情報
１３０  ディスプレイ
２００  通知システム
２０１  スケジュール管理装置
２０２  情報提供装置
２１０  ネットワーク
２２０  ユーザ情報ＤＢ
２３０  スケジュール情報ＤＢ
２４０  コンテンツ情報ＤＢ
３００  バス
３０１  ＣＰＵ
３０２  メモリ
３０３  Ｉ／Ｆ
３０４  ディスクドライブ
３０５  ディスク
７０１  取得部
７０２  特定部
７０３  検知部
７０４  レコメンド管理部
７０５  通知部
８００  レコメンド候補テーブル
９００  レコメンド画面
１３００  空き時間テーブル
【図１】
2019200572.tif 000003
【図２】
2019200572.tif 000004
【図３】
2019200572.tif 000005
【図４】
2019200572.tif 000006
【図５】
2019200572.tif 000007
【図６】
2019200572.tif 000008
【図７】
2019200572.tif 000009
【図８】
2019200572.tif 000010
【図９】
2019200572.tif 000011
【図１０】
2019200572.tif 000012
【図１１】
2019200572.tif 000013
【図１２】
2019200572.tif 000014
【図１３】
2019200572.tif 000015
【図１４】
2019200572.tif 000016