(57)【要約】【課題】バッチ処理を行う上で無駄な計算リソースを費やすことなくレコメンド情報を生成すること。【解決手段】転置インデックス生成部１０２は、コンテンツ特徴ベクトルを構成する特徴要素ごとに、当該特徴要素で特徴付けられるコンテンツを対応付けた転置インデックステーブルを生成する。転置インデックステーブルの生成までの処理は、携帯端末２００からのレコメンド要求を受け付ける前に終わらせておく。  つぎに、ユーザ端末からレコメンド要求が受け付けられると、レコメンドコンテンツ取得部１０４は、転置インデックステーブルから、重複して記述されているコンテンツの数（重複数）を、コンテンツごとに集計し、この重複数が多い順にコンテンツを表示可能なように、コンテンツを抽出する。レコメンドコンテンツ送信部１０５は、抽出されたコンテンツを携帯端末２００にコンテンツを送信する。【選択図】  図２
2015106346.tif 000002
【特許請求の範囲】
【請求項１】
レコメンド対象となるコンテンツのコンテンツ特徴ベクトルに基づいて、当該コンテンツ特徴ベクトルを構成する特徴要素ごとに、一または複数のコンテンツを対応付けた転置インデックステーブルを生成する転置インデックステーブル生成手段と、
前記転置インデックステーブル生成手段により生成された転置インデックステーブルを記憶する転置インデックス記憶手段と、
ユーザ端末からレコメンド要求が受け付けられると、前記転置インデックス記憶手段に記憶されている転置インデックステーブルに基づいて決定されたユーザ端末におけるコンテンツの表示順位に従ったレコメンド情報を生成するレコメンド情報生成手段と、
前記レコメンド情報生成手段により生成されたレコメンド情報を送信する送信手段と、
を備え、
前記転置インデックステーブル生成手段は、あらかじめ定められた条件を満たした場合に転置インデックステーブルの生成処理を実行し、
前記レコメンド情報生成手段は、ユーザ端末からのレコメンド要求が受け付けられるたびに、表示順位の決定処理を実行する
レコメンド情報生成装置。
【請求項２】
前記レコメンド情報生成手段は、
転置インデックステーブルに基づいて、特徴要素を変えて重複して記述されているコンテンツの数である重複数を、コンテンツごとに集計する集計手段と、
前記集計手段により集計された重複数を、当該コンテンツのコンテンツ特徴ベクトルを構成する特徴要素のうち任意の特徴要素に対応付けた管理リストを生成する生成手段と、
前記生成手段により生成された管理リストに基づいて、ユーザ端末にて重複数の多い順にコンテンツを表示可能なようにコンテンツを抽出することでレコメンド情報を生成する抽出手段と、
から構成される、請求項１に記載のレコメンド情報生成装置。
【請求項３】
あらかじめ定められた特徴要素に基づいてコンテンツの特徴が表現されるコンテンツ特徴ベクトルを生成するコンテンツ特徴ベクトル生成手段と、
前記コンテンツ特徴ベクトル生成手段により生成されたコンテンツ特徴ベクトルを、コンテンツごとに記憶するコンテンツ特徴ベクトル記憶手段と、
を備え、
前記転置インデックステーブル生成手段は、前記コンテンツ特徴ベクトル記憶手段に記憶されているコンテンツ特徴ベクトルを用いて転置インデックステーブルを生成する
請求項１または２に記載のレコメンド情報生成装置。
【請求項４】
前記転置インデックステーブル生成手段は、前記コンテンツ特徴ベクトル記憶手段に記憶されているコンテンツ特徴ベクトルの数が所定件数に達した時に、バッチ処理によりまとめて実行する、請求項３に記載のレコメンド情報生成装置。
【請求項５】
レコメンド情報生成装置におけるレコメンド情報生成方法において、
レコメンド対象となるコンテンツのコンテンツ特徴ベクトルに基づいて、当該コンテンツ特徴ベクトルを構成する特徴要素ごとに、一または複数のコンテンツを対応付けた転置インデックステーブルを生成する転置インデックステーブル生成ステップと、
前記転置インデックステーブル生成ステップにより生成された転置インデックステーブルを転置インデックス記憶手段に記憶する記憶ステップと、
ユーザ端末からレコメンド要求が受け付けられると、前記転置インデックス記憶手段に記憶されている転置インデックステーブルに基づいて決定されたユーザ端末におけるコンテンツの表示順位に従ったレコメンド情報を生成するレコメンド情報生成ステップと、
前記レコメンド情報生成ステップにより生成されたレコメンド情報を送信する送信ステップと、
を備え、
前記転置インデックステーブル生成ステップは、あらかじめ定められた条件を満たした場合に転置インデックステーブルの生成処理を実行し、
前記レコメンド情報生成ステップは、ユーザ端末からのレコメンド要求が受け付けられるたびに、表示順位の決定処理を実行する
レコメンド情報生成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、レコメンド情報を生成するレコメンド情報生成装置およびレコメンド情報生成方法に関する。
【背景技術】
【０００２】
通信販売サイトでは、他のユーザの購入履歴に基づいて、ある商品の紹介を行っている。このようなサイトでは、バッチ処理により、事前にすべての商品に対して、他のユーザの購入履歴を参照して、その商品に関連する商品を紹介するためのレコメンド情報を生成している。一般的には、コンテンツ特徴ベクトル同士の内積を計算することにより、その類似度を把握しておき、類似度の高い順にコンテンツが並ぶようレコメンド情報を生成している。
【０００３】
しかしながら、一般的には、商品等は膨大に存在しており、このようなバッチ処理には時間がかかる。例えば、１００万件のコンテンツがあった場合、１００万×１００万の演算処理をする必要が有り、その処理は膨大なものとなる。
【０００４】
また、通信販売サイト以外の一般的なデジタルコンテンツ、例えばニュース記事などでは、賞味期限が早く関連コンテンツとして提供するコンテンツを常時更新する必要がある。また、一般論として、デジタルコンテンツでは、ロングテールが大きく、また誰にも見られていないコンテンツがほとんどである。よって、そのようなコンテンツに対してもあらかじめ計算しておくことは計算リソースの無駄ということに他ならない。
【０００５】
ここで、レコメンド情報を提供するに際して、バッチ処理部分とリアルタイム処理部分とに分けて提供することが考えられている。下記特許文献１は、バッチ処理とリアルタイム処理とでレコメンド情報の生成を行っている技術について開示している。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１２−２１６１７５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、特許文献１に記載の技術においては、バッチ処理時に、ユーザ間の相関に基づいたレコメンド情報を生成しようとしたものであり、アクセス予定のないユーザ分のレコメンドまで生成してしまうため、無駄な計算処理を行うことがあり得る。よって、計算リソースの無駄はやはり存在している。
【０００８】
そこで、本発明においては、上述の課題を解決するために、バッチ処理を行う上で無駄な計算リソースを費やすことなくレコメンド情報を生成することができるレコメンド情報生成装置およびレコメンド情報生成方法を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上述の課題を解決するために、本発明のレコメンド情報生成装置は、レコメンド対象となるコンテンツのコンテンツ特徴ベクトルに基づいて、当該コンテンツ特徴ベクトルを構成する特徴要素ごとに、一または複数のコンテンツを対応付けた転置インデックステーブルを生成する転置インデックステーブル生成手段と、前記転置インデックステーブル生成手段により生成された転置インデックステーブルを記憶する転置インデックス記憶手段と、ユーザ端末からレコメンド要求が受け付けられると、前記転置インデックス記憶手段に記憶されている転置インデックステーブルに基づいて決定されたユーザ端末におけるコンテンツの表示順位に従ったレコメンド情報を生成するレコメンド情報生成手段と、前記レコメンド情報生成手段により生成されたレコメンド情報を送信する送信手段と、を備え、前記転置インデックステーブル生成手段は、あらかじめ定められた条件を満たした場合に転置インデックステーブルの生成処理を実行し、前記レコメンド情報生成手段は、ユーザ端末からのレコメンド要求が受け付けられるたびに、表示順位の決定処理を実行する。
【００１０】
また、本発明のレコメンド情報生成方法は、レコメンド情報生成装置におけるレコメンド情報生成方法において、レコメンド対象となるコンテンツのコンテンツ特徴ベクトルに基づいて、当該コンテンツ特徴ベクトルを構成する特徴要素ごとに、一または複数のコンテンツを対応付けた転置インデックステーブルを生成する転置インデックステーブル生成ステップと、前記転置インデックステーブル生成ステップにより生成された転置インデックステーブルを転置インデックス記憶手段に記憶する記憶ステップと、ユーザ端末からレコメンド要求が受け付けられると、前記転置インデックス記憶手段に記憶されている転置インデックステーブルに基づいて決定されたユーザ端末におけるコンテンツの表示順位に従ったレコメンド情報を生成するレコメンド情報生成ステップと、前記レコメンド情報生成ステップにより生成されたレコメンド情報を送信する送信ステップと、を備え、前記転置インデックステーブル生成ステップは、あらかじめ定められた条件を満たした場合に転置インデックステーブルの生成処理を実行し、前記レコメンド情報生成ステップは、ユーザ端末からのレコメンド要求が受け付けられるたびに、表示順位の決定処理を実行する。
【００１１】
この発明によれば、レコメンド対象となるコンテンツのコンテンツ特徴ベクトルに基づいて、当該コンテンツ特徴ベクトルを構成する特徴要素ごとに、一または複数のコンテンツを対応付けた転置インデックステーブルを生成し、この転置インデックステーブルを記憶する。そして、ユーザ端末からレコメンド要求が受け付けられると、転置インデックステーブルに基づいて決定されたユーザ端末におけるコンテンツの表示順位に従ったレコメンド情報を生成し、レコメンド情報を送信する。これにより、あらかじめ定められた条件を満たした場合に転置インデックステーブルの生成処理を実行し、ユーザ端末からのレコメンド要求が受け付けられるたびに、表示順位の決定処理を実行することになる。したがって、計算時間がかかる処理については事前に終わらすことで、高速な更新処理が求められるサービスに対してもレコメンド情報の提供が可能となる。そして、一部のコンテンツのみが集中的にレコメンド対象となる場合であっても、全部のコンテンツに対して計算することはしないため、その計算リソースが無駄になるということはない、という効果を奏する。
【００１２】
また、本発明のレコメンド情報生成装置において、前記レコメンド情報生成手段は、転置インデックステーブルに基づいて、特徴要素を変えて重複して記述されているコンテンツの数である重複数を、コンテンツごとに集計する集計手段と、前記集計手段により集計された重複数を、当該コンテンツのコンテンツ特徴ベクトルを構成する特徴要素のうち任意の特徴要素に対応付けた管理リストを生成する生成手段と、前記生成手段により生成された管理リストに基づいて、ユーザ端末にて重複数の多い順にコンテンツを表示可能なようにコンテンツを抽出することでレコメンド情報を生成する抽出手段と、から構成される。
【００１３】
この発明によれば、転置インデックステーブルに基づいて、特徴要素を変えて重複して記述されているコンテンツの数である重複数を、コンテンツごとに集計し、集計された重複数を、当該コンテンツのコンテンツ特徴ベクトルを構成する特徴要素のうち任意の特徴要素に対応付けた管理リストを生成し、そして、生成された管理リストに基づいて、ユーザ端末にて重複数の多い順にコンテンツを表示可能なようにコンテンツを抽出することでレコメンド情報を生成する。このような、重複数を計数するなど簡易な演算処理を採用していることから、リアルタイム処理に適したものとなる。よって、事前に転置インデックステーブルを生成しておくことで、リアルタイム処理によりレコメンド情報を生成することができる。
【００１４】
また、本発明のレコメンド情報生成装置は、あらかじめ定められた特徴要素に基づいてコンテンツの特徴が表現されるコンテンツ特徴ベクトルを生成するコンテンツ特徴ベクトル生成手段と、  前記コンテンツ特徴ベクトル生成手段により生成されたコンテンツ特徴ベクトルを、コンテンツごとに記憶するコンテンツ特徴ベクトル記憶手段と、をさらに備え、前記転置インデックステーブル生成手段は、前記コンテンツ特徴ベクトル記憶手段に記憶されているコンテンツ特徴ベクトルを用いて転置インデックステーブルを生成する。
【００１５】
この発明によれば、あらかじめ定められた特徴要素に基づいてコンテンツの特徴が表現されるコンテンツ特徴ベクトルを生成し、生成されたコンテンツ特徴ベクトルを、コンテンツごとに記憶する。そして、記憶されているコンテンツ特徴ベクトルを用いて転置インデックステーブルを生成する。これにより、計算時間がかかる処理については事前に終わらすことで、高速な更新処理が求められるサービスに対してもレコメンド情報の提供が可能となる。
【００１６】
また、本発明のレコメンド情報生成装置において、前記転置インデックステーブル生成手段は、前記コンテンツ特徴ベクトル記憶手段に記憶されているコンテンツ特徴ベクトルの数が所定件数に達した時に、バッチ処理により所定件数に対してまとめて実行する。
【００１７】
この発明によれば、転置インデックステーブルを生成するまでの処理を、あらかじめまとまったコンテンツ特徴ベクトルに対して行うといったバッチ処理により実行することになるため、転置インデックステーブルの生成効率を向上させることができ、結果的に計算リソースを効率的に利用することができる。
【発明の効果】
【００１８】
本発明によれば、計算時間がかかる処理については事前に終わらすことで、高速な更新処理が求められるサービスに対してもレコメンド情報の提供が可能となる。そして、一部のコンテンツのみが集中的にレコメンド対象となる場合であっても、全部のコンテンツに対して計算することはしないため、その計算リソースが無駄になるということはない、という効果を奏する。
【図面の簡単な説明】
【００１９】
【図１】情報配信サーバ１００を用いたシステム構成図である。
【図２】情報配信サーバ１００の機能構成を示すブロック図である。
【図３】情報配信サーバ１００のハードウェア構成図である。
【図４】特徴辞書記憶部１０７に記憶されている特徴辞書の具体例を示す説明図である。
【図５】メタデータおよびコンテンツ特徴ベクトルを示す説明図である。
【図６】評価値ファイルを示す説明図である。
【図７】転置インデックステーブルの具体例である。
【図８】コンテンツＩＤリストの説明図である。
【図９】中間リストの説明図である。
【図１０】中間リストから最終リストへの生成過程、および最終結果であるレコメンドコンテンツのリストの生成過程を示す説明図である。
【図１１】携帯端末２００の機能を示すブロック図である。
【図１２】情報配信サーバ１００の処理を示すフローチャートである。
【発明を実施するための形態】
【００２０】
添付図面を参照しながら本発明の実施形態を説明する。可能な場合には、同一の部分には同一の符号を付して、重複する説明を省略する。
【００２１】
図１は、本実施形態におけるレコメンド情報生成装置である情報配信サーバ１００を用いたシステム構成図である。図１に示される通り、情報配信サーバ１００は、携帯端末２００とネットワークを介して通信接続して、携帯端末２００のユーザの好み等に沿ったコンテンツを送信することができる。なお、携帯端末２００は、携帯電話やスマートフォンであるが、これに限るものではなく、パソコンや、そのほかタブレット端末などであってもよい。
【００２２】
図２は、本実施形態の情報配信サーバ１００の機能構成を示すブロック図である。この情報配信サーバ１００は、コンテンツ特徴ベクトル生成部１０１（コンテンツ特徴ベクトル生成手段）、転置インデックス生成部１０２（転置インデックステーブル生成手段）、コンテンツ特徴ベクトル取得部１０３、レコメンドコンテンツ取得部１０４（レコメンド情報生成手段、集計手段、生成手段、抽出手段）、レコメンドコンテンツ送信部１０５（送信手段）、メタデータ記憶部１０６、特徴辞書記憶部１０７、コンテンツ特徴ベクトル記憶部１０８（コンテンツ特徴ベクトル記憶手段）、および転置インデックス記憶部１０９（転置インデックス記憶手段）を含んで構成されている。
【００２３】
図３は、情報配信サーバ１００のハードウェア構成図である。図２に示される情報配信サーバ１００は、物理的には、図３に示すように、一または複数のＣＰＵ１１、主記憶装置であるＲＡＭ１２及びＲＯＭ１３、入力デバイスであるキーボード及びマウス等の入力装置１４、ディスプレイ等の出力装置１５、ネットワークカード等のデータ送受信デバイスである通信モジュール１６、ハードディスクまたは半導体メモリ等の補助記憶装置１７などを含むコンピュータシステムとして構成されている。図２における各機能は、図３に示すＣＰＵ１１、ＲＡＭ１２等のハードウェア上に所定のコンピュータソフトウェアを読み込ませることにより、ＣＰＵ１１の制御のもとで入力装置１４、出力装置１５、通信モジュール１６を動作させるとともに、ＲＡＭ１２や補助記憶装置１７におけるデータの読み出し及び書き込みを行うことで実現される。以下、図２に示す機能ブロックに基づいて、各機能ブロックを説明する。
【００２４】
コンテンツ特徴ベクトル生成部１０１は、メタデータ記憶部１０６に記憶されている各コンテンツのメタデータおよび特徴辞書記憶部１０７に記憶されている特徴辞書に基づいて、コンテンツ特徴ベクトルを生成する部分である。生成したコンテンツ特徴ベクトルは、コンテンツ特徴ベクトル記憶部１０８に記憶される。なお、このコンテンツ特徴ベクトル生成部１０１は、コンテンツの登録がコンテンツ提供者からなされると、すなわち、コンテンツ提供者からコンテンツ及びそのメタデータを受信すると、特徴辞書に基づいてコンテンツ特徴ベクトルを生成することになる。
【００２５】
ここで、図面を用いて、コンテンツ特徴ベクトルの生成について説明する。図４は、特徴辞書記憶部１０７に記憶されている特徴辞書の具体例を示す説明図である。この特徴辞書は、特徴要素、マッチング対象、およびマッチング情報から構成されている。ここで特徴要素は、特徴ベクトルで表現した時の各要素を表すものであり、そのＩＤとその特徴を表す内容とからなる。図４では、特徴要素を表す内容である“メジャー”に対してＩＤ：１が割り振られている。マッチング対象は、コンテンツの特徴を表現する際のマッチングの対象となるコンテンツ内の情報について規定するものであり、コンテンツのうちどの部分をマッチング情報のマッチング対象とするかを示す情報である。図４においては、“メジャー”という特徴要素のマッチング対象として“説明文”が記述されており、メタデータの“説明文”欄に“メジャー”という単語が記述されているか否かが判断されることになる。
【００２６】
さらに、マッチング情報は、マッチングする対象のキーワードと、このキーワードと特徴要素との間の重要度を示す値とを示している。このマッチング情報は、いわゆる表記ゆれを調整するための情報であり、例えば、野球用語において“メジャー”には、“大リーグ”という言い方もあるが、実質的に同じ意味である。このような同じ意味を指す単語をマッチング情報において対応付けておき、その重要度の値を若干変えることにより、その表記ゆれをベクトルでの表現に反映させることができる。図４では、“メジャー”に対して値：１対応付けられているが、“大リーグ”に対しては、値：０．５が対応付けられている。ここから分かるように特徴要素そのものではない単語については、その重要度の値を下げることにより、コンテンツ特徴ベクトルにおける表現を弱めている。
【００２７】
つぎに、コンテンツのメタデータについて説明する。図５（ａ）は、コンテンツのメタデータを示す説明図であり、図５（ｂ）および図５（ｃ）は、メタデータに基づいて生成されたコンテンツ特徴ベクトルの一例を示す説明図である。
【００２８】
図５（ａ）に示されるようにメタデータは、コンテンツＩＤ、カテゴリおよび説明文から構成されている。ここでコンテンツＩＤは、コンテンツを識別するための識別番号であり、カテゴリは、コンテンツの種別を示し、説明文は、コンテンツの概要を示している。
【００２９】
コンテンツ特徴ベクトル生成部１０１は、このメタデータと特徴辞書とを用いて、図５（ｂ）に示されるコンテンツ特徴ベクトルを生成する。図５（ｂ）では、コンテンツＩＤごとにその特徴ベクトルを構成する数値が記述されており、ここでは、メジャー、不動産、ドラマ・・・などを特徴要素とするコンテンツ特徴ベクトルを生成することになる。
【００３０】
図５（ｃ）は、図５（ｂ）で示されているコンテンツ特徴ベクトルに対して正規化したコンテンツ特徴ベクトルを示す。正規化処理は、一般的に行われているものを流用することができる。このコンテンツ特徴ベクトル生成部１０１は、生成したコンテンツ特徴ベクトルに対してさらに正規化処理を施したコンテンツ特徴ベクトルを生成し、これをコンテンツ特徴ベクトル記憶部１０８に記憶する。なお、正規化処理は必須の処理ではなく、省略してもよい。
【００３１】
転置インデックス生成部１０２は、コンテンツ特徴ベクトル記憶部１０８に記憶されている任意またはすべてのコンテンツ特徴ベクトルから、特徴要素ごとに、コンテンツを関連付けた転置インデックステーブルを生成する部分である。ここで、コンテンツ特徴ベクトルは、数百から数千次元からなる特徴要素で構成されている。各コンテンツは、各特徴要素が示す性質が表現される場合には、それら特徴要素には０より大きい数値が記述されることになる。上述転置インデックス生成部１０２は、特徴要素ごとに、その特徴要素に０より大きい数値が記述されているコンテンツのコンテンツＩＤを対応付けた転置インデックステーブルを生成して、これを転置インデックス記憶部１０９に記憶する。
【００３２】
図を用いて転置インデックステーブルの生成方法について説明する。まず、その生成方法に先立って、転置インデックステーブルを生成するために使用される評価値ファイルについて説明する。図６は、評価値ファイルを示す説明図である。図６に示される通り、この評価値ファイルは、特徴ＩＤ、コンテンツＩＤおよび評価値を関連付けたものである。この評価値ファイルは、特徴ＩＤとコンテンツＩＤとの組み合わせに対する評価値を示すものであって、転置インデックステーブルにおけるコンテンツの優先順位を決定する際に使用されるものである。例えば、ある特徴ＩＤに対して、コンテンツＩＤを対応付ける際、その評価値に基づいてコンテンツＩＤで示されるコンテンツの優先順位を決定するのに用いられる。この評価値ファイルは、あらかじめコンテンツの提供者からの情報に基づいて、レコメンドサービスのオペレータにより作成される。
【００３３】
そして、転置インデックス生成部１０２は、特徴要素ごとに、コンテンツの対応付けを行うことにより転置インデックステーブルを生成する。すなわち、転置インデックス生成部１０２は、特徴ＩＤごとに、その特徴ＩＤで示される特徴要素が０より大きい値が設定されているコンテンツ特徴ベクトルのコンテンツＩＤを抽出し、これを評価値ファイルで示されている評価値順に対応付ける処理を行う。
【００３４】
図７は、転置インデックステーブルの具体例である。図７に示される通り、この転置インデックステーブルは、特徴要素を識別する特徴要素ごとに、一または複数のコンテンツのコンテンツＩＤを対応付けたものである。コンテンツＩＤ欄においては、複数のコンテンツＩＤが記述されており、これは、評価値ファイルで示される評価値に基づいた順番で記述されている。例えば、評価値ファイルにおいて、特徴ＩＤ：１に対応するコンテンツＩＤ：１１の評価値を０．２５とし、特徴ＩＤ：１に対応するコンテンツＩＤ：２１の評価値を０．２０とした場合、コンテンツＩＤ：１１の評価値の方が高いため、コンテンツＩＤ：２１より前に記述されることになる。
【００３５】
転置インデックス生成部１０２は、このような処理を経て転置インデックステーブルを生成することになる。生成された転置インデックステーブルは、転置インデックス記憶部１０９に記憶される。なお、転置インデックス生成部１０２は、バッチ処理により、事前にその転置インデックステーブルを生成しておくものである。例えば、コンテンツ特徴ベクトル記憶部１０８に記憶されるコンテンツ特徴ベクトルが所定件数に達した場合や、月に１回などの所定の条件を満たした場合に転置インデックステーブルを生成し、転置インデックス記憶部１０９の転置インデックステーブルを更新する。
【００３６】
引き続き図２における各構成について説明する。コンテンツ特徴ベクトル取得部１０３は、ユーザからのレコメンド要求（すなわち検索要求）がなされると、そのレコメンド要求に応じたレコメンドコンテンツを生成するために、コンテンツ特徴ベクトル記憶部１０８から所定の規則に基づいて定められたコンテンツのコンテンツ特徴ベクトルを取得する部分である。例えば、あるサイトにあるコンテンツを閲覧する際、そのコンテンツに基づいたレコメンドコンテンツを生成するため、当該コンテンツのコンテンツ特徴ベクトルを取得する。なお、ここでは、一のコンテンツ特徴ベクトルを取得することとするが、例えば、そのコンテンツに類似する一または複数のコンテンツのコンテンツ特徴ベクトルを合わせて取得してもよい。類似の判断は、例えばコンテンツ特徴ベクトルの内積をとることにより行うことができる。
【００３７】
レコメンドコンテンツ取得部１０４は、コンテンツ特徴ベクトル取得部１０３により取得されたコンテンツ特徴ベクトルに基づいて、特徴要素の識別番号である特徴ＩＤを抽出する。この特徴ＩＤの抽出の仕方としては、コンテンツ特徴ベクトルにおいて０より大きい数値が記述されている特徴ＩＤを抽出する。そして、この特徴ＩＤをキーにして、転置インデックス記憶部１０９からレコメンド用コンテンツを取得するために、特徴ＩＤに対応する一または複数のコンテンツＩＤを抽出する。すなわち、抽出された特徴ＩＤに対応付けられているコンテンツＩＤをさらに抽出して、特徴ＩＤとコンテンツＩＤとを対応付けたコンテンツＩＤリストを生成する。
【００３８】
さらに、レコメンドコンテンツ取得部１０４は、携帯端末２００において表示する一または複数のコンテンツを、生成されたコンテンツＩＤリストから順に抽出する。すなわち、レコメンドコンテンツ取得部１０４は、コンテンツＩＤリストから所定の規則に従った順序でコンテンツを抽出する。
【００３９】
この抽出処理について以下に詳細に説明する。まず、レコメンドコンテンツ取得部１０４は、図８に示されるように、転置インデックステーブルに基づいて特徴ＩＤごとに対応するコンテンツＩＤのリストを生成する。
【００４０】
図８は、転置インデックステーブルに基づいて生成された特徴ＩＤごとに対応するコンテンツＩＤを示すコンテンツＩＤリストの説明図である。上述した通り、このコンテンツＩＤリストは、レコメンドの元となったコンテンツ（例えば閲覧されたコンテンツ）の特徴要素に基づいて生成されたものであり、図８においては、説明を簡易にするために、特徴ＩＤとして、featureId_a〜featureId_cの３つが抽出されたものとしており、その順番でリストが形成されている。ここでは、便宜上、特徴ＩＤ：featureId_aが、重要度が高く、featureId_b、featureId_cになるにつれて、重要度が低く設定されているものとする。この重要度は、それぞれの特徴ＩＤに関連付けられている。
【００４１】
この図８において、特徴ＩＤ：featureId_aには、コンテンツＩＤ：contentsId_2、contentsId_5、contentsId_6が対応付けられている。また、同様に、特徴ＩＤ：featureId_bには、コンテンツＩＤ：contentsId_3、contentsId_5、contentsId_1が対応付けられており、特徴ＩＤ：featureId_cには、コンテンツＩＤ：contentsId_5、contentsId_1、contentsId_4が対応付けられている。いずれのコンテンツＩＤも、転置インデックステーブルに基づいて抽出されたものである。
【００４２】
つぎに、レコメンドコンテンツ取得部１０４は、図８におけるコンテンツＩＤリストに、同一のコンテンツＩＤが複数出現している場合、その数を重複数として計数する。そして、そのコンテンツＩＤリストに重複数欄を追加した中間リストを生成する。
【００４３】
図９は、その中間リストの具体例を示す説明図である。この中間リストは、特徴ＩＤとコンテンツＩＤとの管理のための管理リストであって、特徴ＩＤ、コンテンツＩＤ、および重複数を対応付けて記憶している。
【００４４】
図９において、コンテンツＩＤ：contentsId_5の重複数は３である。ここでは、特徴ＩＤ：featureId_a〜featureId_cのそれぞれにコンテンツＩＤ：contentsId_5が出現していることから、それぞれを計数することにより重複数を３と算出することができる。
【００４５】
そして、レコメンドコンテンツ取得部１０４は、この中間リストをさらに加工して最終リストを生成する。図１０は、中間リストから最終リストへの生成過程、および最終結果であるレコメンドコンテンツのリストの生成過程を示す。
【００４６】
図１０（ａ）は、中間リストにおいて、同一コンテンツＩＤを削除したことを示す説明図である。図に示される通り、コンテンツＩＤ：contentsId_5が、特徴ＩＤ：featureId_a、featureId_bおよびfeatureId_cのいずれに出現していることから上位の特徴ＩＤ：featureId_aのコンテンツＩＤ：contentuId_5にのみ重複数として３を対応付けるように記述し、特徴ＩＤ：featureId_bおよびfeatureId_cの欄は削除される。図１０（ａ）においては、取り消し線によって、削除状態を示している。
【００４７】
図１０（ｂ）は、その削除処理がなされたコンテンツＩＤリストの最終リストである。図から明らかなとおり、コンテンツＩＤ：contentsId_5やcontentsId_1が、それぞれ特徴ＩＤ:featureId_bや、特徴ＩＤ:featureId_cとの対応付から削除されている。
【００４８】
そして、レコメンドコンテンツ取得部１０４は、図１０（ｂ）のコンテンツＩＤリストの最終リストに基づいて、レコメンドコンテンツとしてのコンテンツを順に選択することにより、携帯端末２００における表示順位を決定する。すなわち、この最終リストは、特徴ＩＤの上位順にコンテンツＩＤが並べられるとともに、さらに同一特徴ＩＤ欄内においては、その重複数の多い順にコンテンツＩＤが並べられている。レコメンドコンテンツ取得部１０４は、あらかじめ定められた上位所定件数のコンテンツＩＤを選択することにより、その表示順を決定することができる。
【００４９】
なお、最終リストからのコンテンツの抽出方法は、上述以外に、重複数の多いコンテンツＩＤを優先してもよい。すなわち。重複数の多い順にコンテンツＩＤを抽出し、その後、特徴ＩＤが上位のものを順に抽出するようにしてもよい。
【００５０】
図１０（ｂ）においては、最上位に位置する特徴ＩＤ：featureId_aに対応するコンテンツＩＤ：contentsId_5の重複数が一番多く、その次に並んでいるものはコンテンツＩＤ：contentsId_2およびcontentsId_6であり、重複数は１である。
【００５１】
また、特徴ＩＤ：featureId_aの次の序列にあるものは、特徴ＩＤ：featureId_bであり、その同一特徴ＩＤ欄内においては、コンテンツＩＤ：contentsId_1およびcontentsId_3が重複数の多い順に並んでいる。さらにその次の序列の特徴ＩＤについても同様である。
【００５２】
レコメンドコンテンツ取得部１０４は、このように特徴ＩＤ順および重複数順に並んでいるコンテンツの上位所定件数を、順に選択することにより、レコメンドコンテンツとしての表示順を決定することができる。本実施形態では、図１０（ｃ）に示される通り、上位５件分のコンテンツＩＤが選択される。そして、レコメンドコンテンツ取得部１０４は、このように選択されたコンテンツＩＤに対応するコンテンツをその表示順に、レコメンドコンテンツとして取得する。
【００５３】
レコメンドコンテンツ送信部１０５は、レコメンドコンテンツ取得部１０４により抽出されたコンテンツを順に、レコメンドコンテンツとして携帯端末２００に送信する部分である。
【００５４】
つぎに、上述情報配信サーバ１００に対してレコメンドコンテンツの要求を行う携帯端末２００について説明する。図１１は、携帯端末２００の機能を示すブロック図である。図１１に示される通り、携帯端末２００は、ブラウザ２０１、履歴送信部２０２、レコメンド要求送信部２０３、および配信情報表示部２０４を含んで構成されている。この携帯端末２００は、図３に示されるハードウェア構成により実現されるものであり、ＣＰＵ、ＲＡＭ、ＲＯＭ等を備えたコンピュータシステムにより実現されるものである。以下、各構成要素について説明する。
【００５５】
ブラウザ２０１は、インターネット等を介して各種コンテンツを閲覧するための部分である。一般的にはアプリケーションにより構成されているものである。
【００５６】
履歴送信部２０２は、ブラウザ２０１により実行された検索要求または閲覧要求からなる履歴情報を外部に送信する部分である。
【００５７】
レコメンド要求送信部２０３は、情報配信サーバ１００に対してレコメンド要求を送信する部分である。レコメンド要求そのものを送信してもよいし、ブラウザ２０１においてあるコンテンツが閲覧された際に、そのコンテンツに関連するレコメンド要求を送信するようにしてもよい。
【００５８】
配信情報表示部２０４は、レコメンド要求送信部２０３により送信されたレコメンド要求に対するレコメンド情報を受信して表示する部分である。ここでは、上述した通りにコンテンツの表示順位についての処理がなされたレコメンドコンテンツをその表示順位で表示する。
【００５９】
つぎに、このように構成された情報配信サーバ１００および携帯端末２００の処理について説明する。図１２は、情報配信サーバ１００の処理を示すフローチャートである。
【００６０】
情報配信サーバ１００において、コンテンツの提供者からコンテンツの登録がなされると（Ｓ１０１）、コンテンツ特徴ベクトル生成部１０１によりコンテンツ特徴ベクトルの生成が行われる（Ｓ１０２）。そして、コンテンツ特徴ベクトル記憶部１０８に、生成されたコンテンツ特徴ベクトルが記憶される（Ｓ１０３）。
【００６１】
つぎに、転置インデックス生成部１０２により、転置インデックステーブルが生成され（Ｓ１０４）、転置インデックス記憶部１０９に、転置インデックステーブルが記憶される（Ｓ１０５）。このＳ１０４の処理は、Ｓ１０３からの一連の処理としてもよいし、ある程度コンテンツ特徴ベクトルが蓄積された後に、転置インデックステーブルが生成されるようにしてもよい。
【００６２】
このＳ１０１からＳ１０５までの処理は、レコメンドコンテンツの生成処理の前に行われるものであり、いわゆるバッチ処理により実行される。
【００６３】
つぎに、このようにして生成された転置インデックステーブルに基づいて、レコメンドコンテンツが生成される。
【００６４】
まず、携帯端末２００からのレコメンドコンテンツ要求が受信されると（Ｓ２０１）、コンテンツ特徴ベクトル取得部１０３により、コンテンツ特徴ベクトル記憶部１０８から一または複数のコンテンツ特徴ベクトルが取得される（Ｓ２０２）。そして、レコメンドコンテンツ取得部１０４により、転置インデックステーブルに基づいてコンテンツＩＤリストが生成される（Ｓ２０３）。ここでは、図８に示されるコンテンツＩＤリストが取得される。
【００６５】
そして、レコメンドコンテンツ取得部１０４により、コンテンツの抽出処理が実行される（Ｓ２０４）。すなわち、図８のコンテンツＩＤリストから、コンテンツＩＤの重複数などが求められ、その中間リストが生成される（図９参照）。つぎに、その重複数に基づいて整理されたコンテンツＩＤリストである最終リスト（図１０（ｂ）参照）が生成され、その最終リストに基づいて、レコメンドコンテンツとしてのコンテンツが抽出される（図１０（ｃ）参照）。
【００６６】
そして、抽出されたコンテンツは、レコメンドコンテンツとしてレコメンドコンテンツ送信部１０５により携帯端末２００に対して送信される（Ｓ２０５）。
【００６７】
このようにして、バッチ処理により転置インデックステーブルを生成し、その後に、レコメンド要求が来るたびに、リアルタイム処理により、転置インデックステーブルを用いたレコメンド処理を行うことができる。
【００６８】
つぎに、本実施形態の情報配信サーバ１００の作用効果について説明する。本実施形態の情報配信サーバ１００によれば、コンテンツ特徴ベクトル生成部１０１は、あらかじめ定められた特徴要素に基づいてコンテンツの特徴が表現されるコンテンツ特徴ベクトルを生成し、コンテンツ特徴ベクトル記憶部１０８は、生成されたコンテンツ特徴ベクトルを、コンテンツごとに記憶する。そして、転置インデックス生成部１０２は、コンテンツ特徴ベクトル記憶部１０８に記憶されたコンテンツ特徴ベクトルを構成する特徴要素ごとに、当該特徴要素で特徴付けられるコンテンツをそれぞれ選択し、選択されたコンテンツのそれぞれを当該特徴要素に対応付けた転置インデックステーブルを生成する。転置インデックス記憶部１０９は、生成された転置インデックステーブルを記憶する。このコンテンツ特徴ベクトルの生成から転置インデックステーブルの生成までの処理は、携帯端末２００からのレコメンド要求を受け付ける前に終わらせておく。
【００６９】
つぎに、レコメンド要求受付部（図示せず）により、ユーザ端末からレコメンド要求が受け付けられると、レコメンドコンテンツ取得部１０４は、転置インデックス記憶部１０９に記憶されている転置インデックステーブルから、重複して記述されているコンテンツの数を、コンテンツごとに集計する。
【００７０】
そして、レコメンドコンテンツ取得部１０４は、集計されたコンテンツの数を、当該コンテンツのコンテンツ特徴ベクトルを構成する特徴要素のうち任意の特徴要素（本実施形態では、最上位の特徴要素）に対応付ける中間リストを生成する。そして、レコメンドコンテンツ取得部１０４は、この中間リストから最終リストを生成して、ユーザ端末にて重複数が多い順にコンテンツを表示可能なように、コンテンツを抽出する。レコメンドコンテンツ送信部１０５は、抽出されたコンテンツを携帯端末２００において表示されるよう、コンテンツを送信する。
【００７１】
これにより、計算時間がかかる処理については事前に終わらすことができ、高速な更新処理が求められるサービスに対しても利用することが可能となる。そして、一部のコンテンツのみが集中的にレコメンド対象となる場合であっても、全部のコンテンツに対して計算するわけではないため、その計算リソースが無駄になるということはない、という効果を奏する。
【００７２】
また、本実施形態の情報配信サーバ１００において、転置インデックス生成部１０２は、コンテンツ特徴ベクトル記憶部１０８に記憶されているコンテンツ特徴ベクトルが所定件数に達した時に、バッチ処理により所定件数に対してまとめて実行する、ようにしてもよい。
【００７３】
これにより、転置インデックステーブルを生成するまでの処理を、あらかじめまとまったコンテンツ特徴ベクトルに対して行うといったバッチ処理により実行することになるため、転置インデックステーブルの生成効率を向上させることができ、結果的に計算リソースを効率的に利用することができる。
【００７４】
なお、上述以外の条件として、所定周期ごとや、所定時刻または所定日時、そのほか、本レコメンドサービスを提要するオペレータの指示に従って、転置インデックステーブルを生成するようにしてもよい。
【符号の説明】
【００７５】
１００…情報配信サーバ、１０１…コンテンツ特徴ベクトル生成部、１０２…転置インデックス生成部、１０３…コンテンツ特徴ベクトル取得部、１０４…レコメンドコンテンツ取得部、１０５…レコメンドコンテンツ送信部、１０６…メタデータ記憶部、１０７…特徴辞書記憶部、１０８…コンテンツ特徴ベクトル記憶部、１０９…転置インデックス記憶部、２００…携帯端末、２０１…ブラウザ、２０２…履歴送信部、２０３…レコメンド要求送信部、２０４…配信情報表示部。
【図１】
2015106346.tif 000003
【図２】
2015106346.tif 000004
【図３】
2015106346.tif 000005
【図４】
2015106346.tif 000006
【図５】
2015106346.tif 000007
【図６】
2015106346.tif 000008
【図７】
2015106346.tif 000009
【図８】
2015106346.tif 000010
【図９】
2015106346.tif 000011
【図１０】
2015106346.tif 000012
【図１１】
2015106346.tif 000013
【図１２】
2015106346.tif 000014