特開2017-151867(P2017-151867A)IP Force 特許公報掲載プロジェクト 2015.5.11 β版

▶ ヤフー株式会社の特許一覧
特開2017-151867更新装置、更新方法、及び更新プログラム
<>
  • 特開2017151867-更新装置、更新方法、及び更新プログラム 図000003
  • 特開2017151867-更新装置、更新方法、及び更新プログラム 図000004
  • 特開2017151867-更新装置、更新方法、及び更新プログラム 図000005
  • 特開2017151867-更新装置、更新方法、及び更新プログラム 図000006
  • 特開2017151867-更新装置、更新方法、及び更新プログラム 図000007
  • 特開2017151867-更新装置、更新方法、及び更新プログラム 図000008
  • 特開2017151867-更新装置、更新方法、及び更新プログラム 図000009
  • 特開2017151867-更新装置、更新方法、及び更新プログラム 図000010
  • 特開2017151867-更新装置、更新方法、及び更新プログラム 図000011
  • 特開2017151867-更新装置、更新方法、及び更新プログラム 図000012
  • 特開2017151867-更新装置、更新方法、及び更新プログラム 図000013
  • 特開2017151867-更新装置、更新方法、及び更新プログラム 図000014
  • 特開2017151867-更新装置、更新方法、及び更新プログラム 図000015
  • 特開2017151867-更新装置、更新方法、及び更新プログラム 図000016
  • 特開2017151867-更新装置、更新方法、及び更新プログラム 図000017
  • 特開2017151867-更新装置、更新方法、及び更新プログラム 図000018
  • 特開2017151867-更新装置、更新方法、及び更新プログラム 図000019
  • 特開2017151867-更新装置、更新方法、及び更新プログラム 図000020
  • 特開2017151867-更新装置、更新方法、及び更新プログラム 図000021
  • 特開2017151867-更新装置、更新方法、及び更新プログラム 図000022
  • 特開2017151867-更新装置、更新方法、及び更新プログラム 図000023
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】特開2017-151867(P2017-151867A)
(43)【公開日】2017年8月31日
(54)【発明の名称】更新装置、更新方法、及び更新プログラム
(51)【国際特許分類】
   G06Q 30/02 20120101AFI20170804BHJP
   G06N 5/04 20060101ALI20170804BHJP
【FI】
   G06Q30/02 470
   G06N5/04
【審査請求】未請求
【請求項の数】14
【出願形態】OL
【全頁数】40
(21)【出願番号】特願2016-35584(P2016-35584)
(22)【出願日】2016年2月26日
(71)【出願人】
【識別番号】500257300
【氏名又は名称】ヤフー株式会社
【住所又は居所】東京都千代田区紀尾井町1番3号
(74)【代理人】
【識別番号】110002147
【氏名又は名称】特許業務法人酒井国際特許事務所
(72)【発明者】
【氏名】坪内 孝太
【住所又は居所】東京都港区赤坂九丁目7番1号 ヤフー株式会社内
(72)【発明者】
【氏名】西 賢太郎
【住所又は居所】東京都港区赤坂九丁目7番1号 ヤフー株式会社内
【テーマコード(参考)】
5L049
【Fターム(参考)】
5L049BB08
(57)【要約】
【課題】モデルを用いて所定の対象を適切に予測可能にすること。
【解決手段】本願に係る更新装置は、取得部と、更新部とを有する。取得部は、ユーザに関する区分ごとの行動に関する行動情報であって、コンテキストに基づいて分割された行動情報である分割情報が、当該分割情報の各々に含まれる行動情報の傾向に基づいて組み合わされた情報である組合情報ごとに生成されるモデルであって、所定の対象を予測するモデルに関する情報を取得する。更新部は、所定の条件を満たす場合、取得部により取得されたモデルを更新する。
【選択図】図6
【特許請求の範囲】
【請求項1】
ユーザに関する区分ごとの行動に関する行動情報であって、コンテキストに基づいて分割された行動情報である分割情報が、当該分割情報の各々に含まれる行動情報の傾向に基づいて組み合わされた情報である組合情報ごとに生成されるモデルであって、所定の対象を予測するモデルに関する情報を取得する取得部と、
所定の条件を満たす場合、前記取得部により取得されたモデルを更新する更新部と、
を備えたことを特徴とする更新装置。
【請求項2】
前記更新部は、
所定の組合情報に対応するモデルが所定の条件を満たす場合、当該モデルの重みを再計算することにより、当該モデルを更新する
ことを特徴とする請求項1に記載の更新装置。
【請求項3】
前記更新部は、
第1時点における予測精度が所定の閾値以上である所定のモデルを含むモデルにおいて、前記第1時点より後の第2時点における前記所定のモデルの予測精度が前記第1時点における予測精度に基づく基準値以下である場合、前記所定のモデルを更新する
ことを特徴とする請求項2に記載の更新装置。
【請求項4】
前記更新部は、
一の組合情報に含まれる分割情報の収集に関する情報に基づくタイミングで検証された当該一の組合情報に対応するモデルが所定の条件を満たす場合、当該モデルを更新する
ことを特徴とする請求項2または請求項3に記載の更新装置。
【請求項5】
前記更新部は、
一の組合情報に含まれる分割情報の収集される量の増減に関する情報に基づくタイミングで検証された当該一の組合情報に対応するモデルが所定の条件を満たす場合、当該モデルを更新する
ことを特徴とする請求項2〜4のいずれか1項に記載の更新装置。
【請求項6】
前記更新部は、
一の組合情報に含まれる分割情報の数に関する情報に基づくタイミングで検証された当該一の組合情報に対応するモデルが所定の条件を満たす場合、当該モデルを更新する
ことを特徴とする請求項2〜5のいずれか1項に記載の更新装置。
【請求項7】
前記更新部は、
所定の条件を満たす場合、分割情報の組み合わせを変更した組合情報ごとに、所定の対象を予測するモデルを再生成する処理である再生成処理により、モデルを更新する
ことを特徴とする請求項1〜6のいずれか1項に記載の更新装置。
【請求項8】
前記更新部は、
第1時点における予測精度が所定の閾値以下である低品質モデルを含むモデルにおいて、前記第1時点より後の第2時点における前記低品質モデルの予測精度が前記第1時点における予測精度に基づく基準値以下である場合、前記再生成処理によりモデルを更新する
ことを特徴とする請求項7に記載の更新装置。
【請求項9】
前記更新部は、
前記低品質モデルに対応する組合情報に含まれる分割情報の組み合わせの変更を行う前記再生成処理によりモデルを更新する
ことを特徴とする請求項8に記載の更新装置。
【請求項10】
前記更新部は、
所定の分割情報の量の増加が所定の条件を満たす場合、前記再生成処理によりモデルを更新する
ことを特徴とする請求項8または請求項9に記載の更新装置。
【請求項11】
前記取得部は、
前記区分として、ユーザ、またはユーザ属性に基づく分類ごとのユーザの行動に関する行動情報が、コンテキストに基づいて分割された分割情報を取得する
ことを特徴とする請求項1〜10のいずれか1項に記載の更新装置。
【請求項12】
前記取得部は、
前記所定の対象として、コンテンツへの関心を予測するモデルに関する情報を取得する
ことを特徴とする請求項1〜11のいずれか1項に記載の更新装置。
【請求項13】
コンピュータが実行する更新方法であって、
ユーザに関する区分ごとの行動に関する行動情報であって、コンテキストに基づいて分割された行動情報である分割情報が、当該分割情報の各々に含まれる行動情報の傾向に基づいて組み合わされた情報である組合情報ごとに生成されるモデルであって、所定の対象を予測するモデルに関する情報を取得する取得工程と、
所定の条件を満たす場合、前記取得工程により取得されたモデルを更新する更新工程と、
を含むことを特徴とする更新方法。
【請求項14】
ユーザに関する区分ごとの行動に関する行動情報であって、コンテキストに基づいて分割された行動情報である分割情報が、当該分割情報の各々に含まれる行動情報の傾向に基づいて組み合わされた情報である組合情報ごとに生成されるモデルであって、所定の対象を予測するモデルに関する情報を取得する取得手順と、
所定の条件を満たす場合、前記取得手順により取得されたモデルを更新する更新手順と、
をコンピュータに実行させることを特徴とする更新プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、更新装置、更新方法、及び更新プログラムに関する。
【背景技術】
【0002】
従来、生成した予測モデル(以下、単に「モデル」とする)に基づいて、所定の対象を予測する技術が提供されている。例えば、モデルを用いて所定の需要を予測する技術が提供されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2004-086896号公報
【特許文献2】特開2009-237832号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、上記の従来技術では、モデルを用いて所定の対象を適切に予測することが難しい場合がある。例えば、生成されたモデルが適切でない場合やモデルの生成から期間が経過した場合等、モデルを用いて所定の対象を適切に予測することが難しい場合がある。
【0005】
本願は、上記に鑑みてなされたものであって、モデルを用いて所定の対象を適切に予測可能にする更新装置、更新方法、及び更新プログラムを提供することを目的とする。
【課題を解決するための手段】
【0006】
本願に係る更新装置は、ユーザに関する区分ごとの行動に関する行動情報であって、コンテキストに基づいて分割された行動情報である分割情報が、当該分割情報の各々に含まれる行動情報の傾向に基づいて組み合わされた情報である組合情報ごとに生成されるモデルであって、所定の対象を予測するモデルに関する情報を取得する取得部と、所定の条件を満たす場合、前記取得部により取得されたモデルを更新する更新部と、を備えたことを特徴とする。
【発明の効果】
【0007】
実施形態の一態様によれば、モデルを用いて所定の対象を適切に予測可能にすることができるという効果を奏する。
【図面の簡単な説明】
【0008】
図1図1は、実施形態に係る更新処理の一例を示す図である。
図2図2は、実施形態に係る更新処理の一例を示す図である。
図3図3は、実施形態に係る生成処理の一例を示す図である。
図4図4は、実施形態に係る更新処理前の配信処理の一例を示す図である。
図5図5は、実施形態に係る更新処理後の配信処理の一例を示す図である。
図6図6は、実施形態に係る配信装置の構成例を示す図である。
図7図7は、実施形態に係るユーザ情報記憶部の一例を示す図である。
図8図8は、実施形態に係る行動情報記憶部の一例を示す図である。
図9図9は、実施形態に係る分割情報記憶部の一例を示す図である。
図10図10は、実施形態に係るクラスタ情報記憶部の一例を示す図である。
図11図11は、実施形態に係る学習情報記憶部の一例を示す図である。
図12図12は、実施形態に係るコンテンツ情報記憶部の一例を示す図である。
図13図13は、実施形態に係る生成処理の一例を示すフローチャートである。
図14図14は、実施形態に係る生成処理の一例を示すフローチャートである。
図15図15は、実施形態に係る配信処理の一例を示すフローチャートである。
図16図16は、実施形態に係る予測精度に応じた更新処理の一例を示すフローチャートである。
図17図17は、実施形態に係る情報量の増加に応じた更新処理の一例を示すフローチャートである。
図18図18は、実施形態に係る更新処理の一例を示す図である。
図19図19は、実施形態に係る更新処理の一例を示す図である。
図20図20は、実施形態に係る更新処理の一例を示す図である。
図21図21は、配信装置の機能を実現するコンピュータの一例を示すハードウェア構成図である。
【発明を実施するための形態】
【0009】
以下に、本願に係る更新装置、更新方法、及び更新プログラムを実施するための形態(以下、「実施形態」と呼ぶ)について図面を参照しつつ詳細に説明する。なお、この実施形態により本願に係る更新装置、更新方法、及び更新プログラムが限定されるものではない。また、以下の各実施形態において同一の部位には同一の符号を付し、重複する説明は省略される。
【0010】
(実施形態)
〔1.更新処理〕
〔1−1.重みの更新〕
まず、図1を用いて、実施形態に係る更新処理の一例について説明する。図1は、実施形態に係る更新処理の一例を示す図である。具体的には、図1は、クラスタリングを維持したまま、モデルの重みを更新する場合を示す。図1に示す例において、クラスタ情報一覧ML1−1は、図3に示す配信システム1における生成処理により、各ユーザのコンテキストにおけるコンテンツへの関心を予測するモデルが生成された場合のクラスタリングに関する情報を示す。具体的には、図1中のクラスタ情報一覧ML1−1は、一のユーザと一のコンテキストとが交差する領域であるマス(以下、「マスMS」とする場合がある)にモデルM1〜M6等のうち、どのモデルが割り当てられたかを示す。なお、ここでいうコンテキストとは、ユーザが置かれた環境等を含むユーザの状態や状況に対応するが、詳細は後述する。また、以下では、ユーザに関する区分をユーザとして説明する。
【0011】
図1中に示すモデル情報MD1−1には、クラスタ情報一覧ML1−1に示すような各マスMSに含まれる分割情報のクラスタリングに関する情報が含まれる。また、モデル情報MD1−1には、重み情報一覧WL1−1に示すようなクラスタごとに生成されたモデルM1〜M6に関する情報が含まれる。
【0012】
図1中のクラスタ情報一覧ML1−1は、クラスタ情報記憶部124(図10参照)に対応し、各マスMS中に図示するM1〜M6によって示される6つのクラスタを含むことを示す。例えば、各モデルM1〜M6は、分割情報記憶部123(図9参照)に記憶された各マスMS中に図示するM1〜M6に対応する分割情報に基づいて生成される。なお、詳細は後述するが、ここでいう分割情報とは、ユーザの行動情報がコンテキストごとに分割された情報を意味する。例えば、行動情報は、各ユーザにコンテンツを配信し、配信したコンテンツに対する各ユーザの行動の有無を示す情報である。また、クラスタ情報一覧ML1−1中のマスMSにおいて、M1〜M6の符号が図示されていないマスMSについては、所定の手法により生成されたモデルが割り当てられるが、詳細は後述する。
【0013】
例えば、図1では、ユーザU1のコンテキストCT11に対応するマスMS、ユーザU2のコンテキストCT15に対応するマスMS、ユーザU2のコンテキストCT17に対応するマスMS、及びユーザU4のコンテキストCT13に対応するマスMSには同じモデルM1が割り当てられることを示す。すなわち、上記4つのマスMSに含まれる分割情報を組み合わせた組合情報を用いて、モデルM1が生成されたことを示す。また、重み情報一覧WL1−1は、学習情報記憶部125(図11参照)に対応し、モデルM1の素性1の重みが「0.5」、モデルM1の素性2の重みが「−0.4」、モデルM1の素性3の重みが「0.2」等であることを示す。例えば、配信システム1は、ユーザU1が朝に家(自宅)にいる場合に対応するコンテキストCT11においてコンテンツの配信を要求した場合、モデルM1を用いてユーザU1に配信するコンテンツを決定する。
【0014】
例えば、配信装置100(図6参照)は、ユーザに割り当てられたモデルの予測精度に関する所定の条件を満たす場合、モデルを更新する。ここでいう予測精度とは、ユーザの行動の有無を予測できる確率をいう。図1の例では、予測精度がユーザのコンテストに対応するモデルを用いてコンテンツを配信した場合において、ユーザが配信したコンテンツを選択(クリック)する確率である場合を示す。なお、図1では、予測精度が高であったモデルの予測精度が低に低下することを、所定の条件とする。具体的には、図1では、ユーザのコンテキスト(マスMS)に割り当てられた一のモデルの予測精度が、2つ以上のマスで高から低に低下することを、所定の条件とする。
【0015】
なお、ここでいう予測精度が低であるとは、対応するユーザ及びコンテキストの組み合わせにおけるモデルの予測精度が所定の閾値(例えば、75%等)未満である場合をいう。以下、所定の対象に対する予測精度が低であるモデルを低品質モデルとする場合がある。例えば、割り当てられたマスMS全体における予測精度が低であるモデルを低品質モデルとする。なお、図1では、モデル情報MD1−1は、第1時点における予測精度を示す。
【0016】
図1に示すように、第1時点において、クラスタ情報一覧ML1−1では、ユーザU1のコンテキストCT12におけるモデルM2の予測精度と、ユーザU2のコンテキストCT14におけるモデルM2の予測精度とが高であるとする。なお、ここでいう予測精度が高であるとは、対応するユーザ及びコンテキストの組み合わせにおけるモデルの予測精度が所定の閾値(例えば、75%等)以上である場合をいう。すなわち、図1では、第1時点において、ユーザU1が朝にオフィスにいる場合に対応するコンテキストCT12においてモデルM2を用いて、ユーザU1にコンテンツを配信した場合に予測精度が高であることを示す。また、図1では、第1時点において、ユーザU2が昼にオフィスにいる場合に対応するコンテキストCT14においてモデルM2を用いて、ユーザU2にコンテンツを配信した場合に予測精度が高であることを示す。
【0017】
そして、第1時点から所定の期間が経過した後(ステップS1)、配信装置100は、クラスタ情報一覧ML1−1や重み情報一覧WL1−1を用いて予測を行う。図1中に示すモデル情報MD1−2は、モデル情報MD1−1と同様に、クラスタ情報一覧ML1−1や重み情報一覧WL1−1を含み、第1時点から所定の期間経過後の第2時点における予測精度を示す。
【0018】
図1に示すように、第2時点において、クラスタ情報一覧ML1−1では、ユーザU1のコンテキストCT12におけるモデルM2の予測精度と、ユーザU2のコンテキストCT14におけるモデルM2の予測精度とが低であるとする。すなわち、図1では、第1時点から第2時点への期間経過により、ユーザU1が朝にオフィスにいる場合に対応するコンテキストCT12においてモデルM2を用いて、ユーザU1にコンテンツを配信した場合の予測精度が、高から低へ低下したことを示す。また、図1では、第1時点から第2時点への期間経過により、ユーザU2が昼にオフィスにいる場合に対応するコンテキストCT14においてモデルM2を用いて、ユーザU2にコンテンツを配信した場合の予測精度が、高から低へ低下したことを示す。なお、図1では、第1時点から第2時点への期間経過により、モデルM2が割り当てられた他のマスに対応するユーザのコンテキストにおける予測精度や他のモデルM1、M3〜M6の予測精度に変化はなかったものとする。
【0019】
このように、図1においてはステップS1における期間経過により、モデルM2の予測精度が、ユーザU1のコンテキストCT12とユーザU2のコンテキストCT14とに対応する2つのマスMSにおいて、高から低に低下している。そのため、配信装置100は、更新処理として重みの更新を行う(ステップS2)。具体的には、配信装置100は、第1時点から第2時点において予測精度が低下したモデルM2の重みの更新を行う。すなわち、配信装置100は、第1時点から第2時点において収集された行動情報を加えてモデルM2の重みを学習する。なお、配信装置100は、第2時点から所定期間以内の行動情報を用いてモデルM2の重みを学習する。これにより、配信装置100は、取得時期が重み学習時より前過ぎ(1年以上等)、有効性が低くなった行動情報を除いた行動情報を用いてモデルM2の重みを学習することができる。これにより、配信装置100は、より適切にモデルM2の重みを学習することができる。
【0020】
図1では、配信装置100は、モデルM2の重みの更新をすることにより、重み情報一覧WL1−1を重み情報一覧WL1−2に更新する。例えば、更新処理前の重み情報一覧WL1−1において、モデルM2の各素性の重みは、素性1の重みが「−0.3」、素性2の重みが「2.1」、素性3の重みが「−0.2」等であることを示す。例えば、更新処理後の重み情報一覧WL1−2において、モデルM2の各素性の重みは、素性1の重みが「−0.7」、素性2の重みが「1.7」、素性3の重みが「0.5」等であることを示す。そして、配信装置100は、モデルM2の重みを更新した情報一覧WL1−2を用いることにより、ユーザU1のコンテキストCT12とユーザU2のコンテキストCT14とにおけるモデルM2の予測精度が改善された場合、重み情報一覧WL1−2を用いて配信処理を行う。
【0021】
また、配信装置100は、モデルM2の重みを更新した情報一覧WL1−2を用いても、ユーザU1のコンテキストCT12とユーザU2のコンテキストCT14とにおけるモデルM2の予測精度が低のままである場合、再度モデルM2を更新する処理を行ってもよい。また、配信装置100は、モデルM2の重みの更新を複数回行っても、ユーザU1のコンテキストCT12とユーザU2のコンテキストCT14とにおけるモデルM2の予測精度が低のままである場合、後述する生成処理をやり直す再生成処理を行ってもよい。すなわち、配信装置100は、各分割情報のクラスタリングをやり直し、各クラスタリングに対してモデルを生成してもよい。
【0022】
〔1−2.再生成処理〕
まず、図2を用いて、実施形態に係る更新処理の一例について説明する。図2は、実施形態に係る更新処理の一例を示す図である。具体的には、図2は、再生成処理を行う場合を示す。なお、ここでいう再生成処理は、マスMS全体を対象に再度生成処理をやり直すことや予測精度が低いマスMSを対象に生成処理をやり直すこと等、クラスタに変更を加える処理であれば種々の処理が含まれる。
【0023】
図2中に示すモデル情報MD2−1には、クラスタ情報一覧ML2−1に示すような各マスMSに含まれる分割情報のクラスタリングに関する情報が含まれる。また、モデル情報MD2−1には、重み情報一覧WL2−1に示すようなクラスタごとに生成されたモデルM1〜M6に関する情報が含まれる。図2に示す例において、クラスタ情報一覧ML2−1は、図3に示す配信システム1における生成処理により、各ユーザのコンテキストにおけるコンテンツへの関心を予測するモデルが生成された場合のクラスタリングに関する情報を示す。図2中のクラスタ情報一覧ML2−1は、クラスタ情報記憶部124に対応し、各マスMS中に図示するM1〜M6によって示される6つのクラスタを含むことを示す。また、重み情報一覧WL2−1は、学習情報記憶部125(図11参照)に対応し、モデルM1の素性1の重みが「0.5」、モデルM1の素性2の重みが「−0.4」、モデルM1の素性3の重みが「0.2」等であることを示す。
【0024】
例えば、配信装置100は、ユーザに割り当てられたモデルの予測精度に関する所定の条件を満たす場合、再生成処理を行う。なお、図2では、予測精度が低であるモデルの予測精度が低のまま所定の期間が経過することを、所定の条件とする。具体的には、図2では、ユーザのコンテキスト(マスMS)に割り当てられた一のモデルの予測精度が、2つ以上のマスで低のまま所定の期間が経過することを、所定の条件とする。なお、図2では、モデル情報MD2−1は、第1時点における予測精度を示す。また、図2でいう第1時点は、生成されたモデルが用いられ始めた時点であるものとする。
【0025】
図2に示すように、第1時点において、クラスタ情報一覧ML2−1では、ユーザU1のコンテキストCT11におけるモデルM1の予測精度と、ユーザU2のコンテキストCT15におけるモデルM1の予測精度とが低であるとする。すなわち、図2では、第1時点において、ユーザU1が朝に家にいる場合に対応するコンテキストCT11においてモデルM1を用いて、ユーザU1にコンテンツを配信した場合に予測精度が低であることを示す。また、図2では、第1時点において、ユーザU2が夜に家にいる場合に対応するコンテキストCT15においてモデルM1を用いて、ユーザU2にコンテンツを配信した場合に予測精度が低であることを示す。
【0026】
そして、第1時点から所定の期間が経過した後(ステップS5)、配信装置100は、クラスタ情報一覧ML2−1や重み情報一覧WL2−1を用いて予測を行う。図2中に示すモデル情報MD2−2は、モデル情報MD2−1と同様に、クラスタ情報一覧ML2−1や重み情報一覧WL2−1を含み、第1時点から所定の期間経過後の第2時点における予測精度を示す。
【0027】
図2に示すように、第2時点において、クラスタ情報一覧ML2−1では、ユーザU1のコンテキストCT11におけるモデルM1の予測精度と、ユーザU2のコンテキストCT15におけるモデルM1の予測精度とが低であるとする。すなわち、図2では、第2時点において、ユーザU1が朝に家にいる場合に対応するコンテキストCT11においてモデルM1を用いて、ユーザU1にコンテンツを配信した場合に予測精度が低であることを示す。また、図2では、第2時点において、ユーザU2が夜に家にいる場合に対応するコンテキストCT15においてモデルM1を用いて、ユーザU2にコンテンツを配信した場合に予測精度が低であることを示す。このように、第1時点から第2時点に亘ってモデルM1の予測精度が低いため、生成処理により適切なクラスタリングが行われず、予測精度が高いモデルが生成されなかった可能性があり、再度クラスタリングを行うことにより適切なクラスタに分類される可能性がある。そのため、配信装置100は、再生成処理を行うことによりモデルを更新する(ステップS6)。
【0028】
ステップS6により、配信装置100は、モデル情報MD2−3を生成する。モデル情報MD2−3には、クラスタ情報一覧ML2−2に示すような各マスMSに含まれる分割情報のクラスタリングに関する情報が含まれる。また、モデル情報MD2−3には、重み情報一覧WL2−2に示すようなクラスタごとに生成されたモデルM11〜M16等に関する情報が含まれる。例えば、配信装置100は、モデル情報MD2−3の生成が完了した第3時点から、モデル情報MD2−3を用いて予測を行った結果に応じて、コンテンツを配信する。
【0029】
例えば、モデル情報MD2−3は、ユーザU1のコンテキストCT11に対応するマスMS、ユーザU2のコンテキストCT17に対応するマスMS、及びユーザU3のコンテキストCT16に対応するマスMSには同じモデルM13が割り当てられることを示す。すなわち、上記3つのマスMSに含まれる分割情報を組み合わせた組合情報を用いて、モデルM13が生成されたことを示す。また、重み情報一覧WL2−2は、モデルM13の素性1の重みが「1.5」、モデルM13の素性2の重みが「1.1」、モデルM13の素性3の重みが「−0.5」等であることを示す。例えば、上記の再生成処理後において、配信システム1は、ユーザU1が朝に家(自宅)にいる場合に対応するコンテキストCT11においてコンテンツの配信を要求した場合、モデルM13を用いてユーザU1に配信するコンテンツを決定する。なお、再生成処理により、素性についても更新されてもよい。
【0030】
上述のように、配信装置100は、所定の条件を満たす場合、モデルを更新する。例えば、配信装置100は、所定の条件を満たす場合、あるモデルの重みを更新したり、再生成処理を行ったりする。これにより、配信装置100は、モデルを用いて所定の対象を適切に予測可能にすることができる。また、配信装置100は、モデルの更新を行う際に用いる行動情報(分割情報)について、収集された時刻等に基づいてフィルタリングを行ってもよい。例えば、配信装置100は、モデルの更新を行う場合、モデル更新時から所定の期間(例えば、3ヶ月や1年等)内に収集された行動情報のみを用いてもよい。また、例えば、配信装置100は、モデルの更新を行う場合、各マスMSに含まれる分割情報の量に応じて、各マスMSで用いる分割情報の取得時期を変動させてもよい。例えば、配信装置100は、モデルの更新を行う場合、行動情報が短期間で十分収集されるマスMSについては、モデル更新時から1ヶ月以内に収集された行動情報のみを用い、行動情報が短期間では十分に収集できないマスMSについては、モデル更新時から2年以内に収集された行動情報のみを用いてもよい。このように、配信装置100は、各マスMSに対応する行動情報の収集し易さに応じて、各マスMSで用いる分割情報の取得時期を変動させてもよい。
【0031】
なお、上記の例では、説明を簡単にするために、2つのマスMSに対応するユーザのコンテキストにおける予測精度を所定の条件として、更新処理を行う場合を示したが、配信装置100は、種々の条件を適宜用いて、更新処理を行ってもよい。例えば、配信装置100は、マスMS全体の予測精度の変化に応じて、更新処理を行ってもよい。例えば、配信装置100は、マスMS全体の予測精度が低い状態が所定の期間継続した場合、再生成処理を行ってもよい。また、例えば、配信装置100は、マスMS全体の予測精度は高いがあるモデルの予測精度が低い場合、そのモデルの重みの更新を行ってもよい。
【0032】
また、配信装置100は、更新処理を所定のタイミングで定期的に行ってもよい。すなわち、配信装置100は、所定の条件をモデルの使用を開始した時点から所定の期間が経過したこととしてもよい。つまり、配信装置100は、モデルの重みの更新を所定のタイミングで定期的に行ってもよい。例えば、配信装置100は、所定の条件をモデルの使用を開始した時点から定期的(例えば1ヶ月おき)に更新処理を行ってもよい。これにより、配信装置100は、適切なタイミングで生成されたモデルを用いて所定の対象を予測可能にすることができる。
【0033】
また、配信装置100は、所定のタイミング(例えば、1ヶ月や半年等)で各モデルの検証を定期的に行い、検証結果に応じて更新処理を行ってもよい。例えば、配信装置100は、検証したモデルの予想精度が所定の閾値未満である場合に更新処理を行ってもよい。例えば、配信装置100は、検証したモデルの予想精度が所定の閾値未満である場合に検証したモデルの重みの更新を行ってもよい。これにより、配信装置100は、適切なタイミングで生成されたモデルを用いて所定の対象を予測可能にすることができる。
【0034】
例えば、配信装置100は、各モデルを検証するタイミングを、分割情報の収集に関する情報に基づいて決定してもよい。例えば、配信装置100は、各マスMSに対応する行動情報(分割情報)の収集されやすさに応じて、各モデルを検証するタイミングを変動させてもよい。例えば、配信装置100は、行動情報が収集されやすいマスMSに割り当てられたモデルを、他のモデルよりも早いタイミングで検証してもよい。例えば、配信装置100は、所定の期間において収集される行動情報の量が他のマスMSよりも多いマスMSに割り当てられたモデルを、他のモデルよりも早いタイミングで検証してもよい。この場合、配信装置100は、所定の期間において収集される行動情報の量が他のマスMSよりも多いマスMSに割り当てられたモデルを、そのマスMSに含まれる分割情報により検証してもよい。
【0035】
また、例えば、配信装置100は、各モデルを検証するタイミングを、分割情報の収集される量の増減に関する情報に基づいて決定してもよい。例えば、配信装置100は、ある各マスMSに対応する行動情報(分割情報)の収集される量が急激に増大した場合、そのマスMSに対応するモデルを検証するタイミングを早めてもよい。例えば、配信装置100は、一定期間において収集される行動情報の量が、所定の閾値以上増加したマスMSに対応するモデルを検証するタイミングを早めてもよい。例えば、配信装置100は、朝にオフィス(勤務地)にいる場合に対応するコンテキストCT12について、通常の平日は収集される行動情報が少ないが、雪の日に収集される行動情報が急増した場合、行動情報の量が急増したコンテキストCT12に割り当てられたモデルの検証を早めてもよい。この場合、配信装置100は、収集される行動情報の量が急増したマスMSに割り当てられたモデルを、そのマスMSに含まれる分割情報により検証してもよい。
【0036】
また、例えば、配信装置100は、各モデルを検証するタイミングを、そのモデルの生成に用いた組合情報に含まれる分割情報の数に関する情報に基づいて決定してもよい。例えば、配信装置100は、各モデルを検証するタイミングを、モデルの生成に用いた組合情報に含まれる分割情報の数が少ない程、そのモデルを検証するタイミングを早めてもよい。また、例えば、配信装置100は、各モデルを検証するタイミングを、クラスタリングの傾向に基づいて決定してもよい。例えば、配信装置100は、10個のマスMSの分割情報を含む組合情報から生成されたモデルは、2個のマスMSの分割情報を含む組合情報から生成されたモデルよりも、モデルを検証するタイミングを早めてもよい。
【0037】
また、配信装置100は、各モデルの予測精度が安定しない場合、再生成処理を行ってもよい。例えば、配信装置100は、各モデルの予測精度が高い状態や低い状態を繰り返すような場合、再生成処理を行ってもよい。なお、上記更新処理を行うタイミングは例示であり、配信装置100は、種々の条件を適宜用いて、所定のタイミングで更新処理を行ってもよい。図1及び図2に示すように、配信装置100は、適宜の条件やタイミングに応じて、クラスタリングを維持した状態でモデルの重みを更新する処理や、クラスタの再構成を含む再生成処理を行う。なお、クラスタリングを維持してモデルの重みのみを更新する処理と比較して、クラスタリングからやり直す再生成処理のほうが、配信装置100にとって高負荷である場合が多い。例えば、配信装置100は、モデルの重みのみを更新する処理と比較して、再生成処理のほうが、処理により多くの時間を要する。そのため、配信装置100は、モデルの重みを更新する条件と再生成処理の条件との両方を満たした場合、モデルの重みを更新する処理を優先して行ってもよい。例えば、配信装置100は、モデルの重みを更新する処理により、再生成処理を行わずに予測精度が改善できた場合、再生成処理を行う回数を抑制できる。これにより、配信装置100は、処理負荷を軽減することができる。
【0038】
〔2−1.生成処理〕
ここから、図3を用いて、実施形態に係る生成処理の一例について説明する。図3は、実施形態に係る生成処理の一例を示す図である。図3に示す例において、配信装置100は、所定の対象として、ユーザのコンテンツへの関心を予測するモデルを生成する。また、配信装置100は、生成したモデルを用いてユーザにコンテンツを配信するサービスを提供するが、この点については図4で説明する。なお、図3図5では、ユーザU1〜U4が各々端末装置10−1〜10−4を利用する場合を示す。また、端末装置10−1〜10−4を区別せずに説明する場合、端末装置10と総称する。
【0039】
図3に示すように、配信システム1には、端末装置10と、配信装置100とが含まれる。端末装置10と、配信装置100とは図示しない所定の通信網を介して、有線または無線により通信可能に接続される。なお、図3に示した配信システム1には、複数台の端末装置10や、複数台の配信装置100が含まれてもよい。
【0040】
端末装置10は、ユーザによって利用される情報処理装置である。端末装置10は、例えば、スマートフォンや、タブレット型端末や、ノート型PC(Personal Computer)や、デスクトップPCや、携帯電話機や、PDA(Personal Digital Assistant)等により実現される。図3は、端末装置10がスマートフォンである場合を示す。
【0041】
また、端末装置10は、ユーザによる操作を受け付ける。図3に示す例において、端末装置10は、所定のアプリ(例えば、ブラウザ等)に表示するコンテンツを配信装置100へ要求する。なお、以下では、端末装置10をユーザと表記する場合がある。すなわち、以下では、ユーザを端末装置10と読み替えることもできる。
【0042】
配信装置100は、コンテキストに基づいて分割された行動情報である分割情報が組み合わされた組合情報ごとに、所定の対象を予測するモデルを生成する情報処理装置である。また、配信装置100は、モデルの予測精度に応じて、モデルに対応するユーザのコンテキストに関する情報、またはユーザのユーザ属性に関する情報を変更するかを判定する更新装置である。また、配信装置100は、コンテンツの配信要求に応じてコンテンツを配信する配信サービスを提供する情報処理装置である。例えば、配信装置100は、コンテンツの配信を要求した端末装置10を利用するユーザに応じて、端末装置10へコンテンツを配信する情報処理装置である。
【0043】
図3では、配信装置100は、各ユーザにコンテンツを配信し、配信したコンテンツに対する各ユーザの行動の有無を示す行動情報を収集する。例えば、配信装置100は、ユーザU1〜U4にコンテンツを配信し、配信したコンテンツに対する各ユーザの行動の有無を示す行動情報を収集する。例えば、配信装置100は、行動情報として、ユーザに配信したコンテンツ(例えば、コンテンツCN11)に対するユーザの行動(例えば、コンテンツのクリック)の有無を示す情報を収集する。
【0044】
まず、配信装置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)。
【0045】
なお、ステップ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を行って、行動情報を取得してもよい。
【0046】
そして、配信装置100は、ステップS11〜S12において収集した各ユーザの行動に関する情報を分割する(ステップS13)。具体的には、配信装置100は、収集した各ユーザの行動情報をコンテキストに基づいて分割する。
【0047】
ここで、コンテキストは、ユーザや端末装置10の状況やユーザや端末装置10の環境(背景)を意味する。例えば、コンテキストは、ユーザによって端末装置10が使われている状況や、端末装置10を所持するユーザが置かれている状態に対応する情報である。すなわち、図3図5におけるコンテキストは、ユーザU1〜U4の状況、例えばユーザU1〜U4がいる場所の環境に対応する。具体的には、図3図5におけるコンテキストは、各ユーザにコンテンツが配信(表示)された際のユーザU1〜U4の状況に対応する。例えば、コンテキストは、コンテンツを配信した時刻や端末装置10から取得したユーザの位置情報に基づいて推定してもよい。なお、各コンテキストは、排他的であってもよいし、重複してもよい。
【0048】
また、図3図5では、説明を簡単にするため、時間帯と位置とに基づくコンテキストを示す。具体的には、図3図5の例におけるコンテキストは、朝(4〜10時)、昼(10〜16時)、夜(16〜22時)、深夜(22〜4時)の4つの時間帯と、家(自宅)またはオフィス(勤務地)の2つの位置とに基づく、8つのコンテキストCT11〜CT18を示す。
【0049】
ここで、図3中の分割情報記憶部123は、ステップS13により各ユーザの行動情報がコンテキストごとに分割された状態を示す。分割情報記憶部123は、ユーザを行とし、コンテキストを列とした場合を示す。なお、分割情報記憶部123中の一のユーザと一のコンテキストとが交差する領域をマスとする。例えば、図3では、ユーザU4とコンテキストCT12とが交差する領域をマスMS42とする。なお、各マスの位置を区別せずに説明する場合は、マスMSとする場合がある。図3に示す各マスMSに含まれる情報は、ユーザに関する区分ごとのユーザの行動に関する行動情報がコンテキストに基づいて分割された分割情報である。また、分割情報記憶部123における行については、ユーザに限らずユーザに関する区分であれば、どのような粒度であってもよい。例えば、分割情報記憶部123における行は、ユーザに関する区分であるユーザ属性に基づく分類であってもよい。ここでいうユーザ属性に基づく分類とは、年齢、性別、興味等のユーザ属性に関する情報の類似性に基づく分類であってもよい。
【0050】
例えば、ユーザU1とコンテキストCT11とが交差する位置のマスMS(左上のマスMS)には、行動AT11、AT12、AT13等の行動の有無を示す分割情報が含まれる。例えば、ユーザU4とコンテキストCT18とが交差する位置のマスMS(右下のマスMS)には、行動AT48、AT11等の行動の有無を示す分割情報が含まれる。
【0051】
また、分割情報記憶部123中の各マスMS中の行動AT11等の右側に示す「○」は、ユーザが対応する行動を行ったことを示す。また、分割情報記憶部123中の各マスMS中の行動AT11等の右側に示す「×」は、ユーザが対応する行動を行わなかったことを示す。例えば、ユーザU1とコンテキストCT11とが交差する位置のマスMSにおいて、行動AT11は「○」であり、ユーザU1は、朝の家において行動AT11を行ったことを示す。また、例えば、ユーザU1とコンテキストCT11とが交差する位置のマスMSにおいて、行動AT12は「×」であり、ユーザU1は、朝の家において行動AT12を行わなかったことを示す。また、例えば、ユーザU1とコンテキストCT11とが交差する位置のマスMSにおいて、行動AT13は「○」であり、ユーザU1は、朝の家において行動AT13を行ったことを示す。
【0052】
そして、配信装置100は、分割情報記憶部123中の各マスMSの分割情報を用いて、モデルを生成する(ステップS14)。例えば、配信装置100は、分割情報記憶部123中の各マスMSの分割情報をクラスタリングし、クラスタごとにモデルを生成する。例えば、配信装置100は、ユーザのコンテンツへの関心を予測するモデルを生成する。
【0053】
例えば、配信装置100は、クラスタ数を設定しないクラスタリング手法によりクラスタリングを行ってもよい。また、例えば、配信装置100は、クラスタ数を設定するクラスタリング手法によりクラスタリングを行ってもよい。例えば、配信装置100は、k−means法やディリクレ過程を用いたロジスティック回帰の手法を用いて、各マスMSの分割情報をクラスタリングし、クラスタごとの分割情報を用いてモデルを生成する。図3では、配信装置100は、ディリクレ過程を用いたロジスティック回帰の手法を用いて、各マスMSの分割情報をクラスタリングし、クラスタごとの分割情報を用いてモデルを生成するものとして、以下説明する。なお、クラスタリング手法の詳細については後述する。
【0054】
なお、配信装置100は、所定量以上の分割情報を含むマスMSをステップS14におけるモデル生成の対象としてもよい。例えば、配信装置100は、分割情報が含まれないユーザU4のコンテキストCT17に対応するマスMSやユーザU2のコンテキストCT11に対応するマスMSは、クラスタリングの対象としない。また、例えば、配信装置100は、所定量(例えば2つ)未満の分割情報しか含まれないユーザU1のコンテキストCT13、CT18に対応するマスMSは、クラスタリングの対象としなくてもよい。
【0055】
ステップS14により、配信装置100は、モデル情報MD11を生成する。モデル情報MD11には、クラスタ情報記憶部124に示すような各マスMSに含まれる分割情報のクラスタリングに関する情報が含まれる。また、モデル情報MD11には、学習情報記憶部125に示すようなクラスタごとに生成されたモデルM1〜M6に関する情報が含まれる。
【0056】
図3では、配信装置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を割り当ててもよい。
【0057】
また、例えば、配信装置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に割り当ててもよい。
【0058】
図3では、配信装置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の管理者等が設定してもよいし、モデル生成の処理において抽出されてもよい。例えば、素性は、「経済」や「スマホ」や「サッカー」等の文字列(キーワード)であってもよい。また、各モデルの素性は、同じであってもよいし、異なってもよい。
【0059】
また、配信装置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」等であることを示す。
【0060】
このように、図3では、配信装置100は、分割情報記憶部123中の各マスMSの分割情報を6つのクラスタ(組合情報)に分類し、各クラスタ(組合情報)に含まれる情報を用いてモデルM1〜M6を生成する。
【0061】
上述したように、配信装置100は、コンテキストに基づいて各区分の行動情報を分割しても、区分間を跨ぐクラスタリングを行うことにより、各モデルの生成に用いられる情報量が不足することを抑制することができる。また、配信装置100は、区分とコンテキストとに基づいて分割された情報をクラスタリングすることにより、各区分の各コンテキストに応じて適切なモデルを生成することができる。したがって、配信装置100は、モデルを用いて所定の対象を適切に予測可能にすることができる。
【0062】
なお、図3では、行動情報として、配信したコンテンツへのユーザの行動の有無に関する情報を用いる例を示したが、行動情報はユーザが行う行動であって、収集可能な情報であればどのような情報であってもよい。例えば、行動情報はユーザの電子商取引に関する情報であってもよいし、配信された広告に関する行動(例えば、クリックやコンバージョン等)であってもよい。また、位置は、家(自宅)やオフィス(勤務地)に限らず、通勤時の経由地やよく行く場所や移動中など種々の情報であってもよい。
【0063】
〔2−2−1.配信処理(変更前)〕
次に、図4を用いて、実施形態に係る配信処理の一例について説明する。図4は、実施形態に係る更新処理前の配信処理の一例を示す図である。例えば、図4は、更新処理前の第1時点における配信処理の一例を示す図である。図4は、ユーザがユーザU1である場合を示す。なお、図4では、配信装置100がユーザU1のユーザ属性に関するユーザ情報を取得済みであり、行動履歴等のユーザ情報を取得済みである場合を例に説明する。
【0064】
まず、配信装置100は、ユーザU1が利用する端末装置10−1からコンテンツの配信要求を取得する(ステップS15)。図4では、端末装置10−1は、ステップS15において、ユーザU1を識別する情報(例えば、ログインID等)や端末装置10−1の場所を示す位置情報等を配信装置100に送信する。なお、端末装置10は、GPS(Global Positioning System)センサ等により位置情報を取得する。図4では、ステップS15は、時間が朝9時であり、端末装置10−1の場所(位置)が位置LC12−1である状況において行われたものとする。なお、位置を示す情報でありハイフン(“−”)が付された位置LC12−1等は、位置LC12から所定の範囲内の位置情報を意味する。また、位置LC11−1、LC11−2等(図8参照)は、位置LC11から所定の範囲内の位置情報を意味する。すなわち、位置LC12−1が、ユーザU1の位置情報を示す場合、ユーザU1は、位置LC12にある勤務地にいるものと推定される。
【0065】
端末装置10−1からコンテンツの配信要求を取得した配信装置100は、端末装置10−1へ配信するコンテンツを決定するモデルを決定する(ステップS16)。配信装置100は、端末装置10−1から取得したユーザU1を識別する情報により、配信要求元がユーザU1であると推定する。そして、配信装置100は、ユーザ情報記憶部121に記憶されたユーザU1のユーザ情報と端末装置10−1の位置LC12−1とに基づいて、ユーザU1がいる場所を推定する。図4では、ユーザ情報記憶部121に示すようにユーザU1の勤務地が位置LC12であり、端末装置10−1の位置が位置LC12−1であるため、配信装置100は、ユーザU1がオフィス(勤務地)にいると推定する。
【0066】
そして、配信装置100は、ステップS15において配信要求がされた時間が朝9時であるため、コンテキストを朝のオフィスに対応するコンテキストCT12と推定する。その後、配信装置100は、学習情報記憶部125中のユーザU1及びコンテキストCT12に対応するマスMSに記憶されたモデルM2を示す情報に基づいて、配信するコンテンツの決定に用いるモデルをモデルM2に決定する。
【0067】
例えば、配信装置100は、決定したモデルM2を用いて、コンテンツ情報記憶部126(図12参照)に記憶された各コンテンツのスコアを算出する。具体的には、配信装置100は、コンテンツ情報記憶部126に記憶された各コンテンツCN11(記事A)〜コンテンツCN18(記事H)等のタイトルや記事本文等の文字情報や画像情報とモデルM2とを用いて、各コンテンツCN11〜CN18等のスコアを算出する。図4では、配信装置100は、コンテンツ一覧CL11に示すような各コンテンツCN11〜CN18等のスコアを算出する。例えば、配信装置100は、記事AであるコンテンツCN11のスコアを「3.6」と算出する。また、例えば、配信装置100は、記事BであるコンテンツCN12のスコアを「2.5」と算出する。
【0068】
そして、配信装置100は、コンテンツ一覧CL11に示すスコアに基づいて各コンテンツCN11〜CN18等の順位を決定する(ステップS17)。図4では、配信装置100は、コンテンツ一覧CL11に示すスコアが高い方から順に各コンテンツCN11〜CN18等の順位を決定する。具体的には、配信装置100は、スコアの最も高いコンテンツCN15である記事Eの順位を1位に決定する。また、配信装置100は、記事Eの次にスコアの高いコンテンツCN17である記事Gの順位を2位に決定する。これにより、配信装置100は、順位一覧LL11に示すように、順位1位が記事Eであり、順位2位が記事Gであり、順位3位が記事Aであり、順位4位が記事Fであると決定する。
【0069】
その後、配信装置100は、順位一覧LL11に示すコンテンツを端末装置10−1へ配信する(ステップS18)。具体的には、記事E、記事G、記事A、記事F、等の順で表示されるコンテンツを端末装置10−1へ配信する。そして、順位一覧LL11に示すコンテンツを受信した端末装置10−1は、コンテンツを表示する(ステップS19)。図4では、端末装置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を用いた予測精度が低いものとして、以下説明する。
【0070】
〔2−2−2.配信処理(変更後)〕
次に、図5を用いて、実施形態に係る配信処理の一例について説明する。図5は、実施形態に係る更新処理後の配信処理の一例を示す図である。例えば、図5は、更新処理後の第2時点における配信処理の一例を示す図である。具体的には、図5は、図4に示す学習情報記憶部125におけるモデルM2の重みを更新した学習情報記憶部125−2を用いてコンテンツ配信を行う場合を示す。なお、図5中の学習情報記憶部125−1は、図1中の重み情報一覧WL1−1に対応し、モデルM2の重みを更新前の状態を示し、図5中の学習情報記憶部125−2は、図1中の重み情報一覧WL1−2に対応し、モデルM2の重みを更新後の状態を示す。
【0071】
図5中に示すモデル情報MD12には、クラスタ情報記憶部124に示すような各マスMSに含まれる分割情報のクラスタリングに関する情報が含まれる。また、ステップS21前においては、モデル情報MD12には、学習情報記憶部125−1に示すようなクラスタごとに生成されたモデルM1〜M6に関する情報が含まれる。
【0072】
まず、配信装置100は、モデルM2の重みを更新する(ステップS21)。例えば、配信装置100は、図1に示す例のように、モデルM2の予測精度が低下したことにより、モデルM2の重みを更新する。これにより、ステップS21後においては、モデル情報MD12には、学習情報記憶部125−2に示すようなモデルM2の重みが更新された情報が含まれる。
【0073】
次に、配信装置100は、ユーザU1が利用する端末装置10−1からコンテンツの配信要求を取得する(ステップS22)。図5では、ステップS22は、時間が朝9時であり、端末装置10−1の場所(位置)が位置LC12−2である状況において行われたものとする。
【0074】
端末装置10−1からコンテンツの配信要求を取得した配信装置100は、端末装置10−1へ配信するコンテンツを決定するモデルを決定する(ステップS23)。配信装置100は、端末装置10−1から取得したユーザU1を識別する情報により、配信要求元がユーザU1であると推定する。そして、配信装置100は、ユーザ情報記憶部121に記憶されたユーザU1のユーザ情報と端末装置10−1の位置LC12−2とに基づいて、ユーザU1がいる場所を推定する。図5では、ユーザ情報記憶部121に示すようにユーザU1の勤務地が位置LC12であり、端末装置10−1の位置が位置LC12−2であるため、配信装置100は、ユーザU1がオフィス(勤務地)にいると推定する。
【0075】
そして、配信装置100は、ステップS21において配信要求がされた時間が朝9時であるため、コンテキストを朝のオフィスに対応するコンテキストCT12と推定する。その後、配信装置100は、ステップS21における重み更新後の学習情報記憶部125−2中のユーザU1及びコンテキストCT12に対応するマスMSに記憶されたモデルM2を示す情報に基づいて、配信するコンテンツの決定に用いるモデルをモデルM2に決定する。
【0076】
例えば、配信装置100は、決定したモデルM2を用いて、コンテンツ情報記憶部126に記憶された各コンテンツのスコアを算出する。図5では、配信装置100は、コンテンツ一覧CL12に示すような各コンテンツCN11〜CN18等のスコアを算出する。例えば、配信装置100は、記事AであるコンテンツCN11のスコアを「1.2」と算出する。また、例えば、配信装置100は、記事BであるコンテンツCN12のスコアを「3.2」と算出する。
【0077】
そして、配信装置100は、コンテンツ一覧CL12に示すスコアに基づいて各コンテンツCN11〜CN18等の順位を決定する(ステップS24)。図5では、配信装置100は、コンテンツ一覧CL12に示すスコアが高い方から順に各コンテンツCN11〜CN18等の順位を決定する。具体的には、配信装置100は、スコアの最も高いコンテンツCN14である記事Dの順位を1位に決定する。また、配信装置100は、記事Dの次にスコアの高いコンテンツCN16である記事Fの順位を2位に決定する。これにより、配信装置100は、順位一覧LL12に示すように、順位1位が記事Dであり、順位2位が記事Fであり、順位3位が記事Gであり、順位4位が記事Bであると決定する。
【0078】
その後、配信装置100は、順位一覧LL12に示すコンテンツを端末装置10−1へ配信する(ステップS25)。具体的には、記事D、記事F、記事G、記事B等の順で表示されるコンテンツを端末装置10−1へ配信する。そして、順位一覧LL12に示すコンテンツを受信した端末装置10−1は、コンテンツを表示する(ステップS26)。図5では、端末装置10−1は、順位一覧LL12に示すコンテンツのうち順位が上位のコンテンツである記事D、記事F、記事G、記事Bを表示する。
【0079】
上述したように、配信装置100は、配信要求を取得した際のコンテキストに応じて、モデルを決定する。そして、配信装置100は、決定したモデルを用いて算出したコンテンツのスコアに基づいて、コンテンツの順位を決定する。これにより、配信装置100は、ユーザと配信要求時のコンテキストとに応じて適切なコンテンツを配信することができる。したがって、配信装置100は、適切なコンテンツを抽出することができる。なお、上記の例では、配信装置100がユーザのコンテキストに基づいて選択したモデルを用いて各コンテンツのスコアを算出し、算出した各コンテンツのスコアが高い方から順に順位付けを行う場合を示した。このように、上述した例では、配信装置100は、ユーザが対応するコンテキストにおいて、各コンテンツを閲覧する可能性を連続的な数値(スコア)として算出するモデルを用いる場合を示した。すなわち、上記例では、配信装置100がユーザのコンテキストに基づいて選択したモデルを用いて算出した各コンテンツのスコアが高い程、そのコンテンツが閲覧される可能性が高いと予測する場合を示したが、配信装置100は、選択したモデルを用いてどのような予測を行ってもよい。
【0080】
例えば、配信装置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は、上述のように予測を行う対象に応じてモデルを生成してもよい。
【0081】
〔3.配信装置の構成〕
次に、図6を用いて、実施形態に係る配信装置100の構成について説明する。図6は、実施形態に係る配信装置の構成例を示す図である。図6に示すように、配信装置100は、通信部110と、記憶部120と、制御部130とを有する。なお、配信装置100は、配信装置100の管理者等から各種操作を受け付ける入力部(例えば、キーボードやマウス等)や、各種情報を表示するための表示部(例えば、液晶ディスプレイ等)を有してもよい。
【0082】
(通信部110)
通信部110は、例えば、NIC(Network Interface Card)等によって実現される。そして、通信部110は、ネットワークと有線または無線で接続され、端末装置10との間で情報の送受信を行う。
【0083】
(記憶部120)
記憶部120は、例えば、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。実施形態に係る記憶部120は、図6に示すように、ユーザ情報記憶部121と、行動情報記憶部122と、分割情報記憶部123と、クラスタ情報記憶部124と、学習情報記憶部125と、コンテンツ情報記憶部126とを有する。
【0084】
(ユーザ情報記憶部121)
実施形態に係るユーザ情報記憶部121は、ユーザに関する各種情報を記憶する。例えば、ユーザ情報記憶部121は、ユーザ属性に関する各種情報を記憶する。図7は、実施形態に係るユーザ情報記憶部の一例を示す図である。図7に示すユーザ情報記憶部121は、「ユーザID」、「年齢」、「性別」、「自宅」、「勤務地」、「興味」といった項目が含まれる。
【0085】
「ユーザID」は、ユーザを識別するための識別情報を示す。例えば、ユーザID「U1」により識別されるユーザは、図3の例に示したユーザU1に対応する。また、「年齢」は、ユーザIDにより識別されるユーザの年齢を示す。なお、「年齢」は、例えば35歳など、ユーザIDにより識別されるユーザの具体的な年齢であってもよい。また、「性別」は、ユーザIDにより識別されるユーザの性別を示す。
【0086】
また、「自宅」は、ユーザIDにより識別されるユーザの自宅の位置情報を示す。なお、図7に示す例では、「自宅」は、「LC11」といった抽象的な符号を図示するが、緯度や経度を示す情報であってもよい。また、例えば、「自宅」は、地域名や住所であってもよい。
【0087】
また、「勤務地」は、ユーザIDにより識別されるユーザの勤務地の位置情報を示す。なお、図7に示す例では、「勤務地」は、「LC12」といった抽象的な符号を図示するが、緯度や経度を示す情報であってもよい。また、例えば、「勤務地」は、地域名や住所であってもよい。
【0088】
また、「興味」は、ユーザIDにより識別されるユーザの興味を示す。すなわち、「興味」は、ユーザIDにより識別されるユーザが関心の高い対象を示す。なお、図7に示す例では、「興味」は、各ユーザに1つずつ図示するが、複数であってもよい。
【0089】
例えば、図7に示す例において、ユーザID「U1」により識別されるユーザの年齢は、「20代」であり、性別は、「男性」であることを示す。また、例えば、ユーザID「U1」により識別されるユーザは、自宅が「LC11」であることを示す。また、例えば、ユーザID「U1」により識別されるユーザは、勤務地が「LC12」であることを示す。また、例えば、ユーザID「U1」により識別されるユーザは、「スポーツ」に興味があることを示す。
【0090】
なお、ユーザ情報記憶部121は、上記に限らず、目的に応じて種々の情報を記憶してもよい。例えば、ユーザ情報記憶部121は、氏名、家族構成、収入等の情報を記憶してもよい。
【0091】
(行動情報記憶部122)
実施形態に係る行動情報記憶部122は、ユーザの行動に関する各種情報を記憶する。図8は、実施形態に係る行動情報記憶部の一例を示す図である。例えば、行動情報記憶部122は、各ユーザの端末装置10に配信したコンテンツに対するユーザの行動情報を記憶する。図8に示す行動情報記憶部122には、「ユーザID」、「行動」、「状況」といった項目が含まれる。また、「行動」には、「行動内容」、「有無」といった項目が含まれる。また、「状況」には、「時刻」、「位置」といった項目が含まれる。
【0092】
「ユーザID」は、ユーザを識別するための識別情報を示す。例えば、ユーザID「U1」により識別されるユーザは、図3の例に示したユーザU1に対応する。また、「行動」は、対応するユーザの行動に関する情報を示す。また、「状況」は、対応するユーザの状況に関する情報を示す。
【0093】
「行動内容」は、各行動を識別するための識別情報を示す。例えば、行動内容「AT11」により識別される行動(行動AT11)は、ユーザに配信したコンテンツ(例えば、コンテンツCN11)に対するユーザの行動(例えば、コンテンツのクリック)に対応する。なお、「行動内容」は、識別情報に限らず、具体的な行動内容が記憶されてもよい。また、「有無」は、対応する行動内容の有無を示す。「有無」が「1」の場合、ユーザが対応する行動を行ったことを示す。また、「有無」が「0」の場合、ユーザが対応する行動を行わなかったことを示す。
【0094】
「時刻」は、各行動に関する時刻を示す。時刻「TM11」は、行動AT11に関する時刻を示す。例えば、時刻「TM11」は、ユーザにコンテンツ(例えば、コンテンツCN11)が配信された時刻であってもよい。また、例えば、時刻「TM11」は、ユーザに配信したコンテンツ(例えば、コンテンツCN11)をユーザがクリックした時刻であってもよい。有無「0」である行動内容「AT12」により識別される行動(行動AT12)に関する時刻「TM12」は、例えば、ユーザにコンテンツが配信された時刻であってもよい。また、例えば、時刻「TM12」は、ユーザにコンテンツが配信されてからクリックされずに所定の時間が経過した後の時刻であってもよい。
【0095】
また、「位置」は、各行動に関する位置を示す。位置「LC11−1」は、行動AT11に関する位置を示す。例えば、位置「LC11−1」は、ユーザがコンテンツの配信を要求したときの位置情報であってもよい。また、例えば、位置「LC11−1」は、ユーザが配信されたコンテンツをクリックしたときの位置情報であってもよい。
【0096】
例えば、図8に示す例において、ユーザID「U1」により識別されるユーザは、行動内容「AT13」により識別される行動(行動AT13)が有無「1」であり、行動AT13を行ったことを示す。また、ユーザID「U1」により識別されるユーザは、行動AT13に関する時刻が時刻「TM13」であり、位置が位置「LC11−3」であることを示す。
【0097】
なお、行動情報記憶部122は、上記に限らず、目的に応じて種々の情報を記憶してもよい。例えば、行動情報記憶部122は、コンテンツが配信されてから、ユーザが行動するまでの時間に関する情報を記憶してもよい。また、図8では、ユーザIDごとに行動情報が行動情報記憶部122に記憶される場合を示したが、行動情報は、ユーザIDごとに限らず、例えば時刻順に記憶されてもよい。
【0098】
(分割情報記憶部123)
実施形態に係る分割情報記憶部123は、分割情報に関する各種情報を記憶する。図9は、実施形態に係る分割情報記憶部の一例を示す図である。図9に示す分割情報記憶部123は、「区分」と「コンテキスト」に基づいて分割された行動情報が記憶される。具体的には、ユーザの「区分」ごとに、各「コンテキスト」に対応する行動情報が記憶される。例えば、分割情報記憶部123に記憶される情報は、行動情報記憶部122に記憶された行動情報から生成される。
【0099】
「区分」は、ユーザに関する区分を示す。図9では、ユーザU1〜U4、すなわち各ユーザが区分である場合を示す。なお、「区分」は、各ユーザに限らず抽象化されたユーザ分類等であってもよいが、この点については後述する。また、「コンテキスト」は、コンテキストを示す。図9では、説明を簡単にするため、時間帯と位置とに基づくコンテキストを示す。具体的には、「コンテキスト」は、朝(4〜10時)、昼(10〜16時)、夜(16〜22時)、深夜(22〜4時)の4つの時間帯と、家(自宅)またはオフィス(勤務地)の2つの位置とに基づく、8つのコンテキストCT11〜CT18を示す。なお、図9に示す各マス中の「AT11」等の行動内容の右側に示す「○」は、有無の「1」に対応し、「×」は、有無の「0」に対応する。すなわち、「○」の場合、ユーザが対応する行動を行ったことを示す。また、「×」の場合、ユーザが対応する行動を行わなかったことを示す。
【0100】
例えば、図9に示す例において、ユーザU1は、コンテキストCT11において、行動AT11が「○」であり、時間帯「朝」に家(自宅)で行動AT11を行ったことを示す。また、ユーザU1は、コンテキストCT12において、行動AT11が「×」であり、時間帯「朝」にオフィス(勤務地)で行動AT11を行わなかったことを示す。
【0101】
なお、分割情報記憶部123は、上記に限らず、目的に応じて種々の情報を記憶してもよい。また、図9では、説明のために、分割情報記憶部123に各行動情報の行動内容及び有無に関する情報を記憶する場合を図示したが、分割情報記憶部123は、行動情報記憶部122に記憶された行動情報がどのマスに対応するかに関する情報を記憶してもよい。
【0102】
(クラスタ情報記憶部124)
実施形態に係るクラスタ情報記憶部124は、各分割情報の組合せに関する各種情報を記憶する。図10は、実施形態に係るクラスタ情報記憶部の一例を示す図である。図10に示すクラスタ情報記憶部124は、図9中の分割情報記憶部123に示す各マスの分割情報がどのように組み合わされたかを示す情報と各組合せに対応するモデルを識別する情報が記憶される。具体的には、ユーザの「区分」と「コンテキスト」とによる各マスに対応するモデルを識別する情報が記憶される。例えば、クラスタ情報記憶部124に記憶される情報は、モデルを生成する処理により生成される。
【0103】
「区分」は、ユーザに関する区分を示す。図10では、図9と同様に、ユーザU1〜U4、すなわち各ユーザが区分である場合を示す。また、「コンテキスト」は、コンテキストを示す。図10では、図9と同様に、時間帯と位置とに基づくコンテキストを示す。具体的には、「コンテキスト」は、朝(4〜10時)、昼(10〜16時)、夜(16〜22時)、深夜(22〜4時)の4つの時間帯と、家(自宅)またはオフィス(勤務地)の2つの位置とに基づく、8つのコンテキストCT11〜CT18を示す。なお、図10に示す各マス中の「M1」や「M2」等は、同じ符号が記憶されたマスの分割情報を組み合わせた組合情報により生成されたモデルを識別する情報を示す。
【0104】
例えば、図10に示す例において、「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に含まれる分割情報を組み合わせた組合情報から生成されたことを示す。
【0105】
なお、クラスタ情報記憶部124は、上記に限らず、目的に応じて種々の情報を記憶してもよい。
【0106】
(学習情報記憶部125)
実施形態に係る学習情報記憶部125は、学習に関する情報を記憶する。例えば、学習情報記憶部125は、生成処理により生成されたモデル情報を記憶する。図11は、実施形態に係る学習情報記憶部の一例を示す図である。図11に示す学習情報記憶部125は、モデル情報として、各モデルM1〜M6に対応させて「素性1」〜「素性3」等といった項目を有する。
【0107】
例えば、図11に示す例において、モデルM1に関するモデル情報は、素性1の重みが「0.5」、素性2の重みが「−0.4」、素性3の重みが「0.2」等であることを示す。例えば、モデルの素性(特徴量)がm次元のベクトルで表現される場合、素性数はm個になり、素性1〜素性mの重みが記憶される。
【0108】
なお、学習情報記憶部125は、上記に限らず、目的に応じて種々のモデル情報を記憶してもよい。
【0109】
(コンテンツ情報記憶部126)
実施形態に係るコンテンツ情報記憶部126は、コンテンツ(記事)に関する各種情報を記憶する。図12は、実施形態に係るコンテンツ情報記憶部の一例を示す図である。図12に示すコンテンツ情報記憶部126は、「コンテンツID」、「コンテンツ」、「カテゴリ」といった項目を有する。
【0110】
「コンテンツID」は、コンテンツを識別するための識別情報を示す。「コンテンツ」は、いわゆるコンテンツプロバイダ等の提供元から取得したコンテンツである記事を示す。図12では「コンテンツ」に「記事A」といった概念的な情報が格納される例を示したが、実際には、文字情報や文字情報と画像との組合せ、または、これらの格納場所を示すファイルパス名などが格納される。また、「カテゴリ」は、コンテンツの内容に基づく分類情報を示す。
【0111】
例えば、図12に示す例において、コンテンツID「CN11」により識別される記事A(コンテンツCN11)は、カテゴリ「経済」に分類されることを示す。また、図12に示す例において、コンテンツID「CN12」により識別される記事B(コンテンツCN12)は、カテゴリ「スポーツ」に分類されることを示す。
【0112】
なお、コンテンツ情報記憶部126は、上記に限らず、目的に応じて種々の情報を記憶してもよい。例えば、コンテンツ情報記憶部126は、コンテンツを取得した日時やコンテンツが作成された日時に関する情報を記憶してもよい。コンテンツ情報記憶部126は、各提供元の評価値に関する情報を記憶してもよい。また、コンテンツ情報記憶部126は、コンテンツの提供元を識別するための識別情報を記憶してもよい。また、コンテンツ情報記憶部126は、各モデルにより算出されたコンテンツのスコアを記憶してもよい。
【0113】
(制御部130)
図6の説明に戻って、制御部130は、例えば、CPU(Central Processing Unit)やMPU(Micro Processing Unit)等によって、配信装置100内部の記憶装置に記憶されている各種プログラム(配信プログラムの一例に相当)がRAMを作業領域として実行されることにより実現される。また、制御部130は、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の集積回路により実現される。
【0114】
図6に示すように、制御部130は、取得部131と、推定部132と、生成部133と、決定部134と、更新部135と、配信部136とを有し、以下に説明する情報処理の機能や作用を実現または実行する。なお、制御部130の内部構成は、図6に示した構成に限られず、後述する情報処理を行う構成であれば他の構成であってもよい。また、制御部130が有する各処理部の接続関係は、図6に示した接続関係に限られず、他の接続関係であってもよい。
【0115】
(取得部131)
取得部131は、ユーザの行動情報を取得する。取得部131は、ユーザが利用する端末装置10からユーザの行動情報を取得する。また、取得部131は、ユーザに関するユーザ情報を取得する。また、取得部131は、ユーザに関する区分ごとのユーザの行動に関する行動情報であって、コンテキストに基づいて分割された行動情報である分割情報を取得する。例えば、取得部131は、分割情報記憶部123から分割情報を取得する。また、取得部131は、区分として、ユーザ、またはユーザ属性に基づく分類ごとのユーザの行動に関する行動情報が、コンテキストに基づいて分割された分割情報を取得する。
【0116】
また、取得部131は、端末装置10からコンテンツの配信要求を取得する。また、取得部131は、ユーザを識別する情報(例えば、ログインIDや端末識別情報等)や端末装置10の位置情報等を取得する。また、取得部131は、区分として、ユーザ、またはユーザ属性に基づく分類ごとのユーザの行動に関する行動情報が、コンテキストに基づいて分割された分割情報を取得する。また、取得部131は、所定の対象として、コンテンツへの関心を予測するモデルに関する情報を取得する。
【0117】
また、取得部131は、ユーザに関する区分ごとの行動に関する行動情報であって、コンテキストに基づいて分割された行動情報である分割情報が、当該分割情報の各々に含まれる行動情報の傾向に基づいて組み合わされた情報である組合情報ごとに生成されるモデルであって、所定の対象を予測するモデルに関する情報を取得する。例えば、取得部131は、クラスタ情報記憶部124や学習情報記憶部125からモデルに関する情報を取得する。また、取得部131は、ユーザが新規ユーザである場合、新規ユーザのユーザ属性に類似する他のユーザにおけるコンテキストごとのモデルの割当てに対応して新規ユーザに割り当てられたモデルに関する情報を取得する。
【0118】
(推定部132)
推定部132は、取得した各種情報から種々の情報を推定する。例えば、推定部132は、コンテンツを配信した時刻や端末装置10から取得したユーザの位置情報に基づいて種々の情報を推定する。例えば、推定部132は、端末装置10から取得したユーザを識別する情報により、配信要求元のユーザを推定する。例えば、推定部132は、ユーザ情報記憶部121に記憶されたユーザのユーザ情報と端末装置10の位置とに基づいて、ユーザがいる場所を推定する。図4では、推定部132は、ユーザ情報記憶部121に示すようにユーザU1の勤務地が位置LC12であり、端末装置10−1の位置が位置LC12−1であるため、ユーザU1がオフィス(勤務地)にいると推定する。また、図4では、推定部132は、配信要求がされた時間が朝9時であるため、コンテキストを朝のオフィスに対応するコンテキストCT12と推定する。
【0119】
また、推定部132は、一の区分がユーザである場合において、ユーザの各分割情報が含まれる組合情報と、他の区分の各分割情報が含まれる組合情報との類似度に基づいて、ユーザのユーザ属性を推定する。
【0120】
(生成部133)
生成部133は、各分割情報に含まれる行動情報の傾向に基づいて組み合わされた分割情報である組合情報ごとに、所定の対象を予測するモデルを生成する。例えば、図3では、ユーザ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を生成する。
【0121】
生成部133は、収集されたユーザの行動に関する行動情報を、コンテキストに基づいて分割することにより、分割情報を生成してもよい。また、生成部133は、生成した分割情報を分割情報記憶部123に記憶させてもよい。例えば、生成部133は、収集した各ユーザの行動に関する情報を分割してもよい。例えば、生成部133は、収集した各ユーザの行動情報を、推定部132により推定されたコンテキストに基づいて分割する。
【0122】
また、生成部133は、組合情報に含まれる分割情報の各々に対応するコンテキストにおける当該分割情報に対応する区分に含まれるユーザに関する所定の対象を予測するモデルを生成する。生成部133は、区分間を跨ぐ組み合わせを含む組合情報ごとに、所定の対象を予測するモデルを生成する。例えば、生成部133は、ユーザU2とコンテキストCT12とが交差する位置のマスMSの分割情報、及びユーザU4とコンテキストCT14とが交差する位置のマスMSの分割情報を含む組合情報を用いてモデルM6を生成する。すなわち、生成部133は、ユーザU2とユーザU4との区分間を跨ぐ組合情報を用いてモデルM6を生成する。
【0123】
例えば、生成部133は、組合情報に含まれる各分割情報に対応するユーザの分類及びコンテキストの組合せにおける所定の対象の予測精度が高くなるように分割情報が組み合わされた組合情報ごとに、所定の対象を予測するモデルを生成する。例えば、生成部133は、各分割情報に含まれる行動情報が類似する分割情報が組み合わされた組合情報ごとに、所定の対象を予測するモデルを生成する。例えば、生成部133は、所定の対象として、ユーザのコンテンツへの関心を予測するモデルを生成する。
【0124】
例えば、生成部133は、組合情報の数が所定数になる手法により分割情報が組み合わされた組合情報ごとに、所定の対象を予測するモデルを生成する。例えば、生成部133は、k−means法を用いて分割情報が組み合わされた組合情報ごとにモデルを生成する。この場合、生成部133は、決定部134により決定(設定)されたクラスタ数(組合情報数)になるように、分割情報を組み合わせて組合情報を生成し、組合情報ごとにモデルを生成する。
【0125】
例えば、生成部133は、組合情報の数が変動し得る手法により分割情報が組み合わされた組合情報ごとに、所定の対象を予測するモデルを生成する。例えば、生成部133は、ディリクレ過程を用いたロジスティック回帰の手法を用いて分割情報が組み合わされた組合情報ごとにモデルを生成する。例えば、生成部133は、分割情報を順次組み合わせていくことにより、組合情報を生成し、組合情報ごとにモデルを生成する。
【0126】
例えば、生成部133は、複数の分割情報を組み合わせた組合情報を生成し、その組合情報に対してモデルを生成する。例えば、生成部133は、ランダムに複数の分割情報を選択して組合情報を生成し、その組合情報に対してモデルを生成する。そして、生成部133は、生成したモデルの予測精度を検証する。ここでいう予測精度とは、ユーザの行動の有無を予測できる確率をいう。例えば、ここでいう予測精度とは、モデルを用いた場合において、行動情報において「○」であったコンテンツについて、所定のスコア以上が算出される確率をいう。そして、生成部133は、生成したモデルの予測精度が所定の閾値以上である場合、その組み合わせを維持して、さらに分割情報を組み合わせる処理を行ってもよい。また、生成部133は、ペナルティ項等の所定のハイパーパラメータを用いてもよい。例えば、生成部133は、クラスタ数が少なくなるほど値が小さくなるペナルティ項を用いてもよい。例えば、生成部133は、モデルの予測精度からクラスタ数に所定の係数を乗算した値を減算することにより算出される数値に基づいて、組み合わせを維持するか解除するかを判定してもよい。この場合、生成部133は、クラスタ数の減少とモデルの予測精度とのトレードオフに基づいて、所定のクラスタ数に分類された組合情報およびモデルを生成する。
【0127】
例えば、生成部133は、交差検証(クロスバリデーション)により、一部をモデルの生成に用い、残りを検証用に用いて生成されたモデルの予測精度を検証してもよい。例えば、生成部133は、組合情報のうち80%をモデル生成に用い、残りの20%を検証に用いてもよい。例えば、生成部133は、検証した予測精度が所定の基準を満たした場合、その組み合わせを維持して、さらに分割情報を組み合わせる処理を行ってもよい。また、生成部133は、検証した予測精度が所定の基準を満たさない場合、その組み合わせを解除して、別の分割情報を組み合わせる処理を行ってもよい。また、生成部133は、分割情報を組み合わせる度に、モデル生成に用いる情報と、検証に用いる情報とを入れ替えて交差検証(クロスバリデーション)を複数回行った平均により、組み合わせを維持するか解除するかを判定してもよい。
【0128】
例えば、生成部133は、一の区分がユーザである場合において、一のコンテキストにおけるユーザの分割情報が所定の条件を満たさない場合、一のコンテキストにおけるユーザのユーザ属性に類似する他の区分の分割情報を一のコンテキストにおけるユーザの分割情報に加えることにより、モデルを生成する。例えば、生成部133は、一のコンテキストにおけるユーザの分割情報の量が所定量に満たない場合、一のコンテキストにおける他の区分の分割情報を一のコンテキストにおけるユーザの分割情報に加えることにより、モデルを生成する。なお、これらの点についての詳細は後述する。
【0129】
(決定部134)
決定部134は、端末装置10へ配信するコンテンツを決定するモデルを決定する。図4では、決定部134は、クラスタ情報記憶部124中のユーザU1及びコンテキストCT12に対応するマスMSに記憶されたモデルM2を示す情報に基づいて、配信するコンテンツの決定に用いるモデルをモデルM2に決定する。図5では、決定部134は、クラスタ情報記憶部125−2中のユーザU1及びコンテキストCT12に対応するマスMSに記憶されたモデルM2を示す情報に基づいて、配信するコンテンツの決定に用いるモデルをモデルM2に決定する。
【0130】
例えば、決定部134は、決定したモデルとコンテンツとに基づいて、コンテンツのスコアを算出する。また、例えば、決定部134は、算出したスコアに基づいて各コンテンツの順位を決定する。図4では、決定部134は、コンテンツ一覧CL11に示すスコアに基づいて各コンテンツCN11〜CN18等の順位を決定する。また、決定部134は、スコアの最も高いコンテンツCN15である記事Eの順位を1位に決定する。また、決定部134は、記事Eの次にスコアの高いコンテンツCN17である記事Gの順位を2位に決定する。これにより、決定部134は、順位一覧LL11に示すように、順位1位が記事Eであり、順位2位が記事Gであり、順位3位が記事Aであり、順位4位が記事Fであると決定する。図5では、決定部134は、コンテンツ一覧CL12に示すスコアに基づいて各コンテンツCN11〜CN18等の順位を決定する。
【0131】
(更新部135)
更新部135は、所定の条件を満たす場合、取得部131により取得されたモデルを更新する。例えば、更新部135は、所定の条件を満たす場合、所定の組合情報に対応するモデルの重みを再計算することにより、当該モデルを更新する。例えば、更新部135は、第1時点における予測精度が所定の閾値以上である所定のモデルを含むモデルにおいて、第1時点より後の第2時点における所定のモデルの予測精度が第1時点における予測精度に基づく基準値以下である場合、所定のモデルを更新する。図1では、更新部135は、第1時点から第2時点への期間経過により、ユーザU1のコンテキストCT12とユーザU2のコンテキストCT14とにおける予測精度が高から低に低下したモデルM2の重みを更新する。
【0132】
また、更新部135は、一の組合情報に含まれる分割情報の収集に関する情報に基づくタイミングで検証された当該一の組合情報に対応するモデルの予測精度が、所定の条件を満たす場合、当該モデルを更新する。また、更新部135は、一の組合情報に含まれる分割情報の収集される量の増減に関する情報に基づくタイミングで検証された当該一の組合情報に対応するモデルの予測精度が、所定の条件を満たす場合、当該モデルを更新する。また、更新部135は、一の組合情報に含まれる分割情報の数に関する情報に基づくタイミングで検証された当該一の組合情報に対応するモデルの予測精度が、所定の条件を満たす場合、当該モデルを更新する。
【0133】
また、更新部135は、更新処理を所定のタイミングで定期的に行ってもよい。例えば、更新部135は、所定の条件をモデルの使用を開始した時点から定期的(例えば2ヶ月おき)に更新処理を行ってもよい。また、更新部135は、所定のタイミング(例えば、2週間や3ヶ月等)で各モデルの検証を定期的に行い、検証結果に応じて更新処理を行ってもよい。例えば、更新部135は、検証したモデルの予想精度が所定の閾値未満である場合に更新処理を行ってもよい。例えば、更新部135は、検証したモデルの予想精度が所定の閾値未満である場合に検証したモデルの重みの更新を行ってもよい。また、例えば、更新部135は、各モデルを検証するタイミングを、分割情報の収集に関する情報に基づいて決定してもよい。また、例えば、更新部135は、各モデルを検証するタイミングを、分割情報の収集される量の増減に関する情報に基づいて決定してもよい。また、例えば、更新部135は、各モデルを検証するタイミングを、そのモデルの生成に用いた組合情報に含まれる分割情報の数に関する情報に基づいて決定してもよい。
【0134】
また、更新部135は、所定の条件を満たす場合、分割情報の組み合わせを変更した組合情報ごとに、所定の対象を予測するモデルを再生成する処理である再生成処理により、モデルを更新する。例えば、更新部135は、第1時点における予測精度が所定の閾値以下である低品質モデルを含むモデルにおいて、第1時点より後の第2時点における低品質モデルの予測精度が第1時点における予測精度に基づく基準値以下である場合、再生成処理によりモデルを更新する。
【0135】
また、更新部135は、低品質モデルに対応する組合情報に含まれる分割情報の組み合わせを変更した組合情報ごとに、再生成処理によりモデルを更新する。また、更新部135は、所定の分割情報の量の増加が所定の条件を満たす場合、再生成処理によりモデルを更新する。なお、これらの点についての詳細は後述する。
【0136】
(配信部136)
配信部136は、端末装置10に各種情報を配信する。例えば、配信部136は、端末装置10にコンテンツを配信する。また、配信部136は、決定部134により決定されたコンテンツを配信する。図4では、配信部136は、順位一覧LL11に示すコンテンツを端末装置10−1へ配信する。また、配信部136は、記事E、記事G、記事A、記事F、等の順で表示されるコンテンツを端末装置10−1へ配信する。また、図5では、配信部136は、順位一覧LL12に示すコンテンツを端末装置10−1へ配信する。
【0137】
〔4.生成処理のフロー〕
〔4−1.クラスタ数を設定しない手法〕
次に、図13を用いて、実施形態に係る配信システム1による生成処理の手順について説明する。図13は、実施形態に係る生成処理の一例を示すフローチャートである。具体的には、図13は、クラスタ数(組合情報数)を決定しない手法による生成処理の一例を示すフローチャートである。
【0138】
図13に示すように、配信装置100の取得部131は、各ユーザの行動情報を取得する(ステップS101)。例えば、取得部131は、各ユーザが利用する端末装置10からユーザの行動情報を取得する。
【0139】
また、配信装置100の生成部133は、コンテキストに応じて情報を分割する(ステップS102)。例えば、生成部133は、行動情報を取得した際のコンテキストに応じて、行動情報を分割した分割情報を生成する。なお、ステップS101とステップS102は、複数回に亘って行われてもよい。
【0140】
その後、生成部133は、クラスタ数を決定しない手法により、分割情報のクラスタリング及びモデルの生成を行う(ステップS103)。例えば、生成部133は、ディリクレ過程を用いたロジスティック回帰の手法を用いて分割情報が組み合わされた組合情報ごとにモデルを生成する。
【0141】
〔4−2.クラスタ数を設定する手法〕
次に、図14を用いて、実施形態に係る配信システム1による生成処理の手順について説明する。図14は、実施形態に係る生成処理の一例を示すフローチャートである。具体的には、図14は、クラスタ数(組合情報数)を予め設定(決定)する手法による生成処理の一例を示すフローチャートである。
【0142】
図14に示すように、配信装置100の取得部131は、各ユーザの行動情報を取得する(ステップS201)。例えば、取得部131は、各ユーザが利用する端末装置10からユーザの行動情報を取得する。
【0143】
また、配信装置100の生成部133は、コンテキストに応じて情報を分割する(ステップS202)。例えば、生成部133は、行動情報を取得した際のコンテキストに応じて、行動情報を分割した分割情報を生成する。なお、ステップS201とステップS202は、複数回に亘って行われてもよい。
【0144】
また、配信装置100の決定部134は、クラスタ数(組合情報数)を設定(決定)する(ステップS203)。例えば、決定部134は、クラスタ数(組合情報数)を「6」に設定(決定)する。なお、ステップS203の処理は、ステップS204よりも前であれば、いずれのタイミングで行われてもよい。
【0145】
その後、生成部133は、クラスタ数を決定する手法により、分割情報のクラスタリング及びモデルの生成を行う(ステップS204)。例えば、生成部133は、k−means法を用いて分割情報が組み合わされた組合情報ごとにモデルを生成する。
【0146】
〔5.配信処理のフロー〕
次に、図15を用いて、実施形態に係る配信システム1による配信処理の手順について説明する。図15は、実施形態に係る配信処理の一例を示すフローチャートである。
【0147】
図15に示すように、配信装置100の取得部131は、配信要求を取得する(ステップS301)。例えば、取得部131は、各ユーザが利用する端末装置10からコンテンツの配信要求を取得する。
【0148】
そして、配信装置100の推定部132は、ユーザ及びコンテキストを推定する(ステップS302)。例えば、推定部132は、端末装置10から取得したユーザを識別する情報により、配信要求元のユーザを推定する。また、例えば、推定部132は、配信要求がされた時刻や端末装置10の位置に基づいて、コンテキストを推定する。
【0149】
その後、配信装置100の決定部134は、モデルを決定する(ステップS303)。例えば、決定部134は、端末装置10へ配信するコンテンツを決定するモデルを決定する。
【0150】
そして、決定部134は、コンテンツの順位を決定する(ステップS304)。例えば、決定部134は、ステップS303において決定したモデルとコンテンツとに基づいて、コンテンツのスコアを算出する。また、例えば、決定部134は、算出したスコアに基づいて各コンテンツの順位を決定する。
【0151】
その後、配信装置100の配信部136は、順位に基づいてコンテンツを配信する(ステップS305)。例えば、配信部136は、ステップS304において決定した順位に基づいてコンテンツを配信する。
【0152】
〔6.更新処理のフロー〕
〔6−1.予測精度に応じた更新処理のフロー〕
次に、図16を用いて、実施形態に係る配信システム1による更新処理の手順について説明する。図16は、実施形態に係る予測精度に応じた更新処理の一例を示すフローチャートである。
【0153】
図16に示すように、配信装置100の配信部136は、コンテキストに基づくモデルを用いてコンテンツを配信する(ステップS401)。例えば、配信装置100は、図15に示すステップS301〜S305の処理によりコンテンツを配信する。
【0154】
そして、配信装置100の更新部135は、モデルの予測精度が再生成処理に関する所定の条件を満たすかどうかを判定する(ステップS402)。モデルの予測精度が再生成処理に関する所定の条件を満たす場合(ステップS402:Yes)、更新部135は、再生成処理によりモデルを更新する(ステップS403)。
【0155】
一方、モデルの予測精度が再生成処理に関する所定の条件を満たさない場合(ステップS402:No)、更新部135は、所定のモデルの予測精度が重みの更新に関する所定の条件を満たすかどうかを判定する(ステップS404)。
【0156】
所定のモデルの予測精度が重みの更新に関する所定の条件を満たす場合(ステップS404:Yes)、更新部135は、所定のモデルの重みを更新する(ステップS405)。一方、所定のモデルの予測精度が重みの更新に関する所定の条件を満たさない場合(ステップS404:No)、更新部135は、更新処理を終了する。
【0157】
〔6−2.情報量の増加に応じた更新処理のフロー〕
次に、図17を用いて、実施形態に係る配信システム1による更新処理の手順について説明する。図17は、実施形態に係る情報量の増加に応じた更新処理の一例を示すフローチャートである。
【0158】
配信装置100の更新部135は、分割情報の増減が再生成処理に関する所定の条件を満たすかどうかを判定する(ステップS501)。分割情報の増減が再生成処理に関する所定の条件を満たす場合(ステップS501:Yes)、更新部135は、再生成処理によりモデルを更新する(ステップS502)。
【0159】
一方、分割情報の増減が再生成処理に関する所定の条件を満たさない場合(ステップS501:No)、更新部135は、所定のモデルに対応する分割情報の増減が重みの更新に関する所定の条件を満たすかどうかを判定する(ステップS503)。
【0160】
所定のモデルに対応する分割情報の増減が重みの更新に関する所定の条件を満たす場合(ステップS503:Yes)、更新部135は、所定のモデルの重みを更新する(ステップS504)。一方、所定のモデルに対応する分割情報の増減が重みの更新に関する所定の条件を満たさない場合(ステップS503:No)、更新部135は、更新処理を終了する。
【0161】
〔7.更新処理について〕
上述したように、配信装置100は、種々の条件に基づいて、再生成処理を行ったり、モデルの重みを更新したりしてもよい。この点について、図18図20を用いて説明する。図18図20は、実施形態に係る更新処理の一例を示す図である。具体的には、図18は、分割情報の増加に基づく再生成処理の一例を示す図である。また、具体的には、図19は、分割情報の増加に基づくモデルの重みの更新の一例を示す図である。また、具体的には、図20は、低品質モデルを対象としてクラスタを行う再生成処理の一例を示す図である。
【0162】
〔7−1.分割情報の増加に基づく再生成処理〕
まず、図18を用いて、分割情報の増加に基づく再生成処理について説明する。図18に示す分割情報一覧AL31は、図9に示す分割情報記憶部123と同様に、各マスMSに対応する分割情報を示す。すなわち、分割情報一覧AL31は、朝(4〜10時)、昼(10〜16時)、夜(16〜22時)、深夜(22〜4時)の4つの時間帯と、家(自宅)またはオフィス(勤務地)の2つの位置とに基づく、8つのコンテキストCT11〜CT18に分割された場合を示す。分割情報一覧AL31には、ユーザU1〜U4等が含まれる。
【0163】
ここで、分割情報一覧AL31は、コンテキストCT13におけるユーザU1〜U3の行動情報が収集され、図9中の分割情報記憶部123に示す分割情報に、ユーザU1〜U3のコンテキストCT13に対応するマスMSに分割情報が追加された状態を示す。また、クラスタ情報一覧ML31−1は、図10に示すクラスタ情報記憶部124に対応し、分割情報一覧AL31に示すようにユーザU1〜U3のコンテキストCT13に対応するマスMSに分割情報が追加される前のクラスタリングに関する情報を示す。
【0164】
図9中の分割情報記憶部123に示すように、ユーザU1〜U3のコンテキストCT13に対応するマスMSに分割情報が追加される前においては、ユーザU1〜U3のコンテキストCT13に対応するマスMSには、ほとんど分割情報が含まれていない。そのため、クラスタ情報一覧ML31−1に示すクラスタリングを行った生成処理においては、ユーザU1〜U3のコンテキストCT13に対応するマスMSは対象外となっている。
【0165】
一方、分割情報一覧AL31に示す状態においては、ユーザU1〜U3のコンテキストCT13に対応するマスMSには十分な分割情報が含まれる。そのため、配信装置100は、所定の分割情報の量の増加が所定の条件を満たすとして、再生成処理によりモデルを更新する(ステップS31)。
【0166】
例えば、ステップS31における再生成処理により、配信装置100は、クラスタ情報一覧ML31−2を生成する。なお、図示することは省略するが、配信装置100は、クラスタ情報一覧ML31−2に含まれるモデルM31〜M36等に対応するモデルに関する情報(各素性の重み等)を生成する。
【0167】
例えば、クラスタ情報一覧ML31−2は、ユーザU1のコンテキストCT15に対応するマスMS、ユーザU2のコンテキストCT12に対応するマスMS、ユーザU3のコンテキストCT13に対応するマスMS、及びユーザU3のコンテキストCT17に対応するマスMSには同じモデルM34が割り当てられることを示す。すなわち、上記4つのマスMSに含まれる分割情報を組み合わせた組合情報を用いて、モデルM34が生成されたことを示す。このように、配信装置100は、クラスタ情報一覧ML31−1に示すクラスタリングを行った生成処理においては、対象外となっていたユーザU3のコンテキストCT13に対応するマスMSにモデルM34を割り当てる。また、配信装置100は、クラスタ情報一覧ML31−1に示すクラスタリングを行った生成処理においては、対象外となっていたユーザU1のコンテキストCT13に対応するマスMSにモデルM33を割り当てる。また、配信装置100は、クラスタ情報一覧ML31−1に示すクラスタリングを行った生成処理においては、対象外となっていたユーザU2のコンテキストCT13に対応するマスMSにモデルM31を割り当てる。
【0168】
〔7−2.分割情報の増加に基づくモデルの重みの更新〕
次に、図19を用いて、分割情報の増加に基づくモデルの重みの更新について説明する。図19に示す分割情報一覧AL41は、図9に示す分割情報記憶部123と同様に、各マスMSに対応する分割情報を示す。すなわち、分割情報一覧AL41は、朝(4〜10時)、昼(10〜16時)、夜(16〜22時)、深夜(22〜4時)の4つの時間帯と、家(自宅)またはオフィス(勤務地)の2つの位置とに基づく、8つのコンテキストCT11〜CT18に分割された場合を示す。分割情報一覧AL41には、ユーザU1〜U4等が含まれる。
【0169】
ここで、分割情報一覧AL41は、コンテキストCT17におけるユーザU2の行動情報が収集され、図9中の分割情報記憶部123に示す分割情報に、ユーザU2のコンテキストCT17に対応するマスMSに分割情報が追加された状態を示す。また、クラスタ情報一覧ML41は、図10に示すクラスタ情報記憶部124に対応し、分割情報一覧AL41に示すようにユーザU2のコンテキストCT17に対応するマスMSに分割情報が追加される前のクラスタリングに関する情報を示す。また、重み情報一覧WL41−1は、図11に示す学習情報記憶部125に対応し、モデルM1〜M6等に関する情報が含まれる。重み情報一覧WL41−1は、モデルM1の素性1の重みが「0.5」、モデルM1の素性2の重みが「−0.4」、モデルM1の素性3の重みが「0.2」等であることを示す。
【0170】
図9中の分割情報記憶部123に示すように、ユーザU2のコンテキストCT17に対応するマスMSに分割情報が追加される前においては、ユーザU2のコンテキストCT17に対応するマスMSには、十分な分割情報が含まれている。そのため、クラスタ情報一覧ML41に示すクラスタリングを行った生成処理においては、ユーザU2のコンテキストCT17に対応するマスMSの分割情報は、クラスタリングやモデル生成の対象となっている。
【0171】
一方、分割情報一覧AL41に示す状態においては、ユーザU2のコンテキストCT17に対応するマスMSにはさらに分割情報が追加されている。そのため、配信装置100は、以前にクラスタリング等の対象となったマスMSの分割情報の量の増加が所定の条件を満たすとして、そのマスMSに対応するモデルの重みを更新する(ステップS41)。図19では、配信装置100は、ユーザU2のコンテキストCT17に対応するマスMSに割り当てられているモデルM1の重みを更新する。
【0172】
例えば、ステップS41における再生成処理により、配信装置100は、重み情報一覧WL41−2に示すようにモデルM1の重みを更新する。重み情報一覧WL41−2は、モデルM1の素性1の重みが「−2.8」、モデルM1の素性2の重みが「4.4」、モデルM1の素性3の重みが「−0.1」等であることを示す。このように、配信装置100は、以前にクラスタリング等の対象となったマスMSの分割情報の量の増加が所定の条件を満たす場合は、そのマスMSに対応するモデルの重みを更新する。
【0173】
〔7−3.低品質モデルを対象にした再生成処理〕
次に、図20を用いて、低品質モデルを対象としてクラスタリングを行う再生成処理について説明する。なお、ここでいう低品質モデルとは、割り当てられたマスMS全体における予測精度が低であるモデルや、割り当てられたマスMSのうち、所定数のマスMSにおける予測精度が低であるモデルをいう。
【0174】
図20中に示すモデル情報MD51−1には、クラスタ情報一覧ML51−1に示すような各マスMSに含まれる分割情報のクラスタリングに関する情報が含まれる。また、モデル情報MD51−1には、重み情報一覧WL51−1に示すようなクラスタごとに生成されたモデルM1〜M6に関する情報が含まれる。
【0175】
また、図20においては、モデルM2、M5、M6の3つのモデルが、予測精度が低い、すなわち低品質モデルであるものとする。また、図20においては、モデルM1、M3、M4の3つのモデルは、予測精度が高いモデル、例えば割り当てられたマスMS全体で予測精度が高であるモデルであるものとする。そのため、配信装置100は、モデルM1、M3、M4の3つのクラスタを維持しつつ、再生成処理を行うことにより、モデルを更新する(ステップS51)。つまり、配信装置100は、低品質モデルに対応する組合情報に含まれる分割情報の組み合わせの変更を行う再生成処理によりモデルを更新する。
【0176】
上述した再生成処理においては、配信装置100は、モデルM2、M5、M6のクラスタに含まれていた分割情報は、モデルM1、M3、M4のいずれかのクラスタに追加されるか、新たに別のクラスタを構成するように、処理を行う。例えば、配信装置100は、モデルM1に含まれる分割情報を1つの分割情報とし、モデルM3に含まれる分割情報を1つの分割情報とし、モデルM4に含まれる分割情報を1つの分割情報として、全分割情報を対象として再生成処理を行うことにより、上記の処理を行ってもよい。
【0177】
ステップS51により、配信装置100は、モデル情報MD51−2を生成する。モデル情報MD51−2には、クラスタ情報一覧ML51−2に示すような各マスMSに含まれる分割情報のクラスタリングに関する情報が含まれる。また、モデル情報MD51−2には、重み情報一覧WL51−2に示すようなクラスタごとに生成されたモデルM1、M3、M4、M51〜M52等に関する情報が含まれる。
【0178】
例えば、モデル情報MD51−2は、ユーザU1のコンテキストCT12に対応するマスMS、ユーザU1のコンテキストCT15に対応するマスMS、ユーザU3のコンテキストCT14に対応するマスMS、及びユーザU3のコンテキストCT16に対応するマスMSには同じモデルM4が割り当てられることを示す。すなわち、上記4つのマスMSに含まれる分割情報を組み合わせた組合情報を用いて、モデルM4が生成されたことを示す。図20では、モデルM4のクラスタにユーザU1のコンテキストCT12に対応するマスMSの分割情報が追加されて、モデルM4の重みが更新される。また、図20では、重み情報一覧WL51−2は、モデルM4の素性1の重みが「1.0」、モデルM4の素性2の重みが「−0.5」、モデルM4の素性3の重みが「−1.2」等であることを示す。
【0179】
例えば、モデル情報MD51−2は、ユーザU1のコンテキストCT16に対応するマスMS、ユーザU2のコンテキストCT12に対応するマスMS、及びユーザU3のコンテキストCT17に対応するマスMSには同じモデルM51が割り当てられることを示す。すなわち、上記3つのマスMSに含まれる分割情報を組み合わせた組合情報を用いて、新たなモデルM51が生成されたことを示す。また、図20では、重み情報一覧WL51−2は、モデルM51の素性1の重みが「−1.4」、モデルM51の素性2の重みが「−1.1」、モデルM51の素性3の重みが「0.6」等であることを示す。
【0180】
〔8.効果〕
上述してきたように、実施形態に係る配信装置100は、取得部131と、更新部135とを有する。取得部131は、ユーザに関する区分ごとの行動に関する行動情報であって、コンテキストに基づいて分割された行動情報である分割情報が、当該分割情報の各々に含まれる行動情報の傾向に基づいて組み合わされた情報である組合情報ごとに生成されるモデルであって、所定の対象を予測するモデルに関する情報を取得する。また、更新部135は、所定の条件を満たす場合、取得部131により取得されたモデルを更新する。
【0181】
これにより、実施形態に係る配信装置100は、所定の条件を満たす場合に、モデルを更新することにより、モデルを用いて所定の対象を適切に予測可能にすることができる。
【0182】
また、実施形態に係る配信装置100において、更新部135は、所定の組合情報に対応するモデルが所定の条件を満たす場合、当該モデルの重みを再計算することにより、当該モデルを更新する。
【0183】
これにより、実施形態に係る配信装置100は、所定の組合情報に対応するモデルが所定の条件を満たす場合に、モデルの重みを更新することにより、モデルを用いて所定の対象を適切に予測可能にすることができる。
【0184】
また、実施形態に係る配信装置100において、更新部135は、第1時点における予測精度が所定の閾値以上である所定のモデルを含むモデルにおいて、第1時点より後の第2時点における所定のモデルの予測精度が第1時点における予測精度に基づく基準値以下である場合、所定のモデルを更新する。
【0185】
これにより、実施形態に係る配信装置100は、第1時点における予測精度が所定の閾値以上である所定のモデルを含むモデルが、第2時点において所定の基準値以下である場合に、予測精度が低下したモデルの重みを更新することにより、モデルを用いて所定の対象を適切に予測可能にすることができる。
【0186】
また、実施形態に係る配信装置100において、更新部135は、一の組合情報に含まれる分割情報の収集に関する情報に基づくタイミングで検証された当該一の組合情報に対応するモデルが所定の条件を満たす場合、当該モデルを更新する。
【0187】
これにより、実施形態に係る配信装置100は、分割情報の収集に関する情報に基づくタイミングで検証されたモデルが所定の条件を満たす場合に、モデルを更新することにより、モデルを用いて所定の対象を適切に予測可能にすることができる。
【0188】
また、実施形態に係る配信装置100において、更新部135は、一の組合情報に含まれる分割情報の収集される量の増減に関する情報に基づくタイミングで検証された当該一の組合情報に対応するモデルが所定の条件を満たす場合、当該モデルを更新する。
【0189】
これにより、実施形態に係る配信装置100は、分割情報の収集される量の増減に関する情報に基づくタイミングで検証されたモデルが所定の条件を満たす場合に、モデルを更新することにより、モデルを用いて所定の対象を適切に予測可能にすることができる。
【0190】
また、実施形態に係る配信装置100において、更新部135は、一の組合情報に含まれる分割情報の数に関する情報に基づくタイミングで検証された当該一の組合情報に対応するモデルが所定の条件を満たす場合、当該モデルを更新する。
【0191】
これにより、実施形態に係る配信装置100は、分割情報の数に関する情報に基づくタイミングで検証されたモデルが所定の条件を満たす場合に、モデルを更新することにより、モデルを用いて所定の対象を適切に予測可能にすることができる。
【0192】
また、実施形態に係る配信装置100において、更新部135は、所定の条件を満たす場合、分割情報の組み合わせを変更した組合情報ごとに、所定の対象を予測するモデルを再生成する処理である再生成処理により、モデルを更新する。
【0193】
これにより、実施形態に係る配信装置100は、所定の条件を満たす場合、分割情報の組み合わせを変更した組合情報ごとに、所定の対象を予測するモデルを再生成する処理である再生成処理を行って、モデルを更新することにより、モデルを用いて所定の対象を適切に予測可能にすることができる。
【0194】
また、実施形態に係る配信装置100において、更新部135は、第1時点における予測精度が所定の閾値以下である低品質モデルを含むモデルにおいて、第1時点より後の第2時点における低品質モデルの予測精度が第1時点における予測精度に基づく基準値以下である場合、再生成処理によりモデルを更新する。
【0195】
また、実施形態に係る配信装置100において、更新部135は、第1時点における予測精度が所定の閾値以下である低品質モデルを含むモデルにおいて、第1時点より後の第2時点における所定のモデルの予測精度が第1時点における予測精度に基づく基準値以下である場合、再生成処理を行って、モデルを更新することにより、モデルを用いて所定の対象を適切に予測可能にすることができる。
【0196】
また、実施形態に係る配信装置100において、更新部135は、低品質モデルに対応する組合情報に含まれる分割情報の組み合わせの変更を行う再生成処理によりモデルを更新する。
【0197】
これにより、実施形態に係る配信装置100は、低品質モデルに対応する組合情報に含まれる分割情報の組み合わせの変更を行う再生成処理によりモデルを更新することにより、予測精度が低かった分割情報を対象にモデルの更新を行うことができる。したがって、配信装置100は、モデルを用いて所定の対象を適切に予測可能にすることができる。
【0198】
また、実施形態に係る配信装置100において、更新部135は、所定の分割情報の量の増加が所定の条件を満たす場合、再生成処理によりモデルを更新する。
【0199】
これにより、実施形態に係る配信装置100は、所定の分割情報の量の増加が所定の条件を満たす場合、再生成処理によりモデルを更新することにより、モデルを用いて所定の対象を適切に予測可能にすることができる。
【0200】
また、実施形態に係る配信装置100において、更新部135は、区分として、ユーザ、またはユーザ属性に基づく分類ごとのユーザの行動に関する行動情報が、コンテキストに基づいて分割された分割情報を取得する。
【0201】
これにより、実施形態に係る配信装置100は、区分を適宜変更して各マスに含まれる分割情報の量を調整することができる。したがって、配信装置100は、モデルを用いて所定の対象を適切に予測可能にすることができる。
【0202】
また、実施形態に係る配信装置100において、更新部135は、所定の対象として、コンテンツへの関心を予測するモデルに関する情報を取得する。
【0203】
これにより、実施形態に係る配信装置100は、モデルを用いてユーザのコンテンツへの関心を適切に予測可能にすることができる。
【0204】
〔9.ハードウェア構成〕
上述してきた実施形態に係る配信装置100は、例えば図21に示すような構成のコンピュータ1000によって実現される。図21は、配信装置の機能を実現するコンピュータの一例を示すハードウェア構成図である。コンピュータ1000は、CPU1100、RAM1200、ROM1300、HDD1400、通信インターフェイス(I/F)1500、入出力インターフェイス(I/F)1600、及びメディアインターフェイス(I/F)1700を有する。
【0205】
CPU1100は、ROM1300またはHDD1400に格納されたプログラムに基づいて動作し、各部の制御を行う。ROM1300は、コンピュータ1000の起動時にCPU1100によって実行されるブートプログラムや、コンピュータ1000のハードウェアに依存するプログラム等を格納する。
【0206】
HDD1400は、CPU1100によって実行されるプログラム、及び、かかるプログラムによって使用されるデータ等を格納する。通信インターフェイス1500は、ネットワークNを介して他の機器からデータを受信してCPU1100へ送り、CPU1100が生成したデータをネットワークNを介して他の機器へ送信する。
【0207】
CPU1100は、入出力インターフェイス1600を介して、ディスプレイやプリンタ等の出力装置、及び、キーボードやマウス等の入力装置を制御する。CPU1100は、入出力インターフェイス1600を介して、入力装置からデータを取得する。また、CPU1100は、生成したデータを入出力インターフェイス1600を介して出力装置へ出力する。
【0208】
メディアインターフェイス1700は、記録媒体1800に格納されたプログラムまたはデータを読み取り、RAM1200を介してCPU1100に提供する。CPU1100は、かかるプログラムを、メディアインターフェイス1700を介して記録媒体1800からRAM1200上にロードし、ロードしたプログラムを実行する。記録媒体1800は、例えばDVD(Digital Versatile Disc)、PD(Phase change rewritable Disk)等の光学記録媒体、MO(Magneto-Optical disk)等の光磁気記録媒体、テープ媒体、磁気記録媒体、または半導体メモリ等である。
【0209】
例えば、コンピュータ1000が実施形態に係る配信装置100として機能する場合、コンピュータ1000のCPU1100は、RAM1200上にロードされたプログラムを実行することにより、制御部130の機能を実現する。コンピュータ1000のCPU1100は、これらのプログラムを記録媒体1800から読み取って実行するが、他の例として、他の装置からネットワークNを介してこれらのプログラムを取得してもよい。
【0210】
以上、本願の実施形態及び変形例のいくつかを図面に基づいて詳細に説明したが、これらは例示であり、発明の開示の行に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。
【0211】
〔10.その他〕
また、上記実施形態及び変形例において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、各図に示した各種情報は、図示した情報に限られない。
【0212】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
【0213】
また、上述してきた実施形態及び変形例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
【0214】
また、上述してきた「部(section、module、unit)」は、「手段」や「回路」などに読み替えることができる。例えば、取得部は、取得手段や取得回路に読み替えることができる。
【符号の説明】
【0215】
1 配信システム
100 配信装置(更新装置)
121 ユーザ情報記憶部
122 行動情報記憶部
123 分割情報記憶部
124 クラスタ情報記憶部
125 学習情報記憶部
126 コンテンツ情報記憶部
130 制御部
131 取得部
132 推定部
133 生成部
134 決定部
135 更新部
136 配信部
10 端末装置
N ネットワーク
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20
図21