以下に、本願に係る判定装置、判定方法、及び判定プログラムを実施するための形態(以下、「実施形態」と呼ぶ)について図面を参照しつつ詳細に説明する。なお、この実施形態により本願に係る判定装置、判定方法、及び判定プログラムが限定されるものではない。また、以下の各実施形態において同一の部位には同一の符号を付し、重複する説明は省略される。
(実施形態)
〔1.判定処理〕
まず、図1を用いて、実施形態に係る判定処理の一例について説明する。図1は、実施形態に係る判定処理の一例を示す図である。図1の(A)は、既存ユーザに関する判定処理を示し、図1の(B)は、新規ユーザに関する変更処理を示す。図1に示す例において、クラスタ情報一覧ML11は、図2に示す配信システム1における生成処理により、各ユーザのコンテキストにおけるコンテンツへの関心を予測するモデルが生成された場合のクラスタリングに関する情報を示す。具体的には、図1の(A)中のクラスタ情報一覧ML11−1は、一のユーザと一のコンテキストとが交差する領域であるマス(以下、「マスMS」とする場合がある)にモデルM1〜M6等のうち、どのモデルが割り当てられたかを示す。なお、ここでいうコンテキストとは、ユーザが置かれた環境等を含むユーザの状態や状況に対応するが、詳細は後述する。
図1の(A)中のクラスタ情報一覧ML11−1は、クラスタ情報記憶部124(図9参照)に対応し、各マスMS中に図示するM1〜M6によって示される6つのクラスタを含むことを示す。例えば、各モデルM1〜M6は、分割情報記憶部123(図8参照)に記憶された各マスMS中に図示するM1〜M6に対応する分割情報に基づいて生成される。なお、詳細は後述するが、ここでいう分割情報とは、ユーザの行動情報がコンテキストごとに分割された情報を意味する。例えば、行動情報は、各ユーザにコンテンツを配信し、配信したコンテンツに対する各ユーザの行動の有無を示す情報である。また、クラスタ情報一覧ML11−1中のマスMSにおいて、M1〜M6の符号が図示されていないマスMSについては、所定の手法により生成されたモデルが割り当てられるが、詳細は後述する。
例えば、図1の(A)では、ユーザU1のコンテキストCT11に対応するマスMS、ユーザU2のコンテキストCT15に対応するマスMS、ユーザU2のコンテキストCT17に対応するマスMS、及びユーザU4のコンテキストCT13に対応するマスMSには同じモデルM1が割り当てられることを示す。すなわち、上記4つのマスMSに含まれる分割情報を組み合わせた組合情報を用いて、モデルM1が生成されたことを示す。また、モデルM1に関するモデル情報は、学習情報記憶部125(図10参照)に示すように、素性1の重みが「0.5」、素性2の重みが「−0.4」、素性3の重みが「0.2」等であることを示す。例えば、配信システム1は、ユーザU1が朝に家(自宅)にいる場合に対応するコンテキストCT11においてコンテンツの配信を要求した場合、モデルM1を用いてユーザU1に配信するコンテンツを決定する。
例えば、配信装置100(図5参照)は、ユーザに割り当てられたモデルの予測精度に応じて、ユーザのコンテキストに関する情報、または当該ユーザのユーザ属性に関する情報を変更するかを判定する。ここでいう予測精度とは、ユーザの行動の有無を予測できる確率をいう。図1の例では、予測精度がユーザのコンテストに対応するモデルを用いてコンテンツを配信した場合において、ユーザが配信したコンテンツを選択(クリック)する確率である場合を示す。また、ここでいうコンテキストに関する情報は、例えば、分割情報記憶部123中の各マスMSに割り当てられた分割情報や、クラスタ情報記憶部124中の各マスMSに割り当てられたモデルに関する情報が含まれてもよい。また、ここでいうユーザ属性に関する情報は、例えば、ユーザ情報記憶部121中の各ユーザに関する情報が含まれてもよい。なお、以下では、予測精度が低である個数が0であることを予測精度に関する所定の条件とする。
図1の(A)に示すように、クラスタ情報一覧ML11−1では、ユーザU1のコンテキストCT11における予測精度と、ユーザU1のコンテキストCT12における予測精度とが低であるとする。なお、ここでいう予測精度が低であるとは、対応するユーザ及びコンテキストの組み合わせにおけるモデルの予測精度が所定の閾値(例えば、75%等)未満である場合をいう。すなわち、図1の(A)では、ユーザU1のコンテキストCT11においてモデルM1を用いて、ユーザU1にコンテンツを配信した場合に予測精度が低であることを示す。また、図1の(A)では、ユーザU1が朝にオフィスにいる場合に対応するコンテキストCT12においてモデルM2を用いて、ユーザU1にコンテンツを配信した場合に予測精度が低であることを示す。
上述のように、ユーザU1のコンテキストCT11に割り当てられたモデルM1及びコンテコストCT12に割り当てられたモデルM2の2つのモデルの予測精度が低であるため、配信装置100(図5参照)は、ユーザU1のコンテキストに関する情報、またはユーザU1のユーザ属性に関する情報を変更すると判定する。なお、図1の(A)では、配信装置100は、ユーザU1のコンテキストに関する情報を変更すると判定する場合を示す。ここで、コンテキストCT11は朝の家に対応し、コンテコストCT12は朝のオフィスに対応するため、コンテキストCT11及びコンテキストCT12は、時間帯が朝で共通する。そのため、配信装置100は、ユーザU1のコンテキストに関する情報が入替え可能であるとして、ユーザU1のコンテキストに関する情報を入れ替えると判定する。
図1の(A)では、上述した判定により、配信装置100は、クラスタ情報一覧ML11−1において、ユーザU1の家とオフィスとを入れ替えることにより、コンテキストの変更を行う(ステップS1)。具体的には、配信装置100は、ユーザU1のコンテキストCT11に割り当てられたモデルM1とコンテキストCT12に割り当てられたモデルM2とを入れ替える(ステップS1−1)。この場合、配信装置100は、ユーザU1の他のコンテキストCT13〜CT18に割り当てられたモデルの入替えを行ってもよい。例えば、配信装置100は、ユーザU1のコンテキストCT13に割り当てられたモデルM3とコンテキストCT14に割り当てられたモデルとを入れ替えてもよい(ステップS1−2)。また、例えば、配信装置100は、ユーザU1のコンテキストCT15に割り当てられたモデルM5とコンテキストCT16に割り当てられたモデルM4とを入れ替えてもよい(ステップS1−3)。また、例えば、配信装置100は、ユーザU1のコンテキストCT17に割り当てられたモデルとコンテキストCT18に割り当てられたモデルM2とを入れ替えてもよい(ステップS1−4)。
ステップS1のコンテキスト変更により、図1の(A)中のクラスタ情報一覧ML11−2に示すように、ユーザU1のコンテキストに関する情報として、ユーザU1に対応する各マスMSに割り当てられたモデルが変更される。そして、図1の(A)では、ユーザU1のコンテキストCT11においてモデルM2を用いて、ユーザU1にコンテンツを配信した場合に予測精度が高であることを示す。また、図1の(A)では、ユーザU1のコンテキストCT12においてモデルM1を用いて、ユーザU1にコンテンツを配信した場合に予測精度が高であることを示す。なお、ここでいう予測精度が高であるとは、対応するユーザ及びコンテキストの組み合わせにおけるモデルの予測精度が所定の閾値(例えば、75%等)以上である場合をいう。なお、図1の(A)では、ステップS1−2〜S1−4で入れ替えたモデルについても予測精度が向上したものとする。
このように、配信装置100は、ユーザU1のコンテキストに関する情報として、ユーザU1に対応する各マスMSに割り当てられたモデルが変更されることにより、ユーザU1の各コンテキストにおける予測精度が向上したため、変更を維持する。なお、配信装置100は、変更により予測精度が低下した場合、変更を解除して、元の状態に戻してもよい。なお、上記の例では、モデルの予測精度が所定の条件を満たさない場合を、ユーザ及びコンテキストの組み合わせにおけるモデルの予測精度が所定の閾値以上でない場合として説明したが、所定の条件は目的や用途に応じて適宜設定されてもよい。例えば、配信装置100は、モデルの予測精度の全体の傾向に基づいて判定したり、ユーザごとの予測精度の履歴に基づいて判定したりしてもよい。例えば、所定の条件は、あるユーザにコンテキストごとに割り当てられたモデルのうち、全コンテキストの予測精度の平均から所定の範囲内である場合であってもよい。例えば、配信装置100は、あるユーザにおいて、一のコンテキストの予測精度が全コンテキストの予測精度の平均から所定値以上乖離している場合、ユーザのコンテキストに関する情報、またはユーザのユーザ属性に関する情報を変更すると判定してもよい。例えば、配信装置100は、よく行く場所と自宅に関するコンテキストの予測精度は高く(例えば、80%以上)、オフィスに関するコンテキストの予測精度は低い(例えば、60%未満)場合、ユーザのオフィス(勤務地)に関する情報を変更すると判定してもよい。また、所定の条件は、あるユーザにおける予測精度の時間経過に伴う変動が所定の範囲内である場合であってもよい。例えば、配信装置100は、あるユーザにおいて、一のコンテキストの予測精度が、ある時点において高く(例えば、90%以上)、その後の時点において低い(例えば、80%未満)場合、ユーザのコンテキストに関する情報、またはユーザのユーザ属性に関する情報を変更すると判定してもよい。例えば、配信装置100は、あるユーザにおいて、家に関するコンテキストの予測精度が、ある時点の予測精度(例えば、90%)から、その後所定の閾値以上(例えば10%以上)低下した予測精度(例えば、75%)になった場合、ユーザが引っ越ししたと推定し、ユーザの家(自宅)に関する情報を変更すると判定してもよい。例えば、配信装置100は、行動情報を別コンテキストで分割し直して、その場合の予測精度との差異で判定してもよい。例えば、配信装置100は、クラスタ情報一覧ML11−1等に基づく予測精度と、運動状態等に基づくコンテキストに応じて行動情報を分割してモデルを生成した場合の予測精度とを比較し、運動状態等に基づくモデルの予測精度よりもクラスタ情報一覧ML11−1等に基づく予測精度が所定の閾値以上低い場合、ユーザのコンテキストに関する情報、またはユーザのユーザ属性に関する情報を変更すると判定してもよい。なお、上記は一例であり、配信装置100は、どのような条件に基づいて、ユーザのコンテキストに関する情報、またはユーザのユーザ属性に関する情報を変更すると判定してもよい。
次に、図1の(B)に示す例を用いて、配信装置100が、新規ユーザのコンテキストに関する情報、または新規ユーザのユーザ属性に関する情報を変更するかを判定する場合を示す。なお、ここでいう新規ユーザとは、モデル生成後に追加されたユーザや自身の行動情報が十分でないユーザであり、他のユーザに割り当てられたモデルが割り当てられるユーザを意味する。
図1の(B)中のクラスタ情報一覧ML12−1は、一のユーザと一のコンテキストとが交差する領域であるマス(以下、「マスMS」とする場合がある)にモデルM1〜M6等のうち、どのモデルが割り当てられたかを示す。
図1の(B)中のクラスタ情報一覧ML12−1は、図1の(A)中のクラスタ情報一覧ML11−1に新規ユーザU10が追加されたクラスタ情報を示す。また、新規ユーザU10は、自身の行動情報が十分でないユーザであり、ユーザ属性に関する情報である性別が「男」、年齢が「20代」と登録されているものとする。
図1の(B)では、配信装置100は、新規ユーザU10の各コンテキストCT11〜CT18に、新規ユーザU10のユーザ属性に類似するユーザU1とユーザU4に割り当てられたモデルを割り当てる。例えば、配信装置100は、新規ユーザU10のコンテキストCT11に、ユーザU1のコンテキストCT11に割り当てられたモデルM1とユーザU3のコンテキストCT11に割り当てられたモデルM3とを合成したモデルM1−3を割り当てる。なお、モデルの合成についての詳細は後述する。また、例えば、配信装置100は、新規ユーザU10のコンテキストCT12に、ユーザU1のコンテキストCT12に割り当てられたモデルM2を割り当てる。このようにして、配信装置100は、新規ユーザU10の各コンテキストCT11〜CT18にモデルを割り当てる。
図1の(B)に示すように、クラスタ情報一覧ML12−1では、ユーザU10のコンテキストCT14における予測精度が低であるとする。すなわち、図1の(B)では、ユーザU10のコンテキストCT14においてモデルM3−6を用いて、ユーザU10にコンテンツを配信した場合に予測精度が低であることを示す。
上述のように、ユーザU10のコンテキストCT14に割り当てられたモデルM3−6の予測精度が低であるため、配信装置100は、ユーザU10のコンテキストに関する情報、またはユーザU10のユーザ属性に関する情報を変更すると判定する。なお、図1の(B)では、配信装置100は、ユーザU10のユーザ属性に関する情報を変更すると判定する場合を示す。
図1の(B)では、上述した判定により、配信装置100は、クラスタ情報一覧ML12−1において、ユーザU10のユーザ属性のうち、性別を「男」から「女」へ変更することにより、ユーザ属性の変更を行う(ステップS2)。これにより、新規ユーザU10が類似するユーザが、ユーザU1及びユーザU4から、20代女性であるユーザU2に変更される。そのため、配信装置100は、新規ユーザU10の各コンテキストCT11〜CT18に、新規ユーザU10のユーザ属性に類似するユーザU2に割り当てられたモデルを割り当てる。
ステップS2のユーザ属性変更により、図1の(B)中のクラスタ情報一覧ML12−2に示すように、ユーザU10に対応する各マスMSに割り当てられたモデルが変更される。具体的には、新規ユーザU10のコンテキストCT12に割り当てられたモデルは、モデルM2からモデルM6に変更される。また、新規ユーザU10のコンテキストCT14に割り当てられたモデルは、モデルM3−6からモデルM2に変更される。
そして、図1の(B)では、ユーザU10のコンテキストCT14においてモデルM2を用いて、ユーザU10にコンテンツを配信した場合に予測精度が高であることを示す。なお、図1の(B)では、新規ユーザU10における他のコンテキストに割り当てられたモデルについても予測精度が向上したものとする。
このように、配信装置100は、新規ユーザU10のユーザ属性の変更に応じて、ユーザU10に対応する各マスMSに割り当てられたモデルが変更されることにより、ユーザU10の各コンテキストにおける予測精度が向上したため、変更を維持する。なお、配信装置100は、変更により予測精度が低下した場合、変更を解除して、元の状態に戻してもよい。
上述のように、配信装置100は、ユーザに割り当てられたモデルの予測精度が所定の条件を満たさない場合、ユーザのコンテキストに関する情報、またはユーザのユーザ属性に関する情報を変更すると判定する。これにより、配信装置100は、コンテキストに基づくモデルの予測精度によりユーザに関する情報を適切に変更可能にすることができる。また、配信装置100は、各ユーザの家(自宅)やオフィス(勤務地)の信頼度に関するスコアを算出してもよい。例えば、配信装置100は、家とオフィスを入れ替えた場合における入替え前後の予測精度に基づいて算出されたスコアに応じて、家(自宅)やオフィス(勤務地)の信頼度を判定してもよい。例えば、配信装置100は、家とオフィスを入れ替える前の家に関するコンテキスト(例えば、コンテキストCT11、CT13、CT15、CT17等)の予測精度の平均値を入替前スコアとして算出する。また、例えば、配信装置100は、家とオフィスを入れ替えた後の家に関するコンテキストの予測精度の平均値を入替後スコアとして算出する。そして、配信装置100は、入替前スコアを入替後スコアで除算した値を家(自宅)の信頼性に関する信頼スコアとして、自宅として設定された位置の信頼度を判定してもよい。この場合、信頼スコアは、入替前スコアが入替後スコアよりも大きい程、大きな値となる。すなわち、配信装置100は、家とオフィスを入れ替える前の家に関するコンテキストの予測精度の方が高いことを示す。したがって、配信装置100は、信頼スコアが大きい程、自宅として設定された位置の信頼度が高いと判定する。そのため、配信装置100は、自宅の信頼スコアが所定の閾値以上である場合、自宅の位置の設定を維持し、自宅の信頼スコアが所定の閾値未満である場合、自宅の位置の設定を変更してもよい。例えば、配信装置100は、自宅の位置とオフィスの位置を入れ替えてもよいし、自宅に位置を複数の候補から選択してもよい。なお、複数の候補から選択する場合についての詳細は後述する。
例えば、配信装置100は、各ユーザのコンテキストに関する情報の信頼性、または各ユーザのユーザ属性に関する情報の信頼性に基づいて、コンテキストに関する情報、またはユーザ属性に関する情報を変更するユーザを判定してもよい。例えば、ユーザがクレジットカードの審査等を受けたユーザである場合、配信装置100は、ユーザの年齢、性別、自宅、勤務地等に関する情報を信頼性が高いとして、変更の対象としなくてもよい。また、例えば、ユーザがユーザ情報の登録の際に初期表示される情報のまま、ユーザ情報の登録を行った場合、配信装置100は、そのユーザについて登録された情報を信頼性が低いとして、優先した変更の対象としてもよい。例えば、ユーザがユーザ情報の登録の際に生年月日を初期表示される情報のまま登録を行った場合、配信装置100は、そのユーザについて登録された年齢を信頼性が低いとして、優先した変更の対象としてもよい。
〔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の管理者等が設定してもよいし、モデル生成の処理において抽出されてもよい。例えば、素性は、「経済」や「スマホ」や「サッカー」等の文字列(キーワード)であってもよい。また、各モデルの素性は、同じであってもよいし、異なってもよい。
また、配信装置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−1.配信処理(変更前)〕
次に、図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等を順次表示させる。なお、ユーザU1は、端末装置10−1に表示された記事E、記事G、記事A、記事Fを選択(クリック)しなかった、すなわち、ユーザU1のコンテキストCT12においてモデルM2を用いた予測精度が低いものとして、以下説明する。
〔2−2−2.配信処理(変更後)〕
次に、図4を用いて、実施形態に係る配信処理の一例について説明する。図4は、実施形態に係るコンテキスト変更後の配信処理の一例を示す図である。具体的には、図4は、図3に示すクラスタ情報記憶部124からユーザU1の家とオフィスとを入れ替えることにより、コンテキストの変更を行い、クラスタ情報記憶部124−2に変更された場合を示す。図4は、クラスタ情報記憶部124−2は、図1中のクラスタ情報一覧ML11−2に対応し、ユーザU1の各コンテキストCT11〜CT18へのモデル割当てが変更された状態を示す。
図4中に示すモデル情報MD12には、クラスタ情報記憶部124−2に示すような各マスMSに含まれる分割情報のクラスタリングに関する情報が含まれる。また、モデル情報MD12には、学習情報記憶部125に示すようなクラスタごとに生成されたモデルM1〜M6に関する情報が含まれる。例えば、クラスタ情報記憶部124−2は、ユーザU1のコンテキストCT11に割り当てられたモデルM1とコンテキストCT12に割り当てられたモデルM2とを入れ替えられ、ユーザU1のコンテキストCT11にモデルM2が割り当てられ、コンテキストCT12にモデルM1が割り当てられる。
まず、配信装置100は、ユーザU1が利用する端末装置10−1からコンテンツの配信要求を取得する(ステップS21)。図4では、ステップS21は、時間が朝9時であり、端末装置10−1の場所(位置)が位置LC12−2である状況において行われたものとする。
端末装置10−1からコンテンツの配信要求を取得した配信装置100は、端末装置10−1へ配信するコンテンツを決定するモデルを決定する(ステップS22)。配信装置100は、端末装置10−1から取得したユーザU1を識別する情報により、配信要求元がユーザU1であると推定する。そして、配信装置100は、ユーザ情報記憶部121に記憶されたユーザU1のユーザ情報と端末装置10−1の位置LC12−2とに基づいて、ユーザU1がいる場所を推定する。図4では、ユーザ情報記憶部121に示すようにユーザU1の勤務地が位置LC12であり、端末装置10−1の位置が位置LC12−2であるため、配信装置100は、ユーザU1がオフィス(勤務地)にいると推定する。
そして、配信装置100は、ステップS21において配信要求がされた時間が朝9時であるため、コンテキストを朝のオフィスに対応するコンテキストCT12と推定する。その後、配信装置100は、学習情報記憶部125中のユーザU1及びコンテキストCT12に対応するマスMSに記憶されたモデルM1を示す情報に基づいて、配信するコンテンツの決定に用いるモデルをモデルM1に決定する。
例えば、配信装置100は、決定したモデルM1を用いて、コンテンツ情報記憶部126(図11参照)に記憶された各コンテンツのスコアを算出する。具体的には、配信装置100は、コンテンツ情報記憶部126に記憶された各コンテンツCN11(記事A)〜コンテンツCN18(記事H)等のタイトルや記事本文等の文字情報や画像情報とモデルM1とを用いて、各コンテンツCN11〜CN18等のスコアを算出する。図4では、配信装置100は、コンテンツ一覧CL12に示すような各コンテンツCN11〜CN18等のスコアを算出する。例えば、配信装置100は、記事AであるコンテンツCN11のスコアを「1.2」と算出する。また、例えば、配信装置100は、記事BであるコンテンツCN12のスコアを「3.2」と算出する。
そして、配信装置100は、コンテンツ一覧CL12に示すスコアに基づいて各コンテンツCN11〜CN18等の順位を決定する(ステップS23)。図4では、配信装置100は、コンテンツ一覧CL12に示すスコアが高い方から順に各コンテンツCN11〜CN18等の順位を決定する。具体的には、配信装置100は、スコアの最も高いコンテンツCN13である記事Cの順位を1位に決定する。また、配信装置100は、記事Cの次にスコアの高いコンテンツCN18である記事Hの順位を2位に決定する。これにより、配信装置100は、順位一覧LL12に示すように、順位1位が記事Cであり、順位2位が記事Hであり、順位3位が記事Fであり、順位4位が記事Bであると決定する。
その後、配信装置100は、順位一覧LL12に示すコンテンツを端末装置10−1へ配信する(ステップS24)。具体的には、記事C、記事H、記事F、記事B等の順で表示されるコンテンツを端末装置10−1へ配信する。そして、順位一覧LL12に示すコンテンツを受信した端末装置10−1は、コンテンツを表示する(ステップS25)。図4では、端末装置10−1は、順位一覧LL12に示すコンテンツのうち順位が上位のコンテンツである記事C、記事H、記事F、記事Bを表示する。そして、ユーザU1は、予測精度の高いモデルM1に基づいて配信された記事Cを選択(クリック)する(ステップS26)。
上述したように、配信装置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は、上述のように予測を行う対象に応じてモデルを生成してもよい。なお、本実施形態においては、配信装置100がモデルの生成や変更を行う場合を例に示したが、配信装置100は、モデルを用いたコンテンツの配信結果に基づいて、ユーザのコンテキストに関する情報、またはユーザのユーザ属性に関する情報の変更を行うかの判定を行ってもよい。この場合、例えば、配信装置100とは他の外部装置がモデルの生成や変更を行ってもよい。例えば、配信装置100は、判定結果を他の外部装置へ送信し、配信装置100から判定結果を取得した他の外部装置がユーザのコンテキストに関する情報、またはユーザのユーザ属性に関する情報の変更を行い、モデルを生成してもよい。また、配信装置100は、ユーザのコンテキストに関する情報、またはユーザのユーザ属性に関する情報の変更を行うかの判定のみを行う判定装置であってもよい。この場合、配信装置100とは他の外部装置が、変更されたユーザのコンテキストに関する情報や変更されたユーザのユーザ属性に関する情報に基づいて生成されたモデルを用いてコンテンツの配信を行ってもよい。すなわち、配信システム1は、どのような装置構成であってもよい。
〔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とを有する。
(ユーザ情報記憶部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は、各モデルにより算出されたコンテンツのスコアを記憶してもよい。
(制御部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と、配信部136とを有し、以下に説明する情報処理の機能や作用を実現または実行する。なお、制御部130の内部構成は、図5に示した構成に限られず、後述する情報処理を行う構成であれば他の構成であってもよい。また、制御部130が有する各処理部の接続関係は、図5に示した接続関係に限られず、他の接続関係であってもよい。
(取得部131)
取得部131は、ユーザの行動情報を取得する。取得部131は、ユーザが利用する端末装置10からユーザの行動情報を取得する。また、取得部131は、ユーザに関するユーザ情報を取得する。また、取得部131は、ユーザに関する区分ごとのユーザの行動に関する行動情報であって、コンテキストに基づいて分割された行動情報である分割情報を取得する。例えば、取得部131は、分割情報記憶部123から分割情報を取得する。また、取得部131は、区分として、ユーザ、またはユーザ属性に基づく分類ごとのユーザの行動に関する行動情報が、コンテキストに基づいて分割された分割情報を取得する。
また、取得部131は、端末装置10からコンテンツの配信要求を取得する。また、取得部131は、ユーザを識別する情報(例えば、ログインIDや端末識別情報等)や端末装置10の位置情報等を取得する。
また、取得部131は、ユーザごとの行動に関する行動情報であって、コンテキストに基づいて分割された行動情報である分割情報が、当該分割情報の各々に含まれる行動情報の傾向に基づいて組み合わされた情報である組合情報ごとに生成されたモデルであって、所定の対象を予測するモデルを取得する。例えば、取得部131は、クラスタ情報記憶部124や学習情報記憶部125からモデルに関する情報を取得する。また、取得部131は、ユーザが新規ユーザである場合、新規ユーザのユーザ属性に類似する他のユーザにおけるコンテキストごとのモデルの割当てに対応して新規ユーザに割り当てられたモデルを取得する。
(推定部132)
推定部132は、取得した各種情報から種々の情報を推定する。例えば、推定部132は、コンテンツを配信した時刻や端末装置10から取得したユーザの位置情報に基づいて種々の情報を推定する。例えば、推定部132は、端末装置10から取得したユーザを識別する情報により、配信要求元のユーザを推定する。例えば、推定部132は、ユーザ情報記憶部121に記憶されたユーザのユーザ情報と端末装置10の位置とに基づいて、ユーザがいる場所を推定する。図3では、推定部132は、ユーザ情報記憶部121に示すようにユーザU1の勤務地が位置LC12であり、端末装置10−1の位置が位置LC12−1であるため、ユーザU1がオフィス(勤務地)にいると推定する。また、図3では、推定部132は、配信要求がされた時間が朝9時であるため、コンテキストを朝のオフィスに対応するコンテキストCT12と推定する。
また、推定部132は、一の区分がユーザである場合において、ユーザの各分割情報が含まれる組合情報と、他の区分の各分割情報が含まれる組合情報との類似度に基づいて、ユーザのユーザ属性を推定する。
(生成部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に決定する。図4では、決定部134は、クラスタ情報記憶部124−2中のユーザU1及びコンテキストCT12に対応するマスMSに記憶されたモデルM1を示す情報に基づいて、配信するコンテンツの決定に用いるモデルをモデルM1に決定する。
例えば、決定部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であると決定する。図4では、決定部134は、コンテンツ一覧CL12に示すスコアに基づいて各コンテンツCN11〜CN18等の順位を決定する。
(判定部135)
判定部135は、取得部131により取得されたモデルによる、組合情報に含まれる分類情報の各々に対応するコンテキストにおける当該分類情報に対応するユーザに関する所定の対象の予測精度に応じて、当該ユーザのコンテキストに関する情報、または当該ユーザのユーザ属性に関する情報を変更するかを判定する。例えば、判定部135は、一のユーザに割り当てられたモデルの予測精度が所定の条件を満たさない場合、一のユーザのコンテキストに関する情報、または一のユーザのユーザ属性に関する情報を変更すると判定する。図1では、判定部135は、ユーザU1のコンテキストCT11に割り当てられたモデルM1及びコンテコストCT12に割り当てられたモデルM2の2つのモデルの予測精度が低であるため、ユーザU1のコンテキストに関する情報、またはユーザU1のユーザ属性に関する情報を変更すると判定する。また、判定部135は、判定結果に応じて、ユーザのコンテキストに関する情報、または当該ユーザのユーザ属性に関する情報を変更する。
例えば、判定部135は、一のユーザのユーザ属性に関する情報が複数の候補がある場合、各候補を割り当てた予測精度に基づいて、一のユーザのユーザ属性に関する情報をいずれの候補に変更するかを判定する。この点についての詳細は後述する。また、例えば、判定部135は、一のユーザのコンテキストに関する情報が入替え可能である場合、一のユーザのコンテキストに関する情報を入れ替えると判定する。図1では、判定部135は、ユーザU1のコンテキストに関する情報が入替え可能であるとして、ユーザU1のコンテキストに関する情報を入れ替えると判定する。
例えば、判定部135は、各ユーザのコンテキストに関する情報の信頼性、または各ユーザのユーザ属性に関する情報の信頼性に基づいて、コンテキストに関する情報、またはユーザ属性に関する情報を変更するユーザを判定する。例えば、判定部135は、ユーザがクレジットカードの審査等を受けたユーザである場合、ユーザの年齢、性別、自宅、勤務地等に関する情報を信頼性が高いとして、変更の対象としないと判定してもよい。また、例えば、ユーザがユーザ情報の登録の際に初期表示される情報のまま、ユーザ情報の登録を行った場合、判定部135は、そのユーザについて登録された情報を信頼性が低いとして、優先した変更の対象と判定してもよい。例えば、ユーザがユーザ情報の登録の際に生年月日を初期表示される情報のまま登録を行った場合、判定部135は、そのユーザについて登録された年齢を信頼性が低いとして、優先した変更の対象と判定してもよい。
例えば、判定部135は、新規ユーザに割り当てられたモデルの予測精度が所定の条件を満たさない場合、新規ユーザのコンテキストに関する情報、または新規ユーザのユーザ属性に関する情報を変更すると判定する。図1では、判定部135は、ユーザU10のコンテキストCT14に割り当てられたモデルM3−6の予測精度が低であるため、配信装置100は、ユーザU10のコンテキストに関する情報、またはユーザU1のユーザ属性に関する情報を変更すると判定する。
(配信部136)
配信部136は、端末装置10に各種情報を配信する。例えば、配信部136は、端末装置10にコンテンツを配信する。また、配信部136は、決定部134により決定されたコンテンツを配信する。図3では、配信部136は、順位一覧LL11に示すコンテンツを端末装置10−1へ配信する。また、配信部136は、記事E、記事G、記事A、記事F、等の順で表示されるコンテンツを端末装置10−1へ配信する。また、図4では、配信部136は、順位一覧LL12に示すコンテンツを端末装置10−1へ配信する。
〔4.生成処理のフロー〕
〔4−1.クラスタ数を設定しない手法〕
次に、図12を用いて、実施形態に係る配信システム1による生成処理の手順について説明する。図12は、実施形態に係る生成処理の一例を示すフローチャートである。具体的には、図12は、クラスタ数(組合情報数)を決定しない手法による生成処理の一例を示すフローチャートである。
図12に示すように、配信装置100の取得部131は、各ユーザの行動情報を取得する(ステップS101)。例えば、取得部131は、各ユーザが利用する端末装置10からユーザの行動情報を取得する。
また、配信装置100の生成部133は、コンテキストに応じて情報を分割する(ステップS102)。例えば、生成部133は、行動情報を取得した際のコンテキストに応じて、行動情報を分割した分割情報を生成する。なお、ステップS101とステップS102は、複数回に亘って行われてもよい。
その後、生成部133は、クラスタ数を決定しない手法により、分割情報のクラスタリング及びモデルの生成を行う(ステップS103)。例えば、生成部133は、ディリクレ過程を用いたロジスティック回帰の手法を用いて分割情報が組み合わされた組合情報ごとにモデルを生成する。
〔4−2.クラスタ数を設定する手法〕
次に、図13を用いて、実施形態に係る配信システム1による生成処理の手順について説明する。図13は、実施形態に係る生成処理の一例を示すフローチャートである。具体的には、図13は、クラスタ数(組合情報数)を予め設定(決定)する手法による生成処理の一例を示すフローチャートである。
図13に示すように、配信装置100の取得部131は、各ユーザの行動情報を取得する(ステップS201)。例えば、取得部131は、各ユーザが利用する端末装置10からユーザの行動情報を取得する。
また、配信装置100の生成部133は、コンテキストに応じて情報を分割する(ステップS202)。例えば、生成部133は、行動情報を取得した際のコンテキストに応じて、行動情報を分割した分割情報を生成する。なお、ステップS201とステップS202は、複数回に亘って行われてもよい。
また、配信装置100の決定部134は、クラスタ数(組合情報数)を設定(決定)する(ステップS203)。例えば、決定部134は、クラスタ数(組合情報数)を「6」に設定(決定)する。なお、ステップS203の処理は、ステップS204よりも前であれば、いずれのタイミングで行われてもよい。
その後、生成部133は、クラスタ数を決定する手法により、分割情報のクラスタリング及びモデルの生成を行う(ステップS204)。例えば、生成部133は、k−means法を用いて分割情報が組み合わされた組合情報ごとにモデルを生成する。
〔5.配信処理のフロー〕
次に、図14を用いて、実施形態に係る配信システム1による配信処理の手順について説明する。図14は、実施形態に係る配信処理の一例を示すフローチャートである。
図14に示すように、配信装置100の取得部131は、配信要求を取得する(ステップS301)。例えば、取得部131は、各ユーザが利用する端末装置10からコンテンツの配信要求を取得する。
そして、配信装置100の推定部132は、ユーザ及びコンテキストを推定する(ステップS302)。例えば、推定部132は、端末装置10から取得したユーザを識別する情報により、配信要求元のユーザを推定する。また、例えば、推定部132は、配信要求がされた時刻や端末装置10の位置に基づいて、コンテキストを推定する。
その後、配信装置100の決定部134は、モデルを決定する(ステップS303)。例えば、決定部134は、端末装置10へ配信するコンテンツを決定するモデルを決定する。
そして、決定部134は、コンテンツの順位を決定する(ステップS304)。例えば、決定部134は、ステップS303において決定したモデルとコンテンツとに基づいて、コンテンツのスコアを算出する。また、例えば、決定部134は、算出したスコアに基づいて各コンテンツの順位を決定する。
その後、配信装置100の配信部136は、順位に基づいてコンテンツを配信する(ステップS305)。例えば、配信部136は、ステップS304において決定した順位に基づいてコンテンツを配信する。
〔6.判定処理のフロー〕
次に、図15を用いて、実施形態に係る配信システム1による判定処理の手順について説明する。図15は、実施形態に係る判定処理の一例を示すフローチャートである。
図15に示すように、配信装置100の配信部136は、コンテキストに基づくモデルを用いてコンテンツを配信する(ステップS401)。例えば、配信装置100は、図14に示すステップS301〜S305の処理によりコンテンツを配信する。
そして、配信装置100の判定部135は、所定のユーザの予測精度が所定の条件を満たさないかどうかを判定する(ステップS402)。所定のユーザの予測精度が所定の条件を満たす場合(ステップS402:No)、配信装置100はステップS401に戻って処理を繰り返す。
一方、所定のユーザの予測精度が所定の条件を満たさない場合(ステップS402:Yes)、判定部135は、判定対象となった所定のユーザのユーザ属性またはコンテキストに割り当てられたモデルを変更する(ステップS403)。すなわち、判定部135は、判定対象となった所定のユーザのコンテキストに関する情報、または当該ユーザのユーザ属性に関する情報を変更する。
その後、判定部135は、変更後の予測精度が所定の条件を満たすかどうかを判定する(ステップS404)。なお、ステップS402とS404における所定の条件は同じであってもよいし、異なってもよい。所定のユーザの予測精度が所定の条件を満たさない場合(ステップS402:No)、配信装置100はステップS403に戻って処理を繰り返す。
一方、所定のユーザの予測精度が所定の条件を満たす場合(ステップS404:Yes)、配信装置100は、ステップS403において変更した状態を維持して、ステップS401に戻って処理を繰り返す。
〔7.複数候補の判定〕
上述した例においては、家とオフィスを入れ替えて、コンテキストを入れ替える場合を示したが、例えば家やオフィスの位置の候補となる情報が複数ある場合、各候補における予測精度を比較することにより、どの変更を行うかを判定してもよい。この点について、図16を用いて説明する。図16は、実施形態に係る複数候補の判定の一例を示す図である。
図16に示す分割情報一覧AL11は、図8に示す分割情報記憶部123と同様である。すなわち、分割情報一覧AL11は、朝(4〜10時)、昼(10〜16時)、夜(16〜22時)、深夜(22〜4時)の4つの時間帯と、家(自宅)またはオフィス(勤務地)の2つの位置とに基づく、8つのコンテキストCT11〜CT18に分割された場合を示す。分割情報一覧AL11には、ユーザU1〜U4等が含まれる。
ここで、ユーザU1は、家(自宅)の候補として位置LC111、LC112、LC113の3つの位置があるものとする。この場合、配信装置100は、ユーザU1の家として位置LC111、LC112、LC113の3つの位置を割り当てた場合における予測精度に応じて、ユーザU1の家をいずれにするか判定する。
図16に示す例では、行動情報記憶部122に位置LC111、LC112、LC113の各々に対応する行動情報が記憶されているものとする。例えば、分割情報AD111は、行動情報記憶部122に記憶された朝の位置LC111におけるユーザU1の行動情報(分割情報)を示す。また、例えば、分割情報AD112は、行動情報記憶部122に記憶された朝の位置LC112におけるユーザU1の行動情報(分割情報)を示す。また、例えば、分割情報AD113は、行動情報記憶部122に記憶された朝の位置LC113におけるユーザU1の行動情報(分割情報)を示す。なお、図16では図示を省略するが、行動情報記憶部122には、位置LC111、LC112、LC113の各々に対応し、朝以外の各時間帯(昼、夜、深夜等)に対応する行動情報も記憶されているものとする。
そこで、配信装置100は、ユーザU1の家を位置LC111とする位置割り当てを行う(ステップS31)。この場合、分割情報一覧AL11中のユーザU1のコンテキストCT11に対応するマスMSには、分割情報AD111が割り当てられる。また、割情報一覧AL11中のユーザU1の家に関するコンテキストCT13、CT15、CT17に対応するマスMSにも、各々対応する分割情報が割り当てられる。また、配信装置100は、ユーザU1の家を位置LC112とする位置割り当てを行う(ステップS32)。また、配信装置100は、ユーザU1の家を位置LC113とする位置割り当てを行う(ステップS33)。
そして、配信装置100は、ステップS31〜S33における各割当てで生成処理を行う(ステップS34)。すなわち、配信装置100は、3つの位置LC111、LC112、LC113の各々を割り当てた場合におけるモデルの生成を行う。なお、図16では説明を簡単にするためにステップS31〜S34として記載したが、ステップS31〜S33ごとにステップS34の生成処理を行ってもよい。
図16では、配信装置100は、モデル生成一覧RS11に示すように各位置LC111、LC112、LC113を家の位置に割当てた場合におけるユーザU1のコンテキストCT11に対応するマスMSに割り当てられるモデルを生成する。具体的には、位置LC111をユーザU1の家の位置とした場合、ユーザU1のコンテキストCT11に対応するマスMSには、モデルM111が割り当てられる。また、位置LC112をユーザU1の家の位置とした場合、ユーザU1のコンテキストCT11に対応するマスMSには、モデルM112が割り当てられる。また、位置LC113をユーザU1の家の位置とした場合、ユーザU1のコンテキストCT11に対応するマスMSには、モデルM113が割り当てられる。
ここで、図16では、ユーザU1のコンテキストCT11においてモデルM111を用いた場合やユーザU1のコンテキストCT11においてモデルM113を用いた場合、予測精度が低い。一方、ユーザU1のコンテキストCT11においてモデルM112を用いた場合、予測精度が高い。そのため、配信装置100は、位置LC112をユーザU1の家の位置と判定する(ステップS35)。これにより、配信装置100は、ユーザ属性一覧UL11に示すように、ユーザU1の家の位置に位置LC112を割り当てる。
なお、図16の例では、説明を簡単にするために、ユーザU1のコンテキストCT11に対応するマスMSに割り当てられたモデルの予測精度に応じて、ユーザU1の家の位置を判定する場合を示したが、配信装置100は、各位置の割り当てに対応するモデル全体の予測精度に基づいて、ユーザU1の家の位置を判定してもよい。上記の例では、配信装置100が複数候補から予測精度の最も高くなる候補を選ぶ場合を示したが、配信装置100は、ユーザに応じて種々のコンテキストの推定手法を用いて、ユーザの家(自宅)やオフィス(勤務地)を推定してもよい。例えば、配信装置100は、通常のコンテキストの推定手法と、通常のコンテキストの推定手法より精度良く家やオフィスを推定可能な高精度なコンテキストの推定手法とを使い分けて、コンテキストの推定を行ってもよい。例えば、通常のコンテキストの推定手法は、高精度なコンテキストの推定手法に比べて、推定精度は劣るが処理時間が短くなる。一方、高精度なコンテキストの推定手法は、通常のコンテキストの推定手法に比べて、処理時間が長くなる。例えば、配信装置100は、通常のコンテキストの推定手法を用いてユーザの家(自宅)やオフィス(勤務地)を推定した場合、推定精度を高めることが難しいユーザに対して、高精度なコンテキストの推定手法を用いて、ユーザの家やオフィスを推定してもよい。例えば、全ユーザ(例えば、100万人のユーザ)に対して高精度なコンテキストの推定手法を用いて、ユーザの家やオフィスを推定した場合、コンテキストの推定に要する時間が長くなり、全員に高精度なコンテキストの推定手法を用いることは難しい。そのため、配信装置100は、通常のコンテキストの推定手法を用いた場合、家やオフィスを推定した場合に推定精度を高めることが難しいユーザに対して、高精度なコンテキストの推定手法を用いることにより、コンテキストの推定に要する時間が長くなることを抑制しつつ、コンテキストの推定精度を高めることが可能となる。これにより、配信装置100は、処理時間の増大を抑制しつつ、モデルによる予測精度を向上させることが可能となる。
〔8.効果〕
上述してきたように、実施形態に係る配信装置100は、取得部131と、判定部135とを有する。取得部131は、ユーザごとの行動に関する行動情報であって、コンテキストに基づいて分割された行動情報である分割情報が、当該分割情報の各々に含まれる行動情報の傾向に基づいて組み合わされた情報である組合情報ごとに生成されたモデルであって、所定の対象を予測するモデルを取得する。また、判定部135は、取得部131により取得されたモデルによる、組合情報に含まれる分類情報の各々に対応するコンテキストにおける当該分類情報に対応するユーザに関する所定の対象の予測精度に応じて、当該ユーザのコンテキストに関する情報、または当該ユーザのユーザ属性に関する情報を変更するかを判定する。
これにより、実施形態に係る配信装置100は、各コンテキストにおけるモデルの予測精度に応じて、当該ユーザのコンテキストに関する情報、または当該ユーザのユーザ属性に関する情報を変更するかを判定することにより、ユーザに関する情報を適切に変更可能にすることができる。したがって、配信装置100は、コンテキストに基づくモデルの予測精度によりユーザに関する情報を適切に変更可能にすることができる。
また、実施形態に係る配信装置100において、判定部135は、一のユーザに割り当てられたモデルの予測精度が所定の条件を満たさない場合、一のユーザのコンテキストに関する情報、または一のユーザのユーザ属性に関する情報を変更すると判定する。
これにより、実施形態に係る配信装置100は、各ユーザに割り当てられたモデルの予測精度に応じて、各ユーザのコンテキストに関する情報、または各ユーザのユーザ属性に関する情報を変更するかを判定することにより、コンテキストに基づくモデルの予測精度に応じて各ユーザに関する情報を適切に変更可能にすることができる。したがって、配信装置100は、コンテキストに基づくモデルの予測精度によりユーザに関する情報を適切に変更可能にすることができる。
また、実施形態に係る配信装置100において、判定部135は、一のユーザのユーザ属性に関する情報が複数の候補がある場合、各候補を割り当てた予測精度に基づいて、一のユーザのユーザ属性に関する情報をいずれの候補に変更するかを判定する。
これにより、実施形態に係る配信装置100は、一のユーザのユーザ属性に関する情報が複数の候補がある場合であっても、コンテキストに基づくモデルの予測精度に応じてユーザに関する情報を適切に変更可能にすることができる。したがって、配信装置100は、コンテキストに基づくモデルの予測精度によりユーザに関する情報を適切に変更可能にすることができる。
また、実施形態に係る配信装置100において、判定部135は、一のユーザのコンテキストに関する情報が入替え可能である場合、一のユーザのコンテキストに関する情報を入れ替えると判定する。
これにより、実施形態に係る配信装置100は、あるユーザのコンテキストに関する情報が入替え可能である場合、そのユーザのコンテキストに関する情報を入れ替えると判定することにより、コンテキストに基づくモデルの予測精度によりユーザに関する情報を適切に変更可能にすることができる。したがって、配信装置100は、コンテキストに基づくモデルの予測精度に応じてユーザに関する情報を適切に変更可能にすることができる。
また、実施形態に係る配信装置100において、判定部135は、各ユーザのコンテキストに関する情報の信頼性、または各ユーザのユーザ属性に関する情報の信頼性に基づいて、コンテキストに関する情報、またはユーザ属性に関する情報を変更するユーザを判定する。
これにより、実施形態に係る配信装置100は、各ユーザのコンテキストに関する情報の信頼性、または各ユーザのユーザ属性に関する情報の信頼性に応じて、当該ユーザのコンテキストに関する情報、または当該ユーザのユーザ属性に関する情報を変更するかを判定することにより、ユーザに関する情報を適切に変更可能にすることができる。
また、実施形態に係る配信装置100において、判定部135は、ユーザが新規ユーザである場合、新規ユーザのユーザ属性に類似する他のユーザにおけるコンテキストごとのモデルの割当てに対応して新規ユーザに割り当てられたモデルを取得する。
これにより、実施形態に係る配信装置100は、ユーザ属性に類似する他のユーザにおけるコンテキストごとのモデルの割当てに対応したモデルが割り当てられた新規ユーザが変更対象となる場合であっても、コンテキストに基づくモデルの予測精度によりユーザに関する情報を適切に変更可能にすることができる。
また、実施形態に係る配信装置100において、判定部135は、新規ユーザに割り当てられたモデルの予測精度が所定の条件を満たさない場合、新規ユーザのユーザ属性を変更すると判定する。
これにより、実施形態に係る配信装置100は、新規ユーザが変更対象となる場合であっても、コンテキストに基づくモデルの予測精度に応じて新規ユーザのユーザ属性を適切に変更可能にすることができる。
〔9.ハードウェア構成〕
上述してきた実施形態に係る配信装置100は、例えば図17に示すような構成のコンピュータ1000によって実現される。図17は、配信装置の機能を実現するコンピュータの一例を示すハードウェア構成図である。コンピュータ1000は、CPU1100、RAM1200、ROM1300、HDD1400、通信インターフェイス(I/F)1500、入出力インターフェイス(I/F)1600、及びメディアインターフェイス(I/F)1700を有する。
CPU1100は、ROM1300またはHDD1400に格納されたプログラムに基づいて動作し、各部の制御を行う。ROM1300は、コンピュータ1000の起動時にCPU1100によって実行されるブートプログラムや、コンピュータ1000のハードウェアに依存するプログラム等を格納する。
HDD1400は、CPU1100によって実行されるプログラム、及び、かかるプログラムによって使用されるデータ等を格納する。通信インターフェイス1500は、ネットワークNを介して他の機器からデータを受信して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を介してこれらのプログラムを取得してもよい。
以上、本願の実施形態及び変形例のいくつかを図面に基づいて詳細に説明したが、これらは例示であり、発明の開示の行に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。
〔10.その他〕
また、上記実施形態及び変形例において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、各図に示した各種情報は、図示した情報に限られない。
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
また、上述してきた実施形態及び変形例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
また、上述してきた「部(section、module、unit)」は、「手段」や「回路」などに読み替えることができる。例えば、取得部は、取得手段や取得回路に読み替えることができる。