以下に、本願に係る推定装置、推定方法、及び推定プログラムを実施するための形態(以下、「実施形態」と呼ぶ)について図面を参照しつつ詳細に説明する。なお、この実施形態により本願に係る推定装置、推定方法、及び推定プログラムが限定されるものではない。また、以下の各実施形態において同一の部位には同一の符号を付し、重複する説明は省略される。
(実施形態)
〔1.推定処理〕
まず、図1を用いて、実施形態に係る推定処理の一例について説明する。図1は、実施形態に係る推定処理の一例を示す図である。具体的には、図1は、ユーザU3の関心を推定する推定処理を行う場合を示す。図1に示す例において、クラスタ情報記憶部124や学習情報記憶部125を含むモデル情報MD11は、図2に示す配信システム1における生成処理により生成される。クラスタ情報記憶部124は、各ユーザのコンテキストにおけるコンテンツへの関心を予測するモデルが生成された場合のクラスタリングに関する情報を示す。具体的には、図1中のクラスタ情報記憶部124は、一のユーザと一のコンテキストとが交差する領域であるマス(以下、「マスMS」とする場合がある)にモデルM1〜M6等のうち、どのモデルが割り当てられたかを示す。すなわち、モデル情報MD11には、クラスタ情報記憶部124に示すような各マスMSに含まれる分割情報のクラスタリングに関する情報が含まれる。また、モデル情報MD11には、学習情報記憶部125に示すようなクラスタごとに生成されたモデルM1〜M6に関する情報が含まれる。なお、ここでいうコンテキストとは、ユーザが置かれた環境等を含むユーザの状態や状況に対応するが、詳細は後述する。
図1中のクラスタ情報記憶部124は、各マスMS中に図示するM1〜M6によって示される6つのクラスタを含むことを示す。例えば、各モデルM1〜M6は、分割情報記憶部123(図8参照)に記憶された各マスMS中に図示するM1〜M6に対応する分割情報に基づいて生成される。なお、詳細は後述するが、ここでいう分割情報とは、ユーザの行動情報がコンテキストごとに分割された情報を意味する。例えば、行動情報は、各ユーザにコンテンツを配信し、配信したコンテンツに対する各ユーザの行動の有無を示す情報である。また、クラスタ情報記憶部124中のマスMSにおいて、M1〜M6の符号が図示されていないマスMSについては、所定の手法により生成されたモデルが割り当てられるが、詳細は後述する。
例えば、図1では、ユーザU1のコンテキストCT11に対応するマスMS、ユーザU2のコンテキストCT15に対応するマスMS、ユーザU2のコンテキストCT17に対応するマスMS、及びユーザU4のコンテキストCT13に対応するマスMSには同じモデルM1が割り当てられることを示す。すなわち、上記4つのマスMSに含まれる分割情報を組み合わせた組合情報を用いて、モデルM1が生成されたことを示す。また、モデルM1に関するモデル情報は、学習情報記憶部125に示すように、素性1の重みが「0.5」、素性2の重みが「−0.4」、素性3の重みが「0.2」等であることを示す。例えば、配信システム1は、ユーザU1が朝に家(自宅)にいる場合に対応するコンテキストCT11においてコンテンツの配信を要求した場合、モデルM1を用いてユーザU1に配信するコンテンツを決定する。なお、素性は、配信装置100(図5参照)の管理者等が設定してもよいし、モデル生成の処理において抽出されてもよい。例えば、素性は、「経済」や「スマホ」や「サッカー」等の文字列(キーワード)であってもよい。また、各モデルの素性は、同じであってもよいし、異なってもよい。
また、図1に示すように、素性1〜素性3等の各素性は、各々が関連する対象(分類)に対応づけられている。例えば、素性1は、スポーツに関連するキーワード(例えば、「試合」等)であり、素性2は、経済に関連するキーワード(例えば、「為替」等)であり、素性3は、政治及び国際に関連するキーワード(例えば、「外遊」等)であってもよい。例えば、各素性は、各々と関心を推定したい対象との関連に応じて、いずれかの対象に対応付けられる。
配信装置100は、モデル情報MD11を用いて、ユーザごとに各コンテキストにおける関心スコアを算出する(ステップS1)。図1では、配信装置100は、関心情報記憶部127に示すように、各ユーザについて、各対象のコンテキストごとの関心スコアを算出する。例えば、配信装置100は、コンテキストCT11におけるユーザU1の各対象への関心スコアを、ユーザU1のコンテキストCT11に対応するマスMSに割り当てられたモデルM1の各素性の重みに基づいて算出する。例えば、配信装置100は、コンテキストCT11におけるユーザU1の対象「スポーツ」への関心スコアを、ユーザU1のコンテキストCT11に対応するマスMSに割り当てられたモデルM1の素性のうち、スポーツに対応付けられた素性の重みを合算することにより算出する。図1では、配信装置100は、コンテキストCT11におけるユーザU1の対象「スポーツ」への関心スコアを、モデルM1の素性1の重み「0.5」やスポーツに対応付けられた他の素性の重みを合算することにより算出する。例えば、配信装置100は、コンテキストCT11におけるユーザU1の対象「スポーツ」への関心スコアを「1.2」と算出する。また、例えば、配信装置100は、コンテキストCT11におけるユーザU1の対象「経済」への関心スコアを「0.2」と算出し、コンテキストCT11におけるユーザU1の対象「政治」への関心スコアを「0.5」と算出する。なお、関心情報記憶部127中の項目「合計」に示す関心スコアは、コンテキストCT11〜CT18等の全コンテキストの関心スコアを合算した関心スコアを示す。
なお、上記では、対象に対応付けられた素性の重みを合算したが、各素性の対象との関連の強さに応じた係数を各重みに乗算した値を合算して関心スコアを算出してもよい。この場合、対象との関連の強い素性の重み程、関心スコアに与える影響が大きくなるため、より適切にユーザの関心を反映した関心スコアを算出することができる。また、各対象の比率を示す数値であってもよい。例えば、ユーザの関心が高い対象に値が大きい関心スコアが割り当てられ、対象全体の関心スコアの合計が1となるように各対象に関心スコアを割り当ててもよい。また、複数の対象に対応付けられている素性は、各対象に割り当てられる重みが異なってもよい。例えば、図1では、政治と国際の2つの対象に対応付けられている素性3は、各対象に割り当てられる重みが異なってもよい。例えば、素性3の重みに0.7を乗算した値を対象「政治」のスコアとし、素性3の重みに0.3を乗算した値を対象「国際」のスコアとしてもよい。また、例えば、素性3の重みを対象「政治」のスコアとし、素性3の重みに0.5を乗算した値を対象「国際」のスコアとしてもよい。上記の各素性への係数の割当ては一例であって、配信装置100は、種々の方法により各素性に係数を割り当ててもよい。例えば、配信装置100は、各ユーザのコンテキストに割り当てられたモデルを用いた場合に選択されるコンテンツ(記事)の傾向に基づいて、各素性に割り当てる係数を算出してもよい。また、例えば、配信装置100は、モデルごとに素性の係数を割り当ててもよい。例えば、配信装置100は、モデルM1により選択されるコンテンツ(記事)のうち、経済に関するコンテンツの割合が大きい場合、モデルM1における経済に関連する素性に割り当てられる係数が大きくなるように各素性の係数を算出してもよい。また、例えば、配信装置100は、各素性について、モデルM1に対応する係数とモデルM2に対応する係数とを異ならせてもよい。例えば、配信装置100は、モデルM1に比べてモデルM2のほうが政治に関するコンテンツが多く選択される傾向がある場合、政治に関連する素性について、モデルM1に対応する係数がモデルM2に対応する係数よりも小さくなるように、各モデルについて各素性の係数を算出してもよい。
配信装置100は、ステップS1で算出した関心スコアを用いて、ユーザの関心を推定する(ステップS2)。図1では、配信装置100は、関心情報ES11に示すようなユーザU3についての関心を推定する。例えば、配信装置100は、ユーザU3の全コンテキストに亘る全体的な関心を示す関心情報ES11−1を推定する。ここで、関心情報記憶部127中のユーザU3について、項目「合計」に示す関心スコアは、対象「政治」が「−1.8」であり、対象「経済」が「8.1」であり、対象「スポーツ」が「1.4」である。そのため、図1では、配信装置100は、ユーザU3が全体として、経済に関心が高いと推定する。
また、例えば、配信装置100は、ユーザU3の各コンテキストにおける関心を示す関心情報ES11−2を推定する。ここで、関心情報記憶部127中のユーザU3について、項目「CT12」に示す関心スコアは、対象「経済」が「4.5」であり、各対象のうちで最も関心スコアが高い。また、関心情報記憶部127中のユーザU3について、項目「CT14」、「CT16」、「CT18」についても、対象「経済」の関心スコアが、各対象のうちで最も高い。そのため、図1では、配信装置100は、ユーザU3がコンテキストCT12、CT14、CT16、CT18、すなわちオフィスにいる場合は、経済に関心が高いと推定する。また、関心情報記憶部127中のユーザU3について、項目「CT11」に示す関心スコアは、対象「スポーツ」が「3.4」であり、各対象のうちで最も関心スコアが高い。そのため、図1では、配信装置100は、ユーザU3がコンテキストCT11、すなわち朝において家(自宅)にいる場合は、スポーツに関心が高いと推定する。
上述のように、配信装置100は、ユーザ間を跨ぐ組み合わせを含む組合情報ごとに生成されたモデルを用いることにより、各ユーザについてコンテキストごとに各対象の関心スコアを算出し、算出した各対象の関心スコアに基づいてユーザの関心を推定する。配信装置100は、ユーザ間を跨ぐ組み合わせを含む組合情報ごとに生成されたモデルに関する情報に基づいて、ユーザに関する情報を推定することにより、他のユーザの行動情報も加味したモデルを用いてユーザに関する情報を推定することができる。これにより、配信装置100は、ユーザに関する情報を適切に推定することができる。なお、上記の例では、配信装置100が素性に割り当てられた重み(スコア)を合算して、関心スコアを算出する例を示したが、配信装置100は、種々の方法により関心スコアを算出してもよい。例えば、配信装置100は、各ユーザのコンテキストに割り当てられたモデルを用いた場合に選択されるコンテンツ(記事)の傾向に基づいて、スコア(関心スコア)を算出してもよい。例えば、配信装置100は、ユーザU1のコンテキストCT11に割り当てられたモデルM1により選択されるコンテンツ(記事)のうち経済の割合が大きい場合、ユーザU1のコンテキストCT11の経済に関するスコア(関心スコア)が大きくなるようにスコア(関心スコア)を算出してもよい。また、ユーザに関する情報は、ユーザの関心が高い対象に関する情報に限らず、ユーザに関する種々の情報であってもよい。例えば、ユーザに関する情報は、ユーザに類似するユーザを推定する情報であってもよい。この点についての詳細は後述する。また、上記の関心情報ES11を用いた配信については、図4に詳述する。
〔2−1.生成処理〕
ここから、図2を用いて、実施形態に係る生成処理の一例について説明する。図2は、実施形態に係る生成処理の一例を示す図である。図2に示す例において、配信装置100は、所定の対象として、ユーザのコンテンツへの関心を予測するモデルを生成する。また、配信装置100は、生成したモデルを用いてユーザにコンテンツを配信するサービスを提供するが、この点については図3で説明する。図2〜図4では、ユーザU1〜U4が各々端末装置10−1〜10−4を利用する場合を示す。なお、端末装置10−1〜10−4を区別せずに説明する場合、端末装置10と総称する。
図2に示すように、配信システム1には、端末装置10と、配信装置100とが含まれる。端末装置10と、配信装置100とは図示しない所定の通信網を介して、有線または無線により通信可能に接続される。なお、図2に示した配信システム1には、複数台の端末装置10や、複数台の配信装置100が含まれてもよい。
端末装置10は、ユーザによって利用される情報処理装置である。端末装置10は、例えば、スマートフォンや、タブレット型端末や、ノート型PC(Personal Computer)や、デスクトップPCや、携帯電話機や、PDA(Personal Digital Assistant)等により実現される。図2は、端末装置10がスマートフォンである場合を示す。
また、端末装置10は、ユーザによる操作を受け付ける。図2に示す例において、端末装置10は、所定のアプリ(例えば、ブラウザ等)に表示するコンテンツを配信装置100へ要求する。なお、以下では、端末装置10をユーザと表記する場合がある。すなわち、以下では、ユーザを端末装置10と読み替えることもできる。
配信装置100は、コンテキストに基づいて分割された行動情報である分割情報が組み合わされた組合情報ごとに、所定の対象を予測するモデルを生成する情報処理装置である。また、配信装置100は、生成したモデルに関する情報に基づいて、ユーザに関する情報を推定する推定装置である。また、配信装置100は、コンテンツの配信要求に応じてコンテンツを配信する配信サービスを提供する情報処理装置である。例えば、配信装置100は、コンテンツの配信を要求した端末装置10を利用するユーザに応じて、端末装置10へコンテンツを配信する情報処理装置である。
図2では、配信装置100は、各ユーザにコンテンツを配信し、配信したコンテンツに対する各ユーザの行動の有無を示す行動情報を収集する。例えば、配信装置100は、ユーザU1〜U4にコンテンツを配信し、配信したコンテンツに対する各ユーザの行動の有無を示す行動情報を収集する。例えば、配信装置100は、行動情報として、ユーザに配信したコンテンツ(例えば、コンテンツCN11)に対するユーザの行動(例えば、コンテンツのクリック)の有無を示す情報を収集する。
まず、配信装置100は、ユーザU1が利用する端末装置10−1にコンテンツを配信する(ステップS11−1)。そして、配信装置100は、配信したコンテンツに対するユーザU1の行動の有無を示す行動情報を端末装置10−1から取得する(ステップS12−1)。また、配信装置100は、ユーザU2が利用する端末装置10−2にコンテンツを配信する(ステップS11−2)。そして、配信装置100は、配信したコンテンツに対するユーザU2の行動の有無を示す行動情報を端末装置10−2から取得する(ステップS12−2)。また、配信装置100は、ユーザU3が利用する端末装置10−3にコンテンツを配信する(ステップS11−3)。そして、配信装置100は、配信したコンテンツに対するユーザU3の行動の有無を示す行動情報を端末装置10−3から取得する(ステップS12−3)。また、配信装置100は、ユーザU4が利用する端末装置10−4にコンテンツを配信する(ステップS11−4)。そして、配信装置100は、配信したコンテンツに対するユーザU4の行動の有無を示す行動情報を端末装置10−4から取得する(ステップS12−4)。
なお、ステップS11−1〜S11−4は、処理を説明するためのものであり、ステップS11−1〜S11−4のいずれが先に行われてもよく、各ステップS11−1〜S11−4は、複数回行われてもよい。以下、ステップS11−1〜S11−4を区別せずに説明する場合、ステップS11と総称する。また、ステップS12−1〜S12−4は、処理を説明するためのものであり、各々が対応するステップS11よりも後であれば、ステップS12−1〜S12−4のいずれが先に行われてもよく、各ステップS12−1〜S12−4は、複数回行われてもよい。以下、ステップS12−1〜S12−4を区別せずに説明する場合、ステップS12と総称する。例えば、各ステップS11が行われる度にステップS12を行って行動情報を取得してもよい。また、例えば、各ステップS11が複数回行われて、所定のタイミングでステップS12を行って、行動情報を取得してもよい。
そして、配信装置100は、ステップS11〜S12において収集した各ユーザの行動に関する情報を分割する(ステップS13)。具体的には、配信装置100は、収集した各ユーザの行動情報をコンテキストに基づいて分割する。
ここで、コンテキストは、ユーザや端末装置10の状況やユーザや端末装置10の環境(背景)を意味する。例えば、コンテキストは、ユーザによって端末装置10が使われている状況や、端末装置10を所持するユーザが置かれている状態に対応する情報である。すなわち、図2〜図4におけるコンテキストは、ユーザU1〜U4の状況、例えばユーザU1〜U4がいる場所の環境に対応する。具体的には、図2〜図4におけるコンテキストは、各ユーザにコンテンツが配信(表示)された際のユーザU1〜U4の状況に対応する。例えば、コンテキストは、コンテンツを配信した時刻や端末装置10から取得したユーザの位置情報に基づいて推定してもよい。なお、各コンテキストは、排他的であってもよいし、重複してもよい。
また、図2〜図4では、説明を簡単にするため、時間帯と位置とに基づくコンテキストを示す。具体的には、図2〜図4の例におけるコンテキストは、朝(4〜10時)、昼(10〜16時)、夜(16〜22時)、深夜(22〜4時)の4つの時間帯と、家(自宅)またはオフィス(勤務地)の2つの位置とに基づく、8つのコンテキストCT11〜CT18を示す。
ここで、図2中の分割情報記憶部123は、ステップS13により各ユーザの行動情報がコンテキストごとに分割された状態を示す。分割情報記憶部123は、ユーザを行とし、コンテキストを列とした場合を示す。なお、分割情報記憶部123中の一のユーザと一のコンテキストとが交差する領域をマスとする。例えば、図2では、ユーザU4とコンテキストCT12とが交差する領域をマスMS42とする。なお、各マスの位置を区別せずに説明する場合は、マスMSとする場合がある。図2に示す各マスMSに含まれる情報は、ユーザに関する区分ごとのユーザの行動に関する行動情報がコンテキストに基づいて分割された分割情報である。また、分割情報記憶部123における行については、ユーザに限らずユーザに関する区分であれば、どのような粒度であってもよい。例えば、分割情報記憶部123における行は、ユーザに関する区分であるユーザ属性に基づく分類であってもよい。ここでいうユーザ属性に基づく分類とは、年齢、性別、興味等のユーザ属性に関する情報の類似性に基づく分類であってもよい。
例えば、ユーザU1とコンテキストCT11とが交差する位置のマスMS(左上のマスMS)には、行動AT11、AT12、AT13等の行動の有無を示す分割情報が含まれる。例えば、ユーザU4とコンテキストCT18とが交差する位置のマスMS(右下のマスMS)には、行動AT48、AT11等の行動の有無を示す分割情報が含まれる。
また、分割情報記憶部123中の各マスMS中の行動AT11等の右側に示す「○」は、ユーザが対応する行動を行ったことを示す。また、分割情報記憶部123中の各マスMS中の行動AT11等の右側に示す「×」は、ユーザが対応する行動を行わなかったことを示す。例えば、ユーザU1とコンテキストCT11とが交差する位置のマスMSにおいて、行動AT11は「○」であり、ユーザU1は、朝の家において行動AT11を行ったことを示す。また、例えば、ユーザU1とコンテキストCT11とが交差する位置のマスMSにおいて、行動AT12は「×」であり、ユーザU1は、朝の家において行動AT12を行わなかったことを示す。また、例えば、ユーザU1とコンテキストCT11とが交差する位置のマスMSにおいて、行動AT13は「○」であり、ユーザU1は、朝の家において行動AT13を行ったことを示す。
そして、配信装置100は、分割情報記憶部123中の各マスMSの分割情報を用いて、モデルを生成する(ステップS14)。例えば、配信装置100は、分割情報記憶部123中の各マスMSの分割情報をクラスタリングし、クラスタごとにモデルを生成する。例えば、配信装置100は、ユーザのコンテンツへの関心を予測するモデルを生成する。
例えば、配信装置100は、クラスタ数を設定しないクラスタリング手法によりクラスタリングを行ってもよい。また、例えば、配信装置100は、クラスタ数を設定するクラスタリング手法によりクラスタリングを行ってもよい。例えば、配信装置100は、k−means法やディリクレ過程を用いたロジスティック回帰の手法を用いて、各マスMSの分割情報をクラスタリングし、クラスタごとの分割情報を用いてモデルを生成する。図2では、配信装置100は、ディリクレ過程を用いたロジスティック回帰の手法を用いて、各マスMSの分割情報をクラスタリングし、クラスタごとの分割情報を用いてモデルを生成するものとして、以下説明する。なお、クラスタリング手法の詳細については後述する。
なお、配信装置100は、所定量以上の分割情報を含むマスMSをステップS14におけるモデル生成の対象としてもよい。例えば、配信装置100は、分割情報が含まれないユーザU4のコンテキストCT17に対応するマスMSやユーザU2のコンテキストCT11に対応するマスMSは、クラスタリングの対象としない。また、例えば、配信装置100は、所定量(例えば2つ)未満の分割情報しか含まれないユーザU1のコンテキストCT13、CT18に対応するマスMSは、クラスタリングの対象としなくてもよい。
ステップS14により、配信装置100は、モデル情報MD11を生成する。モデル情報MD11には、クラスタ情報記憶部124に示すような各マスMSに含まれる分割情報のクラスタリングに関する情報が含まれる。また、モデル情報MD11には、学習情報記憶部125に示すようなクラスタごとに生成されたモデルM1〜M6に関する情報が含まれる。
図2では、配信装置100は、分割情報記憶部123中の各マスMSの分割情報を6つのクラスタ(クラスタ情報記憶部124中のM1〜M6)に分類する。なお、クラスタ情報記憶部124中のM1〜M6は、各分割情報が属するクラスタを示すとともに、生成されるモデルを示す。また、クラスタ情報記憶部124中のマスMSにおいて、M1〜M6の符号が図示されていないマスMSについては、所定の手法により生成されたモデルが割り当てられるものとする。例えば、配信装置100は、クラスタ情報記憶部124中のモデルが割り当てられていないマスMSには、他のマスMSに割り当てられたモデルに基づいて、モデルを割り当ててもよい。例えば、配信装置100は、モデルが割り当てられていないユーザU4のコンテキストCT15に対応するマスMSには、同じ20代男性のユーザU1のコンテキストCT15に対応するマスMSに割り当てられたモデルM4を割り当ててもよい。
また、例えば、配信装置100は、モデルが割り当てられていないユーザU4のコンテキストCT17に対応するマスMSには、同じ20代のユーザU1やユーザU2のコンテキストCT17に対応するマスMSに割り当てられたモデルに基づくモデルを割り当ててもよい。この場合、配信装置100は、ユーザU1のコンテキストCT17に対応するマスMSに割り当てられたモデルM2とユーザU2のコンテキストCT17に対応するマスMSに割り当てられたモデルM1とを合成したモデルを割り当ててもよい。例えば、配信装置100は、ユーザU1のコンテキストCT17に対応するマスMSに割り当てられたモデルM2の各素性の重みとユーザU2のコンテキストCT17に対応するマスMSに割り当てられたモデルM1の各素性の重みとを所定の割合で合成したモデルを割り当ててもよい。例えば、配信装置100は、ユーザU4のコンテキストCT17に対応するマスMSには、20代男性のユーザU1のコンテキストCT17に対応するマスMSに割り当てられたモデルM2の方の比率を大きくしたモデルを割り当ててもよい。例えば、配信装置100は、ユーザU4のコンテキストCT17に対応するマスMSには、モデルM1が0.3、モデルM2が0.7の比率で合成されたモデルM1−2を割り当ててもよい。すなわち、配信装置100は、モデルM1の各素性の重みに0.3を乗算した重みと、モデルM2の各素性の重みに0.7を乗算した重みとを合算することにより生成したモデルM1−2を、ユーザU4のコンテキストCT17に対応するマスMSに割り当ててもよい。
図2では、配信装置100は、ユーザU1のコンテキストCT11に対応するマスMS、ユーザU2のコンテキストCT15に対応するマスMS、ユーザU2のコンテキストCT17に対応するマスMS、及びユーザU4のコンテキストCT13に対応するマスMSに含まれる分割情報を同じクラスタに分類する。また、配信装置100は、上記4つのマスMSに含まれる分割情報を組み合わせた組合情報を用いて、モデルM1を生成したことを示す。また、学習情報記憶部125に示すように、モデルM1に関するモデル情報は、素性1の重みが「0.5」、素性2の重みが「−0.4」、素性3の重みが「0.2」等であることを示す。
また、配信装置100は、ユーザU1のコンテキストCT12、CT17に対応するマスMS、ユーザU2のコンテキストCT14に対応するマスMS、及びユーザU3のコンテキストCT12に対応するマスMSに含まれる分割情報を同じクラスタに分類する。また、配信装置100は、上記4つのマスMSに含まれる分割情報を組み合わせた組合情報を用いて、モデルM2を生成したことを示す。また、学習情報記憶部125に示すように、モデルM2に関するモデル情報は、素性1の重みが「−0.3」、素性2の重みが「2.1」、素性3の重みが「−0.2」等であることを示す。
このように、図2では、配信装置100は、分割情報記憶部123中の各マスMSの分割情報を6つのクラスタ(組合情報)に分類し、各クラスタ(組合情報)に含まれる情報を用いてモデルM1〜M6を生成する。
上述したように、配信装置100は、コンテキストに基づいて各区分の行動情報を分割しても、区分間を跨ぐクラスタリングを行うことにより、各モデルの生成に用いられる情報量が不足することを抑制することができる。また、配信装置100は、区分とコンテキストとに基づいて分割された情報をクラスタリングすることにより、各区分の各コンテキストに応じて適切なモデルを生成することができる。したがって、配信装置100は、ユーザに関する情報を適切に推定することができる。
なお、図2では、行動情報として、配信したコンテンツへのユーザの行動の有無に関する情報を用いる例を示したが、行動情報はユーザが行う行動であって、収集可能な情報であればどのような情報であってもよい。例えば、行動情報はユーザの電子商取引に関する情報であってもよいし、配信された広告に関する行動(例えば、クリックやコンバージョン等)であってもよい。また、位置は、家(自宅)やオフィス(勤務地)に限らず、通勤時の経由地やよく行く場所や移動中など種々の情報であってもよい。
〔2−2.配信処理〕
次に、図3を用いて、実施形態に係る配信処理の一例について説明する。図3は、実施形態に係る配信処理の一例を示す図である。図3は、ユーザがユーザU1である場合を示す。なお、図3では、配信装置100がユーザU1のユーザ属性に関するユーザ情報を取得済みであり、行動履歴等のユーザ情報を取得済みである場合を例に説明する。
まず、配信装置100は、ユーザU1が利用する端末装置10−1からコンテンツの配信要求を取得する(ステップS15)。図3では、端末装置10−1は、ステップS15において、ユーザU1を識別する情報(例えば、ログインID等)や端末装置10−1の場所を示す位置情報等を配信装置100に送信する。なお、端末装置10は、GPS(Global Positioning System)センサ等により位置情報を取得する。図3では、ステップS15は、時間が朝9時であり、端末装置10−1の場所(位置)が位置LC12−1である状況において行われたものとする。なお、位置を示す情報でありハイフン(“−”)が付された位置LC12−1等は、位置LC12から所定の範囲内の位置情報を意味する。また、位置LC11−1、LC11−2等(図7参照)は、位置LC11から所定の範囲内の位置情報を意味する。すなわち、位置LC12−1が、ユーザU1の位置情報を示す場合、ユーザU1は、位置LC12にある勤務地にいるものと推定される。
端末装置10−1からコンテンツの配信要求を取得した配信装置100は、端末装置10−1へ配信するコンテンツを決定するモデルを決定する(ステップS16)。配信装置100は、端末装置10−1から取得したユーザU1を識別する情報により、配信要求元がユーザU1であると推定する。そして、配信装置100は、ユーザ情報記憶部121に記憶されたユーザU1のユーザ情報と端末装置10−1の位置LC12−1とに基づいて、ユーザU1がいる場所を推定する。図3では、ユーザ情報記憶部121に示すようにユーザU1の勤務地が位置LC12であり、端末装置10−1の位置が位置LC12−1であるため、配信装置100は、ユーザU1がオフィス(勤務地)にいると推定する。
そして、配信装置100は、ステップS15において配信要求がされた時間が朝9時であるため、コンテキストを朝のオフィスに対応するコンテキストCT12と推定する。その後、配信装置100は、学習情報記憶部125中のユーザU1及びコンテキストCT12に対応するマスMSに記憶されたモデルM2を示す情報に基づいて、配信するコンテンツの決定に用いるモデルをモデルM2に決定する。
例えば、配信装置100は、決定したモデルM2を用いて、コンテンツ情報記憶部126(図11参照)に記憶された各コンテンツのスコアを算出する。具体的には、配信装置100は、コンテンツ情報記憶部126に記憶された各コンテンツCN11(記事A)〜コンテンツCN18(記事H)等のタイトルや記事本文等の文字情報や画像情報とモデルM2とを用いて、各コンテンツCN11〜CN18等のスコアを算出する。図3では、配信装置100は、コンテンツ一覧CL11に示すような各コンテンツCN11〜CN18等のスコアを算出する。例えば、配信装置100は、記事AであるコンテンツCN11のスコアを「3.6」と算出する。また、例えば、配信装置100は、記事BであるコンテンツCN12のスコアを「2.5」と算出する。
そして、配信装置100は、コンテンツ一覧CL11に示すスコアに基づいて各コンテンツCN11〜CN18等の順位を決定する(ステップS17)。図3では、配信装置100は、コンテンツ一覧CL11に示すスコアが高い方から順に各コンテンツCN11〜CN18等の順位を決定する。具体的には、配信装置100は、スコアの最も高いコンテンツCN15である記事Eの順位を1位に決定する。また、配信装置100は、記事Eの次にスコアの高いコンテンツCN17である記事Gの順位を2位に決定する。これにより、配信装置100は、順位一覧LL11に示すように、順位1位が記事Eであり、順位2位が記事Gであり、順位3位が記事Aであり、順位4位が記事Fであると決定する。
その後、配信装置100は、順位一覧LL11に示すコンテンツを端末装置10−1へ配信する(ステップS18)。具体的には、記事E、記事G、記事A、記事F、等の順で表示されるコンテンツを端末装置10−1へ配信する。そして、順位一覧LL11に示すコンテンツを受信した端末装置10−1は、コンテンツを表示する(ステップS19)。図3では、端末装置10−1は、順位一覧LL11に示すコンテンツのうち順位が上位のコンテンツである記事E、記事G、記事A、記事Fを表示する。なお、端末装置10−1を利用するユーザU1は、端末装置10−1の画面にタッチしスクロール操作等を行うことにより、記事Fから下の記事B、記事H等を順次表示させる。
上述したように、配信装置100は、配信要求を取得した際のコンテキストに応じて、モデルを決定する。そして、配信装置100は、決定したモデルを用いて算出したコンテンツのスコアに基づいて、コンテンツの順位を決定する。これにより、配信装置100は、ユーザと配信要求時のコンテキストとに応じて適切なコンテンツを配信することができる。したがって、配信装置100は、適切なコンテンツを抽出することができる。なお、上記の例では、配信装置100がユーザのコンテキストに基づいて選択したモデルを用いて各コンテンツのスコアを算出し、算出した各コンテンツのスコアが高い方から順に順位付けを行う場合を示した。このように、上述した例では、配信装置100は、ユーザが対応するコンテキストにおいて、各コンテンツを閲覧する可能性を連続的な数値(スコア)として算出するモデルを用いる場合を示した。すなわち、上記例では、配信装置100がユーザのコンテキストに基づいて選択したモデルを用いて算出した各コンテンツのスコアが高い程、そのコンテンツが閲覧される可能性が高いと予測する場合を示したが、配信装置100は、選択したモデルを用いてどのような予測を行ってもよい。
例えば、配信装置100は、所定の閾値以上のスコアのコンテンツをユーザが閲覧すると予測し、所定の閾値未満のスコアのコンテンツをユーザが閲覧しないと予測してもよい。このように、配信装置100は、コンテキストに基づいて選択したモデルを用いて算出した各コンテンツのスコアにより、ユーザがコンテンツの閲覧をする(例えば、値「1」)かしない(例えば、値「0」)かの2値の予測を行ってもよい。なお、配信装置100は、2値の予測に限らず、連続値や離散値を予測するモデルを生成し、生成したモデルに基づいて、連続値や離散値を予測してもよい。例えば、配信装置100は、値が「0」及び「1」の2値に限らず、3値以上の値を取り扱う、いわゆるマルチラベル問題に対応する予測を行ってもよい。例えば、配信装置100は、ユーザのコンテンツの閲覧の有無の2段階ではなく、3以上の段階のいずれの段階にユーザがあるかを予測してもよい。例えば、配信装置100は、複数の閾値を用いて、コンテンツをユーザが閲覧する可能性がいずれの段階であるかを予測してもよい。具体的には、予測装置100は、第1の閾値と、第1の閾値よりも小さい第2の閾値を用いて、スコアが第1の閾値以上の場合、コンテンツをユーザが閲覧する可能性が高いと判定し、スコアが第1の閾値未満であり第2の閾値以上の場合、コンテンツをユーザが閲覧する可能性が中程度であると判定し、スコアが第2の閾値未満の場合、コンテンツをユーザが閲覧する可能性が低いと予測してもよい。また、例えば、配信装置100は、反応回数を予測したり、所定の対象のスコアを予測したりするモデルを生成し、生成したモデルに基づいて予測を行ってもよい。すなわち、配信装置100がユーザのコンテキストに基づいて選択したモデルを用いて、どのような予測を行ってもよい。また、配信装置100は、上述のように予測を行う対象に応じてモデルを生成してもよい。
また、図3に示す例において、ユーザU1は、端末装置10−1に表示された記事E、記事G、記事A、記事Fを選択(クリック)しなかった、すなわち、ユーザU1のコンテキストCT12においてモデルM2を用いた予測精度が低いものとして、以下説明する。
〔2−3.関心情報を用いた広告配信〕
次に、図4を用いて、実施形態に係る配信処理の一例について説明する。図4は、実施形態に係る推定したユーザの関心に基づく広告の配信処理の一例を示す図である。また、図4は、配信装置100が他サービスへ情報提供を行う場合を示す。具体的には、図4は、配信装置100が広告配信サービスを提供する広告装置50へ関心情報を配信し、関心情報を取得した広告装置50が関心情報に基づいて広告を配信する場合を示す。なお、図4では、配信システム1に、広告装置50が含まれるものとする。また、図4では、広告装置50が配信装置100から取得した関心情報に基づいて、ユーザU3の端末装置10−3に広告を配信する場合を例に説明する。また、図4では、広告装置50がユーザU3のオフィス(勤務地)が位置LC32であることを示す情報を有している場合を示す。
まず、配信装置100は、広告装置50へ関心情報を配信することにより、広告装置50へ情報の提供を行う(ステップS21)。図4では、配信装置100は、ユーザU3に関する関心情報ES11を配信する。なお、図4に示す関心情報ES11は、図1に示す関心情報ES11と同様である。また、関心情報ES11には、ユーザU3の全コンテキストに亘る全体的な関心を示す関心情報ES11−1やユーザU3の各コンテキストにおける関心を示す関心情報ES11−2が含まれる。例えば、関心情報ES11−1は、ユーザU3が全体として、経済に関心が高いことを示す関心情報である。また、例えば、関心情報ES11−2は、ユーザU3がオフィスにいる場合は、経済に関心が高いことや朝において家(自宅)にいる場合は、スポーツに関心が高いことを示す関心情報である。
配信装置100から関心情報ES11を取得した広告装置50は、ユーザU3が利用する端末装置10−3から広告の配信を要求する広告要求を取得する(ステップS22)。図4では、ステップS22は、時間が昼12時であり、端末装置10−3の場所(位置)が位置LC32−1である状況において行われたものとする。
端末装置10−3から広告要求を取得した広告装置50は、端末装置10−3へ配信する広告を選択する(ステップS23)。このとき、広告装置50は、配信装置100から取得した関心情報ES11を用いて、ユーザU3の端末装置10−3へ配信する広告を選択する。図4に示すように、関心情報ES11には、ユーザU3がオフィスにいる場合は、経済に関心が高いことを示す関心情報ES11−2が含まれる。また、上述したように、広告装置50は、ユーザU3のオフィス(勤務地)が位置LC32であることを示す情報を有している。また、位置LC32−1は、位置LC32から所定の範囲内の位置情報を意味する。すなわち、広告装置50は、位置LC32−1が、ユーザU3の位置情報を示す場合、ユーザU3は、位置LC32にある勤務地にいるものと推定する。
そして、広告装置50は、ステップS22において広告要求がされた時間が昼12時であり、場所がオフィスであるため、経済に関心が高いことを示す関心情報ES11−2に対応するとして、経済に関する広告を端末装置10−3へ配信する広告として選択する。例えば、広告装置50は、FX(Foreign Exchange:外国為替証拠金取引)に関する広告AC11を端末装置10−3へ配信する広告として選択する。
その後、広告装置50は、広告AC11を端末装置10−3へ配信する(ステップS24)。そして、広告AC11を受信した端末装置10−1は、広告AC11を表示する(ステップS25)。
上述したように、配信装置100は、他サービスへ情報提供を行う場合を示す。例えば、配信装置100は、広告配信サービスを提供する広告装置50へ関心情報を配信する。そして、配信装置100から関心情報ES11を取得した広告装置50は、関心情報ES11に基づいて広告を配信する。これにより、配信システム1は、配信装置100により推定された関心情報に基づいて適切に広告を配信することができる。なお、上述した例では、広告装置50が広告を配信する例を示したが、配信装置100が推定した関心情報に基づいて広告を配信してもよい。
〔3.配信装置の構成〕
次に、図5を用いて、実施形態に係る配信装置100の構成について説明する。図5は、実施形態に係る配信装置の構成例を示す図である。図5に示すように、配信装置100は、通信部110と、記憶部120と、制御部130とを有する。なお、配信装置100は、配信装置100の管理者等から各種操作を受け付ける入力部(例えば、キーボードやマウス等)や、各種情報を表示するための表示部(例えば、液晶ディスプレイ等)を有してもよい。
(通信部110)
通信部110は、例えば、NIC(Network Interface Card)等によって実現される。そして、通信部110は、ネットワークと有線または無線で接続され、端末装置10との間で情報の送受信を行う。
(記憶部120)
記憶部120は、例えば、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。実施形態に係る記憶部120は、図5に示すように、ユーザ情報記憶部121と、行動情報記憶部122と、分割情報記憶部123と、クラスタ情報記憶部124と、学習情報記憶部125と、コンテンツ情報記憶部126と、関心情報記憶部127とを有する。
(ユーザ情報記憶部121)
実施形態に係るユーザ情報記憶部121は、ユーザに関する各種情報を記憶する。例えば、ユーザ情報記憶部121は、ユーザ属性に関する各種情報を記憶する。図6は、実施形態に係るユーザ情報記憶部の一例を示す図である。図6に示すユーザ情報記憶部121は、「ユーザID」、「年齢」、「性別」、「自宅」、「勤務地」、「興味」といった項目が含まれる。
「ユーザID」は、ユーザを識別するための識別情報を示す。例えば、ユーザID「U1」により識別されるユーザは、図2の例に示したユーザU1に対応する。また、「年齢」は、ユーザIDにより識別されるユーザの年齢を示す。なお、「年齢」は、例えば35歳など、ユーザIDにより識別されるユーザの具体的な年齢であってもよい。また、「性別」は、ユーザIDにより識別されるユーザの性別を示す。
また、「自宅」は、ユーザIDにより識別されるユーザの自宅の位置情報を示す。なお、図6に示す例では、「自宅」は、「LC11」といった抽象的な符号を図示するが、緯度や経度を示す情報であってもよい。また、例えば、「自宅」は、地域名や住所であってもよい。
また、「勤務地」は、ユーザIDにより識別されるユーザの勤務地の位置情報を示す。なお、図6に示す例では、「勤務地」は、「LC12」といった抽象的な符号を図示するが、緯度や経度を示す情報であってもよい。また、例えば、「勤務地」は、地域名や住所であってもよい。
また、「興味」は、ユーザIDにより識別されるユーザの興味を示す。すなわち、「興味」は、ユーザIDにより識別されるユーザが関心の高い対象を示す。なお、図6に示す例では、「興味」は、各ユーザに1つずつ図示するが、複数であってもよい。
例えば、図6に示す例において、ユーザID「U1」により識別されるユーザの年齢は、「20代」であり、性別は、「男性」であることを示す。また、例えば、ユーザID「U1」により識別されるユーザは、自宅が「LC11」であることを示す。また、例えば、ユーザID「U1」により識別されるユーザは、勤務地が「LC12」であることを示す。また、例えば、ユーザID「U1」により識別されるユーザは、「スポーツ」に興味があることを示す。
なお、ユーザ情報記憶部121は、上記に限らず、目的に応じて種々の情報を記憶してもよい。例えば、ユーザ情報記憶部121は、氏名、家族構成、収入等の情報を記憶してもよい。
(行動情報記憶部122)
実施形態に係る行動情報記憶部122は、ユーザの行動に関する各種情報を記憶する。図7は、実施形態に係る行動情報記憶部の一例を示す図である。例えば、行動情報記憶部122は、各ユーザの端末装置10に配信したコンテンツに対するユーザの行動情報を記憶する。図7に示す行動情報記憶部122には、「ユーザID」、「行動」、「状況」といった項目が含まれる。また、「行動」には、「行動内容」、「有無」といった項目が含まれる。また、「状況」には、「時刻」、「位置」といった項目が含まれる。
「ユーザID」は、ユーザを識別するための識別情報を示す。例えば、ユーザID「U1」により識別されるユーザは、図2の例に示したユーザU1に対応する。また、「行動」は、対応するユーザの行動に関する情報を示す。また、「状況」は、対応するユーザの状況に関する情報を示す。
「行動内容」は、各行動を識別するための識別情報を示す。例えば、行動内容「AT11」により識別される行動(行動AT11)は、ユーザに配信したコンテンツ(例えば、コンテンツCN11)に対するユーザの行動(例えば、コンテンツのクリック)に対応する。なお、「行動内容」は、識別情報に限らず、具体的な行動内容が記憶されてもよい。また、「有無」は、対応する行動内容の有無を示す。「有無」が「1」の場合、ユーザが対応する行動を行ったことを示す。また、「有無」が「0」の場合、ユーザが対応する行動を行わなかったことを示す。
「時刻」は、各行動に関する時刻を示す。時刻「TM11」は、行動AT11に関する時刻を示す。例えば、時刻「TM11」は、ユーザにコンテンツ(例えば、コンテンツCN11)が配信された時刻であってもよい。また、例えば、時刻「TM11」は、ユーザに配信したコンテンツ(例えば、コンテンツCN11)をユーザがクリックした時刻であってもよい。有無「0」である行動内容「AT12」により識別される行動(行動AT12)に関する時刻「TM12」は、例えば、ユーザにコンテンツが配信された時刻であってもよい。また、例えば、時刻「TM12」は、ユーザにコンテンツが配信されてからクリックされずに所定の時間が経過した後の時刻であってもよい。
また、「位置」は、各行動に関する位置を示す。位置「LC11−1」は、行動AT11に関する位置を示す。例えば、位置「LC11−1」は、ユーザがコンテンツの配信を要求したときの位置情報であってもよい。また、例えば、位置「LC11−1」は、ユーザが配信されたコンテンツをクリックしたときの位置情報であってもよい。
例えば、図7に示す例において、ユーザID「U1」により識別されるユーザは、行動内容「AT13」により識別される行動(行動AT13)が有無「1」であり、行動AT13を行ったことを示す。また、ユーザID「U1」により識別されるユーザは、行動AT13に関する時刻が時刻「TM13」であり、位置が位置「LC11−3」であることを示す。
なお、行動情報記憶部122は、上記に限らず、目的に応じて種々の情報を記憶してもよい。例えば、行動情報記憶部122は、コンテンツが配信されてから、ユーザが行動するまでの時間に関する情報を記憶してもよい。また、図7では、ユーザIDごとに行動情報が行動情報記憶部122に記憶される場合を示したが、行動情報は、ユーザIDごとに限らず、例えば時刻順に記憶されてもよい。
(分割情報記憶部123)
実施形態に係る分割情報記憶部123は、分割情報に関する各種情報を記憶する。図8は、実施形態に係る分割情報記憶部の一例を示す図である。図8に示す分割情報記憶部123は、「区分」と「コンテキスト」に基づいて分割された行動情報が記憶される。具体的には、ユーザの「区分」ごとに、各「コンテキスト」に対応する行動情報が記憶される。例えば、分割情報記憶部123に記憶される情報は、行動情報記憶部122に記憶された行動情報から生成される。
「区分」は、ユーザに関する区分を示す。図8では、ユーザU1〜U4、すなわち各ユーザが区分である場合を示す。なお、「区分」は、各ユーザに限らず抽象化されたユーザ分類等であってもよいが、この点については後述する。また、「コンテキスト」は、コンテキストを示す。図8では、説明を簡単にするため、時間帯と位置とに基づくコンテキストを示す。具体的には、「コンテキスト」は、朝(4〜10時)、昼(10〜16時)、夜(16〜22時)、深夜(22〜4時)の4つの時間帯と、家(自宅)またはオフィス(勤務地)の2つの位置とに基づく、8つのコンテキストCT11〜CT18を示す。なお、図8に示す各マス中の「AT11」等の行動内容の右側に示す「○」は、有無の「1」に対応し、「×」は、有無の「0」に対応する。すなわち、「○」の場合、ユーザが対応する行動を行ったことを示す。また、「×」の場合、ユーザが対応する行動を行わなかったことを示す。
例えば、図8に示す例において、ユーザU1は、コンテキストCT11において、行動AT11が「○」であり、時間帯「朝」に家(自宅)で行動AT11を行ったことを示す。また、ユーザU1は、コンテキストCT12において、行動AT11が「×」であり、時間帯「朝」にオフィス(勤務地)で行動AT11を行わなかったことを示す。
なお、分割情報記憶部123は、上記に限らず、目的に応じて種々の情報を記憶してもよい。また、図8では、説明のために、分割情報記憶部123に各行動情報の行動内容及び有無に関する情報を記憶する場合を図示したが、分割情報記憶部123は、行動情報記憶部122に記憶された行動情報がどのマスに対応するかに関する情報を記憶してもよい。
(クラスタ情報記憶部124)
実施形態に係るクラスタ情報記憶部124は、各分割情報の組合せに関する各種情報を記憶する。図9は、実施形態に係るクラスタ情報記憶部の一例を示す図である。図9に示すクラスタ情報記憶部124は、図8中の分割情報記憶部123に示す各マスの分割情報がどのように組み合わされたかを示す情報と各組合せに対応するモデルを識別する情報が記憶される。具体的には、ユーザの「区分」と「コンテキスト」とによる各マスに対応するモデルを識別する情報が記憶される。例えば、クラスタ情報記憶部124に記憶される情報は、モデルを生成する処理により生成される。
「区分」は、ユーザに関する区分を示す。図9では、図8と同様に、ユーザU1〜U4、すなわち各ユーザが区分である場合を示す。また、「コンテキスト」は、コンテキストを示す。図9では、図8と同様に、時間帯と位置とに基づくコンテキストを示す。具体的には、「コンテキスト」は、朝(4〜10時)、昼(10〜16時)、夜(16〜22時)、深夜(22〜4時)の4つの時間帯と、家(自宅)またはオフィス(勤務地)の2つの位置とに基づく、8つのコンテキストCT11〜CT18を示す。なお、図9に示す各マス中の「M1」や「M2」等は、同じ符号が記憶されたマスの分割情報を組み合わせた組合情報により生成されたモデルを識別する情報を示す。
例えば、図9に示す例において、「M1」により識別されるモデル(以下、「モデルM1」とする場合がある。他の「M2」〜「M6」についても同様)は、ユーザU1のコンテキストCT11に対応するマスMS、ユーザU2のコンテキストCT15に対応するマスMS、ユーザU2のコンテキストCT17に対応するマスMS、及びユーザU4のコンテキストCT13に対応するマスMSに含まれる分割情報を組み合わせた組合情報から生成されたことを示す。また、例えば、モデルM2は、ユーザU1のコンテキストCT12、CT17に対応するマスMS、ユーザU2のコンテキストCT14に対応するマスMS、及びユーザU3のコンテキストCT12に対応するマスMSに含まれる分割情報を組み合わせた組合情報から生成されたことを示す。
なお、クラスタ情報記憶部124は、上記に限らず、目的に応じて種々の情報を記憶してもよい。
(学習情報記憶部125)
実施形態に係る学習情報記憶部125は、学習に関する情報を記憶する。例えば、学習情報記憶部125は、生成処理により生成されたモデル情報を記憶する。図10は、実施形態に係る学習情報記憶部の一例を示す図である。図10に示す学習情報記憶部125は、モデル情報として、各モデルM1〜M6に対応させて「素性1」〜「素性3」等といった項目を有する。
例えば、図10に示す例において、モデルM1に関するモデル情報は、素性1の重みが「0.5」、素性2の重みが「−0.4」、素性3の重みが「0.2」等であることを示す。例えば、モデルの素性(特徴量)がm次元のベクトルで表現される場合、素性数はm個になり、素性1〜素性mの重みが記憶される。
なお、学習情報記憶部125は、上記に限らず、目的に応じて種々のモデル情報を記憶してもよい。
(コンテンツ情報記憶部126)
実施形態に係るコンテンツ情報記憶部126は、コンテンツ(記事)に関する各種情報を記憶する。図11は、実施形態に係るコンテンツ情報記憶部の一例を示す図である。図11に示すコンテンツ情報記憶部126は、「コンテンツID」、「コンテンツ」、「カテゴリ」といった項目を有する。
「コンテンツID」は、コンテンツを識別するための識別情報を示す。「コンテンツ」は、いわゆるコンテンツプロバイダ等の提供元から取得したコンテンツである記事を示す。図11では「コンテンツ」に「記事A」といった概念的な情報が格納される例を示したが、実際には、文字情報や文字情報と画像との組合せ、または、これらの格納場所を示すファイルパス名などが格納される。また、「カテゴリ」は、コンテンツの内容に基づく分類情報を示す。
例えば、図11に示す例において、コンテンツID「CN11」により識別される記事A(コンテンツCN11)は、カテゴリ「経済」に分類されることを示す。また、図11に示す例において、コンテンツID「CN12」により識別される記事B(コンテンツCN12)は、カテゴリ「スポーツ」に分類されることを示す。
なお、コンテンツ情報記憶部126は、上記に限らず、目的に応じて種々の情報を記憶してもよい。例えば、コンテンツ情報記憶部126は、コンテンツを取得した日時やコンテンツが作成された日時に関する情報を記憶してもよい。コンテンツ情報記憶部126は、各提供元の評価値に関する情報を記憶してもよい。また、コンテンツ情報記憶部126は、コンテンツの提供元を識別するための識別情報を記憶してもよい。また、コンテンツ情報記憶部126は、各モデルにより算出されたコンテンツのスコアを記憶してもよい。
(関心情報記憶部127)
実施形態に係る関心情報記憶部127は、ユーザの関心に関する各種情報を記憶する。図12は、実施形態に係る関心情報記憶部の一例を示す図である。例えば、関心情報記憶部127は、ユーザごとに各対象(分類)に対する関心に関する情報を示すスコアを記憶する。具体的には、関心情報記憶部127は、ユーザごとに各対象(分類)に対する関心を示す関心スコアを記憶する。図12に示す関心情報記憶部127には、「ユーザID」、「対象」、「関心スコア」といった項目が含まれる。また、「関心スコア」には、各コンテキストに対応する「CT11」〜「CT18」や「合計」といった項目が含まれる。
「ユーザID」は、ユーザを識別するための識別情報を示す。例えば、ユーザID「U1」により識別されるユーザは、図2の例に示したユーザU1に対応する。また、「対象」は、ユーザの関心スコアを算出する対象(分類)を示す。また、「関心スコア」は、対応するユーザの関心度合いに関する数値を示す。
例えば、図12に示す例において、ユーザID「U1」により識別されるユーザ(すなわち、ユーザU1)は、コンテキスト「CT11」における対象「政治」に対する関心スコアが「0.5」であることを示す。また、ユーザU1は、コンテキスト「CT11」における対象「経済」に対する関心スコアが「0.2」であることを示す。また、ユーザU1は、コンテキスト「CT11」における対象「スポーツ」に対する関心スコアが「1.2」であることを示す。
例えば、図12に示す例において、ユーザID「U3」により識別されるユーザ(すなわち、ユーザU3)は、対象「政治」に対する合計の関心スコアが「−1.8」であることを示す。また、ユーザU3は、対象「経済」に対する合計の関心スコアが「8.1」であることを示す。また、ユーザU3は、対象「スポーツ」に対する合計の関心スコアが「1.4」であることを示す。
なお、関心情報記憶部127は、上記に限らず、目的に応じて種々の情報を記憶してもよい。例えば、関心情報記憶部127は、各コンテキストや合計における各対象への関心を順位で示す情報を記憶してもよい。また、図12では、ユーザIDごとに関心情報が関心情報記憶部127に記憶される場合を示したが、ユーザIDごとに限らず、例えば、所定のユーザ分類(例えば、20代男性やスポーツに興味があるユーザ等)ごとの関心情報も記憶されてもよい。
(制御部130)
図5の説明に戻って、制御部130は、例えば、CPU(Central Processing Unit)やMPU(Micro Processing Unit)等によって、配信装置100内部の記憶装置に記憶されている各種プログラム(配信プログラムの一例に相当)がRAMを作業領域として実行されることにより実現される。また、制御部130は、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の集積回路により実現される。
図5に示すように、制御部130は、取得部131と、推定部132と、生成部133と、決定部134と、配信部135とを有し、以下に説明する情報処理の機能や作用を実現または実行する。なお、制御部130の内部構成は、図5に示した構成に限られず、後述する情報処理を行う構成であれば他の構成であってもよい。また、制御部130が有する各処理部の接続関係は、図5に示した接続関係に限られず、他の接続関係であってもよい。
(取得部131)
取得部131は、ユーザの行動情報を取得する。取得部131は、ユーザが利用する端末装置10からユーザの行動情報を取得する。また、取得部131は、ユーザに関するユーザ情報を取得する。また、取得部131は、ユーザに関する区分ごとのユーザの行動に関する行動情報であって、コンテキストに基づいて分割された行動情報である分割情報を取得する。例えば、取得部131は、分割情報記憶部123から分割情報を取得する。また、取得部131は、区分として、ユーザ、またはユーザ属性に基づく分類ごとのユーザの行動に関する行動情報が、コンテキストに基づいて分割された分割情報を取得する。
また、取得部131は、端末装置10からコンテンツの配信要求を取得する。また、取得部131は、ユーザを識別する情報(例えば、ログインIDや端末識別情報等)や端末装置10の位置情報等を取得する。
また、取得部131は、ユーザごとの行動に関する行動情報であって、コンテキストに基づいて分割された行動情報である分割情報が、当該分割情報の各々に含まれる行動情報の傾向に基づいて組み合わされた情報であり、ユーザ間を跨ぐ組み合わせを含む情報である組合情報ごとに生成され、所定の対象を予測するモデルに関する情報を取得する。例えば、取得部131は、クラスタ情報記憶部124や学習情報記憶部125からモデルに関する情報を取得する。
(推定部132)
推定部132は、取得した各種情報から種々の情報を推定する。例えば、推定部132は、コンテンツを配信した時刻や端末装置10から取得したユーザの位置情報に基づいて種々の情報を推定する。例えば、推定部132は、端末装置10から取得したユーザを識別する情報により、配信要求元のユーザを推定する。例えば、推定部132は、ユーザ情報記憶部121に記憶されたユーザのユーザ情報と端末装置10の位置とに基づいて、ユーザがいる場所を推定する。図3では、推定部132は、ユーザ情報記憶部121に示すようにユーザU1の勤務地が位置LC12であり、端末装置10−1の位置が位置LC12−1であるため、ユーザU1がオフィス(勤務地)にいると推定する。また、図3では、推定部132は、配信要求がされた時間が朝9時であるため、コンテキストを朝のオフィスに対応するコンテキストCT12と推定する。
また、推定部132は、一の区分がユーザである場合において、ユーザの各分割情報が含まれる組合情報と、他の区分の各分割情報が含まれる組合情報との類似度に基づいて、ユーザのユーザ属性を推定してもよい。
また、推定部132は、取得部131により取得されたモデルに関する情報に基づいて、ユーザに関する情報を推定する。推定部132は、一のユーザにおけるコンテキストごとのモデルの割当てと、モデルに関する情報とに基づいて、一のユーザの関心を推定する。推定部132は、一のユーザにおける一のコンテキストのモデルの割当てと、モデルに関する情報とに基づいて、一のユーザの前記一のコンテキストにおける関心を推定する。例えば、推定部132は、モデルに関する情報として、各モデルに含まれる素性の重みに基づいて、ユーザに関する情報を推定する。
例えば、推定部132は、モデルに関する情報に基づいて関心スコアを算出する。図1では、推定部132は、モデル情報MD11を用いて、ユーザごとに各コンテキストにおける関心スコアを算出する。例えば、推定部132は、関心情報記憶部127に示すように、各ユーザについて、各対象のコンテキストごとの関心スコアを算出する。例えば、例えば、推定部132は、コンテキストCT11におけるユーザU1の各対象への関心スコアを、ユーザU1のコンテキストCT11に対応するマスMSに割り当てられたモデルM1の各素性の重みに基づいて算出する。また、例えば、推定部132は、算出した関心スコアに基づいて、ユーザに関する情報を推定する。
図1では、推定部132は、関心情報ES11に示すようなユーザU3についての関心を推定する。例えば、推定部132は、ユーザU3の全コンテキストに亘る全体的な関心を示す関心情報ES11−1を推定する。例えば、推定部132は、ユーザU3が全体として、経済に関心が高いと推定する。
また、図1では、推定部132は、ユーザU3の各コンテキストにおける関心を示す関心情報ES11−2を推定する。例えば、推定部132は、ユーザU3がコンテキストCT12、CT14、CT16、CT18、すなわちオフィスにいる場合は、経済に関心が高いと推定する。また、例えば、推定部132は、ユーザU3がコンテキストCT11、すなわち朝において家(自宅)にいる場合は、スポーツに関心が高いと推定する。
また、推定部132は、一のユーザにおけるコンテキストごとのモデルの割当てと、他のユーザにおけるコンテキストごとのモデルの割当てと、モデルに関する情報とに基づいて、一のユーザに類似するユーザを推定する。例えば、推定部132は、一のユーザにおけるコンテキストごとのモデルの割当てのパターンと、他のユーザにおけるコンテキストごとのモデルの割当てのパターンとに基づいて、一のユーザに類似するユーザを推定する。なお、これらの点についての詳細は後述する。
また、推定部132は、複数台の端末装置10から一のユーザとして識別されるユーザに関する行動情報が収集される場合において、モデルに関する情報に基づいて、一のユーザとして識別されるユーザが一の端末装置10を利用するユーザと他の端末装置10を利用するユーザとにおいて異なるユーザであるかを推定する。なお、配信装置100は、行動情報を収集する際等に各端末装置10から取得される固体識別番号等の端末装置10を識別する情報により、各端末装置10を識別する。例えば、推定部132は、ユーザの特定をログインID等の情報により行う場合、ログインIDが同じ場合であっても別のユーザとして識別子、収集した行動情報を分割してもよい。例えば、推定部132は、複数台の端末装置10において同じログインIDで認証が行われる場合、端末装置10ごとに別のユーザとして認識して行動情報を分割してもよい。例えば、推定部132は、複数台の端末装置10において同じログインIDで認証が行われる場合、一の端末装置10から収集される行動情報に対応するモデルから推定される関心の高い対象と他の端末装置10から収集される行動情報に対応するモデルから推定される関心の高い対象とが大きく異なる場合、一の端末装置10を利用するユーザと、他の端末装置10を利用するユーザとを異なる別のユーザであると推定してもよい。そして、推定部132は、端末装置10ごとに別のユーザとして認識して行動情報を分割してもよい。
また、推定部132は、一のユーザにおけるコンテキストごとのモデルの割当てと、モデルに関する情報とに基づいて、一のユーザの行動情報に他のユーザの行動情報が含まれるかを推定する。例えば、推定部132は、一のユーザにおけるコンテキストごとのモデルの割当てが、朝〜昼のコンテキストCT11〜CT14と夜〜深夜のコンテキストCT15〜CT18とで、関心の高い対象が大きく異なる場合、朝〜昼のコンテキストCT11〜CT14におけるユーザと、夜〜深夜のコンテキストCT15〜CT18におけるユーザとを異なる別のユーザであると推定してもよい。
(生成部133)
生成部133は、収集されたユーザの行動に関する行動情報を、コンテキストに基づいて分割することにより、分割情報を生成してもよい。また、生成部133は、生成した分割情報を分割情報記憶部123に記憶させてもよい。例えば、生成部133は、収集した各ユーザの行動に関する情報を分割してもよい。例えば、生成部133は、収集した各ユーザの行動情報を、推定部132により推定されたコンテキストに基づいて分割する。
生成部133は、各分割情報に含まれる行動情報の傾向に基づいて組み合わされた分割情報である組合情報ごとに、所定の対象を予測するモデルを生成する。例えば、図2では、ユーザU1とコンテキストCT11とが交差する位置のマスMS、及びユーザU4とコンテキストCT13とが交差する位置のマスMSが同じクラスタに分類される。ユーザU1とコンテキストCT11とが交差する位置のマスMS、及びユーザU4とコンテキストCT13とが交差する位置のマスMSは、ともに行動AT11が「○」である分割情報が含まれる。ユーザU1とコンテキストCT11とが交差する位置のマスMS、及びユーザU4とコンテキストCT13とが交差する位置のマスMSには、同じ傾向を示す分割情報が含まれる。そして、生成部133は、ユーザU1とコンテキストCT11とが交差する位置のマスMSの分割情報、及びユーザU4とコンテキストCT13とが交差する位置のマスMSの分割情報を含む組合情報を用いてモデルM1を生成する。
また、生成部133は、組合情報に含まれる分割情報の各々に対応するコンテキストにおける当該分割情報に対応する区分に含まれるユーザに関する所定の対象を予測するモデルを生成する。生成部133は、区分間を跨ぐ組み合わせを含む組合情報ごとに、所定の対象を予測するモデルを生成する。例えば、生成部133は、ユーザU2とコンテキストCT12とが交差する位置のマスMSの分割情報、及びユーザU4とコンテキストCT14とが交差する位置のマスMSの分割情報を含む組合情報を用いてモデルM6を生成する。すなわち、生成部133は、ユーザU2とユーザU4との区分間を跨ぐ組合情報を用いてモデルM6を生成する。
例えば、生成部133は、組合情報に含まれる各分割情報に対応するユーザの分類及びコンテキストの組合せにおける所定の対象の予測精度が高くなるように分割情報が組み合わされた組合情報ごとに、所定の対象を予測するモデルを生成する。例えば、生成部133は、各分割情報に含まれる行動情報が類似する分割情報が組み合わされた組合情報ごとに、所定の対象を予測するモデルを生成する。例えば、生成部133は、所定の対象として、ユーザのコンテンツへの関心を予測するモデルを生成する。
例えば、生成部133は、組合情報の数が所定数になる手法により分割情報が組み合わされた組合情報ごとに、所定の対象を予測するモデルを生成する。例えば、生成部133は、k−means法を用いて分割情報が組み合わされた組合情報ごとにモデルを生成する。この場合、生成部133は、決定部134により決定(設定)されたクラスタ数(組合情報数)になるように、分割情報を組み合わせて組合情報を生成し、組合情報ごとにモデルを生成する。
例えば、生成部133は、組合情報の数が変動し得る手法により分割情報が組み合わされた組合情報ごとに、所定の対象を予測するモデルを生成する。例えば、生成部133は、ディリクレ過程を用いたロジスティック回帰の手法を用いて分割情報が組み合わされた組合情報ごとにモデルを生成する。例えば、生成部133は、分割情報を順次組み合わせていくことにより、組合情報を生成し、組合情報ごとにモデルを生成する。
例えば、生成部133は、複数の分割情報を組み合わせた組合情報を生成し、その組合情報に対してモデルを生成する。例えば、生成部133は、ランダムに複数の分割情報を選択して組合情報を生成し、その組合情報に対してモデルを生成する。そして、生成部133は、生成したモデルの予測精度を検証する。ここでいう予測精度とは、ユーザの行動の有無を予測できる確率をいう。例えば、ここでいう予測精度とは、モデルを用いた場合において、行動情報において「○」であったコンテンツについて、所定のスコア以上が算出される確率をいう。そして、生成部133は、生成したモデルの予測精度が所定の閾値以上である場合、その組み合わせを維持して、さらに分割情報を組み合わせる処理を行ってもよい。また、生成部133は、ペナルティ項等の所定のハイパーパラメータを用いてもよい。例えば、生成部133は、クラスタ数が少なくなるほど値が小さくなるペナルティ項を用いてもよい。例えば、生成部133は、モデルの予測精度からクラスタ数に所定の係数を乗算した値を減算することにより算出される数値に基づいて、組み合わせを維持するか解除するかを判定してもよい。この場合、生成部133は、クラスタ数の減少とモデルの予測精度とのトレードオフに基づいて、所定のクラスタ数に分類された組合情報およびモデルを生成する。
例えば、生成部133は、交差検証(クロスバリデーション)により、一部をモデルの生成に用い、残りを検証用に用いて生成されたモデルの予測精度を検証してもよい。例えば、生成部133は、組合情報のうち80%をモデル生成に用い、残りの20%を検証に用いてもよい。例えば、生成部133は、検証した予測精度が所定の基準を満たした場合、その組み合わせを維持して、さらに分割情報を組み合わせる処理を行ってもよい。また、生成部133は、検証した予測精度が所定の基準を満たさない場合、その組み合わせを解除して、別の分割情報を組み合わせる処理を行ってもよい。また、生成部133は、分割情報を組み合わせる度に、モデル生成に用いる情報と、検証に用いる情報とを入れ替えて交差検証(クロスバリデーション)を複数回行った平均により、組み合わせを維持するか解除するかを判定してもよい。
例えば、生成部133は、一の区分がユーザである場合において、一のコンテキストにおけるユーザの分割情報が所定の条件を満たさない場合、一のコンテキストにおけるユーザのユーザ属性に類似する他の区分の分割情報を一のコンテキストにおけるユーザの分割情報に加えることにより、モデルを生成する。例えば、生成部133は、一のコンテキストにおけるユーザの分割情報の量が所定量に満たない場合、一のコンテキストにおける他の区分の分割情報を一のコンテキストにおけるユーザの分割情報に加えることにより、モデルを生成する。なお、これらの点についての詳細は後述する。
(決定部134)
決定部134は、端末装置10へ配信するコンテンツを決定するモデルを決定する。図3では、決定部134は、クラスタ情報記憶部124中のユーザU1及びコンテキストCT12に対応するマスMSに記憶されたモデルM2を示す情報に基づいて、配信するコンテンツの決定に用いるモデルをモデルM2に決定する。
例えば、決定部134は、決定したモデルとコンテンツとに基づいて、コンテンツのスコアを算出する。また、例えば、決定部134は、算出したスコアに基づいて各コンテンツの順位を決定する。図3では、決定部134は、コンテンツ一覧CL11に示すスコアに基づいて各コンテンツCN11〜CN18等の順位を決定する。また、決定部134は、スコアの最も高いコンテンツCN15である記事Eの順位を1位に決定する。また、決定部134は、記事Eの次にスコアの高いコンテンツCN17である記事Gの順位を2位に決定する。これにより、決定部134は、順位一覧LL11に示すように、順位1位が記事Eであり、順位2位が記事Gであり、順位3位が記事Aであり、順位4位が記事Fであると決定する。
また、決定部134は、一のユーザにおいてモデルが未割当のコンテキストに、一のユーザに類似するユーザにおいて当該コンテキストに割り当てられたモデルを割り当てると決定する。なお、この点についての詳細は後述する。
(配信部135)
配信部135は、端末装置10に各種情報を配信する。例えば、配信部135は、端末装置10にコンテンツを配信する。また、配信部135は、決定部134により決定されたコンテンツを配信する。図3では、配信部135は、順位一覧LL11に示すコンテンツを端末装置10−1へ配信する。また、配信部135は、記事E、記事G、記事A、記事F、等の順で表示されるコンテンツを端末装置10−1へ配信する。また、図4では、配信部135は、推定したユーザの関心に関する情報を広告装置50へ配信する。
〔4.生成処理のフロー〕
〔4−1.クラスタ数を設定しない手法〕
次に、図13を用いて、実施形態に係る配信システム1による生成処理の手順について説明する。図13は、実施形態に係る生成処理の一例を示すフローチャートである。具体的には、図13は、クラスタ数(組合情報数)を決定しない手法による生成処理の一例を示すフローチャートである。
図13に示すように、配信装置100の取得部131は、各ユーザの行動情報を取得する(ステップS101)。例えば、取得部131は、各ユーザが利用する端末装置10からユーザの行動情報を取得する。
また、配信装置100の生成部133は、コンテキストに応じて情報を分割する(ステップS102)。例えば、生成部133は、行動情報を取得した際のコンテキストに応じて、行動情報を分割した分割情報を生成する。なお、ステップS101とステップS102は、複数回に亘って行われてもよい。
その後、生成部133は、クラスタ数を決定しない手法により、分割情報のクラスタリング及びモデルの生成を行う(ステップS103)。例えば、生成部133は、ディリクレ過程を用いたロジスティック回帰の手法を用いて分割情報が組み合わされた組合情報ごとにモデルを生成する。
〔4−2.クラスタ数を設定する手法〕
次に、図14を用いて、実施形態に係る配信システム1による生成処理の手順について説明する。図14は、実施形態に係る生成処理の一例を示すフローチャートである。具体的には、図14は、クラスタ数(組合情報数)を予め設定(決定)する手法による生成処理の一例を示すフローチャートである。
図14に示すように、配信装置100の取得部131は、各ユーザの行動情報を取得する(ステップS201)。例えば、取得部131は、各ユーザが利用する端末装置10からユーザの行動情報を取得する。
また、配信装置100の生成部133は、コンテキストに応じて情報を分割する(ステップS202)。例えば、生成部133は、行動情報を取得した際のコンテキストに応じて、行動情報を分割した分割情報を生成する。なお、ステップS201とステップS202は、複数回に亘って行われてもよい。
また、配信装置100の決定部134は、クラスタ数(組合情報数)を設定(決定)する(ステップS203)。例えば、決定部134は、クラスタ数(組合情報数)を「6」に設定(決定)する。なお、ステップS203の処理は、ステップS204よりも前であれば、いずれのタイミングで行われてもよい。
その後、生成部133は、クラスタ数を決定する手法により、分割情報のクラスタリング及びモデルの生成を行う(ステップS204)。例えば、生成部133は、k−means法を用いて分割情報が組み合わされた組合情報ごとにモデルを生成する。
〔5.配信処理のフロー〕
次に、図15を用いて、実施形態に係る配信システム1による配信処理の手順について説明する。図15は、実施形態に係る配信処理の一例を示すフローチャートである。
図15に示すように、配信装置100の取得部131は、配信要求を取得する(ステップS301)。例えば、取得部131は、各ユーザが利用する端末装置10からコンテンツの配信要求を取得する。
そして、配信装置100の推定部132は、ユーザ及びコンテキストを推定する(ステップS302)。例えば、推定部132は、端末装置10から取得したユーザを識別する情報により、配信要求元のユーザを推定する。また、例えば、推定部132は、配信要求がされた時刻や端末装置10の位置に基づいて、コンテキストを推定する。
その後、配信装置100の決定部134は、モデルを決定する(ステップS303)。例えば、決定部134は、端末装置10へ配信するコンテンツを決定するモデルを決定する。
そして、決定部134は、コンテンツの順位を決定する(ステップS304)。例えば、決定部134は、ステップS303において決定したモデルとコンテンツとに基づいて、コンテンツのスコアを算出する。また、例えば、決定部134は、算出したスコアに基づいて各コンテンツの順位を決定する。
その後、配信装置100の配信部135は、順位に基づいてコンテンツを配信する(ステップS305)。例えば、配信部135は、ステップS304において決定した順位に基づいてコンテンツを配信する。
〔6.推定処理のフロー〕
次に、図16を用いて、実施形態に係る配信システム1による推定処理の手順について説明する。図16は、実施形態に係る推定処理の一例を示すフローチャートである。
図16に示すように、配信装置100の取得部131は、モデルに関する情報取得する(ステップS401)。例えば、取得部131は、クラスタ情報記憶部124や学習情報記憶部125からモデルに関する情報を取得する。
そして、配信装置100の推定部132は、モデルに関する情報に基づいて関心スコアを算出する(ステップS402)。図1では、推定部132は、モデル情報MD11を用いて、ユーザごとに各コンテキストにおける関心スコアを算出する。例えば、推定部132は、関心情報記憶部127に示すように、各ユーザについて、各対象のコンテキストごとの関心スコアを算出する。
そして、推定部132は、関心スコアに基づいて、ユーザの関心を推定する(ステップS403)。図1では、推定部132は、関心情報ES11に示すようなユーザU3についての関心を推定する。例えば、推定部132は、ユーザU3の全コンテキストに亘る全体的な関心を示す関心情報ES11−1を推定する。例えば、推定部132は、ユーザU3が全体として、経済に関心が高いと推定する。また、図1では、推定部132は、ユーザU3の各コンテキストにおける関心を示す関心情報ES11−2を推定する。例えば、推定部132は、ユーザU3がコンテキストCT12、CT14、CT16、CT18、すなわちオフィスにいる場合は、経済に関心が高いと推定する。また、例えば、推定部132は、ユーザU3がコンテキストCT11、すなわち朝において家(自宅)にいる場合は、スポーツに関心が高いと推定する。
〔7.広告配信の処理のフロー〕
次に、図17を用いて、広告装置50による関心情報に基づく広告配信の処理の手順について説明する。図17は、実施形態に係る推定したユーザの関心に基づく広告の配信処理の一例を示すフローチャートである。
図17に示すように、広告装置50は、配信装置100から関心情報を取得する(ステップS501)。例えば、広告装置50は、配信装置100から関心情報ES11を取得する。
そして、広告装置50は、端末装置10から広告要求を取得したかどうかを判定する(ステップS502)。端末装置10から広告要求を取得していない場合(ステップS502:No)、広告装置50はステップS502に戻って処理を繰り返す。
一方、端末装置10から広告要求を取得した場合(ステップS502:Yes)、広告装置50は、関心情報に基づいて広告を選択する(ステップS503)。例えば、ユーザU3の端末装置10−3から広告要求を取得した広告装置50は、配信装置100から取得した関心情報ES11を用いて、端末装置10−3へ配信する広告を選択する。
その後、広告装置50は、選択した広告を配信する(ステップS504)。例えば、広告装置50は、配信装置100から取得した関心情報ES11に基づいて選択した広告を端末装置10−3へ配信する。
〔8.類似ユーザの推定〕
上述した例においては、配信装置100がモデルに関する情報に基づいてユーザの関心を推定する場合を示したが、配信装置100は、モデルに関する情報に基づいて、各ユーザに類似するユーザを推定してもよい。この点について、図18及び図19を用いて説明する。図18は、実施形態に係る類似ユーザに基づくモデル割当ての一例を示す図である。
図18の例では、配信装置100は、一のユーザにおけるコンテキストごとのモデルの割当てと、他のユーザにおけるコンテキストごとのモデルの割当てと、モデルに関する情報とに基づいて、一のユーザに類似するユーザを推定する。また、配信装置100は、一のユーザにおいてモデルが未割当のコンテキストに、一のユーザに類似するユーザにおいて当該コンテキストに割り当てられたモデルを割り当てると決定する。
図18に示すクラスタ情報一覧ML21−1は、図9に示すクラスタ情報記憶部124にユーザU21が追加された状態を示す。例えば、ユーザU21は、20代女性のユーザであるものとする。ここで、ユーザ属性の類似性に基づく場合、ユーザU21は、同じ20代女性のユーザU2に類似する。しかし、ユーザU2の各コンテキストに割り当てられたモデルとユーザU21の各コンテキストに割り当てられたモデルは、類似性が低い。
一方、ユーザ属性の類似性に基づく場合、ユーザU21は、30代男性のユーザU3との類似性は低い。しかし、ユーザU21の各コンテキストに割り当てられたモデルは、ユーザU3の各コンテキストに割り当てられたモデル類似性が高い。そのため、配信装置100は、ユーザU21に類似するユーザをユーザU3であると推定する(ステップS31)。このように、配信装置100は、各ユーザのコンテキストに割り当てられたモデルの類似性に基づいて、各ユーザに類似するユーザを推定する。
また、図18では、ユーザU21のコンテキストCT17にはモデルが未割当である。一方、ユーザU3のコンテキストCT17にはモデルM5が割り当てられている。そこで、配信装置100は、モデルが未割当であるユーザU21のコンテキストCT17にユーザU21に類似するユーザU3のコンテキストCT17に割り当てられたモデルM5を割り当てる(ステップS32)。これにより、配信装置100は、クラスタ情報一覧ML21−2に示すように、ユーザU21のコンテキストCT17にモデルM5を割り当てる。
また、配信装置100は、一のユーザにおけるコンテキストごとのモデルの割当てのパターンと、他のユーザにおけるコンテキストごとのモデルの割当てのパターンとに基づいて、一のユーザに類似するユーザを推定してもよい。この点について、図19を用いて説明する。図19は、実施形態に係る類似ユーザに基づくモデル割当ての一例を示す図である。
図19に示すクラスタ情報一覧ML31−1は、図9に示すクラスタ情報記憶部124にユーザU31が追加された状態を示す。例えば、ユーザU21は、30代女性のユーザであるものとする。ここで、ユーザ属性の類似性に基づく場合、ユーザU21は、同じ20代女性のユーザU2や30代男性のユーザU3に類似する。しかし、ユーザU2やユーザU3の各コンテキストに割り当てられたモデルとユーザU21の各コンテキストに割り当てられたモデルは、類似性が低い。
一方、ユーザ属性の類似性に基づく場合、ユーザU21は、20代男性のユーザU4との類似性は低い。しかし、ユーザU21におけるコンテキストごとのモデルの割当てのパターンと、ユーザU4におけるコンテキストごとのモデルの割当てのパターンとの類似性が高い。具体的には、ユーザU4のコンテキストに割り当てられたモデルを、時間帯を1つずつずらした場合、ユーザU31のコンテキストに割り当てられたモデルとの類似性が高い。例えば、ユーザU31のコンテキストに割り当てられたモデルについて、朝の時間帯を昼にずらし、昼の時間帯を夜にずらし、夜の時間帯を深夜にずらし、深夜の時間帯を朝にずらした場合、ユーザU31のコンテキストに割り当てられたモデルとの類似性が高い。つまり、ユーザU31は、ユーザU4と各コンテキスト自体で見た場合、割り当てられているモデルは異なるが、モデルの割当てのパターンは類似している。つまり、ユーザU31は、ユーザU4と生活パターンがずれているが、全体としての傾向が類似しているユーザであると推定される。そのため、配信装置100は、ユーザU31に類似するユーザをユーザU4であると推定する(ステップS33)。このように、配信装置100は、各ユーザのコンテキストに割り当てられたモデルのパターンの類似性に基づいて、各ユーザに類似するユーザを推定する。
また、図19では、ユーザU31のコンテキストCT18にはモデルが未割当である。一方、ユーザU4のコンテキストCT16にはモデルM6が割り当てられている。そこで、配信装置100は、モデルが未割当であるユーザU31のコンテキストCT18にユーザU31に類似するユーザU4のコンテキストCT16に割り当てられたモデルM6を割り当てる(ステップS34)。これにより、配信装置100は、クラスタ情報一覧ML31−2に示すように、ユーザU31のコンテキストCT18にモデルM6を割り当てる。なお、ユーザの類似性は、上記のようなモデル割当てのずれに限らず、種々の傾向に基づいて、推定されてもよい。例えば、一のユーザの家に対応するコンテキストのモデル割当てのパターンと他のユーザのオフィスに対応するコンテキストのモデル割当てのパターンとに、所定の類似性がある場合、配信装置100は、一のユーザは他のユーザに類似すると推定してもよい。例えば、一のユーザの家に対応するコンテキストCT11、CT13、CT15、CT17のモデル割当てのパターンと他のユーザのオフィスに対応するコンテキストCT12、CT14、CT16、CT18のモデル割当てのパターンとに、所定の類似性がある場合、配信装置100は、一のユーザは他のユーザに類似すると推定してもよい。
〔9.効果〕
上述してきたように、実施形態に係る配信装置100は、取得部131と、推定部132とを有する。取得部131は、ユーザごとの行動に関する行動情報であって、コンテキストに基づいて分割された行動情報である分割情報が、当該分割情報の各々に含まれる行動情報の傾向に基づいて組み合わされた情報であり、ユーザ間を跨ぐ組み合わせを含む情報である組合情報ごとに生成され、所定の対象を予測するモデルに関する情報を取得する。推定部132は、取得部131により取得されたモデルに関する情報に基づいて、ユーザに関する情報を推定する。
これにより、実施形態に係る配信装置100は、ユーザ間を跨ぐ組み合わせを含む組合情報ごとに生成されたモデルに関する情報に基づいて、ユーザに関する情報を推定することにより、他のユーザの行動情報も加味したモデルを用いてユーザに関する情報を推定することができる。したがって、配信装置100は、ユーザに関する情報を適切に推定することができる。
また、実施形態に係る配信装置100において、推定部132は、一のユーザにおけるコンテキストごとのモデルの割当てと、モデルに関する情報とに基づいて、一のユーザの関心を推定する。
これにより、実施形態に係る配信装置100は、ユーザにおけるコンテキストごとのモデルの割当て、すなわちユーザにおけるモデルの割当てのパターンと、モデルの重み等の情報とに基づいて、ユーザに関する情報を適切に推定することができる。
また、実施形態に係る配信装置100において、推定部132は、一のユーザにおける一のコンテキストのモデルの割当てと、モデルに関する情報とに基づいて、一のユーザの一のコンテキストにおける関心を推定する。
これにより、実施形態に係る配信装置100は、ユーザにおけるあるコンテキストへ割り当てられるモデルと、そのモデルの重み等の情報とに基づいて、そのコンテキストにおけるユーザの関心を適切に推定することができる。
また、実施形態に係る配信装置100において、推定部132は、一のユーザにおけるコンテキストごとのモデルの割当てと、他のユーザにおけるコンテキストごとのモデルの割当てと、モデルに関する情報とに基づいて、一のユーザに類似するユーザを推定する。
これにより、実施形態に係る配信装置100は、ユーザにおけるコンテキストごとのモデルの割当て、他のユーザにおけるコンテキストごとのモデルの割当て、及びモデルの重み等の情報に基づいて、ユーザに類似する他のユーザを適切に推定することができる。
また、実施形態に係る配信装置100において、推定部132は、一のユーザにおけるコンテキストごとのモデルの割当てのパターンと、他のユーザにおけるコンテキストごとのモデルの割当てのパターンとに基づいて、一のユーザに類似するユーザを推定する。
これにより、実施形態に係る配信装置100は、ユーザにおけるコンテキストごとのモデルの割当てのパターンと、他のユーザにおけるコンテキストごとのモデルの割当てのパターンとに基づいて、ユーザに類似する他のユーザを適切に推定することができる。
また、実施形態に係る配信装置100は、決定部134を有する。決定部134は、一のユーザにおいてモデルが未割当のコンテキストに、一のユーザに類似するユーザにおいて当該コンテキストに割り当てられたモデルを割り当てると決定する。
これにより、実施形態に係る配信装置100は、ユーザにおいてモデルが未割当のコンテキストに、ユーザに類似する他のユーザにおいてそのコンテキストに割り当てられたモデルを割り当てることにより、ユーザのコンテキストに適切なモデルを割り当てることができる。
また、実施形態に係る配信装置100において、推定部132は、複数台の端末装置10から一のユーザとして識別されるユーザに関する行動情報が収集される場合において、モデルに関する情報に基づいて、一のユーザとして識別されるユーザが一の端末装置10を利用するユーザと他の端末装置10を利用するユーザとにおいて異なるユーザであるかを推定する。
これにより、実施形態に係る配信装置100は、複数台の端末装置10から一のユーザとして識別されるユーザに関する行動情報が収集される場合において、モデルに関する情報に基づいて、一のユーザとして識別されるユーザが一の端末装置10を利用するユーザと他の端末装置10を利用するユーザとにおいて異なるユーザであるかを推定することにより、一人のユーザとして識別されていた複数のユーザを適切に分離することができる。
また、実施形態に係る配信装置100において、推定部132は、一のユーザにおけるコンテキストごとのモデルの割当てと、モデルに関する情報とに基づいて、一のユーザの行動情報に他のユーザの行動情報が含まれるかを推定する。
これにより、実施形態に係る配信装置100は、ユーザにおけるコンテキストごとのモデルの割当てと、モデルに関する情報とに基づいて、一のユーザの行動情報に他のユーザの行動情報が含まれるかを推定することにより、一人のユーザとして識別されていた複数のユーザを適切に分離することができる。
また、実施形態に係る配信装置100において、推定部132は、モデルに関する情報として、各モデルに含まれる素性の重みに基づいて、ユーザに関する情報を推定する。
これにより、実施形態に係る配信装置100は、モデルに関する情報として、各モデルに含まれる素性の重みに基づくことにより、ユーザに関する情報を適切に推定することができる。
〔10.ハードウェア構成〕
上述してきた実施形態に係る配信装置100は、例えば図20に示すような構成のコンピュータ1000によって実現される。図20は、配信装置の機能を実現するコンピュータの一例を示すハードウェア構成図である。コンピュータ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を介して他の機器からデータを受信して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を介してこれらのプログラムを取得してもよい。
以上、本願の実施形態及び変形例のいくつかを図面に基づいて詳細に説明したが、これらは例示であり、発明の開示の行に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。
〔11.その他〕
また、上記実施形態及び変形例において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、各図に示した各種情報は、図示した情報に限られない。
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
また、上述してきた実施形態及び変形例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
また、上述してきた「部(section、module、unit)」は、「手段」や「回路」などに読み替えることができる。例えば、取得部は、取得手段や取得回路に読み替えることができる。