以下に、本願に係る生成装置、生成方法、及び生成プログラムを実施するための形態(以下、「実施形態」と呼ぶ)について図面を参照しつつ詳細に説明する。なお、この実施形態により本願に係る生成装置、生成方法、及び生成プログラムが限定されるものではない。また、以下の各実施形態において同一の部位には同一の符号を付し、重複する説明は省略される。
(実施形態)
〔1.生成処理〕
まず、図1を用いて、実施形態に係る生成処理の一例について説明する。図1は、実施形態に係る生成処理の一例を示す図である。具体的には、図1では、生成装置100が各ユーザに関する情報(データ)を用いて所定のモデルを生成する場合を示す。なお、図1の例では、所定のモデルとして、ユーザに配信するコンテンツの決定に用いるモデルを生成する。
図1の例では、各ユーザを第1の対象とする場合を示す。具体的には、図1では、ユーザID「U1」により識別されるユーザ(以下、「ユーザU1」ともいう)やユーザID「U2」により識別されるユーザ(ユーザU2)やユーザID「U3」により識別されるユーザ(ユーザU3)等を対象とする場合を示す。
また、図1の例では、時間を第2の対象とする場合を示す。図1の例では、生成装置100は、図5中の行動情報記憶部122に示すような、各ユーザの行動情報であって、日時(時間)に対応付けられた行動情報をクラスタリングし、モデルを生成する場合を説明する。なお、第1の対象や第2の対象は、上記に限らず、種々の対象であってもよい。
まず、図1に示す各ユーザU1〜U3に対応するグラフGR1〜GR3について説明する。例えば、図1に示すグラフGR1〜GR3は、第1の対象であるユーザU1〜U3の第2の対象である時間に対応する行動情報について、各時間に応じたデータ量(情報量)を示すグラフである。例えば、グラフGR1〜GR3の縦軸(以下、「Y軸」ともいう)が示す「データ量」は、各時間に関する行動情報のデータ量を示す。例えば、グラフGR1〜GR3のY軸「データ量」は、各時間において取得された行動情報のデータ量を示す。なお、グラフGR1〜GR3のY軸は、行動情報のデータ量に限らず、例えば、各時間に関する情報の相関関係を把握可能な情報であればどのような情報であってもよい。例えば、グラフGR1〜GR3のY軸は、行動情報の数、分散、種々の他の統計量であってもよい。
また、例えば、グラフGR1〜GR3の横軸(以下、「X軸」ともいう)が示す「時刻t」は、時間軸を示す。図1の例では、グラフGR1〜GR3のX軸「時刻t」は、1日(24時間)に対応するものとする。例えば、グラフGR1〜GR3のX軸「時刻t」は、Y軸との交点を「0時」として、軸の先端を「24時」としてもよい。なお、X軸は、第2の対象である時間に関する情報であれば、どのような情報であってもよい。
図1の例では、グラフGR1〜GR3は、Y軸との交点を「0時」であり、グラフGR1〜GR3のX軸「時刻t」における各時刻は対応するものとする。例えば、グラフGR2、GR3において、グラフGR1に示す時刻t11に対応する位置は、時刻t11と同じ時刻である。例えば、時刻t11が「1時1分1秒」である場合、グラフGR2、GR3において、グラフGR1に示す時刻t11に対応する位置の時刻も、「1時1分1秒」であるものとする。例えば、図1の例では、時刻t11は、時刻t31よりも前であり、時刻t31は、時刻t21よりも前であるものとする。また、図1の例では、時刻t31は、時刻t31と時刻t21との間の時刻であるものとする。
例えば、図1に示すグラフGR1は、ユーザU1の時間に対応する行動情報について、各時間に応じたデータ量(情報量)を示すグラフである。例えば、グラフGR1は、時刻t11において取得されたユーザU1の行動情報が少ないことを示す。また、例えば、グラフGR1は、時刻t11以降徐々に取得されるユーザU1の行動情報が増加していることを示す。例えば、生成装置100は、図5中の行動情報記憶部122に示す日時の情報に基づいて、各時刻におけるユーザU1の行動情報のデータ量を取得し、グラフGR1を生成する。例えば、生成装置100は、行動情報記憶部122に示す日時「TM11」の時刻が時刻t12に対応する場合、行動ID「AT11」により識別される行動情報は、時刻t12に関する行動情報であるとして、グラフGR1を生成する。
このように、生成装置100は、例えば行動情報記憶部122に記憶されたユーザU1の行動情報に基づいて、グラフGR1を生成する。また、生成装置100は、例えば行動情報記憶部122に記憶されたユーザU2の行動情報に基づいて、グラフGR2を生成する。また、生成装置100は、例えば行動情報記憶部122に記憶されたユーザU3の行動情報に基づいて、グラフGR3を生成する。
以下、上述したグラフGR1〜GR3に示すような情報を基に生成装置100がモデルの生成を行う場合を示す。まず、生成装置100は、各ユーザの行動情報を時間に基づいてクラスタリングする。図1に示す例においては、生成装置100は、各ユーザの行動情報を時間に基づいて3つのクラスタに分類(クラスタリング)する。なお、クラスタの数は、生成するモデルの目的や条件等の種々の情報に基づいて決定されてもよい。例えば、生成装置100は、ユーザごとのクラスタ数が同じであれば、どのような個数のクラスタに各ユーザの行動情報を分類(クラスタリング)してもよい。例えば、生成装置100は、各ユーザの行動情報をN個(Nは2以上の自然数)のクラスタに分類(クラスタリング)してもよい。例えば、生成装置100は、各ユーザの行動情報を5個のクラスタに分類(クラスタリング)してもよい。例えば、生成装置100は、各ユーザの行動情報を10個のクラスタに分類(クラスタリング)してもよい。また、生成装置100は、各ユーザの行動情報を何個のクラスタに分類するかを、交差検証(クロスバリデーション)により決定してもよい。なお、この点については後述する。
まず、図1に示す例においては、生成装置100は、ユーザU1のグラフGR1を3つのクラスタにクラスタリングする(ステップS11−1)。例えば、生成装置100は、ユーザU1のグラフGR1を時間軸(X軸)に沿って3つのクラスタにクラスタリングする。図1に示すグラフGR1は、時刻t11、t12、t13の3つの時点において行動情報のデータ量が落ち着く(少なくなる)という周期性を有する。そのため、生成装置100は、ユーザU1のグラフGR1を、時刻t11−t12と、時刻t12−t13と、時刻t13−t11との3つのクラスタにクラスタリングする。言い換えると、生成装置100は、ユーザU1の行動情報を、時刻t11から時刻t12間に対応する行動情報と、時刻t12から時刻t13間に対応する行動情報と、時刻t13から時刻t11間に対応する行動情報との3つのクラスタにクラスタリングする。
なお、生成装置100は、種々のクラスタリング手法を適宜用いて、上述のようなクラスタリングを行ってもよい。生成装置100は、k−means法やディリクレ過程を用いたロジスティック回帰等の種々のクラスタリング手法を用いてもよい。また、例えば、生成装置100は、グラフGR1において3つの波ができるように所定の関数で近似した後、3つのクラスタにクラスタリングしてもよい。
また、図1に示す例においては、生成装置100は、ユーザU2のグラフGR2を3つのクラスタにクラスタリングする(ステップS11−2)。例えば、生成装置100は、ユーザU2のグラフGR2を時間軸(X軸)に沿って3つのクラスタにクラスタリングする。図1に示すグラフGR2は、時刻t21、t22、t23の3つの時点において行動情報のデータ量が落ち着く(少なくなる)という周期性を有する。そのため、生成装置100は、ユーザU2のグラフGR2を、時刻t21−t22と、時刻t22−t23と、時刻t23−t21との3つのクラスタにクラスタリングする。言い換えると、生成装置100は、ユーザU2の行動情報を、時刻t21から時刻t22間に対応する行動情報と、時刻t22から時刻t23間に対応する行動情報と、時刻t23から時刻t21間に対応する行動情報との3つのクラスタにクラスタリングする。
また、図1に示す例においては、生成装置100は、ユーザU3のグラフGR3を3つのクラスタにクラスタリングする(ステップS11−3)。例えば、生成装置100は、ユーザU3のグラフGR3を時間軸(X軸)に沿って3つのクラスタにクラスタリングする。図1に示すグラフGR3は、時刻t31、t32、t33の3つの時点において行動情報のデータ量が落ち着く(少なくなる)という周期性を有する。そのため、生成装置100は、ユーザU3のグラフGR3を、時刻t31−t32と、時刻t32−t33と、時刻t33−t31との3つのクラスタにクラスタリングする。言い換えると、生成装置100は、ユーザU3の行動情報を、時刻t31から時刻t32間に対応する行動情報と、時刻t32から時刻t33間に対応する行動情報と、時刻t33から時刻t31間に対応する行動情報との3つのクラスタにクラスタリングする。
なお、ステップS11−1〜S11−3は、処理を説明するためのものであり、ステップS11−1〜S11−3のいずれが先に行われてもよく、各ステップS11−1〜S11−3は、複数回行われてもよい。以下、ステップS11−1〜S11−3を区別せずに説明する場合、ステップS11と総称する。このように、ステップS11において、生成装置100は、各ユーザU1〜U3の行動情報を、時間におけるユーザごとの取得状況に応じて適切にクラスタリングすることができる。
そして、生成装置100は、各ユーザに対応する各クラスタを各ユーザ間で所定の基準に基づいて対応付ける。例えば、生成装置100は、所定の基準点に基づいて、各ユーザに対応する各クラスタを各ユーザ間で対応付ける。図1の例では、生成装置100は、基準点PV11に基づいて、各ユーザに対応する各クラスタを各ユーザ間で対応付ける。図1の例では、基準点PV11は、所定の時刻であり、時刻t22と時刻t12との間の時刻であるものとする。なお、所定の基準は、所定の基準点に限らず、種々の基準であってもよい。例えば、所定の基準は、クラスタに関連する基準であってもよい。また、例えば、所定の基準は、クラスタリングを行う際の基準とは異なる基準であってもよい。なお、この点についての詳細は後述する。
例えば、生成装置100は、各ユーザに対応する各クラスタについて、基準点PV11に対応するクラスタから順にナンバリングすることにより、各ユーザに対応する各クラスタを各ユーザ間で対応付ける。
図1の例では、生成装置100は、基準点PV11が時刻t11から時刻t12の間にあるため、ユーザU1については時刻t11−t12を1番にナンバリングする(ステップS12−1)。例えば、生成装置100は、ユーザU1については時刻t11−t12を「T1番」とナンバリングし、クラスタCL1に対応するサブクラスタCL1−1とする。
また、図1の例では、生成装置100は、ユーザU1について時刻t11−t12の次の時刻t12−t13を2番にナンバリングする(ステップS12−2)。例えば、生成装置100は、ユーザU1については時刻t12−t13を「T2番」とナンバリングし、クラスタCL2に対応するサブクラスタCL2−1とする。
また、図1の例では、生成装置100は、ユーザU1について時刻t12−t13の次の時刻t13−t11を3番にナンバリングする(ステップS12−3)。例えば、生成装置100は、ユーザU1については時刻t13−t11を「T3番」とナンバリングし、クラスタCL3に対応するサブクラスタCL3−1とする。
図1の例では、生成装置100は、基準点PV11が時刻t22から時刻t23の間にあるため、ユーザU2については時刻t22−t23を1番にナンバリングする(ステップS13−1)。例えば、生成装置100は、ユーザU2については時刻t22−t23を「T1番」とナンバリングし、クラスタCL1に対応するサブクラスタCL1−2とする。
また、図1の例では、生成装置100は、ユーザU2について時刻t22−t23の次の時刻t23−t21を2番にナンバリングする(ステップS13−2)。例えば、生成装置100は、ユーザU2については時刻t23−t21を「T2番」とナンバリングし、クラスタCL2に対応するサブクラスタCL2−2とする。
また、図1の例では、生成装置100は、ユーザU2について時刻t23−t21の次の時刻t21−t22を3番にナンバリングする(ステップS13−3)。例えば、生成装置100は、ユーザU2については時刻t21−t22を「T3番」とナンバリングし、クラスタCL3に対応するサブクラスタCL3−2とする。
図1の例では、生成装置100は、基準点PV11が時刻t31から時刻t32の間にあるため、ユーザU3については時刻t31−t32を1番にナンバリングする(ステップS14−1)。例えば、生成装置100は、ユーザU3については時刻t31−t32を「T1番」とナンバリングし、クラスタCL1に対応するサブクラスタCL1−3とする。
また、図1の例では、生成装置100は、ユーザU3について時刻t31−t32の次の時刻t32−t33を2番にナンバリングする(ステップS14−2)。例えば、生成装置100は、ユーザU3については時刻t32−t33を「T2番」とナンバリングし、クラスタCL2に対応するサブクラスタCL2−3とする。
また、図1の例では、生成装置100は、ユーザU3について時刻t32−t33の次の時刻t33−t31を3番にナンバリングする(ステップS14−3)。例えば、生成装置100は、ユーザU3については時刻t33−t31を「T3番」とナンバリングし、クラスタCL3に対応するサブクラスタCL3−3とする。
これにより、生成装置100は、各ユーザの情報を適切に対応付けることができる。図1の例では、生成装置100は、ユーザU1について時刻t11−t12に対応する行動情報を含むサブクラスタCL1−1と、ユーザU2について時刻t22−t23に対応する行動情報を含むサブクラスタCL1−2と、ユーザU3について時刻t31−t32に対応する行動情報を含むサブクラスタCL1−3とをクラスタCL1として対応付ける。また、図1の例では、生成装置100は、ユーザU1について時刻t12−t13に対応する行動情報を含むサブクラスタCL2−1と、ユーザU2について時刻t23−t21に対応する行動情報を含むサブクラスタCL2−2と、ユーザU3について時刻t32−t33に対応する行動情報を含むサブクラスタCL2−3とをクラスタCL2として対応付ける。また、図1の例では、生成装置100は、ユーザU1について時刻t13−t11に対応する行動情報を含むサブクラスタCL3−1と、ユーザU2について時刻t21−t22に対応する行動情報を含むサブクラスタCL3−2と、ユーザU3について時刻t33−t31に対応する行動情報を含むサブクラスタCL3−3とをクラスタCL3として対応付ける。
このように、生成装置100は、各ユーザU1〜U3の各クラスタを、基準点PV11に基づいて対応付けることにより、学習(モデルの生成)に用いる適切なデータ(情報)を生成することができる。
そして、生成装置100は、クラスタリングされた情報に基づいて、モデルを生成する(ステップS15)。図1の例では、生成装置100は、クラスタCL1に対応する情報やクラスタCL2に対応する情報やクラスタCL3に対応する情報等を用いて、所定のモデルとして、ユーザに配信するコンテンツの決定に用いるモデルを生成する。
上述したように、生成装置100は、時間における各ユーザの行動情報の取得状況に応じて、各ユーザの行動情報をクラスタリングして、所定の基準点に基づいて、各ユーザのクラスタを対応付けることにより、情報に応じて柔軟なモデルの生成を可能にすることができる。
例えば、図1の例では、ユーザU1については、グラフGR1に示すように、時刻t11、t12、t13の3つの時点において行動情報のデータ量が落ち着く(少なくなる)という周期性を有する。また、例えば、図1の例では、ユーザU2については、グラフGR2に示すように、時刻t21、t22、t23の3つの時点において行動情報のデータ量が落ち着く(少なくなる)という周期性を有する。また、例えば、図1の例では、ユーザU3については、グラフGR3に示すように、時刻t31、t32、t33の3つの時点において行動情報のデータ量が落ち着く(少なくなる)という周期性を有する。
このような場合、例えば、ユーザU1の周期性を基準にして時刻t11、t12、t13を基に、時間をクラスタリングした場合、ユーザU2やユーザU3については、適切な時間のクラスタリングにはなっていないこととなる。例えば、ユーザU3については、時刻t11、t12、t13において取得される行動情報のデータ量が多いため、適切な時間のクラスタリングにはなっていない。また、例えば、全ユーザの行動情報を基に時間をクラスタリングした場合、各ユーザに最適化されたクラスタリングではないため、どのユーザにとっても適切な時間のクラスタリングにはなっていないこととなる。例えば、全ユーザの行動情報の平均を基に時間をクラスタリングした場合、平均的なユーザにとってはある程度適合するクラスタリングとはなるが、他のユーザにとっては適切な時間のクラスタリングにはなっていないことが多い。そのため、このようなクラスタリングの結果を基にモデルの生成を行った場合、精度の良いモデルを生成することが難しい。したがって、このような場合、情報に応じて柔軟なモデルの生成を可能にすることができない。
一方で、生成装置100は、ユーザごとに時間をクラスタリングすることによって、各ユーザに応じて適切なクラスタリングを行うことができる。したがって、生成装置100は、第1の対象ごとに第2の対象をクラスタリングすることによって、各第1の対象に応じて適切なクラスタリングを行うことができる。そして、生成装置100は、各ユーザのクラスタを基準点等の所定の基準を基にユーザ間で対応付けることにより、学習(モデルの生成)に用いる適切なデータ(情報)を生成することができる。これにより、生成装置100は、適切な情報に基づいて学習(モデルの生成)を行うことができるため、精度の良いモデルを生成することができる。したがって、生成装置100は、情報に応じて柔軟なモデルの生成を可能にすることができる。また、生成装置100が生成するモデルは、上記に限らず、種々の用途のモデルであってもよい。例えば、生成装置100が生成するモデルは、広告クリック率の予測やレコメンド精度予測やコンテキスト予測等の種々の用途のモデルであってもよい。
(1−1.第1の対象、第2の対象)
なお、上述した例では、第1の対象をユーザとし、第2の対象を時間とする場合を説明したが、第1の対象や第2の対象は、上記に限らず、種々の対象であってもよい。
例えば、第1の対象はユーザに限らず、時間や位置等に関する対象であってもよい。例えば、第1の対象が位置である場合、位置(例えば緯度経度やエリア等)ごとに対応する情報を用いて、モデルを生成してもよい。例えば、第1の対象が時間である場合、時間(例えば1時や2時)ごとに対応する情報を用いて、モデルを生成してもよい。また、例えば、第1の対象は、所定のサービスや端末装置10等の所定のデバイスやデバイス等を製造するメーカ(製造元)であってもよい。また、例えば、第2の対象は、所定のサービスやデバイスやメーカ(製造元)であってもよい。例えば、生成装置100は、第1の対象をユーザとし、第2の対象をサービスとしてもよい。例えば、生成装置100は、第1の対象をユーザとし、第2の対象をデバイスとしてもよい。例えば、生成装置100は、第1の対象をデバイスとし、第2の対象をメーカ(製造元)としてもよい。このように、生成装置100は、生成処理が適用可能な対象であれば、どのような対象を第1の対象及び第2の対象としてもよい。
また、図1の例では、第1の対象を各ユーザ、すなわちユーザ単位とする場合を示した。すなわち、図1の例では、第1の対象に関する所定単位ごとの第1の対象を対象としてモデルを生成する場合を示した。しかしながら、生成装置100は、第1の対象に関する所定単位を複数含むグループごとの第1の対象を対象としてモデルを生成してもよい。この場合、例えば、第1の対象は複数のユーザを含むユーザ群が対象であってもよい。この場合、例えば、生成装置100は、複数のユーザ群ごとに対応する行動情報を用いて、モデルを生成してもよい。例えば、生成装置100は、ユーザU1〜U5を1つのグループとし、ユーザU6〜U10を1つのグループとして、一のユーザ群に含まれる全ユーザの行動情報を併せて一のユーザ群に対応する行動情報として、モデルを生成してもよい。また、第1の対象が位置や時間である場合も同様に、生成装置100は、位置に関するグループ(エリア等)や時間に関するグループ(時間帯や朝、昼、夜等)を第1の対象として、モデルを生成してもよい。
また、例えば、第2の対象は、位置やユーザ等に関する対象であってもよい。例えば、第2の対象が位置である場合、位置(例えば緯度経度やエリア等)に応じて情報をクラスタリングして、各クラスタを対応付けることにより、モデルを生成してもよい。例えば、第2の対象がユーザである場合、ユーザ(例えばデモグラフィック属性やサイコグラフィック属性等)に応じて情報をクラスタリングして、各クラスタを対応付けることにより、モデルを生成してもよい。なお、これらの点についての詳細は後述する。
また、例えば、第1の対象や第2の対象は、コンテンツのカテゴリであってもよい。例えば、第2の対象は、政治、スポーツ、芸能等の種々のカテゴリであってもよい。また、一のコンテンツが、どのカテゴリに属するかは、ユーザに応じて変動してもよい。例えば、一のコンテンツが、ユーザU1にとっては政治のカテゴリに属し、ユーザU2にとっては芸能のカテゴリに属してもよい。例えば、一のコンテンツがユーザにとってどのカテゴリに属するかを、各ユーザのデモグラフィック属性やサイコグラフィック属性等に基づいて決定してもよい。例えば、一のコンテンツが、ユーザU1にとっては政治のカテゴリに属し、ユーザU2にとっては芸能のカテゴリに属してもよい。また、ユーザごとに異なるカテゴリを用いてもよい。例えば、ユーザごとに異なる複数のカテゴリを用い、個数(例えば5個等)だけが共通であってもよい。例えば、ユーザU1については、政治、経済、芸能、スポーツ等のように、コンテンツの内容に基づくカテゴリを用い、ユーザU2については、有名人FA、有名人FB、有名人FC、有名人FD等のように、コンテンツに関連する人物に基づくカテゴリを用いてもよい。すなわち、生成装置100は、クラスタの個数が一致していれば、各対象についてどのような基準を用いてクラスタリングを行ってもよい。また、上述した第1の対象や第2の対象は一例であり、生成装置100は、上述した生成処理が適用可能な対象であれば、どのような対象を第1の対象や第2の対象としてモデルの生成を行ってもよい。
(1−2.学習処理に基づく対応付け)
なお、上述した例では、所定の基準点に基づいて、各第1の対象に対応する各クラスタを各第1の対象間で対応付ける処理(以下、「対応付処理」ともいう)を示したが、対応付処理は、基準点(例えば図1中の基準点PV11)を用いる処理に限らず、種々の処理であってもよい。例えば、生成装置100は、各クラスタの対応付けに関する所定の学習処理に基づいて、対応付処理を行ってもよい。
例えば、生成装置100は、交差検証(クロスバリデーション)により、各クラスタ中のデータ(情報)の一部(以下、「訓練用データ」ともいう)をモデルの生成に用い、残りのデータ(以下、「検証用データ」ともいう)を検証用に用いて生成されたモデルの精度を検証してもよい。例えば、生成装置100は、各クラスタ中のデータのうち80%をモデルの生成に用い、残りの20%を検証に用いてもよい。例えば、生成装置100は、検証した精度が所定の基準を満たした場合、そのクラスタリングを用いると決定してもよい。例えば、生成装置100は、交差検証(クロスバリデーション)により、各クラスタの対応付けを決定したり、ハイパーパラメータを決定したりする。
一例として、生成するモデルがユーザに配信するコンテンツの決定に用いるモデルである場合を説明する。例えば、生成装置100は、各クラスタ中の訓練用データに含まれる行動情報のうち、コンテンツの閲覧に関する行動情報を正解情報とし、そのコンテンツの閲覧以前の所定期間の行動情報が入力された場合に大きなスコアを出力するようにモデルを生成する。また、生成装置100は、各クラスタの検証用データに含まれる行動情報のうち、コンテンツの閲覧に関する行動情報がある場合、そのコンテンツの閲覧以前の所定期間の行動情報が入力し、所定の閾値以上のスコアを出力する確率が、所定の基準を満たすかどうかを検証する。そして、生成装置100は、検証用データを用いた検証の結果、コンテンツの閲覧に関する行動情報がある場合、そのコンテンツの閲覧以前の所定期間の行動情報が入力としてモデルが所定の閾値(例えば、0.7等)以上のスコアを出力する確率が、所定の基準(例えば、80%以上等)を満たすかどうかを検証する。
また、生成装置100は、検証した精度が所定の基準を満たさない場合、クラスタリングを解除して、再度クラスタリングを行った後対応付処理を行ったり、クラスタリングを維持して、精度が所定の基準を満たすまで対応付処理を行なったりしてもよい。また、生成装置100は、クラスタリングを行う度に、モデルの生成に用いる情報(検証用データ)と、検証に用いる情報(検証用データ)とを入れ替えて交差検証(クロスバリデーション)を複数回行った平均により、クラスタリングを維持するか解除するかを判定してもよい。なお、交差検証(クロスバリデーション)に関する対応付処理の点についての詳細は後述する。
(1−3.コンテキストに基づく対応付け)
また、例えば、生成装置100は、第2の対象に関する情報以外の情報に基づいて、各第1の対象に対応する各クラスタを各第1の対象間で対応付けてもよい。例えば、生成装置100は、上述した図1の例において、時間に対応するサブクラスタのナンバリング(対応付処理)の際に、各サブクラスタに対応する時間においてユーザが自宅やオフィスに位置する等の種々の情報を加味してナンバリングを行ってもよい。例えば、成装置100は、各サブクラスタに対応する時間におけるユーザに関するコンテキスト情報に基づいて、対応付処理を行ってもよい。
ここでいうユーザに関するコンテキスト情報(以下、単に「コンテキスト情報」ともいう)は、例えば、ユーザのコンテキストを示す情報である。例えば、コンテキストは、ユーザやユーザが利用する端末装置10の状況やユーザや端末装置の環境(背景)に基づいて推定されるユーザの状況を意味する。また、コンテキストには、ユーザに提供されるコンテンツの内容、ユーザが反応したコンテンツの内容、ユーザの属性、ユーザの現在位置、現在時刻、ユーザが置かれた物理環境、ユーザが置かれた社会環境、ユーザの運動状態、および、推定されるユーザの感情等の種々の情報が含まれる。また、コンテキストには、ユーザや端末装置10の状況やユーザや端末装置10の環境(背景)に基づいて推定されるユーザU1の心理状態等であってもよい。
例えば、生成装置100は、ユーザの行動情報等から推定したユーザのコンテキスト情報を用いてもよい。例えば、端末装置10は、ユーザの位置情報やコンテンツの閲覧等の種々の行動情報に基づいて、ユーザがどのような状況であるかを推定してもよい。例えば、生成装置100は、ユーザの位置履歴情報やコンテンツの閲覧等の種々の行動履歴情報に基づいて、ユーザがどのような状況であるかを推定してもよい。例えば、生成装置100は、ユーザが夜にスポーツに関するコンテンツを閲覧する傾向がある場合、コンテキスト推定の時点が夜である場合、ユーザがスポーツに関するコンテンツを閲覧する可能性が高いコンテキストであると推定してもよい。また、例えば、生成装置100は、ユーザの位置が過去に経済に関するコンテンツを閲覧していた位置から所定の範囲内に位置する場合、ユーザが経済に関するコンテンツを閲覧する可能性が高いコンテキストであると推定してもよい。なお、上記は一例であり、生成装置100は、種々の情報等に基づいて種々のコンテキストを推定してもよい。
例えば、生成装置100は、各ユーザが自宅に位置する時間に対応する各サブクラスタを1つのクラスタとしてクラスタリングしてもよい。また、例えば、生成装置100は、各ユーザがオフィス位置する時間に対応する各サブクラスタを1つのクラスタとしてクラスタリングしてもよい。図1の例では、生成装置100は、ユーザU1が時刻t11−t12の間の多くの時間に自宅に位置し、ユーザU2が時刻t23−t21の間の多くの時間に自宅に位置し、ユーザU3が時刻t32−t33の間の多くの時間に自宅に位置する場合、ユーザU1の時刻t11−t12に対応するサブクラスタと、ユーザU2の時刻t23−t21に対応するサブクラスタ、ユーザU3の時刻t32−t33に対応するサブクラスタとを対応付けてもよい。
〔2.生成システム〕
図2は、生成システム1の構成例を示す図である。図2は、実施形態に係る生成システムの構成例を示す図である。図2に示すように、生成システム1は、端末装置10と、生成装置100とが含まれる。端末装置10と、生成装置100とは所定のネットワークNを介して、有線または無線により通信可能に接続される。図2は、実施形態に係る生成システムの構成例を示す図である。なお、図2に示した生成システム1には、複数台の端末装置10や、複数台の生成装置100が含まれてもよい。
端末装置10は、ユーザによって利用される情報処理装置である。端末装置10は、例えば、スマートフォンや、タブレット型端末や、ノート型PC(Personal Computer)や、デスクトップPCや、携帯電話機や、PDA(Personal Digital Assistant)等により実現される。図1に示す例においては、端末装置10がユーザが利用するスマートフォンである場合を示す。なお、以下では、端末装置10をユーザと表記する場合がある。すなわち、以下では、ユーザを端末装置10と読み替えることもできる。
生成装置100は、各第1の対象に対応付けられた第2の対象に関する情報の各々を所定数のクラスタに分類し、各第1の対象に対応する各クラスタを各第1の対象間で所定の基準に基づいて対応付ける情報処理装置である。また、生成装置100は、各第1の対象における各クラスタの対応付けに基づいて、所定のモデルを生成する。
〔3.生成装置の構成〕
次に、図3を用いて、実施形態に係る生成装置100の構成について説明する。図3は、実施形態に係る生成装置の構成例を示す図である。図3に示すように、生成装置100は、通信部110と、記憶部120と、制御部130とを有する。なお、生成装置100は、生成装置100の管理者等から各種操作を受け付ける入力部(例えば、キーボードやマウス等)や、各種情報を表示するための表示部(例えば、液晶ディスプレイ等)を有してもよい。
(通信部110)
通信部110は、例えば、NIC(Network Interface Card)等によって実現される。そして、通信部110は、ネットワークN(図2参照)と有線または無線で接続され、端末装置10との間で情報の送受信を行う。
(記憶部120)
記憶部120は、例えば、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。実施形態に係る記憶部120は、図3に示すように、ユーザ情報記憶部121と、行動情報記憶部122と、クラスタ情報記憶部123と、モデル情報記憶部124とを有する。
(ユーザ情報記憶部121)
実施形態に係るユーザ情報記憶部121は、ユーザに関する各種情報を記憶する。例えば、ユーザ情報記憶部121は、ユーザ属性情報を記憶する。図4は、実施形態に係るユーザ情報記憶部の一例を示す図である。図4に示すユーザ情報記憶部121は、「ユーザID」、「年齢」、「性別」といった項目が含まれる。
「ユーザID」は、ユーザを識別するための識別情報を示す。例えば、ユーザID「U1」により識別されるユーザは、図1の例に示したユーザU1に対応する。「年齢」は、端末装置10を利用するユーザの年齢を示す。なお、「年齢」は、例えば35歳など、ユーザIDにより識別されるユーザの具体的な年齢であってもよい。「性別」は、端末装置10を利用するユーザの性別を示す。
例えば、図4に示す例において、ユーザID「U1」により識別されるユーザの年齢は、「20代」であり、ユーザの性別は、「男性」であることを示す。また、例えば、図4に示す例において、ユーザID「U2」により識別されるユーザの年齢は、「20代」であり、ユーザの性別は、「女性」であることを示す。
なお、ユーザ情報記憶部121は、上記に限らず、目的に応じて種々の情報を記憶してもよい。例えば、ユーザ情報記憶部121は、ユーザのデモグラフィック属性に関する情報やサイコグラフィック属性に関する情報を記憶してもよい。例えば、ユーザ情報記憶部121は、氏名、家族構成、収入、興味、ライフスタイル等の情報を記憶してもよい。
(行動情報記憶部122)
実施形態に係る行動情報記憶部122は、ユーザの行動に関する各種情報を記憶する。図5は、実施形態に係る行動情報記憶部の一例を示す図である。例えば、行動情報記憶部122は、各ユーザの端末装置10に配信したコンテンツに対するユーザの行動情報を記憶する。図5に示す行動情報記憶部122には、「ユーザID」、「行動」、「状況」といった項目が含まれる。また、「行動」には、「行動ID」、「内容」といった項目が含まれる。また、「状況」には、「日時」、「位置」といった項目が含まれる。
「ユーザID」は、ユーザを識別するための識別情報を示す。例えば、ユーザID「U1」により識別されるユーザは、図1の例に示したユーザU1に対応する。また、「行動」は、ユーザの通知コンテンツに対する行動に関する情報を示す。「行動ID」は、行動を識別するための識別情報を示す。また、「内容」は、対応するユーザの行動の内容を示す。
また、「状況」は、対応するユーザが行動を行った際の状況に関する情報を示す。「日時」は、対応するユーザの行動が行われた日時を示す。「日時」には、「TM11」等のように抽象的に図示するが、「2017年2月2日23時12分52秒」等の具体的な日時が記憶されてもよい。また、「位置」は、対応するユーザの行動が行われた位置を示す。なお、図5に示す例では、「位置」は、「LC11」といった抽象的な符号を図示するが、緯度や経度を示す情報であってもよい。また、例えば、「位置」は、地域名や住所であってもよい。
例えば、図5に示す例において、ユーザID「U1」により識別されるユーザU1は、ID「AT11」により識別される行動(行動AT11)や行動ID「AT12」により識別される行動(行動AT12)や行動ID「AT13」により識別される行動(行動AT13)等を行ったことを示す。
具体的には、図5に示す例においてユーザU1は、「クエリA」を用いた検索(行動AT11)を日時TM11に位置LC11において行ったことを示す。また、図5に示す例においてユーザU1は、コンテンツAの閲覧(行動AT12)を日時TM12に位置LC12において行ったことを示す。また、図5に示す例においてユーザU1は、商品Aの購入(行動AT13)を日時TM13に位置LC13において行ったことを示す。また、図5に示す例においてユーザU2は、商品Bの購入(行動AT21)を日時TM21に位置LC21において行ったことを示す。
なお、行動情報記憶部122は、上記に限らず、目的に応じて種々の情報を記憶してもよい。例えば、行動情報記憶部122は、ユーザが通知されたコンテンツを閲覧したか(画面に表示させたか)どうかを示す情報を記憶してもよい。また、図5では、ユーザIDごとに行動情報が行動情報記憶部122に記憶される場合を示したが、行動情報は、ユーザIDごとに限らず、例えば日時順に記憶されてもよい。
(クラスタ情報記憶部123)
実施形態に係るクラスタ情報記憶部123は、コンテンツの通知目的に関するクラスタに関する各種情報を記憶する。図6は、実施形態に係るクラスタ情報記憶部の一例を示す図である。例えば、クラスタ情報記憶部123は、各クラスタを構成する各要素の選択肢の組合せを記憶する。図6に示すクラスタ情報記憶部123には、「クラスタID」、「第1対象」といった項目が含まれる。また、図6の例では、「第1対象」には、「ユーザU1」、「ユーザU2」、「ユーザU3」等といった各第1対象に対応する項目が含まれる。
「クラスタID」は、クラスタを識別する情報を示す。「ユーザU1」の列は、第1対象であるユーザU1に対応する第2情報を示す。「ユーザU2」の列は、第1対象であるユーザU2に対応する第2情報を示す。「ユーザU3」の列は、第1対象であるユーザU3に対応する第2情報を示す。
例えば、図6に示す例において、クラスタID「CL1」により識別されるクラスタCL1と、ユーザU1とが交差するマス目に図示する「CL1−1」は、ユーザU1の第2対象である時間のうち、サブクラスタCL1−1に対応する情報がクラスタCL1に対応付けられていることを示す。また、クラスタCL1と、ユーザU1とが交差するマス目に図示する「(時刻t11−t12)」は、ユーザU1の第2対象である時間のうち、時刻t11−t12に対応する情報がクラスタCL1に対応付けられていることを示す。例えば、サブクラスタCL1−1に対応する情報は、ユーザU1の第2対象である時間のうち、時刻t11から時刻t12までの間に取得された情報であることを示す。
例えば、図6に示す例において、クラスタID「CL2」により識別されるクラスタCL2と、ユーザU1とが交差するマス目に図示する「CL2−1」は、ユーザU1の第2対象である時間のうち、サブクラスタCL2−1に対応する情報がクラスタCL2に対応付けられていることを示す。また、クラスタCL2と、ユーザU1とが交差するマス目に図示する「(時刻t12−t13)」は、ユーザU1の第2対象である時間のうち、時刻t12−t13に対応する情報がクラスタCL2に対応付けられていることを示す。例えば、サブクラスタCL2−1に対応する情報は、ユーザU1の第2対象である時間のうち、時刻t12から時刻t13までの間に取得された情報であることを示す。
例えば、図6に示す例において、クラスタID「CL3」により識別されるクラスタCL3と、ユーザU1とが交差するマス目に図示する「CL3−1」は、ユーザU1の第2対象である時間のうち、サブクラスタCL3−1に対応する情報がクラスタCL3に対応付けられていることを示す。また、クラスタCL3と、ユーザU1とが交差するマス目に図示する「(時刻t13−t11)」は、ユーザU1の第2対象である時間のうち、時刻t13−t11に対応する情報がクラスタCL3に対応付けられていることを示す。例えば、サブクラスタCL3−1に対応する情報は、ユーザU1の第2対象である時間のうち、時刻t13から時刻t11までの間に取得された情報であることを示す。
例えば、図6に示す例において、クラスタID「CL1」により識別されるクラスタCL1と、ユーザU2とが交差するマス目に図示する「CL1−2」は、ユーザU2の第2対象である時間のうち、サブクラスタCL1−2に対応する情報がクラスタCL1に対応付けられていることを示す。また、クラスタCL1と、ユーザU2とが交差するマス目に図示する「(時刻t22−t23)」は、ユーザU2の第2対象である時間のうち、時刻t22−t23に対応する情報がクラスタCL1に対応付けられていることを示す。例えば、サブクラスタCL1−2に対応する情報は、ユーザU2の第2対象である時間のうち、時刻t22から時刻t23までの間に取得された情報であることを示す。
なお、クラスタ情報記憶部123は、上記に限らず、目的に応じて種々の情報を記憶してもよい。
(モデル情報記憶部124)
実施形態に係るモデル情報記憶部124は、学習に関する情報を記憶する。例えば、モデル情報記憶部124は、モデルを記憶する。例えば、モデル情報記憶部124は、生成処理により生成されたモデルの情報を記憶する。図7は、実施形態に係るモデル情報記憶部の一例を示す図である。図7に示すモデル情報記憶部124は、モデル情報として、モデルM1等に対応させて「素性1」〜「素性3」等といった項目を有する。
例えば、図7に示す例において、モデルM1に関するモデル情報は、素性1の重みが「0.3」、素性2の重みが「−0.8」、素性3の重みが「0.2」等であることを示す。例えば、モデルの素性(特徴量)がm次元のベクトルで表現される場合、素性数はm個になり、素性1〜素性mの重みが記憶される。
なお、モデル情報記憶部124は、上記に限らず、目的に応じて種々のモデル情報を記憶してもよい。
(制御部130)
図3の説明に戻って、制御部130は、コントローラ(controller)であり、例えば、CPU(Central Processing Unit)やMPU(Micro Processing Unit)等によって、生成装置100内部の記憶装置に記憶されている各種プログラム(生成プログラムの一例に相当)がRAMを作業領域として実行されることにより実現される。また、制御部130は、コントローラ(controller)であり、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の集積回路により実現される。
図3に示すように、制御部130は、取得部131と、分類部132と、生成部133と、送信部134とを有し、以下に説明する情報処理の機能や作用を実現または実行する。なお、制御部130の内部構成は、図3に示した構成に限られず、後述する情報処理を行う構成であれば他の構成であってもよい。
(取得部131)
取得部131は、各種情報を取得する。例えば、取得部131は、端末装置10等の外部装置から各種情報を取得する。例えば、取得部131は、ユーザ情報記憶部121や、行動情報記憶部122や、クラスタ情報記憶部123や、モデル情報記憶部124等から各種情報を取得する。
図1の例では、取得部131は、行動情報記憶部122(図5参照)から各ユーザの行動情報を取得する。図1の例では、取得部131は、行動情報記憶部122(図5参照)から、各ユーザについて時間に関する行動情報を取得する。
例えば、取得部131は、各第1の対象に対応付けられた第2の対象に関する情報を取得する。例えば、取得部131は、第1の対象に関する所定単位ごとの各第1の対象に対応付けられた第2の対象に関する情報を取得する。例えば、取得部131は、第1の対象に関する所定単位を複数含むグループごとの各第1の対象に対応付けられた第2の対象に関する情報を取得する。
例えば、取得部131は、ユーザに関する各第1の対象ごとに対応付けられた第2の対象に関する情報を取得する。例えば、取得部131は、時間または位置に関する第2の対象に関する情報を取得する。例えば、取得部131は、時間に関する各第1の対象ごとに対応付けられた第2の対象に関する情報を取得する。例えば、取得部131は、ユーザまたは位置に関する前記第2の対象に関する情報を取得する。例えば、取得部131は、位置に関する各第1の対象ごとに対応付けられた第2の対象に関する情報を取得する。例えば、取得部131は、ユーザまたは時間に関する前記第2の対象に関する情報を取得する。
(分類部132)
分類部132は、種々の情報を分類する。例えば、分類部132は、各種情報をクラスタに分類する。例えば、分類部132は、分類したクラスタに関する情報を生成する。
例えば、分類部132は、各第1の対象に対応付けられた第2の対象に関する情報の各々を所定数のクラスタに分類し、各第1の対象に対応する各クラスタを各第1の対象間で所定の基準に基づいて対応付ける。例えば、分類部132は、所定の基準点に基づいて、各第1の対象に対応する各クラスタを各第1の対象間で対応付ける。例えば、分類部132は、各クラスタの対応付けに関する所定の学習処理に基づいて、各第1の対象に対応する各クラスタを各第1の対象間で対応付ける。例えば、分類部132は、第2の対象に関する情報以外の情報に基づいて、各第1の対象に対応する各クラスタを各第1の対象間で対応付ける。
図1の例では、分類部132は、行動情報記憶部122(図5参照)に示す日時「TM11」の時刻が時刻t12に対応する場合、行動ID「AT11」により識別される行動情報は、時刻t12に関する行動情報であるとして、グラフGR1を生成する。例図1の例では、分類部132は、行動情報記憶部122に記憶されたユーザU1の行動情報に基づいて、グラフGR1を生成する。また、図1の例では、分類部132は、行動情報記憶部122に記憶されたユーザU2の行動情報に基づいて、グラフGR2を生成する。また、図1の例では、分類部132は、行動情報記憶部122に記憶されたユーザU3の行動情報に基づいて、グラフGR3を生成する。
例えば、分類部132は、各ユーザの行動情報を時間に基づいてクラスタリングする。図1に示す例においては、生成装置100は、各ユーザの行動情報を時間に基づいて3つのクラスタに分類(クラスタリング)する。
図1の例では、分類部132は、ユーザU1のグラフGR1を3つのクラスタにクラスタリングする。図1の例では、分類部132は、ユーザU1のグラフGR1を時間軸(X軸)に沿って3つのクラスタにクラスタリングする。図1の例では、分類部132は、ユーザU1のグラフGR1を、時刻t11−t12と、時刻t12−t13と、時刻t13−t11との3つのクラスタにクラスタリングする。図1の例では、分類部132は、ユーザU1の行動情報を、時刻t11から時刻t12間に対応する行動情報と、時刻t12から時刻t13間に対応する行動情報と、時刻t13から時刻t11間に対応する行動情報との3つのクラスタにクラスタリングする。例えば、分類部132は、種々のクラスタリング手法を適宜用いて、上述のようなクラスタリングを行ってもよい。また、例えば、図1の例では、分類部132は、グラフGR1において3つの波ができるように所定の関数で近似した後、3つのクラスタにクラスタリングしてもよい。
図1の例では、分類部132は、ユーザU2のグラフGR2を3つのクラスタにクラスタリングする。図1の例では、分類部132は、ユーザU2のグラフGR2を時間軸(X軸)に沿って3つのクラスタにクラスタリングする。図1の例では、分類部132は、ユーザU2のグラフGR2を、時刻t21−t22と、時刻t22−t23と、時刻t23−t21との3つのクラスタにクラスタリングする。図1の例では、分類部132は、ユーザU2の行動情報を、時刻t21から時刻t22間に対応する行動情報と、時刻t22から時刻t23間に対応する行動情報と、時刻t23から時刻t21間に対応する行動情報との3つのクラスタにクラスタリングする。
図1の例では、分類部132は、ユーザU3のグラフGR3を3つのクラスタにクラスタリングする。図1の例では、分類部132は、ユーザU3のグラフGR3を時間軸(X軸)に沿って3つのクラスタにクラスタリングする。図1の例では、分類部132は、ユーザU3のグラフGR3を、時刻t31−t32と、時刻t32−t33と、時刻t33−t31との3つのクラスタにクラスタリングする。図1の例では、分類部132は、ユーザU3の行動情報を、時刻t31から時刻t32間に対応する行動情報と、時刻t32から時刻t33間に対応する行動情報と、時刻t33から時刻t31間に対応する行動情報との3つのクラスタにクラスタリングする。
図1の例では、分類部132は、各ユーザに対応する各クラスタを各ユーザ間で所定の基準に基づいて対応付ける。例えば、分類部132は、所定の基準点に基づいて、各ユーザに対応する各クラスタを各ユーザ間で対応付ける。図1の例では、分類部132は、基準点PV11に基づいて、各ユーザに対応する各クラスタを各ユーザ間で対応付ける。図1の例では、基準点PV11は、所定の時刻であり、時刻t22と時刻t12との間の時刻であるものとする。
図1の例では、分類部132は、各ユーザに対応する各クラスタについて、基準点PV11に対応するクラスタから順にナンバリングすることにより、各ユーザに対応する各クラスタを各ユーザ間で対応付ける。
図1の例では、分類部132は、基準点PV11が時刻t11から時刻t12の間にあるため、ユーザU1については時刻t11−t12を1番にナンバリングする。図1の例では、分類部132は、ユーザU1については時刻t11−t12を「T1番」とナンバリングし、クラスタCL1に対応するサブクラスタCL1−1とする。
また、図1の例では、分類部132は、ユーザU1について時刻t11−t12の次の時刻t12−t13を2番にナンバリングする。図1の例では、分類部132は、ユーザU1については時刻t12−t13を「T2番」とナンバリングし、クラスタCL2に対応するサブクラスタCL2−1とする。
また、図1の例では、分類部132は、ユーザU1について時刻t12−t13の次の時刻t13−t11を3番にナンバリングする。図1の例では、分類部132は、ユーザU1については時刻t13−t11を「T3番」とナンバリングし、クラスタCL3に対応するサブクラスタCL3−1とする。図1の例では、分類部132は、ユーザU2やユーザU3の情報についても同様にナンバリングする。
また、図1の例では、分類部132は、ユーザU1について時刻t11−t12に対応する行動情報を含むサブクラスタCL1−1と、ユーザU2について時刻t22−t23に対応する行動情報を含むサブクラスタCL1−2と、ユーザU3について時刻t31−t32に対応する行動情報を含むサブクラスタCL1−3とをクラスタCL1として対応付ける。また、図1の例では、分類部132は、ユーザU1について時刻t12−t13に対応する行動情報を含むサブクラスタCL2−1と、ユーザU2について時刻t23−t21に対応する行動情報を含むサブクラスタCL2−2と、ユーザU3について時刻t32−t33に対応する行動情報を含むサブクラスタCL2−3とをクラスタCL2として対応付ける。また、図1の例では、分類部132は、ユーザU1について時刻t13−t11に対応する行動情報を含むサブクラスタCL3−1と、ユーザU2について時刻t21−t22に対応する行動情報を含むサブクラスタCL3−2と、ユーザU3について時刻t33−t31に対応する行動情報を含むサブクラスタCL3−3とをクラスタCL3として対応付ける。
(生成部133)
生成部133は、各種情報を生成する。生成部133は、各種情報を用いて学習を行う。例えば、生成部133は、各種情報を用いてモデルを生成する。例えば、生成部133は、取得部131により収集された情報に基づいて学習を行う。例えば、生成部133は、各第1の対象における各クラスタの対応付けに基づいて、所定のモデルを生成する。
図1の例では、生成部133は、分類部132によりクラスタリングされた情報に基づいて、モデルを生成する。図1の例では、生成部133は、クラスタCL1に対応する情報やクラスタCL2に対応する情報やクラスタCL3に対応する情報等を用いて、所定のモデルとして、ユーザに配信するコンテンツの決定に用いるモデルを生成する。
(送信部134)
送信部134は、端末装置10に各種情報を送信する。例えば、送信部134は、端末装置10に情報の取得要求を送信する。また、送信部134は、生成部133により生成されたモデルを送信する。また、送信部134は、モデルを用いたサービスを提供する外部装置にモデルを送信する。
〔4.生成処理のフロー〕
次に、図8を用いて、実施形態に係る生成システム1による生成処理の手順について説明する。図8は、実施形態に係る生成処理の一例を示すフローチャートである。
図8に示すように、生成装置100は、各第1の対象に対応付けられた第2の対象に関する情報を取得する(ステップS101)。例えば、生成装置100は、行動情報記憶部122に記憶された各第1の対象(ユーザ)に対応付けられた第2の対象(時間)に関する情報(行動情報)を取得する。
その後、生成装置100は、各第1の対象の第2の対象に関する情報の各々を所定数のクラスタに分類する(ステップS102)。例えば、生成装置100は、各第1の対象(ユーザ)に対応付けられた第2の対象(時間)に関する情報(行動情報)を3つのクラスタに分類する。
また、生成装置100は、各第1の対象に対応する各クラスタ間を所定の基準に基づいて対応付けする(ステップS103)。例えば、生成装置100は、ユーザU1の時刻t11−t12間の行動情報と、ユーザU2の時刻t22−t23間の行動情報と、ユーザU3の時刻t31−t32間の行動情報とを対応付ける。
その後、生成装置100は、各第1の対象における各クラスタの対応付けに基づいて、所定のモデルを生成する(ステップS104)。例えば、生成装置100は、ユーザU1〜ユーザU3等の行動情報が対応するクラスタCL1〜CL3等の情報に基づいてモデルを生成する。
〔5.生成処理の他の例〕
生成装置100は、上述した例に限らず種々の第1の対象を対象として、処理を行ってもよい。この点について、図9〜図11を用いて説明する。図9〜図11は、実施形態に係るモデルの生成処理の一例を示す図である。なお、図1における生成処理と同様の点については適宜説明を省略する。
(5−1.第2の対象=位置)
まず、図9の例について説明する。図9では、生成装置100が各ユーザに関する情報(データ)を用いて所定のモデルを生成する場合を示す。なお、図9の例では、所定のモデルとして、ユーザに配信するコンテンツの決定に用いるモデルを生成する。
図9の例では、各ユーザを第1の対象とする場合を示す。具体的には、図1では、ユーザID「U1」により識別されるユーザ(以下、「ユーザU1」ともいう)やユーザID「U2」により識別されるユーザ(ユーザU2)等を対象とする場合を示す。例えば、ユーザU1やユーザU2等は、端末装置10を利用するユーザであり、生成装置100は端末装置10が有するGPS(Global Positioning System)センサ等の機能により端末装置10の位置を取得する。
また、図9の例では、位置を第2の対象とする場合を示す。図1の例では、生成装置100は、図5中の行動情報記憶部122に示すような、各ユーザの行動情報であって、位置に対応付けられた行動情報をクラスタリングし、モデルを生成する場合を説明する。
図9に示すマップ情報MP1は、ユーザU1についての位置に関する情報を模式的に示す図である。例えば、マップ情報MP1中に示すエリアAR11やエリアAR12やエリアAR13は、ユーザU1について行動情報が多く取得されたエリア(位置)であることを示す。
また、図9に示すマップ情報MP2は、ユーザU2についての位置に関する情報を模式的に示す図である。例えば、マップ情報MP2中に示すエリアAR21やエリアAR22やエリアAR23は、ユーザU2について行動情報が多く取得されたエリア(位置)であることを示す。なお、マップ情報MP1及びマップ情報MP2は、共通のエリアを示すマップ情報であってもよいし、異なるエリアを示すマップ情報であってもよい。例えば、マップ情報MP1における各位置とマップ情報MP2における各位置とは一致してもよい。例えば、マップ情報MP1及びマップ情報MP2は、同じエリア(例えば、A県やB市党の所定のエリア)を示すものであってもよい。
以下、上述したマップ情報MP1、MP2を基に生成装置100がモデルの生成を行う場合を示す。まず、生成装置100は、各ユーザの行動情報を位置に基づいてクラスタリングする。図9に示す例においては、生成装置100は、各ユーザの行動情報を位置に基づいて3つのクラスタに分類(クラスタリング)する。なお、クラスタの数は、生成するモデルの目的や条件等の種々の情報に基づいて決定されてもよい。
まず、図9に示す例においては、生成装置100は、ユーザU1の位置に対応付けられた行動情報を位置に基づいて3つのクラスタにクラスタリングする(ステップS21−1)。例えば、生成装置100は、ユーザU1のマップ情報MP1中の多く位置情報が取得されたエリアに基づいて3つのクラスタにクラスタリングする。図9の例では、生成装置100は、マップ情報MP1中に示すエリアAR11と、エリアAR12と、エリアAR13との3つのクラスタにクラスタリングする。言い換えると、生成装置100は、ユーザU1の行動情報を、エリアAR11に対応する行動情報と、エリアAR12に対応する行動情報と、エリアAR13に対応する行動情報との3つのクラスタにクラスタリングする。
例えば、生成装置100は、種々のクラスタリング手法を適宜用いて、上述のようなクラスタリングを行ってもよい。生成装置100は、k−means法やディリクレ過程を用いたロジスティック回帰等の種々のクラスタリング手法を用いてもよい。また、例えば、生成装置100は、マップ情報MP1において3つの集合ができるように所定の関数で近似した後、3つのクラスタにクラスタリングしてもよい。
なお、上記は説明を簡単にするために3つのエリアAR11〜AR13を対象とする場合を示すが、生成装置100は、例えば、マップ情報MP1全体を3つの領域に分割してもよい。例えば、生成装置100は、例えば、ユーザU1について行動情報が多く取得される範囲に関する3つの中心点を特定して、マップ情報MP1全体を3つのボロノイ領域に分割してもよい。
また、図9に示す例においては、生成装置100は、ユーザU2の位置に対応付けられた行動情報を位置に基づいて3つのクラスタにクラスタリングする(ステップS21−2)。例えば、生成装置100は、ユーザU2のマップ情報MP2中の多く位置情報が取得されたエリアに基づいて3つのクラスタにクラスタリングする。図9の例では、生成装置100は、マップ情報MP2中に示すエリアAR21と、エリアAR22と、エリアAR23との3つのクラスタにクラスタリングする。言い換えると、生成装置100は、ユーザU2の行動情報を、エリアAR21に対応する行動情報と、エリアAR22に対応する行動情報と、エリアAR23に対応する行動情報との3つのクラスタにクラスタリングする。
なお、ステップS21−1、S21−2は、処理を説明するためのものであり、ステップS21−1、S21−2のいずれが先に行われてもよく、各ステップS21−1、S21−2は、複数回行われてもよい。以下、ステップS21−1、S21−2を区別せずに説明する場合、ステップS21と総称する。このように、ステップS21において、生成装置100は、各ユーザU1〜U3の行動情報を、位置におけるユーザごとの取得状況に応じて適切にクラスタリングすることができる。
そして、生成装置100は、各ユーザに対応する各クラスタを各ユーザ間で所定の基準に基づいて対応付ける。例えば、生成装置100は、所定の基準点に基づいて、各ユーザに対応する各クラスタを各ユーザ間で対応付ける。図9の例では、生成装置100は、基準点PV21に基づいて、各ユーザに対応する各クラスタを各ユーザ間で対応付ける。図9の例では、基準点PV21は、各ユーザの自宅に対応する基準位置であるものとする。なお、図9の例では、ユーザU1の自宅に対応する基準点PV21を基準点PV21−1とし、ユーザU2の自宅に対応する基準点PV21を基準点PV21−2として説明する。基準点PV21は、ユーザによって変動する基準点ではなく、全ユーザに共通の基準点であってもよい。
例えば、生成装置100は、各ユーザに対応する各クラスタについて、基準点PV21に対応するクラスタから順にナンバリングすることにより、各ユーザに対応する各クラスタを各ユーザ間で対応付ける。
図9の例では、生成装置100は、マップ情報MP1に示すように、基準点PV21−1がエリアAR12に最も近いため、ユーザU1についてはエリアAR12を1番にナンバリングする(ステップS22−1)。例えば、生成装置100は、ユーザU1についてはエリアAR12を「P1番」とナンバリングし、クラスタCL11に対応するサブクラスタCL11−1とする。
また、図9の例では、生成装置100は、エリアAR13が基準点PV21−1にエリアAR12の次に近いため、ユーザU1についてはエリアAR13を2番にナンバリングする(ステップS22−2)。例えば、生成装置100は、ユーザU1についてはエリアAR13を「P2番」とナンバリングし、クラスタCL12に対応するサブクラスタCL12−1とする。
また、図9の例では、生成装置100は、エリアAR11が基準点PV21−1にエリアAR13の次に近いため、ユーザU1についてはエリアAR11を3番にナンバリングする(ステップS22−3)。例えば、生成装置100は、ユーザU1についてはエリアAR11を「P3番」とナンバリングし、クラスタCL13に対応するサブクラスタCL13−1とする。
また、図9の例では、生成装置100は、マップ情報MP2に示すように、基準点PV21−2がエリアAR21に最も近いため、ユーザU2についてはエリアAR21を1番にナンバリングする(ステップS23−1)。例えば、生成装置100は、ユーザU2についてはエリアAR21を「P1番」とナンバリングし、クラスタCL11に対応するサブクラスタCL11−2とする。
また、図9の例では、生成装置100は、エリアAR22が基準点PV21−1にエリアAR21の次に近いため、ユーザU2についてはエリアAR22を2番にナンバリングする(ステップS23−2)。例えば、生成装置100は、ユーザU2についてはエリアAR22を「P2番」とナンバリングし、クラスタCL12に対応するサブクラスタCL12−2とする。
また、図9の例では、生成装置100は、エリアAR23が基準点PV21−1にエリアAR22の次に近いため、ユーザU2についてはエリアAR23を3番にナンバリングする(ステップS23−3)。例えば、生成装置100は、ユーザU2についてはエリアAR23を「P2番」とナンバリングし、クラスタCL13に対応するサブクラスタCL13−2とする。
これにより、生成装置100は、各ユーザの情報を適切に対応付けることができる。図9の例では、生成装置100は、ユーザU1についてエリアAR12に対応する行動情報を含むサブクラスタCL11−1と、ユーザU2についてエリアAR21に対応する行動情報を含むサブクラスタCL11−2とをクラスタCL11として対応付ける。図9の例では、生成装置100は、ユーザU1についてエリアAR13に対応する行動情報を含むサブクラスタCL12−1と、ユーザU2についてエリアAR22に対応する行動情報を含むサブクラスタCL12−2とをクラスタCL12として対応付ける。図9の例では、生成装置100は、ユーザU1についてエリアAR11に対応する行動情報を含むサブクラスタCL13−1と、ユーザU2についてエリアAR23に対応する行動情報を含むサブクラスタCL13−2とをクラスタCL13として対応付ける。
このように、生成装置100は、各ユーザU1〜U3の各クラスタを、基準点PV21に基づいて対応付けることにより、学習(モデルの生成)に用いる適切なデータ(情報)を生成することができる。
そして、生成装置100は、クラスタリングされた情報に基づいて、モデルを生成する(ステップS24)。図1の例では、生成装置100は、クラスタCL11に対応する情報やクラスタCL12に対応する情報やクラスタCL13に対応する情報等を用いて、所定のモデルとして、ユーザに配信するコンテンツの決定に用いるモデルを生成する。
上述したように、生成装置100は、第2の対象が位置である場合における各ユーザの行動情報の取得状況に応じて、各ユーザの行動情報をクラスタリングして、所定の基準点に基づいて、各ユーザのクラスタを対応付けることができる。これにより、生成装置100は、情報に応じて柔軟なモデルの生成を可能にすることができる。
(5−2.第1の対象=時間、第2の対象=位置)
次に、図10及び図11の例について説明する。図10及び図11では、生成装置100が各時間帯に関する情報(データ)を用いて所定のモデルを生成する場合を示す。なお、図10及び図11の例では、所定のモデルとして、ユーザに配信するコンテンツの決定に用いるモデルを生成する。なお、図9の例を同様の点については適宜説明を省略する。
図10の例では、各時間帯を第1の対象とする場合を示す。具体的には、図1では、6〜12時の時間帯Aや18〜24時の時間帯B等を対象とする場合を示す。例えば、ユーザU1やユーザU2等は、端末装置10を利用するユーザであり、生成装置100は端末装置10が有するGPSセンサ等の機能により端末装置10の位置を取得する。
また、図10及び図11の例では、位置を第2の対象とする場合を示す。図1の例では、生成装置100は、図5中の行動情報記憶部122に示すような、各ユーザの行動情報のうち、各時間帯に対応する行動情報を1つもグループとし、その各グループの行動情報について、位置に対応付けられた行動情報をクラスタリングし、モデルを生成する場合を説明する。
図10に示すマップ情報MP31−1は、時間帯Aについての位置に関する情報を模式的に示す図である。例えば、マップ情報MP31−1中に示すエリアAR31やエリアAR32やエリアAR33は、時間帯Aについてユーザの行動情報が多く取得されたエリア(位置)であることを示す。
また、図10に示すマップ情報MP31−2は、時間帯Bについての位置に関する情報を模式的に示す図である。例えば、マップ情報MP31−2中に示すエリアAR34やエリアAR35やエリアAR36は、時間帯Bについてユーザの行動情報が多く取得されたエリア(位置)であることを示す。なお、マップ情報MP31−1及びマップ情報MP31−2は、共通のエリアを示すマップ情報であり、ユーザの行動情報が多く取得されたエリアAR31〜AR36が異なることを示すマップ情報である。例えば、マップ情報MP31−1及びマップ情報MP31−2は、同じエリア(例えば、A県やB市党の所定のエリア)を示すものとする。なお、以下では、マップ情報MP31−1及びマップ情報MP31−2を区別説に説明する場合は、マップ情報MP31と記載する。
以下、上述したマップ情報MP31−1、MP31−2を基に生成装置100がモデルの生成を行う場合を示す。このように、図10に示すマップ情報MP31−1、MP31−2のように、同じエリアについて異なる時間帯の各々を第1の対象とすることにより、時間他に応じて性格が異なる(昼はオフィス街、夜は歓楽街等)エリアについても、どの時間帯にも適用可能なモデルの生成を行うことができる。また、図10に示すマップ情報MP31−1、MP31−2のように、同じエリアについて異なる時間帯の各々を第1の対象とすることにより、昼の時間帯と夜の時間帯とで飲食店の人気店が異なるようなエリアであっても、昼の時間帯と夜の時間帯とを異なる対象としてクラスタリングを行うことにより、どの時間帯にも適用可能なモデルの生成を行うことができる。
まず、生成装置100は、各ユーザの行動情報を位置に基づいてクラスタリングする。図10に示す例においては、生成装置100は、各時間帯におけるユーザの行動情報を位置に基づいて3つのクラスタに分類(クラスタリング)する。なお、クラスタの数は、生成するモデルの目的や条件等の種々の情報に基づいて決定されてもよい。
まず、図10に示す例においては、生成装置100は、時間帯Aの位置に対応付けられた行動情報を位置に基づいて3つのクラスタにクラスタリングする(ステップS31−1)。例えば、生成装置100は、時間帯Aのマップ情報MP31−1中の多く位置情報が取得されたエリアに基づいて3つのクラスタにクラスタリングする。図10の例では、生成装置100は、マップ情報MP31−1中に示すエリアAR31と、エリアAR32と、エリアAR33との3つのクラスタにクラスタリングする。言い換えると、生成装置100は、時間帯Aにおけるユーザの行動情報を、エリアAR31に対応する行動情報と、エリアAR32に対応する行動情報と、エリアAR33に対応する行動情報との3つのクラスタにクラスタリングする。
また、図10に示す例においては、生成装置100は、時間帯Bの位置に対応付けられた行動情報を位置に基づいて3つのクラスタにクラスタリングする(ステップS31−2)。例えば、生成装置100は、時間帯Bのマップ情報MP31−2中の多く位置情報が取得されたエリアに基づいて3つのクラスタにクラスタリングする。図10の例では、生成装置100は、マップ情報MP31−2中に示すエリアAR34と、エリアAR35と、エリアAR36との3つのクラスタにクラスタリングする。言い換えると、生成装置100は、時間帯Bにおけるユーザの行動情報を、エリアAR34に対応する行動情報と、エリアAR325対応する行動情報と、エリアAR36に対応する行動情報との3つのクラスタにクラスタリングする。
なお、ステップS31−1、S31−2は、処理を説明するためのものであり、ステップS31−1、S31−2のいずれが先に行われてもよく、各ステップS31−1、S31−2は、複数回行われてもよい。以下、ステップS31−1、S31−2を区別せずに説明する場合、ステップS31と総称する。このように、ステップS31において、生成装置100は、各時間帯におけるユーザの行動情報を、エリア(位置)ごとの取得状況に応じて適切にクラスタリングすることができる。
そして、生成装置100は、各ユーザに対応する各クラスタを各ユーザ間で所定の基準に基づいて対応付ける。例えば、生成装置100は、各クラスタの対応付けに関する所定の学習処理に基づいて、各第1の対象に対応する各クラスタを各第1の対象間で対応付ける。図10の例では、生成装置100は、交差検証(クロスバリデーション)により、各時間帯に対応する各クラスタを各時間帯間で対応付ける。この点について図11を用いて詳述する。
図11は、交差検証(クロスバリデーション)による対応付処理を概念的に示す図である。図11では、時間帯AのエリアAR31に対応するデータセットをデータセットDS31とし、時間帯AのエリアAR32に対応するデータセットをデータセットDS32とし、時間帯AのエリアAR33に対応するデータセットをデータセットDS33とする。また、図11では、時間帯BのエリアAR34に対応するデータセットをデータセットDS34とし、時間帯BのエリアAR35に対応するデータセットをデータセットDS35とし、時間帯BのエリアAR36に対応するデータセットをデータセットDS36とする。
また、図11の例は、データセットDS31について、データDT31−1〜DT31−3等を訓練用データとし、データDT31−4、DT31−5等を検証用データとして図示する。図11の例は、データセットDS36について、データDT36−1〜DT36−3等を訓練用データとし、データDT36−4、DT36−5等を検証用データとして図示する。なお、他のデータセットDS32〜DS35についても同様に訓練用データと検証用データとが決定される。なお、上述したように、どのデータを訓練用データや検証用データにするかは適宜決定されてもよい。
そして、生成装置100は、各ナンバリングパターンを検証することにより、どの対応付けにするかを決定する。図11の例では、生成装置100は、ナンバリングパターンPT51(ナンバリングパターンA)に示すような対応付けに基づいて、モデルを生成し、検証する(ステップS51)。例えば、ナンバリングパターンPT51は、時間帯AのエリアAR31に対応する行動情報と、時間帯BのエリアAR34に対応する行動情報をクラスタCL31として対応付けるナンバリングパターンに対応する。例えば、ナンバリングパターンPT51は、時間帯AのエリアAR32に対応する行動情報と、時間帯BのエリアAR35に対応する行動情報をクラスタCL32として対応付けるナンバリングパターンに対応する。例えば、ナンバリングパターンPT51は、時間帯AのエリアAR33に対応する行動情報と、時間帯BのエリアAR36に対応する行動情報をクラスタCL33として対応付けるナンバリングパターンに対応する。
例えば、生成装置100は、ナンバリングパターンPT51に基づいて、各データセットDS31〜DS36の訓練用データを用いてモデルを生成する。図11の例では、生成装置100は、交差検証(クロスバリデーション)の結果、結果情報RS51に示すように、ナンバリングパターンPT51の対応付けに基づいて生成されたモデルの精度が中(例えば、60%)であると判定する。そして、生成装置100は、ナンバリングパターンPT51に基づいて生成されたモデルの精度が、所定の基準(例えば、80%以上)を満たさないと判定する。
また、図11の例では、生成装置100は、ナンバリングパターンPT52(ナンバリングパターンB)に示すような対応付けに基づいて、モデルを生成し、検証する(ステップS52)。
例えば、生成装置100は、ナンバリングパターンPT52に基づいて、各データセットDS31〜DS36の訓練用データを用いてモデルを生成する。図11の例では、生成装置100は、交差検証(クロスバリデーション)の結果、結果情報RS52に示すように、ナンバリングパターンPT52の対応付けに基づいて生成されたモデルの精度が低(例えば、20%)であると判定する。そして、生成装置100は、ナンバリングパターンPT52に基づいて生成されたモデルの精度が、所定の基準(例えば、80%以上)を満たさないと判定する。例えば、生成装置100は、所定の基準を満たすナンバリンパターンが得られるまで、各ナンバリングパターンについて同様の処理を繰り返す。
図11の例では、生成装置100は、ナンバリングパターンPT55(ナンバリングパターンN)に示すような対応付けに基づいて、モデルを生成し、検証する(ステップS55)。
例えば、生成装置100は、ナンバリングパターンPT55に基づいて、各データセットDS31〜DS36の訓練用データを用いてモデルを生成する。図11の例では、生成装置100は、交差検証(クロスバリデーション)の結果、結果情報RS55に示すように、ナンバリングパターンPT55の対応付けに基づいて生成されたモデルの精度が高(例えば、90%)であると判定する。そして、生成装置100は、ナンバリングパターンPT55に基づいて生成されたモデルの精度が、所定の基準(例えば、80%以上)を満たすと判定する。
そのため、図11の例では、生成装置100は、各クラスタ間の対応付けをナンバリングパターンPT55に決定する(ステップS56)。
例えば、生成装置100は、ナンバリングパターンPT55に基づいて、図10に示すように、各時間帯に対応する各クラスタについて、ナンバリングすることにより、各ユーザに対応する各クラスタを各時間帯間で対応付ける。
図10の例では、生成装置100は、マップ情報MP31−1に示すように、時間帯AについてはエリアAR32を1番にナンバリングする(ステップS32−1)。例えば、生成装置100は、時間帯AについてはエリアAR32を「P1番」とナンバリングし、クラスタCL31に対応するサブクラスタCL31−1とする。
また、図10の例では、生成装置100は、マップ情報MP31−1に示すように、時間帯AについてはエリアAR33を2番にナンバリングする(ステップS32−2)。例えば、生成装置100は、時間帯AについてはエリアAR33を「P2番」とナンバリングし、クラスタCL32に対応するサブクラスタCL32−1とする。
また、図10の例では、生成装置100は、マップ情報MP31−1に示すように、時間帯AについてはエリアAR31を3番にナンバリングする(ステップS32−3)。例えば、生成装置100は、時間帯AについてはエリアAR31を「P3番」とナンバリングし、クラスタCL33に対応するサブクラスタCL33−1とする。
図10の例では、生成装置100は、マップ情報MP31−2に示すように、時間帯BについてはエリアAR34を1番にナンバリングする(ステップS33−1)。例えば、生成装置100は、時間帯BについてはエリアAR34を「P1番」とナンバリングし、クラスタCL31に対応するサブクラスタCL31−2とする。
また、図10の例では、生成装置100は、マップ情報MP31−2に示すように、時間帯BについてはエリアAR35を2番にナンバリングする(ステップS33−2)。例えば、生成装置100は、時間帯BについてはエリアAR35を「P2番」とナンバリングし、クラスタCL32に対応するサブクラスタCL32−2とする。
また、図10の例では、生成装置100は、マップ情報MP31−2に示すように、時間帯BについてはエリアAR36を3番にナンバリングする(ステップS33−3)。例えば、生成装置100は、時間帯BについてはエリアAR36を「P3番」とナンバリングし、クラスタCL33に対応するサブクラスタCL33−2とする。
これにより、生成装置100は、各時間帯の情報を適切に対応付けることができる。図10の例では、生成装置100は、時間帯AについてエリアAR32に対応する行動情報を含むサブクラスタCL31−1と、時間帯BについてエリアAR34に対応する行動情報を含むサブクラスタCL31−2とをクラスタCL31として対応付ける。図10の例では、生成装置100は、時間帯AについてエリアAR33に対応する行動情報を含むサブクラスタCL32−1と、時間帯BについてエリアAR35に対応する行動情報を含むサブクラスタCL32−2とをクラスタCL32として対応付ける。図10の例では、生成装置100は、時間帯AについてエリアAR31に対応する行動情報を含むサブクラスタCL33−1と、時間帯BについてエリアAR36に対応する行動情報を含むサブクラスタCL33−2とをクラスタCL33として対応付ける。
このように、生成装置100は、各時間帯A、B等の各クラスタを、交差検証(クロスバリデーション)の結果に基づいて対応付けることにより、学習(モデルの生成)に用いる適切なデータ(情報)を生成することができる。
そして、生成装置100は、クラスタリングされた情報に基づいて、モデルを生成する(ステップS34)。図1の例では、生成装置100は、クラスタCL31に対応する情報やクラスタCL32に対応する情報やクラスタCL33に対応する情報等を用いて、所定のモデルとして、ユーザに配信するコンテンツの決定に用いるモデルを生成する。
上述したように、生成装置100は、第1の対象が時間帯であり、第2の対象が位置である場合における各時間帯の行動情報の取得状況に応じて、各時間帯の行動情報をクラスタリングして、交差検証(クロスバリデーション)の結果に基づいて、各時間帯のクラスタを対応付けることができる。これにより、生成装置100は、情報に応じて柔軟なモデルの生成を可能にすることができる。なお、上述した例では、生成装置100は、各第1の対象のデータのクラスタ数を3つとして、交差検証の結果に基づいて、各第1の対象のクラスタを対応付ける場合を示したが、各第1の対象のデータのクラスタ数を交差検証の結果に基づいて、決定してもよい。生成装置100は、各第1の対象のデータのクラスタ数を3つとした場合や、各第1の対象のデータのクラスタ数を4つとした場合や、各第1の対象のデータのクラスタ数を5つとした場合等について、交差検証を行い、学習に用いるデータのクラスタリングを、最も精度が高いクラスタ数及びクラスタの対応付けに決定してもよい。例えば、生成装置100は、各第1の対象のデータのクラスタ数を3つとした場合における、各ナンバリングパターンを検証することにより、クラスタ数を3つとした場合の最適な対応付けを決定する。また、例えば、生成装置100は、各第1の対象のデータのクラスタ数を4つとした場合における、各ナンバリングパターンを検証することにより、クラスタ数を4つとした場合の最適な対応付けを決定する。また、例えば、生成装置100は、各第1の対象のデータのクラスタ数を5つとした場合における、各ナンバリングパターンを検証することにより、クラスタ数を5つとした場合の最適な対応付けを決定する。そして、クラスタ数を3、4、5とした場合の各々の最適な対応付け間の精度を比較し、最も精度の高いクラスタ数(例えば、「4」等)及びクラスタの対応付けに決定してもよい。なお、上述のクラスタ数3、4、5は一例であり、クラスタ数は、所定数N(Nは2以上の自然数)であれば、どのような数であってもよい。
〔6.効果〕
上述してきたように、実施形態に係る生成装置100は、取得部131と、分類部132と、生成部133とを有する。取得部131は、各第1の対象に対応付けられた第2の対象に関する情報を取得する。分類部132は、各第1の対象に対応付けられた第2の対象に関する情報の各々を所定数のクラスタに分類し、各第1の対象に対応する各クラスタを各第1の対象間で所定の基準に基づいて対応付ける。また、生成部133は、各第1の対象間における各クラスタの対応付けに基づいて、所定のモデルを生成する。
これにより、実施形態に係る生成装置100は、各第1の対象に対応付けられた第2の対象に関する情報の各々を所定数のクラスタに分類し、各第1の対象に対応する各クラスタを各第1の対象間で所定の基準に基づいて対応付け、各第1の対象間における各クラスタの対応付けに基づいて、所定のモデルを生成することにより、情報に応じて柔軟なモデルの生成を可能にすることができる。
また、実施形態に係る生成装置100において、取得部131は、第1の対象に関する所定単位ごとの各第1の対象に対応付けられた第2の対象に関する情報を取得する。
これにより、実施形態に係る生成装置100は、第1の対象に関する所定単位ごとの各第1の対象に対応付けられた第2の対象に関する情報を取得することにより、所定単位ごとの情報に応じて柔軟なモデルの生成を可能にすることができる。
また、実施形態に係る生成装置100において、取得部131は、第1の対象に関する所定単位を複数含むグループごとの各第1の対象に対応付けられた第2の対象に関する情報を取得する。
これにより、実施形態に係る生成装置100は、第1の対象に関する所定単位を複数含むグループごとの各第1の対象に対応付けられた第2の対象に関する情報を取得することにより、グループごとの情報に応じて柔軟なモデルの生成を可能にすることができる。
また、実施形態に係る生成装置100において、取得部131は、ユーザに関する各第1の対象ごとに対応付けられた第2の対象に関する情報を取得する。
これにより、実施形態に係る生成装置100は、ユーザに関する各第1の対象ごとに対応付けられた第2の対象に関する情報を取得することにより、ユーザに関する情報に応じて柔軟なモデルの生成を可能にすることができる。
また、実施形態に係る生成装置100において、取得部131は、時間または位置に関する第2の対象に関する情報を取得する。
これにより、実施形態に係る生成装置100は、時間または位置に関する第2の対象に関する情報を取得することにより、時間または位置に関する第2の対象に応じて柔軟なモデルの生成を可能にすることができる。
また、実施形態に係る生成装置100において、取得部131は、時間に関する各第1の対象ごとに対応付けられた第2の対象に関する情報を取得する。
これにより、実施形態に係る生成装置100は、時間に関する各第1の対象ごとに対応付けられた第2の対象に関する情報を取得することにより、時間に関する情報に応じて柔軟なモデルの生成を可能にすることができる。
また、実施形態に係る生成装置100において、取得部131は、ユーザまたは位置に関する第2の対象に関する情報を取得する。
これにより、実施形態に係る生成装置100は、ユーザまたは位置に関する第2の対象に関する情報を取得することにより、ユーザまたは位置に関する第2の対象に応じて柔軟なモデルの生成を可能にすることができる。
また、実施形態に係る生成装置100において、取得部131は、位置に関する各第1の対象ごとに対応付けられた第2の対象に関する情報を取得する。
これにより、実施形態に係る生成装置100は、位置に関する各第1の対象ごとに対応付けられた第2の対象に関する情報を取得することにより、ユーザに関する情報に応じて柔軟なモデルの生成を可能にすることができる。
また、実施形態に係る生成装置100において、取得部131は、ユーザまたは時間に関する前記第2の対象に関する情報を取得する。
これにより、実施形態に係る生成装置100は、ユーザまたは時間に関する第2の対象に関する情報を取得することにより、ユーザまたは時間に関する第2の対象に応じて柔軟なモデルの生成を可能にすることができる。
また、実施形態に係る生成装置100において、分類部132は、所定の基準点に基づいて、各第1の対象に対応する各クラスタを各第1の対象間で対応付ける。
これにより、実施形態に係る生成装置100は、所定の基準点に基づいて、各第1の対象に対応する各クラスタを各第1の対象間で対応付けることにより、情報に応じて柔軟なモデルの生成を可能にすることができる。
また、実施形態に係る生成装置100において、分類部132は、各クラスタの対応付けに関する所定の学習処理に基づいて、各第1の対象に対応する各クラスタを各第1の対象間で対応付ける。
これにより、実施形態に係る生成装置100は、各クラスタの対応付けに関する所定の学習処理に基づいて、各第1の対象に対応する各クラスタを各第1の対象間で対応付けることにより、情報に応じて柔軟なモデルの生成を可能にすることができる。
また、実施形態に係る生成装置100において、分類部132は、第2の対象に関する情報以外の情報に基づいて、各第1の対象に対応する各クラスタを各第1の対象間で対応付ける。
これにより、実施形態に係る生成装置100は、第2の対象に関する情報以外の情報に基づいて、各第1の対象に対応する各クラスタを各第1の対象間で対応付けることにより、情報に応じて柔軟なモデルの生成を可能にすることができる。
〔7.ハードウェア構成〕
上述してきた実施形態に係る生成装置100は、例えば図12に示すような構成のコンピュータ1000によって実現される。図12は、生成装置の機能を実現するコンピュータの一例を示すハードウェア構成図である。コンピュータ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を介してこれらのプログラムを取得してもよい。
以上、本願の実施形態及び変形例のいくつかを図面に基づいて詳細に説明したが、これらは例示であり、発明の開示の行に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。
〔8.その他〕
また、上記実施形態及び変形例において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、各図に示した各種情報は、図示した情報に限られない。
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
また、上述してきた実施形態及び変形例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
また、上述してきた「部(section、module、unit)」は、「手段」や「回路」などに読み替えることができる。例えば、取得部は、取得手段や取得回路に読み替えることができる。