以下に、本願に係る生成装置、生成方法、及び生成プログラムを実施するための形態(以下、「実施形態」と呼ぶ)について図面を参照しつつ詳細に説明する。なお、この実施形態により本願に係る生成装置、生成方法、及び生成プログラムが限定されるものではない。また、以下の各実施形態において同一の部位には同一の符号を付し、重複する説明は省略される。
(実施形態)
〔1.生成処理〕
図1を用いて、実施形態に係る生成処理の一例について説明する。図1は、実施形態に係る生成処理の一例を示す図である。図1の例では、生成装置100(図3参照)が所定のエリアAR11(Aエリア)におけるプッシュ通知に関するユーザの操作情報等に基づいて、他のエリアAR21(Bエリア)にプッシュ通知に関する予測情報を生成する場合を示す。なお、図1の例では、コンテンツ配信の一形態としてプッシュ通知を例として示すが、コンテンツ配信が種々の態様であってもよい。例えば、生成システム1におけるコンテンツ配信は、プッシュ通知に限らず、端末装置10からコンテンツを要求する、いわゆるプル型のコンテンツ配信であってもよい。例えば、図1の例では、Bエリアにおけるプッシュ通知に関する実際のユーザの操作情報が不足している等の理由により、Bエリアにおけるプッシュ通知の開封率の分布情報を精度よく生成することが難しい場合を示す。例えば、プッシュ通知は、ユーザによる端末装置10の操作に依らず、端末装置10において出力される情報であってもよい。例えば、プッシュ通知は、所定の情報を能動的にユーザに通知することであってもよい。また、ここでいう開封率とは、例えば、端末装置10に表示されたプッシュ通知をユーザが開封操作を行った割合を示す。また、開封操作とは、プッシュ通知に対する選択や指定等のユーザの所定の操作であってもよい。例えば、開封操作とは、プッシュ通知に関する情報を端末装置10に表示させるユーザの所定の操作であってもよい。例えば、図1の例では、ステップS10に示すように、Bエリアにおける通知回数は少ないものとする。なお、ステップS10は、Bエリアの通知回数が少ないことを図示するためのものであり、処理手順には含まれなくてもよい。また、ここでいうエリアの大きさや形状は、処理の目的等に応じて適宜設定されてもよい。例えば、エリアは、「県」、「市」、「区」、「町」等の種々の大きさのエリアが適宜設定されてもよい。
〔生成システムの構成〕
図1の説明に先立って、図2を用いて生成システム1の構成について説明する。図2は、実施形態に係る生成システムの構成例を示す図である。図2に示すように、生成システム1は、端末装置10と、情報提供装置50と、生成装置100とが含まれる。端末装置10と、情報提供装置50と、生成装置100とは所定のネットワークNを介して、有線または無線により通信可能に接続される。なお、図2に示した生成システム1には、複数台の端末装置10や、複数台の情報提供装置50や、複数台の生成装置100が含まれてもよい。
端末装置10は、ユーザによって利用される情報処理装置である。端末装置10は、ユーザによる種々の操作を受け付ける。なお、以下では、端末装置10をユーザと表記する場合がある。すなわち、以下では、ユーザを端末装置10と読み替えることもできる。なお、上述した端末装置10は、例えば、スマートフォンや、タブレット型端末や、ノート型PC(Personal Computer)や、デスクトップPCや、携帯電話機や、PDA(Personal Digital Assistant)等により実現される。図1は、端末装置10がスマートフォンである場合を示す。また、端末装置10は、GPS(Global Positioning System)センサ等の機能を有し、ユーザの位置を検知し、取得可能であるものとする。例えば、端末装置10は、生成装置100に位置情報等の行動情報を送信する。
また、端末装置10は、温度センサや気圧センサ等の種々の機能を有し、温度や気圧等のユーザの置かれている周辺情報を検知し、取得可能であってもよい。また、端末装置10は、心拍センサ等の種々の機能を有し、ユーザの生体情報を検知し、取得可能であってもよい。例えば、端末装置10を利用するユーザは、端末装置10と通信可能なウェアラブルデバイスを身に付けることにより、端末装置10によりユーザ自身の生体情報を取得可能としてもよい。例えば、端末装置10を利用するユーザは、端末装置10と通信可能なリストバンド型のウェアラブルデバイスを身に付けることにより、端末装置10によりユーザ自身の心拍(脈拍)に関する情報を端末装置10が取得可能としてもよい。
ここでいう、ユーザのコンテキスト情報(以下、単に「コンテキスト情報」ともいう)は、例えば、ユーザのコンテキストを示す情報である。例えば、コンテキスト情報には、ユーザのコンテキストに関する情報が含まれてもよい。例えば、コンテキスト情報には、ユーザがどのようなユーザであるかを示す情報が含まれてもよい。例えば、コンテキスト情報には、年齢、プロフィール、興味などの種々のユーザに関する情報が含まれてもよい。例えば、コンテキスト情報には、時間や場所のコンテキストに関する情報が含まれてもよい。例えば、コンテキスト情報には、プッシュ通知が行われた際の時間や場所がどのような状況であるかを示す情報が含まれてもよい。例えば、コンテキスト情報には、ユーザがその場所に位置した滞在(滞留)時間や、場所の属性(商業地や住宅地等)や時間の属性(朝や夜等)などの種々の時間や場所に関する情報が含まれてもよい。
例えば、コンテキスト情報には、環境のコンテキストに関する情報が含まれてもよい。例えば、コンテキスト情報には、プッシュ通知が行われた際のユーザの周囲がどんな環境かを示す情報が含まれてもよい。例えば、コンテキスト情報には、天気、気分、気温、気圧などの種々の情報(周辺情報)が含まれてもよい。例えば、コンテキスト情報には、操作内容に関する情報が含まれてもよい。例えば、コンテキスト情報には、どんな操作(プッシュ通知)かを示す情報や通知内容のカテゴリを示す情報や、アプリティザーかどうかを示す情報などの種々の情報が含まれてもよい。なお、上記は例示であり、コンテキスト情報には、上記に限らず種々の情報が含まれてもよい。
例えば、コンテキスト情報には、ユーザや端末装置10の状況やユーザや端末装置10の環境(背景)に基づいて推定されるユーザの状況等に関する情報が含まれてもよい。また、コンテキスト情報には、ユーザに提供されるコンテンツの内容、ユーザが反応したコンテンツの内容、ユーザの属性、ユーザの現在位置、現在時刻、ユーザが置かれた物理環境、ユーザが置かれた社会環境、ユーザの運動状態、および、推定されるユーザの感情等の種々の情報が含まれてもよい。また、コンテキスト情報には、ユーザや端末装置10の状況やユーザや端末装置10の環境(背景)に基づいて推定されるユーザの心理状態等の種々の情報が含まれてもよい。
情報提供装置50は、種々のオープンデータを有する情報処理装置である。例えば、情報提供装置50は、オープンデータを提供する。情報提供装置50は、いわゆる広く開かれた利用が許可されているデータであるオープンデータを生成装置100へ提供する情報処理装置である。例えば、情報提供装置50は、各自治体が管理し、自治体が保有するデータをオープンデータとして外部に提供する情報処理装置であってもよい。また、例えば、情報提供装置50は、気象庁が管理するサーバ等の種々の情報処理装置であってもよい。情報提供装置50は、利用が許可されているデータ(情報)であれば、上記に限らず、道路情報等の交通に関するオープンデータや天気や気温等の気象に関するオープンデータや地理空間情報、防災・減災情報、調達情報、統計情報等の種々のオープンデータを提供してもよい。
例えば、情報提供装置50は、AエリアやBエリア等のオープンデータを生成装置100へ提供する。例えば、情報提供装置50は、AエリアやBエリア等に関する環境情報を生成装置100へ提供する。例えば、情報提供装置50は、Aエリアの交通情報等の種々の環境情報を生成装置100へ提供する。例えば、情報提供装置50は、Bエリアの交通情報や人口構成に関する情報等の種々の環境情報を生成装置100へ提供する。このように、環境情報には、ユーザの周辺における道路情報や気象情報等の種々の情報が含まれてもよい。
生成装置100は、所定のエリアに位置するユーザが利用する端末装置10においてプッシュ通知されたコンテンツに対する、当該ユーザの所定の操作の有無を示す操作情報に基づいて、所定のエリアとは異なる他のエリアに位置するユーザが利用する端末装置10にコンテンツがプッシュ通知される場合に、当該コンテンツに対する当該ユーザの所定の操作の有無を予測する予測情報を生成する情報処理装置である。例えば、生成装置100は、端末装置10から位置情報を含む行動情報等の種々の情報を取得する。また、例えば、生成装置100は、情報提供装置50からオープンデータ等の種々の情報を取得する。
ここから、図1を用いて、生成装置100による生成処理の一例を説明する。まず、図1に示すマップ情報MP1−1〜MP1−3について、簡単に説明する。図1に示すマップ情報MP1−1〜MP1−3は、所定の範囲に含まれるエリア等を模式的に示す図である。例えば、マップ情報MP1−1は、AエリアやBエリアへの端末装置10へのプッシュ通知の状況を模式的に示すための図である。また、例えば、マップ情報MP1−2は、Aエリアにおける端末装置10へのプッシュ通知の開封率の分布情報を模式的に示すための図である。また、例えば、マップ情報MP1−3は、Bエリアにおける端末装置10へのプッシュ通知の開封率の予測情報を模式的に示すための図である。また、マップ情報MP1−1〜MP1−3に示す範囲(エリア)は、同一のエリアである。また、以下では、マップ情報MP1−1〜MP1−3について、特に区別なく説明する場合には、マップ情報MP1と記載する。
図1の例では、生成装置100は、あるユーザが利用する端末装置10に所定のコンテンツがプッシュ通知され、ユーザにより開封されたことを示す情報を取得する(ステップS11−1)。例えば、生成装置100は、Aエリアに位置するユーザU1(図4参照)が利用する端末装置10に所定のコンテンツがプッシュ通知され、ユーザU1により開封されたことを示す情報を取得する。例えば、生成装置100は、Aエリアの部分エリアLC1−1内に位置するユーザU1が利用する端末装置10に所定のコンテンツがプッシュ通知され、ユーザU1により開封されたことを示す情報を取得する。なお、部分エリアLC1−1は、Aエリアにおける所定の範囲内のエリアであってもよい。
例えば、生成装置100は、端末装置10から取得した情報を行動情報記憶部123(図5参照)に格納する。なお、端末装置10へのコンテンツの提供は、生成装置100が予測情報の生成に用いる情報を取得可能であれば、生成装置100が行ってもよいし、他の装置が行ってもよい。例えば、端末装置10へのコンテンツの提供は、生成装置100が予測情報の生成に用いる情報を取得可能であれば、どの装置が行ってもよい。
また、図1の例では、生成装置100は、あるユーザが利用する端末装置10に所定のコンテンツがプッシュ通知され、ユーザにより開封されなかったことを示す情報を取得する(ステップS11−2)。例えば、生成装置100は、Aエリアに位置するユーザU2(図4参照)が利用する端末装置10に所定のコンテンツがプッシュ通知され、ユーザU2により開封されなかったことを示す情報を取得する。例えば、生成装置100は、Aエリアの部分エリアLC1−2内に位置するユーザU2が利用する端末装置10に所定のコンテンツがプッシュ通知され、ユーザU2により開封されなかったことを示す情報を取得する。
なお、図1の例では、説明を簡単にするために、ステップS11−1、S11−2の2回のプッシュ通知に関するユーザの操作を図示するが、Aエリア内に位置するユーザに対して多数(例えば1000万回等)のプッシュ通知がされ、その通知に対するユーザの開封操作の有無を示す操作情報を生成装置100が取得するものとする。また、ステップS11−1、S11−2は、処理を説明するためのものであり、ステップS11−1、S11−2のいずれが先に行われてもよく、各ステップS11−1、S11−2は、複数回行われてもよい。以下、ステップS11−1、S11−2を区別せずに説明する場合、ステップS11と総称する。
そして、生成装置100は、プッシュ通知に関する操作情報に基づいて、分布情報を生成する(ステップS12)。例えば、生成装置100は、ステップS11において取得した操作情報に基づいて生成した分布情報を分布情報記憶部124(図6参照)に記憶する。例えば、生成装置100は、Aエリアを集計対象エリアとする分布情報を分布情報記憶部124に記憶する。
図6中の分布情報記憶部124に示す「集計対象エリア」は、分布情報を収集する対象となったエリアを示す。また、図6中の分布情報記憶部124に示す「分布情報」は、集計対象エリアについて収集された分布情報を示す。図6中の分布情報記憶部124に示す「部分エリア」は、集計対象エリア内の部分エリアを示す。図6中の分布情報記憶部124に示す「プッシュ回数」は、対応する部分エリアに位置するユーザにプッシュ通知が行われた回数を示す。また、図6中の分布情報記憶部124に示す「開封回数」は、対応する部分エリアに位置するユーザがプッシュ通知を開封した回数を示す。また、「開封率(%)」は、対応する部分エリアに位置するユーザがプッシュ通知を開封した割合(=開封回数/プッシュ回数×100)を示す。例えば、「開封率(%)」は、0〜100(%)の値となる。
例えば、図6中の分布情報記憶部124に示す例において、集計対象エリア「Aエリア」についての分布情報は、Aエリア内の部分エリアLC1−1に位置するユーザに「10000(回)」のプッシュ通知が行われたことを示す。また、例えば、部分エリアLC1−1に位置するユーザがプッシュ通知を「2000(回)」開封したことを示す。また、例えば、部分エリアLC1−1に位置するユーザの開封率が、1万回の通知のうち、2千回開封されているため、「20(%)」であることを示す。
図1の例では、生成装置100は、Aエリアを集計対象エリアとする分布情報DM11を生成する。図1中のマップ情報MP1−2のAエリアに示す分布情報DM11は、各部分エリアにおける開封率の高低をヒートマップのような表示態様で示す。図1の例では、ハッチングが濃い部分エリア程、開封率の高いことを示す。図1の例では、分布情報DM11は、Aエリア中の部分エリアLC1−1等において開封率の高いことを示す。また、図1の例では、分布情報DM11は、Aエリア中の部分エリアLC1−2等において開封率の低いことを示す。すなわち、Aエリアにおいては、その中央部付近での開封率が高く、中心から離れるにつれて開封率が低下することを示す。
また、生成装置100は、ステップS11において取得したプッシュ通知に関する操作情報に基づいて、予測情報を生成するために用いるモデルを生成する(ステップS13)。例えば、生成装置100は、Aエリアにおける操作情報に基づいて、プッシュ通知を開封するかどうかを予測するモデルを生成する。例えば、生成装置100は、オープンデータ記憶部121やユーザ情報記憶部122や行動情報記憶部123等に格納された各種情報に基づいて、プッシュ通知を開封するかどうかを予測するモデルを生成する。例えば、生成装置100は、オープンデータ記憶部121に記憶されたAエリアの環境情報に基づいて、モデルを生成する。例えば、生成装置100は、ユーザ情報記憶部122に記憶されたAエリアに位置するユーザのユーザ情報に基づいて、モデルを生成する。例えば、生成装置100は、行動情報記憶部123に記憶されたAエリアに位置するユーザの行動情報に基づいて、モデルを生成する。また、例えば、生成装置100は、ユーザにプッシュ通知されたコンテンツに関する情報を加味してモデルを生成してもよい。
例えば、生成装置100は、プッシュ通知されたコンテンツが開封された場合の情報を正解情報(正例)として、プッシュ通知を開封するかどうかを予測するモデルを生成してもよい。例えば、生成装置100は、プッシュ通知されたコンテンツが開封された場合のユーザのユーザ情報やユーザの位置情報やユーザの行動情報やユーザの環境情報等の種々のコンテキスト情報を正解情報として、プッシュ通知を開封するかどうかを予測するモデルを生成してもよい。例えば、生成装置100は、ユーザU1が部分エリアLC1−1においてプッシュ通知されたコンテンツを開封した場合、ユーザU1のユーザ情報やユーザU1の位置情報やユーザU1の行動情報やユーザU1の環境情報等の種々のコンテキスト情報を正解情報として、プッシュ通知を開封するかどうかを予測するモデルを生成してもよい。
また、例えば、生成装置100は、プッシュ通知されたコンテンツが開封されなかった場合の情報を不正解情報(負例)として、プッシュ通知を開封するかどうかを予測するモデルを生成してもよい。例えば、生成装置100は、プッシュ通知されたコンテンツが開封されなかった場合のユーザのユーザ情報やユーザの位置情報やユーザの行動情報やユーザの環境情報等の種々のコンテキスト情報を不正解情報として、プッシュ通知を開封するかどうかを予測するモデルを生成してもよい。例えば、生成装置100は、ユーザU2が部分エリアLC1−2においてプッシュ通知されたコンテンツを開封しなかった場合、ユーザU2のユーザ情報やユーザU2の位置情報やユーザU2の行動情報やユーザU2の環境情報等の種々のコンテキスト情報を不正解情報として、プッシュ通知を開封するかどうかを予測するモデルを生成してもよい。
図1の例では、生成装置100は、モデル情報MDに示すようにモデルM1のモデル情報を生成する。例えば、生成装置100は、モデル情報記憶部125(図7参照)に示すように、モデルM1を生成する。例えば、生成装置100は、ユーザ情報やユーザの位置する周囲の環境情報等を入力とし、入力に基づいてスコアを出力するモデルM1を生成する。例えば、生成装置100は、ユーザ情報やユーザの位置する周囲の環境情報等を入力とし、入力に基づいてスコアをモデルM1が出力するスコアが所定の閾値(例えば、「0.5」等)以上である場合に、そのユーザがプッシュ通知されるコンテンツを開封すると判定してもよい。
図7中のモデル情報記憶部125に示すモデルM1には、「素性1」〜「素性3」等の各重み(値)が対応付けて記憶される。例えば、図1に示す例において、モデルM1に関するモデル情報は、素性1の重みが「0.5」、素性2の重みが「0.1」、素性3の重みが「0.2」等であることを示す。なお、各モデルの生成は、機械学習に関する種々の従来技術を適宜用いて行われてもよい。例えば、モデルの生成は、SVM(Support Vector Machine)等の教師あり学習の機械学習に関する技術を用いて行われてもよい。また、例えば、モデルの生成は、教師なし学習の機械学習に関する技術を用いて行われてもよい。例えば、モデルの生成は、深層学習(ディープラーニング)の技術を用いて行われてもよい。例えば、モデルの生成は、DNN(Deep Neural Network)やRNN(Recurrent Neural Network)やCNN(Convolutional Neural Network)等の種々のディープラーニングの技術を適宜用いて行われてもよい。なお、上記モデルの生成に関する記載は例示であり、モデルの生成は、取得可能な情報等に応じて適宜選択された学習手法により行われてもよい。また、モデルの生成は、上記のコンテキスト情報を組み合わせクロネッカー積を用いて行われてもよい。
そして、生成装置100は、生成したモデルM1に基づいて、予測情報を生成する(ステップS14)。例えば、生成装置100は、モデルM1と、予測対象エリアであるBエリアに関する各種情報とに基づいて、Bエリアに関する予測情報を生成する。
生成装置100は、予測対象エリアのオープンデータを取得する。図1の例では、生成装置100は、Bエリアの環境情報EDを取得する。例えば、生成装置100は、オープンデータ記憶部121(図3参照)からBエリアの環境情報等の種々の情報を取得してもよい。
また、例えば、生成装置100は、予測対象エリアに位置するユーザ情報を取得する。図1の例では、生成装置100は、Bエリアのユーザ情報UDを取得する。例えば、生成装置100は、ユーザ情報記憶部122(図4参照)に示すようなユーザ情報や行動情報記憶部123(図5参照)に示すようなユーザの行動情報を取得する。
例えば、生成装置100は、ユーザ情報記憶部122(図4参照)に格納された位置情報がBエリアに対応するユーザを対象として、Bエリアの予測情報を生成してもよい。例えば、生成装置100は、位置情報がBエリア内の部分エリアLC2−1であるユーザU3やBエリア内の部分エリアLC2−2であるユーザU4等を対象として、Bエリアの予測情報を生成してもよい。
例えば、生成装置100は、ユーザU3のユーザ情報やユーザU3の環境情報等のコンテキスト情報をモデルM1に入力することにより、ユーザU3がプッシュ通知を開封するかを予測してもよい。例えば、生成装置100は、ユーザU3の位置情報や行動情報等を含む種々の情報をモデルM1に入力し、モデルM1が所定の閾値未満のスコアを出力した場合、ユーザU3がプッシュ通知を開封しないと判定してもよい。この場合、生成装置100は、ユーザU3がプッシュ通知を開封しないことを示す情報を記憶部120(図3参照)へ格納したり、部分エリアLC2−1においてプッシュ通知が1回行われることを示す情報を予測情報記憶部126(図8参照)に格納したりしてもよい。
また、例えば、生成装置100は、ユーザU4のユーザ情報やユーザU4の環境情報等のコンテキスト情報をモデルM1に入力することにより、ユーザU4がプッシュ通知を開封するかを予測してもよい。例えば、生成装置100は、ユーザU4の位置情報や行動情報等を含む種々の情報をモデルM1に入力し、モデルM1が所定の閾値以上のスコアを出力した場合、ユーザU4がプッシュ通知を開封すると判定してもよい。この場合、生成装置100は、ユーザU4がプッシュ通知を開封することを示す情報を記憶部120へ格納したり、部分エリアLC2−2においてプッシュ通知が1回行われ、開封されることを示す情報を予測情報記憶部126(図8参照)に格納したりしてもよい。
例えば、生成装置100は、所定の時間帯にBエリアに位置するユーザを対象として、予測情報を生成してもよい。例えば、生成装置100は、朝の時間帯(6時〜10時)にBエリアに位置するユーザを対象として、朝のBエリアに対応する予測情報を生成してもよい。例えば、生成装置100は、夜の時間帯(19時〜23時)にBエリアに位置するユーザを対象として、夜のBエリアに対応する予測情報を生成してもよい。
上述のように、生成装置100は、モデルM1と、種々の情報に基づいてBエリアに関する予測情報を生成する。例えば、生成装置100は、Bエリアを予測対象エリアとする予測情報を予測情報記憶部126記憶する。
図8中の予測情報記憶部126に示す「予測対象エリア」は、予測情報を生成する対象となったエリアを示す。また、図8中の予測情報記憶部126に示す「予測情報」は、予測対象エリアについて生成された予測情報を示す。図8中の予測情報記憶部126に示す「部分エリア」は、予測対象エリア内の部分エリアを示す。図8中の予測情報記憶部126に示す「プッシュ回数」は、予測情報の生成において、対応する部分エリアに位置するユーザにプッシュ通知が行われると予測された回数を示す。また、図8中の予測情報記憶部126に示す「開封回数」は、予測情報の生成において、対応する部分エリアに位置するユーザによってプッシュ通知の開封が行われると予測された回数を示す。また、図8中の予測情報記憶部126に示す「開封率(%)」は、予測情報の生成において、対応する部分エリアに位置するユーザがプッシュ通知を開封すると予測される割合(=開封回数/プッシュ回数×100)を示す。例えば、「開封率(%)」は、0〜100(%)の値となる。
例えば、図8中の予測情報記憶部126に示す例において、予測対象エリア「Bエリア」についての予測情報は、Bエリア内の部分エリアLC2−1に位置するユーザに「2000(回)」のプッシュ通知が行われると予測されることを示す。また、例えば、Bエリア内の部分エリアLC2−1に位置するユーザがプッシュ通知を「40(回)」開封すると予測されることを示す。また、例えば、Bエリア内の部分エリアLC2−1に位置するユーザの開封率が、2千回の通知のうち、40回開封されると予測されるため、「2(%)」であることを示す。
図1の例では、生成装置100は、Bエリアを予測対象エリアとする予測情報PM11を生成する。図1中のマップ情報MP1−3のBエリアに示す予測情報PM11は、各部分エリアにおける開封率の高低をヒートマップのような表示態様で示す。図1の例では、ハッチングが濃い部分エリア程、予測される開封率の高いことを示す。図1の例では、予測情報PM11は、Bエリア中の右下の部分エリア等において開封率の高いことを示す。図1の例では、予測情報PM11は、Bエリア中の部分エリアLC2−2等において開封率のやや高いことを示す。また、図1の例では、予測情報PM11は、Bエリア中の部分エリアLC2−1等において開封率の低いことを示す。すなわち、Bエリアにおいては、その右下部分付近での開封率が高く、右下から離れるにつれて開封率が低下することを示す。
このように、生成装置100は、プッシュ通知の実績が不十分なBエリアについてプッシュ通知の開封率を予測する予測情報を生成する。これにより、生成装置100は、プッシュ通知の実績が不十分なBエリアについてもプッシュ通知に関する種々のサービスを精度よく行うことが可能となる。例えば、生成装置100は、人口が多いエリア等の情報が収集容易な地点については、そのエリアの情報を用いて分布情報を生成することが可能である。一方、生成装置100は、人口が少ない等の理由により取得可能な情報量が十分でないエリアについては、そのエリアの情報を用いて分布情報を生成することが難しい。そのため、生成装置100は、情報が十分なエリアの情報を用いて、情報が不十分なエリアの予測情報を生成することにより、情報が不十分なエリアについても所望の予測が可能となる。このように、生成装置100は、実績が十分に取得可能な所定のエリアの情報に基づいて、実績が不十分な取得可能な他のエリアにおけるユーザの所定の操作の有無を予測可能にすることができる。また、例えば、生成装置100は、特定のPOI(Point of Interest:関心地点)が位置する周辺は開封率が高い傾向にあることを示す予測情報を生成することができる。例えば、生成装置100は、特定の属性のユーザが多いエリアは開封率が高い傾向にあることを示す予測情報等を生成することができる。また、例えば、生成装置100は、同じ位置であっても、時間帯に応じて予測情報を生成することにより、所定のイベントが行われるタイミングで開封率が高くなることを示す予測情報等を生成することができる。
上述のように生成装置100が生成する予測情報に基づいて、種々の予測が可能となる。例えば、生成装置100が位置(エリア等)及び時間(時間帯等)に基づく予測情報を生成することにより、生成された予測情報により、あるエリアにおいて開封率が高くなるタイミングが予測可能となる。例えば、生成装置100が位置(エリア等)及び時間(時間帯等)に基づく予測情報を生成することにより、生成された予測情報により、バス停付近のエリアであって、かつ、学生が集まるタイミングで、そのバス停付近での開封率が高くなること等が予測可能となる。また、生成装置100が位置(エリア等)及び時間(時間帯等)に基づく予測情報を生成することにより、生成された予測情報により、バス停付近のエリアであって、かつ、学生が集まるタイミング、かつバスが来る直前で、そのバス停付近での開封率が高くなること等が予測可能となる。
また、例えば、生成装置100が位置(エリア等)及び時間(時間帯等)に基づく予測情報を生成することにより、生成された予測情報により、重要なレースが開催される競馬場付近のエリアであって、かつ、重要なレースが出走するタイミングで、その競馬場付近での開封率が高くなること等が予測可能となる。た、例えば、生成装置100が位置(エリア等)及び時間(時間帯等)に基づく予測情報を生成することにより、生成された予測情報により、重要なレースが開催される競馬場付近のエリアであって、かつ、重要なレースが出走前の所定のタイミング(例えば、出走前20分等)で、その競馬場付近での開封率が高くなること等が予測可能となる。また、生成装置100は、このような予測情報を用いて、エリアにおいて開封率が高くなる時間帯でのそのエリアにおける広告配信については、他の時間帯よりも料金を高くしてもよい。また、例えば、生成装置100は、このような予測情報を用いて、エリアにおいて開封率が高くなる時間帯でのそのエリアに位置する端末装置10に配信するコンテンツ中の広告枠への表示単価を、他の時間帯よりも高くしてもよい。なお、上記は一例であり、生成装置100は、予測情報を種々のサービスに利用してもよい。
例えば、生成装置100は、生成した予測情報に基づいて、プッシュ通知を行ってもよい。例えば、生成装置100は、予測情報PM11中のハッチングが濃い部分(Bエリア中の右下)に位置するユーザに対して、プッシュ通知を行ってもよい。また、例えば、生成装置100は、生成した予測情報を外部の情報処理装置へ提供してもよい。例えば、生成装置100は、コンテンツ提供サービスを行う外部装置へ予測情報を提供してもよい。
〔1−1.シミュレーションによる予測情報の生成〕
上述したように、生成装置100は、予測対象エリアであるBエリアに位置するユーザの行動情報や周囲の環境情報等のコンテキスト情報と、モデルM1とに基づいて予測情報を生成する場合を示したが、所定のシミュレーションにより予測情報を生成してもよい。この場合、生成装置100の記憶部120には、仮想空間に関する情報等の所定のシミュレータに関する各種情報が格納されたシミュレータ情報記憶部(図示省略)が含まれてもよい。例えば、生成装置100は、Bエリアにおける人流やBエリアの特長のコンテキスト情報を反映した仮想空間上のBエリアに基づいて予測情報を生成してもよい。
また、生成装置100のモデル情報記憶部125には、シミュレーションにおいてエージェントに適用されるモデル(以下、「エージェントモデル」ともいう)が格納されてもよい。例えば、生成装置100は、シミュレーションにおいてエージェントに適用するモデルを生成してもよい。例えば、生成装置100は、ユーザの行動情報に基づいてモデルを生成する。例えば、生成装置100は、Aエリアにおけるユーザの行動情報に基づいて、エージェントモデルを生成してもよい。例えば、生成装置100は、ユーザの行動情報に基づいて、各属性に応じたエージェントモデルを生成する。例えば、生成装置100は、ユーザの行動情報に基づいて、20代男性のエージェントモデルや20代女性のエージェントモデル等の種々のエージェントモデルを生成してもよい。例えば、生成装置100は、オープンデータ等の種々の環境情報を加味して、エージェントモデルを生成してもよい。例えば、生成装置100は、生成したエージェントモデルをモデル情報記憶部125に記憶してもよい。
例えば、生成装置100がシミュレータ情報記憶部に記憶された仮想空間に関する情報等の所定のシミュレータに関する各種情報を用いて、所定のシミュレータにおけるエージェントの行動に関するシミュレーション情報(シミュレーションログ)を生成してもよい。例えば、生成装置100は、モデル情報記憶部125に記憶されたエージェントモデルをエージェントに割り当て、プッシュ通知やその開封に関するシミュレーションを行うことによりシミュレーション情報(シミュレーションログ)を生成してもよい。また、生成装置100は、生成したシミュレーション情報に基づいて、予測情報を生成してもよい。
例えば、生成装置100は、予測対象エリアであるBエリアにおけるユーザ(人間)の行動をシミュレーションしてシミュレーションログを生成してもよい。例えば、Bエリアにおける実際のユーザへのプッシュ通知の回数が不足している等の理由により、Bエリアにおけるプッシュ通知の開封率を予測するために、シミュレーションに基づいて予測情報を生成してもよい。
例えば、生成装置100は、各エージェントに適用するエージェントモデルを決定する。例えば、生成装置100は、Bエリアの環境情報EDに含まれるBエリアの人口構成等に関する情報に基づいて、各エージェントに適用するエージェントモデルを決定してもよい。例えば、生成装置100は、属性情報として年齢及び性別に関するBエリアの人口構成に基づいて、各エージェントに適用するエージェントモデルを決定してもよい。なお、人口構成に用いる属性情報は年齢や性別に限らず、種々の属性情報が用いられてもよい。
以下の例では、Bエリアの人口構成は20代男性が多いものとする。例えば、生成装置100は、Bエリアにおける人間の数(人口等)だけエージェントを生成する。図1の例では、生成装置100は、Bエリアにおける人口が5万人であり、5万のエージェントを生成するものとする。例えば、生成装置100は、Aエリアにおける人口構成を反映するように5万のエージェントに属性を割り当てる。例えば、生成装置100は、Bエリアにおける20代男性の割合が50%である場合、2万5千のエージェントに20代男性の属性を割り当てる。また、例えば、生成装置100は、Bエリアにおける20代女性の割合が20%である場合、1万のエージェントに20代女性の属性を割り当てる。
例えば、生成装置100は、20代男性の属性のエージェントには、20代男性に対応するエージェントモデルを適用する。例えば、生成装置100は、20代男性の属性が割り当てられた2万5千のエージェントには、20代男性に対応するエージェントモデルを適用する。また、例えば、生成装置100は、20代女性の属性が割り当てられた1万のエージェントには、20代女性に対応するエージェントモデルを適用する。
例えば、生成装置100は、エージェントモデルを適用したエージェントによりシミュレーションを行う。例えば、Bエリアに対応する仮想空間に適用された各エージェントは、各自に割り当てられたエージェントモデルに応じて行動を行う。例えば、20代男性に対応するエージェントモデルが適用されたエージェントは、所定のタイミングでプッシュ通知がされた場合、その時点のBエリアにおける位置や状況等のコンテキストに応じて、プッシュ通知を開封するかどうかを決定する。また、例えば、20代女性に対応するエージェントモデルが適用されたエージェントは、所定のタイミングでプッシュ通知がされた場合、その時点のBエリアにおける位置や状況等のコンテキストに応じて、プッシュ通知を開封するかどうかを決定する。
このように、生成装置100は、Bエリアに対応する仮想空間において各エージェントに行動を行わせることにより、シミュレーションログを生成する。例えば、生成装置100は、生成したシミュレーションログを記憶部120に格納してもよい。例えば、生成装置100は、生成したシミュレーションログに基づいて予測情報を生成する。例えば、生成装置100は、Bエリアに対応するシミュレーションログに基づいて、Bエリアを予測対象エリアとする予測情報(図1中の予測情報PM11等)を生成する。
〔2.生成装置の構成〕
次に、図3を用いて、実施形態に係る生成装置100の構成について説明する。図3は、実施形態に係る生成装置の構成例を示す図である。図3に示すように、生成装置100は、通信部110と、記憶部120と、制御部130とを有する。なお、生成装置100は、生成装置100の管理者等から各種操作を受け付ける入力部(例えば、キーボードやマウス等)や、各種情報を表示するための表示部(例えば、液晶ディスプレイ等)を有してもよい。
(通信部110)
通信部110は、例えば、NIC(Network Interface Card)等によって実現される。そして、通信部110は、ネットワーク(例えば図2中のネットワークN)と有線または無線で接続され、端末装置10との間で情報の送受信を行う。
(記憶部120)
記憶部120は、例えば、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。実施形態に係る記憶部120は、図3に示すように、オープンデータ記憶部121と、ユーザ情報記憶部122と、行動情報記憶部123と、分布情報記憶部124と、モデル情報記憶部125と、予測情報記憶部126とを有する。また、図示することは省略するが、オープンデータ記憶部121には、種々のオープンデータが記憶される。例えば、オープンデータ記憶部121には、工事や渋滞等の道路情報等の交通に関する情報や、天気や気温等の気象に関する情報や、家計や消費等の経済に関する情報等を含むオープンデータが記憶されてもよい。
(ユーザ情報記憶部122)
実施形態に係るユーザ情報記憶部122は、ユーザに関する各種情報を記憶する。例えば、ユーザ情報記憶部122は、ユーザ属性に関する各種情報やユーザの行動に関する各種情報を記憶する。図4は、実施形態に係るユーザ情報記憶部の一例を示す図である。図4に示すユーザ情報記憶部122は、「ユーザID」、「年齢」、「性別」、「自宅」、「勤務地」、「興味」、「位置情報」といった項目が含まれる。
「ユーザID」は、ユーザを識別するための識別情報を示す。また、「年齢」は、ユーザIDにより識別されるユーザの年齢を示す。なお、「年齢」は、例えば35歳など、ユーザIDにより識別されるユーザの具体的な年齢であってもよい。また、「性別」は、ユーザIDにより識別されるユーザの性別を示す。
また、「自宅」は、ユーザIDにより識別されるユーザの自宅の位置情報を示す。なお、図4に示す例では、「自宅」は、「LC11」といった抽象的な符号を図示するが、緯度や経度を示す情報であってもよい。また、例えば、「自宅」は、地域名や住所であってもよい。
また、「勤務地」は、ユーザIDにより識別されるユーザの勤務地の位置情報を示す。なお、図4に示す例では、「勤務地」は、「LC12」といった抽象的な符号を図示するが、緯度や経度を示す情報であってもよい。また、例えば、「勤務地」は、地域名や住所であってもよい。
また、「興味」は、ユーザIDにより識別されるユーザの興味を示す。すなわち、「興味」は、ユーザIDにより識別されるユーザが関心の高い対象を示す。なお、図4に示す例では、「興味」は、各ユーザに1つずつ図示するが、複数であってもよい。
また、「位置情報」は、所定の日時(例えば予測情報の生成時)におけるユーザの位置情報を示す。例えば、「位置情報」は、所定の日時(例えば予測情報の生成時)の前に取得された最新のユーザの位置情報を示す。なお、図4の例では「位置情報」を抽象的な符号「LC1−1」等で図示するが、「位置情報」には、具体的な緯度経度情報等が記憶されてもよい。
例えば、図4に示す例において、ユーザID「U1」により識別されるユーザの年齢は、「20代」であり、性別は、「男性」であることを示す。また、例えば、ユーザID「U1」により識別されるユーザは、自宅が「LC11」であることを示す。また、例えば、ユーザID「U1」により識別されるユーザは、勤務地が「LC12」であることを示す。また、例えば、ユーザID「U1」により識別されるユーザは、「経済」に興味があることを示す。例えば、ユーザU1については、Aエリアの部分エリアLC1−1内に位置したことを示す位置情報が所定の日時の前に最後に取得された位置情報、すなわち最新の位置情報であることを示す。
なお、ユーザ情報記憶部122は、上記に限らず、目的に応じて種々の情報を記憶してもよい。例えば、ユーザ情報記憶部122は、ユーザの属性情報として、年齢や性別に加えて他のデモグラフィック属性情報やサイコグラフィック属性情報を記憶してもよい。例えば、ユーザ情報記憶部122は、氏名、家族構成、収入等の情報を記憶してもよい。
(行動情報記憶部123)
実施形態に係る行動情報記憶部123は、ユーザの行動に関する各種情報を記憶する。図5は、実施形態に係る行動情報記憶部の一例を示す図である。例えば、行動情報記憶部123は、各ユーザの端末装置10に提供したコンテンツに対するユーザの行動情報を記憶する。図5に示す行動情報記憶部123には、「ユーザID」、「行動ID」、「種別」、「内容」、「日時」、「位置」といった項目が含まれる。なお、ユーザの行動には、ユーザが能動的に行った行動に限らず、ユーザに対して行われた行動、すなわちユーザが受動的な行動等の種々の行動が含まれてもよい。
「ユーザID」は、ユーザを識別するための識別情報を示す。例えば、ユーザID「U1」により識別されるユーザは、図1の例に示したユーザU1に対応する。また、「行動ID」は、ユーザの行動を識別する情報を示す。また、「種別」は、対応するユーザの行動の種別に関する情報を示す。また、「内容」は、対応するユーザの行動において対象となった内容を示す。「日時」は、対応するユーザの行動が行われた日時を示す。「日時」には、「dt11」等のように抽象的に図示するが、「2017年3月8日22時31分52秒」等の具体的な日時が記憶されてもよい。
また、「位置」は、ユーザの行動に対応するユーザの位置情報を示す。例えば、「位置」は、ユーザの行動情報が取得された際のユーザの位置情報を示す。なお、図5の例では「位置」を抽象的な符号「LC1−1」等で図示するが、「位置情報」には、具体的な緯度経度情報等が記憶されてもよい。
例えば、図5の例では、ユーザID「U1」により識別されるユーザ(ユーザU1)は、行動ID「AC11」により識別される行動(行動AC11)や行動ID「AC12」により識別される行動(行動AC12)等を行ったことを示す。具体的には、図5の例では、日時dt11に部分エリアLC1−1内に位置するユーザU1について、コンテンツCT11の通知(行動AC11)が行われたことを示す。例えば、行動AC11は、日時dt11にコンテンツCT11がユーザU1が利用する端末装置10にプッシュ通知により提供されたことを示す。また、図5の例ではユーザU1は、日時dt11においてコンテンツCT11がプッシュ通知された後の日時dt12において、部分エリアLC1−1内でコンテンツCT11を開封する操作(行動AC12)を行ったことを示す。
なお、行動情報記憶部123は、上記に限らず、目的に応じて種々の情報を記憶してもよい。例えば、行動情報記憶部123は、各行動情報が取得された際のユーザの位置情報を各行動情報に対応付けて記憶してもよい。また、図5では、ユーザIDごとに行動情報が行動情報記憶部123に記憶される場合を示したが、行動情報は、ユーザIDごとに限らず、例えば時刻順に記憶されてもよい。
(分布情報記憶部124)
実施形態に係る分布情報記憶部124は、分布に関する各種情報を記憶する。図6は、実施形態に係る分布情報記憶部の一例を示す図である。例えば、分布情報記憶部124は、各集計対象エリアの分布情報を記憶する。図6に示す分布情報記憶部124には、「集計対象エリア」、「分布情報」といった項目が含まれる。「分布情報」には、「部分エリア」、「プッシュ回数」、「開封回数」、「開封率(%)」といった項目が含まれる。
「集計対象エリア」は、分布情報を収集する対象となったエリアを示す。また、「分布情報」は、集計対象エリアについて収集された分布情報を示す。「部分エリア」は、集計対象エリア内の部分エリアを示す。「プッシュ回数」は、対応する部分エリアに位置するユーザにプッシュ通知が行われた回数を示す。また、「開封回数」は、対応する部分エリアに位置するユーザがプッシュ通知を開封した回数を示す。また、「開封率(%)」は、対応する部分エリアに位置するユーザがプッシュ通知を開封した割合(=開封回数/プッシュ回数×100)を示す。例えば、「開封率(%)」は、0〜100(%)の値となる。
例えば、図6に示す例において、集計対象エリア「Aエリア」について分布情報が収集されたことを示す。集計対象エリア「Aエリア」は、図1中のエリアAR11に対応する。例えば、集計対象エリア「Aエリア」内の部分エリアLC1−1に位置するユーザに「10000(回)」のプッシュ通知が行われたことを示す。また、例えば、集計対象エリア「Aエリア」内の部分エリアLC1−1に位置するユーザがプッシュ通知を「2000(回)」開封したことを示す。また、例えば、集計対象エリア「Aエリア」内の部分エリアLC1−1に位置するユーザの開封率が、1万回の通知のうち、2千回開封されているため、「20(%)」であることを示す。
なお、分布情報記憶部124は、上記に限らず、目的に応じて種々の情報を記憶してもよい。
(モデル情報記憶部125)
実施形態に係るモデル情報記憶部125は、モデルに関する情報を記憶する。例えば、モデル情報記憶部125は、予測情報の生成に用いるモデル情報を記憶する。図7は、実施形態に係るモデル情報記憶部の一例を示す図である。図7に示すモデル情報記憶部125は、モデル情報として、モデルM1等に対応させて「素性1」〜「素性3」等といった項目を有する。
例えば、図7に示す例において、モデルM1に関するモデル情報は、素性1の重みが「0.5」、素性2の重みが「0.1」、素性3の重みが「0.2」等であることを示す。例えば、モデルの素性(特徴量)がm次元のベクトルで表現される場合、素性数はm個になり、素性1〜素性mの重みが記憶される。
なお、モデル情報記憶部125は、上記に限らず、目的に応じて種々のモデル情報を記憶してもよい。例えば、モデル情報記憶部125は、確率モデル等の種々のモデル情報が記憶されてもよい。
(予測情報記憶部126)
実施形態に係る予測情報記憶部126は、エージェントに関する各種情報を記憶する。例えば、予測情報記憶部126は、エージェント属性に関する各種情報やエージェントの行動に関する各種情報を記憶する。図8は、実施形態に係る予測情報記憶部の一例を示す図である。図8に示す予測情報記憶部126は、「予測対象エリア」、「予測情報」といった項目が含まれる。「予測情報」には、「部分エリア」、「プッシュ回数」、「開封回数」、「開封率(%)」といった項目が含まれる。
「予測対象エリア」は、予測情報を生成する対象となったエリアを示す。また、「予測情報」は、予測対象エリアについて生成された予測情報を示す。「部分エリア」は、予測対象エリア内の部分エリアを示す。「プッシュ回数」は、予測情報の生成において、対応する部分エリアに位置するユーザにプッシュ通知が行われると予測された回数を示す。また、「開封回数」は、予測情報の生成において、対応する部分エリアに位置するユーザによってプッシュ通知の開封が行われると予測された回数を示す。また、「開封率(%)」は、予測情報の生成において、対応する部分エリアに位置するユーザがプッシュ通知を開封すると予測される割合(=開封回数/プッシュ回数×100)を示す。例えば、「開封率(%)」は、0〜100(%)の値となる。
例えば、図6に示す例において、予測対象エリア「Bエリア」について予測情報が生成されたことを示す。予測対象エリア「Bエリア」は、図1中のエリアAR21に対応する。例えば、予測対象エリア「Bエリア」内の部分エリアLC2−1に位置するユーザに「2000(回)」のプッシュ通知が行われると予測されることを示す。また、例えば、予測対象エリア「Bエリア」内の部分エリアLC2−1に位置するユーザがプッシュ通知を「40(回)」開封すると予測されることを示す。また、例えば、予測対象エリア「Bエリア」内の部分エリアLC2−1に位置するユーザの開封率が、2千回の通知のうち、40回開封されると予測されるため、「2(%)」であることを示す。
なお、予測情報記憶部126は、上記に限らず、目的に応じて種々の情報を記憶してもよい。
(制御部130)
図3の説明に戻って、制御部130は、コントローラ(controller)であり、例えば、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とを有し、以下に説明する情報処理の機能や作用を実現または実行する。なお、制御部130の内部構成は、図3に示した構成に限られず、後述する情報処理を行う構成であれば他の構成であってもよい。
(取得部131)
取得部131は、各種情報を取得する。例えば、取得部131は、外部の情報処理装置から各種情報を取得する。例えば、取得部131は、オープンデータ記憶部121やユーザ情報記憶部122や行動情報記憶部123や分布情報記憶部124やモデル情報記憶部125や予測情報記憶部126から各種情報を取得する。例えば、取得部131は、所定のユーザの行動情報を取得する。例えば、取得部131は、オープンデータに関する情報を取得する。例えば、取得部131は、端末装置10から位置情報等の行動情報を取得する。
例えば、取得部131は、所定のエリアに位置するユーザが利用する端末装置10に配信されたコンテンツに対する、当該ユーザの所定の操作の有無を示す操作情報を取得する。例えば、取得部131は、所定のエリアに位置するユーザが利用する端末装置においてプッシュ通知されたコンテンツに対する、当該ユーザの所定の操作の有無を示す操作情報を取得する。例えば、取得部131は、所定のエリアに位置するユーザが利用する端末装置においてプッシュ通知されたコンテンツに対する、当該ユーザによる開封操作の有無を示す操作情報を取得する。
例えば、取得部131は、所定のエリア内においてプッシュ通知されたコンテンツに対して、ユーザが所定の操作を行った際の当該ユーザの位置情報が対応付けられた操作情報を取得する。例えば、取得部131は、所定のエリア内においてプッシュ通知されたコンテンツに対して、ユーザが所定の操作を行った際の時間情報が対応付けられた操作情報を取得する。例えば、取得部131は、所定のエリア内においてプッシュ通知されたコンテンツに対して、ユーザが所定の操作を行った際のコンテキスト情報が対応付けられた操作情報を取得する。例えば、取得部131は、所定のエリア内においてプッシュ通知されたコンテンツに対して、ユーザが所定の操作を行った際の所定のエリアに関する環境情報が対応付けられた操作情報を取得する。
図1の例では、取得部131は、あるユーザが利用する端末装置10に所定のコンテンツがプッシュ通知され、ユーザにより開封されたことを示す情報を取得する。例えば、取得部131は、Aエリアに位置するユーザU1が利用する端末装置10に所定のコンテンツがプッシュ通知され、ユーザU1により開封されたことを示す情報を取得する。例えば、取得部131は、Aエリアの部分エリアLC1−1内に位置するユーザU1が利用する端末装置10に所定のコンテンツがプッシュ通知され、ユーザU1により開封されたことを示す情報を取得する。
例えば、取得部131は、あるユーザが利用する端末装置10に所定のコンテンツがプッシュ通知され、ユーザにより開封されなかったことを示す情報を取得する。例えば、取得部131は、Aエリアに位置するユーザU2が利用する端末装置10に所定のコンテンツがプッシュ通知され、ユーザU2により開封されなかったことを示す情報を取得する。例えば、取得部131は、Aエリアの部分エリアLC1−2内に位置するユーザU2が利用する端末装置10に所定のコンテンツがプッシュ通知され、ユーザU2により開封されなかったことを示す情報を取得する。
例えば、取得部131は、予測対象エリアのオープンデータを取得する。図1の例では、取得部131は、Bエリアの環境情報EDを取得する。例えば、取得部131は、オープンデータ記憶部121(図3参照)からBエリアの環境情報等の種々の情報を取得してもよい。
また、例えば、取得部131は、予測対象エリアに位置するユーザ情報を取得する。図1の例では、取得部131は、Bエリアのユーザ情報UDを取得する。例えば、取得部131は、ユーザ情報記憶部122(図4参照)に示すようなユーザ情報や行動情報記憶部123(図5参照)に示すようなユーザの行動情報を取得する。
(決定部132)
決定部132は、各種情報を決定する。例えば、決定部132は、予測情報の生成に用いるモデルを決定する。図1の例では、決定部132は、予測情報の生成に用いるモデルをモデルM1に決定する。
例えば、決定部132は、ユーザ情報やユーザの位置する周囲の環境情報等を入力とし、入力に基づいてスコアをモデルM1が出力するスコアが所定の閾値(例えば、「0.5」等)以上である場合に、そのユーザがプッシュ通知されるコンテンツを開封すると判定してもよい。例えば、決定部132は、ユーザU3の位置情報や行動情報等を含む種々の情報をモデルM1に入力し、モデルM1が所定の閾値未満のスコアを出力した場合、ユーザU3がプッシュ通知を開封しないと判定してもよい。例えば、決定部132は、ユーザU4の位置情報や行動情報等を含む種々の情報をモデルM1に入力し、モデルM1が所定の閾値以上のスコアを出力した場合、ユーザU4がプッシュ通知を開封すると判定してもよい。
例えば、決定部132は、各エージェントに適用するエージェントモデルを決定する。例えば、決定部132は、Bエリアの環境情報EDに含まれるBエリアの人口構成等に関する情報に基づいて、各エージェントに適用するエージェントモデルを決定してもよい。例えば、決定部132は、属性情報として年齢及び性別に関するBエリアの人口構成に基づいて、各エージェントに適用するエージェントモデルを決定してもよい。
(生成部133)
生成部133は、各種情報を生成する。例えば、生成部133は、記憶部120に記憶される各種情報を生成する。例えば、生成部133は、分布情報記憶部124に記憶される分布情報を生成する。例えば、生成部133は、モデル情報記憶部125に記憶されるモデルを生成する。例えば、生成部133は、予測情報記憶部126に記憶される予測情報を生成する。
例えば、生成部133は、取得部131により取得された操作情報に基づいて、所定のエリアとは異なる他のエリアに位置するユーザが利用する端末装置10にコンテンツが配信される場合に、当該コンテンツに対する当該ユーザの所定の操作の有無を予測する予測情報を生成する。例えば、生成部133は、取得部131により取得された操作情報に基づいて、所定のエリアとは異なる他のエリアに位置するユーザが利用する端末装置にコンテンツがプッシュ通知される場合に、当該コンテンツに対する当該ユーザの所定の操作の有無を予測する予測情報を生成する。例えば、生成部133は、取得部131により取得された操作情報に基づいて、他のエリアに位置するユーザが利用する端末装置にコンテンツがプッシュ通知される場合に、当該コンテンツに対する当該ユーザの開封操作の有無を予測する予測情報を生成する。
例えば、生成部133は、操作情報に基づいて、他のエリア内においてプッシュ通知されるコンテンツに対してユーザが所定の操作を行う位置を予測する予測情報を生成する。例えば、生成部133は、操作情報に基づいて、他のエリア内においてプッシュ通知されるコンテンツに対してユーザが所定の操作を行う時間を予測する予測情報を生成する。
例えば、生成部133は、操作情報と、他のエリア内に位置するユーザのコンテキスト情報とに基づいて、他のエリア内においてプッシュ通知されるコンテンツに対するユーザの所定の操作の有無を予測する予測情報を生成する。例えば、生成部133は、操作情報と、他のエリア内に関する環境情報とに基づいて、他のエリア内においてプッシュ通知されるコンテンツに対するユーザの所定の操作の有無を予測する予測情報を生成する。
例えば、生成部133は、操作情報に基づいて、他のエリアにおいてプッシュ通知されるコンテンツに対して、所定の操作を行うユーザに関する分布を示す分布情報を予測情報として生成する。例えば、生成部133は、操作情報に基づいて、他のエリアにおいてプッシュ通知されるコンテンツに対して、所定の操作を行うユーザの他のエリアにおける分布を示す分布マップを予測情報として生成する。
例えば、生成部133は、プッシュ通知に関する操作情報に基づいて、分布情報を生成する。例えば、図1の例では、生成部133は、Aエリアを集計対象エリアとする分布情報DM11を生成する。例えば、生成部133は、プッシュ通知に関する操作情報に基づいて、予測情報を生成するために用いるモデルを生成する。例えば、生成部133は、Aエリアにおける操作情報に基づいて、プッシュ通知を開封するかどうかを予測するモデルを生成する。
例えば、生成部133は、オープンデータ記憶部121やユーザ情報記憶部122や行動情報記憶部123等に格納された各種情報に基づいて、プッシュ通知を開封するかどうかを予測するモデルを生成する。例えば、生成部133は、オープンデータ記憶部121に記憶されたAエリアの環境情報に基づいて、モデルを生成する。例えば、生成部133は、行動情報記憶部123に記憶されたAエリアに位置するユーザのユーザ情報に基づいて、モデルを生成する。例えば、生成部133は、ユーザ情報記憶部122に記憶されたAエリアに位置するユーザの行動情報に基づいて、モデルを生成する。例えば、生成部133は、ユーザにプッシュ通知されるコンテンツに関する情報を加味してモデルを生成してもよい。
例えば、生成部133は、プッシュ通知されるコンテンツが開封された場合の情報を正解情報(正例)として、プッシュ通知を開封するかどうかを予測するモデルを生成してもよい。例えば、生成部133は、プッシュ通知されるコンテンツが開封された場合のユーザのユーザ情報やユーザの位置情報やユーザの行動情報やユーザの環境情報等の種々のコンテキスト情報を正解情報として、プッシュ通知を開封するかどうかを予測するモデルを生成してもよい。例えば、生成部133は、ユーザU1が部分エリアLC1−1においてプッシュ通知されるコンテンツを開封した場合、ユーザU1のユーザ情報やユーザU1の位置情報やユーザU1の行動情報やユーザU1の環境情報等の種々のコンテキスト情報を正解情報として、プッシュ通知を開封するかどうかを予測するモデルを生成してもよい。
また、例えば、生成部133は、プッシュ通知されるコンテンツが開封されなかった場合の情報を不正解情報(負例)として、プッシュ通知を開封するかどうかを予測するモデルを生成してもよい。例えば、生成部133は、プッシュ通知されるコンテンツが開封されなかった場合のユーザのユーザ情報やユーザの位置情報やユーザの行動情報やユーザの環境情報等の種々のコンテキスト情報を不正解情報として、プッシュ通知を開封するかどうかを予測するモデルを生成してもよい。例えば、生成部133は、ユーザU2が部分エリアLC1−2においてプッシュ通知されるコンテンツが開封しなかった場合、ユーザU2のユーザ情報やユーザU2の位置情報やユーザU2の行動情報やユーザU2の環境情報等の種々のコンテキスト情報を不正解情報として、プッシュ通知を開封するかどうかを予測するモデルを生成してもよい。
図1の例では、生成部133は、モデル情報MDに示すようにモデルM1のモデル情報を生成する。例えば、生成部133は、モデル情報記憶部125(図7参照)に示すように、モデルM1を生成する。例えば、生成装置100は、ユーザ情報やユーザの位置する周囲の環境情報等を入力とし、入力に基づいてスコアを出力するモデルM1を生成する。例えば、生成部133は、生成したモデルM1に基づいて、予測情報を生成する。例えば、生成部133は、モデルM1と、予測対象エリアであるBエリアに関する各種情報とに基づいて、Bエリアに関する予測情報を生成する。
例えば、生成部133は、所定の時間帯にBエリアに位置するユーザを対象として、予測情報を生成してもよい。例えば、生成部133は、朝の時間帯(6時〜10時)にBエリアに位置するユーザを対象として、朝のBエリアに対応する予測情報を生成してもよい。例えば、生成部133は、夜の時間帯(19時〜23時)にBエリアに位置するユーザを対象として、夜のBエリアに対応する予測情報を生成してもよい。
図1の例では、生成部133は、Bエリアを予測対象エリアとする予測情報PM11を生成する。例えば、生成部133は、プッシュ通知の実績が不十分なBエリアについてプッシュ通知の開封率を予測する予測情報を生成する。
(提供部134)
提供部134は、各種情報を提供する。例えば、提供部134は、端末装置10に各種情報を提供する。例えば、提供部134は、生成部133により生成された予測情報に基づいて、種々のサービスを提供してもよい。
例えば、提供部134は、生成した予測情報に基づいて、プッシュ通知を行ってもよい。図1の例では、提供部134は、予測情報PM11中のハッチングが濃い部分(Bエリア中の右下)に位置するユーザに対して、プッシュ通知を行ってもよい。例えば、提供部134は、生成した予測情報を外部の情報処理装置へ提供してもよい。例えば、提供部134は、コンテンツ提供サービスを行う外部装置へ予測情報を提供してもよい。
〔3.生成処理のフロー〕
次に、図9を用いて、実施形態に係る生成システム1による生成処理の手順について説明する。図9は、実施形態に係る生成処理の一例を示すフローチャートである。また、図9に示す生成処理には、エージェントにモデルを割り当てる決定処理が含まれる。なお、シミュレーションログを生成する生成処理には、エージェントにモデルを割り当てる決定処理が含まれなくてもよい。
図9に示すように、生成装置100は、予測対象エリアに位置するユーザ情報を取得する(ステップS101)。図1の例では、生成装置100は、Bエリアのユーザ情報UDを取得する。例えば、生成装置100は、ユーザ情報記憶部122(図4参照)に示すようなユーザ情報や行動情報記憶部123(図5参照)に示すようなユーザの行動情報を取得する。
また、生成装置100は、予測対象エリアのオープンデータを取得する(ステップS102)。図1の例では、生成装置100は、Bエリアの環境情報EDを取得する。例えば、生成装置100は、オープンデータ記憶部121(図3参照)からBエリアの環境情報等の種々の情報を取得してもよい。
そして、生成装置100は、予測に用いるモデルを取得する(ステップS103)。図1の例では、生成装置100は、モデルM1に対応するモデル情報MDを取得する。例えば、生成装置100は、Aエリアに関する情報に基づいて生成されたモデルM1を取得する。例えば、生成装置100は、Aエリアに関する情報に基づいてモデルM1を生成し、モデル情報記憶部125(図7参照)に格納する。また、例えば、生成装置100は、モデル情報記憶部125(図7参照)からモデルM1を取得する。
そして、生成装置100は、予測情報を生成する(ステップS104)。図1の例では、生成装置100は、エリアAR21内に示すような予測情報を生成する。例えば、生成装置100は、予測情報記憶部126(図8参照)に示すような予測対象エリアをBエリアとする予測情報を生成する。
〔4.効果〕
上述してきたように、実施形態に係る生成装置100は、取得部131と、生成部133とを有する。取得部131は、所定のエリアに位置するユーザが利用する端末装置10に配信されたコンテンツに対する、当該ユーザの所定の操作の有無を示す操作情報を取得する。生成部133は、取得部131により取得された操作情報に基づいて、所定のエリアとは異なる他のエリアに位置するユーザが利用する端末装置10にコンテンツが配信される場合に、当該コンテンツに対する当該ユーザの所定の操作の有無を予測する予測情報を生成する。
これにより、実施形態に係る生成装置100は、操作情報に基づいて、所定のエリアとは異なる他のエリアに位置するユーザが利用する端末装置10にコンテンツが配信される場合に、当該コンテンツに対する当該ユーザの所定の操作の有無を予測する予測情報を生成することにより、所定のエリアの情報に基づいて、他のエリアにおけるユーザの所定の操作の有無を予測可能にすることができる。
また、実施形態に係る生成装置100において、取得部131は、所定のエリア内において配信されたコンテンツに対して、ユーザが所定の操作を行った際の当該ユーザの位置情報が対応付けられた操作情報を取得する。生成部133は、操作情報に基づいて、他のエリア内において配信されるコンテンツに対してユーザが所定の操作を行う位置を予測する予測情報を生成する。
これにより、実施形態に係る生成装置100は、操作情報に基づいて、他のエリア内において配信されるコンテンツに対してユーザが所定の操作を行う位置を予測する予測情報を生成することにより、所定のエリアの情報に基づいて、他のエリアにおけるユーザの所定の操作の有無を予測可能にすることができる。
また、実施形態に係る生成装置100において、生成部133は、操作情報に基づいて、他のエリア内において配信されるコンテンツに対してユーザが所定の操作を行う時間を予測する予測情報を生成する。
これにより、実施形態に係る生成装置100は、他のエリア内において配信されるコンテンツに対してユーザが所定の操作を行う時間を予測する予測情報を生成することにより、所定のエリアの情報に基づいて、他のエリアにおけるユーザの所定の操作の有無を予測可能にすることができる。
また、実施形態に係る生成装置100において、生成部133は、操作情報と、他のエリア内に位置するユーザのコンテキスト情報とに基づいて、他のエリア内において配信されるコンテンツに対するユーザの所定の操作の有無を予測する予測情報を生成する。
これにより、実施形態に係る生成装置100は、他のエリア内に位置するユーザのコンテキスト情報に基づいて、他のエリア内において配信されるコンテンツに対するユーザの所定の操作の有無を予測する予測情報を生成することにより、所定のエリアの情報に基づいて、他のエリアにおけるユーザの所定の操作の有無を予測可能にすることができる。
また、実施形態に係る生成装置100において、生成部133は、操作情報と、他のエリア内に関する環境情報とに基づいて、他のエリア内において配信されるコンテンツに対するユーザの所定の操作の有無を予測する予測情報を生成する。
これにより、実施形態に係る生成装置100は、所定のエリア内に関する環境情報に基づいて、他のエリア内において配信されるコンテンツに対するユーザの所定の操作の有無を予測する予測情報を生成することにより、所定のエリアの情報に基づいて、他のエリアにおけるユーザの所定の操作の有無を予測可能にすることができる。
また、実施形態に係る生成装置100において、生成部133は、操作情報に基づいて、他のエリアにおいて配信されるコンテンツに対して、所定の操作を行うユーザに関する分布を示す分布情報を予測情報として生成する。
これにより、実施形態に係る生成装置100は、操作情報に基づいて、他のエリアにおいて配信されるコンテンツに対して、所定の操作を行うユーザに関する分布を示す分布情報を予測情報として生成することにより、所定のエリアの情報に基づいて、他のエリアにおけるユーザの所定の操作の有無を予測可能にすることができる。
また、実施形態に係る生成装置100において、生成部133は、操作情報に基づいて、他のエリアにおいて配信されるコンテンツに対して、所定の操作を行うユーザの他のエリアにおける分布を示す分布マップを予測情報として生成する。
これにより、実施形態に係る生成装置100は、操作情報に基づいて、他のエリアにおいて配信されるコンテンツに対して、所定の操作を行うユーザの他のエリアにおける分布を示す分布マップを予測情報として生成することにより、所定のエリアの情報に基づいて、他のエリアにおけるユーザの所定の操作の有無を予測可能にすることができる。
また、実施形態に係る生成装置100において、取得部131は、所定のエリアに位置するユーザが利用する端末装置において配信されたコンテンツに対する、当該ユーザによる開封操作の有無を示す操作情報を取得する。生成部133は、取得部131により取得された操作情報に基づいて、他のエリアに位置するユーザが利用する端末装置10にコンテンツが配信される場合に、当該コンテンツに対する当該ユーザの開封操作の有無を予測する予測情報を生成する。
これにより、実施形態に係る生成装置100は、他のエリアに位置するユーザが利用する端末装置10にコンテンツが配信される場合に、当該コンテンツに対する当該ユーザの開封操作の有無を予測する予測情報を生成することにより、所定のエリアの情報に基づいて、他のエリアにおけるユーザの所定の操作の有無を予測可能にすることができる。
また、実施形態に係る生成装置100において、取得部131は、端末装置10においてプッシュ通知されたコンテンツに関する操作情報を取得する。また、生成部133は、取得部131により取得された操作情報に基づいて、所定のエリアとは異なる他のエリアに位置するユーザが利用する端末装置にコンテンツがプッシュ通知される場合に、当該コンテンツに対する当該ユーザの所定の操作の有無を予測する予測情報を生成する。
これにより、実施形態に係る生成装置100は、操作情報に基づいて、所定のエリアとは異なる他のエリアに位置するユーザが利用する端末装置10にコンテンツがプッシュ通知される場合に、当該コンテンツに対する当該ユーザの所定の操作の有無を予測する予測情報を生成することにより、所定のエリアの情報に基づいて、他のエリアにおけるユーザの所定の操作の有無を予測可能にすることができる。
〔5.ハードウェア構成〕
上述してきた実施形態に係る生成装置100は、例えば図10に示すような構成のコンピュータ1000によって実現される。図10は、生成装置の機能を実現するコンピュータの一例を示すハードウェア構成図である。コンピュータ1000は、CPU1100、RAM1200、ROM(Read Only Memory)1300、HDD(Hard Disk Drive)1400、通信インターフェイス(I/F)1500、入出力インターフェイス(I/F)1600、及びメディアインターフェイス(I/F)1700を有する。
CPU1100は、ROM1300またはHDD1400に格納されたプログラムに基づいて動作し、各部の制御を行う。ROM1300は、コンピュータ1000の起動時にCPU1100によって実行されるブートプログラムや、コンピュータ1000のハードウェアに依存するプログラム等を格納する。
HDD1400は、CPU1100によって実行されるプログラム、及び、かかるプログラムによって使用されるデータ等を格納する。通信インターフェイス1500は、ネットワークNを介して他の機器からデータを受信して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として機能する場合、コンピュータ1000のCPU1100は、RAM1200上にロードされたプログラムを実行することにより、制御部130の機能を実現する。コンピュータ1000のCPU1100は、これらのプログラムを記録媒体1800から読み取って実行するが、他の例として、他の装置からネットワークNを介してこれらのプログラムを取得してもよい。
以上、本願の実施形態のいくつかを図面に基づいて詳細に説明したが、これらは例示であり、発明の開示の行に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。
〔6.その他〕
また、上記実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、各図に示した各種情報は、図示した情報に限られない。
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
また、上述してきた各実施形態に記載された各処理は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
また、上述してきた「部(section、module、unit)」は、「手段」や「回路」などに読み替えることができる。例えば、取得部は、取得手段や取得回路に読み替えることができる。