(57)【特許請求の範囲】
【請求項１】
コンピュータを備える装置が、複数の概念のそれぞれに対してユーザ興味スコアを有する興味モデルを用いて、前記概念を含むコンテンツの閲覧履歴からユーザの興味を分析する方法であって、
前記コンピュータが、複数のコンテンツを一覧として閲覧した第１のコンテンツリストと、前記第１のコンテンツリストからコンテンツの本体を閲覧した第２のコンテンツリストとをクラスタ化するステップと、
前記コンピュータが、前記クラスタ毎に、前記第１のコンテンツリストのコンテンツの総数Ｓと、前記第１のコンテンツリストにおいて概念ｉが出現するコンテンツの出現数Ｎと、前記第２のコンテンツリストのコンテンツの総数ａと、前記第２のコンテンツリストにおいて前記概念ｉが出現するコンテンツの出現数ｎとしたとき、前記総数Ｓ、前記出現数Ｎのとき、前記第２のコンテンツリストのコンテンツをランダムにａ個選択したときに前記概念ｉが出現するコンテンツの数が前記出現数ｎ以上となる第１の確率及び前記出現数ｎ以下となる第２の確率を算出し、前記第１の確率及び前記第２の確率をもとに標準正規分布の累積分布関数の逆関数により前記概念ｉの特徴スコアを算出する算出ステップと、
前記コンピュータが、前記コンテンツの閲覧に関するコンテキスト条件を収集するステップと、
前記コンピュータが、前記収集されたコンテキスト条件の組合せに基づいて、前記興味モデルを前記組合せ毎のテーブルに分割するステップと、
前記コンピュータが、前記組合せに含まれる条件間の距離を算出し、距離を前記条件間の関連性とみなし、前記関連性に基づいて、前記組合せ毎のテーブルから更新対象テーブルを抽出するステップと、
前記コンピュータが、前記更新対象テーブルに対して前記関連性をもとに重みを算出するステップと、
前記コンピュータが、前記特徴スコアと前記重みとを用いて前記更新対象テーブルにおける前記概念に対する前記ユーザ興味スコアを更新するステップと
を有することを特徴とする興味分析方法。
【請求項２】
前記コンテキスト条件に適合する閲覧履歴の量に基づいて、前記興味モデルを前記組合せ毎のテーブルに分割することを特徴とする請求項１に記載の興味分析方法。
【請求項３】
前記コンピュータが、コンテンツ要求時のコンテキスト条件を収集し、当該コンテキスト条件に適合するテーブルを用いて、コンテンツに対する評価スコアを算出するステップをさらに有することを特徴とする請求項１又は２に記載の興味分析方法。
【請求項４】
複数の概念のそれぞれに対してユーザ興味スコアを有する興味モデルを用いて、前記概念を含むコンテンツの閲覧履歴からユーザの興味を分析する装置であって、
複数のコンテンツを一覧として閲覧した第１のコンテンツリストと、前記第１のコンテンツリストからコンテンツの本体を閲覧した第２のコンテンツリストとをクラスタ化する手段と、
前記クラスタ毎に、前記第１のコンテンツリストのコンテンツの総数Ｓと、前記第１のコンテンツリストにおいて概念ｉが出現するコンテンツの出現数Ｎと、前記第２のコンテンツリストのコンテンツの総数ａと、前記第２のコンテンツリストにおいて前記概念ｉが出現するコンテンツの出現数ｎとしたとき、前記総数Ｓ、前記出現数Ｎのとき、前記第２のコンテンツリストのコンテンツをランダムにａ個選択したときに前記概念ｉが出現するコンテンツの数が前記出現数ｎ以上となる第１の確率及び前記出現数ｎ以下となる第２の確率を算出し、前記第１の確率及び前記第２の確率をもとに標準正規分布の累積分布関数の逆関数により前記概念ｉの特徴スコアを算出する算出手段と、
前記コンテンツの閲覧に関するコンテキスト条件を収集する手段と、
前記収集されたコンテキスト条件の組合せに基づいて、前記興味モデルを前記組合せ毎のテーブルに分割する手段と、
前記組合せに含まれる条件間の距離を算出し、距離を前記条件間の関連性とみなし、前記関連性に基づいて、前記組合せ毎のテーブルから更新対象テーブルを抽出する手段と、
前記更新対象テーブルに対して前記関連性をもとに重みを算出する手段と、
前記特徴スコアと前記重みとを用いて前記更新対象テーブルにおける前記概念に対する前記ユーザ興味スコアを更新する手段と
を有することを特徴とする興味分析装置。
【請求項５】
前記コンテキスト条件に適合する閲覧履歴の量に基づいて、前記興味モデルを前記組合せ毎のテーブルに分割することを特徴とする請求項４に記載の興味分析装置。
【請求項６】
コンテンツ要求時のコンテキスト条件を収集し、当該コンテキスト条件に適合するテーブルを用いて、コンテンツに対する評価スコアを算出する手段をさらに有することを特徴とする請求項４又は５に記載の興味分析装置。
【請求項７】
請求項４乃至６のいずれか１項に記載の興味分析装置を構成する各手段としてコンピュータを機能させる興味分析装置プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ユーザのコンテンツ閲覧履歴と、閲覧対象コンテンツを代表する概念を示すメタ情報を利用してコンテキストを考慮してユーザの興味を分析する興味分析方法、興味分析装置及びそのプログラムに関する。
【背景技術】
【０００２】
ユーザの行動や状況に合わせて適切なサービス・コンテンツをリコメンドする技術が望まれている。このため、書籍通販サイトにて、サイト内での書籍情報閲覧履歴からユーザの興味を推定して書籍をリコメンドする等、履歴情報からユーザの趣味嗜好等を推定する技術が提案されている。このような方法において、各コンテンツに内容をサマライズするメタ情報が付与されていることを前提として、ユーザ履歴において出現する概念等の頻度からユーザの興味等を推定する方法は、内容ベースフィルタリング手法（Content Based Filtering: CBF）で、特にメモリベース手法として研究が進められている。
【０００３】
具体的に、内容ベースフィルタリング技術とは、例えば特定ブランド（ブランドを示す情報を概念タグを保持）の商品を閲覧した場合に、同じブランドの商品（同じ概念タグを保持）を提示する。この場合の、メモリベース手法は、過去に閲覧した履歴から、特定ブランドを頻繁に閲覧していれば、特定ブランドの商品を提示することとなる。このような技術において、履歴を候補アイテムからの選択と見なして分析する手法が存在する。また、このような手法では、コンテキストの変化を学習時の重み、及び学習モデルの切り替えとして扱うことが可能である（例えば、非特許文献１又は２を参照。）。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】奥  健太，中島  伸介，宮崎  純，植村  俊亮，「Context-Aware SVMに基づく状況依存型情報推薦方式の提案」，日本データベース学会，DBSJ Letters Vol.5，No.1，pp.1-4，2006年6月
【非特許文献２】Alexandros Karatzoglou，Xavier Amatriain，Linas Baltrunas，Nuria Oliver，Multiverse Recommendation: N-dimensional Tensor Factorization for Context-aware Collaborative Filtering，RecSys 2010: 79-86
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところが、従来技術においては、コンテキストの定義について、人手で適切な分類を事前に決定する必要があった。このため、適切なコンテキストを設定することは稼働がかかり困難であった。また、コンテキストを設定した場合も、適切な設定でなければ、コンテキストに当てはまる履歴が十分に収集出来ず、適切な推薦結果を得られないという問題があった。
【０００６】
この発明は上記事情に着目してなされたもので、その目的とするところは、最適なコンテキスト条件を自動的に抽出し、情報推薦精度の高度化を可能にする興味分析方法、興味分析装置及びそのプログラムを提供することにある。
【課題を解決するための手段】
【０００７】
上記目的を達成するためにこの発明の第１の態様は、複数の概念のそれぞれに対してユーザ興味スコアを有する興味モデルを用いて、前記概念を含むコンテンツの閲覧履歴からユーザの興味を分析する方法、装置及びプログラムであって、複数のコンテンツを一覧として閲覧した第１のコンテンツリストと、前記第１のコンテンツリストからコンテンツの本体を閲覧した第２のコンテンツリストとをクラスタ化し、前記クラスタ毎に、前記第１のコンテンツリストのコンテンツの総数を第１の総数と、前記第１のコンテンツリストにおいて前記概念が出現するコンテンツの数を第１の出現数と、前記第２のコンテンツリストのコンテンツの総数を第２の総数と、前記第２のコンテンツリストにおいて前記概念が出現するコンテンツの数を第２の出現数としたとき、前記第１の総数、前記第１の出現数、及び前記第２の総数の条件下で、前記第２のコンテンツリストに前記概念が出現するコンテンツの数が、前記第２の出現数以上となる第１の確率及び前記第２の出現数以下となる第２の確率を算出し、前記第１の確率及び前記第２の確率をもとに標準正規分布の累積分布関数の逆関数により特徴スコアを算出し、前記コンテンツの閲覧に関するコンテキスト条件を収集し、前記収集されたコンテキスト条件の組合せに基づいて、前記興味モデルを前記組合せ毎のテーブルに分割し、前記組合せに含まれるコンテキスト条件間の関連性に基づいて、前記組合せ毎のテーブルから更新対象テーブルを抽出し、前記更新対象テーブルに対して前記関連性をもとに重みを算出し、前記特徴スコアと前記重みとを用いて前記更新対象テーブルにおける前記概念に対する前記ユーザ興味スコアを更新するものである。
【０００８】
上記第１の態様によれば、履歴データの集まり方から、コンテキスト条件を自動抽出し、自動抽出したコンテキスト条件について、自動で学習時のコンテキスト適合度（重み）を決定することが可能となる。これにより、コンテキスト条件自動判別機能により処理コストや運用コストが削減でき、多様なコンテキストを考慮した、適切なコンテキスト条件による分析により情報推薦を高精度化できる。
【０００９】
この発明の第２の態様は、前記第１の態様において、前記コンテキスト条件に適合する閲覧履歴の量に基づいて、前記興味モデルを前記組合せ毎のテーブルに分割するものである。
上記第２の態様によれば、コンテキスト条件を履歴量と相関させることで、対応する履歴が少ないコンテキスト条件による興味モデルの分割を避けることが出来るため、最小限のコンピューターリソースでの情報推薦の高精度化が実現できる。
【００１０】
この発明の第３の態様は、前記第１又は第２の態様において、コンテンツ要求時のコンテキスト条件を収集し、当該コンテキスト条件に適合するテーブルを用いて、コンテンツに対する評価スコアを算出するものである。
上記第３の態様によれば、コンテンツ要求時のユーザ状況に適合するユーザ興味モデルを用いてコンテンツの評価スコアを算出することで、ユーザの興味に合ったコンテンツを精度良く推薦することが可能となる。
【発明の効果】
【００１１】
すなわちこの発明によれば、最適なコンテキスト条件を自動的に抽出し、情報推薦精度の高度化を可能にする興味分析方法、興味分析装置及びそのプログラムを提供することができる。
【図面の簡単な説明】
【００１２】
【図１】本実施形態に係る興味分析装置を用いたシステム全体図。
【図２】図１の各装置の機能構成を示すブロック図。
【図３】閲覧履歴を用いた興味分析処理の概要を示す図。
【図４】コンテキスト条件を設定する場合の興味分析処理の概要を示す図。
【図５】コンテンツ要求データの一例を示す図。
【図６】クライアント端末上でのコンテンツ閲覧操作の一例を示す図。
【図７】一覧閲覧コンテンツリストのデータ構成例を示す図。
【図８】詳細閲覧コンテンツのデータ構成例を示す図。
【図９】提示コンテンツリストのデータ構成例を示す図。
【図１０】コンテンツデータベースの一例を示す図。
【図１１】ユーザ興味スコアデータベースの一例を示す図。
【図１２】コンテキスト別履歴量データベースの一例を示す図。
【図１３】コンテキスト／関連性定義データベースの一例を示す図。
【図１４】履歴情報受信部の処理フローを示す図。
【図１５】学習対象の興味テーブル選択処理部の処理フローを示す図。
【図１６】大域コンテキスト／コンテキスＩＤ設定部の処理フローを示す図。
【図１７】興味モデル更新処理部の処理フローを示す図。
【図１８】分析パラメータリストのデータ構成例を示す図。
【図１９】特徴スコア算出部の動作を説明するための模式図。
【図２０】特徴スコア算出処理の詳細を示す図。
【図２１】興味モデル更新処理の詳細を示す図。
【図２２】コンテキスト履歴追記処理部の処理フローを示す図。
【図２３】分割コンテキスト抽出の処理フローを示す図。
【図２４】コンテキスト分割方法の処理概要を示す図。
【図２５】コンテキスト条件に基づく重み算出処理の具体例を示す図。
【図２６】コンテンツ要求受信部の処理フローを示す図。
【図２７】利用興味テーブル選択処理部の処理フローを示す図。
【図２８】コンテンツ評価処理部の処理フローを示す図。
【図２９】コンテンツスコアリストの一例を示す図。
【図３０】コンテンツ評価処理の詳細を示す図。
【発明を実施するための形態】
【００１３】
以下、図面を参照してこの発明の実施の形態について詳細に説明する。  
図１は、本実施形態に係る興味分析装置を用いたシステム全体図である。このシステムは、クライアント端末２００と、コンテンツサーバ３００と、興味分析装置１００を備える。クライアント端末２００とコンテンツサーバ３００との間、及びコンテンツサーバ３００と興味分析装置１００との間はそれぞれ通信ネットワークで接続される。ユーザは、クライアント端末２００上での閲覧操作により、所望のコンテンツをコンテンツサーバ３００から取得し、取得したコンテンツをクライアント端末２００の画面に提示して閲覧する。
【００１４】
クライアント端末２００は、ユーザ操作によるコンテンツ閲覧履歴を収集し、複数のコンテンツを一覧として閲覧した一覧閲覧コンテンツリスト（第１のコンテンツリスト）と、コンテンツの一覧からコンテンツの本体を閲覧した詳細閲覧コンテンツリスト（第２のコンテンツリスト）を閲覧時の端末コンテキスト情報と共にコンテンツサーバ３００に送信する。なお、端末コンテキスト情報とは、例えば、位置情報、加速度、地軸センサ、温度計など、その他端末保有のセンサの測定時刻及び測定結果を含む。コンテンツサーバ３００は、この端末コンテキスト情報と共に、一覧閲覧コンテンツリスト及び詳細閲覧コンテンツリストを、通信ネットワークを介して興味分析装置１００に転送する。
【００１５】
興味分析装置１００は、複数の概念のそれぞれに対してユーザ興味スコアを有する興味モデルを用いて、概念をメタ情報として含むコンテンツの閲覧履歴からユーザの興味を分析する。具体的には、上記一覧閲覧コンテンツリスト及び詳細閲覧コンテンツリストとを利用して、コンテンツに出現する各概念に対する特徴スコア及びユーザ興味スコアを算出し、ユーザの興味を推定する。興味分析装置１００は、このユーザ興味スコアに基づいて、コンテンツサーバ３００から受け取った「提示コンテンツリスト」から、ユーザの興味に合わせてソートを行ったコンテンツのリスト（ソート済み提示コンテンツリスト）を生成し、コンテンツサーバ３００に送信する。
【００１６】
図２は、図１の各装置の機能構成を示すブロック図である。図２中の各部は、例えば、各装置のＣＰＵ（Central Processing Unit）とメモリ上で実行される制御プログラムにより実現することができる。  
興味分析装置１００は、履歴情報受信部１１０、学習対象の興味テーブル選択処理部１１３、コンテキスト履歴追記処理部１１５、分割コンテキスト抽出処理部１１６、大域コンテキスト／コンテキストＩＤ設定部１１７、コンテンツ要求受信部１２１、利用興味テーブル選択処理部１２４、興味モデル更新処理部１３０、コンテキスト／関連性定義データベース１３１、コンテキスト別履歴量データベース１３２、興味スコアデータベース１４０、提示コンテンツリスト受信部１５０、コンテンツデータベース１６０、コンテンツ評価処理部１７０、及びソート済みコンテンツスコアリスト送信部１８０を備える。
【００１７】
図３に、興味分析装置１００の閲覧履歴を用いた興味分析処理の概要を示す。  
履歴情報受信部１１０は、クライアント端末２００から一覧閲覧コンテンツリスト及び詳細閲覧コンテンツリストをコンテンツサーバ３００を介して受信する。一覧閲覧コンテンツリストとは、例えば、ユーザがコンテンツのタイトルのみを一覧で閲覧したコンテンツのリストである。詳細閲覧コンテンツリストとは、ユーザがコンテンツ本体の内容（詳細）を閲覧したコンテンツのリストである。例えば、図３において、一覧閲覧コンテンツリストには、コンテンツ１〜８が含まれ、詳細閲覧コンテンツリストには、コンテンツ１，３，４が含まれる。また、図３において、斜線パターンで示すコンテンツは、概念Ｂがコンテンツ１，６，７，８に出現することを示す。
【００１８】
興味モデル更新処理部１３０は、一覧閲覧コンテンツリスト及び詳細閲覧コンテンツリストを利用して、概念選択の統計モデルにより各概念の特徴スコア（後述するＺ値）を算出する。さらに、後述するコンテキストセットＩＤ毎に分割される興味モデル（コンテキストセットＩＤ毎のユーザ興味テーブル）について、上記特徴スコアを用いてユーザ興味スコアを更新する。
【００１９】
コンテンツ評価処理部１７０は、評価コンテンツに出現する各概念のユーザ興味スコアを利用して確率結合によってコンテンツに対するユーザの評価スコアを算出する。図３の例では、コンテンツ１に出現する概念Ｅ，Ｆ，Ｄのユーザ興味スコアを用いて評価コンテンツ１の評価スコアを求めている。
【００２０】
図４は、コンテキスト条件を設定する場合の興味分析処理の概要を示す図である。興味モデル更新処理部１３０は、分析対象とすべきコンテキスト条件（コンテキストＩＤ）のセットを示すコンテキストセットＩＤと、そのコンテキストセットＩＤ向けの学習重みを自動抽出する。この例では、単純な例を示す。具体的には、コンテキストセットＩＤ（簡単化のためセットと呼称しても実際は時間帯のコンテキストＩＤのみを持つ）を１時間毎（２４個）用意し、閲覧時刻をもとに重み付きで学習する。例えば、１０：３５に閲覧履歴が発生したとすると、この時刻に該当する興味テーブル（ＭＯＤＥＬ１０）と、その時間的に近傍の興味テーブル（例えば、ＭＯＤＥＬ９，１１）も同時に更新する。興味テーブルは、コンテキストセットＩＤが共通のレコードの集合を示す。
【００２１】
コンテンツ評価処理部１７０は、コンテンツ要求時刻に適合する興味テーブルを用いてコンテンツを評価する。例えば、図４に示すように１２：１０にレコメンドする場合は、興味テーブル（ＭＯＤＥＬ１２）を用いてコンテンツ評価を行う。
しかしながら、分析対象となり得る多数のコンテキストの切り口（時刻、場所、気温、曜日、季節等）が有る場合には、全ての組合せで興味モデルを分割することは計算量及び必要なコンピュータリソースが莫大となる。また、全ての組合せについて運用者が「重み」を設定することは非常に困難である。そこで、履歴データの集まり方から、最適なコンテキスト条件を自動抽出し、コンテキスト条件の組合せからなるコンテキストセットＩＤ毎に自動で学習時のコンテキスト適合度（重み）を決定する手法を後述する。
【００２２】
（クライアント端末）  
図２において、クライアント端末２００は、履歴収集部２１０、履歴情報送信部２２０、コンテンツ提示部２３０、コンテンツ要求送信部２４０、及び端末情報収集部２５０を備える。
コンテンツ要求送信部２４０は、ユーザの指示（入力）によりコンテンツサーバ３００に対して、コンテンツの提示要求を行う。具体的には図５のようなコンテンツ要求データをコンテンツサーバ３００に送信する。例えば、コンテンツ要求データは、クライアント端末ＩＤ（もしくはユーザＩＤ）、要求時刻及び端末コンテキスト情報を有する。なお、要求時刻は、コンテンツサーバ３００において追加するようにしてもよい。クライアント端末ＩＤ（もしくはユーザＩＤ）は、端末（もしくはユーザ）毎に一意に付与される数字等であって、後述する興味スコアデータベース１４０のユーザ興味テーブルのユーザＩＤと一致するＩＤである。
【００２３】
図６は、クライアント端末２００上でのユーザによるコンテンツ閲覧操作の一例を示したものである。
コンテンツ提示部２３０は、コンテンツサーバ３００から受信したソート済み提示コンテンツリストをもとに、クライアント端末２００の表示画面サイズが許容する範囲でソート順の上位から一覧として表示を行う。
【００２４】
図６の例では、１０個のコンテンツ（コンテンツ１〜１０）が一覧表示されている。ユーザのフリック、スクロールバーの操作等で一覧によりソート順下位のコンテンツが表示することができる。このように実際にクライアント端末２００に表示されたコンテンツのリストを一覧閲覧コンテンツリストとする。つまり、ソート済み提示コンテンツリスト内のすべてのコンテンツがクライアント端末２００で表示されるとは限らないため、一覧閲覧コンテンツリストに含まれるとは限らない。ユーザがこの一覧から各コンテンツのタイトルをクリック操作等で選択すると、選択されたタイトルのコンテンツ（図６のコンテンツ３，５，６）の本体（詳細）を閲覧することができる。この詳細を閲覧したコンテンツを、詳細閲覧コンテンツリストに含む。
【００２５】
履歴収集部２１０は、上述したように、ユーザの操作履歴を収集して一覧閲覧コンテンツリスト及び詳細閲覧コンテンツリストを作成する。履歴情報送信部２２０は、履歴収集部２１０により作成された一覧閲覧コンテンツリスト及び詳細閲覧コンテンツリストをコンテンツサーバ３００に送信する。
【００２６】
図７に、上記図６の場合の一覧閲覧コンテンツリストのデータ構成例を示す。一覧閲覧コンテンツリストは、クラスタＩＤ、コンテンツＩＤ、及び閲覧時刻を有する。クラスタとは、一覧閲覧コンテンツリスト及び詳細閲覧コンテンツリストに一意に付与される識別子（図７では“１”）である。別の時刻（時間帯）に表示した一覧閲覧コンテンツをユーザが閲覧した場合は、別のクラスタＩＤが付与される。なお、時刻以外の条件でクラスタＩＤを新たに付与する条件としては、一覧閲覧コンテンツリスト表示中に一定時間操作が無かった場合や、閲覧するユーザ（ユーザＩＤ）を切り替えた場合、一覧閲覧コンテンツリストに対して、コンテンツジャンル等を観点に絞り込み検索を掛けた場合、その他閲覧アプリケーションにおいて閲覧モードを切り替えた場合がある。コンテンツＩＤは、一覧閲覧コンテンツの各コンテンツに一意に付与された識別子であり、後述するコンテンツデータベース１６０が保持する値と一致するものとする。
【００２７】
図８は、上記図６の場合の詳細閲覧コンテンツリストのデータ構成例を示したものである。詳細閲覧コンテンツリストは、上記一覧閲覧コンテンツリストと同様に、クラスタＩＤ、コンテンツＩＤ、及び閲覧時刻を有する。クラスタＩＤは、一覧閲覧コンテンツリストと同一の値とする（図８では“１”）。コンテンツＩＤ及び閲覧時刻は、詳細閲覧コンテンツリストでは、ユーザが一覧閲覧コンテンツから選択して詳細を閲覧したコンテンツ（図８ではコンテンツ３，５，６）の識別子及び当該コンテンツを閲覧した時刻となる。
【００２８】
（コンテンツサーバ）  
上記図２において、コンテンツサーバ３００は、コンテンツ送信処理部３１０、ソート済み提示コンテンツリスト受信部３２０、提示コンテンツリスト送信部３３０、提示コンテンツリスト入力部３４０、履歴情報転送部３５０、及びコンテンツ要求転送部３６０を備える。
【００２９】
履歴情報転送部３５０は、クライアント端末２００から受信した一覧閲覧コンテンツリスト及び詳細閲覧コンテンツリストを通信ネットワークを介して興味分析装置１００に転送する。
提示コンテンツリスト入力部３４０には、サービス運用者により、ユーザの利用するクライアント端末２００に提示するコンテンツを一覧にした提示コンテンツリストが入力される。提示コンテンツリスト送信部３３０は、上記入力された提示コンテンツリストを興味分析装置１００へ通信ネットワークを介して送信する。
【００３０】
図９に、提示コンテンツリストのデータ構成例を示す。提示コンテンツリストは、コンテンツＩＤ、概念ＩＤ／関連度リスト、コンテンツ本体、及びコンテンツ登録時刻を有する。コンテンツＩＤは、各コンテンツに対してコンテンツサーバ３００にて付与される一意のＩＤである。概念ＩＤ／関連度リストは、コンテンツに出現する概念の概念ＩＤ及び当該概念とコンテンツと関連性の程度を示す関連度Ｗのセットが格納される。概念ＩＤ／関連度リストは、コンテンツ毎に予め設定されており、具体例としては、コンテンツ１（スポーツ記事）には、｛“野球”の概念ＩＤ=１，関連度＝０．５｝、｛“サッカー”の概念ＩＤ=２，関連度＝０．８｝、｛“ゴルフ”の概念ＩＤ=３、関連度＝０．６｝…のように設定される。
【００３１】
なお、概念ＩＤは、興味スコアデータベース１４０に格納される値と一致する。関連度は、例えば、０から１までの値とし、大きいほど関連性が強いものとする。関連度は、サービス運用者がコンテンツ登録時に設定する値、若しくは別システムにより算出される値を利用する。
【００３２】
ソート済み提示コンテンツリスト受信部３２０は、興味分析装置１００から提示コンテンツリストの一部又は全部をソートしたソート済み提示コンテンツリストとクライアント端末ＩＤ（もしくはユーザＩＤ）を受信する。コンテンツ送信処理部３１０は、ソート済み提示コンテンツリストをクライアント端末ＩＤ（もしくはユーザＩＤ）に該当するクライアント端末２００に送信する。  
コンテンツ要求転送部３６０は、クライアント端末２００のコンテンツ要求送信部２４０からのコンテンツ提示要求であるコンテンツ要求データ（図５）を興味分析装置１００に転送する。
【００３３】
（興味分析装置）  
次に、興味分析装置１００の各部の詳細について説明する。  
［コンテンツデータベース１６０］  
図１０にコンテンツデータベース１６０のデータ構造の一例を示す。コンテンツデータベース１６０は、コンテンツテーブルを有する。
【００３４】
コンテンツテーブルは、コンテンツＩＤ、概念ＩＤ／関連度リスト、コンテンツ本体、及びコンテンツ登録時刻を格納する。提示コンテンツリスト受信部１５０で受信した値が格納される。
［興味スコアデータベース１４０］  
図１１に興味スコアデータベース１４０のデータ構造の一例を示す。興味スコアデータベース１４０は、ユーザ興味テーブルを有する。
【００３５】
ユーザ興味テーブルは、概念ＩＤ、コンテキストセットＩＤ、ユーザＩＤ（クライアント端末ＩＤ）、ＴｏｔａｌＺ（ユーザ興味スコア）、Ｘ、及びＹの値を格納する。ＴｏｔａｌＺ、Ｘ、及びＹの定義及び算出方法は後述する。つまり、ユーザ興味テーブルのコンテキストセットＩＤ毎のデータは、は、各ユーザ（端末）について、コンテキスト条件の組合せ（セット）毎に作成される。これは、このコンテキストの組合せの時にユーザが特徴的な行動を取ることを想定した分析を行うためである。
【００３６】
［コンテキスト別履歴量データベース１３２］  
図１２に、コンテキスト別履歴量データベース１３２のデータ構造の一例を示す。コンテキスト別履歴量データベース１３２は、コンテキスト別ユーザ履歴量テーブルと、分析対象コンテキストセットテーブルとを有する。
【００３７】
コンテキスト別ユーザ履歴量テーブルは、クライアント端末ＩＤ（ユーザＩＤ）、コンテキストＩＤ、及び適合クラスタＩＤリストを含む。適合クラスタＩＤリストは、上記図７の一覧閲覧コンテンツリストのクラスタＩＤと同一の値であり、後述する履歴情報受信部１１０で付与される。適合クラスタＩＤリストは、このコンテキストＩＤ（コンテキスト条件）に適合する閲覧履歴のクラスタＩＤの群を示す。
【００３８】
分析対象コンテキストセットテーブルは、ユーザＩＤ（クライアント端末ＩＤ）、コンテキストセットＩＤ、適合コンテキストＩＤリスト、及び隣接コンテキストセットＩＤリストを含む。適合コンテキストＩＤリストは、このコンテキストセットが満たすべきコンテキスト条件のコンテキストＩＤの群を示す。隣接コンテキストセットＩＤリストは、このコンテキストセットの履歴により学習する場合に、同時に学習すべきコンテキストセットＩＤの群と、その時の重みｗを示す。例えば、｛コンテキストセットＩＤ１、０．１｝,｛コンテキストセットＩＤ２、０．５｝，…とする。
【００３９】
［分割コンテキスト／関連性定義データベース１３１］  
図１３に、分割コンテキスト／関連性定義データベース１３１のデータ構造の一例を示す。分割コンテキスト／関連性定義データベース１３１は、コンテキストＩＤテーブルと、コンテキスト関連性テーブルとを有する。
【００４０】
コンテキストＩＤテーブルは、コンテキストＩＤと、コンテキスト条件とを含む。コンテキスト条件は、例えば、２４時間を８分割して、０時〜３時、３時〜６時等の条件、気温を１０分割して、０度以下、０〜５度、．．．３０度以上などの条件、月曜、火曜、．．．、日曜の曜日の条件、あるいは、春夏秋冬、晴れ、雨、曇りなどの季節や天気の条件を含む。
【００４１】
コンテキスト関連性テーブルは、コンテキストＩＤと、関連コンテキストＩＤと、関連コンテキストＩＤとの距離とを含む。コンテキストＩＤは、後述する大域コンテキスト／コンテキストＩＤ設定部１１７により一意に付与される数字等である。関連コンテキストＩＤは、このコンテキストＩＤと関連性を持つコンテキストＩＤの群である。関連コンテキストＩＤとの距離は、当該コンテキストＩＤと各関連コンテキストＩＤとの間の距離を示す数値が、コンテキストＩＤ、距離の値の組として、それぞれ格納され、数が大きいほど当該コンテキストＩＤとの関係性が少ないことを示す。
【００４２】
［提示コンテンツリスト受信部１５０］  
提示コンテンツリスト受信部１５０は、コンテンツサーバ３００から上記図９のような提示コンテンツリストを受信し、上記図１０に示すコンテンツデータベース１６０に保存する。
［履歴情報受信部１１０］  
図１４に、履歴情報受信部１１０の処理フローを示す。
【００４３】
（履歴データ受信）  
履歴情報受信部１１０は、コンテンツサーバ３００の履歴情報転送部３５０から通信ネットワークを介してクライアント端末ＩＤ（もしくはユーザＩＤ）、一覧閲覧コンテンツリスト、詳細閲覧コンテンツリスト、閲覧時刻情報、及び、各測定時刻情報と組とした端末コンテキスト情報（位置情報、加速度、地軸センサ、温度計など、その他端末保有のセンサの検出結果）、を受信する。そして、クラスタＩＤ（ユニークな値）を付与して、学習対象の興味テーブル選択処理１１３へ出力する（Ａ−１）。
【００４４】
［学習対象の興味テーブル選択処理部１１３］  
図１５に、学習対象の興味テーブル選択処理部１１３の処理フローを示す。学習対象の興味テーブル選択処理部１１３は、履歴情報受信部１１０からクラスタＩＤ、クライアント端末ＩＤ（もしくはユーザＩＤ）、一覧閲覧コンテンツリスト、詳細閲覧コンテンツリスト、閲覧時刻情報、及び端末コンテキスト情報を受信する（Ａ−１）。
【００４５】
（学習対象のユーザ興味テーブル選択）  
先ず、この履歴受信時のユーザのコンテキスト（状況）を取得するために、学習対象の興味テーブル選択処理部１１３は、クラスタＩＤ、クライアント端末ＩＤ（もしくはユーザＩＤ）、閲覧時刻情報、及び端末コンテキスト情報を大域コンテキスト／コンテキストＩＤ設定部１１７へ出力し（Ａ−２）、大域コンテキスト／コンテキストＩＤ設定部１１７からクライアント端末ＩＤ（もしくはユーザＩＤ）と、履歴収集時点のユーザ状況や大域コンテキストに適合するコンテキストＩＤ群とを受信する（Ａ−３）。このとき、サーバの現時点への適合を利用する方法もある。
【００４６】
学習対象の興味テーブル選択処理部１１３は、コンテキストＩＤがそろった時点で、コンテキスト別履歴量データベース１３２の分析対象コンテキストセットテーブルからコンテキスト条件が合致するコンテキストセットＩＤのリストとｗ値を取得する。また、常に「その他」コンテキスト条件を分析対象とし、この重みは初期値ｗ＝１とする。なお、ｗ値は、事前計算のデータベースから読み出す方法以外に、入力コンテキスト条件を起点として、分割コンテキスト抽出処理部１１６の「関係性重み算出」の処理にて算出する方法もある。
【００４７】
学習対象の興味テーブル選択処理部１１３は、クライアント端末ＩＤ（もしくはユーザＩＤ）、一覧閲覧コンテンツリスト、詳細閲覧コンテンツリスト、学習対象ユーザ興味テーブルのコンテキストセットＩＤ、及び学習対象ユーザ興味テーブルのコンテキストセットＩＤ毎のｗ値を出力する（Ａ−４）。
【００４８】
［大域コンテキスト／コンテキストＩＤ設定部１１７］  
大域コンテキスト／コンテキストＩＤ設定部１１７は、学習対象の興味テーブル選択処理部１１３からの入力（Ａ−２）又は利用興味テーブル選択処理部１２４からの入力（Ｃ−２）を処理起動トリガとする。
【００４９】
（大域コンテキスト収集）
大域コンテキスト／コンテキストＩＤ設定部１１７は、クライアント端末ＩＤ（もしくはユーザＩＤ）、閲覧時刻情報（Ｃ−２の場合は時刻情報）、端末コンテキスト情報、及びクラスタＩＤ（Ｃ−２の場合は省略）を受信すると、大域コンテキストを収集する。例えば、端末コンテキスト情報がＧＰＳ履歴等の位置情報を含んでいる場合は、位置情報と時刻情報に対応する気温、湿度、天気等の情報をインターネットから収集する。または、世の中で話題になっているイベント情報をインターネット等から収集、もしくは運営者が適時設定した情報を収集する。端末コンテキスト情報がＧＰＳ履歴等の位置情報を含んでいる場合は、ユーザ位置の近隣のイベント情報をインターネット等から収集、もしくは運営者が適時設定した情報を収集する。あるいは、各ユーザのツイッターやブログ等の更新情報、季節／曜日／祝日などの情報、その他、事前設定などによる、ユーザの年齢、性別、職業等のユーザプロファイル情報を収集する。
【００５０】
（ＤＢ読み出し）  
大域コンテキスト／コンテキストＩＤ設定部１１７は、上記収集されたコンテキスト情報群をもとに、履歴収集時点（もしくはサーバ現時点）に適合するコンテキストＩＤ群をコンテキスト／関連性定義データベース１３１から読み出す。そして、Ａ−２の場合は、クラスタＩＤ、及び上記履歴収集時点（もしくはサーバ現時点）に適合するコンテキストＩＤ群とを学習対象の興味テーブル選択処理部１１３へ出力する（Ａ−３）。Ｃ−２の場合は、上記履歴収集時点（もしくはサーバ現時点）に適合するコンテキストＩＤ群を利用興味テーブル選択処理部１２４へ出力する。
【００５１】
［ユーザ興味モデル更新部１３０］  
図１７に、ユーザ興味モデル更新部１３０の処理フローを示す。ユーザ興味モデル更新部１３０には、学習対象の興味テーブル選択処理部１１３からクライアント端末ＩＤ（もしくはユーザＩＤ）、一覧閲覧コンテンツリスト、詳細閲覧コンテンツリスト、学習対象ユーザ興味テーブルのコンテキストセットＩＤ、及び学習対象ユーザ興味テーブルのコンテキストセット毎のｗ値が入力される（Ａ−４）。
【００５２】
（出現概念抽出）  
ユーザ興味モデル更新部１３０は、クラスタＩＤの一覧閲覧コンテンツリスト及び詳細閲覧コンテンツリスト内の各コンテンツに出現する概念ＩＤをコンテンツデータベース１６０から抽出する。具体的には、図７、図８において、各コンテンツＩＤに紐付けされている「概念ＩＤ」を図１０のコンテンツデータベース１６０のコンテンツテーブルから検索する。ユーザ興味モデル更新部１３０は、クラスタデータ｛クラスタＩＤ，一覧閲覧コンテンツリスト，詳細閲覧コンテンツリスト｝と、コンテンツＩＤ／概念ＩＤ関連づけリスト｛｛コンテンツＩＤ，｛関連づいている概念ＩＤ，…｝｝，…｝と、出現概念リスト｛概念ＩＤ｝とを生成する。「コンテンツＩＤ／概念ＩＤ関連付けリスト」とは、コンテンツＩＤをもとに検索された概念ＩＤのリストである。「出現概念リスト」とは、一覧閲覧コンテンツリスト、及び詳細閲覧コンテンツリストに含まれる各コンテンツに出現する概念の概念ＩＤを全て列挙したものである。
【００５３】
（分析パラメータ抽出）  
ユーザ興味モデル更新部１３０は、「出現概念リスト」の各概念について出現数を算出し、特徴スコアの算出に必要な分析パラメータを抽出し、分析パラメータリストを生成する。
図１８に、分析パラメータリストのデータ構成例を示す。分析パラメータリストは、クラスタＩＤ毎に、一覧閲覧コンテンツリストのコンテンツ総数Ｓ（第１の総数）、詳細閲覧コンテンツリストのコンテンツ総数ａ（第２の総数）、クラスタＩＤに紐づいた出現概念リスト内の概念ＩＤ毎に算出するＮとｎがある。Ｎ（第１の出現数）は、一覧閲覧コンテンツリストにおいて当該概念ＩＤが付与されているコンテンツ数とする。ｎ（第２の出現数）は詳細閲覧コンテンツリストにおける当該概念ＩＤが付与されているコンテンツ数とする。なお、上記追加した上位概念も含めて出現概念リスト内の概念ＩＤすべてについて、Ｎとｎを算出する。
【００５４】
図１９（ａ）に分析パラメータ抽出処理の模式図を示す。例えば、５０個（＝Ｓ）のコンテンツが一覧表示されている中から、ユーザが１０個（＝ａ）のコンテンツの詳細を閲覧した場合を示す。ここで、一覧表示されている５０個のコンテンツのうち「野球」という概念が含まれている記事が１５個（＝Ｎ）あり、ユーザが閲覧した１０個のコンテンツのうち、「野球」という概念が含まれているコンテンツが５個（＝ｎ）あったことを示す。
【００５５】
（特徴スコア算出）  
ユーザ興味モデル更新部１３０は、上記分析パラメータＳ，ａ，Ｎ，ｎを利用して概念ＩＤ毎に特徴スコアＺを算出する。図２０に特徴スコア算出処理の詳細を示す。図２０において、ｉは概念の識別子、ｊは、クラスタＩＤを示す。Ｈ１（第１の確率）は、一覧閲覧コンテンツリストに含まれる一覧閲覧コンテンツの総数Ｓ、一覧閲覧コンテンツのうち概念ｉが出現するコンテンツ数Ｎのとき、詳細閲覧コンテンツをａ個ランダム選択して閲覧した場合に、概念ｉが出現する詳細閲覧コンテンツの数がｎ以上となる累積確率である。Ｈ２（第２の確率）は、一覧閲覧コンテンツリストに含まれる一覧閲覧コンテンツの総数Ｓ、一覧閲覧コンテンツのうち概念ｉが出現するコンテンツ数Ｎのとき、詳細閲覧コンテンツをａ個ランダム選択して閲覧した場合に、概念ｉが出現する詳細閲覧コンテンツの数がｎ以下となる累積確率である。なお、本実施形態では、累積確率Ｈ１及びＨ２は、超幾何分布により求めるが、この手法に限定するものではない。他の分布の例としては、二項分布、正規分布が存在する。
【００５６】
図１９（ｂ）に示すように、例えば、上記の分析パラメータＳ、Ｎ、ａ、ｎを用いて、ユーザが閲覧した１０個のコンテンツのうち、「野球」という概念が含まれるコンテンツが５以上である確率が、「０．１２」であることを示す。ここで、「０．１２」は、累積確率Ｈ１の値に相当する。
【００５７】
なお、Ｈ２の値を使う例として、上記の分析パラメータでｎが０である場合を考える。この場合は、出現数が０以下の場合の確率を算出する。具体的には、図１９（ｂ）において横軸が０の項目の値となるため「０．０２」となる。
そして、ユーザ興味モデル更新部１３０は、図２０に示すように、上記算出した累積確率Ｈ１及びＨ２を用いて、標準正規分布の累積分布関数の逆関数により特徴スコアＺを算出する。図１９（ｃ）に示すように、上記Ｈ１を累積確率とする標準正規分布の累積分布関数の逆関数により特徴スコアＺを求める。なお、累積確率としてＨ２を利用する場合には、標準正規分布の累積分布関数の逆関数の返値の符号を負にして特徴スコアＺを求める。ユーザ興味モデル更新部１３０は、更新対象概念リスト｛クラスタＩＤ，｛概念ＩＤ，特徴スコア＝Ｚ，重み＝ｗ｝，…｝を出力する。重みｗは、更新対象興味テーブルＩＤ毎のｗ値である。
【００５８】
（ＤＢ更新）  
興味モデル更新処理部１３０は、「更新対象概念リスト」の各概念ＩＤのユーザ興味スコア（ＴｏｔａｌＺ）を更新する。図２１に興味モデル更新処理部１３０の処理の詳細を示す。興味モデル更新処理部１３０は、コンテンツに出現した概念（出現概念）について、図２１に示す各概念ｉに対するユーザ興味スコア更新式を用いて、ユーザ興味スコアＴｏｔａｌＺｉｎ，及びＸｉ（ｎ−１），Ｙｉ（ｎ−１）の値を求める。そして、図１１の興味スコアデータベース１４０のユーザ興味テーブルのコンテキストセットＩＤに対応するレコードについて、概念ＩＤ及びクライアント端末ＩＤ（ユーザＩＤ）に対応するカラムに格納されている各値（ＴｏｔａｌＺ，Ｘ，Ｙ）を更新する。
【００５９】
ここで、Ｘｉ（ｎ−１）は、各概念ＩＤ（ここでは識別子ｉで表現）に対する、過去の（前回までの）前記更新対象概念リストの重みｗの二乗の合計である。Ｙｉ（ｎ−１）は、同様に各概念ＩＤ（ここでは識別子ｉで表現）に対する、過去の前記更新対象概念リストの重みｗと特徴スコアＺの乗算の合計である。
【００６０】
この、Ｘ，Ｙはユーザ興味スコア（ＴｏｔａｌＺ）計算過程における中間結果を保持することとなり、省メモリ／ストレージを優先させる場合、最低限としては各概念の変数としてＴｏｔａｌＺ，Ｘ，Ｙの３つの実数値を保持することで実現可能である。省メモリ／ストレージを優先させない場合は、算出した各概念、各クラスタの特徴スコアＺをすべて保存することとなる。この場合は、Ｘ，Ｙの保存は不要となる。
【００６１】
図２１において、ｎは、更新処理が何度目かを示す識別子である。ユーザ興味スコアＴｏｔａｌＺを求める一連の処理は、クラスタＩＤ単位で行なわれ、この一連の処理が行なわれる単位を１度と数えるとき、ｎはこの一連の処理が何度目に行なわれたものであるかを示す識別子である。ｉは、概念ＩＤの識別子である。Ｚｉｎは、概念ｉの各更新処理に利用するＺ値である。なお、上記Ｚｉｊは一覧閲覧コンテンツリスト及び詳細閲覧コンテンツリスト毎のＺ値であり、Ｚｉｊ∈Ｚｉｎの関係である。重みｗｉｎは、概念ｉの各更新処理に利用する重みであり、更新対象概念リストで設定される値である。
【００６２】
［コンテキスト履歴追記処理部１１５］  
図２２にコンテキスト履歴追記処理部１１５の処理フローを示す。コンテキスト履歴追記処理部１１５には、学習対象の興味テーブル選択処理部１１３からクライアント端末ＩＤ（もしくはユーザＩＤ）、上記履歴収集時点（もしくはサーバでの現時点）に適合するコンテキストＩＤ群、及びクラスタＩＤが入力される（Ｂ−１）。
【００６３】
（ＤＢ更新）  
コンテキスト履歴追記処理部１１５は、上記入力された情報をもとに、コンテキスト別履歴量データベース１３２のコンテキスト別ユーザ履歴量テーブルを更新する。具体的には、クライアント端末ＩＤ（もしくはユーザＩＤ）及びコンテキストＩＤに対応する適合クラスタＩＤリストのカラムに上記入力されたクラスタＩＤを追記する。  
コンテキスト履歴追記処理部１１５は、クライアント端末ＩＤ（もしくはユーザＩＤ）、及び上記履歴収集時点（もしくはサーバでの現時点）に適合するコンテキストＩＤ群を分割コンテキスト抽出処理部１１６へ出力する（Ｂ−２）。
【００６４】
［分割コンテキスト抽出処理部１１６］  
図２３に分割コンテキスト抽出処理部１１６の処理フローを示す。分割コンテキスト抽出処理部１１６には、コンテキスト履歴追記処理部１１５からクライアント端末ＩＤ（もしくはユーザＩＤ）、上記履歴収集時点（もしくはサーバでの現時点）に適合するコンテキストＩＤ群が入力される（Ｂ−２）。
【００６５】
（コンテキスト条件組合せ毎の履歴量閾値判定）  
分割コンテキスト抽出処理部１１６は、各クライアント端末ＩＤ（もしくはユーザＩＤ）について、コンテキスト別履歴量データベース１３２のコンテキスト別ユーザ履歴量テーブルを参照し、更新対象となったコンテキストＩＤ毎に他のコンテキストと組み合わせた場合の履歴量が所定の閾値を超えているかを判定し、履歴量が閾値を超えている組合せを抽出する。ここで、図１２のコンテキスト別ユーザ履歴量テーブルはコンテキストＩＤ毎の適合クラスタＩＤリストを保存しているため、コンテキストの組合せ毎の履歴量の算出には、この組み合わされたコンテキストＩＤに共通して関連づけられているクラスタＩＤの数を数えることで実現する。
【００６６】
例えば、「８時〜１０時」、「駅近く」、ＡＮＤ「平日」のコンテキストの組合せの場合に、履歴量（閲覧回数など）が閾値である１０回を超えるものを抽出する。抽出した組合せが、コンテキスト別ユーザ履歴量データベース１３２の分析対象コンテキストセットテーブルに無い場合は、新規コンテキストセットとして、コンテキストセットＩＤを割り振る。
【００６７】
図２４にコンテキスト分割方法の処理概要を示す。ここでは、２次元のコンテキスト条件を設定するものとし、時間を２時間毎に１２個用意し、位置情報ＩＤを日本全地域をグリッドで分けたエリア通し番号として用意する。既存のコンテキスト条件が、「４時〜６時」ＡＮＤ「場所ｘ」と、「１８時〜２０時」ＡＮＤ「場所ｙ」と、「その他」（初期コンテキスト条件）との３つ存在する状態で、「６時〜８時」ＡＮＤ「場所ｘ」のログ（履歴量、閲覧回数など）が追加発生したものとする。「６時〜８時」ＡＮＤ「場所ｘ」のログが閾値である５以上になった時点で、「６時〜８時」ＡＮＤ「場所ｘ」のコンテキスト条件を分割する。その結果、コンテキスト条件は、「４時〜６時」ＡＮＤ「場所ｘ」と、「１８時〜２０時」ＡＮＤ「場所ｙ」と、「６時〜８時」ＡＮＤ「場所ｘ」と、「その他」（初期コンテキスト条件）との４つになる。なお、図２４では説明を簡単にするため２次元ベクトルの例を示したが、実際は多次元ベクトル（時刻、場所、気温、天気、曜日、季節など）で処理を行う。
【００６８】
（関連コンテキストセットＩＤ抽出）  
分割コンテキスト抽出処理部１１６は、上記履歴量閾値判定処理により、新規のコンテキストセットＩＤと、そのコンテキストＩＤが入力されると、コンテキスト／関連性定義データベース１３１のコンテキスト関連性テーブルを参照し、新規コンテキストセット内のコンテキストＩＤと、関係を持つコンテキストＩＤをそれぞれ抽出し、抽出されたコンテキストＩＤを持つコンテキストセットＩＤを抽出する。なお、この関係を持つコンテキストＩＤの抽出処理では、コンテキスト／関連性定義データベース１３１のコンテキスト関連性テーブルをグラフとみなし、抽出対象のコンテキストＩＤを起点に、複数ホップを行う。ホップ回数は「２回や３回」、もしくは「関連コンテキストＩＤとの距離のホップ毎の積算値」を閾値として設定する。
【００６９】
抽出したコンテキストセットＩＤと新規コンテキストセットＩＤとの距離を、上記で算出した「関連コンテキストＩＤとの距離のホップ毎の積算値」の全コンテキストセットＩＤ内のコンテキストＩＤでの「合計」、「算術平均値」、「ベクトルと見なした場合のコサイン類似度や、ピアソン距離の逆数」によって算出する。
【００７０】
（関係性重み算出）  
分割コンテキスト抽出処理部１１６は、上記関連コンテキストセットＩＤ抽出処理により、新規のコンテキストセットＩＤと、そのコンテキストＩＤ、関連するコンテキストセットＩＤ群、及びそれぞれのコンテキストセットＩＤとの距離が入力されると、新規のコンテキストＩＤと関連するコンテキストＩＤ間で相互に関係性重みを、「関連コンテキストセットＩＤ抽出」で計算したセット間の距離から算出する。このとき、距離を重みとして、０〜１の値に正規化する。正規化の方法として、平均０、分散が運営者設定値の標準正規分布関数における確率値、累積確率値において距離をＺ値とした場合の結果などの方法がある。その他、ロジスティック関数を利用する方法、十分大きい数値で除す方法がある。
【００７１】
（ＤＢ更新）  
分割コンテキスト抽出処理部１１６は、新規のコンテキストセットＩＤと、そのコンテキストＩＤ、と上記算出された関係性重みをもとに、コンテキスト別履歴量データベース１３２の分析対象コンテキストセットテーブルを更新する。
図２５に、コンテキスト条件に基づく重み算出処理の具体例を示す。図２５では、学習時のコンテキスト条件「６時〜８時」ＡＮＤ［場所ｘ」の適合度（重み）算出イメージを示す。ＣＡＳＥ１として、「２時〜４時」ＡＮＤ［場所ｘ」のデータが発生した場合は、「６時〜８時」ＡＮＤ［場所ｘ」のコンテキスト条件との距離は２であるため、重み関数ｗ＝ｆ（２）の結果を重みとして追加された履歴クラスタにて学習処理を実行する。ＣＡＳＥ２として、「１０時〜１２時」ＡＮＤ［場所４」のデータが発生した場合は、「６時〜８時」ＡＮＤ［場所ｘ」のコンテキスト条件との距離は３であるため、重み関数ｗ＝ｆ（３）の結果を重みとして追加された履歴クラスタにて学習処理を実行する。さらに、ＣＡＳＥ３として、「６時〜８時」ＡＮＤ［場所ｙ」のデータが発生した場合は、「６時〜８時」ＡＮＤ［場所ｘ」のコンテキスト条件との距離は閾値を超えているため（この例では閾値は３）、学習処理は実行しない。
【００７２】
つまり、コンテキストを自動抽出することで、どのような状況（状況の組合せ）に着目して分析するかというコンテキスト定義の最適化及び定義作業の省力化でき、コンテキスト定義を履歴量と相関させることで対応する履歴が少ないコンテキスト分解を避けることが出来るため、最小限のコンピューターリソースでの情報推薦の高精度化が実現できる。
【００７３】
［コンテンツ要求受信部１２１］  
図２６にコンテンツ評価処理部１７０の処理フローを示す。コンテンツ要求受信部１２１は、コンテンツ要求転送部３６０からクライアント端末ＩＤ（もしくはユーザＩＤ）を含む、図５に示すようなコンテンツ要求データを受信する。
【００７４】
（コンテンツ要求履歴データ受信）  
コンテンツ要求受信部１２１は、コンテンツサーバ３００のコンテンツ要求転送部３６０から通信ネットワークを介してクライアント端末ＩＤ（もしくはユーザＩＤ）、時刻情報、及び端末コンテキスト情報（位置情報、加速度、地軸センサ、温度計など、その他端末保有のセンサの測定時刻及び測定結果）を受信する。そして、クライアント端末ＩＤ（もしくはユーザＩＤ）、時刻情報、及び端末コンテキスト情報を利用興味テーブル選択処理部１２４へ出力する（Ｃ−１）。なお、これらの情報を履歴情報受信部１１０にさらに転送し、学習に利用する方法もある。また、このコンテンツ要求の履歴について、クライアント端末側で履歴収集し、コンテンツ要求送信部２４０から履歴情報収集部２１０に情報を通知し、興味分析装置１００に送信する方法もある。
【００７５】
［利用興味テーブル選択処理部１２４］  
図２７に、利用興味テーブル選択処理部１２４の処理フローを示す。利用興味テーブル選択処理部１２４は、コンテンツ要求受信部１２１からクライアント端末ＩＤ（もしくはユーザＩＤ）、時刻情報、及び端末コンテキスト情報を受信する（Ｃ−１）。
【００７６】
（適合コンテキストＩＤの読み出し）  
利用興味テーブル選択処理部１２４は、クライアント端末ＩＤ（もしくはユーザＩＤ）、時刻情報、及び端末コンテキスト情報を大域コンテキスト／コンテキストＩＤ設定部１１７へ出力し（Ｃ−２）、大域コンテキスト／コンテキストＩＤ設定部１１７からクライアント端末ＩＤ（もしくはユーザＩＤ）及び履歴収集時点（もしくはサーバでの現時点）に適合するコンテキストＩＤ群を受信する（Ｃ−３）。
【００７７】
（利用するコンテキストセットＩＤ決定（ユーザ興味テーブル選択））  
上記適合コンテキストＩＤの読み出し処理により、大域コンテキスト／コンテキストＩＤ設定部１１７から、クライアント端末ＩＤ（もしくはユーザＩＤ）、履歴収集時点（もしくはサーバでの現時点）に適合するコンテキストＩＤ群が入力される。と、利用興味テーブル選択処理部１２４は、コンテキストＩＤがそろった時点で、コンテキスト別履歴量ＤＢ１３２の分析対象コンテキストセットテーブルからコンテキスト条件が適合するコンテキストセットＩＤを取得する。なお、複数のコンテキストセットＩＤが取得される場合は、コンテキストセットにおいて、もっともコンテキスト条件数が多いものを選択する。そして、利用興味テーブル選択処理部１２４は、クライアント端末ＩＤ（もしくはユーザＩＤ）、利用するユーザ興味テーブルに対応するコンテキストセットＩＤを出力する（Ｃ−４）。
【００７８】
［コンテンツ評価処理部１７０］  
図２８にコンテンツ評価処理部１７０の処理フローを示す。コンテンツ評価処理部１７０には、コンテンツデータベース１６０のコンテンツテーブルから読み出した図７のような形式の提示コンテンツリストと、利用興味テーブル選択処理部１２４からクライアント端末ＩＤ（もしくはユーザＩＤ）、利用するユーザ興味テーブルのレコードを決定するためのコンテキストセットＩＤが入力される。
【００７９】
（スコア評価）  
コンテンツ評価処理部１７０は、提示コンテンツリストから、利用するコンテキストセットＩＤが合致するユーザ興味テーブルのレコードを用いてコンテンツの評価を行う。そして、コンテンツ評価処理部１７０は、評価対象のコンテンツについて、評価スコアを算出し、図２９に示すようなコンテンツスコアリストを生成する。コンテンツスコアリストは、コンテンツＩＤ、評価スコア、コンテンツ本体、及びコンテンツ登録時刻を有する。
【００８０】
図３０に評価スコアの算出方法の一例を示す。例えば、図３０に示すコンテンツ評価式により、評価コンテンツｘに対する評価スコアＥｎｔｉｔｙＺｘを概念ｉのユーザ興味スコアＴｏｔａｌＺｉ、コンテンツｘと概念ｉとの関連度Ｗｉ（もしくは、概念ｉの重要度）、及びコンテンツｘに出現する概念ＩＤの集合ｐを用いて算出することができる。なお、概念の識別子ｉは集合ｐ内の概念ＩＤに対応する。
【００８１】
図３０の算出で利用するユーザ興味スコア（ＴｏｔａｌＺ）は、各コンテンツに関連した概念ＩＤについて、興味スコアデータベース１４０のユーザ興味テーブル（図１１）から、クライアント端末ＩＤ（もしくは、ユーザＩＤ）をもとに読み出し利用する。図３０において、概念Ｋ、概念Ｂ及び概念Ｄが出現するコンテンツ１を評価コンテンツとした場合、概念Ｋ、概念Ｂ及び概念ＤのＴｏｔａｌＺ，関連度Ｗを利用して評価スコアＥｎｔｉｔｙＺｘ＝０．１８と算出できる。一方、概念Ｂのみが出現するコンテンツ２を評価コンテンツとした場合、概念ＢのＴｏｔａｌＺ，Ｗを利用して評価スコアＥｎｔｉｔｙＺｘ＝−０．３と算出できる。評価スコアＥｎｔｉｔｙＺｘの値が大きいコンテンツ１が優先して表示される。
【００８２】
その他にも、評価スコアＥｎｔｉｔｙＺｘは、以下の変形例１〜３の方法により求めることができる。
変形例１としては、ＥｎｔｉｔｙＺｘ=ＭＡＸ（ＴｏｔａｌＺｉ＊Ｗｉ）により求める。ＭＡＸ（ＴｏｔａｌＺｉ＊Ｗｉ）は、ｉ∈ｐのＴｏｔａｌＺｉ＊Ｗｉの最大値を返す関数とする。
【００８３】
変形例２としては、ＥｎｔｉｔｙＺｘの値は、ＭＡＸ（ＴｏｔａｌＺｉ＊Ｗｉ）の値が閾値を超えた場合には、ＭＡＸ（ＴｏｔａｌＺｉ＊Ｗｉ）の返り値とする。ＭＡＸ（ＴｏｔａｌＺｉ＊Ｗｉ）はｉ∈ｐのＴｏｔａｌＺｉ＊Ｗｉの最大値を返す関数とする。閾値を超えない場合は、図３０のコンテンツ評価式の結果をＥｎｔｉｔｙＺｘとする。ＭＡＸ（）は、はｉ∈ｐのＴｏｔａｌＺｉ＊Ｗｉで最大値を返す関数とする。閾値はサービス運用者が設定する値とする。
【００８４】
変形例３としては、ＴｏｔａｌＺｉが正の値のｉ∈ｐについてのみ取り出し、図３０のコンテンツ評価式で統合した値をＥｎｔｉｔｙＺｘとする。
（コンテンツをスコア順にソート）  
コンテンツ評価処理部１７０は、コンテンツスコアリストに含まれるコンテンツを評価スコアＥｎｔｉｔｙＺｘの降順にソートし、ソート済みコンテンツスコアリストをコンテンツスコアリスト送信部１８０に出力する。
【００８５】
［ソート済みコンテンツスコアリスト送信部１８０］  
ソート済みコンテンツスコアリスト送信部１８０は、コンテンツ評価処理部１７０から入力されるソート済みコンテンツスコアリストとクライアント端末ＩＤ（もしくはユーザＩＤ）を通信ネットワークを介してコンテンツサーバ３００に送信する。
【００８６】
以上述べたように、上記実施形態によれば、ユーザの選択候補となる一覧リストを定義し、そこからのコンテンツ選択における概念の出現数を分析することで、各概念の出現の希少性を考慮し、且つ一覧から選ばれない概念の履歴特徴を利用することができるため、ユーザの興味を高精度に推定することが可能となる。
【００８７】
また、履歴データの集まり方から、コンテキスト条件（その条件限定で傾向を分析するもの）を自動抽出し、自動抽出したコンテキスト条件について、自動で学習時のコンテキスト適合度（重み）を決定することが可能となる。
分析対象となり得る多数のコンテキストの切り口（時刻、場所、気温、曜日、季節等）が有る場合には、全ての組合せで計算することは計算量が莫大となる。また、全ての組合せについて運用者が「重み」を設定することは非常に困難である。本実施形態の手法によれば、コンテキスト条件自動判別機能により処理コストや運用コストが削減でき、多様なコンテキストを考慮した、適切なコンテキスト条件による分析により情報推薦を高精度化できる。
【００８８】
さらに、コンテンツ要求時のユーザ状況に適合するユーザ興味テーブルを用いてコンテンツの評価スコアを算出することで、ユーザの興味に合ったコンテンツを精度良く推薦することが可能となる。
なお、この発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態に亘る構成要素を適宜組み合せてもよい。
【符号の説明】
【００８９】
１００…興味分析装置、２００…クライアント端末、３００…コンテンツサーバ、１１０…履歴情報受信部、１１３…学習対象の興味テーブル選択処理部、１１５…コンテキスト履歴追記処理部、１１６…分割コンテキスト抽出処理部、１１７…大域コンテキスト／コンテキストＩＤ設定部、１２１…コンテンツ要求受信部、１２４…利用興味テーブル選択処理部、１３０…興味モデル更新処理部、１３１…コンテキスト／関連性定義データベース、１３２…コンテキスト別履歴量データベース、１４０…興味スコアデータベース、１５０…提示コンテンツリスト受信部、１６０…コンテンツデータベース、１７０…コンテンツ評価処理部、１８０…ソート済みコンテンツスコアリスト送信部、２１０…履歴情報送信部、２２０…履歴収集部、２３０…コンテンツ提示部、２４０…コンテンツ要求送信部、２５０…端末情報収集部、３１０…コンテンツ送信処理部、３２０…ソート済み提示コンテンツリスト受信部、３３０…提示コンテンツリスト送信部、３４０…提示コンテンツリスト入力部、３５０…履歴情報転送部、３６０…コンテンツ要求転送部。
【図１】
0005723835.tif 000002
【図２】
0005723835.tif 000003
【図３】
0005723835.tif 000004
【図４】
0005723835.tif 000005
【図５】
0005723835.tif 000006
【図６】
0005723835.tif 000007
【図７】
0005723835.tif 000008
【図８】
0005723835.tif 000009
【図９】
0005723835.tif 000010
【図１０】
0005723835.tif 000011
【図１１】
0005723835.tif 000012
【図１２】
0005723835.tif 000013
【図１３】
0005723835.tif 000014
【図１４】
0005723835.tif 000015
【図１５】
0005723835.tif 000016
【図１６】
0005723835.tif 000017
【図１７】
0005723835.tif 000018
【図１８】
0005723835.tif 000019
【図１９】
0005723835.tif 000020
【図２０】
0005723835.tif 000021
【図２１】
0005723835.tif 000022
【図２２】
0005723835.tif 000023
【図２３】
0005723835.tif 000024
【図２４】
0005723835.tif 000025
【図２５】
0005723835.tif 000026
【図２６】
0005723835.tif 000027
【図２７】
0005723835.tif 000028
【図２８】
0005723835.tif 000029
【図２９】
0005723835.tif 000030
【図３０】
0005723835.tif 000031