以下に、本願に係る生成装置、生成方法、及び生成プログラムを実施するための形態(以下、「実施形態」と呼ぶ)について図面を参照しつつ詳細に説明する。なお、この実施形態により本願に係る生成装置、生成方法、及び生成プログラムが限定されるものではない。また、以下の各実施形態において同一の部位には同一の符号を付し、重複する説明は省略される。
(実施形態)
〔1.予測処理〕
まず、図1を用いて、実施形態に係る予測処理の一例について説明する。図1は、実施形態に係る予測処理の一例を示す図である。図1の例では、生成装置100は、各ユーザの行動情報に基づいて、各ユーザによる所定の対象に関する行動の確率に関連する情報であるスコアを予測する。図1の例では、生成装置100は、各ユーザの行動情報に基づいて、ユーザがA商品を購入するかどうかの確率を示す予測情報を生成する。生成装置100が予測するユーザの行動は、上記に限らず、種々の行動であってもよい。例えば、生成装置100が予測するユーザの行動は、ある金融機関の口座開設やあるサービスの会員入会等を含む種々の設定された目標のコンバージョン(達成)であってもよい。
また、生成装置100は、予測した各ユーザのスコアに基づいて、各ユーザを所定の対象とは異なる他の対象に関してマッピングしたマッピング情報を生成する。この点については図2で説明する。図2の例では、生成装置100は、予測対象「A商品購入」について予測した予測情報を、他の対象であるテレビジョン放送(以下、単に「テレビ」ともいう)の視聴に関してマッピング(写像)したマッピング情報を生成する。図1及び図2に示す例においては、公衆放送として所定の放送局によるテレビジョン放送を一例として示す。なお、公衆放送は、テレビジョン放送に限らず、公衆によって直接受信されることを目的として無線通信または有線電気通信の送信を行なうものであれば、ラジオ放送、音楽有線放送やケーブルテレビなどの有線方法、インターネットなどの双方向性送信による自動公衆送信などであってもよい。
〔生成システムの構成〕
まず、図1の説明に先立って、図3に示す生成システム1について説明する。図3に示すように、生成システム1は、端末装置10と、生成装置100とが含まれる。端末装置10と、生成装置100とは所定のネットワークNを介して、有線または無線により通信可能に接続される。図3は、実施形態に係る生成システムの構成例を示す図である。なお、図3に示した生成システム1には、複数台の端末装置10や、複数台の生成装置100が含まれてもよい。
端末装置10は、ユーザによって利用される情報処理装置である。端末装置10は、例えば、スマートフォンや、タブレット型端末や、ノート型PC(Personal Computer)や、デスクトップPCや、携帯電話機や、PDA(Personal Digital Assistant)等により実現される。図1に示す例においては、端末装置10がユーザが利用するスマートフォンである場合を示す。なお、以下では、端末装置10をユーザと表記する場合がある。すなわち、以下では、ユーザを端末装置10と読み替えることもできる。具体的には、図1では、端末装置10がユーザID「U1」により識別されるユーザ(以下、「ユーザU1」とする場合がある)が利用するスマートフォンである場合を示す。
また、図1に示す例においては、端末装置10を利用するユーザに応じて、端末装置10を端末装置10−1〜10−5として説明する。例えば、端末装置10−1は、ユーザU1により使用される端末装置10である。また、例えば、端末装置10−2は、ユーザU2により使用される端末装置10である。また、以下では、端末装置10−1〜10−5について、特に区別なく説明する場合には、端末装置10と記載する。なお、上記のように、「ユーザU*(*は任意の数値)」と記載した場合、そのユーザはユーザID「U*」により識別されるユーザであることを示す。例えば、「ユーザU1」と記載した場合、そのユーザはユーザID「U1」により識別されるユーザである。
生成装置100は、各ユーザの行動情報に基づいて、各ユーザによる所定の対象に関する行動の確率に関連する情報を予測する情報処理装置である。図1の例では、生成装置100は、各ユーザの行動情報に基づいて、ユーザがA商品を購入するかどうかの確率を示す予測情報を生成する。
また、生成装置100は、予測した各ユーザの確率に関連する情報に基づいて、各ユーザを所定の対象とは異なる他の対象に関してマッピングしたマッピング情報を生成する。図2の例では、生成装置100は、予測対象「A商品購入」について予測した予測情報を、他の対象「テレビ(視聴)」に関してマッピング(写像)したマッピング情報を生成する。
図1を用いて、実施形態に係る予測処理の一例について説明する。図1では、生成装置100が各ユーザの行動情報に基づいて、ユーザがA商品を購入するかどうかの確率を示すスコアを予測する場合を示す。
生成装置100は、ユーザU1が利用する端末装置10−1からユーザU1の行動情報を取得する(ステップS11−1)。例えば、生成装置100は、端末装置10−1からユーザU1のインターネット(ウェブ)上における行動情報を取得する。例えば、生成装置100は、ユーザU1がウェブコンテンツを閲覧したことを示す情報や、クエリを用いて検索を行ったことを示す情報の種々のウェブ上での行動情報を取得する。例えば、生成装置100は、ユーザU1の現実世界(以下「実空間」とする)における行動情報を取得してもよい。また、例えば、生成装置100は、ユーザU1がAコンビニでB商品の購入を行ったことを示す情報や、Bレストランで飲食を行ったことを示す情報等の種々の行動情報を取得してもよい。
また、生成装置100は、ユーザU2が利用する端末装置10−2から行動情報を取得する(ステップS11−2)。例えば、生成装置100は、端末装置10−2からユーザU2のウェブ上や実空間における行動情報を取得する。また、生成装置100は、ユーザU3が利用する端末装置10−3から行動情報を取得する(ステップS11−3)。例えば、生成装置100は、端末装置10−3からユーザU3のウェブ上や実空間における行動情報を取得する。
また、生成装置100は、ユーザU4が利用する端末装置10−4から行動情報を取得する(ステップS11−4)。例えば、生成装置100は、端末装置10−4からユーザU4のウェブ上や実空間における行動情報を取得する。また、生成装置100は、ユーザU5が利用する端末装置10−5から行動情報を取得する(ステップS11−5)。例えば、生成装置100は、端末装置10−5からユーザU5のウェブ上や実空間における行動情報を取得する。
以下、ステップS11−1〜S11−5を区別せずに説明する場合、ステップS11と総称する。また、ステップS11−1〜S11−5に限らず、各ユーザの検索は、複数回行われてもよい。なお、図1では、5人のユーザU1〜U5を図示するが、生成装置100は、ユーザU1〜U5に限らず、多数のユーザ(例えば、100万ユーザや1000万ユーザ等)の行動情報を取得する。また、生成装置100は、各ユーザが利用する端末装置10以外の外部装置から各ユーザの行動情報を取得してもよい。例えば、生成装置100は、各ユーザが利用するサービスを提供する外部装置から各ユーザの行動情報を取得してもよい。
上記のように、生成装置100は、各ユーザU1〜U5等の行動情報を収集する(ステップS12)。図1の例では、生成装置100は、収集した各ユーザU1〜U5等の行動情報を行動情報記憶部123に記憶する。例えば、生成装置100は、ユーザU1の行動情報ADT1をユーザU1に対応付けて行動情報記憶部123に記憶する。例えば、生成装置100は、ユーザU2の行動情報ADT2をユーザU2に対応付けて行動情報記憶部123に記憶する。
そして、生成装置100は、収集した各ユーザU1〜U5等の行動情報に基づいて、各ユーザU1〜U5等がA商品を購入するかどうかの確率を示すスコアを予測する。まず、生成装置100は、予測に用いるモデルを取得する(ステップS13)。図1の例では、生成装置100は、モデル情報記憶部122から予測対象に対応するモデルを取得する。図1の例では、生成装置100は、モデル情報記憶部122から予測対象「A商品購入」に対応するモデルM1を取得する。
上記のように、「モデルM*(*は任意の数値)」と記載した場合、そのモデルはモデルID「M*」により識別されるモデルであることを示す。例えば、「モデルM1」と記載した場合、そのモデルはモデルID「M1」により識別されるモデルである。また、図1中のモデル情報記憶部122に示すように、モデルM1は予測対象「A商品購入」、すなわちA商品購入の可能性の予測のために用いられるモデルであり、その具体的なモデルデータが「モデルデータMDT1」であることを示す。例えば、生成装置100は、モデルM1にユーザの行動情報を入力することにより、入力した行動情報に対応するユーザがA商品購入を行う確率を示すスコアを、モデルM1に出力させ、モデルM1が出力するスコアに基づいて、ユーザによるA商品購入の有無を予測する。なお、生成装置100によるモデルM1の生成については後述する。また、生成装置100は、予測に用いるモデルを外部装置から取得してもよい。
例えば、生成装置100は、各ユーザの行動情報をモデルに入力する。例えば、生成装置100は、各ユーザU1〜U5等の行動情報ADT1〜ADT5等をモデルM1に入力する。
図1の例では、生成装置100は、処理群PS14−1に示すような処理により、ユーザU1のA商品購入の確率を示すスコアを算出する。生成装置100は、ユーザU1に対応する行動情報ADT1をモデルM1に入力する(ステップS14−1)。例えば、生成装置100は、ユーザU1のウェブ上や実空間における行動情報をモデルM1に入力する。行動情報ADT1が入力されたモデルM1は、スコアを出力する(ステップS15−1)。図1の例では、行動情報ADT1が入力されたモデルM1は、スコアSC11−1に示すようなスコア「0.8」を出力する。
また、生成装置100は、処理群PS14−2に示すような処理により、ユーザU2のA商品購入の確率を示すスコアを算出する。生成装置100は、ユーザU2に対応する行動情報ADT2をモデルM1に入力する(ステップS14−2)。例えば、生成装置100は、ユーザU2のウェブ上や実空間における行動情報をモデルM1に入力する。行動情報ADT2が入力されたモデルM1は、スコアを出力する(ステップS15−2)。図1の例では、行動情報ADT2が入力されたモデルM1は、スコアSC11−2に示すようなスコア「0.55」を出力する。
また、生成装置100は、各ユーザU3〜U5等の行動情報ADT3〜ADT5等についても同様に処理する。例えば、生成装置100は、行動情報ADT3〜ADT5の各々をモデルM1に入力することにより、各ユーザU3〜U5に対応するスコアを算出する。図1の例では、生成装置100は、ユーザU3については、スコア「0.75」と算出し、ユーザU4については、スコア「0.80」と算出し、ユーザU5については、スコア「0.04」と算出する。
そして、生成装置100は、各ユーザU1〜U5等のスコアに基づいて各ユーザU1〜U5等のA商品の購入有無を予測する(ステップS16)。例えば、生成装置100は、所定の閾値を用いて、所定の閾値とスコアとの比較に基づいて、各ユーザの行動有無を予測する。図1の例では、生成装置100は、ユーザのスコアが閾値「0.7」以上である場合、そのユーザ(行動有ユーザ)がA商品を購入すると予測する。また、生成装置100は、ユーザのスコアが閾値「0.7」未満である場合、そのユーザ(行動無ユーザ)がA商品を購入しないと予測する。なお、図1の例では、説明を簡単にするために、閾値との比較により、ユーザを行動有ユーザと行動無ユーザとに分類する例を示すが、生成装置100は、各ユーザの確率に関連する情報であるスコアを用いて以下の処理を行ってもよい。
これにより、生成装置100は、図1中の予測情報記憶部124に示すように、各ユーザのA商品の購入有無を示す予測情報を生成する。例えば、生成装置100は、ユーザU1のスコアが「0.8」であり、閾値「0.7」以上であるため、ユーザU1については、A商品の購入を行うと予測する。また、例えば、生成装置100は、ユーザU2のスコアが「0.55」であり、閾値「0.7」未満であるため、ユーザU2については、A商品の購入を行わないと予測する。なお、閾値は「0.7」に限らず、「0.65」、「0.8」等、種々の値であってもよい。
上述したように、生成装置100は、各ユーザの行動情報に基づいて、そのユーザの所定の対象に関する行動の確率に関連する情報を予測する。図1の例では、生成装置100は、各ユーザの行動情報をモデルM1に入力することにより、モデルM1に各ユーザがA商品を購入する確率を示すスコアを出力させる。そして、生成装置100は、モデルM1が出力するスコアが所定の閾値以上である場合、そのユーザがA商品を購入すると予測する。このように、生成装置100は、各ユーザの行動情報とモデルM1とを用いることにより、実際に所定の対象に関する行動を行っていないユーザについて、所定の対象に関する行動を行うかを予測することができる。そのため、生成装置100は、所定のコンバージョン等、その行動有無を示す情報が取得できるユーザが少ない行動であっても、その行動を予測することにより、その行動有無が対応付けられるユーザを増幅させることができる。
〔2.生成処理〕
次に、図2を用いて、実施形態に係る生成処理の一例について説明する。図2は、実施形態に係る生成処理の一例を示す図である。図2の例では、生成装置100は、予測対象「A商品購入」について予測した予測情報を、他の対象「テレビ(視聴)」に関してマッピング(写像)したマッピング情報を生成する。
まず、生成装置100は、行動予測情報を取得する(ステップS21)。図2の例では、生成装置100は、予測情報記憶部124から各ユーザU1〜U5等のA商品の購入に関する有無を示す情報を取得する。
また、生成装置100は、マッピング対象情報を取得する(ステップS22)。図2の例では、マッピング対象情報記憶部125から各ユーザU1〜U5等のマッピング対象に関する情報を取得する。
図2中のマッピング対象情報記憶部125に示す「マッピング対象」は、予測情報をマッピングする対象を示す。図2中のマッピング対象情報記憶部125に示す「ユーザID」は、ユーザを識別するための識別情報を示す。図2中のマッピング対象情報記憶部125に示す「種別」は、対応するユーザの行動のマッピング対象における種別を示す。図2中のマッピング対象情報記憶部125に示す「日時」は、対応するユーザの行動が行われた日時を示す。
例えば、ユーザU1は、日時dt11−dt12の期間において、種別「A番組(音楽)」の番組を視聴したことを示す。すなわち、ユーザU1は、月曜の1時から3時の間において、音楽番組であるA番組を視聴したことを示す。また、例えば、ユーザU2は、日時dt21−dt22の期間において、種別「C番組(ドラマ)」の番組を視聴したことを示す。すなわち、ユーザU2は、月曜の0時30分から2時の間において、ドラマであるC番組を視聴したことを示す。なお、生成装置100は、ステップS11においてマッピング対象であるテレビに関するユーザの行動情報を取得してもよい。
そして、生成装置100は、マッピング情報を生成する(ステップS23)。図2の例では、生成装置100は、予測情報記憶部124やマッピング対象情報記憶部125に示す情報を用いて、予測対象「A商品購入」について予測した予測情報を、他の対象「テレビ(視聴)」に関してマッピング(写像)したマッピング情報を生成する。具体的には、生成装置100は、図2中のマッピング情報MP11に示すような、時間と曜日とで分割される区分ごとに、ユーザの分布をマッピングした情報を生成する。
図2中のマッピング情報MP11中の行「時間」と列「曜日」とで分割される各区分は、マッピングされる区分を示す。「時間」は、マッピングする区分に対応する時間を示す。図10の例では、「時間」は、「0−4」時、「4−8」時、「8−12」時、「12−16」時、「16−20」時、「20−24」時の6個に分割されることを示す。「曜日」は、マッピングする区分に対応する曜日を示す。図10の例では、「曜日」は、「月曜」、「火曜」、「水曜」、「木曜」、「金曜」、「土曜」、「日曜」の7個に分割されることを示す。すなわち、図2の例では、生成装置100は、6つの時間帯と7つの曜日との組合せである42(=6*7)個の区分ごとに情報をマッピングする。
図2の例では、時間「0−4」の行と曜日「月曜」の列とが交差する区分(マス目「月曜0−4」)は、月曜の0時から4時までの間にテレビを視聴したユーザにおける、A商品を購入すると予測されたユーザ(行動有ユーザ)の割合である含有率を示す。図2の例では、月曜の0時から4時までの間にテレビを視聴したユーザにおける行動有ユーザの含有率は、「5%」であることを示す。
例えば、生成装置100は、上記のような含有率を、マッピング情報記憶部126(図10参照)に示すように、区分ごとに記憶される各ユーザ数を用いて算出する。例えば、生成装置100は、マス目「月曜0−4」に記憶されたA商品を購入すると予測されたユーザであって、月曜の0時から4時までの間にテレビを視聴したユーザの数(行動有ユーザ数)と、月曜の0時から4時までの間にテレビを視聴した全ユーザ数とを用いて、月曜の0時から4時までの間にテレビを視聴したユーザにおける、行動有ユーザの含有率を算出する。
具体的には、図10中のマス目「月曜0−4」には、行動有ユーザ数が「500」人であり、全ユーザ数が「10000」人であるため、生成装置100は、月曜の0時から4時までの間にテレビを視聴したユーザにおける行動有ユーザの含有率を、「5(=500/10000*100)%」と算出する。
図2の例では、時間「0−4」の行と曜日「火曜」の列とが交差する区分(マス目「火曜0−4」)は、火曜の0時から4時までの間にテレビを視聴したユーザにおける、A商品を購入すると予測されたユーザ(行動有ユーザ)の割合である含有率を示す。図2の例では、火曜の0時から4時までの間にテレビを視聴したユーザにおける行動有ユーザの含有率は、「3%」であることを示す。
また、図2の例では、時間「20−24」の行と曜日「土曜」の列とが交差する区分(マス目「土曜20−24」)は、土曜の20時から24時までの間にテレビを視聴したユーザにおける、A商品を購入すると予測されたユーザ(行動有ユーザ)の割合である含有率を示す。図2の例では、土曜の20時から24時までの間にテレビを視聴したユーザにおける行動有ユーザの含有率は、「12%」であることを示す。
また、生成装置100は、各区分の含有率に応じて、各区分におけるA商品購入を行う可能性が高いユーザがどの程度含まれるかをヒートマップのような表示態様で示す。図2の例では、ハッチングが濃い程、A商品を購入するユーザの含有率が高い区分であることを示す。図2の例では、含有率が8%以上である区分のハッチングが最も濃くする。また、図2の例では、含有率が4%以上8%未満である区分のハッチングが2番目に濃くする。また、図2の例では、含有率が2%以上4%未満である区分のハッチングが3番目に濃くする。また、図2の例では、含有率が2%未満である区分はハッチング無しとする。
このように、生成装置100は、各区分を行動有ユーザの含有率の多寡に応じてヒートマップ状に示すマッピング情報MP11を生成することにより、どの区分にA商品を購入するユーザの割合が高いかを直感的に把握できる。例えば、図2の例では、曜日「日曜」に対応する区分は、ハッチングが最も濃いため、マッピング情報MP11により、日曜にテレビを視聴しているユーザには、A商品を購入するユーザの含有率が高いことが直感的に把握可能となる。例えば、生成装置100は、A商品を販売するストア等の所定の事業者に、生成したマッピング情報MP11を提供してもよい。
上述したように、生成装置100は、予測した各ユーザのA商品の購入確率を示すスコアに基づいて、各ユーザをA商品(購入)とは異なる他の対象であるテレビ(視聴)に関してマッピングしたマッピング情報を生成する。図2の例では、生成装置100は、テレビを視聴したユーザを曜日及び時間帯ごとの組合せである区分ごとに集計し、各区分に含まれる全ユーザにおける行動有ユーザの割合を含有率として、各区分にマッピングしたマッピング情報を生成する。このように、生成装置100は、予測した行動確率を示すスコアに基づく行動有ユーザがどの区分に多く含まれるかを示すマッピング情報を生成することにより、所定の対象に予測される情報を他の対象について利用可能にすることができる。したがって、生成装置100は、所定の対象に関して予測される情報を公衆放送に関して利用可能にする情報を適切に生成することができる。
(2−1.マッピング情報)
また、図2の例では、曜日及び時間帯の組合せに基づく区分ごとに含有率をマッピングする例を示したが、マッピングする情報は含有率に限らず、種々の情報であってもよい。例えば、生成装置100は、期待値や平均確率や中央値や最頻値等を区分ごとにマッピングしたマッピング情報を生成してもよい。例えば、生成装置100は、ある区分に含まれる全ユーザの確率を示すスコアを用いてその区分の平均確率を示すスコアや中央値や最頻値等を算出し、マッピングしたマッピング情報を生成してもよい。
(2−2.区分)
また、生成装置100は、マッピング対象を細分化した区分ごとにマッピング情報を生成してもよい。例えば、生成装置100は、マッピング対象であるテレビをカテゴリごとに細分化した区分ごとにマッピング情報を生成してもよい。例えば、生成装置100は、マッピング対象であるテレビを、「音楽」、「スポーツ」、「ドラマ」等のカテゴリ(ジャンル)ごとに細分化した区分ごとにマッピング情報を生成してもよい。また、例えば、生成装置100は、マッピング対象であるテレビを具体的な番組名(コンテンツ)ごとに細分化した区分ごとにマッピング情報を生成してもよい。例えば、生成装置100は、マッピング対象であるテレビを、「A番組」、「B番組」、「C番組」等の具体的な番組名ごとに細分化した区分ごとにマッピング情報を生成してもよい。
(2−3.他の対象)
また、図2の例では、テレビを対象としてマッピングしたマッピング情報を生成する場合を示したが、例えば、生成装置100は、種々の対象についてマッピングしたマッピング情報を生成してもよい。例えば、生成装置100は、ユーザの位置情報やユーザの属性情報やユーザの興味やユーザが用いたクエリやユーザが閲覧したサイト等、種々の対象についてマッピングしたマッピング情報を生成してもよい。
(2−4.行動情報)
例えば、生成装置100は、図1の例で用いるモデルM1を生成する場合、正解情報に対応する行動情報を除いた行動情報を入力とするモデルM1を生成してもよい。例えば、生成装置100は、正解情報である「A商品の購入」に対応する行動情報を行動情報から除いて、モデルM1を生成してもよい。また、例えば、生成装置100は、モデルM1の特徴量(素性)を指定する場合、正解情報である「A商品の購入」に対応する特徴量を含まないようにモデルM1の特徴量を設定してもよい。これにより、生成装置100は、モデルM1にA商品の購入に関する行動情報を含まないユーザの行動情報が入力された場合に、正確に予測することができる。なお、モデルの生成についての詳細は後述する。
例えば、生成装置100は、図1の例で用いるモデルM1を生成する場合、マッピング対象に対応する行動情報を除いた行動情報を入力とするモデルM1を生成してもよい。例えば、生成装置100は、マッピング対象であるテレビに対応する行動情報を行動情報から除いて、モデルM1を生成してもよい。また、例えば、生成装置100は、モデルM1の特徴量(素性)を指定する場合、マッピング対象であるテレビに対応する特徴量を含まないようにモデルM1の特徴量を設定してもよい。これにより、生成装置100は、モデルM1にマッピング対象であるテレビに関する行動情報を含まないユーザの行動情報が入力された場合に、正確に予測することができる。また、この場合、生成装置100は、ユーザの行動情報からテレビに関する行動情報を除いてモデルM1に入力してもよい。
〔3.生成装置の構成〕
次に、図4を用いて、実施形態に係る生成装置100の構成について説明する。図4は、実施形態に係る生成装置の構成例を示す図である。図4に示すように、生成装置100は、通信部110と、記憶部120と、制御部130とを有する。なお、生成装置100は、生成装置100の管理者等から各種操作を受け付ける入力部(例えば、キーボードやマウス等)や、各種情報を表示するための表示部(例えば、液晶ディスプレイ等)を有してもよい。
(通信部110)
通信部110は、例えば、NIC(Network Interface Card)等によって実現される。そして、通信部110は、ネットワークNと有線または無線で接続され、端末装置10との間で情報の送受信を行う。
(記憶部120)
記憶部120は、例えば、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。実施形態に係る記憶部120は、図4に示すように、学習データ記憶部121と、モデル情報記憶部122と、行動情報記憶部123と、予測情報記憶部124と、マッピング対象情報記憶部125と、マッピング情報記憶部126とを有する。
(学習データ記憶部121)
実施形態に係る学習データ記憶部121は、学習データに関する各種情報を記憶する。図5は、実施形態に係る学習データ記憶部の一例を示す図である。例えば、学習データ記憶部121は、モデルの生成に用いる教師データを記憶する。図5に示す学習データ記憶部121には、「データID」、「ユーザID」、「正解情報」、「行動情報」といった項目が含まれる。
「データID」は、データを識別するための識別情報を示す。例えば、「データID」は、学習データ(教師データ)として用いられるユーザの行動情報と正解情報との組合せを識別するための識別情報を示す。「ユーザID」は、ユーザを識別するための識別情報を示す。「正解情報」は、データIDにより識別されるデータに対応する正解情報を示す。例えば、「正解情報」は、データIDにより識別されるデータに対応するユーザの実際の行動有無を示す。図5では「正解情報」に「有(1)」や「無(0)」といった「有」や「無」を含む文字列を図示するが、例えば、ユーザが所定の対象に関する行動を行っている場合は、行動有に対応するフラグ(例えば「1」)が格納される。また、例えば、ユーザが所定の対象に関する行動を行っていない場合は、「正解情報」には、行動無に対応するフラグ(例えば「0」)が格納される。図5では「正解情報」は、A商品の購入有無を示す正解情報が格納されている場合を示す。
「行動情報」は、データIDにより識別されるデータに対応するユーザの行動情報を示す。図5では「行動情報」に「ADT101」といった概念的な情報が格納される例を示したが、実際には、ユーザが行った行動に関する種々の情報、または、その格納場所を示すファイルパス名などが格納される。
例えば、図5に示す例において、データID「DT1」により識別されるデータ(学習データDT1)は、ユーザID「U101」により識別されるユーザ(ユーザU101)に対応する情報(データ)であることを示す。また、学習データDT1は、正解情報「有(1)」であることを示す。すなわち、学習データDT1は、ユーザU101がA商品を購入したことを示す。また、学習データDT1は、行動情報ADT101を含むことを示す。
なお、学習データ記憶部121は、上記に限らず、目的に応じて種々の情報を記憶してもよい。例えば、学習データ記憶部121は、学習データが追加された日時に関する情報を記憶してもよい。例えば、学習データ記憶部121には、正解情報が「有(1)」の場合、ユーザがその行動を行った日時を示す情報を記憶してもよい。また、例えば、学習データ記憶部121は、各学習データがどのような判定処理により追加されたかを示す情報を記憶してもよい。例えば、学習データ記憶部121は、各学習データが管理者の選択により判定されたか等を示す情報を記憶してもよい。
(モデル情報記憶部122)
実施形態に係るモデル情報記憶部122は、モデルに関する情報を記憶する。例えば、モデル情報記憶部122は、生成処理により生成されたモデル情報(モデルデータ)を記憶する。図6は、実施形態に係るモデル情報記憶部の一例を示す図である。図6に示すモデル情報記憶部122は、「モデルID」、「予測対象」、「モデルデータ」といった項目が含まれる。なお、図6では、モデルM1、M2、M3のみを図示するが、M4、M5等、各予測対象に応じて多数のモデル情報が記憶されてもよい。
「モデルID」は、モデルを識別するための識別情報を示す。例えば、モデルID「M1」により識別されるモデルは、図1の例に示したモデルM1に対応する。「予測対象」は、対応するモデルの予測対象を示す。また、「モデルデータ」は、対応付けられた対応するモデルのデータを示す。例えば、「モデルデータ」には、各層におけるノードと、各ノードが採用する関数と、ノードの接続関係と、ノード間の接続に対して設定される接続係数とを含む情報が含まれる。
例えば、図6に示す例において、モデルID「M1」により識別されるモデル(モデルM1)は、予測対象が「A商品購入」であり、入力された行動情報に対応するユーザがA商品を購入する確率に関連する情報の予測に用いられることを示す。また、モデルM1のモデルデータは、モデルデータMDT1であることを示す。
モデルM1(モデルデータMDT1)は、ユーザの行動情報が入力される入力層と、出力層と、入力層から出力層までのいずれかの層であって出力層以外の層に属する第1要素と、第1要素と第1要素の重みとに基づいて値が算出される第2要素と、を含み、入力層に入力されたエリア情報に対し、出力層以外の各層に属する各要素を第1要素として、第1要素と第1要素の重みとに基づく演算を行うことにより、ユーザによる所定の対象に関する行動の確率に関連する情報の予測に用いられるスコアの値を出力層から出力するよう、コンピュータを機能させるためのモデルである。
ここで、モデルM1〜M3等が「y=a1*x1+a2*x2+・・・+ai*xi」で示す回帰モデルで実現されるとする。この場合、例えば、モデルM1が含む第1要素は、x1やx2等といった入力データ(xi)に対応する。また、第1要素の重みは、xiに対応する係数aiに対応する。ここで、回帰モデルは、入力層と出力層とを有する単純パーセプトロンと見做すことができる。各モデルを単純パーセプトロンと見做した場合、第1要素は、入力層が有するいずれかのノードに対応し、第2要素は、出力層が有するノードと見做すことができる。
また、モデルM1〜M3等がDNN等、1つまたは複数の中間層を有するニューラルネットワーク(neural network)で実現されるとする。この場合、例えば、モデルM1が含む第1要素は、入力層または中間層が有するいずれかのノードに対応する。また、第2要素は、第1要素と対応するノードから値が伝達されるノードである次段のノードに対応する。また、第1要素の重みは、第1要素と対応するノードから第2要素と対応するノードに伝達される値に対して考慮される重みである接続係数に対応する。
なお、モデル情報記憶部122は、上記に限らず、目的に応じて種々のモデル情報を記憶してもよい。
(行動情報記憶部123)
実施形態に係る行動情報記憶部123は、ユーザの行動に関する各種情報を記憶する。図7は、実施形態に係る行動情報記憶部の一例を示す図である。例えば、行動情報記憶部123は、各ユーザの行動等の各種の行動情報を記憶する。図7に示す行動情報記憶部123には、「ユーザID」、「行動情報」といった項目が含まれる。
「ユーザID」は、ユーザを識別するための識別情報を示す。例えば、ユーザID「U1」により識別されるユーザは、図1の例に示したユーザU1に対応する。「行動情報」は、データIDにより識別されるデータに対応するユーザの行動情報を示す。図7では「行動情報」に「ADT1」といった概念的な情報が格納される例を示したが、実際には、ユーザが行った行動に関する種々の情報、または、その格納場所を示すファイルパス名などが格納される。
例えば、図7に示す例において、ユーザID「U1」により識別されるユーザ(ユーザU1)については、行動情報ADT1が収集されたことを示す。例えば、行動情報ADT1には、ユーザU1のインターネット(ウェブ)上における行動情報が含まれてもよい。例えば、行動情報ADT1には、ユーザU1がある日時(日時X)にCサイトのコンテンツを閲覧したことを示す情報や、ある日時にクエリ「A商品」を用いて検索を行ったことを示す情報の種々のウェブ上での行動情報が含まれてもよい。また、例えば、行動情報ADT1には、ユーザU1がある日時にAコンビニでB商品の購入を行ったことを示す情報や、ある日時にBレストランで飲食を行ったことを示す情報等の種々の情報が含まれてもよい。
なお、行動情報記憶部123は、上記に限らず、目的に応じて種々の情報を記憶してもよい。また、図7では、ユーザIDごとに行動情報が行動情報記憶部123に記憶される場合を示したが、行動情報は、ユーザIDごとに限らず、例えば時刻順に記憶されてもよい。
例えば、行動情報には、「行動ID」、「日時」、「種別」、「内容」といった項目の情報が含まれてもよい。この場合、例えば、「行動ID」は、ユーザの行動を識別する情報を示す。例えば、「日時」は、対応するユーザの行動が行われた日時を示す。例えば、「日時」には、「2017年7月15日18時31分52秒」等の具体的な日時が記憶されてもよい。また、「種別」は、対応するユーザの行動の種別に関する情報を示す。また、「内容」は、対応するユーザの行動において対象となった内容を示す。例えば、ユーザU1について、行動ID「AC11」により識別される行動ログ中の日時には「日時X」が格納され、種別には「閲覧」が格納され、内容には「Cサイトのコンテンツ」が格納されてもよい。
(予測情報記憶部124)
実施形態に係る予測情報記憶部124は、予測に関する各種情報を記憶する。図8は、実施形態に係る予測情報記憶部の一例を示す図である。図8に示す予測情報記憶部124は、「予測対象」、「ユーザID」、「スコア」、「有無」といった項目を有する。図8に示す予測情報記憶部124は、図2において予測したユーザU1〜U5等の予測対象の行動を行う可能性に関する情報を示す。
「予測対象」は、ユーザの行動を予測する予測対象を示す。「ユーザID」は、ユーザを識別するための識別情報を示す。例えば、ユーザID「U2」により識別されるユーザは、図1の例に示したユーザU2に対応する。「スコア」は、対応するユーザの予測対象を行う確率に対応するスコアを示す。「有無」は、ユーザの行動有無の予測を示す。例えば、「有無」は、所定の閾値とスコアとの比較に基づくユーザの行動有無の予測を示す。図8では「有無」は、スコアが閾値「0.7」以上である場合は、「有(1)」が格納され、スコアが閾値「0.7」未満である場合は、「無(0)」が格納される場合を示す。
なお、図8では「有無」に「有(1)」や「無(0)」といった「有」や「無」を含む文字列を図示するが、例えば、ユーザが所定の対象に関する行動を行うと予測される場合は、行動有に対応するフラグ(例えば「1」)が格納される。また、例えば、ユーザが所定の対象に関する行動を行わないと予測される場合は、「有無」には、行動無に対応するフラグ(例えば「0」)が格納される。図8では「有無」は、A商品の購入有無の予測を示す情報が格納されている場合を示す。
例えば、図8に示す例において、行動有無を予測する対象は、A商品購入であることを示す。ユーザU1の行動確率を示すスコアは、「0.8」であることを示す。また、ユーザU1のスコア「0.8」は、閾値「0.7」以上であるため、ユーザU1については、有無が「有(1)」、すなわちA商品の購入を行うと予測されることを示す。
なお、予測情報記憶部124は、上記に限らず、目的に応じて種々の情報を記憶してもよい。予測情報記憶部124は、商品の具体的な名称等を記憶してもよい。
(マッピング対象情報記憶部125)
実施形態に係るマッピング対象情報記憶部125は、ユーザの行動に関する各種情報を記憶する。図9は、実施形態に係るマッピング対象情報記憶部の一例を示す図である。例えば、マッピング対象情報記憶部125は、各ユーザの行動等の各種の行動情報を記憶する。図9に示すマッピング対象情報記憶部125には、「マッピング対象」、「ユーザID」、「種別」、「日時」といった項目が含まれる。
「マッピング対象」は、予測情報をマッピングする対象を示す。「ユーザID」は、ユーザを識別するための識別情報を示す。例えば、ユーザID「U3」により識別されるユーザは、図1の例に示したユーザU3に対応する。また、「種別」は、対応するユーザの行動のマッピング対象における種別を示す。「日時」は、対応するユーザの行動が行われた日時を示す。なお、図9の例では、「dt11−dt12(月曜1時−3時)」等の期間で図示するが、「日時」には、「2017年7月15日19時31分52秒」等の時点が記憶されてもよい。
例えば、図9に示す例において、マッピング対象は、「テレビ」であることを示す。ユーザID「U1」により識別されるユーザ(ユーザU1)は、日時dt11−dt12の期間において、種別「A番組(音楽)」のテレビ番組を視聴したことを示す。すなわち、ユーザU1は、月曜の1時から3時の間において、音楽番組であるA番組を視聴したことを示す。
なお、マッピング対象情報記憶部125は、上記に限らず、目的に応じて種々の情報を記憶してもよい。また、図9では、ユーザIDごとに行動情報がマッピング対象情報記憶部125に記憶される場合を示したが、行動情報は、ユーザIDごとに限らず、例えば時刻順に記憶されてもよい。
(マッピング情報記憶部126)
実施形態に係るマッピング情報記憶部126は、マッピングに関する各種情報を記憶する。図10は、実施形態に係るマッピング情報記憶部の一例を示す図である。例えば、マッピング情報記憶部126は、曜日及び時間により分割された区分ごとのマッピング情報を記憶する。
「マッピング対象」は、マッピングする対象を示す。例えば、図10に示す例において、マッピング対象は、「テレビ」であることを示す。行「時間」と列「曜日」とで分割される各区分は、マッピングされる区分を示す。
「時間」は、マッピングする区分に対応する時間を示す。図10の例では、「時間」は、「0−4」時、「4−8」時、「8−12」時、「12−16」時、「16−20」時、「20−24」時の6個に分割されることを示す。なお、時間の区分は、上記に限らず、種々の分割であってもよく、例えば「0」時、「1」時、「2」時等の24個に分割されてもよい。
「曜日」は、マッピングする区分に対応する曜日を示す。図10の例では、「曜日」は、「月曜」、「火曜」、「水曜」、「木曜」、「金曜」、「土曜」、「日曜」の7個に分割されることを示す。なお、曜日の区分は、上記に限らず、種々の分割であってもよく、例えば「休日(土、日)」、「平日(月〜金)」の2個に分割されてもよい。
例えば、図10の例では、時間「0−4」の行と曜日「月曜」の列とが交差する区分(マス目「月曜0−4」)は、月曜の0時から4時までの間にテレビを視聴したユーザの数を示す情報が記憶される。図10の例では、マス目「月曜0−4」には、A商品を購入すると予測されたユーザであって、月曜の0時から4時までの間にテレビを視聴したユーザの数(行動有ユーザ数)が記憶される。また、図10の例では、マス目「月曜0−4」には、月曜の0時から4時までの間にテレビを視聴した全ユーザ数が記憶される。
具体的には、図10中のマス目「月曜0−4」には、行動有ユーザ数が「500」人であり、全ユーザ数が「10000」人であることを示す情報が記憶される。すなわち、月曜の0時から4時までの間にテレビを視聴したユーザにおける、行動有ユーザの含有率は、「5(=500/10000*100)%」であることを示す情報が記憶される。
なお、マッピング情報記憶部126は、上記に限らず、目的に応じて種々の情報を記憶してもよい。
(制御部130)
図4の説明に戻って、制御部130は、コントローラ(controller)であり、例えば、CPU(Central Processing Unit)やMPU(Micro Processing Unit)等によって、生成装置100内部の記憶装置に記憶されている各種プログラム(予測プログラムや生成プログラムの一例に相当)がRAMを作業領域として実行されることにより実現される。また、制御部130は、コントローラであり、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の集積回路により実現される。制御部130は、モデル情報記憶部122に記憶されているモデルM1等に従った情報処理により、ユーザの行動情報が入力される入力層と、出力層と、入力層から出力層までのいずれかの層であって出力層以外の層に属する第1要素と、第1要素と第1要素の重みとに基づいて値が算出される第2要素と、を含み、入力層に入力された行動情報に対し、出力層以外の各層に属する各要素を第1要素として、第1要素と第1要素の重みとに基づく演算を行うことにより、ユーザによる所定の対象に関する行動の確率の予測に用いられるスコアの値を出力層から出力する。
図4に示すように、制御部130は、取得部131と、予測部132と、生成部133と、提供部134とを有し、以下に説明する情報処理の機能や作用を実現または実行する。なお、制御部130の内部構成は、図4に示した構成に限られず、後述する情報処理を行う構成であれば他の構成であってもよい。制御部130は、記憶部120に記憶されているモデルM1(モデルデータMDT1)に従った情報処理により、第1要素と第1要素の重みとに基づいて値が算出される第2要素と、を含み、入力層に入力された行動情報に対し、出力層以外の各層に属する各要素を第1要素として、第1要素と第1要素の重みとに基づく演算を行うことにより、ユーザによる所定の対象に関する行動の確率に関連する情報の予測に用いられるスコアの値を出力層から出力する。
(取得部131)
取得部131は、各種情報を取得する。例えば、取得部131は、学習データ記憶部121と、モデル情報記憶部122と、行動情報記憶部123と、予測情報記憶部124と、マッピング対象情報記憶部125と、マッピング情報記憶部126等から各種情報を取得する。また、取得部131は、各種情報を外部の情報処理装置から取得してもよい。また、取得部131は、各種情報を端末装置10等から取得してもよい。例えば、取得部131は、端末装置10からユーザの行動情報を取得する。
図1の例では、取得部131は、ユーザU1が利用する端末装置10−1からユーザU1の行動情報を取得する。例えば、取得部131は、端末装置10−1からユーザU1のインターネット(ウェブ)上における行動情報を取得する。例えば、取得部131は、ユーザU1がウェブコンテンツを閲覧したことを示す情報や、クエリを用いて検索を行ったことを示す情報の種々のウェブ上での行動情報を取得する。例えば、取得部131は、ユーザU1の実空間における行動情報を取得してもよい。例えば、取得部131は、ユーザU1がAコンビニでB商品の購入を行ったことを示す情報や、Bレストランで飲食を行ったことを示す情報等の種々の行動情報を取得してもよい。
例えば、取得部131は、ユーザU2が利用する端末装置10−2から行動情報を取得する。例えば、取得部131は、端末装置10−2からユーザU2のウェブ上や実空間における行動情報を取得する。例えば、取得部131は、ユーザU3が利用する端末装置10−3から行動情報を取得する。例えば、取得部131は、端末装置10−3からユーザU3のウェブ上や実空間における行動情報を取得する。
例えば、取得部131は、ユーザU4が利用する端末装置10−4から行動情報を取得する。例えば、取得部131は、端末装置10−4からユーザU4のウェブ上や実空間における行動情報を取得する。例えば、取得部131は、ユーザU5が利用する端末装置10−5から行動情報を取得する。例えば、取得部131は、端末装置10−5からユーザU5のウェブ上や実空間における行動情報を取得する。
図1の例では、取得部131は、予測に用いるモデルを取得する。例えば、取得部131は、モデル情報記憶部122から予測対象に対応するモデルを取得する。例えば、取得部131は、モデル情報記憶部122から予測対象「A商品購入」に対応するモデルM1を取得する。
図2の例では、取得部131は、行動予測情報を取得する。例えば、取得部131は、予測情報記憶部124から各ユーザU1〜U5等のA商品の購入に関する有無を示す情報を取得する。例えば、取得部131は、マッピング対象情報を取得する。例えば、取得部131は、マッピング対象情報記憶部125から各ユーザU1〜U5等のマッピング対象に関する情報を取得する。
(予測部132)
予測部132は、各種情報を予測する。予測部132は、モデル情報記憶部122に記憶されたモデルを用いて種々の情報を予測する。例えば、予測部132は、取得部131により取得された各種情報に基づいて、種々の情報を予測する。予測部132は、ユーザの行動情報をモデルに入力することにより、ユーザによる所定の対象に関する行動の確率に関連する情報を予測する。
予測部132は、各ユーザの行動情報に基づいて、各ユーザによる所定の対象に関する行動の確率に関連する情報を予測する。例えば、予測部132は、公衆放送の視聴を行った各ユーザの行動情報に基づいて、各ユーザによる所定の対象に関する行動の確率に関連する情報を予測する。例えば、予測部132は、公衆放送の視聴以外の各ユーザの行動情報に基づいて、各ユーザによる所定の対象に関する行動の確率に関連する情報を予測する。
図1の例では、予測部132は、収集した各ユーザU1〜U5等の行動情報に基づいて、各ユーザU1〜U5等がA商品を購入するかどうかの確率を示すスコアを予測する。例えば、予測部132は、モデルM1にユーザの行動情報を入力することにより、入力した行動情報に対応するユーザがA商品購入の行う確率を示すスコアを、モデルM1に出力させ、モデルM1が出力するスコアに基づいて、ユーザによるA商品購入の有無を予測する。
図1の例では、予測部132は、各ユーザU1〜U5等のスコアに基づいて各ユーザU1〜U5等のA商品の購入有無を予測する。例えば、予測部132は、所定の閾値を用いて、所定の閾値とスコアとの比較に基づいて、各ユーザの行動有無を予測する。例えば、予測部132は、ユーザのスコアが閾値「0.7」以上である場合、そのユーザがA商品を購入すると予測する。例えば、予測部132は、ユーザのスコアが閾値「0.7」未満である場合、そのユーザがA商品を購入しないと予測する。
例えば、予測部132は、ユーザU1のスコアが「0.8」であり、閾値「0.7」以上であるため、ユーザU1については、A商品の購入を行うと予測する。例えば、予測部132は、ユーザU2のスコアが「0.55」であり、閾値「0.7」未満であるため、ユーザU2については、A商品の購入を行わないと予測する。
例えば、予測部132は、上述した回帰モデルやニューラルネットワーク等、任意の構造を有するモデルを用いて、スコアの算出を行う。具体的には、モデルM1は、ユーザの行動情報(すなわち、上述したスコアの算出に用いられる各要素)が入力された場合に、ユーザによる所定の対象に関する行動の予測を定量化した値(すなわち、ユーザによる所定の対象に関する行動の確率を示唆するスコア)を出力するように係数が設定される。予測部132は、このようなモデルM1を用いて、ユーザによる所定の対象に関する行動の確率に関するスコアを算出する。
なお、上記例では、モデルM1が、ユーザの行動情報が入力された場合にユーザによる所定の対象に関する行動の確率の予測を定量化した値を出力するモデルである例を示した。しかし、実施形態に係るモデル(モデルX)は、モデルM1にデータの入出力を繰り返すことで得られる結果に基づいて生成されるモデルであってもよい。例えば、モデルXは、ユーザの行動情報を入力とし、モデルM1が出力するスコアを出力とするよう学習されたモデル(モデルY)であってもよい。または、モデルM1は、ユーザの行動情報を入力とし、モデルYの出力値を出力とするよう学習されたモデルであってもよい。また、予測部132がGAN(Generative Adversarial Networks)を用いた予測処理を行う場合、モデルM1は、GANの一部を構成するモデルであってもよい。
(生成部133)
生成部133は、各種情報を生成する。また、生成部133は、予測情報記憶部124に記憶された予測情報と、マッピング対象情報記憶部125に記憶されたマッピング対象情報に基づいて、各ユーザを所定の対象とは異なる他の対象に関してマッピングしたマッピング情報を生成する。生成部133は、各ユーザのうち、予測部132により予測された各ユーザの確率に関連する情報が所定の条件を満たすユーザである対象ユーザの数に基づく指標値を、曜日及び時間に関する基準により分割された区分ごとに、所定の対象とは異なる対象である公衆放送に関してマッピングしたマッピング情報を生成する。
また、生成部133は、予測部132により予測された各ユーザの確率に関連する情報に基づいて、各ユーザを所定の対象とは異なる他の対象に関してマッピングしたマッピング情報を生成する。例えば、生成部133は、各ユーザのうち、確率に関連する情報が所定の条件を満たすユーザである対象ユーザの数に関する情報を含むマッピング情報を生成する。例えば、生成部133は、各ユーザのうち、確率に関連する情報が所定の閾値以上である対象ユーザの数に関する情報を含むマッピング情報を生成する。例えば、生成部133は、各ユーザにおける対象ユーザの数に基づく指標値を含むマッピング情報を生成する。例えば、生成部133は、各ユーザにおける対象ユーザの割合を示す含有率を含むマッピング情報を生成する。
例えば、生成部133は、所定の基準に基づいて分割された区分ごとにマッピング情報を生成する。例えば、生成部133は、時間に基づいて分割された区分ごとにマッピング情報を生成する。例えば、生成部133は、曜日に基づいて分割された区分ごとにマッピング情報を生成する。例えば、生成部133は、位置に基づいて分割された区分ごとにマッピング情報を生成する。
図1の例では、生成装置100は、予測情報記憶部124に示すように、各ユーザのA商品の購入有無を示す予測情報を生成する。
図2の例では、生成部133は、マッピング情報を生成する。例えば、生成部133は、予測情報記憶部124やマッピング対象情報記憶部125に示す情報を用いて、予測対象「A商品購入」について予測した予測情報を、他の対象「テレビ(視聴)」に関してマッピング(写像)したマッピング情報を生成する。例えば、生成部133は、図2中のマッピング情報MP11に示すような、時間と曜日とで分割される区分ごとに、ユーザの分布をマッピングした情報を生成する。
また、例えば、生成部133は、学習データ記憶部121に記憶された学習データを用いて、モデル情報記憶部122に示すようなモデルを生成する。例えば、生成部133は、取得部131により取得された学習データに基づいて、各ユーザによる所定の対象に関する行動の確率に関連する情報の予測に用いられるモデルを生成する。例えば、生成部133は、行動情報と、行動情報に対応する各ユーザによる所定の対象に関する行動の有無を示す正解情報とを含む学習データに基づいて、各ユーザによる所定の対象に関する行動の確率に関連する情報の予測に用いられるモデルを生成する。
例えば、生成部133は、モデルM1〜M3等を生成し、生成したモデルM1〜M3等をモデル情報記憶部122に格納する。なお、生成部133は、いかなる学習アルゴリズムを用いてモデルM1〜M3等を生成してもよい。例えば、生成部133は、ニューラルネットワーク、サポートベクターマシン(SVM)、クラスタリング、強化学習等の学習アルゴリズムを用いてモデルM1〜M3等を生成する。一例として、生成部133がニューラルネットワークを用いてモデルM1〜M3等を生成する場合、モデルM1〜M3等は、一以上のニューロンを含む入力層と、一以上のニューロンを含む中間層と、一以上のニューロンを含む出力層とを有する。
生成部133は、モデルを生成し、生成したモデルをモデル情報記憶部122に格納する。具体的には、生成部133は、ユーザの行動情報が入力される入力層と、出力層と、入力層から出力層までのいずれかの層であって出力層以外の層に属する第1要素と、第1要素と第1要素の重みとに基づいて値が算出される第2要素と、を含み、入力層に入力された行動情報に対し、出力層以外の各層に属する各要素を第1要素として、第1要素と第1要素の重みとに基づく演算を行うことにより、ユーザによる所定の対象に関する行動の確率に関連する情報の予測に用いられるスコアの値を出力層から出力するモデルを生成する。
例えば、生成部133は、学習データに基づいてモデルを生成する。例えば、生成部133は、学習データに基づいてモデルを生成する。例えば、生成部133は、学習データ記憶部121中のデータDT1〜DT4等を学習データ(教師データ)として、学習を行なうことにより、モデルを生成する。
例えば、生成部133は、学習データ記憶部121中のデータDT1〜DT4等を用いてモデルM1を生成する。例えば、生成部133は、正解情報がA商品の購入があったことを示す「1」である場合、モデルM1にデータDT1に含まれる行動情報ADT101が入力された場合に、モデルM1が出力するスコアが「1」に近づくように、学習処理を行う。また、例えば、生成部133は、正解情報がA商品の購入が無かったことを示す「0」である場合、モデルM1にデータDT2に含まれる行動情報ADT102が入力された場合に、モデルM1が出力するスコアが「0」に近づくように、学習処理を行う。
例えば、生成部133は、ユーザの行動情報に関する特徴量を用いて、モデルを生成する。また、例えば、生成部133は、ユーザのウェブ上における行動情報に関する特徴量を用いて、モデルを生成する。例えば、生成部133は、ユーザの実空間上における行動情報に関する特徴量を用いて、モデルを生成する。このように、生成部133は、ユーザの行動情報に含まれる特徴を学習し、ユーザの所定の対象に関する行動の確率に関連する情報を予測するモデルを生成する。なお、生成部133が学習する行動情報に含まれる特徴は、生成部133の管理者等の人間が生成部133に入力してもよいし、生成部133に自動的に学習(抽出)させてもよい。
なお、モデルの学習手法については、上述した手法に限定されるものではなく、任意の公知技術が適用可能である。なお、各モデルの生成は、機械学習に関する種々の従来技術を適宜用いて行われてもよい。例えば、モデルの生成は、SVM(Support Vector Machine)等の教師あり学習の機械学習に関する技術を用いて行われてもよい。また、例えば、モデルの生成は、教師なし学習の機械学習に関する技術を用いて行われてもよい。例えば、モデルの生成は、深層学習(ディープラーニング)の技術を用いて行われてもよい。例えば、モデルの生成は、DNN(Deep Neural Network)やRNN(Recurrent Neural Network)やCNN(Convolutional Neural Network)等の種々のディープラーニングの技術を適宜用いて行われてもよい。なお、上記モデルの生成に関する記載は例示であり、モデルの生成は、取得可能な情報等に応じて適宜選択された学習手法により行われてもよい。すなわち、生成部133は、学習データに含まれる行動情報が入力された場合に、正解情報に対応するスコアを出力するようにモデルM1を学習可能であれば、どのような手法によりモデルM1の生成を行ってもよい。
(提供部134)
提供部134は、各種情報を提供する。例えば、提供部134は、端末装置10に各種情報を提供する。提供部134は、予測部132により予測された予測情報に基づくサービスを提供してもよい。例えば、提供部134は、生成部133により生成されたモデルに関する情報を外部の情報処理装置へ提供してもよい。また、例えば、提供部134は、モデルが出力する情報を外部の情報処理装置へ提供してもよい。例えば、提供部134は、生成部133により生成されたマッピング情報を外部の情報処理装置へ提供する。
〔4.予測処理のフロー〕
次に、図11を用いて、実施形態に係る生成システム1による生成処理の手順について説明する。図11は、実施形態に係る予測処理の一例を示すフローチャートである。
図11に示すように、生成装置100は、各ユーザの行動情報を取得する(ステップS101)。図1の例では、生成装置100は、端末装置10−1〜10−5等から、各ユーザU1〜U5等の行動情報を取得する。例えば、生成装置100は、行動情報記憶部123に示すような各ユーザU1〜U5等の行動情報を取得する。
また、生成装置100は、予測対象に対応するモデルを取得する(ステップS102)。図1の例では、生成装置100は、予測対象である「A商品購入」に対応するモデルM1を、モデル情報記憶部122から取得する。
また、生成装置100は、行動情報とモデルとに基づいて各ユーザの予測対象に関する行動有無を予測する(ステップS103)。図1の例では、生成装置100は、各ユーザU1〜U5等の行動情報とモデルM1とを用いて、予測情報記憶部124に示すように、各ユーザU1〜U5がA商品を購入するかどうかを予測する。
〔5.生成処理のフロー〕
次に、図12を用いて、実施形態に係る生成システム1による生成処理の手順について説明する。図12は、実施形態に係る生成処理の一例を示すフローチャートである。
図12に示すように、生成装置100は、行動予測情報を取得する(ステップS201)。図2の例では、生成装置100は、予測情報記憶部124からA商品を購入するかどうかを示す予測情報を取得する。
その後、生成装置100は、マッピング対象情報を取得する(ステップS202)。図2の例では、生成装置100は、マッピング対象情報記憶部125からマッピング対象であるテレビに関する情報を取得する。
その後、生成装置100は、行動予測情報をマッピング対象について、マッピングしたマッピング情報を生成する(ステップS203)。図2の例では、生成装置100は、A商品を購入すると予測されるユーザが各曜日の時間帯におけるテレビ視聴者に占める含有率を示すマッピング情報MP11を生成する。
〔6.効果〕
上述してきたように、実施形態に係る生成装置100は、予測部132と、生成部133とを有する。予測部132は、各ユーザの行動情報に基づいて、各ユーザによる所定の対象に関する行動の確率に関連する情報を予測する。また、生成部133は、各ユーザのうち、予測部132により予測された各ユーザの確率に関連する情報が所定の条件を満たすユーザである対象ユーザの数に基づく指標値を、曜日及び時間に関する基準により分割された区分ごとに、所定の対象とは異なる対象である公衆放送に関してマッピングしたマッピング情報を生成する。
このように、実施形態に係る生成装置100は、各ユーザのうち、予測した各ユーザの確率に関連する情報が所定の条件を満たすユーザである対象ユーザの数に基づく指標値を、曜日及び時間に関する基準により分割された区分ごとに、所定の対象とは異なる対象である公衆放送に関してマッピングしたマッピング情報を生成することにより、所定の対象に予測される情報を公衆放送に関して利用可能にする情報を適切に生成することができる。
また、実施形態に係る生成装置100において、予測部132は、公衆放送の視聴を行った各ユーザの行動情報に基づいて、各ユーザによる所定の対象に関する行動の確率に関連する情報を予測する。
このように、実施形態に係る生成装置100は、公衆放送の視聴を行った各ユーザの行動情報に基づいて、各ユーザによる所定の対象に関する行動の確率に関連する情報を予測することにより、所定の対象に予測される情報を公衆放送に関して利用可能にする情報を適切に生成することができる。
また、実施形態に係る生成装置100において、予測部132は、公衆放送の視聴以外の各ユーザの行動情報に基づいて、各ユーザによる所定の対象に関する行動の確率に関連する情報を予測する。
このように、実施形態に係る生成装置100は、公衆放送の視聴以外の各ユーザの行動情報に基づいて、各ユーザによる所定の対象に関する行動の確率に関連する情報を予測することにより、所定の対象に予測される情報を公衆放送に関して利用可能にする情報を適切に生成することができる。
また、実施形態に係る生成装置100において、生成部133は、各ユーザのうち、確率に関連する情報が所定の閾値以上である対象ユーザの数に関する情報を含むマッピング情報を生成する。
このように、実施形態に係る生成装置100は、確率に関連する情報が所定の閾値以上である対象ユーザの数に関する情報を含むマッピング情報を生成することにより、所定の対象に予測される情報を公衆放送に関して利用可能にする情報を適切に生成することができる。
また、実施形態に係る生成装置100において、生成部133は、各ユーザにおける対象ユーザの割合を示す含有率を含むマッピング情報を生成する。
このように、実施形態に係る生成装置100は、各ユーザにおける対象ユーザの割合を示す含有率を含むマッピング情報を生成することにより、所定の対象に予測される情報を公衆放送に関して利用可能にする情報を適切に生成することができる。
〔7.ハードウェア構成〕
上述してきた実施形態に係る生成装置100は、例えば図13に示すような構成のコンピュータ1000によって実現される。図13は、生成装置の機能を実現するコンピュータの一例を示すハードウェア構成図である。コンピュータ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上にロードされたプログラムまたはデータ(例えば、モデルM1(モデルデータMDT1))を実行することにより、制御部130の機能を実現する。コンピュータ1000のCPU1100は、これらのプログラムまたはデータ(例えば、モデルM1(モデルデータMDT1))を記録媒体1800から読み取って実行するが、他の例として、他の装置からネットワークNを介してこれらのプログラムを取得してもよい。
以上、本願の実施形態及び変形例のいくつかを図面に基づいて詳細に説明したが、これらは例示であり、発明の開示の行に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。
〔8.その他〕
また、上記実施形態及び変形例において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、各図に示した各種情報は、図示した情報に限られない。
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
また、上述してきた実施形態及び変形例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
また、上述してきた「部(section、module、unit)」は、「手段」や「回路」などに読み替えることができる。例えば、取得部は、取得手段や取得回路に読み替えることができる。