以下に、本願に係る収集装置、収集方法、及び収集プログラムを実施するための形態(以下、「実施形態」と呼ぶ)について図面を参照しつつ詳細に説明する。なお、この実施形態により本願に係る収集装置、収集方法、及び収集プログラムが限定されるものではない。また、以下の各実施形態において同一の部位には同一の符号を付し、重複する説明は省略される。
(実施形態)
〔1.収集処理〕
まず、図1を用いて、実施形態に係る収集処理の一例について説明する。図1は、実施形態に係る収集処理の一例を示す図である。図1では、本願に係るコンピュータにおいて、本願に係る収集プログラムが実行する処理の一例について説明する。本実施形態において、端末装置10(図8参照)は、検知部14(図8参照)から取得した各種情報を基にユーザの状態の変化やコンテキスト等を推定し、収集処理を行う。以下の例では、端末装置10を利用するユーザがユーザU1である場合を示す。
また、図1では、収集装置100が配信コンテンツである通知情報IM11をユーザU1の端末装置10に配信し、通知情報IM11に対するユーザU1の行動に関する情報(以下、「行動情報」ともいう)を取得する場合を示す。例えば、通知情報IM11は、スポーツの速報であるコンテンツCT11(図9参照)等、種々の情報であってもよい。
図1の例では、行動情報(以下、「ユーザ関連情報」ともいう)には、ユーザU1が複数種類の特定行動のうちのいずれかの行動をした場合におけるユーザU1の通知情報IM11に対する行動の有無とユーザU1に関するコンテキストの情報が含まれる。例えば、ユーザU1の通知情報IM11に対する行動の有無とは、ユーザU1が通知情報IM11を閲覧(開封)した場合、「有」となり、ユーザU1が通知情報IM11を閲覧(開封)しなかった場合、「無」となる。
また、ここでいう特定行動は、ユーザへの割り込みを行うタイミングの候補(以下、ブレークポイントと記載する場合がある)として予め選択されたユーザの行動である。特定行動は、例えば、ユーザが歩いている状態から止まるという行動、ユーザが走っている状態から歩くという行動、座っている状態から立つという行動などである。なお、特定行動は、直前の行動を考慮しないものであってもよく、例えば、ユーザが電子メールを送信するという行動、ユーザが電気機器を操作(ON/OFF)するという行動、ユーザが時計を見るという行動等であってもよい。図1の例では、ブレークポイントBP11〜BP16は、ユーザU1に関する変化(特定行動CH11〜CH16)のタイミングに対応するが、詳細は後述する。
ユーザに関するコンテキスト(以下、単に「コンテキスト」ともいう)は、例えば、ユーザを取り巻く状況である。図1では、コンテキストは、ユーザU1や端末装置10の状況やユーザU1や端末装置10の環境(背景)を意味する。また、コンテキストには、ユーザに提供されるコンテンツの内容、ユーザが反応したコンテンツの内容、ユーザの属性、ユーザの現在位置、現在時刻、ユーザが置かれた物理環境、ユーザが置かれた社会環境、ユーザの運動状態、および、ユーザの感情等の種々の情報が含まれる。
ここでいうコンテキストは、ユーザや端末装置10の状況やユーザや端末装置10の環境(背景)を意味する。例えば、コンテキストは、ユーザによって端末装置10が使われている状況や、端末装置10を所持するユーザが置かれている状態に対応する情報である。すなわち、図1におけるコンテキストは、ユーザU1の状況、例えばユーザU1がいる場所の環境に対応する。具体的には、図1におけるコンテキストは、各ユーザ関連情報が取得された時点におけるユーザU1の状況に対応する。
例えば、収集装置100は、端末装置10から取得した行動情報を基に学習モデル(以下、単に「モデル」ともいう)を学習する。すなわち、収集装置100は、取得した行動情報を基にモデルを生成する。具体的には、収集装置100は、各特定行動とコンテキストとを特徴量として機械学習を実行し、端末装置10において配信コンテンツをユーザに通知するタイミング(以下、「通知タイミング」ともいう)のモデルを生成する。詳細は後述するが、収集装置100は、下記式(1)に示すようなモデルを用いて、ユーザへの通知タイミングを判定するモデルを生成する。
図1の例では、端末装置10はユーザU1に対応するモデル(モデル情報)を保持しており、収集装置100から受信した配信コンテンツである通知情報IM11の通知タイミングを判定する。また、図1の例では、端末装置10は、ブレークポイントBP11〜BP16と判定した場合、下記式(1)の「y」の値を算出し、「y」の値が所定の閾値以上の場合、そのブレークポイントをゴールデンブレークポイントと判定して、ユーザに通知を行うものとする。
また、端末装置10は、収集装置100から配信コンテンツを受信してから所定の期間(以下、「負例収集期間」ともいう)中のゴールデンブレークポイントにおいて、ユーザに通知を行うものとする。なお、負例収集期間の開始時点は、配信コンテンツの受信後の最初のゴールデンブレークポイントであってもよく、種々のタイミングであってもよい。図1の例では、端末装置10は、収集装置100から通知情報IM11を受信してから負例収集期間N11中のゴールデンブレークポイントにおいて、ユーザU1に通知を行うものとする。例えば、負例収集期間N11は5分等の所定の期間であってもよい。また、図1では、時刻t11から時刻t18までを負例収集期間N11とする。
また、端末装置10は、負例収集期間中に収集した行動情報を収集装置100へ送信する。例えば、収集装置100は、端末装置10から取得した行動情報のうち、通知情報IM11に対するユーザU1の行動が「無」である場合を負例として収集する。
まず、図1に示す例においては、収集装置100は、時刻t11において、配信コンテンツを端末装置10に配信する(ステップS11)。具体的には、収集装置100は、時刻t11において、通知情報IM11を端末装置10に送信する。
その後、ユーザU1は時刻t12において走っている状態から歩いている状態へ変化する行動情報CH11を行ったものとする。そして、端末装置10は、行動情報CH11が行われたブレークポイントBP11がゴールデンブレークポイントであるかを判定する(ステップS12)。例えば、端末装置10は、時刻t12において算出した下記式(1)の「y」の値と所定の閾値とを比較することにより、ブレークポイントBP11がゴールデンブレークポイントであるかを判定する。図1では、例えば、ブレークポイントBP11における下記式(1)の「y」の値が所定の閾値未満であったため、端末装置10は、ブレークポイントBP11をゴールデンブレークポイントでないと判定する。
その後、ユーザU1は時刻t13において歩いている状態から座っている状態へ変化する行動情報CH12を行ったものとする。そして、端末装置10は、行動情報CH12が行われたブレークポイントBP12がゴールデンブレークポイントであるかを判定する(ステップS13)。図1では、例えば、ブレークポイントBP12における下記式(1)の「y」の値が所定の閾値以上であったため、端末装置10は、ブレークポイントBP12をゴールデンブレークポイントGBP12であると判定する。
そして、端末装置10は、通知情報IM11をプッシュ通知する(ステップS14)。具体的には、端末装置10は、通知情報IM11を表示する。
ここで、ユーザU1は、端末装置10に表示された通知情報IM11を選択すること等により、通知情報IM11を閲覧(開封)しなかったものとする。この場合、端末装置10は、ゴールデンブレークポイントGBP12における通知情報IM11に対するユーザU1の行動が「無」であったことを示す行動情報を収集装置100へ送信する(ステップS15)。これにより、収集装置100は、通知情報IM11に対するユーザU1の負例を収集する。なお、図1では、通知タイミングごとに端末装置10が収集装置100へ行動情報を送信する例を示すが、行動情報の送信タイミングは、種々のタイミングであってもよい。例えば、端末装置10から収集装置100への行動情報の送信タイミングは、負例収集期間N11であってもよいし、定期的(例えば、1時間おきや1日おき等)であってもよい。
その後、ユーザU1は時刻t14において座っている状態から立っている状態へ変化する行動情報CH13を行ったものとする。そして、端末装置10は、行動情報CH13が行われたブレークポイントBP13がゴールデンブレークポイントであるかを判定する(ステップS16)。図1では、例えば、ブレークポイントBP13における下記式(1)の「y」の値が所定の閾値未満であったため、端末装置10は、ブレークポイントBP13をゴールデンブレークポイントでないと判定する。
その後、ユーザU1は時刻t15において歩いている状態から立ち止まった状態へ変化する行動情報CH14を行ったものとする。そして、端末装置10は、行動情報CH14が行われたブレークポイントBP14がゴールデンブレークポイントであるかを判定する(ステップS17)。図1では、例えば、ブレークポイントBP14における下記式(1)の「y」の値が所定の閾値以上であったため、端末装置10は、ブレークポイントBP14をゴールデンブレークポイントGBP14であると判定する。
そして、端末装置10が通知情報IM11をプッシュ通知し、ユーザU1が通知情報IM11を閲覧(開封)しなかったものとする(ステップS18)。この場合、端末装置10は、ゴールデンブレークポイントGBP14における通知情報IM11に対するユーザU1の行動が「無」であったことを示す行動情報を収集装置100へ送信する(ステップS19)。これにより、収集装置100は、通知情報IM11に対するユーザU1の負例を収集する。なお、端末装置10は、ゴールデンブレークポイントであるとの判定が負例収集期間開始から2回目以降である場合、通知情報IM11をプッシュ通知しなくてもよい。
その後、ユーザU1は時刻t16において時計を見る行動情報CH15を行ったものとする。そして、端末装置10は、行動情報CH15が行われたブレークポイントBP15がゴールデンブレークポイントであるかを判定する(ステップS20)。図1では、例えば、ブレークポイントBP15における下記式(1)の「y」の値が所定の閾値未満であったため、端末装置10は、ブレークポイントBP15をゴールデンブレークポイントでないと判定する。
その後、ユーザU1は時刻t17において電車(移動体)に乗る行動情報CH16を行ったものとする。そして、端末装置10は、行動情報CH16が行われたブレークポイントBP16がゴールデンブレークポイントであるかを判定する(ステップS21)。図1では、例えば、ブレークポイントBP16における下記式(1)の「y」の値が所定の閾値以上であったため、端末装置10は、ブレークポイントBP16をゴールデンブレークポイントGBP16であると判定する。
そして、端末装置10が通知情報IM11をプッシュ通知し、ユーザU1が通知情報IM11を閲覧(開封)したものとする(ステップS22)。この場合、端末装置10は、ゴールデンブレークポイントGBP16における通知情報IM11に対するユーザU1の行動が「有」であったことを示す行動情報を収集装置100へ送信する(ステップS23)。これにより、収集装置100は、通知情報IM11に対するユーザU1の正例を収集する。なお、端末装置10は、正例の送信時に負例を併せて収集装置100へ送信してもよい。
上述したように、収集装置100は、配信コンテンツを配信した端末装置10から正例や負例を収集する。これにより、収集装置100は、通知タイミングの学習を可能にする情報を適切に収集することができる。また、負例収集期間を所定の期間に区切ることにより、端末装置10の電力消費を抑制することができる。また、負例収集期間を所定の期間に区切ることにより、端末装置10と収集装置100との通信負荷を抑制することができる。
〔2.収集システム〕
図2は、収集システム1の構成例を示す図である。図2に示すように、実施形態に係る収集システム1は、複数の端末装置101〜10nと、センサ装置501〜50mと、収集装置100とを備える。図2中の端末装置101〜10nは、端末装置10が複数あることを示すための符号であり、端末装置10と同様である。
複数の端末装置10および収集装置100は、ネットワーク2を介して無線または有線で互いに通信可能に接続される。ネットワーク2は、例えば、LAN(Local Area Network)や、インターネットなどのWAN(Wide Area Network)である。
端末装置10は、デスクトップ型PC(Personal Computer)や、ノート型PCや、タブレット型端末や、携帯電話機、PDA(Personal Digital Assistant)等により実現される。端末装置10は、例えば、情報通知アプリケーションを含む複数のアプリケーションを有しており、収集装置100から配信されるコンテンツを取得して表示したりする。また、端末装置10は、ユーザの行動情報等に基づいて生成されたモデルを用いて、ゴールデンブレークポイントを判定することにより、ユーザへの割り込みにより適した通知タイミングでユーザへコンテンツを通知することができる。
センサ装置501〜50m(以下、センサ装置50と総称する場合がある)は、ユーザの状態を検出して、端末装置10や収集装置100へネットワーク2を介して通知することができる。センサ装置50は、例えば、ユーザの特定行動を検出することができる。また、センサ装置50は、例えば、ユーザが携帯する装置(例えば、時計やPC)であってもよい。
例えば、センサ装置50は、ユーザが所定の電気機器(例えば、コーヒーメーカ、照明機器、テレビ、冷蔵庫など)を操作(例えば、ON/OFF)したことをユーザの特定行動として検出することができる。また、センサ装置50は、例えば、鍵の開け閉めやユーザが運転する自動車の動作状態などをユーザの特定行動として検出することができる。
また、センサ装置50は、例えば、ユーザを撮像し、撮像結果に基づきユーザ認識を行い、ユーザの特定行動(例えば、歩いている状態から止まるという行動や立っている状態から座るという行動など)を検出することができる。
収集装置100は、端末装置10やセンサ装置50から収集装置100へ提供される情報に基づいて、上述したモデルを生成し、モデルを用いて、ユーザへの割り込みにより適したタイミングでユーザへコンテンツを配信することができる。
〔3.収集装置の構成〕
次に、図3を用いて、実施形態に係る収集装置100の構成について説明する。図3は、実施形態に係る収集装置100の構成例を示す図である。図3に示すように、収集装置100は、通信部110と、記憶部120と、制御部130とを有する。なお、収集装置100は、収集装置100の管理者等から各種操作を受け付ける入力部(例えば、キーボードやマウス等)や、各種情報を表示するための表示部(例えば、液晶ディスプレイ等)を有してもよい。
(通信部110)
通信部110は、例えば、NIC(Network Interface Card)等によって実現される。そして、通信部110は、ネットワーク2と有線または無線で接続され、端末装置10との間で情報の送受信を行う。
(記憶部120)
記憶部120は、例えば、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。実施形態に係る記憶部120は、図3に示すように、ユーザ情報記憶部121と、行動情報記憶部122と、学習情報記憶部123と、コンテンツ情報記憶部124とを有する。
(ユーザ情報記憶部121)
実施形態に係るユーザ情報記憶部121は、ユーザに関する各種情報を記憶する。例えば、ユーザ情報記憶部121は、ユーザ属性に関する各種情報を記憶する。図4は、実施形態に係るユーザ情報記憶部の一例を示す図である。図4に示すユーザ情報記憶部121は、「ユーザID」、「年齢」、「性別」、「自宅」、「勤務地」、「興味」、「モデル」といった項目が含まれる。
「ユーザID」は、ユーザを識別するための識別情報を示す。例えば、ユーザID「U1」により識別されるユーザは、図1の例に示したユーザU1に対応する。また、「年齢」は、ユーザIDにより識別されるユーザの年齢を示す。なお、「年齢」は、例えば35歳など、ユーザIDにより識別されるユーザの具体的な年齢であってもよい。また、「性別」は、ユーザIDにより識別されるユーザの性別を示す。
また、「自宅」は、ユーザIDにより識別されるユーザの自宅の位置情報を示す。なお、図4に示す例では、「自宅」は、「LC11」といった抽象的な符号を図示するが、緯度や経度を示す情報であってもよい。また、例えば、「自宅」は、地域名や住所であってもよい。
また、「勤務地」は、ユーザIDにより識別されるユーザの勤務地の位置情報を示す。なお、図4に示す例では、「勤務地」は、「LC12」といった抽象的な符号を図示するが、緯度や経度を示す情報であってもよい。また、例えば、「勤務地」は、地域名や住所であってもよい。
また、「興味」は、ユーザIDにより識別されるユーザの興味を示す。すなわち、「興味」は、ユーザIDにより識別されるユーザが関心の高い対象を示す。なお、図4に示す例では、「興味」は、各ユーザに1つずつ図示するが、複数であってもよい。
また、「モデル」は、ユーザIDにより識別されるユーザに用いられるモデルを示す。すなわち、「モデル」は、ユーザIDにより識別されるユーザにコンテンツを配信したり、通知したりするタイミングを判定するために用いるモデルを示す。
例えば、図4に示す例において、ユーザID「U1」により識別されるユーザの年齢は、「20代」であり、性別は、「男性」であることを示す。また、例えば、ユーザID「U1」により識別されるユーザは、自宅が「LC11」であることを示す。また、例えば、ユーザID「U1」により識別されるユーザは、勤務地が「LC12」であることを示す。また、例えば、ユーザID「U1」により識別されるユーザは、「スポーツ」に興味があることを示す。また、例えば、ユーザID「U1」により識別されるユーザに対するタイミングの判定には、モデルM1が用いられることを示す。
なお、ユーザ情報記憶部121は、上記に限らず、目的に応じて種々の情報を記憶してもよい。例えば、ユーザ情報記憶部121は、氏名、家族構成、収入等の情報を記憶してもよい。
(行動情報記憶部122)
実施形態に係る行動情報記憶部122は、ユーザの行動に関する各種情報を記憶する。図5は、実施形態に係る行動情報記憶部の一例を示す図である。例えば、行動情報記憶部122は、各ユーザの端末装置10に配信したコンテンツに対するユーザの行動情報を記憶する。図5に示す行動情報記憶部122には、「ユーザID」、「配信コンテンツ」、「行動」、「状況」といった項目が含まれる。また、「行動」には、「ID」、「有無」といった項目が含まれる。また、「状況」には、「時刻」、「位置」といった項目が含まれる。
「ユーザID」は、ユーザを識別するための識別情報を示す。例えば、ユーザID「U1」により識別されるユーザは、図1の例に示したユーザU1に対応する。また、「配信コンテンツ」は、対応するユーザに配信されたコンテンツを識別する情報を示す。また、「行動」は、ユーザの配信コンテンツに対する行動に関する情報を示す。また、「状況」は、対応するユーザの状況に関する情報を示す。
「ID」は、各行動を識別するための識別情報を示す。例えば、ID「AT11」により識別される行動は、ユーザに配信したコンテンツである通知情報IM11に対するユーザの行動に対応する。また、「有無」は、行動の有無を示す。「有無」が「1」の場合、行動が「有」であり、ユーザが行動を行ったことを示す。例えば、「有無」が「1」の場合、ユーザU1が通知情報IM11を閲覧(開封)したことを示す。また、「有無」が「0」の場合、行動が「無」であり、ユーザが行動を行わなかったことを示す。例えば、「有無」が「0」の場合、ユーザU1が通知情報IM11を閲覧(開封)しなかったことを示す。
「時刻」は、各行動に関する時刻を示す。時刻「TM11」は、行動AT11に関する時刻を示す。例えば、時刻「TM11」は、ユーザにコンテンツ(例えば、通知情報IM11)が通知された時刻やブレークポイント(ゴールデンブレークポイント)と判定された時刻であってもよい。また、例えば、「有無」が「1」の場合、時刻「TM11」は、ユーザがコンテンツを閲覧(開封)した時刻であってもよい。また、例えば、「有無」が「0」の場合、時刻「TM11」は、ユーザにコンテンツが通知された時刻やブレークポイント(ゴールデンブレークポイント)と判定された時刻から所定の時間が経過した後の時刻であってもよい。
また、「位置」は、各行動に関する位置を示す。位置「LC13」は、行動AT11に関する位置を示す。例えば、位置「LC13」は、ユーザにコンテンツが通知されたときの位置情報やブレークポイント(ゴールデンブレークポイント)と判定されたときの位置情報であってもよい。また、例えば、位置「LC13」は、ユーザがコンテンツを閲覧(開封)したときの位置情報であってもよい。
例えば、図5に示す例において、ユーザID「U1」により識別されるユーザは、ID「AT13」により識別される行動が有無「1」であり、時刻TM13に行動を行ったことを示す。具体的には、ユーザID「U1」により識別されるユーザは、配信されたコンテンツ(例えば、通知情報IM11)を時刻「TM13」に閲覧(開封)したことを示す。また、例えば、位置「LC15」は、ユーザがコンテンツを閲覧(開封)したときの位置情報を示す。
なお、行動情報記憶部122は、上記に限らず、目的に応じて種々の情報を記憶してもよい。また、図5では、ユーザIDごとに行動情報が行動情報記憶部122に記憶される場合を示したが、行動情報は、ユーザIDごとに限らず、例えば時刻順に記憶されてもよい。
(学習情報記憶部123)
実施形態に係る学習情報記憶部123は、学習に関する情報を記憶する。例えば、学習情報記憶部123は、収集処理により収集されたモデル情報を記憶する。図6は、実施形態に係る学習情報記憶部の一例を示す図である。図6に示す学習情報記憶部123は、モデル情報として、各モデルM1〜M6に対応させて「素性1」〜「素性3」等といった項目を有する。
例えば、図6に示す例において、モデルM1に関するモデル情報は、素性1の重みが「0.5」、素性2の重みが「0.4」、素性3の重みが「0.2」等であることを示す。例えば、モデルの素性(特徴量)がm次元のベクトルで表現される場合、素性数はm個になり、素性1〜素性mの重みが記憶される。例えば、素性1は、下記式(1)のa11に対応し、素性2は、下記式(1)のa12に対応する。
なお、学習情報記憶部123は、上記に限らず、目的に応じて種々のモデル情報を記憶してもよい。
(コンテンツ情報記憶部124)
実施形態に係るコンテンツ情報記憶部124は、コンテンツ(記事)に関する各種情報を記憶する。図7は、実施形態に係るコンテンツ情報記憶部の一例を示す図である。図7に示すコンテンツ情報記憶部124は、「コンテンツID」、「コンテンツ」、「カテゴリ」といった項目を有する。
「コンテンツID」は、コンテンツを識別するための識別情報を示す。「コンテンツ」は、いわゆるコンテンツプロバイダ等の提供元から取得したコンテンツである記事を示す。図7では「コンテンツ」に「記事A」といった概念的な情報が格納される例を示したが、実際には、文字情報や文字情報と画像との組合せ、または、これらの格納場所を示すファイルパス名などが格納される。また、「カテゴリ」は、コンテンツの内容に基づく分類情報を示す。
例えば、図7に示す例において、コンテンツID「CT11」により識別される記事A(例えば、「通知情報IM11」)は、カテゴリ「スポーツ」に分類されることを示す。また、図7に示す例において、コンテンツID「CT12」により識別される記事B(コンテンツCT12)は、カテゴリ「経済」に分類されることを示す。
なお、コンテンツ情報記憶部124は、上記に限らず、目的に応じて種々の情報を記憶してもよい。例えば、コンテンツ情報記憶部124は、コンテンツを取得した日時やコンテンツが作成された日時に関する情報を記憶してもよい。コンテンツ情報記憶部124は、各提供元の評価値に関する情報を記憶してもよい。また、コンテンツ情報記憶部124は、コンテンツの提供元を識別するための識別情報を記憶してもよい。また、コンテンツ情報記憶部124は、各モデルにより算出されたコンテンツのスコアを記憶してもよい。
(制御部130)
図3の説明に戻って、制御部130は、例えば、CPU(Central Processing Unit)やMPU(Micro Processing Unit)等によって、収集装置100内部の記憶装置に記憶されている各種プログラム(収集プログラムの一例に相当)がRAMを作業領域として実行されることにより実現される。また、制御部130は、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の集積回路により実現される。
図3に示すように、制御部130は、取得部131と、収集部132と、学習部133と、決定部134と、配信部135とを有し、以下に説明する情報処理の機能や作用を実現または実行する。なお、制御部130の内部構成は、図3に示した構成に限られず、後述する情報処理を行う構成であれば他の構成であってもよい。
(取得部131)
取得部131は、各種情報を取得する。例えば、取得部131は、ユーザの行動情報を取得する。例えば、取得部131は、ユーザの端末装置10に配信した配信コンテンツであって、端末装置10においてユーザに通知される配信コンテンツに対するユーザの行動に関する行動情報を取得する。また、取得部131は、ユーザに関するユーザ情報を取得してもよい。
また、取得部131は、端末装置10からコンテンツの配信要求を取得してもよい。また、取得部131は、ユーザを識別する情報(例えば、ログインIDや端末識別情報等)や端末装置10の位置情報等を取得する。また、取得部131は、端末装置10から送信される各種情報を取得する。
(収集部132)
収集部132は、取得部131により取得された行動情報を、コンテンツの通知タイミングの学習に用いる情報として収集する。収集部132は、行動情報のうち、配信コンテンツに対してユーザが行動しなかったことを示す行動情報を、通知タイミングに関する負例として収集する。例えば、収集部132は、行動情報のうち、配信コンテンツの配信後における所定期間内に配信コンテンツに対してユーザが行動しなかったことを示す行動情報を、負例として収集する。また、例えば、収集部132は、行動情報のうち、配信コンテンツに対してユーザが行動したことを示す行動情報を、通知タイミングに関する正例として収集する。また、収集部132は、収集した負例や正例を行動情報記憶部122に格納する。
図1の例では、収集部132は、端末装置10から取得した行動情報のうち、通知情報IM11に対するユーザU1の行動が「無」である場合を負例として収集する。また、収集部132は、端末装置10から取得した行動情報のうち、通知情報IM11に対するユーザU1の行動が「有」である場合を正例として収集する。また、収集装置100は、負例収集期間N11中の負例や正例を収集する。
また、詳細は後述するが、収集部132は、負例を収集する所定期間(負例収集期間)を各種情報に基づいて変動させてもよい。例えば、収集部132は、ユーザに関するコンテキストに基づく所定期間内に配信コンテンツに対してユーザが行動しなかったことを示す行動情報を、負例として収集する。また、例えば、収集部132は、コンテンツに関するコンテキストに基づく所定期間内に配信コンテンツに対してユーザが行動しなかったことを示す行動情報を、負例として収集する。
また、収集部132は、負例収集期間をカウント(計時)する際の量を各種情報に基づいて変動させてもよい。例えば、収集部132は、ユーザに関するセンサ情報に基づいて、ユーザが配信コンテンツに反応可能と推定される間に計時される所定期間内に、配信コンテンツに対してユーザが行動しなかったことを示す行動情報を、負例として収集する。また、例えば、収集部132は、ユーザの環境に関するセンサ情報に基づいて、ユーザが配信コンテンツに反応可能と推定される間に計時される所定期間内に、配信コンテンツに対してユーザが行動しなかったことを示す行動情報を、負例として収集する。また、例えば、収集部132は、ユーザのコンテキストに応じて計時される量が変動する所定期間内に、配信コンテンツに対してユーザが行動しなかったことを示す行動情報を、負例として収集する。
また、収集部132は、負例を収集する期間を分割してもよい。例えば、収集部132は、間欠的に配置される複数の期間を含む所定期間内に、配信コンテンツに対してユーザが行動しなかったことを示す行動情報を、負例として収集する。また、収集部132は、行動情報のうち、配信コンテンツの配信後においてユーザに関する変化に基づくタイミングにおいて、配信コンテンツに対してユーザが行動しなかったことを示す行動情報を、変化における負例として収集する。
(学習部133)
学習部133は、各種情報を用いて学習を行う。例えば、学習部133は、各種情報を用いてモデルを生成する。例えば、学習部133は、収集部132により収集された情報に基づいて学習を行う。例えば、学習部133は、収集部132により収集された情報に基づいて、コンテンツを配信したり通知したりするタイミングを判定するモデルを生成する。例えば、学習部133は、行動情報記憶部122に記憶された行動情報に基づいて、ユーザの各特定行動とユーザのコンテキストとを特徴量として機械学習を実行し、コンテンツを配信したり通知したりするタイミングを判定するモデルを生成する。学習部133は、生成したモデルの情報を学習情報記憶部123へ記憶する。
学習部133は、例えば、ユーザの端末装置10に対する行動(対端末行動)である配信コンテンツの閲覧(開封)の正否を目的変数(正解データ)とし、ユーザの各特定行動の正否およびユーザのコンテキストの内容の組み合わせを説明変数(素性)とする回帰モデルをモデルとして求める。例えば、学習部133は、下記式(1)に示すような回帰モデルを求める。なお、対端末行動は、例えば、ユーザが収集装置100から端末装置10へ提供されたコンテンツに反応するという行動に限らず、ユーザが端末装置10を持つという行動等、種々の行動が対象であってもよい。
y = a11・(x1,z1)+a12・(x2,z2)+・・・+anm・(xn,zm) ・・・(1)
上記式(1)において、「x1」〜「xn」は、ユーザの各特定行動の情報であり、「z1」〜「zm」は、ユーザのコンテキストの内容別の情報である。また、(x1,z1)は、特定行動「x1」とコンテキストの内容「z1」との組み合わせを説明変数(素性)としていることを意味し、「x1」と「z1」が共に「1」である場合に、(x1,z1)=「1」になる。
例えば、「y」は、ユーザの対端末行動の正否であり、ユーザの対端末行動が行われる可能性が高い場合は「1」に近い値になり、ユーザの対端末行動が行われる可能性が低い場合は「0」に近い値になってもよい。
また、例えば、「y」は、ユーザの対端末行動の正否であり、ユーザの対端末行動がある場合には、「y」=「1」になり、ユーザの対端末行動がない場合には、「y」=「−1」になってもよい。学習部133は、対端末行動の種別毎にモデルを生成することができる。例えば、ユーザの対端末行動の種別が第1種別から第n種別があるとした場合、学習部133は、第1〜第n種別の対端末行動の正否を「y1」〜「yn」としてモデルを生成することができる。
また、例えば、「y1」は、収集装置100からの配信コンテンツを閲覧(開封)したか否かであり、配信コンテンツを閲覧(開封)した場合、「y1」=「1」になり、配信コンテンツを閲覧(開封)しない場合、「y1」=「−1」になる。また、「y2」は、ユーザが端末装置10を持ったか否かであり、ユーザが端末装置10を持った場合、「y2」=「1」になり、ユーザが端末装置10を持たない場合、「y2」=「−1」になる。
また、「x1」は、例えば、ユーザが歩いている状態から止まるという行動であり、「x2」は、例えば、立っている状態から座るという行動であり、「xn」は、例えば、コーヒーメーカを操作するという行為である。
また、ユーザに関するコンテキストのうち学習に用いるコンテキストの種別を、ユーザが反応したコンテンツの内容(車関係、旅行関係、グルメ関係など)とした場合、「z1」は、例えば、「車」であり、「z2」は、例えば、「旅行」であり、「zm」は、例えば、「グルメ」である。これにより、ユーザが反応したコンテンツの内容を考慮したユーザの端末装置10に対する行動のモデルを生成することができる。なお、学習部133は、ユーザが反応したコンテンツの内容をユーザ情報記憶部121やコンテンツ情報記憶部124から取得してもよい。
また、学習に用いるコンテキストの種別を、現在時刻とした場合、「z1」は、例えば、「6:00〜6:59」であり、「z2」は、例えば、「7:00〜7:59」であり、「zm」は、例えば、「5:00〜5:59」である。なお、「z1」は、例えば、「平日の6:00〜6:59」、「z2」は、例えば、「週末の6:00〜6:59」としたりすることができる。これにより、現在時刻を考慮したユーザの端末装置10に対する行動のモデルを生成することができる。
また、学習に用いるコンテキストの種別を、ユーザの現在位置とした場合、例えば、各都道府県や各市町村を「z1」〜「zm」としたり、「自宅」、「職場」、「電車内」、「タクシー内」、「出張先」、・・・などを「z1」〜「zm」としたりすることができる。これにより、ユーザの現在位置を考慮したユーザの端末装置10に対する行動のモデルを生成することができる。
また、学習に用いるコンテキストの種別を、ユーザが置かれた物理環境(気温、天候等)とした場合、気温と天候の組み合わせを「z1」〜「zm」とすることができる。例えば、「z1」を「摂氏10度かつ晴れ」とし、「z2」を「摂氏10度かつ曇り」としたりすることができる。これにより、物理環境を考慮したユーザの端末装置10に対する行動のモデルを生成することができる。
また、学習に用いるコンテキストの種別を、ユーザが置かれた社会環境とした場合、例えば、景気の程度、流行の商品やサービスなどの種々の社会情勢を「z1」〜「zm」とすることができる。
また、学習に用いるコンテキストの種別を、ユーザの属性とする場合、例えば、ユーザの年齢、性別、住所区分、興味関心の種別の少なくともいずれか一つを「z1」〜「zm」とすることができる。
また、学習に用いるコンテキストの種別を、例えば、ユーザの運動状態(例えば、走っている時間、歩いている時間、座っている時間など)、ユーザの感情(例えば、笑っている状態、怒っている状態、困っている状態など)、ユーザのスケジュール(例えば、現時刻の予定の内容、1時間先の予定の内容など)などとすることができる。
なお、上述した例では、学習に用いるコンテキストの種別が一つである場合を説明したが、学習に用いるコンテキストの種別を複数考慮することもできる。この場合、ユーザの各特定行動の情報である「x1」〜「xn」に対して、特徴量として上記と同様に加えることができる。なお、「x1」〜「xn」に対して、特徴量を加える方法として、例えば、クロネッカー積などを用いることができる。
また、上述した例では、ユーザの各特定行動の正否およびユーザのコンテキストの内容の組み合わせを説明変数(素性)としたが、さらに、組み合わせでない説明変数(素性)を考慮することもできる。例えば、学習部133は、下記式(2)に示すような回帰モデルをモデルとして求めることもできる。
y = a1・x1+a2・x2+・・・+an・xn+b1・z1+b2・z2+・・・+bn・zm+c11・(x1,z1)+c12・(x1,z2)+・・・+cnm・(xn,zm) ・・・(2)
また、学習部133は、ユーザの対端末行動毎に情報提供としての適格度合いのスコア(以下、適格性スコアと記載する)を変えることもできる。例えば、学習部133は、対端末行動に応じた適切な適格性スコアになるように、例えば、上述した対端末行動毎のモデルにそれぞれ対端末行動に応じた係数を乗じて適格性スコアを算出することができる。
また、学習部133は、各特定行動の長さを推定する推定モデルを生成することができる。例えば、学習部133は、ユーザの各特定行動の長さを目的変数(正解データ)とし、ユーザの各特定行動の正否およびコンテキストの内容の組み合わせを説明変数(素性)とする回帰モデルを長さ推定モデルとして求めることができる。
この場合、学習部133は、上記式(1)において「y」を各特定行動の長さ(特定行動の継続時間)とした回帰モデルを長さ推定モデルとして生成することができる。学習部133は、生成した長さ推定モデルの情報を学習情報記憶部123へ記憶する。
以上のように、学習部133は、対端末行動の種別毎にモデルを生成することができ、さらに、コンテキストの種別毎にモデルを生成することができる。また、学習部133は、対端末行動の種別毎かつ2以上のコンテキストの種別毎にモデルを生成したり、長さ推定モデルとして生成したりすることができる。
学習部133が行うモデルの生成は、上述した例に限定されるものではなく、結果的に、対端末行動の種別毎にモデルを生成したり、コンテキストの種別毎にモデルを生成したりすることなどができればよい。例えば、学習部133は、SVM(Support Vector Machine)やその他の機械学習法を用いて、モデルを生成することもできる。また、学習部133は、特徴量(素性)の2乗や3乗などの項を持つモデルを生成することもできる。
(決定部134)
決定部134は、端末装置10を利用するユーザに用いるモデルを決定する。例えば、決定部134は、端末装置10を利用するユーザU1に用いるモデルをモデルM1と決定する。また、決定部134は、端末装置10へ配信するコンテンツや配信するタイミングを決定してもよい。例えば、決定部134は、上記式(1)の「y」の値が所定の閾値以上の場合、端末装置10へコンテンツを配信すると決定してもよい。また、例えば、決定部134は、コンテンツごとに上記式(1)の「y」の値を算出し、算出した「y」の値に応じて、端末装置10へ配信するコンテンツを決定してもよい。例えば、決定部134は、コンテンツごとに上記式(1)の「y」の値を算出し、算出した「y」の値が最も大きいコンテンツを、端末装置10へ配信するコンテンツとして決定してもよい。
(配信部135)
配信部135は、端末装置10に各種情報を配信する。例えば、配信部135は、端末装置10にコンテンツを配信する。また、配信部135は、決定部134により決定されたコンテンツを配信する。また、配信部135は、決定部134により決定されたタイミングでコンテンツを配信する。図1では、配信部135は、時刻t11において端末装置10へ通知情報IM11を配信する。
〔4.端末装置の構成〕
次に、図8を用いて、実施形態に係る端末装置10の構成について説明する。図8は、実施形態に係る端末装置の構成例を示す図である。図8に示すように、端末装置10は、通信部11と、表示部12aと、スピーカ12bと、振動部12cと、入力部13と、検知部14と、記憶部15と、制御部16(コントローラ)とを有する。
通信部11は、ネットワーク2と有線又は無線で接続され、センサ装置50や収集装置100との間で情報の送受信を行う。例えば、通信部11は、NIC(Network Interface Card)等によって実現される。制御部16は、通信部11およびネットワーク2を介して、センサ装置50や収集装置100との間で各種の情報を送受信することができる。
表示部12aは、タッチパネル式のディスプレイである。端末装置10のユーザは、表示部12aの画面上を指などで操作することで、表示部12aに表示された画面に対する操作が可能である。表示部12aは、例えば、小型のLCD(Liquid Crystal Display)や有機ELディスプレイである。
入力部13は、数字、数字およびスペースを入力するためのキー、エンターキーおよび矢印キーなどを含むキーボードや、選択ボタン、電源ボタンなどを有する。
検知部14は、端末装置10に関する各種情報を検知する。具体的には、検知部14は、端末装置10の物理的な状態や周囲の状態を検知する。図8に示す例では、検知部14は、加速度センサ21と、測位部22と、撮像部23とを有する。
加速度センサ21は、例えば、3軸加速度センサであり、端末装置10の移動方向、速度、および、加速度などの端末装置10の物理的な動きを検知する。測位部22は、GPS(Global Positioning System)衛星から送出される電波を受信し、受信した電波に基づいて端末装置10の現在位置を示す位置情報(例えば、緯度および経度)を取得する。撮像部23は、端末装置10の周囲を撮像し、撮像画像を取得する。
なお、検知部14は、加速度センサ21、測位部22および撮像部23に限られず、端末装置10の物理的な状態を検知する各種機器を有してもよい。例えば、検知部14は、端末装置10の周囲の音を収集するマイクロフォンや、端末装置10の周囲の照度を検知する照度センサや、端末装置10の周囲の湿度を検知する湿度センサや、端末装置10の所在位置における磁場を検知する地磁気センサ等を有してもよい。
記憶部15は、モデル情報31、モード情報32、ユーザ属性情報33などの情報を記憶する。記憶部15は、例えば、RAM、フラッシュメモリ等の半導体メモリ素子、または、HDD(Hard Disk Drive)、光ディスク等の記憶装置である。
モデル情報31は、ユーザの端末装置10に対する行動の可能性を推定するモデルの情報であり、例えば、収集装置100によって生成される学習モデルや推定モデルの情報を含む。例えば、モデル情報31は、学習情報記憶部123に示すようなモデル情報が対応する。例えば、ユーザU1の端末装置10におけるモデル情報31は、モデルM1のモデル情報であってもよい。モード情報32は、端末装置10のユーザによって設定された動作モードの情報である。ユーザ属性情報33は、例えば、ユーザの属性(例えば、年齢、性別、住所、職業、興味関心など)の情報である。
制御部16は、コントローラ(controller)であり、例えば、CPU、ROM(Read Only Memory)、RAM、入出力ポートなどを有するマイクロコンピュータや各種の回路を含む。
制御部16は、状態判定部41と、取得部42と、送信部43と、タイミング判定部44と、処理部45とを備える。状態判定部41、取得部42、送信部43、タイミング判定部44および処理部45の機能は、例えば、上記CPUが上記ROMに記憶されているプログラムを読み出して実行することにより実現される。
なお、状態判定部41、取得部42、送信部43、タイミング判定部44および処理部45は、それぞれ一部または全部がASICやFPGA等のハードウェアで構成されてもよい。以下、これら状態判定部41、取得部42、送信部43、タイミング判定部44および処理部45について具体的に説明する。
(状態判定部41)
状態判定部41は、ユーザの状態を判定する。例えば、状態判定部41は、加速度センサ21によって検出された端末装置10の物理的な動きに基づいて、ユーザの行動が特定行動であるか否かを判定することができる。また、状態判定部41は、測位部22によって検出された端末装置10の現在位置を示す位置情報に基づいて、ユーザの行動が特定行動であるか否かを判定することができる。
特定行動は、上述したように、例えば、ユーザが歩いている状態から止まるという行動、ユーザが走っている状態から歩くという行動、座っている状態から立つという行動、立っている状態から座るという行動などである。
また、状態判定部41は、例えば、撮像部23によって撮像された画像から、ユーザがテレビを見るという行動、ユーザが時計を見るという行動、ユーザがコーヒーを飲んでいるという行動などを特定行動として判定することができる。
また、状態判定部41は、例えば、センサ装置50によって検出される情報に基づいて、ユーザの状態を検出することができる。例えば、センサ装置50は、電気機器が操作されたことを検出し、検出結果から状態判定部41は、ユーザが電気機器を操作したと判定することができる。
また、状態判定部41は、ユーザによる端末装置10の操作を検出することができる。記憶部15にはユーザが端末装置10で動作するアプリケーションの操作履歴をログ情報として記憶しており、ログ情報に基づき、状態判定部41は、ユーザが端末装置10のアプリケーションを使用したことを特定行動として検出することができる。例えば、状態判定部41は、記憶部15に記憶されたログ情報に基づき、ユーザが端末装置10からメールを送信したことを特定行動として検出することができる。
また、状態判定部41は、加速度センサ21によって検出された端末装置10の物理的な動きに基づいて、ユーザが端末装置10を保持したか否かを判定することができる。また、状態判定部41は、加速度センサ21によって検出された端末装置10の物理的な動きに基づいて、ユーザの運動状態を判定することができる。
また、状態判定部41は、検知部14の撮像部23によって撮像されたユーザの顔画像や検知部14のマイクロフォンで収集したユーザの音声に基づいて、ユーザの感情を判定することができる。また、状態判定部41は、図示しない心拍数検出部からの情報に基づき、ユーザの感情を判定することもできる。
(取得部42)
取得部42は、収集装置100から通信部11を介してコンテンツを取得することができる。例えば、取得部42は、プッシュ型の情報提供により収集装置100から配信されるコンテンツを取得することができる。また、取得部42は、後述するタイミング判定部44による判定結果に基づいて表示部12aに表示されるコンテンツを収集装置100から取得し、記憶部15に記憶することができる。
また、取得部42は、状態判定部41によってユーザの行動が特定行動であると判定された場合におけるユーザの端末装置10に対する行動である対端末行動の情報とユーザに関するコンテキストの情報とを含む情報をユーザ関連情報として取得することができる。
取得部42は、対端末行動として、例えば、収集装置100から提供されて表示部12aに表示されたコンテンツに対して操作を行っているか否かを示す情報を表示部12aのタッチパネルや入力部13から取得することができる。
また、取得部42は、ユーザに関するコンテキストの情報として、例えば、ユーザの現在位置、現在時刻、ユーザの属性、ユーザが反応したコンテンツの内容、ユーザの運動状態、および、ユーザの感情などの情報を取得することができる。
例えば、取得部42は、測位部22によって検出された端末装置10の現在位置を示す位置情報をユーザの現在位置の情報として取得することができる。また、取得部42は、制御部16の図示しない計時部によって計時される現在時刻(例えば、年月日および時分)の情報を取得することができる。また、取得部42は、記憶部15からユーザ属性情報33をユーザの属性の情報として取得することができる。
また、取得部42は、状態判定部41によって判定されたユーザの運動状態やユーザの感情などの情報を状態判定部41から取得することができる。なお、取得部42は、外部装置(図示せず)から、ユーザが置かれた物理環境、ユーザが置かれた社会環境を示す情報を取得することもできる。
また、記憶部15には上述したようにログ情報として記憶しており、ログ情報に基づき、取得部42は、ユーザが反応したコンテンツの内容の情報を取得することができる。
また、取得部42は、収集装置100から学習モデルの情報や推定モデルの情報を取得することができ、取得した学習モデルの情報や推定モデルの情報をモデル情報31として記憶部15に記憶することができる。
(送信部43)
送信部43は、取得部42によって取得された情報を行動情報(ユーザ関連情報)として収集装置100へ通信部11を介して送信することができる。ユーザ関連情報には、例えば、状態判定部41によって判定されたユーザの特定行動の種別を示す情報、ユーザの行動が特定行動である場合におけるユーザの対端末行動の情報とユーザに関するコンテキストの情報とが含まれる。
送信部43は、モード情報32として第1モードの情報が記憶部15に記憶されている場合、取得部42によって取得されたユーザ関連情報を第1ユーザ関連情報として収集装置100へ通信部11を介して送信してもよい。また、送信部43は、モード情報32として第2モードの情報が記憶部15に記憶されている場合、取得部42によって取得されたユーザ関連情報を第2ユーザ関連情報として収集装置100へ通信部11を介して送信してもよい。
また、送信部43は、例えば、収集装置100以外の装置から端末装置10に通知されている他のコンテンツの種別または内容の情報を収集装置100へ通知することができる。また、送信部43は、記憶部15に記憶されたユーザ属性情報33や、ユーザの端末装置10に対する行動(例えば、端末装置10に表示されたコンテンツに対するユーザの行動)の情報を収集装置100へ送信することができる。
(タイミング判定部44)
タイミング判定部44は、ユーザへの通知タイミングを判定する。例えば、タイミング判定部44は、モード情報32として第2モードの情報が記憶部15に記憶されている場合、収集装置100による後述の処理と同様に、学習モデルを用いて、ユーザへの割り込みに適したタイミングである通知タイミングを判定することができる。
例えば、タイミング判定部44は、記憶部15に記憶されているモデル情報31に含まれる学習モデルの情報を取得し、取得部42で取得されたユーザ関連情報を入力情報として学習モデルから、ユーザの端末装置10に対する行動の可能性を推定する。
この場合、タイミング判定部44は、例えば、記憶部15に記憶されたコンテンツに対してユーザの行動有無の可能性を学習モデルから判定することもできる。
また、タイミング判定部44は、記憶部15に記憶されたコンテンツに対してユーザの端末装置10に対する行動の可能性が高いとタイミング判定部44によって推定された場合、通知タイミングになったと判定する。
図1の例では、タイミング判定部44は、収集装置100から受信した配信コンテンツである通知情報IM11の通知タイミングを判定する。例えば、タイミング判定部44は、ブレークポイントBP11〜BP16と判定した場合、上記式(1)の「y」の値を算出し、「y」の値が所定の閾値以上の場合、そのブレークポイントをゴールデンブレークポイントと判定して、ユーザに通知を行うと判定する。
また、図1の例では、タイミング判定部44は、行動情報CH11が行われたブレークポイントBP11がゴールデンブレークポイントであるかを判定する。例えば、タイミング判定部44は、時刻t12において算出した上記式(1)の「y」の値と所定の閾値とを比較することにより、ブレークポイントBP11がゴールデンブレークポイントであるかを判定する。例えば、ブレークポイントBP11における上記式(1)の「y」の値が所定の閾値未満であったため、タイミング判定部44は、ブレークポイントBP11をゴールデンブレークポイントでないと判定する。
また、図1の例では、タイミング判定部44は、行動情報CH12が行われたブレークポイントBP12がゴールデンブレークポイントであるかを判定する。図1では、例えば、ブレークポイントBP12における上記式(1)の「y」の値が所定の閾値以上であったため、タイミング判定部44は、ブレークポイントBP12をゴールデンブレークポイントGBP12であると判定する。
(処理部45)
処理部45は、例えば、表示部12a、スピーカ12bおよび振動部12cを制御する。例えば、処理部45は、モード情報32として第1モードの情報が記憶部15に記憶されている場合、収集装置100からプッシュ型の情報提供により取得したコンテンツをユーザに提供することができる。例えば、処理部45は、収集装置100の要求に応じた通知態様によって、表示部12a、スピーカ12bおよび振動部12cを制御してユーザにコンテンツ取得の通知を含む情報提供を行うことができる。
通知態様には、例えば、「通知方法」、「通知内容」、「通知手段」などの態様が含まれる。「通知方法」は、例えば、コンテンツの出力パターンである。「通知方法」による変更対象は、例えば、スピーカ12bから出力される通知音の大きさ、周波数および音パターン、表示部12aに表示するコンテンツの大きさ、色、形状、および、通知の繰り返しの回数などのうち少なくともいずれか一つである。
「通知内容」は、例えば、通知するコンテンツの範囲である。例えば、「通知内容」による変更対象は、通知するコンテンツに含まれる内容のうち通知する内容(例えば、タイトルのみ、タイトルと概要のみ、全文など)や通知するコンテンツの数などである。
「通知手段」は、例えば、表示部12a、スピーカ12bおよび振動部12cのうち少なくともいずれか一つである。また、「通知手段」には、例えば、ユーザの周囲の装置(例えば、腕時計、冷蔵庫、テレビなど)も含まれ、処理部45は、通信部11を介してユーザの周囲の装置へコンテンツを送信することができ、これにより、ユーザの周囲の装置からユーザに情報提供を行うことができる。
また、処理部45は、タイミング判定部44によって通知タイミングになったと判定された場合、記憶部15に記憶されたコンテンツを表示部12aに表示することができる。
図9は、端末装置10の表示画面の一例を示す図である。図9に示す表示画面60には、収集装置100などの外部装置から提供されたコンテンツCT100、CT200、CT11が表示されている。コンテンツCT100、CT200、CT11は、例えば、上述した「通知内容」に応じた範囲の内容で表示画面60に表示される。表示画面60に表示されたコンテンツをユーザが選択(クリック)した場合に、処理部45は、選択されたコンテンツ全体の内容を表示部12aに表示する。これにより、ユーザは、コンテンツ全体を把握することができる。
コンテンツCT100は、着信メールの内容を示すコンテンツであり、コンテンツCT100をユーザが選択(クリック)した場合に、端末装置10のメールアプリケーションによりメール画面が表示部12aに表示される。また、コンテンツCT200は、端末装置10の周辺(周囲)の情報であり、コンテンツCT200をユーザが選択(クリック)した場合に、端末装置10の情報通知アプリケーションにより端末装置10の周辺の具体的な情報を示す画面が表示部12aに表示される。例えば、コンテンツCT100やコンテンツCT200は、収集装置100の管理者以外の他の管理者の装置から提供されるコンテンツである。
また、コンテンツCT11は、スポーツニュースの情報であり、コンテンツCT11をユーザが選択(クリック)した場合に、端末装置10の情報通知アプリケーションによりニュースの具体的な記事内容を示す画面が表示部12aに表示される。例えば、コンテンツCT11は、図1中の通知情報IM11に対応し収集装置100から配信される。図9に示すように、コンテンツCT100、CT200、CT11は、通知された時刻等の所定の基準に基づいて、一覧表示される。
例えば、図9では、コンテンツCT100、CT200、CT11は、通知された時刻等が最新のものから順に、上から下へ一覧表示される。この場合、通知タイミングはユーザが端末装置10を操作するタイミングの直前であることが望ましい。そのため、端末装置10は、ゴールデンブレークポイントと判定される度に、通知情報IM11をプッシュ通知してもよい。これにより、端末装置10には、通知情報IM11がユーザに認識されやすい位置に表示される。
なお、処理部45は、タイミング判定部44によって通知タイミングになったと判定された場合、記憶部15に記憶されたコンテンツのうち表示部12aに表示された他のコンテンツ(例えば、コンテンツCT100、CT200)の種別または内容の情報に応じたコンテンツをユーザへ提供することができる。
例えば、処理部45は、他のコンテンツと競合しないコンテンツをユーザへ提供したり、他のコンテンツよりもユーザの興味度が高いコンテンツをユーザへ提供したりすることができる。なお、ユーザの興味度は、例えば、記憶部15に記憶されたユーザ属性情報33に基づいて処理部45で判定される。
処理部45は、タイミング判定部44の推定結果に応じた通知態様でコンテンツを表示することができる。例えば、処理部45は、学習モデルにより可能性が高いと推定される対端末行動の種別に応じてコンテンツの通知方法、通知内容および通知手段のうちの少なくとも一つを変えてもよい。
〔5.収集処理のフロー〕
次に、図10を用いて、実施形態に係る収集システム1による収集処理の手順について説明する。図10は、実施形態に係る収集処理の一例を示すフローチャートである。
図10に示すように、収集装置100は、端末装置10にコンテンツを配信する(ステップS101)。その後、収集装置100は、正例を収集する(ステップS102)。その後、収集装置100は、負例を収集する(ステップS103)。なお、ステップS103がステップS102よりも先に行われてもよく、ステップS102やステップS103は複数回行われてもよく、ステップS102とステップS103とを併せて行ってもよい。その後、収集装置100は、収集した正例及び負例に基づいて学習を行う(ステップS104)。
〔6.負例収集期間等の変動〕
上述したように、収集装置100は、負例収集期間を各種情報に基づいて変動させてもよい。この点について、図11〜図15を用いて説明する。
〔6−1.1つの負例収集期間〕
まず、図11〜図13を用いて、1つの負例収集期間、すなわち停止期間を含まない負例収集期間の場合について説明する。図11は、実施形態に係る負例収集期間の一例を示す図である。図12及び図13は、実施形態に係る負例の収集処理の一例を示すフローチャートである。
図11に示す例において、負例収集期間N1は、時刻t1から時刻t2の間となる。なお、図11では、負例収集期間N1のカウントを開始する時刻t1は、端末装置10が配信コンテンツを受信した時刻であるが、負例収集期間のカウントを開始する時点は、種々のタイミングであってもよい。例えば、負例収集期間N1のカウントを開始する時刻t1は、端末装置10が配信コンテンツの受信後の最初のゴールデンブレークポイントであってもよい。
例えば、負例収集期間N1は5分等の所定の期間であってもよいし、ユーザに関するコンテキストやコンテンツに関するコンテキスト等に基づいて、設定される期間であってもよい。例えば、収集装置100は、ユーザがいる場所や時間等に基づいて、負例収集期間N1を変動させてもよい。例えば、収集装置100は、ユーザが運動中である場合は、負例収集期間N1を長くしてもよい。また、例えば、収集装置100は、コンテンツの内容や提供するサービス等に基づいて、負例収集期間N1を変動させてもよい。
例えば、収集装置100は、過去の履歴等、多くのユーザの行動情報に基づいて統計的に負例収集期間N1を決定してもよい。例えば、収集装置100は、過去の履歴等、多くのユーザの行動情報に基づいて負例収集期間N1を決定するモデルを生成してもよい。この場合、収集装置100は、生成したモデルを用いて負例収集期間N1を決定してもよい。
また、負例収集期間N1はユーザが配信コンテンツに反応可能と推定される間にのみカウントされてもよい。例えば、端末装置10は、検知部14やセンサ装置50等からの情報やアプリの操作ログに基づいて、端末装置10にユーザのアテンションが向いている間のみカウントしてもよい。例えば、端末装置10は、環境センサ(ビデオカメラ、パケットキャッチなど)からの情報に基づいて、端末装置10にユーザのアテンションが向いている間のみ負例収集期間N1をカウントしてもよい。例えば、端末装置10は、撮像部23により端末装置10を利用するユーザの顔が撮像されている間、負例収集期間N1をカウントしてもよい。
上述した例では、端末装置10は、時間が1秒経過するごとに負例収集期間N1が1秒経過したとカウントする場合を示したが、端末装置10は、負例収集期間N1をカウントする量を変動させてもよい。例えば、端末装置10は、ユーザのコンテキストに応じて負例収集期間N1をカウントする量を変動させてもよい。すなわち、端末装置10は、ユーザのコンテキストに応じた重みにより、負例収集期間N1をカウントする量を変動させてもよい。
例えば、端末装置10は、ユーザが運動状態である場合、負例収集期間N1をカウントする量を大きくしてもよい。例えば、端末装置10は、ユーザが運動状態である場合、時間が10秒経過するごとに負例収集期間N1が1分経過したとカウントしてもよい。また、例えば、端末装置10は、ユーザが運動状態である場合、端末装置10にユーザのアテンションが向いている時間が10秒経過するごとに負例収集期間N1が1分経過したとカウントしてもよい。
例えば、収集装置100は、過去の履歴等、多くのユーザの行動情報に基づいて統計的に各コンテキストの重みを決定してもよい。例えば、収集装置100は、過去の履歴等、多くのユーザの行動情報に基づいて各コンテキストの重みを決定するモデルを生成してもよい。この場合、端末装置10は、生成したモデルに基づく重みと経過時間とから算出された量で負例収集期間N1をカウントする。なお上記は、負例収集期間をカウントする一例であり、端末装置10は、どのように負例収集期間をカウントしてもよい。
ここで、図12を用いて、負例収集期間のカウントのフローチャートについて説明する。図12は、時間が1秒経過するごとに負例収集期間N1が1秒経過したとカウントする場合、すなわち経過した時間通りに負例収集期間をカウントする場合のフローチャートを示す。図12に示すように、端末装置10は、負例収集期間を開始する(ステップS201)。図11の例では、端末装置10は、時刻t1において負例収集期間N1のカウントを開始する。
また、端末装置10は、時間経過に基づいて負例収集期間をカウントする(ステップS202)。すなわち、端末装置10は、時間が1秒経過するごとに負例収集期間N1が1秒経過したとカウントする。なお、端末装置10は、端末装置10にユーザのアテンションが向いている間のみカウントしてもよい。そして、端末装置10は、負例収集期間が経過したかを判定する(ステップS203)。
負例収集期間が経過していないと判定された場合(ステップS203:No)、端末装置10は、ステップS202に戻って処理を繰り返す。一方、負例収集期間が経過したと判定された場合(ステップS203:Yes)、端末装置10は、負例収集期間を終了する(ステップS204)。図11の例では、端末装置10は、時刻t2において負例収集期間N1のカウントを終了する。
その後、端末装置10は、負例を収集装置100へ送信する(ステップS205)。なお、ステップS205において、端末装置10は、負例とともに正例を収集装置100へ送信してもよい。
次に、図13を用いて、負例収集期間のカウントのフローチャートについて説明する。図13は、負例収集期間N1をカウントする量を変動させる場合のフローチャートを示す。図13に示すように、端末装置10は、負例収集期間を開始する(ステップS301)。図11の例では、端末装置10は、時刻t1において負例収集期間N1のカウントを開始する。
また、端末装置10は、時間経過及びコンテキストに基づいて負例収集期間をカウントする(ステップS302)。すなわち、端末装置10は、各コンテキストに対応する重みと経過時間とから算出された量で負例収集期間をカウントする。なお、端末装置10は、端末装置10にユーザのアテンションが向いている間のみカウントしてもよい。そして、端末装置10は、負例収集期間が経過したかを判定する(ステップS303)。
負例収集期間が経過していないと判定された場合(ステップS303:No)、端末装置10は、ステップS302に戻って処理を繰り返す。一方、負例収集期間が経過したと判定された場合(ステップS303:Yes)、端末装置10は、負例収集期間を終了する(ステップS304)。図11の例では、端末装置10は、時刻t2において負例収集期間N1のカウントを終了する。
その後、端末装置10は、負例を収集装置100へ送信する(ステップS305)。なお、ステップS305において、端末装置10は、負例とともに正例を収集装置100へ送信してもよい。
〔6−2.負例収集期間の分割(複数の負例収集期間)〕
次に、図14及び図15を用いて、分割された複数の負例収集期間が間欠的に配置される、すなわち停止期間を含む負例収集期間の場合について説明する。図14は、実施形態に係る負例収集期間の一例を示す図である。図15は、実施形態に係る負例の収集処理の一例を示すフローチャートである。この場合、例えば、負例収集期間がn分である場合、n分をm個に分割し、各分割された負例収集期間の間に強制インターバル(以下、「停止期間」ともいう)i分を含ませてもよい。例えば、各負例収集期間がn/m分であり、n/m分の負例収集期間の間にi分の強制インターバルを含ませてもよい。具体的には、n/m分が5分であり、i分が10分である場合、負例収集期間の開始後において、負例収集期間5分、停止期間10分、負例収集期間5分、停止期間10分、負例収集期間5分と連続してもよい。
図14に示す例において、時刻t21から時刻t26の間において、3つの負例収集期間N21〜N23が間欠的に配置される。図14に示す例において、時刻t21から時刻t22の間は負例収集期間N21に対応する。また、時刻t22から時刻t23の間は停止期間A21に対応する。なお、ここでいう停止期間は、負例の収集を停止する期間である。また、例えば、停止期間中においては、端末装置10は、ゴールデンブレークポイントの判定を行わなくてもよいし、プッシュ通知を行わなくてもよい。
また、時刻t23から時刻t24の間は負例収集期間N22に対応する。また、時刻t24から時刻t25の間は停止期間A22に対応する。また、時刻t25から時刻t26の間は負例収集期間N23に対応する。このように、図14に示す例において、時刻t21から時刻t26の間において、3つの負例収集期間N21〜N23と2つの停止期間A21、A22が交互に配置される。
なお、図14では、負例収集期間N21のカウントを開始する時刻t21は、端末装置10が配信コンテンツを受信した時刻であるが、負例収集期間のカウントを開始する時点は、種々のタイミングであってもよい。例えば、負例収集期間N21のカウントを開始する時刻t21は、端末装置10が配信コンテンツの受信後の最初のゴールデンブレークポイントであってもよい。
なお、分割された負例収集期間の数や長さ、また各停止期間の長さ等は、適宜変更されてもよい。例えば、図14に示す例では、各負例収集期間N21〜N23の長さは各々異なってもよい。例えば、図14に示す例では、負例収集期間N21が5分であり、負例収集期間N22、N23が10分であってもよい。また、負例収集期間は、負例収集期間N21〜N23の3つに限らず、2つや4つ以上であってもよい。例えば、図14に示す例では、停止期間A21、A22の長さは各々異なってもよい。例えば、図14に示す例では、停止期間A21が20分であり、停止期間A22が15分であってもよい。
例えば、収集装置100は、過去の履歴等、多くのユーザの行動情報に基づいて統計的に負例収集期間の数や長さ、また各停止期間の長さ等を決定してもよい。例えば、収集装置100は、過去の履歴等、多くのユーザの行動情報に基づいて負例収集期間の数や長さ、また各停止期間の長さ等を決定するモデルを生成してもよい。この場合、収集装置100は、生成したモデルを用いて負例収集期間の数や長さ、また各停止期間の長さ等を決定してもよい。
また、分割された負例収集期間の数や長さ、また各停止期間の長さ等は、上記に限らず、種々の方法により決定されてもよい。例えば、分割された負例収集期間の数や長さ、また各停止期間の長さ等は、図11〜図13の例において示した処理を組み合わされた処理により決定されてもよい。
このように、収集装置100は、分割された複数の負例収集期間が間欠的に配置される、すなわち停止期間を含む負例収集期間に基づき負例を収集することにより、負例のバリエーションを多くすることができる。
次に、図15を用いて、分割された複数の負例収集期間が間欠的に配置される、すなわち停止期間を含む負例収集期間のカウントのフローチャートについて説明する。図15に示すように、端末装置10は、負例収集期間を開始する(ステップS401)。図14の例では、端末装置10は、時刻t21において負例収集期間N21のカウントを開始する。
また、端末装置10は、時間経過及びコンテキストに基づいて負例収集期間をカウントする(ステップS402)。すなわち、端末装置10は、各コンテキストに対応する重みと経過時間とから算出された量で負例収集期間をカウントする。なお、端末装置10は、端末装置10にユーザのアテンションが向いている間のみカウントしてもよい。そして、端末装置10は、全負例収集期間が経過したかを判定する(ステップS403)。
全負例収集期間が経過していないと判定された場合(ステップS403:No)、端末装置10は、負例収集期間を停止するかを判定する(ステップS404)。負例収集期間を停止するとされた場合(ステップS404:Yes)、端末装置10は、ステップS404に戻って処理を繰り返す。図14の例では、端末装置10は、時刻t22になった場合、負例収集期間を停止し停止期間A21のカウントを開始する。一方、負例収集期間を停止しないとされた場合(ステップS404:No)、端末装置10は、ステップS402に戻って処理を繰り返す。
一方、ステップS403において、全負例収集期間が経過したと判定された場合(ステップS403:Yes)、端末装置10は、負例収集期間を終了する(ステップS405)。図14の例では、端末装置10は、時刻t26において負例収集期間N23のカウントを終了する。
その後、端末装置10は、負例を収集装置100へ送信する(ステップS406)。なお、ステップS406において、端末装置10は、負例とともに正例を収集装置100へ送信してもよい。
〔7.収集処理のシーケンス〕
ここで、収集システム1における収集処理の流れの一例を示す。図16は、実施形態に係る収集期間の一例を示すシーケンス図である。
図16に示すように、収集装置100は、端末装置10へ収集期間情報を送信する(ステップS501)。例えば、収集期間情報には、負例収集期間に関する情報が含まれる。なお、端末装置10が予め収集期間情報を取得済みの場合、ステップS501は行われなくてもよい。そして、収集装置100は、端末装置10へコンテンツを配信する(ステップS502)。
コンテンツを受信した端末装置10は、負例収集期間を開始する(ステップS503)。例えば、端末装置10は、負例収集期間に関する計時を開始する。その後、端末装置10は、負例収集期間が終了するまで、例えばゴールデンブレークポイントと判定された通知タイミングでコンテンツを通知する。負例収集期間が経過した後、端末装置10は、負例収集期間を終了する(ステップS504)。その後、端末装置10は、負例を収集装置100へ送信する(ステップS505)。なお、ステップS505において、端末装置10は、負例とともに正例を収集装置100へ送信してもよい。
〔8.効果〕
上述してきたように、実施形態に係る収集装置100は、取得部131と、収集部132とを有する。取得部131は、ユーザの端末装置10に配信した配信コンテンツであって、端末装置10においてユーザに通知される配信コンテンツに対するユーザの行動に関する行動情報を取得する。また、収集部132は、取得部131により取得された行動情報を、コンテンツの通知タイミングの学習に用いる情報として収集する。
これにより、実施形態に係る収集装置100は、通知タイミングの学習を可能にする情報を適切に収集することができる。
また、実施形態に係る収集装置100において、収集部132は、行動情報のうち、配信コンテンツに対してユーザが行動しなかったことを示す行動情報を、通知タイミングに関する負例として収集する。
これにより、実施形態に係る収集装置100は、配信コンテンツに対してユーザが行動しなかったことを示す行動情報を、通知タイミングに関する負例として収集することにより、通知タイミングの学習を可能にする負例を適切に収集することができる。
また、実施形態に係る収集装置100において、収集部132は、行動情報のうち、配信コンテンツの配信後における所定期間(実施形態では「負例収集期間」。以下同様)内に配信コンテンツに対してユーザが行動しなかったことを示す行動情報を、負例として収集する。
これにより、実施形態に係る収集装置100は、所定期間に基づくことにより、通知タイミングの学習を可能にする負例を適切に収集することができる。
また、実施形態に係る収集装置100において、収集部132は、ユーザに関するコンテキストに基づく所定期間内に配信コンテンツに対してユーザが行動しなかったことを示す行動情報を、負例として収集する。
これにより、実施形態に係る収集装置100は、ユーザに関するコンテキストにより定まる所定期間に基づくことにより、通知タイミングの学習を可能にする負例を適切に収集することができる。
また、実施形態に係る収集装置100において、収集部132は、コンテンツに関するコンテキストに基づく所定期間内に配信コンテンツに対してユーザが行動しなかったことを示す行動情報を、負例として収集する。
これにより、実施形態に係る収集装置100は、コンテンツに関するコンテキストにより定まる所定期間に基づくことにより、通知タイミングの学習を可能にする負例を適切に収集することができる。
また、実施形態に係る収集装置100において、収集部132は、ユーザに関するセンサ情報に基づいて、ユーザが配信コンテンツに反応可能と推定される間に計時される所定期間内に、配信コンテンツに対してユーザが行動しなかったことを示す行動情報を、負例として収集する。
これにより、実施形態に係る収集装置100は、条件に応じてカウントされるタイミングや量が変動する所定期間に基づくことにより、通知タイミングの学習を可能にする負例を適切に収集することができる。
また、実施形態に係る収集装置100において、収集部132は、ユーザの環境に関するセンサ情報に基づいて、ユーザが配信コンテンツに反応可能と推定される間に計時される所定期間内に、配信コンテンツに対してユーザが行動しなかったことを示す行動情報を、負例として収集する。
これにより、実施形態に係る収集装置100は、条件に応じてカウントされるタイミングや量が変動する所定期間に基づくことにより、通知タイミングの学習を可能にする負例を適切に収集することができる。
また、実施形態に係る収集装置100において、収集部132は、ユーザのコンテキストに応じて計時される量が変動する所定期間内に、配信コンテンツに対してユーザが行動しなかったことを示す行動情報を、負例として収集する。
これにより、実施形態に係る収集装置100は、条件に応じてカウントされるタイミングや量が変動する所定期間に基づくことにより、通知タイミングの学習を可能にする負例を適切に収集することができる。
また、実施形態に係る収集装置100において、収集部132は、間欠的に配置される複数の期間を含む所定期間内に、配信コンテンツに対してユーザが行動しなかったことを示す行動情報を、負例として収集する。
これにより、実施形態に係る収集装置100は、間欠的に配置される複数の期間を含む所定期間に基づくことにより、通知タイミングの学習を可能にする負例を適切に収集することができる。
また、実施形態に係る収集装置100において、収集部132は、行動情報のうち、配信コンテンツの配信後においてユーザに関する変化に基づくタイミングにおいて、配信コンテンツに対してユーザが行動しなかったことを示す行動情報を、変化における負例として収集する。
これにより、実施形態に係る収集装置100は、配信コンテンツの配信後においてユーザに関する変化に基づくことにより、通知タイミングの学習を可能にする負例を適切に収集することができる。
また、実施形態に係る収集装置100において、収集部132は、行動情報のうち、配信コンテンツに対してユーザが行動したことを示す行動情報を、通知タイミングに関する正例として収集する。
これにより、実施形態に係る収集装置100は、通知タイミングの学習を可能にする正例を適切に収集することができる。
〔9.ハードウェア構成〕
上述してきた実施形態に係る収集装置100や端末装置10は、例えば図17に示すような構成のコンピュータ1000によって実現される。図17は、収集装置または端末装置の機能を実現するコンピュータの一例を示すハードウェア構成図である。コンピュータ1000は、CPU1100、RAM1200、ROM1300、HDD1400、通信インターフェイス(I/F)1500、入出力インターフェイス(I/F)1600、及びメディアインターフェイス(I/F)1700を有する。
CPU1100は、ROM1300またはHDD1400に格納されたプログラムに基づいて動作し、各部の制御を行う。ROM1300は、コンピュータ1000の起動時にCPU1100によって実行されるブートプログラムや、コンピュータ1000のハードウェアに依存するプログラム等を格納する。
HDD1400は、CPU1100によって実行されるプログラム、及び、プログラムによって使用されるデータ等を格納する。通信インターフェイス1500は、ネットワークN(図2中においてはネットワーク2)を介して他の機器からデータを受信してCPU1100へ送り、CPU1100が収集したデータをネットワークNを介して他の機器へ送信する。
CPU1100は、入出力インターフェイス1600を介して、ディスプレイやプリンタ等の出力装置、及び、キーボードやマウス等の入力装置を制御する。CPU1100は、入出力インターフェイス1600を介して、入力装置からデータを取得する。また、CPU1100は、収集したデータを入出力インターフェイス1600を介して出力装置へ出力する。
メディアインターフェイス1700は、記録媒体1800に格納されたプログラムまたはデータを読み取り、RAM1200を介してCPU1100に提供する。CPU1100は、プログラムを、メディアインターフェイス1700を介して記録媒体1800からRAM1200上にロードし、ロードしたプログラムを実行する。記録媒体1800は、例えばDVD(Digital Versatile Disc)、PD(Phase change rewritable Disk)等の光学記録媒体、MO(Magneto-Optical disk)等の光磁気記録媒体、テープ媒体、磁気記録媒体、または半導体メモリ等である。
例えば、コンピュータ1000が実施形態に係る収集装置100や端末装置10として機能する場合、コンピュータ1000のCPU1100は、RAM1200上にロードされたプログラムを実行することにより、制御部130の機能を実現する。コンピュータ1000のCPU1100は、これらのプログラムを記録媒体1800から読み取って実行するが、他の例として、他の装置からネットワークNを介してこれらのプログラムを取得してもよい。
以上、本願の実施形態及び変形例のいくつかを図面に基づいて詳細に説明したが、これらは例示であり、発明の開示の行に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。
〔10.その他〕
また、上記実施形態及び変形例において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、各図に示した各種情報は、図示した情報に限られない。
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
また、上述してきた実施形態及び変形例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
また、上述してきた「部(section、module、unit)」は、「手段」や「回路」などに読み替えることができる。例えば、取得部は、取得手段や取得回路に読み替えることができる。