以下に、本願に係る生成装置、生成方法、及び生成プログラムを実施するための形態(以下、「実施形態」と呼ぶ)について図面を参照しつつ詳細に説明する。なお、この実施形態により本願に係る生成装置、生成方法、及び生成プログラムが限定されるものではない。また、以下の各実施形態において同一の部位には同一の符号を付し、重複する説明は省略される。
(実施形態)
〔1.生成処理〕
まず、図1を用いて、実施形態に係る生成処理の一例について説明する。図1は、実施形態に係る生成処理の一例を示す図である。図1では、生成装置100が端末装置10にコンテンツを配信する場合を示す。また、図1では、生成装置100が端末装置10から取得した情報に基づいて、モデルを生成する場合を示す。図1では、端末装置10は、検知部14(図10参照)から取得した各種情報を基にユーザの状態の変化やコンテキスト等を推定し、コンテンツの通知タイミングを判定する。以下の例では、端末装置10を利用するユーザがユーザU1である場合を示す。
また、図1では、生成装置100がユーザU1に対応するコンテンツ(図9参照)をユーザU1の端末装置10に配信し、端末装置10側でコンテンツをユーザに通知するタイミング(以下、「通知タイミング」ともいう)を判定する場合を示す。また、図1では、生成装置100が端末装置10において通知されたコンテンツ(以下、「通知コンテンツ」ともいう)に対するユーザU1の行動に関する情報(以下、「行動情報」ともいう)を取得する場合を示す。なお、ここでいう通知とは、端末装置10の画面上に表示することに限らず、音声や振動等の種々の態様によりコンテンツの通知タイミングであることを出力し、ユーザに認識させることを含む。
図1の例では、行動情報(以下、「ユーザ関連情報」ともいう)には、ユーザU1が複数種類の特定行動のうちのいずれかの行動をした場合におけるユーザU1の通知コンテンツに対する行動の有無とユーザU1に関するコンテキストの情報が含まれる。図1の例では、ユーザU1の通知コンテンツに対する行動の有無とは、ユーザU1が通知コンテンツを閲覧(画面に表示)した場合、「有」となり、ユーザU1が通知コンテンツを閲覧(画面に表示)しなかった場合、「無」となる。なお、行動の有無の判断レベルについては、通知コンテンツがユーザに要求する行動に応じて変動させてもよいが、この点については後述する。なお、ここでいう閲覧(画面に表示)とは、コンテンツが通知されたことを認識したユーザが所定の行動(電源ボタンを押す等)を行うことにより、ユーザが意識的に端末装置10の画面に通知されたコンテンツを表示することであってもよい。
また、ここでいう特定行動は、ユーザへの割り込みを行うタイミングの候補(以下、ブレイクポイントと記載する場合がある)として予め選択されたユーザの行動である。特定行動は、例えば、ユーザが歩いている状態から止まるという行動、ユーザが走っている状態から歩くという行動、座っている状態から立つという行動などである。なお、特定行動は、直前の行動を考慮しないものであってもよく、例えば、ユーザが電子メールを送信するという行動、ユーザが電気機器を操作(ON/OFF)するという行動、ユーザが時計を見るという行動等であってもよい。図1の例では、ブレイクポイントBP11〜BP16は、ユーザU1に関する変化(特定行動CH11〜CH16)のタイミングに対応するが、詳細は後述する。
ユーザに関するコンテキスト情報(以下、単に「コンテキスト情報」ともいう)は、例えば、ユーザのコンテキストを示す情報である。例えば、コンテキストは、ユーザU1や端末装置10の状況やユーザU1や端末装置10の環境(背景)に基づいて推定されるユーザU1の状況を意味する。また、コンテキストには、ユーザに提供されるコンテンツの内容、ユーザが反応したコンテンツの内容、ユーザの属性、ユーザの現在位置、現在時刻、ユーザが置かれた物理環境、ユーザが置かれた社会環境、ユーザの運動状態、および、推定されるユーザの感情等の種々の情報が含まれる。また、コンテキストには、ユーザU1や端末装置10の状況やユーザU1や端末装置10の環境(背景)に基づいて推定されるユーザU1の心理状態等であってもよい。
例えば、端末装置10は、ユーザの行動情報等に基づいてユーザのコンテキストを推定してもよい。例えば、端末装置10は、ユーザの位置情報やコンテンツの閲覧等の種々の行動情報に基づいて、ユーザがどのような状況であるかを推定してもよい。例えば、端末装置10は、ユーザの位置履歴情報やコンテンツの閲覧等の種々の行動履歴情報に基づいて、ユーザがどのような状況であるかを推定してもよい。例えば、端末装置10は、ユーザが夜にスポーツに関するコンテンツを閲覧する傾向がある場合、コンテキスト推定の時点が夜である場合、ユーザがスポーツに関するコンテンツを閲覧する可能性が高いコンテキストであると推定してもよい。また、例えば、端末装置10は、ユーザの位置が過去に経済に関するコンテンツを閲覧していた位置から所定の範囲内に位置する場合、ユーザが経済に関するコンテンツを閲覧する可能性が高いコンテキストであると推定してもよい。なお、上記は一例であり、端末装置10は、種々の情報等に基づいて種々のコンテキストを推定してもよい。
例えば、生成装置100は、端末装置10から取得した行動情報を基に学習モデル(以下、単に「モデル」ともいう)を学習する。すなわち、生成装置100は、取得した行動情報を基にモデルを生成する。例えば、生成装置100は、各特定行動とコンテキストとを特徴量として機械学習を実行し、各種のモデルを生成する。例えば、生成装置100は、コンテンツの通知タイミングの判定に用いるモデルを生成する。
図1の例では、生成装置100は、コンテンツの通知目的に関する各種別に対応する各モデル(以下、「個別モデル」ともいう)を用いてコンテンツの通知を行う場合を示す。ここでいう個別モデルとは、例えばコンテンツの通知の目的や通知時の状況等に応じて、個別のスコア(以下、「状況スコア」ともいう)を算出するモデルを意味する。例えば、個別モデルは、例えば種別情報記憶部123(図6参照)に示すように、通知目的の複数の要素であって、各々が複数の選択肢を有する複数の要素の各々から選択された選択肢の組合せに対応する。また、ここでいう通知目的とは、通知する側の目的や通知される側(ユーザ)の状況等の種々の要素の組み合わせであってもよく、例えば通知側がどんな目的でどんな状態のユーザに通知したいかということを意味する。
また、各種別は、種別情報記憶部123(図6参照)に示すように、例えば、「要素1(ユーザコンテキスト)」や「要素2(要求行動)」等の複数の要素の組合せを含む。例えば、図6中の種別情報記憶部123に示す「要素1(ユーザコンテキスト)」は、対応する種別におけるユーザコンテキストの要素の選択肢のうち、いずれの選択肢が組合せとして含まれるかを示す。例えば、図6に示す「コンテキストCN1」は、朝の経済ニュースに関心を示す可能性が高いコンテキストであってもよい。また、例えば、図6に示す「コンテキストCN3」は、夜のエンターテインメントのニュースに関心を示す可能性が高いコンテキストであってもよい。また、例えば、図6中の種別情報記憶部123に示す「要素2(要求行動)」は、対応する種別におけるコンテンツを通知したユーザに要求する行動の要素の選択肢のうち、いずれの選択肢が組合せとして含まれるかを示す。
例えば、図6に示す例において、種別には、種別ID「CL11」〜「CL31」等により識別される種別(種別CL11〜種別CT31等)が含まれる。例えば、図6に示す種別CL11は、「要素1(ユーザコンテキスト)」として、選択肢「コンテキストCN1」を含み、「要素2(要求行動)」として、選択肢「閲覧」を含む組合せであることを示す。また、例えば、図6に示す種別CL12は、「要素1(ユーザコンテキスト)」として、選択肢「コンテキストCN1」を含み、「要素2(要求行動)」として、選択肢「クリック」を含む組合せであることを示す。
図1の例では、生成装置100は、各種別CL11〜CL16等に対応する個別モデルDM11〜DM16等(図8参照)を用いてコンテンツの通知を行う場合を示す。なお、図8中の個別モデル情報記憶部125に示すように各種別CL11〜CL16等には各々個別モデルDM11〜DM16等が対応する。例えば、種別CL11には個別モデルDM11が対応する。例えば、「種別CL*(*は任意の数値)」には、「*」が同じ値である「個別モデルDM*」が対応する。例えば、種別CL11には個別モデルDM11が対応し、種別CL15には個別モデルDM15が対応する。
図1の例では、端末装置10は個別モデルDM11〜DM16等を保持しているものとする。また、図1の例では、端末装置10は、個別モデルDM11〜DM16を用いる前に、ブレイクポイント(Break Point:BP)がゴールデンブレイクポイント(Golden Break Point:GBP)であるかどうかを所定のモデル(以下、「全体モデル」ともいう)により判定する。例えば、ゴールデンブレイクポイントとは、ブレイクポイントの中でも特にユーザへの情報の通知に適したタイミングであることを意味する。図1の例では、端末装置10は図7中の全体モデル情報記憶部124に示すように全体モデルGM1を保持しているものとする。なお、個別モデルDM11〜DM16等や全体モデルGM1の生成についての詳細は後述する。
また、図1の例では、端末装置10は、ブレイクポイントBP11〜BP16と判定した場合、全体モデルGM1が出力するスコア(以下、「全体スコア」ともいう)が所定の閾値以上の場合、そのブレイクポイントをゴールデンブレイクポイントと判定するものとする。
まず、図1に示す例においては、生成装置100は、日時t11において、コンテンツを端末装置10に配信する(ステップS11)。例えば、生成装置100は、日時t11において、コンテンツを端末装置10に送信する。例えば、生成装置100は、コンテンツ情報記憶部126(図9参照)に示すように、ユーザU1に対応付けられたコンテンツCT10〜CT13を、ユーザU1が利用する端末装置10に配信する。
その後、ユーザU1は日時t12において走っている状態から歩いている状態へ変化する行動情報CH11を行ったものとする。そして、端末装置10は、行動情報CH11が行われたブレイクポイントBP11がゴールデンブレイクポイントであるかを判定する(ステップS12)。例えば、端末装置10は、日時t12において全体モデルGM1が出力した全体スコアと所定の閾値とを比較することにより、ブレイクポイントBP11がゴールデンブレイクポイントであるかを判定する。図1では、例えば、ブレイクポイントBP11における全体モデルGM1が出力した全体スコアが所定の閾値未満であったため、端末装置10は、ブレイクポイントBP11をゴールデンブレイクポイントでないと判定する。
その後、ユーザU1は日時t13において歩いている状態から座っている状態へ変化する行動情報CH12を行ったものとする。そして、端末装置10は、行動情報CH12が行われたブレイクポイントBP12がゴールデンブレイクポイントであるかを判定する(ステップS13)。図1では、例えば、ブレイクポイントBP12における全体モデルGM1が出力した全体スコアが所定の閾値以上であったため、端末装置10は、ブレイクポイントBP12をゴールデンブレイクポイントGBP12であると判定する。
そして、端末装置10は、各種別の状況スコアを算出する(ステップS14)。例えば、端末装置10は、各種別に対応する個別モデルDM11〜DM16等を用いて、各種別CL11〜CL16等の状況スコアを算出する。図1の例では、端末装置10は、状況スコアリストLT11に示すように、各種別CL11〜CL16等の状況スコアを算出する。
図1の例では、端末装置10は、状況スコアリストLT11に示すように、個別モデルDM11を用いて、各種別CL11の状況スコアを「0.2」と算出する。また、図1の例では、端末装置10は、個別モデルDM12を用いて、各種別CL12の状況スコアを「0.3」と算出する。また、図1の例では、端末装置10は、個別モデルDM23を用いて、各種別CL23の状況スコアを「0.1」と算出する。このように、算出された状況スコアは、コンテンツの通知目的に関する各種別に対応するコンテンツの通知タイミングがどうかの判定に用いることができる。
そして、端末装置10は、ゴールデンブレイクポイントGBP12において、算出した各種別の状況スコアのうち、閾値以上のスコアの種別があるかどうかを判定する(ステップS15)。図1の例では、状況スコアの判定に用いる閾値が「0.5」である場合を示す。なお、ゴールデンブレイクポイントの判定に用いる所定の閾値(例えば「第1の閾値」ともいう)と、状況スコアの判定に用いる閾値(例えば「第2の閾値」ともいう)とは異なってもよい。
図1では、端末装置10は、算出した各種別CL11〜CL31等の状況スコアのうち、閾値(0.5)以上のスコアがないため、コンテンツの通知タイミングではないと判定する。このように、生成システム1(図2参照)においては、ゴールデンブレイクポイントと判定された場合であっても、各種別に対応する状況スコアが閾値の条件を満たさない場合、コンテンツの通知タイミングではないと判定される。
その後、ユーザU1は日時t14において座っている状態から立っている状態へ変化する行動情報CH13を行ったものとする。そして、端末装置10は、行動情報CH13が行われたブレイクポイントBP13がゴールデンブレイクポイントであるかを判定する(ステップS16)。図1では、例えば、ブレイクポイントBP13における全体モデルGM1が出力した全体スコアが所定の閾値未満であったため、端末装置10は、ブレイクポイントBP13をゴールデンブレイクポイントでないと判定する。
その後、ユーザU1は日時t15において歩いている状態から立ち止まった状態へ変化する行動情報CH14を行ったものとする。そして、端末装置10は、行動情報CH14が行われたブレイクポイントBP14がゴールデンブレイクポイントであるかを判定する(ステップS17)。図1では、例えば、ブレイクポイントBP14における全体モデルGM1が出力した全体スコアが所定の閾値以上であったため、端末装置10は、ブレイクポイントBP14をゴールデンブレイクポイントGBP14であると判定する。
そして、端末装置10は、各種別の状況スコアを算出する(ステップS18)。例えば、端末装置10は、各種別に対応する個別モデルDM11〜DM16等を用いて、各種別CL11〜CL16等の状況スコアを算出する。図1の例では、端末装置10は、状況スコアリストLT12に示すように、各種別CL11〜CL16等の状況スコアを算出する。
図1の例では、端末装置10は、状況スコアリストLT12に示すように、個別モデルDM11を用いて、各種別CL11の状況スコアを「0.2」と算出する。また、図1の例では、端末装置10は、個別モデルDM12を用いて、各種別CL12の状況スコアを「0.7」と算出する。また、図1の例では、端末装置10は、個別モデルDM23を用いて、各種別CL23の状況スコアを「0.3」と算出する。
そして、端末装置10は、ゴールデンブレイクポイントGBP14において、算出した各種別の状況スコアのうち、閾値以上のスコアの種別があるかどうかを判定する(ステップS19)。図1では、端末装置10は、算出した各種別CL11〜CL31等の状況スコアのうち、少なくとも種別CL12の状況スコアが閾値(0.5)以上であるため、コンテンツの通知タイミングであると判定する。なお、図1の例では、説明を簡単にするために、種別CL12の状況スコアのみが閾値(0.5)以上である場合を説明する。
そして、端末装置10は、状況スコアが閾値(0.5)以上である種別CL12のコンテンツを通知する(ステップS20)。例えば、端末装置10は、種別CL12のコンテンツCT10(図9参照)をプッシュ通知する。なお、端末装置10は、状況スコアが閾値(0.5)以上である種別が複数ある場合、スコアが最大の種別のコンテンツを通知コンテンツとしてもよい。また、端末装置10は、状況スコアが閾値以上である種別に対応するコンテンツが複数ある場合、所定に基準(例えば、ユーザの関心度や重要度等のスコア)に基づいて通知するコンテンツを決定してもよい。また、端末装置10は、状況スコアが閾値以上である種別に対応するコンテンツが複数ある場合、複数(例えば「3」等の所定数)のコンテンツを通知コンテンツとしてもよい。また、端末装置10は、状況スコアが閾値以上である種別が複数ある場合、複数の種別のコンテンツを通知コンテンツとしてもよい。
そして、種別CL12のコンテンツが通知された端末装置10において、ユーザU1は、種別CL12のコンテンツを閲覧(画面に表示)しなかったものとする(ステップS21)。この場合、端末装置10は、種別CL12のコンテンツに対するユーザU1の行動が「無」であったことを示す行動情報を生成装置100へ送信してもよい。これにより、生成装置100は、種別CL12のコンテンツに対するユーザU1の負例を収集する。
その後、ユーザU1は日時t16において時計を見る行動情報CH15を行ったものとする。そして、端末装置10は、行動情報CH15が行われたブレイクポイントBP15がゴールデンブレイクポイントであるかを判定する(ステップS22)。図1では、例えば、ブレイクポイントBP15における全体モデルGM1が出力した全体スコアが所定の閾値未満であったため、端末装置10は、ブレイクポイントBP15をゴールデンブレイクポイントでないと判定する。
その後、ユーザU1は日時t17において電車(移動体)に乗る行動情報CH16を行ったものとする。そして、端末装置10は、行動情報CH16が行われたブレイクポイントBP16がゴールデンブレイクポイントであるかを判定する(ステップS23)。図1では、例えば、ブレイクポイントBP16における全体モデルGM1が出力した全体スコアが所定の閾値以上であったため、端末装置10は、ブレイクポイントBP16をゴールデンブレイクポイントGBP16であると判定する。
そして、端末装置10は、各種別の状況スコアを算出する(ステップS24)。例えば、端末装置10は、各種別に対応する個別モデルDM11〜DM16等を用いて、各種別CL11〜CL16等の状況スコアを算出する。図1の例では、端末装置10は、状況スコアリストLT13に示すように、各種別CL11〜CL16等の状況スコアを算出する。
図1の例では、端末装置10は、状況スコアリストLT13に示すように、個別モデルDM11を用いて、各種別CL11の状況スコアを「0.8」と算出する。また、図1の例では、端末装置10は、個別モデルDM12を用いて、各種別CL12の状況スコアを「0.1」と算出する。また、図1の例では、端末装置10は、個別モデルDM23を用いて、各種別CL23の状況スコアを「0.4」と算出する。
そして、端末装置10は、ゴールデンブレイクポイントGBP16において、算出した各種別の状況スコアのうち、閾値以上のスコアの種別があるかどうかを判定する(ステップS25)。図1では、端末装置10は、算出した各種別CL11〜CL31等の状況スコアのうち、少なくとも種別CL11の状況スコアが閾値(0.5)以上であるため、コンテンツの通知タイミングであると判定する。なお、図1の例では、説明を簡単にするために、種別CL11の状況スコアのみが閾値(0.5)以上である場合を説明する。
そして、端末装置10は、状況スコアが閾値(0.5)以上である種別CL11のコンテンツを通知する(ステップS26)。例えば、端末装置10は、種別CL11のコンテンツCT12(図9参照)をプッシュ通知する。
そして、種別CL11のコンテンツが通知された端末装置10において、ユーザU1は、種別CL11のコンテンツを閲覧(画面に表示)したものとする。そして、端末装置10は、日時t18において種別CL11のコンテンツに対するユーザU1の行動が「有」であったことを示す行動情報を生成装置100へ送信する(ステップS27)。これにより、生成装置100は、種別CL11のコンテンツに対するユーザU1の正例を収集する。なお、端末装置10は、正例の送信時に負例を併せて生成装置100へ送信してもよい。
そして、生成装置100は、端末装置10から収集した正例や負例に基づいて、全体モデルGM1や個別モデルDM11〜DM16等を生成する(ステップS28)。例えば、生成装置100は、種別CL11のコンテンツに対するユーザU1の行動情報に基づいて、種別CL11に対応する個別モデルDM11を生成する。
例えば、生成装置100は、種別に依らず各コンテンツに対するユーザU1の行動情報に基づいて、全体モデルGM1を生成する。例えば、生成装置100は、通知したコンテンツについて正例として取得したユーザU1の行動情報やコンテキスト情報に基づいて、全体モデルGM1を生成する。例えば、生成装置100は、各種別について正例として取得したユーザU1の行動情報やコンテキスト情報が入力された場合に出力するスコアが大きくなるように、全体モデルGM1を生成する。また、例えば、生成装置100は、各種別について負例として取得したユーザU1の行動情報やコンテキスト情報に基づいて、全体モデルGM1を生成する。例えば、生成装置100は、各種別について負例として取得したユーザU1の行動情報やコンテキスト情報が入力された場合に出力するスコアが小さくなるように、全体モデルGM1を生成する。また、例えば、生成装置100は、全体モデルGM1の生成の際に抽出された素性(特徴量)を用いて、個別モデルDM11〜DM16等を生成してもよい。この場合、生成装置100は、全体モデルGM1と素性(特徴量)は共通し、各素性の重みが異なる個別モデルDM11〜DM16等を生成することとなる。例えば、生成装置100は、全体モデルGM1と下記式(1)や(2)において素性(特徴量)は共通し、重みが異なる個別モデルDM11〜DM16等を生成することとなる。例えば、生成装置100は、全体モデルGM1と下記式(1)において「x1,z1」等の素性(特徴量)は共通し、「a11」、「a12」等の重みが全体モデルGM1とは異なる個別モデルDM11〜DM16等を生成することとなる。
例えば、生成装置100は、種別CL11について正例として取得したユーザU1の行動情報やコンテキスト情報に基づいて、種別CL11に対応する個別モデルDM11を生成する。例えば、生成装置100は、種別CL11について正例として取得したユーザU1の行動情報やコンテキスト情報が入力された場合に出力するスコアが大きくなるように、個別モデルDM11を生成する。また、例えば、生成装置100は、種別CL11について負例として取得したユーザU1の行動情報やコンテキスト情報に基づいて、種別CL11に対応する個別モデルDM11を生成する。例えば、生成装置100は、種別CL11について負例として取得したユーザU1の行動情報やコンテキスト情報が入力された場合に出力するスコアが小さくなるように、個別モデルDM11を生成する。なお、上述したモデルの生成は一例であり、生成装置100は、種々の情報を適宜用いて、全体モデルGM1や個別モデルDM11〜DM16等を生成してもよい。また、例えば、生成装置100は、個別モデルDM11〜DM16等については正規化を行ってもよい。例えば、生成装置100は、個別モデルDM11〜DM16等については出力するスコアの正規化を行ってもよい。例えば、生成装置100は、個別モデルDM11〜DM16等については出力するスコアの平均が1、標準偏差が−1となるように正規化を行ってもよい。
また、上述した例では、個別モデルを用いた通知タイミングの判定も併せて説明するために、端末装置10が個別モデルDM11〜DM16等を用いる場合を説明したが、個別モデルDM11〜DM16等の生成前においては、端末装置10は、ゴールデンブレイクポイントと判定された場合、各種別CL11〜CL31等のコンテンツをランダムで通知してもよい。そして、端末装置10は、各種別CL11〜CL31等のコンテンツをランダムで通知した場合のユーザの行動情報を収集し、生成装置100に送信することにより、生成装置100が個別モデルDM11〜DM16等を生成してもよい。
また、全体モデルGM1の生成前においては、端末装置10は、ブレイクポイントと判定された場合、各種別CL11〜CL31等のコンテンツをランダムで通知してもよい。そして、端末装置10は、各種別CL11〜CL31等のコンテンツをランダムで通知した場合のユーザの行動情報を収集し、生成装置100に送信することにより、生成装置100が全体モデルGM1を生成してもよい。
上述したように、生成装置100は、各種別に応じた状況スコアを出力する個別モデル生成することにより、ユーザに対して適切なタイミングで適切な内容の通知を可能にすることができる。これにより、生成装置100は、ユーザに対して適切なタイミングで適切な内容の通知を可能にすることができる。
例えば、図11に示す端末装置10の場合、コンテンツCT10、CT50、CT60、CT70、CT11、CT80が端末装置10の表示画面DP10に表示されている。なお、図11に示す端末装置10においては、コンテンツCT80は、一部が表示される。すなわち、端末装置10においては、5.5個のコンテンツ、すなわち4個のコンテンツ全体の1個のコンテンツの上半分が画面上に表示される。
例えば、図11に示す例のように、通知タイミングが表示時点に近い方、すなわち通知されたタイミングが後の方のコンテンツが上位に表示される場合、生成システム1がコンテンツを通知した時点よりも後のタイミングで他のサービスから通知された他のコンテンツが6個以上ある場合、生成システム1の通知コンテンツは、表示画面DP10に初期表示されない。このように、コンテンツを通知するタイミングはユーザが端末装置10の画面を視認するタイミング(例えばゴールデンブレイクポイント)であることが、ユーザに通知コンテンツへの注意を向けさせる上で重要となる。そのため、生成システム1は、全体モデルGM1や個別モデルDM11〜DM16等を用いて、ユーザのゴールデンブレイクポイントを判定することにより、適切な通知タイミングを捕捉することができる。これにより、生成装置100は、ユーザに対して適切なタイミングで適切な内容の通知を可能にすることができる。
(1−1.種別に応じた正例、負例)
なお、上述した例では、説明を簡単にするために、通知したコンテンツがユーザに閲覧された場合に、ユーザの行動有と判定する場合を示したが、生成装置100は、各種別に応じて、行動の有無の判定のレベルを変動させてもよい。
例えば、生成装置100は、ユーザにコンテンツの閲覧を要求する種別の場合、ユーザがコンテンツの閲覧を行った場合、行動有としてもよい。例えば、生成装置100は、ユーザにコンテンツの閲覧を要求する種別CL11に対応する個別モデルDM11の場合、ユーザがコンテンツの閲覧を行った場合、行動有としてもよい。
また、例えば、生成装置100は、ユーザにコンテンツのクリックを要求する種別CL22に対応する個別モデルDM22の場合、ユーザがコンテンツに対してクリックを行った場合、行動有としてもよい。また、例えば、生成装置100は、ユーザがコンテンツの閲覧のみを行い、コンテンツに対してクリックを行わなかった場合、種別CL22については、行動無とし、コンテンツの閲覧があったため、全体モデルGM1の生成に用いる情報としては行動有としてもよい。
また、例えば、生成装置100は、ユーザにコンテンツに関するコンバージョンを要求する種別CL23に対応する個別モデルDM23の場合、ユーザがコンテンツに関するコンバージョンを行った場合、行動有としてもよい。また、例えば、生成装置100は、ユーザがコンテンツの閲覧のみを行い、コンテンツに関するコンバージョンを行わなかった場合、種別CL23については行動無として、コンテンツの閲覧があったため、全体モデルGM1の生成に用いる情報としては行動有としてもよい。
すなわち、生成装置100は、生成するモデルに応じて、そのコンテンツの通知に関する情報を正例としたり、負例としたりしてもよい。言い換えると、生成装置100は、生成するモデルに応じて、そのコンテンツの通知に関する情報の価値を変動させてもよい。これにより、生成装置100は、各種別に対応して適切な個別モデルを生成することができる。したがって、生成装置100は、より適切な全体モデルや個別モデルを生成することができる。
(1−2.種別における要素)
なお、上述した例では、種別の要素として、「要素1(ユーザコンテキスト)」、「要素2(要求行動)」のみを説明したが、種別の要素としては、他にも種々の要素が含まれてもよい。例えば、種別の要素には、「要素3(注意レベル)」や「要素4(競合)」や「要素5(流入経路)」や「要素6(デバイス)」等の種々の要素が含まれてもよい。
「要素3(注意レベル)」は、対応する種別におけるコンテンツの通知時におけるユーザに要求する注意レベルの要素を示す。例えば、注意レベルの要素の選択肢には、相対的に注意を多く払ってくれることを示す「深い」や、平均的な注意レベルである「普通」や、相対的に注意を少ししか払ってくれないことを示す「浅い」等の種々の選択肢が含まれる。
「要素4(競合)」は、対応する種別におけるコンテンツの通知時における他のサービスからの通知との競合に関する要素を示す。例えば、競合(他のサービス)に関する要素の選択肢には、ユーザが長時間利用しているアプリ(他のサービス)の通知との競合を避けることを示す「回避」や、他のサービスの通知を考慮しないことを示す「独自」や、ユーザが長時間利用しているアプリ(他のサービス)の通知に反応しなかったタイミングを狙うことを示す「勝負」等の種々の選択肢が含まれる。
「要素5(流入経路)」は、対応する種別におけるコンテンツに対応するサービスへの流入経路に関する要素を示す。例えば、流入経路に関する要素の選択肢には、例えば他のサービスを利用中のユーザにその後通知したコンテンツに対応するサービスを利用させる狙いであることを示す「跨ぎ」や、一のサービスが提供するαアプリから同じ一のサービスが提供するβアプリを使わせるサービス回遊狙いであることを示す「回遊」等の種々の選択肢が含まれる。
「要素6(デバイス)」は、対応する種別におけるコンテンツを通知する端末装置10(デバイス)に関する要素を示す。例えば、デバイスに関する要素の選択肢には、例えば通知対象となる端末装置10(デバイス)以外にユーザが利用するデバイス(マルチデバイス)に関する情報を加味することを示す「マルチデバイス」や、通知対象となる端末装置10(デバイス)のみの情報を利用することを示す「通常」等の種々の選択肢が含まれる。なお、上記は一例であり、種別を構成する要素には、種々の情報が含まれてもよい。
(1−3.通知タイミングの判定)
また、図1では、生成装置100がユーザU1に対応するコンテンツ(図9参照)をユーザU1の端末装置10に配信し、端末装置10側で通知タイミングを判定する場合を示したが、生成システム1内において、いずれの装置が通知タイミングを判定してもよい。例えば、生成装置100が通知タイミングを判定してもよい。この場合、生成装置100は、端末装置10からユーザの端末装置に対する行動情報やコンテキスト情報を取得し、取得した情報と各種モデルを用いて、通知タイミングを判定してもよい。例えば、生成装置100は、ユーザU1が利用する端末装置10からユーザU1の行動情報やコンテキスト情報を取得し、取得した情報と全体モデルGM1や個別モデルDM11〜DM16等を用いて、通知タイミングを判定してもよい。そして、生成装置100からコンテンツを受信した端末装置10は、受信後すぐにコンテンツをユーザに通知してもよい。
(1−4.個別モデルのみの利用)
また、図1では、端末装置10が全体モデルGM1を用いる場合を示したが、端末装置10や生成装置100は、個別モデルDM11〜DM16等のみを用いてコンテンツの通知タイミングを判定してもよい。例えば、端末装置10や生成装置100は、ブレイクポイントになった際に、個別モデルDM11〜DM16を用いて各状況スコアを算出して、各状況スコアに基づいてコンテンツを通知するかどうかを判定してもよい。
〔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は、ユーザの行動情報等に基づいて生成されたモデルを用いて、ゴールデンブレイクポイントを判定することにより、ユーザへの割り込みにより適した通知タイミングでユーザへコンテンツを通知することができる。例えば、端末装置10は、全体モデルGM1や個別モデルDM11〜DM16等を用いて、ユーザへの通知タイミングを判定し、ユーザへコンテンツを通知する。
センサ装置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と、個別モデル情報記憶部125と、コンテンツ情報記憶部126とを有する。
(ユーザ情報記憶部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つずつ図示するが、複数であってもよい。
例えば、図4に示す例において、ユーザID「U1」により識別されるユーザの年齢は、「20代」であり、性別は、「男性」であることを示す。また、例えば、ユーザID「U1」により識別されるユーザは、自宅が「LC11」であることを示す。また、例えば、ユーザID「U1」により識別されるユーザは、勤務地が「LC12」であることを示す。また、例えば、ユーザID「U1」により識別されるユーザは、「スポーツ」に興味があることを示す。
なお、ユーザ情報記憶部121は、上記に限らず、目的に応じて種々の情報を記憶してもよい。例えば、ユーザ情報記憶部121は、氏名、家族構成、収入等の情報を記憶してもよい。
(行動情報記憶部122)
実施形態に係る行動情報記憶部122は、ユーザの行動に関する各種情報を記憶する。図5は、実施形態に係る行動情報記憶部の一例を示す図である。例えば、行動情報記憶部122は、各ユーザの端末装置10に配信したコンテンツに対するユーザの行動情報を記憶する。図5に示す行動情報記憶部122には、「ユーザID」、「通知コンテンツ」、「行動」、「状況」といった項目が含まれる。また、「行動」には、「ID」、「有無」といった項目が含まれる。また、「状況」には、「日時」、「位置」といった項目が含まれる。
「ユーザID」は、ユーザを識別するための識別情報を示す。例えば、ユーザID「U1」により識別されるユーザは、図1の例に示したユーザU1に対応する。また、「通知コンテンツ」は、対応するユーザに通知されたコンテンツを識別する情報を示す。また、「行動」は、ユーザの通知コンテンツに対する行動に関する情報を示す。また、「状況」は、対応するユーザの状況に関する情報を示す。
「ID」は、各行動を識別するための識別情報を示す。例えば、ID「AT11」により識別される行動は、ユーザに配信したコンテンツCT10に対するユーザの行動に対応する。また、「有無」は、行動の有無を示す。「有無」が「1」の場合、行動が「有」であり、ユーザが行動を行ったことを示す。例えば、「有無」が「1」の場合、ユーザU1がコンテンツCT10をクリック(選択)したことを示す。また、「有無」が「0」の場合、行動が「無」であり、ユーザが行動を行わなかったことを示す。例えば、「有無」が「0」の場合、ユーザU1がコンテンツCT10をクリック(選択)しなかったことを示す。
「日時」は、各行動に関する日時を示す。日時「TM11」は、行動AT11に関する日時を示す。例えば、日時「TM11」は、ユーザにコンテンツ(例えば、コンテンツCT10)が通知された日時やブレイクポイント(ゴールデンブレイクポイント)と判定された日時であってもよい。また、例えば、「有無」が「1」の場合、日時「TM11」は、ユーザがコンテンツをクリック(選択)した日時であってもよい。また、例えば、「有無」が「0」の場合、日時「TM11」は、ユーザにコンテンツが通知された日時やブレイクポイント(ゴールデンブレイクポイント)と判定された日時から所定の時間が経過した後の日時であってもよい。
また、「位置」は、各行動に関する位置を示す。位置「LC13」は、行動AT11に関する位置を示す。例えば、位置「LC13」は、ユーザにコンテンツが通知されたときの位置情報やブレイクポイント(ゴールデンブレイクポイント)と判定されたときの位置情報であってもよい。また、例えば、位置「LC13」は、ユーザがコンテンツをクリック(選択)したときの位置情報であってもよい。なお、図5の例では、位置「LC13」等のように、位置情報を抽象的な符号で示すが、項目「位置」に記憶される情報は、具体的な緯度経度等の位置情報であってもよい。
例えば、図5に示す例において、ユーザID「U1」により識別されるユーザは、ID「AT13」により識別される行動が有無「1」であり、日時TM13に行動を行ったことを示す。具体的には、ユーザID「U1」により識別されるユーザは、配信されたコンテンツ(例えば、コンテンツCT10)を日時「TM13」にクリック(選択)したことを示す。また、例えば、位置「LC15」は、ユーザがコンテンツをクリック(選択)したときの位置情報を示す。
なお、行動情報記憶部122は、上記に限らず、目的に応じて種々の情報を記憶してもよい。例えば、行動情報記憶部122は、ユーザが通知されたコンテンツを閲覧したか(画面に表示させたか)どうかを示す情報を記憶してもよい。また、図5では、ユーザIDごとに行動情報が行動情報記憶部122に記憶される場合を示したが、行動情報は、ユーザIDごとに限らず、例えば日時順に記憶されてもよい。
(種別情報記憶部123)
実施形態に係る種別情報記憶部123は、コンテンツの通知目的に関する種別に関する各種情報を記憶する。図6は、実施形態に係る種別情報記憶部の一例を示す図である。例えば、種別情報記憶部123は、各種別を構成する各要素の選択肢の組合せを記憶する。図6に示す種別情報記憶部123には、「種別ID」、「要素1(ユーザコンテキスト)」、「要素2(要求行動)」といった項目が含まれる。なお、図6の例では、「要素1(ユーザコンテキスト)」、「要素2(要求行動)」のみを図示するが、「要素3(注意レベル)」や「要素4(競合)」や「要素5(流入経路)」や「要素6(デバイス)」等の種々の要素が含まれる。上記は一例であり、種別を構成する要素には、種々の情報が含まれてもよい。
「種別ID」は、コンテンツの通知目的を分類する種別を示す。「要素1(ユーザコンテキスト)」は、対応する種別におけるユーザコンテキストの要素の選択肢のうち、いずれの選択肢が組合せとして含まれるかを示す。例えば、ユーザコンテキストの要素の選択肢には、「コンテキストCN1」や「コンテキストCN2」や「コンテキストCN3」等の種々の選択肢が含まれる。例えば、「コンテキストCN1」は、朝の経済ニュースに関心を示す可能性が高いコンテキストであってもよい。また、例えば、「コンテキストCN3」は、夜のエンターテインメントのニュースに関心を示す可能性が高いコンテキストであってもよい。
「要素2(要求行動)」は、対応する種別におけるコンテンツを通知したユーザに要求する行動の要素の選択肢のうち、いずれの選択肢が組合せとして含まれるかを示す。例えば、要求行動の要素の選択肢には、「閲覧」や「クリック」や「コンバージョン」等の種々の選択肢が含まれる。例えば、「閲覧」は、コンテンツが通知されたユーザがコンテンツを閲覧(画面上に表示)することに対応する選択肢である。また、例えば、「クリック」は、コンテンツが通知されたユーザがコンテンツをクリック(選択)することに対応する選択肢である。また、例えば、「コンバージョン」は、コンテンツが通知されたユーザがコンテンツに関するコンバージョン(商品購入や資料請求やユーザ登録等)することに対応する選択肢である。
「要素3(注意レベル)」は、対応する種別におけるコンテンツの通知時におけるユーザに要求する注意レベルの要素の選択肢のうち、いずれの選択肢が組合せとして含まれるかを示す。例えば、注意レベルの要素の選択肢には、相対的に注意を多く払ってくれることを示す「深い」や、平均的な注意レベルである「普通」や、相対的に注意を少ししか払ってくれないことを示す「浅い」等の種々の選択肢が含まれる。
「要素4(競合)」は、対応する種別におけるコンテンツの通知時における他のサービスからの通知との競合に関する要素の選択肢のうち、いずれの選択肢が組合せとして含まれるかを示す。例えば、競合(他のサービス)に関する要素の選択肢には、ユーザが長時間利用しているアプリ(他のサービス)の通知との競合を避けることを示す「回避」や、他のサービスの通知を考慮しないことを示す「独自」や、ユーザが長時間利用しているアプリ(他のサービス)の通知に反応しなかったタイミングを狙うことを示す「勝負」等の種々の選択肢が含まれる。
「要素5(流入経路)」は、対応する種別におけるコンテンツに対応するサービスへの流入経路に関する要素の選択肢のうち、いずれの選択肢が組合せとして含まれるかを示す。例えば、流入経路に関する要素の選択肢には、例えば他のサービスを利用中のユーザにその後通知したコンテンツに対応するサービスを利用させる狙いであることを示す「跨ぎ」や、一のサービスが提供するαアプリから同じ一のサービスが提供するβアプリを使わせるサービス回遊狙いであることを示す「回遊」等の種々の選択肢が含まれる。
「要素6(デバイス)」は、対応する種別におけるコンテンツを通知する端末装置10(デバイス)に関する要素の選択肢のうち、いずれの選択肢が組合せとして含まれるかを示す。例えば、デバイスに関する要素の選択肢には、例えば通知対象となる端末装置10(デバイス)以外にユーザが利用するデバイス(マルチデバイス)に関する情報を加味することを示す「マルチデバイス」や、通知対象となる端末装置10(デバイス)のみの情報を利用することを示す「通常」等の種々の選択肢が含まれる。
例えば、図6に示す例において、種別には、種別ID「CL11」〜「CL31」等により識別される種別(種別CL11〜種別CT31等)が含まれる。例えば、図6に示す種別CL11は、「要素1(ユーザコンテキスト)」として、選択肢「コンテキストCN1」を含み、「要素2(要求行動)」として、選択肢「閲覧」を含む組合せであることを示す。また、例えば、図6に示す種別CL12は、「要素1(ユーザコンテキスト)」として、選択肢「コンテキストCN1」を含み、「要素2(要求行動)」として、選択肢「クリック」を含む組合せであることを示す。
なお、種別情報記憶部123は、上記に限らず、目的に応じて種々の情報を記憶してもよい。
(全体モデル情報記憶部124)
実施形態に係る全体モデル情報記憶部124は、学習に関する情報を記憶する。例えば、全体モデル情報記憶部124は、モデルを記憶する。例えば、全体モデル情報記憶部124は、生成処理により生成された全体モデルの情報を記憶する。図7は、実施形態に係る全体モデル情報記憶部の一例を示す図である。図7に示す全体モデル情報記憶部124は、モデル情報として、全体モデルGM1等に対応させて「素性1」〜「素性3」等といった項目を有する。
例えば、図7に示す例において、全体モデルGM1に関するモデル情報は、素性1の重みが「0.3」、素性2の重みが「−0.8」、素性3の重みが「0.2」等であることを示す。例えば、モデルの素性(特徴量)がm次元のベクトルで表現される場合、素性数はm個になり、素性1〜素性mの重みが記憶される。例えば、素性1は、下記式(1)のa11に対応し、素性2は、下記式(1)のa12に対応する。
なお、全体モデル情報記憶部124は、上記に限らず、目的に応じて種々のモデル情報を記憶してもよい。
(個別モデル情報記憶部125)
実施形態に係る個別モデル情報記憶部125は、学習に関する情報を記憶する。例えば、個別モデル情報記憶部125は、生成処理により収集された種別ごとのモデル情報を記憶する。図8は、実施形態に係る個別モデル情報記憶部の一例を示す図である。図8に示す全体モデル情報記憶部124は、モデル情報として、各個別モデルDM11〜DM16に対応させて、「種別ID」や「素性1」〜「素性3」等といった項目を有する。「種別ID」は、コンテンツの通知目的を分類する種別を示す。
例えば、図7に示す例において、個別モデルDM11に関するモデル情報は、素性1の重みが「0.5」、素性2の重みが「−0.4」、素性3の重みが「0.2」等であることを示す。例えば、モデルの素性(特徴量)がm次元のベクトルで表現される場合、素性数はm個になり、素性1〜素性mの重みが記憶される。例えば、素性1は、下記式(1)のa11に対応し、素性2は、下記式(1)のa12に対応する。このように、全体モデル情報記憶部124に記憶される全体モデルと、個別モデル情報記憶部125に記憶される個別モデル情報とは、素性が共通であってもよい。例えば、全体モデルGM1や個別モデルDM11〜DM16等は、素性を共通の素性とし、各々の重みが異なるモデルであってもよい。
なお、個別モデル情報記憶部125は、上記に限らず、目的に応じて種々のモデル情報を記憶してもよい。
(コンテンツ情報記憶部126)
実施形態に係るコンテンツ情報記憶部126は、コンテンツに関する各種情報を記憶する。図9は、実施形態に係るコンテンツ情報記憶部の一例を示す図である。図9に示すコンテンツ情報記憶部126は、ユーザごとに通知するコンテンツとして、メールの新着を通知するコンテンツや記事コンテンツや所定のサービスの利用を促すコンテンツ等の種々のコンテンツを記憶する。図9に示すコンテンツ情報記憶部126は、「ユーザID」、「コンテンツID」、「種別ID」、「コンテンツ」、「内容」といった項目を有する。
「ユーザID」は、ユーザを識別するための識別情報を示す。例えば、ユーザID「U1」により識別されるユーザは、図1の例に示したユーザU1に対応する。「コンテンツID」は、コンテンツを識別するための識別情報を示す。「種別ID」は、コンテンツの通知目的に関する種別を示す。「コンテンツ」は、通知対象となるコンテンツを示す。例えば、「コンテンツ」は、ユーザに通知する候補となるコンテンツを示す。例えば、記事コンテンツは、いわゆるコンテンツプロバイダ等の提供元から取得したコンテンツである記事を示す。図9では「コンテンツ」に「記事A」等といった概念的な情報が格納される例を示したが、実際には、文字情報や文字情報と画像との組合せ、または、これらの格納場所を示すファイルパス名などが格納される。また、「内容」は、コンテンツの内容を示す。
例えば、図9に示す例において、ユーザU1には、コンテンツID「CT10」〜「CT13」等により識別されるコンテンツ(コンテンツCT10〜コンテンツCT13等)が対応付けられる。例えば、図9に示すコンテンツCT10は、種別ID「CL12」により識別される種別に対応するコンテンツであることを示す。例えば、図9に示すコンテンツCT10は、メールの新着に関するコンテンツであることを示す。例えば、図9に示すコンテンツCT10は、ユーザU1に新着メールがあることを通知するコンテンツであることを示す。例えば、図9に示すコンテンツCT11は、種別ID「CL31」により識別される種別に対応するコンテンツであることを示す。例えば、図9に示す例において、コンテンツCT11により識別されるコンテンツは、スポーツに関する記事Aであることを示す。
なお、コンテンツ情報記憶部126は、上記に限らず、目的に応じて種々の情報を記憶してもよい。例えば、コンテンツ情報記憶部126は、コンテンツを取得した日時やコンテンツが作成された日時に関する情報を記憶してもよい。コンテンツ情報記憶部126は、各提供元の評価値に関する情報を記憶してもよい。また、コンテンツ情報記憶部126は、コンテンツの提供元を識別するための識別情報を記憶してもよい。また、コンテンツ情報記憶部126は、各コンテンツに対応付けて複数の種別を対応付けてもよい。例えば、コンテンツCT10には、種別CL12に加えて、種別CL22や種別CL56等の種々の種別が対応付けられてもよい。また、コンテンツ情報記憶部126は、各コンテンツに対応付けて、ユーザのコンテンツの内容に対する関心度合いを示すスコアを記憶してもよい。この場合、生成装置100や端末装置10は、スコアが高いコンテンツを優先してユーザに通知してもよい。例えば、通知対象と決定された種別に複数のコンテンツが対応する場合、その種別に対応する複数のコンテンツのうち、最大のスコアのコンテンツがユーザに通知されてもよい。
(制御部130)
図3の説明に戻って、制御部130は、コントローラ(controller)であり、例えば、CPU(Central Processing Unit)やMPU(Micro Processing Unit)等によって、生成装置100内部の記憶装置に記憶されている各種プログラム(生成プログラムの一例に相当)がRAMを作業領域として実行されることにより実現される。また、制御部130は、コントローラ(controller)であり、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の集積回路により実現される。
図3に示すように、制御部130は、取得部131と、生成部132と、決定部133と、配信部134とを有し、以下に説明する情報処理の機能や作用を実現または実行する。なお、制御部130の内部構成は、図3に示した構成に限られず、後述する情報処理を行う構成であれば他の構成であってもよい。
(取得部131)
取得部131は、各種情報を取得する。例えば、取得部131は、端末装置10等の外部装置から各種情報を取得する。例えば、取得部131は、ユーザ情報記憶部121や、行動情報記憶部122や、種別情報記憶部123や、全体モデル情報記憶部124や、個別モデル情報記憶部125や、コンテンツ情報記憶部126等から各種情報を取得する。
例えば、取得部131は、端末装置10からユーザに関する各種情報を取得する。例えば、取得部131は、ユーザが複数種類の特定行動のうちのいずれかの行動をした場合におけるユーザの端末装置10に対する行動情報と、ユーザに関するコンテキスト情報とを取得する。例えば、取得部131は、ユーザの行動情報を取得する。例えば、取得部131は、ユーザの端末装置10に配信したコンテンツであって、端末装置10においてユーザに通知されるコンテンツに対するユーザの行動に関する行動情報を取得する。また、取得部131は、ユーザに関するユーザ情報を取得してもよい。
また、取得部131は、端末装置10からコンテンツの配信要求を取得してもよい。また、取得部131は、ユーザを識別する情報(例えば、ログインIDや端末識別情報等)や端末装置10の位置情報等を取得する。また、取得部131は、端末装置10から送信される各種情報を取得する。
取得部131は、取得した行動情報を、コンテンツの通知タイミングの学習に用いる情報として収集する。取得部131は、行動情報のうち、コンテンツに対してユーザが行動しなかったことを示す行動情報を、通知タイミングに関する負例として収集する。例えば、取得部131は、行動情報のうち、コンテンツの通知後における所定期間内にコンテンツに対してユーザが行動しなかったことを示す行動情報を、負例として収集する。また、例えば、取得部131は、行動情報のうち、コンテンツに対してユーザが行動したことを示す行動情報を、通知タイミングに関する正例として収集する。また、取得部131は、収集した負例や正例を行動情報記憶部122に格納する。
図1の例では、取得部131は、端末装置10から取得した行動情報のうち、通知コンテンツに対するユーザU1の行動が「無」である場合を負例として収集する。また、取得部131は、端末装置10から取得した行動情報のうち、通知コンテンツに対するユーザU1の行動が「有」である場合を正例として収集する。
また、詳細は後述するが、取得部131は、負例を収集する所定期間(負例収集期間)を各種情報に基づいて変動させてもよい。例えば、取得部131は、ユーザに関するコンテキストに基づく所定期間内にコンテンツに対してユーザが行動しなかったことを示す行動情報を、負例として収集する。また、例えば、取得部131は、コンテンツに関するコンテキストに基づく所定期間内にコンテンツに対してユーザが行動しなかったことを示す行動情報を、負例として収集する。
(生成部132)
生成部132は、各種情報を生成する。生成部132は、各種情報を用いて学習を行う。例えば、生成部132は、各種情報を用いてモデルを生成する。例えば、生成部132は、取得部131により収集された情報に基づいて学習を行う。例えば、生成部132は、取得部131により収集された情報に基づいて、コンテンツの通知タイミングの判定に用いるモデルを生成する。例えば、生成部132は、行動情報記憶部122に記憶された行動情報に基づいて、ユーザの各特定行動とユーザのコンテキストとを特徴量として機械学習を実行し、コンテンツの通知タイミングの判定に用いるモデルを生成する。
例えば、生成部132は、取得部131により取得された行動情報とコンテキスト情報とに基づいて、端末装置10へのコンテンツの通知目的に関する各種別に対応する各モデルであって、端末装置10への各種別に対応するコンテンツの通知タイミングの判定に用いる各モデル(個別モデル)を生成する。例えば、生成部132は、通知タイミングであると判定された時点よりも前の行動情報とコンテキスト情報とに基づいて、通知タイミングを予測する予測モデルを生成する。例えば、生成部132は、通知タイミングであると判定された時点に対応する特定行動の前にユーザが行った行動に基づいて、通知タイミングを予測する予測モデルを生成する。なお、この点についての詳細は、図15において詳述する。
例えば、生成部132は、取得部131により取得された行動情報とコンテキスト情報とに基づいて、端末装置10へのコンテンツの通知タイミングに関する全体モデルを生成する。例えば、生成部132は、端末装置10へのコンテンツの通知タイミングに関する全体モデルGM1を生成する。生成部132は、生成した全体モデルGM1の情報を全体モデル情報記憶部124へ記憶する。
例えば、生成部132は、行動情報記憶部122に記憶された行動の有無を目的変数(正解データ)とし、ユーザの各特定行動の正否およびユーザのコンテキストの内容の組み合わせを説明変数(素性)とする回帰モデルをモデルとして求めてもよい。例えば、生成部132は、ユーザの端末装置10に対する行動(対端末行動)であるコンテンツの閲覧(開封)の正否を目的変数(正解データ)とし、ユーザの各特定行動の正否およびユーザのコンテキストの内容の組み合わせを説明変数(素性)とする回帰モデルをモデルとして求める。例えば、生成部132は、下記式(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」になってもよい。生成部132は、対端末行動の種別毎にモデルを生成することができる。例えば、ユーザの対端末行動の種別が第1種別から第n種別があるとした場合、生成部132は、第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に対する行動のモデルを生成することができる。なお、生成部132は、ユーザが反応したコンテンツの内容をユーザ情報記憶部121やコンテンツ情報記憶部126から取得してもよい。
また、学習に用いるコンテキストの種別を、現在時刻とした場合、「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」に対して、特徴量を加える方法として、例えば、クロネッカー積などを用いることができる。
また、上述した例では、ユーザの各特定行動の正否およびユーザのコンテキストの内容の組み合わせを説明変数(素性)としたが、さらに、組み合わせでない説明変数(素性)を考慮することもできる。例えば、生成部132は、下記式(2)に示すような回帰モデルをモデルとして求めることもできる。
y = a1・x1+a2・x2+・・・+an・xn+b1・z1+b2・z2+・・・+bn・zm+c11・(x1,z1)+c12・(x1,z2)+・・・+cnm・(xn,zm) ・・・(2)
また、例えば、生成部132は、ユーザの対端末行動毎に情報提供としての適格度合いのスコア(以下、適格性スコアと記載する)を変えることもできる。例えば、生成部132は、対端末行動に応じた適切な適格性スコアになるように、例えば、上述した対端末行動毎のモデルにそれぞれ対端末行動に応じた係数を乗じて適格性スコアを算出することができる。
また、例えば、生成部132は、各特定行動の長さを推定する推定モデルを生成することができる。例えば、生成部132は、ユーザの各特定行動の長さを目的変数(正解データ)とし、ユーザの各特定行動の正否およびコンテキストの内容の組み合わせを説明変数(素性)とする回帰モデルを長さ推定モデルとして求めることができる。
この場合、例えば、生成部132は、上記式(1)において「y」を各特定行動の長さ(特定行動の継続時間)とした回帰モデルを長さ推定モデルとして生成することができる。生成部132は、生成した長さ推定モデルの情報を全体モデル情報記憶部124へ記憶する。
以上のように、生成部132は、対端末行動の種別毎にモデルを生成することができ、さらに、コンテキストの種別毎にモデルを生成することができる。また、生成部132は、対端末行動の種別毎かつ2以上のコンテキストの種別毎にモデルを生成したり、長さ推定モデルとして生成したりすることができる。
また、例えば、生成部132は、取得部131により取得された行動情報とコンテキスト情報とに基づいて、端末装置10へのコンテンツの通知目的に関する各種別に対応する個別モデルであって、端末装置への各種別に対応するコンテンツの通知タイミングの判定に用いる個別モデルを生成する。例えば、生成部132は、端末装置への各種別に対応するコンテンツの通知タイミングの判定に用いる個別モデルDM11〜DM16等を生成する。また、生成部132は、生成した個別モデルDM11〜DM16等の情報を個別モデル情報記憶部125へ記憶する。
例えば、生成部132は、一の種別に対応するコンテンツの通知に関する行動情報とコンテキスト情報とに基づいて、一の種別に対応するコンテンツの通知タイミングに関する個別モデルを生成する。例えば、生成部132は、通知目的の複数の要素であって、各々が複数の選択肢を有する複数の要素の各々から選択された選択肢の組合せに対応する一の種別に関する個別モデルを生成する。
例えば、生成部132は、コンテンツの通知対象となるユーザのコンテキストに関する要素を含む複数の要素に基づいて、個別モデルを生成する。例えば、生成部132は、通知するコンテンツに応じてユーザに要求する行動に関する要素を含む複数の要素に基づいて、個別モデルを生成する。例えば、生成部132は、通知するコンテンツに対するユーザの注意レベルに関する要素を含む複数の要素に基づいて、個別モデルを生成する。
例えば、生成部132は、他のサービスに関する要素を含む複数の要素に基づいて、個別モデルを生成する。例えば、生成部132は、通知するコンテンツに対応するサービスへのユーザの流入経路に関する要素を含む複数の要素に基づいて、個別モデルを生成する。例えば、生成部132は、コンテンツを通知する端末装置のデバイス種別に関する要素を含む複数の要素に基づいて、個別モデルを生成する。例えば、生成部132は、全体モデルにより端末装置10へのコンテンツの通知タイミングであると判定された場合に、各種別に対応するコンテンツの通知タイミングであるかの判定に用いるモデルとして、個別モデルを生成する。
例えば、生成部132は、全体モデルGM1と同様の素性を含むモデルを個別モデルとして生成してもよい。例えば、生成部132は、上記式(1)や上記式(2)を用いて、個別モデルDM11〜DM16等を生成してもよい。例えば、生成部132は、上記式(1)や上記式(2)を用いて、個別モデルDM11〜DM16等を生成してもよい。この場合、例えば、生成部132は、素性が共通であり、各々の重みが異なる全体モデルGM1や個別モデルDM11〜DM16等の複数のモデルを生成してもよい。
また、例えば、生成部132は、各モデルに応じて、行動の有無の判定のレベルを変動させてもよい。例えば、生成部132は、ユーザにコンテンツの閲覧を要求する種別に対応する個別モデルの場合、ユーザがコンテンツの閲覧を行った場合、行動有としても、個別モデルを生成してもよい。例えば、生成部132は、ユーザにコンテンツの閲覧を要求する種別CL11に対応する個別モデルDM11の場合、ユーザがコンテンツの閲覧を行った場合、行動有としても、個別モデルDM11を生成してもよい。
例えば、生成部132は、ユーザにコンテンツのクリックを要求する種別CL22に対応する個別モデルDM22の場合、ユーザがコンテンツに対してクリックを行った場合、行動有としても、個別モデルDM22を生成してもよい。また、例えば、生成部132は、ユーザがコンテンツの閲覧のみを行い、コンテンツに対してクリックを行わなかった場合、行動無として、個別モデルDM22を生成し、コンテンツの閲覧があったため、行動有として、全体モデルGM1を生成してもよい。
また、例えば、生成部132は、ユーザにコンテンツに関するコンバージョンを要求する種別CL23に対応する個別モデルDM23の場合、ユーザがコンテンツに関するコンバージョンを行った場合、行動有として、個別モデルDM23を生成してもよい。また、例えば、生成部132は、ユーザがコンテンツの閲覧のみを行い、コンテンツに関するコンバージョンを行わなかった場合、行動無として、個別モデルDM23を生成し、コンテンツの閲覧があったため、行動有として、全体モデルGM1を生成してもよい。
すなわち、生成部132は、生成するモデルに応じて、そのコンテンツの通知に関する情報を正例としたり、負例としたりしてもよい。言い換えると、生成部132は、生成するモデルに応じて、そのコンテンツの通知に関する情報の価値を変動させてもよい。
生成部132が行うモデルの生成は、上述した例に限定されるものではなく、結果的に、対端末行動の種別毎にモデルを生成したり、コンテキストの種別毎にモデルを生成したりすることなどができればよい。例えば、生成部132は、SVM(Support Vector Machine)やその他の機械学習法を用いて、モデルを生成することもできる。また、生成部132は、特徴量(素性)の2乗や3乗などの項を持つモデルを生成することもできる。
(決定部133)
決定部133は、種々の情報を決定する。例えば、決定部133は、端末装置10に配信するコンテンツを決定する。例えば、決定部133は、コンテンツ情報記憶部126に記憶されたコンテンツのうち、端末装置10に配信するコンテンツを決定する。例えば、決定部133は、コンテンツ情報記憶部126(図9参照)に記憶されたコンテンツのうち、端末装置10を利用するユーザに対応付けられたコンテンツを、配信するコンテンツとして決定する。例えば、決定部133は、コンテンツ情報記憶部126(図9参照)に示すように、ユーザU1に対応付けられたコンテンツCT10〜CT13を、ユーザU1が利用する端末装置10に配信するコンテンツとして決定する。
また、生成装置100において、コンテンツの通知タイミングを判定する場合、決定部133は、端末装置10へコンテンツを配信するタイミングを決定してもよい。例えば、決定部133は、全体モデルGM1や個別モデルDM11〜DM16等を用いて、端末装置10へコンテンツを配信するタイミングを決定してもよい。例えば、決定部133は、端末装置10から取得されるユーザの端末装置に対する行動情報やコンテキスト情報を用いて、端末装置10へコンテンツを配信するタイミングを決定してもよい。
例えば、決定部133は、端末装置10から取得されるユーザの端末装置に対する行動情報やコンテキスト情報を入力として、上記式(1)を用いて算出される全体モデルGM1に対応する「y」の値(全体モデルGM1のスコア)が所定の閾値以上の場合、ゴールデンブレイクポイントと判定してもよい。
例えば、決定部133は、ゴールデンブレイクポイントと判定した場合、各種別のスコアを算出する。例えば、決定部133は、各種別に対応する個別モデルDM11〜DM16等を用いて、各種別のスコアを算出する。
そして、決定部133は、算出した各種別のスコアのうち、閾値以上のスコアの種別があるかどうかを判定する。例えば、決定部133は、閾値以上のスコアの種別がないと判定した場合、コンテンツの通知タイミングではないと判定する。例えば、決定部133は、上記式(1)を用いて個別モデルDM11〜DM16等の各々に対応する「y」の値(個別モデルDM11〜DM16等の各々のスコア)を算出し、個別モデルDM11〜DM16等の各々に対応する「y」の値が全て閾値未満の場合、コンテンツの通知タイミングではないと判定する。
また、決定部133は、算出した各種別のスコアのうち、少なくとも1つが閾値以上のスコアの種別があると判定した場合、コンテンツの通知タイミングではあると判定する。例えば、決定部133は、上記式(1)を用いて個別モデルDM11〜DM16等の各々に対応する「y」の値を算出し、個別モデルDM11〜DM16等の各々に対応する「y」の値のうち、少なくとも1つが閾値以上の場合、コンテンツの通知タイミングであると判定する。この場合、決定部133は、スコアが最大の種別のコンテンツを通知すると決定する。
また、決定部133は、ユーザに関するコンテキストを決定(推定)する。決定部133は、ユーザU1のユーザ情報を用いて、ユーザU1に関するコンテキストを推定する。例えば、決定部133は、ユーザ情報記憶部121や、行動情報記憶部122や、種別情報記憶部123や、全体モデル情報記憶部124や、個別モデル情報記憶部125や、コンテンツ情報記憶部126等に記憶されたユーザに関する各種情報を用いて、ユーザに関するコンテキストを推定する。
例えば、決定部133は、ユーザの行動履歴、ユーザの行動予定、ユーザの属性、ユーザの現在位置、現在時刻、ユーザが置かれた物理環境、ユーザが置かれた社会環境、ユーザの運動状態、および、ユーザの感情等の種々の情報等に基づいてユーザのコンテキストを推定する。例えば、決定部133は、ユーザU1の行動履歴、ユーザU1の行動予定、ユーザU1の属性、ユーザU1の現在位置、現在時刻、ユーザU1が置かれた物理環境、ユーザU1が置かれた社会環境、ユーザU1の運動状態、および、ユーザU1の感情等の種々の情報等に基づいてユーザU1のコンテキストをコンテキストCN1と推定する。
例えば、決定部133は、ユーザU1のコンテキストを、ユーザU1が利用する端末装置10から取得した各種情報に基づいて、朝の経済ニュースに関心を示す可能性が高いコンテキストCN1と推定する。例えば、決定部133は、ユーザU2のコンテキストを、ユーザU2が利用する端末装置10から取得した各種情報に基づいて、夜のエンターテインメントのニュースに関心を示す可能性が高いコンテキストCN3と推定する。
(配信部134)
配信部134は、端末装置10に各種情報を配信する。例えば、配信部134は、端末装置10にコンテンツを配信する。また、配信部134は、決定部133により決定されたコンテンツを配信する。
例えば、配信部134は、コンテンツ情報記憶部126に記憶されたコンテンツのうち、端末装置10に配信するコンテンツを配信する。例えば、配信部134は、コンテンツ情報記憶部126(図9参照)に記憶されたコンテンツのうち、端末装置10を利用するユーザに対応付けられたコンテンツを、配信するコンテンツとして配信する。例えば、配信部134は、コンテンツ情報記憶部126(図9参照)に示すように、ユーザU1に対応付けられたコンテンツCT10〜CT13を、ユーザU1が利用する端末装置10に配信する。
また、配信部134は、決定部133により決定されたタイミングでコンテンツを配信する。例えば、配信部134は、決定部133により通知タイミングになったと判定された場合、スコアが最大の種別のコンテンツを端末装置10へ配信(通知)する。例えば、配信部134は、個別モデルDM11が算出するスコアが最大である場合、個別モデルDM11の種別CL11に対応するコンテンツを端末装置10へ配信(通知)する。
〔4.端末装置の構成〕
次に、図10を用いて、実施形態に係る端末装置10の構成について説明する。図10は、実施形態に係る端末装置の構成例を示す図である。図10に示すように、端末装置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の物理的な状態や周囲の状態を検知する。図10に示す例では、検知部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は、全体モデル情報記憶部124に示すようなモデル情報が対応する。例えば、ユーザ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は、各種情報を取得する。例えば、取得部42は、生成装置100等の外部装置から各種情報を取得する。取得部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は、各種モデルを取得する。例えば、取得部42は、生成装置100から全体モデルGM1や個別モデルDM11〜DM16等の各種モデルを取得する。また、取得部42は、生成装置100から学習モデルの情報や推定モデルの情報を取得することができ、取得した学習モデルの情報や推定モデルの情報をモデル情報31として記憶部15に記憶することができる。
(送信部43)
送信部43は、各種情報を送信する。例えば、送信部43は、生成装置100等の外部装置に各種情報を送信する。例えば、送信部43は、生成装置100にユーザの行動情報やコンテンツ情報を送信する。送信部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は、ユーザへの通知タイミングを判定する。例えば、タイミング判定部44は、各種モデルを用いて、ユーザへの割り込みに適したタイミングである通知タイミングを判定することができる。例えば、タイミング判定部44は、全体モデルGM1や個別モデルDM11〜DM16等を用いて、各種別に対応するコンテンツの通知タイミングを判定することができる。
例えば、タイミング判定部44は、記憶部15に記憶されているモデル情報31に含まれる各種モデルの情報を取得し、取得部42で取得されたユーザ関連情報を入力情報として各種モデルから、ユーザの端末装置10に対する行動の可能性を推定する。
この場合、タイミング判定部44は、例えば、記憶部15に記憶されたコンテンツに対してユーザの行動有無の可能性を各種モデルから判定することもできる。
また、タイミング判定部44は、記憶部15に記憶されたコンテンツに対してユーザの端末装置10に対する行動の可能性が高いとタイミング判定部44によって推定された場合、通知タイミングになったと判定する。
図1の例では、タイミング判定部44は、生成装置100から受信したコンテンツの通知タイミングを判定する。例えば、タイミング判定部44は、ブレイクポイントBP11〜BP16と判定した場合、全体モデルGM1を用いて、そのブレイクポイントがゴールデンブレイクポイントであるかどうかを判定する。例えば、タイミング判定部44は、上記式(1)を用いて全体モデルGM1に対応する「y」の値(全体モデルGM1のスコア)を算出し、「y」の値が所定の閾値以上の場合、そのブレイクポイントをゴールデンブレイクポイントと判定する。
また、タイミング判定部44は、ゴールデンブレイクポイントと判定した場合、各種別のスコアを算出する。例えば、タイミング判定部44は、各種別に対応する個別モデルDM11〜DM16等を用いて、各種別のスコアを算出する。
そして、タイミング判定部44は、算出した各種別のスコアのうち、閾値以上のスコアの種別があるかどうかを判定する。例えば、タイミング判定部44は、閾値以上のスコアの種別がないと判定した場合、コンテンツの通知タイミングではないと判定する。例えば、タイミング判定部44は、上記式(1)を用いて個別モデルDM11〜DM16等の各々に対応する「y」の値(個別モデルDM11〜DM16等の各々のスコア)を算出し、個別モデルDM11〜DM16等の各々に対応する「y」の値が全て閾値未満の場合、コンテンツの通知タイミングではないと判定する。
また、タイミング判定部44は、算出した各種別のスコアのうち、少なくとも1つが閾値以上のスコアの種別があると判定した場合、コンテンツの通知タイミングではあると判定する。例えば、タイミング判定部44は、上記式(1)を用いて個別モデルDM11〜DM16等の各々に対応する「y」の値を算出し、個別モデルDM11〜DM16等の各々に対応する「y」の値のうち、少なくとも1つが閾値以上の場合、コンテンツの通知タイミングであると判定する。この場合、タイミング判定部44は、スコアが最大の種別のコンテンツを通知すると判定する。
また、図1の例では、タイミング判定部44は、行動情報CH11が行われたブレイクポイントBP11がゴールデンブレイクポイントであるかを判定する。例えば、タイミング判定部44は、日時t12において算出した全体モデルGM1のスコアと所定の閾値とを比較することにより、ブレイクポイントBP11がゴールデンブレイクポイントであるかを判定する。例えば、ブレイクポイントBP11における全体モデルGM1のスコアが所定の閾値未満であったため、タイミング判定部44は、ブレイクポイントBP11をゴールデンブレイクポイントでないと判定する。
また、図1の例では、タイミング判定部44は、行動情報CH12が行われたブレイクポイントBP12がゴールデンブレイクポイントであるかを判定する。図1では、例えば、ブレイクポイントBP12における全体モデルGM1のスコアが所定の閾値以上であったため、タイミング判定部44は、ブレイクポイントBP12をゴールデンブレイクポイントGBP12であると判定する。
また、図1の例では、タイミング判定部44は、ゴールデンブレイクポイントGBP12における個別モデルDM11〜DM16等の各々のスコアを算出する。図1では、タイミング判定部44は、個別モデルDM11〜DM16等を用いて算出した各種別CL11〜CL31等のスコアのうち、閾値(0.5)以上のスコアの種別があるかどうかを判定する。図1では、閾値以上のスコアの種別がないため、タイミング判定部44は、コンテンツの通知タイミングではないと判定する。
また、図1の例では、タイミング判定部44は、行動情報CH14が行われたブレイクポイントBP14がゴールデンブレイクポイントであるかを判定する。図1では、例えば、ブレイクポイントBP14における全体モデルGM1のスコアが所定の閾値以上であったため、タイミング判定部44は、ブレイクポイントBP14をゴールデンブレイクポイントGBP14であると判定する。
また、図1の例では、タイミング判定部44は、ゴールデンブレイクポイントGBP14における個別モデルDM11〜DM16等の各々のスコアを算出する。図1では、タイミング判定部44は、個別モデルDM11〜DM16等を用いて算出した各種別CL11〜CL31等のスコアのうち、閾値(0.5)以上のスコアの種別があるかどうかを判定する。図1では、種別CL12のスコアが閾値(0.5)以上であるため、タイミング判定部44は、コンテンツの通知タイミングであると判定する。
また、タイミング判定部44は、ユーザに関するコンテキストを決定(推定)してもよい。タイミング判定部44は、ユーザU1のユーザ情報を用いて、ユーザU1に関するコンテキストを推定してもよい。例えば、タイミング判定部44は、記憶部15等に記憶されたユーザに関する各種情報を用いて、ユーザに関するコンテキストを推定してもよい。
例えば、タイミング判定部44は、ユーザの行動履歴、ユーザの行動予定、ユーザの属性、ユーザの現在位置、現在時刻、ユーザが置かれた物理環境、ユーザが置かれた社会環境、ユーザの運動状態、および、ユーザの感情等の種々の情報等に基づいてユーザのコンテキストを推定してもよい。例えば、タイミング判定部44は、ユーザU1の行動履歴、ユーザU1の行動予定、ユーザU1の属性、ユーザU1の現在位置、現在時刻、ユーザU1が置かれた物理環境、ユーザU1が置かれた社会環境、ユーザU1の運動状態、および、ユーザU1の感情等の種々の情報等に基づいてユーザU1のコンテキストをコンテキストCN1と推定してもよい。
例えば、タイミング判定部44は、ユーザU1のコンテキストを、記憶部15等に記憶された各種情報に基づいて、朝の経済ニュースに関心を示す可能性が高いコンテキストCN1と推定してもよい。例えば、タイミング判定部44は、ユーザU1のコンテキストを、記憶部15等に記憶された各種情報に基づいて、夜のエンターテインメントのニュースに関心を示す可能性が高いコンテキストCN3と推定してもよい。
(処理部45)
処理部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に表示することができる。
図11は、端末装置10の表示画面の一例を示す図である。図11に示す端末装置10には、生成装置100などの外部装置から提供されたコンテンツCT10、CT50、CT60、CT70、CT11、CT80が表示されている。なお、図11に示す端末装置10においては、コンテンツCT80は、一部が表示される。すなわち、端末装置10においては、5.5個のコンテンツ、すなわち4個のコンテンツ全体の1個のコンテンツの上半分が画面上に表示される。
コンテンツCT10、CT50、CT60、CT70、CT11、CT80は、例えば、上述した「通知内容」に応じた範囲の内容で表示画面DP10に表示される。表示画面DP10に表示されたコンテンツをユーザが選択(クリック)した場合に、処理部45は、選択されたコンテンツ全体の内容を表示部12aに表示する。これにより、ユーザは、コンテンツ全体を把握することができる。
コンテンツCT10は、着信メールの内容を示すコンテンツであり、コンテンツCT10をユーザが選択(クリック)した場合に、端末装置10の所定のメールアプリ等によりメール画面が表示部12aに表示される。図11に示すコンテンツCT10は、図9に示すように、種別CL12に対応するコンテンツであり、ユーザに要求する行動としては、ユーザにクリックを要求するコンテンツである。
また、コンテンツCT50は、所定のSNS(Social Networking Service)アプリケーションであるアプリAPTに関するコンテンツであり、コンテンツCT50をユーザが選択(クリック)した場合に、端末装置10のアプリAPTが起動され、表示部12aに表示される。図11に示すコンテンツCT50は、例えば種別CL21に対応するコンテンツであり、ユーザに要求する行動としては、ユーザに閲覧のみを要求するコンテンツである。
また、コンテンツCT60は、所定のショッピングサービスに関するコンテンツであり、コンテンツCT60をユーザが選択(クリック)した場合に、端末装置10のブラウザ等の所定のアプリにより所定のショッピングサービスに関する画面が表示部12aに表示される。図11に示すコンテンツCT60は、例えば種別CL23に対応するコンテンツであり、ユーザに要求する行動としては、ユーザにコンバージョン、例えば所定のショッピングサービスにおける商品の購入を要求するコンテンツである。
また、コンテンツCT70は、所定のメッセージアプリケーションであるアプリAPLに関するコンテンツであり、コンテンツCT70をユーザが選択(クリック)した場合に、端末装置10のアプリAPLが起動され、表示部12aに表示される。図11に示すコンテンツCT70は、例えば種別CL12に対応するコンテンツであり、ユーザに要求する行動としては、ユーザにクリックを要求するコンテンツである。
また、コンテンツCT11は、スポーツニュースの情報であり、コンテンツCT11をユーザが選択(クリック)した場合に、端末装置10の情報通知アプリケーションによりニュースの具体的な記事内容を示す画面が表示部12aに表示される。例えば、コンテンツCT11は、図9に示すように、種別CL31に対応するコンテンツであり、ユーザに要求する行動としては、ユーザに閲覧のみを要求するコンテンツである。
図11に示すように、コンテンツCT10、CT50、CT60、CT70、CT11、CT80は、通知された時刻等の所定の基準に基づいて、一覧表示される。
例えば、図11では、コンテンツCT10、CT50、CT60、CT70、CT11、CT80は、通知された時刻等が最新のものから順に、上から下へ一覧表示される。この場合、通知タイミングはユーザが端末装置10を操作するタイミングの直前であることが望ましい。そのため、端末装置10は、ゴールデンブレイクポイントと判定される度に、各種別のスコアに基づいて、コンテンツをプッシュ通知してもよい。これにより、端末装置10には、適切なタイミングで適切なコンテンツがユーザに認識されやすい位置に表示される。
なお、処理部45は、タイミング判定部44によって通知タイミングになったと判定された場合、記憶部15に記憶されたコンテンツのうち表示部12aに表示された他のコンテンツ(例えば、コンテンツCT60、CT70、CT80等)の種別または内容の情報に応じたコンテンツをユーザへ提供することができる。例えば、処理部45は、タイミング判定部44によって通知タイミングになったと判定された場合、スコアが最大の種別のコンテンツを通知する。例えば、処理部45は、個別モデルDM11が算出するスコアが最大である場合、個別モデルDM11の種別CL11に対応するコンテンツを通知する。
例えば、処理部45は、他のコンテンツと競合しないコンテンツをユーザへ提供したり、他のコンテンツよりもユーザの興味度が高いコンテンツをユーザへ提供したりすることができる。なお、ユーザの興味度は、例えば、記憶部15に記憶されたユーザ属性情報33に基づいて処理部45で判定される。
処理部45は、タイミング判定部44の推定結果に応じた通知態様でコンテンツを表示することができる。例えば、処理部45は、学習モデルにより可能性が高いと推定される対端末行動の種別に応じてコンテンツの通知方法、通知内容および通知手段のうちの少なくとも一つを変えてもよい。
〔5.生成処理のフロー〕
次に、図12及び図13を用いて、実施形態に係る生成システム1による各種モデルの生成について説明する。
〔5−1.全体モデルの生成について〕
次に、図12を用いて、実施形態に係る生成システム1による生成処理の手順について説明する。図12は、実施形態に係る生成処理の一例を示すフローチャートである。具体的には、図12は、全体モデルの生成処理の一例を示すフローチャートである。
図12に示すように、生成装置100は、端末装置10にコンテンツを配信する(ステップS101)。そして、コンテンツを受信した端末装置10は、適宜のタイミングでコンテンツを表示することにより、ユーザに通知し、ユーザの行動情報やコンテキスト情報を収集する。
その後、生成装置100は、ユーザの行動情報を取得する(ステップS102)。例えば、生成装置100は、コンテンツを配信した端末装置10からユーザの行動情報を取得する。
また、生成装置100は、ユーザのコンテキスト情報を取得する(ステップS103)。例えば、生成装置100は、コンテンツを配信した端末装置10からユーザのコンテキスト情報を取得する。なお、ステップS103がステップS102よりも先に行われてもよく、ステップS102やステップS103は複数回行われてもよく、ステップS102とステップS103とを併せて行ってもよい。
その後、生成装置100は、ユーザの行動情報及びコンテキスト情報に基づいて全体モデルを生成する(ステップS104)。例えば、生成装置100は、ユーザの行動情報及びコンテキスト情報に基づいて全体モデルGM1を生成する。
〔5−2.個別モデルの生成について〕
次に、図13を用いて、実施形態に係る生成システム1による生成処理の手順について説明する。図13は、実施形態に係る生成処理の一例を示すフローチャートである。具体的には、図13は、個別モデルの生成処理の一例を示すフローチャートである。
図13に示すように、生成装置100は、端末装置10にコンテンツを配信する(ステップS101)。例えば、生成装置100は、モデルの生成対象となる種別に対応するコンテンツを端末装置10に配信する。そして、コンテンツを受信した端末装置10は、適宜のタイミングでコンテンツを表示することにより、ユーザに通知し、ユーザの行動情報やコンテキスト情報を収集する。
その後、生成装置100は、ユーザの行動情報を取得する(ステップS102)。例えば、生成装置100は、コンテンツを配信した端末装置10からユーザの行動情報を取得する。例えば、生成装置100は、モデルの生成対象となる種別に対応するコンテンツを配信した端末装置10からユーザの行動情報を取得する。
また、生成装置100は、ユーザのコンテキスト情報を取得する(ステップS103)。例えば、生成装置100は、コンテンツを配信した端末装置10からユーザのコンテキスト情報を取得する。例えば、生成装置100は、モデルの生成対象となる種別に対応するコンテンツを配信した端末装置10からユーザのコンテキスト情報を取得する。なお、ステップS103がステップS102よりも先に行われてもよく、ステップS102やステップS103は複数回行われてもよく、ステップS102とステップS103とを併せて行ってもよい。
その後、生成装置100は、コンテンツに対応する種別に応じた、ユーザの行動情報及びコンテキスト情報に基づいて、種別に対応する個別モデルを生成する(ステップS104)。例えば、生成装置100は、種別CL11に対応するコンテンツをユーザに通知した端末装置10から取得したユーザの行動情報及びコンテキスト情報に基づいて、種別CL11に対応する個別モデルDM11を生成する。
〔6.通知タイミングの判定処理のフロー〕
次に、図14を用いて、判定処理のフローチャートについて説明する。図14は、実施形態に係る判定処理の一例を示すフローチャートである。具体的には、図14は、コンテンツの通知タイミングの判定処理の一例を示すフローチャートである。なお、図14の例では、コンテンツの通知タイミングの判定を端末装置10が行う場合を説明するが、コンテンツの通知タイミングの判定は、生成装置100が行ってもよい。
図14に示すように、端末装置10は、ゴールデンブレイクポイントかどうかを判定する(ステップS301)。ゴールデンブレイクポイントでないと判定した場合(ステップS301:No)、端末装置10は、コンテンツの通知タイミングではないとして、処理を終了する。
また、ゴールデンブレイクポイントであると判定した場合(ステップS301:Yes)、端末装置10は、各種別のスコアを算出する(ステップS302)。例えば、端末装置10は、各種別に対応する個別モデルDM11〜DM16等を用いて、各種別のスコアを算出する。
そして、端末装置10は、閾値以上のスコアの種別があるかどうかを判定する(ステップS303)。閾値以上のスコアの種別がないと判定した場合(ステップS303:No)、端末装置10は、コンテンツの通知タイミングではないとして、処理を終了する。
また、閾値以上のスコアの種別があると判定した場合(ステップS303:Yes)、端末装置10は、スコアが最大の種別のコンテンツを通知する(ステップS304)。例えば、端末装置10は、個別モデルDM11が算出するスコアが最大である場合、個別モデルDM11の種別CL11に対応するコンテンツを通知する。
〔7.ゴールデンブレイクポイントの予測〕
また、生成装置100は、通知タイミングが到来するタイミングを予測するモデル(以下、「予測モデル」ともいう)を生成してもよい。また、生成システム1は、生成装置100が生成した予測モデルを用いて、通知タイミングが到来するタイミングを予測し、予測した情報に基づいてユーザに通知を行ってもよい。この点について、図15及び図16を用いて説明する。図15は、実施形態に係る予測モデルの生成処理の一例を示す図である。図16は、実施形態に係る予測モデルを用いた通知の一例を示す図である。
〔7−1.予測モデルの生成〕
まず、図15を用いて、生成装置100による予測モデルの生成について説明する。例えば、生成装置100は、通知タイミングであると判定された時点よりも前の行動情報とコンテキスト情報とに基づいて、通知タイミングを予測する予測モデルを生成する。例えば、生成装置100は、通知タイミングであると判定された時点に対応する特定行動の前にユーザが行った行動に基づいて、通知タイミングを予測する予測モデルを生成する。
なお、図15に示す例においては、日時t53において、ユーザU1が指F1により端末装置10のボタンBT2を押下することで音量を操作する行動ACT53が行った場合に、ゴールデンブレイクポイントGBP51であると判定された場合を例に示す。
図15に示す例では、生成装置100は、ゴールデンブレイクポイントGBP51であると判定された時点に対応する行動ACT53の前におけるユーザの行動情報やコンテキスト情報を取得する(ステップS51)。例えば、生成装置100は、ユーザU1が行動ACT53を行った日時t53以前の日時t51や日時t52におけるユーザの行動情報やコンテキスト情報を取得する。なお、日時t51〜日時t53は、所定の短期間(例えば1分間や5分間等)内に含まれるものとする。
図15に示す例では、生成装置100は、ユーザU1が日時t51において行ったスマホ(端末装置10)を手に取る行動ACT51に関する情報や日時t51におけるユーザU1のコンテキスト情報を取得する。また、図15に示す例では、生成装置100は、ユーザU1が日時t52において行った指F1により端末装置10のボタンBT1を押下することで端末装置10の電源を入れる行動ACT52に関する情報や日時t52におけるユーザU1のコンテキスト情報を取得する。
そして、生成装置100は、取得した情報に基づいて予測モデルを生成する(ステップS52)。図15の例では、生成装置100は、行動ACT51を行った後の行動ACT52の後にゴールデンブレイクポイントGBP51であると判定されたことを示す情報に基づいて、予測モデルPM1を生成する。例えば、生成装置100は、行動ACT51を行った後のユーザが行動ACT52を行った場合に、その後ゴールデンブレイクポイントが到来したことを示す情報に基づいて、予測モデルPM1を生成する。例えば、生成装置100は、行動ACT51と行動ACT52との一連の行動に関する情報を正例として、予測モデルPM1を生成する。なお、図15に図示する行動ACT51〜ACT53は一例であり、生成装置100は、種々の情報を用いて予測モデルを生成する。これにより、生成システム1は、事前にゴールデンブレイクポイントの到来を予測することができる。
〔7−2.予測モデルの利用〕
次に、図16を用いて、予測モデルを用いた通知の一例について説明する。例えば生成システム1は、生成装置100により生成された予測モデルPM1を用いて、通知タイミングが到来することを予測し、予測した情報に基づいてユーザに通知を行う。なお、図16の例では、端末装置10が予測モデルPM1を用いて、ユーザに事前通知を行う場合を示す。
図16に示す例では、ユーザU1は日時t60において座っている状態から立っている状態へ変化する行動ACT60を行ったものとする。そして、端末装置10は、行動ACT60が行われた後にゴールデンブレイクポイントが到来するかを予測する(ステップS60)。
図16では、端末装置10は、予測モデルPM1を用いて、行動ACT60が行われた後にゴールデンブレイクポイントが到来するかを予測する。例えば、端末装置10は、予測モデルPM1と、行動ACT60やそれ以前の行動に関する情報やコンテキスト情報等とに基づいて、行動ACT60が行われた後にゴールデンブレイクポイントが到来するかを予測する。
図16の例では、ゴールデンブレイクポイントの予測に用いる閾値が「0.5」である場合を示す。例えば、端末装置10は、行動ACT60やそれ以前の行動に関する情報やコンテキスト情報等を予測モデルPM1に入力し、予測モデルPM1が出力するスコアが「0.5」以上であれば、行動ACT60が行われた後にゴールデンブレイクポイントが到来すると予測する。
図16では、端末装置10は、行動ACT60やそれ以前の行動に関する情報やコンテキスト情報等が入力された予測モデルPM1が出力するスコアが「0.5」未満であり、行動ACT60が行われた後にゴールデンブレイクポイントが到来しないと予測する。
その後、図16に示す例では、ユーザU1は日時t61においてスマホ(端末装置10)を手に取る行動ACT61を行ったものとする。そして、端末装置10は、行動ACT61が行われた後にゴールデンブレイクポイントが到来するかを予測する(ステップS61)。
図16では、端末装置10は、予測モデルPM1を用いて、行動ACT61が行われた後にゴールデンブレイクポイントが到来するかを予測する。例えば、端末装置10は、予測モデルPM1と、行動ACT61やそれ以前の行動ACT60等に関する情報やコンテキスト情報等とに基づいて、行動ACT61が行われた後にゴールデンブレイクポイントが到来するかを予測する。
図16では、端末装置10は、行動ACT61やそれ以前の行動ACT60等に関する情報やコンテキスト情報等が入力された予測モデルPM1が出力するスコアが「0.5」未満であり、行動ACT61が行われた後にゴールデンブレイクポイントが到来しないと予測する。
その後、図16に示す例では、ユーザU1は日時t62においてボタンBT1を押下することで端末装置10の電源を入れる行動ACT62を行ったものとする。そして、端末装置10は、行動ACT62が行われた後にゴールデンブレイクポイントが到来するかを予測する(ステップS62)。
図16では、端末装置10は、予測モデルPM1を用いて、行動ACT62が行われた後にゴールデンブレイクポイントが到来するかを予測する。例えば、端末装置10は、予測モデルPM1と、行動ACT62やそれ以前の行動ACT61等に関する情報やコンテキスト情報等とに基づいて、行動ACT62が行われた後にゴールデンブレイクポイントが到来するかを予測する。
図16では、端末装置10は、行動ACT62やそれ以前の行動ACT61等に関する情報やコンテキスト情報等が入力された予測モデルPM1が出力するスコアが「0.5」以上であり、行動ACT62が行われた後にゴールデンブレイクポイントが到来すると予測する(ステップS63)。例えば、端末装置10は、予測モデルPM1が判定時からn分後にゴールデンブレイクポイント(GBP)が到来するかどうかを判定するモデルである場合、日時t62からn分後の日時t63にゴールデンブレイクポイントGBP61が到来すると予測する。
図16では、ゴールデンブレイクポイントGBP61が到来すると予測した端末装置10は、ゴールデンブレイクポイントGBP61が到来することを示す事前通知を行う(ステップS64)。例えば、端末装置10は、n分後に重要な通知があることを示すティザー情報TS51を通知(表示)する。これにより、生成システム1は、ゴールデンブレイクポイントGBP61において、端末装置10を利用するユーザU1の意識を他のコンテンツではなく、ティザー情報TS51により通知を予告したコンテンツ、すなわち生成システム1が日時t63に通知するコンテンツに向けさせることができる。
〔8.効果〕
上述してきたように、実施形態に係る生成装置100は、取得部131と、生成部132とを有する。取得部131は、ユーザが複数種類の特定行動のうちのいずれかの行動をした場合におけるユーザの端末装置10に対する行動情報と、ユーザに関するコンテキスト情報とを取得する。また、生成部132は、取得部131により取得された行動情報とコンテキスト情報とに基づいて、端末装置10へのコンテンツの通知目的に関する各種別に対応する各モデルであって、端末装置10への各種別に対応するコンテンツの通知タイミングの判定に用いる各モデル(実施形態においては、個別モデルDM11〜DM16等。以下同じ)を生成する。
これにより、実施形態に係る生成装置100は、行動情報とコンテキスト情報とに基づいて、端末装置10へのコンテンツの通知目的に関する各種別に対応する各モデルであって、端末装置10への各種別に対応するコンテンツの通知タイミングの判定に用いる各モデルを生成することにより、ユーザに対して適切なタイミングで適切な内容の通知を可能にすることができる。
また、実施形態に係る生成装置100において、生成部132は、一の種別に対応するコンテンツの通知に関する行動情報とコンテキスト情報とに基づいて、一の種別に対応するコンテンツの通知タイミングに関するモデル(実施形態においては、個別モデルDM11〜DM16等。以下同じ)を生成する。
これにより、実施形態に係る生成装置100は、一の種別に対応するコンテンツの通知に関する行動情報とコンテキスト情報とに基づいて、一の種別に対応するコンテンツの通知タイミングに関するモデルを生成することにより、ユーザに対して適切なタイミングで適切な内容の通知を可能にすることができる。
また、実施形態に係る生成装置100において、生成部132は、通知目的の複数の要素であって、各々が複数の選択肢を有する複数の要素の各々から選択された選択肢の組合せに対応する一の種別に関するモデルを生成する。
これにより、実施形態に係る生成装置100は、通知目的の複数の要素であって、各々が複数の選択肢を有する複数の要素の各々から選択された選択肢の組合せに対応する一の種別に関するモデルを生成することにより、ユーザに対して適切なタイミングで適切な内容の通知を可能にすることができる。
また、実施形態に係る生成装置100において、生成部132は、コンテンツの通知対象となるユーザのコンテキストに関する要素を含む複数の要素に基づいて、モデルを生成する。
これにより、実施形態に係る生成装置100は、コンテンツの通知対象となるユーザのコンテキストに関する要素を含む複数の要素に基づいて、モデルを生成することにより、ユーザに対して適切なタイミングで適切な内容の通知を可能にすることができる。
また、実施形態に係る生成装置100において、生成部132は、通知するコンテンツに応じてユーザに要求する行動に関する要素を含む複数の要素に基づいて、モデルを生成する。
これにより、実施形態に係る生成装置100は、通知するコンテンツに応じてユーザに要求する行動に関する要素を含む複数の要素に基づいて、モデルを生成することにより、ユーザに対して適切なタイミングで適切な内容の通知を可能にすることができる。
また、実施形態に係る生成装置100において、生成部132は、通知するコンテンツに対するユーザの注意レベルに関する要素を含む複数の要素に基づいて、モデルを生成する。
これにより、実施形態に係る生成装置100は、通知するコンテンツに対するユーザの注意レベルに関する要素を含む複数の要素に基づいて、モデルを生成することにより、ユーザに対して適切なタイミングで適切な内容の通知を可能にすることができる。
また、実施形態に係る生成装置100において、生成部132は、他のサービスに関する要素を含む複数の要素に基づいて、モデルを生成する。
これにより、実施形態に係る生成装置100は、他のサービスに関する要素を含む複数の要素に基づいて、モデルを生成することにより、ユーザに対して適切なタイミングで適切な内容の通知を可能にすることができる。
また、実施形態に係る生成装置100において、生成部132は、通知するコンテンツに対応するサービスへのユーザの流入経路に関する要素を含む複数の要素に基づいて、モデルを生成する。
これにより、実施形態に係る生成装置100は、通知するコンテンツに対応するサービスへのユーザの流入経路に関する要素を含む複数の要素に基づいて、モデルを生成することにより、ユーザに対して適切なタイミングで適切な内容の通知を可能にすることができる。
また、実施形態に係る生成装置100において、生成部132は、コンテンツを通知する端末装置のデバイス種別に関する要素を含む複数の要素に基づいて、モデルを生成する。
これにより、実施形態に係る生成装置100は、コンテンツを通知する端末装置のデバイス種別に関する要素を含む複数の要素に基づいて、モデルを生成することにより、ユーザに対して適切なタイミングで適切な内容の通知を可能にすることができる。
また、実施形態に係る生成装置100において、生成部132は、取得部により取得された行動情報とコンテキスト情報とに基づいて、端末装置へのコンテンツの通知タイミングに関する全体モデル(実施形態においては、全体モデルGM1。以下同じ)を生成する。
これにより、実施形態に係る生成装置100は、取得部により取得された行動情報とコンテキスト情報とに基づいて、端末装置へのコンテンツの通知タイミングに関する全体モデルを生成することにより、ユーザに対して適切なタイミングで適切な内容の通知を可能にすることができる。
また、実施形態に係る生成装置100において、生成部132は、全体モデルにより端末装置へのコンテンツの通知タイミングであると判定された場合に、各種別に対応するコンテンツの通知タイミングであるかの判定に用いるモデルとして、各モデルを生成する。
これにより、実施形態に係る生成装置100は、全体モデルにより端末装置へのコンテンツの通知タイミングであると判定された場合に、各種別に対応するコンテンツの通知タイミングであるかの判定に用いるモデルとして、各モデルを生成することにより、ユーザに対して適切なタイミングで適切な内容の通知を可能にすることができる。
また、実施形態に係る生成装置100において、生成部132は、通知タイミングであると判定された時点よりも前の行動情報とコンテキスト情報とに基づいて、通知タイミングを予測する予測モデル(実施形態においては、予測モデルPM1。以下同じ)を生成する。
これにより、実施形態に係る生成装置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、16の機能を実現する。コンピュータ1000のCPU1100は、これらのプログラムを記録媒体1800から読み取って実行するが、他の例として、他の装置からネットワークNを介してこれらのプログラムを取得してもよい。
以上、本願の実施形態及び変形例のいくつかを図面に基づいて詳細に説明したが、これらは例示であり、発明の開示の行に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。
〔10.その他〕
また、上記実施形態及び変形例において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、各図に示した各種情報は、図示した情報に限られない。
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
また、上述してきた実施形態及び変形例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
また、上述してきた「部(section、module、unit)」は、「手段」や「回路」などに読み替えることができる。例えば、取得部は、取得手段や取得回路に読み替えることができる。