(57)【要約】【課題】ユーザが検索結果として様々な種類のコンテンツを容易に確認できるコンテンツ検索結果提供装置及びコンテンツ検索結果提供方法を提供すること。【解決手段】検索クエリに対する複数のコンテンツ検索結果を取得する関連コンテンツ取得部２０５及びクエリ検索結果取得部２０６と、関連コンテンツ取得部２０５及びクエリ検索結果取得部２０６により取得されたコンテンツ検索結果を、所定の類似範囲毎に集約するコンテンツ集約部２０８と、コンテンツ集約部２０８により集約されたコンテンツ検索結果を出力するコンテンツ検索結果出力部２０９と、を備える情報配信サーバ２００を提供する。【選択図】図２
2014228969.tif 000002
【特許請求の範囲】
【請求項１】
検索クエリに対する複数のコンテンツ検索結果を取得する検索結果取得手段と、
前記検索結果取得手段により取得されたコンテンツ検索結果を、所定の類似範囲毎に集約するコンテンツ集約手段と、
前記コンテンツ集約手段により集約されたコンテンツ検索結果を出力する出力手段と、
を備えるコンテンツ検索結果提供装置。
【請求項２】
前記コンテンツ集約手段は、各コンテンツの種別を示すジャンルを前記所定の類似範囲としてコンテンツ検索結果を集約する、請求項１に記載のコンテンツ検索結果提供装置。
【請求項３】
前記コンテンツ集約手段は、前記所定の類似範囲毎の重要度に応じた検索結果数を決定し、コンテンツ検索結果を集約する、請求項１又は２に記載のコンテンツ検索結果提供装置。
【請求項４】
複数の前記所定の類似範囲を階層構造化した類似範囲構造を記憶する類似範囲構造記憶手段をさらに備え、
前記コンテンツ集約手段は、前記類似範囲構造記憶手段に記憶された類似範囲構造に基づいて、各類似範囲のコンテンツ検索結果を集約する、請求項１〜３のいずれか一項に記載のコンテンツ検索結果提供装置。
【請求項５】
前記コンテンツ集約手段は、各類似範囲のうち基準となる基準類似範囲を決定し、基準類似範囲を特定する識別子と各類似範囲を特定する識別子とに基づいて、各類似範囲のコンテンツ検索結果を集約する、請求項１〜４のいずれか一項に記載のコンテンツ検索結果提供装置。
【請求項６】
前記検索結果取得手段により取得されたコンテンツ検索結果に含まれる各コンテンツの評価値を算出するコンテンツ評価手段をさらに備え、
前記コンテンツ集約手段は、前記コンテンツ評価手段が算出したコンテンツ検索結果の評価値に基づいて、前記基準類似範囲を決定する、請求項５に記載のコンテンツ検索結果提供装置。
【請求項７】
検索クエリに対する複数のコンテンツ検索結果を取得する検索結果取得ステップと、
前記検索結果取得ステップにおいて取得されたコンテンツ検索結果を、所定の類似範囲毎に集約するコンテンツ集約ステップと、
前記コンテンツ集約ステップにおいて集約されたコンテンツ検索結果を出力する出力ステップと、
を含むコンテンツ検索結果提供方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンテンツ検索結果提供装置及びコンテンツ検索結果提供方法に関する。
【背景技術】
【０００２】
従来から、利用者が過去に利用したコンテンツの情報に基づいて、利用者が所望すると考えられるコンテンツを提供する技術が知られている。例えば、特許文献１に記載の技術では、利用者履歴情報中のメタ情報に基づいて利用者毎の項目別特徴度を算出し、該項目別特徴度の値からレコメンド対象となるコンテンツを取得している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００４−３６２０１１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、上述した技術を利用して、過去に利用したコンテンツの情報に基づきコンテンツを提供する場合には、検索結果として類似のコンテンツが多数提供され易い。そのため、検索結果を表示する端末には類似するコンテンツが多く表示されることとなり、ユーザにとっては、様々な種類のコンテンツを検索結果として確認することが困難である。このような問題は、検索結果を表示する端末が携帯電話などの小型の端末である場合に特に大きな問題となる。
【０００５】
本発明は上記実情に鑑みてなされたものであり、ユーザが検索結果として様々な種類のコンテンツを容易に確認できるコンテンツ検索結果提供装置及びコンテンツ検索結果提供方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明に係るコンテンツ検索結果提供装置は、検索クエリに対する複数のコンテンツ検索結果を取得する検索結果取得手段と、検索結果取得手段により取得されたコンテンツ検索結果を、所定の類似範囲毎に集約するコンテンツ集約手段と、コンテンツ集約手段により集約されたコンテンツ検索結果を出力する出力手段と、を備える。
【０００７】
また、本発明に係るコンテンツ検索結果提供方法は、検索クエリに対する複数のコンテンツ検索結果を取得する検索結果取得ステップと、検索結果取得ステップにおいて取得されたコンテンツ検索結果を、所定の類似範囲毎に集約するコンテンツ集約ステップと、コンテンツ集約ステップにおいて集約されたコンテンツ検索結果を出力する出力ステップと、を含む。
【０００８】
このようなコンテンツ検索結果提供装置及びコンテンツ検索結果提供方法によれば、検索クエリに対するコンテンツ検索結果が所定の類似範囲毎に集約され、出力される。これにより、ユーザの端末には所定の類似範囲毎に集約された後のコンテンツ検索結果が表示され、類似するコンテンツの表示数が少なくなる。類似するコンテンツの表示数が少なくなることから、従来と比較し、様々な種類のコンテンツが表示され易くなり、ユーザは、検索結果として様々な種類のコンテンツを容易に確認できることとなる。
【０００９】
本発明に係るコンテンツ検索結果提供装置では、コンテンツ集約手段は、各コンテンツの種別を示すジャンルを所定の類似範囲としてコンテンツ検索結果を集約してもよい。この発明によれば、コンテンツの種別を示すジャンルによりコンテンツ検索結果が集約され、特徴が類似するコンテンツを適切に集約することができる。
【００１０】
また、本発明に係るコンテンツ検索結果提供装置では、コンテンツ集約手段は、所定の類似範囲毎の重要度に応じた検索結果数を決定し、コンテンツ検索結果を集約してもよい。この発明によれば、重要な類似範囲の検索結果を多数表示しながら、様々な種類のコンテンツ表示が可能となる。
【００１１】
また、本発明に係るコンテンツ検索結果提供装置では、複数の所定の類似範囲を階層構造化した類似範囲構造を記憶する類似範囲構造記憶手段をさらに備え、コンテンツ集約手段は、類似範囲構造記憶手段に記憶された類似範囲構造に基づいて、各類似範囲のコンテンツ検索結果を集約してもよい。この発明によれば、類似範囲の階層構造に基づいて、コンテンツ検索結果の集約を容易に行うことができる。
【００１２】
また、本発明に係るコンテンツ検索結果提供装置では、コンテンツ集約手段は、各類似範囲のうち基準となる基準類似範囲を決定し、基準類似範囲を特定する識別子と各類似範囲を特定する識別子とに基づいて、各類似範囲のコンテンツ検索結果を集約してもよい。基準類似範囲を決定し、該基準類似範囲に基づいて各類似範囲のコンテンツ検索結果を集約することにより、各類似範囲のコンテンツ検索結果の集約をより容易に行うことができる。
【００１３】
また、本発明に係るコンテンツ検索結果提供装置では、検索結果取得手段により取得されたコンテンツ検索結果に含まれる各コンテンツの評価値を算出するコンテンツ評価手段をさらに備え、コンテンツ集約手段は、コンテンツ評価手段が算出したコンテンツ検索結果の評価値に基づいて、基準類似範囲を決定してもよい。評価値が高いジャンルを基準類似範囲とすることにより、ユーザが所望するコンテンツに関する類似範囲を基準類似範囲とできる。
【発明の効果】
【００１４】
本発明によれば、ユーザが検索結果として様々な種類のコンテンツを容易に確認することが可能となる。
【図面の簡単な説明】
【００１５】
【図１】本実施形態の情報システム構成図である。
【図２】本実施形態の情報配信サーバ２００の機能を示すブロック図である。
【図３】情報配信サーバ２００のハードウェア構成図である。
【図４】コンテンツ履歴情報のデータ構造を示す図である。
【図５】コンテンツメタデータ記憶部２０２が管理している情報のデータ構造を示す図である。
【図６】コンテンツ評価部２０７により評価値が算出されたコンテンツ検索結果を示す表である。
【図７】ジャンル構造記憶部２１０が記憶するジャンル構造を模式的に表した図である。
【図８】ジャンル構造記憶部２１０が記憶するジャンル構造テーブルを示す表である。
【図９】ジャンル構造記憶部２１０が記憶する関連度テーブルを示す表である。
【図１０】ジャンル毎に集約されたコンテンツ検索結果を示す表である。
【図１１】本実施形態のレコメンドサーバ３００の機能を示すブロック図である。
【図１２】本実施形態の検索サーバ４００の機能を示すブロック図である。
【図１３】本実施形態のユーザ端末１００の機能を示すブロック図である。
【図１４】本実施形態のシーケンス図である。
【図１５】コンテンツ評価計算の詳細処理のフローチャートである。
【図１６】コンテンツ集約の詳細処理のフローチャートである。
【発明を実施するための形態】
【００１６】
以下、図面を参照しながら、本発明に係る実施形態を説明する。可能な場合には、同一の部分には同一の符号を付して、重複する説明を省略する。
【００１７】
（情報処理システムの構成）
図１に示すように、情報処理システムは、情報配信サーバ２００（コンテンツ検索結果提供装置）、レコメンドサーバ３００、及び検索サーバ４００から構成される。携帯電話等のユーザ端末１００は、ネットワークを介して情報配信サーバ２００と接続している。
【００１８】
情報配信サーバ２００は、ユーザ端末１００から検索クエリを受信すると共に、検索要求を受け付けると、過去の検索クエリに基づいて検索された結果から選択されたコンテンツの情報を用いて、当該検索クエリと関連性のあるコンテンツを決定し、当該コンテンツに関連するコンテンツ、及び検索クエリに対応するコンテンツをユーザ端末１００へ提供する。なお、ここでいう選択とは、予め定められた選択手段（リンク、ボタン等）に対する選択を意味し、閲覧を意味する選択（例えば、コンテンツ詳細情報のリンク選択等）だけでなく、購入を目的とする選択（例えば、コンテンツ購入用のリンク選択等）も含む。また、ここでコンテンツとは、コンテンツの内容だけでなく、コンテンツの識別情報も含む。
【００１９】
図２は、本実施形態の情報配信サーバ２００の機能構成を示すブロック図である。図２に示されるように、情報配信サーバ２００は、コンテンツ履歴情報記憶部２０１、コンテンツメタデータ記憶部２０２、検索要求受付部２０３、レコメンド取得対象コンテンツ決定部２０４、関連コンテンツ取得部２０５（検索結果取得手段）、クエリ検索結果取得部２０６（検索結果取得手段）、コンテンツ評価部２０７（コンテンツ評価手段）、コンテンツ集約部２０８（コンテンツ集約手段）、コンテンツ検索結果出力部２０９（出力手段）、及びジャンル構造記憶部２１０（類似範囲構造記憶手段）を含んで構成されている。
【００２０】
図３は、情報配信サーバ２００のハードウェア構成図である。図１に示される情報配信サーバ２００は、物理的には、図３に示すように、１又は複数のＣＰＵ１１、主記憶装置であるＲＡＭ１２及びＲＯＭ１３、入力デバイスであるキーボード及びマウス等の入力装置１４、ディスプレイ等の出力装置１５、ネットワークカード等のデータ送受信デバイスである通信モジュール１６、半導体メモリ等の補助記憶装置１７などを含むコンピュータシステムとして構成されている。図２における各機能は、図３に示すＣＰＵ１１、ＲＡＭ１２等のハードウェア上に１又は複数の所定のコンピュータソフトウェアを読み込ませることにより、ＣＰＵ１１の制御のもとで入力装置１４、出力装置１５、通信モジュール１６を動作させるとともに、ＲＡＭ１２や補助記憶装置１７におけるデータの読み出し及び書き込みを行うことで実現される。以下、図２に示す機能ブロックに基づいて、各機能ブロックを説明する。
【００２１】
コンテンツ履歴情報記憶部２０１は、過去の検索クエリと、当該過去の検索クエリに基づいた検索結果から選択されたコンテンツとを対応付けた情報であるコンテンツ履歴情報を記憶するデータベースである。
【００２２】
図４は、コンテンツ履歴情報の記憶内容を示す説明図である。図４に示すように、コンテンツ履歴情報は、ユーザＩＤ、検索クエリ、選択されたコンテンツＩＤ、及び選択時の日時を含む。
【００２３】
図４では、例えば、ユーザＩＤが「Ｕｓｅｒ１」のユーザ端末１００が検索クエリ「飲み物」で検索要求し、その検索結果からジュースＡ（オレンジ）（５００ｍｌ×２４本入り）が、２０１３年１月１０日に選択されたことを示している。
【００２４】
コンテンツメタデータ記憶部２０２は、コンテンツと当該コンテンツのメタデータとを関連付けた情報（コンテンツメタデータ）を記憶するデータベースである。
【００２５】
図５は、コンテンツメタデータの記憶内容を示す説明図である。図５に示すように、コンテンツメタデータは、コンテンツＩＤ、及びメタデータを含む。ここでメタデータとは、データ検索用の情報（例えば、コンテンツの属性情報等）を意味する。
【００２６】
図５では、例えば、コンテンツＩＤ「ジュースＡ（オレンジ）（５００ｍｌ×２４本入り）」のメタデータが「ソフトドリンク・清涼飲料、飲み物／ソフトドリンク、炭酸、カラダに嬉しい製品設計」であることを示している。
【００２７】
検索要求受付部２０３は、ユーザ端末１００から、ユーザＩＤ及び検索クエリを取得すると共にコンテンツの検索要求を受け付ける。
【００２８】
レコメンド取得対象コンテンツ決定部２０４は、検索要求時の検索クエリと、コンテンツ履歴情報記憶部２０１が記憶しているコンテンツ履歴情報とに基づいて、レコメンド取得対象となるコンテンツであるレコメンド取得対象コンテンツを決定する。
【００２９】
具体的に、レコメンド取得対象コンテンツ決定部２０４は、コンテンツ履歴情報を参照して、検索要求時の検索クエリに対応するコンテンツをレコメンド取得対象コンテンツに決定する。また、レコメンド取得対象コンテンツ決定部２０４は、検索要求時の検索クエリに対応する過去の検索クエリが無い場合（すなわち、検索要求時の検索クエリに対応するコンテンツが無い場合）は、コンテンツ履歴情報のコンテンツの内、検索要求時の検索クエリとメタデータに基づいてレコメンド取得対象コンテンツを決定する。そして、レコメンド取得対象コンテンツ決定部２０４は、コンテンツ履歴情報のコンテンツの内、検索要求時の検索クエリに基づいたメタデータが無い場合、最新のコンテンツ履歴情報のコンテンツをレコメンド取得対象コンテンツに決定する。なお、検索要求時の検索クエリに対応する過去の検索クエリには、検索要求時の検索クエリに完全一致する過去の検索クエリだけでなく、部分一致する過去の検索クエリも含む。
【００３０】
関連コンテンツ取得部２０５は、レコメンド取得対象コンテンツ決定部２０４が決定したレコメンド取得対象コンテンツをレコメンドサーバ３００へ通知すると共に、関連コンテンツの取得要求を行い、レコメンドサーバ３００から関連コンテンツを第１の検索結果として取得する。ここで、関連コンテンツとは、レコメンド取得対象コンテンツに類似するコンテンツ（例えば、メタデータが共通しているコンテンツ）をいう。
【００３１】
クエリ検索結果取得部２０６は、検索クエリを検索サーバ４００へ通知すると共に、当該検索クエリに対応するコンテンツを第２の検索結果として検索サーバ４００から取得する。
【００３２】
コンテンツ評価部２０７は、関連コンテンツ取得部２０５が取得した関連コンテンツ及びクエリ検索結果取得部２０６が取得したコンテンツの評価値を算出する。図６は、コンテンツ評価部２０７により評価値が算出されたコンテンツ検索結果を示す表である。図６では、検索クエリ「飲み物」で検索要求した際にヒットする各コンテンツが評価値順に並んでいる。ここで、各コンテンツのジャンルとは、各コンテンツの種別（各コンテンツが属するカテゴリ）を示すものであり、例えばコンテンツ「山のおいしい水（５００ｍｌ×２４本入）」は、ジャンル「飲み物／水／山のおいしい水」に属するコンテンツである。ジャンル「飲み物／水／山のおいしい水」とは、コンテンツが、「飲み物」（上位概念）の中の「水」（中位概念）であって「山のおいしい水」（下位概念）に関するコンテンツであることを示している。
【００３３】
コンテンツ集約部２０８は、関連コンテンツ取得部２０５が取得した関連コンテンツ及びクエリ検索結果取得部２０６が取得したコンテンツを、所定の類似範囲毎に集約する。ここで、所定の類似範囲とは、例えば各コンテンツの種別を示すジャンルである。なお、所定の類似範囲とはジャンルに限定されず、他のメタデータや、各コンテンツを所定の纏まりで集約可能なその他の情報に基づくものであってもよい。以下では、ジャンルを所定の類似範囲として説明する。
【００３４】
また、コンテンツ集約部２０８は、ジャンル毎の重要度に応じた検索結果数を決定し、コンテンツ検索結果を集約する。検索結果数とは、コンテンツ検索結果出力部２０９が出力するコンテンツ検索結果の上限数である。コンテンツ集約部２０８は、あるジャンルの検索結果数を決定すると、該ジャンルのコンテンツ検索結果を、検索結果数となるように集約する。例えば、あるジャンルのコンテンツ検索結果が１０あった場合であっても、検索結果数が３と決まった場合には、コンテンツ集約部２０８は、該ジャンルのコンテンツ検索結果が３となるようにコンテンツ検索結果の集約を行う。なお、コンテンツ集約部２０８は、集約後にコンテンツ検索結果とするコンテンツとして、上述したコンテンツ評価部２０７により算出された評価値が高いコンテンツを優先的に選択する。
【００３５】
また、コンテンツ集約部２０８は、ジャンル構造記憶部２１０に記憶されたジャンル構造に基づいて、各ジャンルのコンテンツ検索結果を集約する。ジャンル構造とは、各ジャンルを階層構造化したものであり、例えば、図７に示すヒエラルキーで表される。図７は、ジャンル構造記憶部２１０が記憶するジャンル構造を模式的に表した図である。
【００３６】
ジャンル構造では、各ジャンルの関係性を階層構造で表しており、図７に示す例では、最も上位のジャンルとして「飲み物」及び「美容」を有しており、「飲み物」の下位概念として「水」及び「ソフトドリンク」を、「水」の下位概念として「山のおいしい水」及び「森のおいしい水」を、それぞれ有している。そして、「山のおいしい水」に関するコンテンツとして、「５００ｍｌ×２４本入」「５００ｍｌ×４８本入×２コセット」「５００ｍｌ×４８本入」「３．７８ｌ×６本入」を有している。
【００３７】
コンテンツ集約部２０８は、各ジャンルのうち基準となる基準ジャンルを決定し、基準ジャンルと各ジャンルとの関連度をジャンル構造から特定し、該関連度に基づいて、各ジャンルの検索結果数を決定する。ここでは、基準ジャンルとの関連度が、上述した各ジャンルの重要度である。コンテンツ集約部２０８は、コンテンツ評価部２０７が算出したコンテンツ検索結果の評価値に基づいて、基準ジャンルを決定する。具体的には、コンテンツ集約部２０８は、コンテンツ検索結果の評価値が最も高いコンテンツに関するジャンルを基準ジャンルとする。基準ジャンルは評価値が最も高いコンテンツに関するジャンルであるため、通常、検索結果数が最も多いジャンルとされる。
【００３８】
コンテンツ集約部２０８は、各ジャンルの基準ジャンルとの関連度を特定するに際し、ジャンル毎に設定されたジャンル識別子を用いる。ジャンル識別子を用いた関連度の特定については後述する。
【００３９】
以下、図６〜図１０を用いて、上述したコンテンツ集約部２０８によるジャンル毎の検索結果数の決定処理、及び、コンテンツ検索結果の集約処理の一例について説明する。まず、検索クエリ「飲み物」で検索要求した際にヒットした各コンテンツに対して、コンテンツ評価部２０７が評価値を算出し、図６に示す評価値順にコンテンツが並んでいるとする。この場合、コンテンツ集約部２０８は、評価値が最も高いコンテンツである「山のおいしい水（５００ｍｌ×２４本入）」に関するジャンルである「飲み物／水／山のおいしい水」を基準ジャンルとする。
【００４０】
コンテンツ集約部２０８は、基準ジャンルと各ジャンルとの関連度をジャンル構造から特定する。以下では、図７に示すジャンル構造における最下層のジャンル（例えば「山のおいしい水」や「俺の桃！」など）を下層ジャンル、下層ジャンルの１つ上位階層のジャンル（例えば「水」や「ソフトドリンク」など）を中層ジャンル、中層ジャンルの１つ上位階層のジャンル（例えば「飲み物」や「美容」など）を上層ジャンルと定義して説明する。
【００４１】
基準ジャンルと各ジャンルとの関連度は、下層ジャンル、中層ジャンル、及び上層ジャンルの一致度から特定される。以下の順に、基準ジャンルとの関連度が高いジャンルであると特定される。すなわち、下層ジャンルは異なるが中層ジャンルが基準ジャンルと一致するジャンル、中層ジャンルが異なるが上層ジャンルが基準ジャンルと一致するジャンル、上層ジャンルが基準ジャンルと異なるジャンル、の順で基準ジャンルとの関連度が高いジャンルであるとされる。いま基準ジャンルが、「飲み物／水／山のおいしい水」であるため、該基準ジャンルと中層ジャンル「水」が一致する「飲み物／水／森のおいしい水」の関連度が最も高く、次いで、中層ジャンルは異なるが上層ジャンル「飲み物」が一致する「飲み物／ソフトドリンク／俺の桃！」及び「飲み物／ソフトドリンク／おいしいオレンジジュース」の関連度が高くなる。そして、最も関連度が低いのは、上層ジャンルが異なる「美容／シャンプー／美髪シャンプー」「美容／トリートメント／潤いコンディショニング」となる。
【００４２】
このような、ジャンル構造に基づく各ジャンルの関連度は、基準ジャンルを基準とした階層毎の減衰定数（上位階層への減衰定数ｇ及び同一階層における減衰定数ｈ）の積により定められる。図７に示す例では、下層ジャンル間での同一階層における減衰定数をｈ１、中層ジャンル間での同一階層における減衰定数をｈ２、上層ジャンル間での同一階層における減衰定数をｈ３とし、下層ジャンル及び中層ジャンル間での上位階層への減衰定数をｇ１、中層ジャンル及び上層ジャンル間での上位階層への減衰定数をｇ２としている。
【００４３】
例えば、「飲み物／水／森のおいしい水」は、基準ジャンルである「飲み物／水／山のおいしい水」と中層ジャンルが一致するため、下層ジャンル間での同一階層における減衰定数ｈ１を関連度とする。また、「飲み物／ソフトドリンク／俺の桃！」は、基準ジャンルである「飲み物／水／山のおいしい水」と中層ジャンルが異なり上層ジャンルが一致するため、下層ジャンル及び中層ジャンル間での上位階層への減衰定数ｇ１、及び、中層ジャンル間での同一階層における減衰定数ｈ２の積を関連度とする。また、「飲み物／ソフトドリンク／おいしいオレンジジュース」は、基準ジャンルである「飲み物／水／山のおいしい水」と中層ジャンルが異なり上層ジャンルが一致するため、下層ジャンル及び中層ジャンル間での上位階層への減衰定数ｇ１、及び、中層ジャンル間での同一階層における減衰定数ｈ２の積を関連度とする。また、「美容／シャンプー／美髪シャンプー」は、基準ジャンルである「飲み物／水／山のおいしい水」と上層ジャンルが異なるため、下層ジャンル及び中層ジャンル間での上位階層への減衰定数ｇ１、中層ジャンル及び上層ジャンル間での上位階層への減衰定数ｇ２、及び、上層ジャンル間での同一階層における減衰定数ｈ３の積を関連度とする。
【００４４】
コンテンツ集約部２０８による、関連度に基づく各ジャンルの検索結果数の決定について説明する。ジャンル構造記憶部２１０には、ユーザが予め設定した基準ジャンル「飲み物／水／山のおいしい水」の検索結果数である基準結果数Ｎが設定されている。そして、コンテンツ集約部２０８は、該基準結果数Ｎに、関連度である減衰定数（ｇ及びｈ）の積を掛け合わせて、各ジャンルの検索結果数を決定する。ここでは基準結果数Ｎ＝３とし、上位階層への減衰定数ｇ１＝０．８、ｇ２＝０．６とし、同一階層における減衰定数ｈ１＝０．８、ｈ２＝０．６、ｈ３＝０．４とする。なお、掛け合わせて算出された値は四捨五入する。また、算出された値が１以下の場合には切り上げる。
【００４５】
上述したように、下層ジャンル及び中層ジャンル間での上位階層への減衰定数ｇ１の値（０．８）よりも、中層ジャンル及び上層ジャンル間での上位階層への減衰定数ｇ２の値（０．６）を小さくすることにより、上層ジャンルが基準ジャンルと一致するジャンルに比べて、上層ジャンルが基準ジャンルと一致しないジャンルの関連度をより小さくすることができる。また、下層ジャンル間での同一階層における減衰定数ｈ１の値（０．８）よりも、中層ジャンル間での同一階層における減衰定数ｈ２の値（０．６）を小さくし、該減衰定数ｈ２の値（０．６）よりも、上層ジャンル間での同一階層における減衰定数ｈ３の値（０．４）をより小さくすることにより、中層ジャンルが基準ジャンルと一致するジャンルに比べて、中層ジャンルが基準ジャンルと一致しないジャンルの関連度をより小さくでき、また、上層ジャンルが基準ジャンルと一致するジャンルに比べて、上層ジャンルが基準ジャンルと一致しないジャンルの関連度をより小さくできる。
【００４６】
なお、図７に示す例では、下層ジャンル間での同一階層における減衰定数は、上位階層である中層ジャンルに関らず、ｈ１で共通としたが、上位階層である中層ジャンルの種別毎に異なるものとしてもよい。
【００４７】
例えば、ジャンル「飲み物／水／森のおいしい水」は関連度がｈ１であるため、検索結果数はＮ×ｈ１＝３×０．８＝２．４≒２であると算出される。また、ジャンル「飲み物／ソフトドリンク／俺の桃！」及び「飲み物／ソフトドリンク／おいしいオレンジジュース」は関連度がｇ１×ｈ２であるため、検索結果数はＮ×ｇ１×ｈ２＝３×０．８×０．６＝１．４４≒１であると算出される。また、ジャンル「美容／シャンプー／美髪シャンプー」は関連度がｇ１×ｇ２×ｈ３であるため、検索結果数はＮ×ｇ１×ｇ２×ｈ３＝３×０．８×０．６×０．４＝０．５７６≒１であると算出される。このように、コンテンツ集約部２０８は、基準ジャンルとの関連度が高いジャンルは検索結果数を多く、基準ジャンルとの関連度が低いジャンルは検索結果数を少なくするように、検索結果数を決定する。
【００４８】
なお、図７に示すジャンル構造は階層構造を説明するために模式的に表した図であり、実際には、ジャンル構造記憶部２１０には、図８に示すジャンル構造テーブルが記憶されている。図８に示したジャンル名は、３列のうち左の列が上層ジャンル、真中の列が中層ジャンル、右の列が下層ジャンルにそれぞれ該当する。また、ジャンル構造テーブルにおいては、ジャンルを一意に定めるジャンル識別子が予め設定されている。例えば、ジャンル「飲み物／水／山のおいしい水」にはジャンル識別子ａが設定されている。
【００４９】
そして、ジャンル構造記憶部２１０は、上述した検索結果数を算出するための関連度を、各ジャンルの組合せ毎（各ジャンルの識別子の組合せ毎）に関連度テーブルにより記憶している。図９は、ジャンル構造記憶部２１０が記憶する関連度テーブルである。図９に示すように、関連度テーブルには、基準ジャンルの識別子と各ジャンルの識別子との組合せにおける関連度（減衰定数の積）が設定されている。このため、コンテンツ集約部２０８は、図８に示したジャンル構造テーブルに基づいて基準ジャンルと各ジャンルのジャンル識別子を特定し、図９に示した関連度テーブルに基づいて基準ジャンルと各ジャンルとの関連度を特定する。関連度特定後の各ジャンルに関する検索結果数の算出は上述したとおりである。
【００５０】
コンテンツ集約部２０８によるコンテンツ検索結果の集約処理は、各ジャンル毎に決定した検索結果数に基づいて行われる。すなわち、上述したように、基準ジャンルであるジャンル「飲み物／水／山のおいしい水」の集約後コンテンツ検索結果Ｐの検索結果数は３であり、ジャンル「飲み物／水／森のおいしい水」の集約後コンテンツ検索結果Ｑの検索結果数は２であり、ジャンル「飲み物／ソフトドリンク／俺の桃！」の集約後コンテンツ検索結果Ｒの検索結果数、及び、「飲み物／ソフトドリンク／おいしいオレンジジュース」の集約後コンテンツ検索結果Ｓの検索結果数は１である。このため、コンテンツ集約部２０８は、当該検索結果数となるように、各ジャンルのコンテンツ検索結果を集約する（図１０参照）。なお、コンテンツ集約部２０８は、集約後コンテンツ検索結果として、上述したコンテンツ評価部２０７により算出された評価値が高いコンテンツを優先的に選択している。
【００５１】
コンテンツ検索結果出力部２０９は、コンテンツ集約部２０８により集約されたコンテンツ検索結果をユーザ端末１００へ出力する。
【００５２】
（レコメンドサーバ）
次に、レコメンドサーバ３００について説明する。図１１は、レコメンドサーバ３００の機能構成を示すブロック図である。図１１に示すとおり、レコメンドサーバ３００は、レコメンド取得対象コンテンツ取得部３０１、関連コンテンツ計算部３０２、及び関連コンテンツ送信部３０３を含んで構成されている。このレコメンドサーバ３００は、ＣＰＵ、ＲＡＭ、ＲＯＭなどのハードウェアにより構成されており、記憶されているプログラムにしたがってＣＰＵは動作するよう構成されている。具体的には、情報配信サーバ２００と同様の構成をとるものであって、図３に示されるハードウェア構成により実現される。以下、各構成について説明する。
【００５３】
レコメンド取得対象コンテンツ取得部３０１は、情報配信サーバ２００からレコメンド取得対象コンテンツを取得するものである。
【００５４】
関連コンテンツ計算部３０２は、レコメンド取得対象コンテンツ取得部３０１が取得したレコメンド取得対象コンテンツに関連するコンテンツを、図示しないコンテンツのデータベースから検索し、計算することにより関連コンテンツを決定する。例えば、関連コンテンツ計算部３０２は、レコメンド取得対象コンテンツのメタデータと同一のメタデータを有するコンテンツを関連コンテンツとする。
【００５５】
関連コンテンツ送信部３０３は、関連コンテンツ計算部３０２が計算した結果により定められた関連コンテンツ及び各関連コンテンツの順位情報を情報配信サーバ２００へ送信する。
【００５６】
（検索サーバ）
次に、検索サーバ４００について説明する。図１２は、検索サーバ４００の機能構成を示すブロック図である。図１２に示すとおり、検索サーバ４００は、クエリ取得部４０１、コンテンツ計算部４０２、及びクエリ検索結果コンテンツ送信部４０３を含んで構成されている。この検索サーバ４００は、ＣＰＵ、ＲＡＭ、ＲＯＭなどのハードウェアにより構成されており、記憶されているプログラムにしたがってＣＰＵは動作するよう構成されている。具体的には、情報配信サーバ２００と同様の構成をとるものであって、図３に示されるハードウェア構成により実現される。以下、各構成について説明する。
【００５７】
クエリ取得部４０１は、情報配信サーバ２００から検索クエリを取得するものである。
【００５８】
コンテンツ計算部４０２は、クエリ取得部４０１が取得した検索クエリに対応するコンテンツを、図示しないコンテンツのデータベースから検索して、送信対象となるコンテンツを決定する。具体的には、コンテンツ計算部４０２は、コンテンツのデータベースから検索したそれぞれのコンテンツに対して計算処理をした結果に基づいて情報配信サーバ２００へ送信する対象となるコンテンツを決定する。上記計算処理の具体例として、コンテンツ計算部４０２は、検索クエリに対応するコンテンツについて、当該検索クエリに対応するメタデータ数等を計算する。
【００５９】
クエリ検索結果コンテンツ送信部４０３は、コンテンツ計算部４０２が計算した結果定めたコンテンツ及び各コンテンツの順位情報を情報配信サーバ２００へ送信する。
【００６０】
（ユーザ端末）
次に、ユーザ端末１００について説明する。図１３は、ユーザ端末１００の機能構成を示すブロック図である。図１３に示すとおり、ユーザ端末１００は、ブラウザ１０１、レコメンド要求送信部１０２、及び配信情報表示部１０３を含んで構成されている。このユーザ端末１００は、ＣＰＵ、ＲＡＭ、ＲＯＭなどのハードウェアにより構成されており、記憶されているプログラムにしたがってＣＰＵは動作するよう構成されている。具体的には、情報配信サーバ２００と同様の構成をとるものであって、図３に示されるハードウェア構成により実現される。以下、各構成について説明する。
【００６１】
ブラウザ１０１は、インターネットに接続するためのアプリケーション部分であり、インターネット上に配置されているサイトに対してアクセスし、サイトに保持されているコンテンツをユーザに閲覧可能にさせるものである。
【００６２】
レコメンド要求送信部１０２は、図示しない操作部をユーザが操作することにより、検索クエリ及びユーザＩＤとともにレコメンド情報の要求を情報配信サーバ２００に送信する部分である。
【００６３】
情報配信表示部１０３は、ブラウザ１０１により取得されたメニュー画面およびコンテンツ（Ｗｅｂページ）を表示する部分である。
【００６４】
つぎに、これらユーザ端末１００、情報配信サーバ２００、レコメンドサーバ３００、及び検索サーバ４００の動作について図１４を用いて説明する。図１４は、ユーザ端末１００の要求に応じて検索結果を配信するときのユーザ端末１００、情報配信サーバ２００、レコメンドサーバ３００、及び検索サーバ４００の処理を示すシーケンス図である。
【００６５】
図１４に示すとおり、ユーザ端末１００のレコメンド要求送信部１０２は、ユーザＩＤと検索クエリとを情報配信サーバ２００へ送信すると共に、検索結果送信要求する（ステップＳ１）。
【００６６】
情報配信サーバ２００の検索要求受付部２０３は、ユーザＩＤと検索クエリとを取得すると共に、検索結果送信要求を受け付け、クエリ検索結果取得部２０６は、当該検索クエリを検索サーバ４００へ送信する（ステップＳ２）。
【００６７】
レコメンド取得対象コンテンツ決定部２０４は、検索要求時の検索クエリと、コンテンツ履歴情報記憶部２０１が記憶しているコンテンツ履歴情報とに基づいて、レコメンド取得対象となるコンテンツであるレコメンド取得対象コンテンツを決定する（ステップＳ３）。
【００６８】
関連コンテンツ取得部２０５は、レコメンド取得対象コンテンツのコンテンツＩＤをレコメンドサーバ３００へ送信する（ステップＳ４）。レコメンドサーバ３００の関連コンテンツ計算部３０２は、当該レコメンド取得対象コンテンツの関連コンテンツを計算し（ステップＳ５）、レコメンドサーバ３００の関連コンテンツ送信部３０３は、当該関連コンテンツの計算結果を情報配信サーバ２００へ送信する（ステップＳ６）。
【００６９】
検索サーバ４００のコンテンツ計算部４０２は、検索クエリに対応するコンテンツを計算し（ステップＳ７）、検索サーバ４００のクエリ検索結果コンテンツ送信部４０３は、計算に基づく結果を情報配信サーバ２００へ送信する（ステップＳ８）。
【００７０】
コンテンツ評価部２０７は、関連コンテンツ取得部２０５が取得したコンテンツの評価値と、クエリ検索結果取得部２０６が取得したコンテンツの評価値とに基づいて、検索結果として出力するコンテンツの優先度を決定する（ステップＳ９）。そして、コンテンツ集約部２０８は、コンテンツ評価部２０７による評価後のコンテンツ検索結果をジャンル毎に集約する（ステップＳ１０）。最後に、コンテンツ検索結果出力部２０９は、集約後のコンテンツ検索結果をユーザ端末１００へ出力する（ステップＳ１１）。なお、ステップＳ９〜ステップＳ１１の処理の詳細については、後述する。
【００７１】
続いて、図１５のフローチャートを用いて評価算出処理を説明する。この処理は、図１４に示したシーケンス図のステップＳ９に対応する。まず、コンテンツ評価部２０７は、クエリ検索結果取得部２０６が取得したコンテンツの集合であるコンテンツ群Ｃ１のそれぞれのコンテンツについて評価値Ｖ１を求める（ステップＳ９１）。コンテンツ評価部２０７が算出する評価値Ｖ１は、以下の式（１）により求めることができる。
Ｖ１＝（Ｍ−α）×｛（ｘ＋１−ｒａｎｋ１）／ｘ｝・・・（１）
【００７２】
ここで、ｘは、クエリ検索結果取得部２０６が取得したコンテンツの件数であり、αは、関連コンテンツ取得部２０５が取得したコンテンツと、クエリ検索結果取得部２０６が取得したコンテンツとの優先度合を定める指標値であり、Ｍは、αが取り得る最大値であり、ｒａｎｋ１は、クエリ検索結果取得部２０６が取得したコンテンツ内における各コンテンツの順位である。よって、評価値Ｖ１は、クエリ検索結果取得部２０６が取得したコンテンツの件数と、クエリ検索結果取得部２０６が取得したコンテンツ内における各コンテンツの順位とに基づいて算出される値である。クエリ検索結果取得部２０６が取得したコンテンツ内における各コンテンツの順位が上位であれば、上位であるほど、評価値Ｖ１が高くなる。なお、コンテンツ評価部２０７は、上記式（１）により評価値Ｖ１を算出したが、他の種々の式により評価値Ｖ１を算出するようにしても良い。例えば、上記式（１）では、（ｘ＋１−ｒａｎｋ１）をｘで割っているが、ｘをｒａｎｋ１で割るようにしても良い。
【００７３】
コンテンツ群Ｃ１に含まれるコンテンツの中に、関連コンテンツ取得部２０５が取得したコンテンツの集合であるコンテンツ群Ｃ２に含まれるコンテンツが無い場合（ステップＳ９２；ＮＯ）、コンテンツ検索結果出力部２０８は、評価値Ｖ１のランキング通りの順位のコンテンツを出力する（ステップＳ９３）。コンテンツ群Ｃ１に含まれるコンテンツの中に、関連コンテンツ取得部２０５が取得した関連コンテンツ群Ｃ２に含まれるコンテンツがある場合（ステップＳ９２；ＹＥＳ）、コンテンツ評価部２０７は、関連コンテンツ群Ｃ２のコンテンツの内、コンテンツ群Ｃ１にも含まれるコンテンツの評価値Ｖ２を求める（ステップＳ９４）。関連コンテンツ群Ｃ２のコンテンツの内、コンテンツ群Ｃ１のコンテンツには含まれないコンテンツは、評価対象外とするものとする。なお、関連コンテンツ群Ｃ２のコンテンツの内、コンテンツ群Ｃ１のコンテンツには含まれないコンテンツの評価値Ｖ２を求めるようにしても良い。
【００７４】
コンテンツ評価部２０７が算出する評価値Ｖ２は、以下の式（２）により求めることができる。
Ｖ２＝α×｛（ｘ＋１−ｒａｎｋ２）／ｘ｝・・・（２）
【００７５】
ここで、ｘは、関連コンテンツ取得部２０５が取得した件数であり、αは、関連コンテンツ取得部２０５が取得したコンテンツと、クエリ検索結果取得部２０６が取得したコンテンツとの優先度合を定める指標値であり、ｒａｎｋ２は、関連コンテンツ取得部２０５が取得した関連コンテンツ内における各コンテンツの順位である。よって、評価値Ｖ２は、関連コンテンツ取得部２０５が取得したコンテンツの件数と、関連コンテンツ取得部２０５が取得したコンテンツ内における各コンテンツの順位とに基づいて算出される値である。関連コンテンツ取得部２０５が取得したコンテンツ内における各コンテンツの順位が上位であれば、上位であるほど、評価値Ｖ２が高くなる。なお、コンテンツ評価部２０７は、上記式（２）により評価値Ｖ２を算出したが、他の種々の式により評価値Ｖ２を算出するようにしても良い。例えば、上記式（２）では、（ｘ＋１−ｒａｎｋ２）をｘで割っているが、ｘをｒａｎｋ２で割るようにしても良い。
【００７６】
続いて、コンテンツ評価部２０７は、評価値Ｖ１、Ｖ２から最終評価値Ｖ３を求める（ステップＳ９５）。最終評価値Ｖ３は、以下の式（３）により求めることができる。このように、関連コンテンツ取得部２０５が取得したコンテンツ内における評価値Ｖ１と、クエリ検索結果取得部２０６が取得したコンテンツ内における評価値Ｖ２とを用いて、最終的な評価値を算出することにより、複数の観点の評価値を算出することができ、適切なコンテンツの評価値を算出することができる。
Ｖ３＝Ｖ１＋Ｖ２・・・（３）
【００７７】
続いて、図１６のフローチャートを用いてコンテンツ集約処理を説明する。この処理は、図１４に示したシーケンス図のステップＳ１０とステップＳ１１に対応する。
【００７８】
まず、コンテンツ集約部２０８は、コンテンツ評価部２０７が算出した評価値Ｖ３が最も高いコンテンツに関するジャンルを、基準ジャンルに決定する（ステップＳ１０１）。基準ジャンルの決定後、コンテンツ集約部２０８は、ジャンル構造記憶部２１０が記憶する関連度テーブル（図９参照）に基づき、各ジャンルの集約後検索結果数を求める（ステップＳ１０２）。具体的には、基準ジャンルの識別子、各ジャンルの識別子、及び関連度テーブルから、各ジャンルの関連度（減衰定数）を特定し、基準ジャンルの検索結果数である基準結果数Ｎに、各ジャンルの関連度を掛け合わせることで、各ジャンルの検索結果数を決定する。
【００７９】
そして、コンテンツ集約部２０８は、各ジャンル毎のコンテンツを集約する（ステップＳ１０３）。具体的には、コンテンツ集約部２０８は、各ジャンル毎に決定した検索結果数となるように、各ジャンルのコンテンツ検索結果の集約処理を行う。なお、コンテンツ集約部２０８は、集約後にコンテンツ検索結果とするコンテンツとして、上述したコンテンツ評価部２０７により算出された評価値が高いコンテンツを優先的に選択する。
【００８０】
最後に、コンテンツ検索結果出力部２０９は、コンテンツ集約部２０８により集約されたコンテンツ検索結果をユーザ端末１００へ出力する（ステップＳ１０４）。
【００８１】
次に、本実施形態の情報配信サーバ２００の作用効果について説明する。本実施形態の情報配信サーバ２００によれば、コンテンツ集約部２０８により検索クエリに対するコンテンツ検索結果が所定の類似範囲毎に集約され、コンテンツ検索結果出力部２０９により該集約後のコンテンツ検索結果が出力される。これにより、ユーザ端末１００には所定の類似範囲毎に集約された後のコンテンツ検索結果が表示され、類似するコンテンツの表示数が少なくなる。類似するコンテンツの表示数が少なくなることから、従来、ユーザ端末１００（の１画面）に表示しきれていなかったコンテンツが表示されることとなる。すなわち、従来と比較し、様々な種類のコンテンツが表示され易くなる。このことで、ユーザは、検索結果として様々な種類のコンテンツを従来よりも容易に確認可能となる。また、様々な種類のコンテンツが表示され易くなることで、ユーザのセレンディピティが向上することが期待できる。
【００８２】
また、本実施形態の情報配信サーバ２００において、コンテンツ集約部２０８は、各コンテンツの種別を示すジャンルを所定の類似範囲としてコンテンツ検索結果を集約することにより、特徴が類似するコンテンツを適切に集約することが可能となる。
【００８３】
また、本実施形態の情報配信サーバ２００において、コンテンツ集約部２０８は、ジャンル毎の重要度、例えば基準ジャンルとの関連度に応じて検索結果数を決定し、コンテンツ検索結果を集約することにより、ユーザにとって重要度の高いジャンルのコンテンツは多数表示しながら、様々な種類のコンテンツ表示を行うことができる。
【００８４】
また、本実施形態の情報配信サーバ２００において、各ジャンルを階層構造化したジャンル構造を記憶するジャンル構造記憶部２１０をさらに備え、コンテンツ集約部２０８は、ジャンル構造記憶部２１０に記憶されたジャンル構造に基づいて、各ジャンルの検索結果数を決定し、コンテンツ検索結果を集約する。ジャンル構造により各ジャンル間の関連度を簡易かつ適切に定義できるため、各ジャンルの検索結果数の決定が容易になり、ひいては、コンテンツ検索結果の集約が容易になる。
【００８５】
また、本実施形態の情報配信サーバ２００において、コンテンツ集約部２０８は、各ジャンルのうち基準となる基準ジャンルを決定し、基準ジャンルを特定する識別子と各ジャンルを特定する識別子とに基づいて、各ジャンルの検索結果数を決定し、コンテンツ検索結果を集約する。基準ジャンルを決定し、該基準ジャンルとの関連度から各ジャンルの検索結果数を決定することにより、各ジャンルのコンテンツ検索結果の集約をより容易に行うことができる。また、基準ジャンルの識別子、各ジャンルの識別子、及び関連度テーブルから、各ジャンルの関連度（減衰定数）を特定し、各ジャンルの検索結果数を決定することで各ジャンルの検索結果数の決定が容易になり、ひいては、コンテンツ検索結果の集約が容易になる。
【００８６】
また、本実施形態の情報配信サーバ２００において、コンテンツ検索結果に含まれる各コンテンツの評価値を算出するコンテンツ評価部２０７をさらに備え、コンテンツ集約部２０８は、コンテンツ評価部２０７が算出したコンテンツ検索結果の評価値に基づいて、基準ジャンルを決定することにより、ユーザが所望するコンテンツに関するジャンルを基準ジャンルとすることができる。そして、該ユーザが所望とする基準ジャンルとの関連度に基づいて各ジャンルの検索結果数を決定するため、ユーザが所望するジャンルのコンテンツは多数表示しながら、様々な種類のコンテンツ表示が可能となる。
【００８７】
以上、本発明の好適な実施形態について説明したが、本発明は上記実施形態に限られるものではなく、各請求項に記載した要旨を変更しない範囲で変形し、又は他のものに適用したものであってもよい。
【００８８】
例えば、ジャンル構造記憶部２１０には、階層構造化されたジャンルが記憶されているとして説明したが、必ずしもジャンルは階層構造化されていなくてもよく、各ジャンル間の関係性（関連度合い）が特定可能なようにジャンルが記憶されていればよい。
【００８９】
また、基準ジャンルはコンテンツ評価部２０７が算出した評価値に基づいて決定されるとして説明したが、単にユーザが履歴として保持するコンテンツに関するジャンルを基準ジャンルとしてもよい。
【符号の説明】
【００９０】
２００…情報配信サーバ、２０５…関連コンテンツ取得部、２０６…クエリ検索結果取得部、２０７…コンテンツ評価部、２０８…コンテンツ集約部、２０９…コンテンツ検索結果出力部、２１０…ジャンル構造記憶部。
【図１】
2014228969.tif 000003
【図２】
2014228969.tif 000004
【図３】
2014228969.tif 000005
【図４】
2014228969.tif 000006
【図５】
2014228969.tif 000007
【図６】
2014228969.tif 000008
【図７】
2014228969.tif 000009
【図８】
2014228969.tif 000010
【図９】
2014228969.tif 000011
【図１０】
2014228969.tif 000012
【図１１】
2014228969.tif 000013
【図１２】
2014228969.tif 000014
【図１３】
2014228969.tif 000015
【図１４】
2014228969.tif 000016
【図１５】
2014228969.tif 000017
【図１６】
2014228969.tif 000018