(57)【特許請求の範囲】
【請求項１】
対象ユーザが過去に選択した第１のコンテンツに含まれる第１の種類の情報に基づいて第１の特徴量を生成する第１特徴量生成部と、
前記第１のコンテンツを選択した後に前記対象ユーザが選択した第２のコンテンツに含まれる第２の種類の情報に基づいて第２の特徴量を生成する第２特徴量生成部と、
前記第１特徴量生成部により生成された第１の特徴量と、前記第２特徴量生成部により生成された第２の特徴量とに基づき、前記第１のコンテンツと前記第２のコンテンツとの間の関係を示す関係特徴量を生成する関係特徴量生成部と、
前記対象ユーザが新たに選択したコンテンツに含まれる前記第１の種類の情報に対応する第１の特徴量と、前記関係特徴量生成部により生成された関係特徴量とを用いて、前記対象ユーザに推薦するコンテンツを検索する推薦コンテンツ検索部と、
を備える、
コンテンツ推薦装置。
【請求項２】
前記推薦コンテンツ検索部は、
前記第１特徴量生成部により生成された第１の特徴量の中から、前記対象ユーザが新たに選択したコンテンツに含まれる前記第１の種類の情報に対応する第１の特徴量を抽出する第１の処理を実行し、前記関係特徴量生成部により生成された関係特徴量の中から、前記第１の処理で抽出した第１の特徴量に対応する関係特徴量を抽出する第２の処理を実行し、前記第２の処理で抽出した関係特徴量を用いて、前記対象ユーザに推薦するコンテンツを検索する、
請求項１に記載のコンテンツ推薦装置。
【請求項３】
前記第１の特徴量は、
前記第１の種類の情報を構成する複数の情報要素を含み、前記第１のコンテンツを特徴付ける第１の特徴ベクトルにより表現され、
前記第２の特徴量は、
前記第２の種類の情報を構成する複数の情報要素を含み、前記第２のコンテンツを特徴付ける第２の特徴ベクトルにより表現され、
請求項１または２に記載のコンテンツ推薦装置。
【請求項４】
前記第１特徴量生成部は、
前記対象ユーザが前記第１のコンテンツを選択した順序を考慮して前記第１の特徴量を生成する、
請求項１〜３のいずれか一項に記載のコンテンツ推薦装置。
【請求項５】
前記第１特徴量生成部は、
前記第１のコンテンツが有するメタデータの構造を参照して前記第１の種類に対応するメタデータが付与された領域から情報を取得し、
前記第２特徴量生成部は、
前記第２のコンテンツが有するメタデータの構造を参照して前記第２の種類に対応するメタデータが付与された領域から情報を取得する、
請求項１〜４のいずれか一項に記載のコンテンツ推薦装置。
【請求項６】
前記関係特徴量生成部により生成された複数の前記関係特徴量を前記対象ユーザに提示し、当該対象ユーザに前記関係特徴量を選択させる関係選択要求部をさらに備え、
前記推薦コンテンツ検索部は、
前記対象ユーザにより前記関係特徴量が選択された場合に、前記対象ユーザにより選択された関係特徴量を用いて、前記対象ユーザに推薦するコンテンツを検索する、
請求項１〜５のいずれか一項に記載のコンテンツ推薦装置。
【請求項７】
前記推薦コンテンツ検索部は、
前記第１のコンテンツと前記第２のコンテンツとの間の関係の強さに応じたスコアを算出し、算出したスコアを考慮して前記対象ユーザに推薦するコンテンツを検索する、
請求項１〜５のいずれか一項に記載のコンテンツ推薦装置。
【請求項８】
前記第１特徴量生成部は、
前記対象ユーザが新たにコンテンツを選択する以前に前記第１の特徴量を生成し、
前記第２特徴量生成部は、
前記対象ユーザが新たにコンテンツを選択する以前に前記第２の特徴量を生成し、
前記関係特徴量生成部は、
前記対象ユーザが新たにコンテンツを選択する以前に前記関係特徴量を生成する、
請求項１〜７のいずれか一項に記載のコンテンツ推薦装置。
【請求項９】
前記推薦コンテンツ検索部は、
前記対象ユーザが新たにコンテンツを選択する以前に、前記第１の種類の情報に対応する所定の情報を用いて、当該所定の情報に対応する第１の特徴量を抽出する第１の処理を実行し、前記関係特徴量生成部により生成された関係特徴量の中から、前記第１の処理で抽出した第１の特徴量に対応する関係特徴量を抽出する第２の処理を実行し、前記第２の処理で抽出した関係特徴量のスコアを算出する第３の処理を実行し、
前記対象ユーザが新たにコンテンツを選択した場合に、前記対象ユーザが新たに選択したコンテンツに含まれる前記第１の種類の情報に対応する前記所定の情報を抽出する第３の処理を実行し、前記第３の処理で抽出した所定の情報に対応する関係特徴量のスコアに基づいて、前記対象ユーザに推薦するコンテンツを検索する、
請求項１〜８のいずれか一項に記載のコンテンツ推薦装置。
【請求項１０】
前記第１及び第２のコンテンツと、前記対象ユーザが新たに選択したコンテンツとは、互いに異なるカテゴリに属する、
請求項１〜９のいずれか一項に記載のコンテンツ推薦装置。
【請求項１１】
前記第１特徴量生成部は、対象ユーザが過去に選択した、時系列に沿った複数の第１のコンテンツに含まれる第１の種類の情報に基づいて第１の特徴量を生成する、
請求項１〜１０のいずれか一項に記載のコンテンツ推薦装置。
【請求項１２】
対象ユーザが過去に選択した第１のコンテンツに含まれる第１の種類の情報に基づいて生成された第１の特徴量と、前記第１のコンテンツを選択した後に前記対象ユーザが選択した第２のコンテンツに含まれる第２の種類の情報に基づいて生成された第２の特徴量とに基づいて生成された、前記第１のコンテンツと前記第２のコンテンツとの間の関係を示す第３の特徴量と、が格納された特徴量格納部と、
前記対象ユーザが新たに選択したコンテンツに含まれる前記第１の種類の情報に対応する第１の特徴量と、前記特徴量格納部に格納された第３の特徴量とを用いて、前記対象ユーザに推薦するコンテンツを検索する推薦コンテンツ検索部と、
を備える、
コンテンツ推薦装置。
【請求項１３】
コンピュータのプロセッサが、
対象ユーザが過去に選択した第１のコンテンツに含まれる第１の種類の情報に基づいて第１の特徴量を生成する第１特徴量生成ステップと、
前記第１のコンテンツを選択した後に前記対象ユーザが選択した第２のコンテンツに含まれる第２の種類の情報に基づいて第２の特徴量を生成する第２特徴量生成ステップと、
前記第１特徴量生成ステップで生成された第１の特徴量と、前記第２特徴量生成ステップで生成された第２の特徴量とに基づき、前記第１のコンテンツと前記第２のコンテンツとの間の関係を示す関係特徴量を生成する関係特徴量生成ステップと、
前記対象ユーザが新たに選択したコンテンツに含まれる前記第１の種類の情報に対応する第１の特徴量と、前記関係特徴量生成ステップで生成された関係特徴量とを用いて、前記対象ユーザに推薦するコンテンツを検索する推薦コンテンツ検索ステップと、
を含む、
推薦コンテンツの検索方法。
【請求項１４】
対象ユーザが過去に選択した第１のコンテンツに含まれる第１の種類の情報に基づいて第１の特徴量を生成する第１特徴量生成機能と、
前記第１のコンテンツを選択した後に前記対象ユーザが選択した第２のコンテンツに含まれる第２の種類の情報に基づいて第２の特徴量を生成する第２特徴量生成機能と、
前記第１特徴量生成機能により生成された第１の特徴量と、前記第２特徴量生成機能により生成された第２の特徴量とに基づき、前記第１のコンテンツと前記第２のコンテンツとの間の関係を示す関係特徴量を生成する関係特徴量生成機能と、
前記対象ユーザが新たに選択したコンテンツに含まれる前記第１の種類の情報に対応する第１の特徴量と、前記関係特徴量生成機能により生成された関係特徴量とを用いて、前記対象ユーザに推薦するコンテンツを検索する推薦コンテンツ検索機能と、
をコンピュータに実現させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本技術は、コンテンツ推薦装置、推薦コンテンツの検索方法、及びプログラムに関する。
【背景技術】
【０００２】
近年、ネットワークを利用したビジネスが急拡大している。例えば、オンラインで商品を購入することが可能なオンラインストアなどのシステムは広く一般に利用されている。こうしたオンラインストアの多くには、ユーザに商品を推薦する仕組みが設けられている。例えば、ある商品の詳細情報をユーザが閲覧すると、その商品に関連する商品の情報が推薦商品としてユーザに提示される。
【０００３】
このような仕組みは、例えば、下記の特許文献１に記載されている協調フィルタリングなどの方法を利用して実現される。この協調フィルタリングとは、多くのユーザの嗜好情報に基づき、嗜好の似たユーザの情報を利用して自動的に推薦を行う方法である。この協調フィルタリングを用いると、購入履歴のない新規ユーザに対しても推薦結果を提供することが可能になる。
【０００４】
また、商品の推薦には、コンテンツベースフィルタリングと呼ばれる方法が利用されることもある。このコンテンツベースフィルタリングとは、コンテンツの属性とユーザの好みとをマッチングさせて関連コンテンツを推薦する方法である。このコンテンツベースフィルタリングは協調フィルタリングに比べ、推薦システムを利用しているユーザ数が少ない状況でも精度良く推薦結果を提供することができる。但し、対象ユーザが好むコンテンツを判別するための情報（例えば、購入履歴やコンテンツのメタ情報など）が少ない状況では、コンテンツベースフィルタリングを用いて精度の良い推薦結果を得るのは難しい。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００３−１６７９０１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
協調フィルタリング及びコンテンツベースフィルタリングは、それぞれ長所と短所とを有している。例えば、コンテンツベースフィルタリングは、ユーザの嗜好を反映させた推薦を実現できるという長所を有する。その反面、コンテンツベースフィルタリングは、ユーザの嗜好に適合した特定の情報ばかりが推薦されるような状況を生じさせ、ユーザにとって新鮮な情報が推薦されなくなってしまうという短所を有する。一方、協調フィルタリングは、他のユーザが嗜好する新しい情報をユーザに提供することができるという長所を有する。しかし、他のユーザが嗜好する新しい情報が推薦対象となるユーザの嗜好に適合しないこともある。つまり、協調フィルタリングは、ユーザの嗜好に適合しない情報をそのユーザに提供する可能性を含むという短所を有する。
【０００７】
そこで、本技術は、上記のような事情を受けて考案されたものであり、ユーザの嗜好に適合する新しい情報を含んだコンテンツをそのユーザに提供することが可能な、新規かつ改良されたコンテンツ推薦装置、推薦コンテンツの検索方法、及びプログラムを提供することを意図している。
【課題を解決するための手段】
【０００８】
本技術のある観点によれば、対象ユーザが過去に選択した第１のコンテンツに含まれる第１の種類の情報に基づいて第１の特徴量を生成する第１特徴量生成部と、前記第１のコンテンツを選択した後に前記対象ユーザが選択した第２のコンテンツに含まれる第２の種類の情報に基づいて第２の特徴量を生成する第２特徴量生成部と、前記第１特徴量生成部により生成された第１の特徴量と、前記第２特徴量生成部により生成された第２の特徴量とに基づき、前記第１のコンテンツと前記第２のコンテンツとの間の関係を示す関係特徴量を生成する関係特徴量生成部と、前記対象ユーザが新たに選択したコンテンツに含まれる前記第１の種類の情報と、前記関係特徴量生成部により生成された関係特徴量とを用いて、前記対象ユーザに推薦するコンテンツを検索する推薦コンテンツ検索部と、を備える、コンテンツ推薦装置が提供される。
【０００９】
また、前記推薦コンテンツ検索部は、前記第１特徴量生成部により生成された第１の特徴量の中から、前記対象ユーザが新たに選択したコンテンツに含まれる前記第１の種類の情報に対応する第１の特徴量を抽出する第１の処理を実行し、前記関係特徴量生成部により生成された関係特徴量の中から、前記第１の処理で抽出した第１の特徴量に対応する関係特徴量を抽出する第２の処理を実行し、前記第２の処理で抽出した関係特徴量を用いて、前記対象ユーザに推薦するコンテンツを検索する、ように構成されていてもよい。
【００１０】
また、前記第１の特徴量は、前記第１の種類の情報を構成する複数の情報要素を含み、前記第１のコンテンツを特徴付ける第１の特徴ベクトルにより表現されていてもよい。さらに、前記第２の特徴量は、前記第２の種類の情報を構成する複数の情報要素を含み、前記第２のコンテンツを特徴付ける第２の特徴ベクトルにより表現されていてもよい。
【００１１】
また、前記第１特徴量生成部は、前記対象ユーザが前記第１のコンテンツを選択した順序を考慮して前記第１の特徴量を生成するように構成されていてもよい。
【００１２】
また、前記第１特徴量生成部は、前記第１のコンテンツが有するメタデータの構造を参照して前記第１の種類に対応するメタデータが付与された領域から情報を取得するように構成されていてもよい。さらに、前記第２特徴量生成部は、前記第２のコンテンツが有するメタデータの構造を参照して前記第２の種類に対応するメタデータが付与された領域から情報を取得するように構成されていてもよい。
【００１３】
また、上記のコンテンツ推薦装置は、前記関係特徴量生成部により生成された複数の前記関係特徴量を前記対象ユーザに提示し、当該対象ユーザに前記関係特徴量を選択させる関係選択要求部をさらに備えていてもよい。この場合、前記推薦コンテンツ検索部は、前記対象ユーザにより前記関係特徴量が選択された場合に、前記対象ユーザにより選択された関係特徴量を用いて、前記対象ユーザに推薦するコンテンツを検索する。
【００１４】
また、前記推薦コンテンツ検索部は、前記第１のコンテンツと前記第２のコンテンツとの間の関係の強さに応じたスコアを算出し、算出したスコアを考慮して前記対象ユーザに推薦するコンテンツを検索するように構成されていてもよい。
【００１５】
また、前記第１特徴量生成部は、前記対象ユーザが新たにコンテンツを選択する以前に前記第１の特徴量を生成するように構成されていてもよい。さらに、前記第２特徴量生成部は、前記対象ユーザが新たにコンテンツを選択する以前に前記第２の特徴量を生成するように構成されていてもよい。そして、前記関係特徴量生成部は、前記対象ユーザが新たにコンテンツを選択する以前に前記関係特徴量を生成するように構成されていてもよい。
【００１６】
また、前記推薦コンテンツ検索部は、前記対象ユーザが新たにコンテンツを選択する以前に、前記第１の種類の情報に対応する所定の情報を用いて、当該所定の情報に対応する第１の特徴量を抽出する第１の処理を実行し、前記関係特徴量生成部により生成された関係特徴量の中から、前記第１の処理で抽出した第１の特徴量に対応する関係特徴量を抽出する第２の処理を実行し、前記第２の処理で抽出した関係特徴量のスコアを算出する第３の処理を実行し、前記対象ユーザが新たにコンテンツを選択した場合に、前記対象ユーザが新たに選択したコンテンツに含まれる前記第１の種類の情報に対応する前記所定の情報を抽出する第３の処理を実行し、前記第３の処理で抽出した所定の情報に対応する関係特徴量のスコアに基づいて、前記対象ユーザに推薦するコンテンツを検索するように構成されていてもよい。
【００１７】
また、前記第１及び第２のコンテンツと、前記対象ユーザが新たに選択したコンテンツとは、互いに異なるカテゴリに属していてもよい。
【００１８】
また、本技術の別の観点によれば、対象ユーザが過去に選択した第１のコンテンツに含まれる第１の種類の情報に基づいて生成された第１の特徴量と、前記第１のコンテンツを選択した後に前記対象ユーザが選択した第２のコンテンツに含まれる第２の種類の情報に基づいて生成された第２の特徴量と、前記第１特徴量生成部により生成された第１の特徴量と、前記第２特徴量生成部により生成された第２の特徴量とに基づいて生成された、前記第１のコンテンツと前記第２のコンテンツとの間の関係を示す第３の特徴量と、が格納された特徴量格納部と、前記対象ユーザが新たに選択したコンテンツに含まれる前記第１の種類の情報と、前記特徴量格納部に格納された第３の特徴量とを用いて、前記対象ユーザに推薦するコンテンツを検索する推薦コンテンツ検索部と、を備える、コンテンツ推薦装置が提供される。
【００１９】
また、本技術の別の観点によれば、対象ユーザが過去に選択した第１のコンテンツに含まれる第１の種類の情報に基づいて第１の特徴量を生成する第１特徴量生成ステップと、前記第１のコンテンツを選択した後に前記対象ユーザが選択した第２のコンテンツに含まれる第２の種類の情報に基づいて第２の特徴量を生成する第２特徴量生成ステップと、前記第１特徴量生成ステップで生成された第１の特徴量と、前記第２特徴量生成ステップで生成された第２の特徴量とに基づき、前記第１のコンテンツと前記第２のコンテンツとの間の関係を示す関係特徴量を生成する関係特徴量生成ステップと、前記対象ユーザが新たに選択したコンテンツに含まれる前記第１の種類の情報と、前記関係特徴量生成ステップで生成された関係特徴量とを用いて、前記対象ユーザに推薦するコンテンツを検索する推薦コンテンツ検索ステップと、含む、推薦コンテンツの検索方法が提供される。
【００２０】
また、本技術の別の観点によれば、対象ユーザが過去に選択した第１のコンテンツに含まれる第１の種類の情報に基づいて第１の特徴量を生成する第１特徴量生成機能と、前記第１のコンテンツを選択した後に前記対象ユーザが選択した第２のコンテンツに含まれる第２の種類の情報に基づいて第２の特徴量を生成する第２特徴量生成機能と、前記第１特徴量生成機能により生成された第１の特徴量と、前記第２特徴量生成機能により生成された第２の特徴量とに基づき、前記第１のコンテンツと前記第２のコンテンツとの間の関係を示す関係特徴量を生成する関係特徴量生成機能と、前記対象ユーザが新たに選択したコンテンツに含まれる前記第１の種類の情報と、前記関係特徴量生成機能により生成された関係特徴量とを用いて、前記対象ユーザに推薦するコンテンツを検索する推薦コンテンツ検索機能と、をコンピュータに実現させるためのプログラムが提供される。
【００２１】
また、本技術の別の観点によれば、上記のプログラムが記録された、コンピュータにより読み取り可能な記録媒体が提供される。
【発明の効果】
【００２２】
以上説明したように本技術によれば、ユーザの嗜好に適合する新しい情報を含んだコンテンツをそのユーザに提供することが可能になる。
【図面の簡単な説明】
【００２３】
【図１】四項類推の概念について説明するための説明図である。
【図２】四項類推に係る処理の流れについて説明するための説明図である。
【図３】多次元化した四項類推の概要について説明するための説明図である。
【図４】コンテンツメタデータの構造について説明するための説明図である。
【図５】本技術の第１実施形態に係る推薦システムの構成について説明するための説明図である。
【図６】本技術の第１実施形態に係るコンテンツ特徴量データベースの構造について説明するための説明図である。
【図７】本技術の第１実施形態に係るユーザ嗜好データベースの構造について説明するための説明図である。
【図８】本技術の第１実施形態に係る事例データベースの構造について説明するための説明図である。
【図９】本技術の第１実施形態に係る事例データベースの生成方法について説明するための説明図である。
【図１０】本技術の第１実施形態に係る事例データベースの生成方法について説明するための説明図である。
【図１１】本技術の第１実施形態に係る事例データベースの生成方法について説明するための説明図である。
【図１２】本技術の第１実施形態に係る事例データベースの生成方法について説明するための説明図である。
【図１３】本技術の第１実施形態に係る推薦の処理について説明するための説明図である。
【図１４】本技術の第１実施形態に係る嗜好学習の処理について説明するための説明図である。
【図１５】本技術の第１実施形態に係る推薦の処理について説明するための説明図である。
【図１６】本技術の第１実施形態に係る推薦の処理について説明するための説明図である。
【図１７】本技術の第１実施形態に係る推薦の処理について説明するための説明図である。
【図１８】本技術の第１実施形態に係る推薦の処理について説明するための説明図である。
【図１９】本技術の第２実施形態に係る推薦システムの構成について説明するための説明図である。
【図２０】本技術の第２実施形態に係る重心データベースの構造について説明するための説明図である。
【図２１】本技術の第２実施形態に係るＲパターンデータベースの構造について説明するための説明図である。
【図２２】本技術の第２実施形態に係る推薦の処理について説明するための説明図である。
【図２３】本技術の第２実施形態に係る推薦の処理について説明するための説明図である。
【図２４】本技術の第２実施形態に係る推薦の処理について説明するための説明図である。
【図２５】本技術の第２実施形態に係るクラスタリングの処理について説明するための説明図である。
【図２６】本技術の第２実施形態に係るクラスタリングの処理について説明するための説明図である。
【図２７】本技術の第２実施形態に係るＲパターンの選択について説明するための説明図である。
【図２８】本技術の第２実施形態に係る推薦の処理について説明するための説明図である。
【図２９】本技術の第２実施形態に係る推薦の処理について説明するための説明図である。
【図３０】本技術の第３実施形態に係る推薦システムの構成について説明するための説明図である。
【図３１】本技術の第３実施形態に係る推薦リストデータベースの構造について説明するための説明図である。
【図３２】本技術の第３実施形態に係るオフライン処理（関係Ｒのスコア算出）について説明するための説明図である。
【図３３】本技術の第３実施形態に係るオフライン処理（関係Ｒのスコア算出）について説明するための説明図である。
【図３４】本技術の第３実施形態に係るオフライン処理について説明するための説明図である。
【図３５】本技術の第３実施形態に係るオンライン処理について説明するための説明図である。
【図３６】本技術の第３実施形態に係るオンライン処理について説明するための説明図である。
【図３７】本技術の第１〜第３実施形態に係る技術の応用例（クロスカテゴリ推薦）について説明するための説明図である。
【図３８】本技術の第１〜第３実施形態に係る推薦システムの機能を実現することが可能なハードウェア構成について説明するための説明図である。
【発明を実施するための形態】
【００２４】
以下に添付図面を参照しながら、本技術に係る好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
【００２５】
［説明の流れについて］
ここで、以下に記載する説明の流れについて簡単に述べる。
【００２６】
はじめに、後述する実施形態に係る技術に用いられる四項類推の概念について説明する。まず、図１を参照しながら、四項類推の概念について説明する。次いで、図２を参照しながら、四項類推に係る処理の流れについて説明する。次いで、図３を参照しながら、多次元化した四項類推の概要について説明する。また、図４を参照しながら、四項類推を具体的な事例に適用する際に用いるコンテンツメタデータの構造について説明する。
【００２７】
次に、本技術の第１実施形態について説明する。まず、図５を参照しながら、本技術の第１実施形態に係る推薦システム１００の構成について説明する。また、図６を参照しながら、本技術の第１実施形態に係るコンテンツ特徴量データベース１０４の構造について説明する。さらに、図７を参照しながら、本技術の第１実施形態に係るユーザ嗜好データベース１０２の構造について説明する。そして、図８〜図１２を参照しながら、本技術の第１実施形態に係る事例データベース１０６の構造及びその生成方法について説明する。次いで、図１３〜図１８を参照しながら、本技術の第１実施形態に係る推薦の処理について説明する。この中で本技術の第１実施形態に係る嗜好学習の処理についても説明する。
【００２８】
次に、本技術の第２実施形態について説明する。まず、図１９を参照しながら、本技術の第２実施形態に係る推薦システム２００の構成について説明する。また、図２０を参照しながら、本技術の第２実施形態に係る重心データベース（Ｒパターンデータベース２０９）の構造について説明する。さらに、図２１を参照しながら、本技術の第２実施形態に係るＲパターンデータベース２０９の構造について説明する。次いで、図２２〜図２９を参照しながら、本技術の第２実施形態に係る推薦の処理について説明する。この中で、本技術の第２実施形態に係るクラスタリングの処理及びＲパターンの選択についても説明する。
【００２９】
次に、本技術の第３実施形態について説明する。まず、図３０を参照しながら、本技術の第３実施形態に係る推薦システム３００の構成について説明する。また、図３１を参照しながら、本技術の第３実施形態に係る推薦リストデータベース３０９の構造について説明する。次いで、図３１〜図３４を参照しながら、本技術の第３実施形態に係るオフライン処理について説明する。次いで、図３５及び図３６を参照しながら、本技術の第３実施形態に係るオンライン処理について説明する。次に、図３７を参照しながら、本技術の第１〜第３実施形態に係る技術の応用例（クロスカテゴリ推薦）について説明する。次いで、図３８を参照しながら、本技術の第１〜第３実施形態に係る推薦システムの機能を実現することが可能なハードウェア構成について説明する。
【００３０】
最後に、同実施形態の技術的思想について纏め、当該技術的思想から得られる作用効果について簡単に説明する。
【００３１】
（説明項目）
１：はじめに
１−１：四項類推とは
１−２：四項類推の多次元化
２：第１実施形態
２−１：システム構成
２−２：オフライン処理の流れ
２−３：オンライン処理の流れ
３：第２実施形態
３−１：システム構成
３−２：オフライン処理の流れ
３−３：オンライン処理の流れ
４：第３実施形態
４−１：システム構成
４−２：オフライン処理の流れ
４−３：オンライン処理の流れ
５：応用例（クロスカテゴリ推薦）
６：ハードウェア構成例
７：まとめ
【００３２】
＜１：はじめに＞
はじめに、本実施形態に係る技術について詳細に説明するに先立ち、四項類推の概念及び本実施形態の概要について簡単に説明する。
【００３３】
［１−１：四項類推とは］
まず、図１を参照しながら、四項類推の概念について説明する。図１は、四項類推の概念について説明するための説明図である。
【００３４】
四項類推とは、人が前提知識に基づいて物事を類推する過程をモデル化したものである。「事例：Ａ→Ｂ」を前提知識として持つ人に情報Ｃを与えた場合、その人が情報Ｃから類推する情報Ｘはどのようなものであろうか。例えば、Ａとして単語「ｆｉｓｈ」、Ｂとして単語「ｓｃａｌｅ」を与えると、人は、ＡとＢとの間にある関係Ｒとして単語「ｈａｖｅ」や単語「ｃｏｖｅｒ」などで表現される概念を想起するであろう。そして、この人に情報Ｃとして単語「ｂｉｒｄ」を与え、関係Ｒに基づいて情報Ｘを類推させると、この人は、例えば、単語「ｆｅａｔｈｅｒ」や単語「ｗｉｎｇ」などを類推すると考えられる。このような人の類推過程をモデル化したものが四項類推なのである。
【００３５】
この四項類推に関し、前提知識として「事例：Ａ→Ｂ」を与えられた人が類推する「事例：Ｃ→Ｘ」の解Ｘを推定する技術に注目が集まっている。なお、以下では、「事例：Ａ→Ｂ」から「事例：Ｃ→Ｘ」を類推する過程を「Ａ：Ｂ＝Ｃ：Ｘ」と表現することがある。「Ａ：Ｂ＝Ｃ：Ｘ」の解Ｘを推定する技術としては、例えば、構造写像理論と呼ばれる推定方法が知られている。この推定方法は、図１に示すように、「事例：Ａ→Ｂ」におけるＡ（以下、状況Ａ）とＢ（以下、結果Ｂ）との関係Ｒを「事例：Ｃ→Ｘ」におけるＣ（以下、状況Ｃ）に適用して解Ｘ（以下、結果Ｘ）を推定するというものである。
【００３６】
つまり、上記の構造写像理論は、前提知識を構成する知識領域（以下、基底領域）の構造を、解Ｘを求める問題の領域（以下、目標領域）に写像する方法とも言える。構造写像理論に関しては、例えば、Ｄ．Ｇｅｎｔｎｅｒ，“Ｓｔｒｕｃｔｕｒｅ−Ｍａｐｐｉｎｇ：Ａ  Ｔｈｅｏｒｅｔｉｃａｌ  Ｆｒａｍｅｗｏｒｋ  ｆｏｒ  Ａｎａｌｏｐｙ”，Ｃｏｇｎｉｔｉｖｅ  Ｓｃｉｅｎｃｅ，１９８３などに記載がある。
【００３７】
上記の構造写像理論を用いると、基底領域の構造を写像する際に生じる無意味な知識を排除して、ある程度妥当な類推結果Ｘを得ることができる。例えば、図１に示すように、状況Ａとして単語「ｆｉｓｈ」が与えられた場合に、単語「ｆｉｓｈ」から類推される「青い」「小さい」などの知識を結果Ｘの推定時に排除することができる。同様に、結果Ｂとして単語「ｓｃａｌｅ」が与えられた場合に、「硬い」「透明」などの知識を結果Ｘの推定時に排除することができる。
【００３８】
構造写像理論に基づく結果Ｘの推定処理は、例えば、図２に示す処理手順で実行される。まず、図２に示すように、状況Ａと結果Ｂとの間の関係Ｒを推定する処理が実行される（Ｓ１０）。次いで、ステップＳ１０で推定された関係Ｒを基底領域から目標領域へ写像する処理が実行される（Ｓ１１）。次いで、関係Ｒを状況Ｃに適用し、結果Ｘを推定する処理が実行される（Ｓ１２）。これらステップＳ１０〜Ｓ１２の処理を実行することにより、「事例：Ａ→Ｂ」に基づいて「事例：Ｃ→Ｘ」の解Ｘが推定される。
【００３９】
以上、四項類推の概念について説明した。ここで説明した四項類推の概念をファジィ理論の視点からシステム化する研究がＫａｎｅｋｏらによりなされており、その研究成果が報告されている。例えば、Yosuke Kaneko,Kazuhiro Okada,Shinichiro Ito,Takuya Nomura and
Tomihiro Takagi,"A Propasal of Analogical Reasoning Based on Structural
Mapping and Image Schemas",5th International Conference on Soft Computing
and Intelligent Systems and 11th International Symposium on Advanced
Intelligent Systems(SCIS & ISIS 10),2010などの報告がある。これらの報告の中で、Ｋａｎｅｋｏらは、単語の共起頻度から写像対象となる関係Ｒを抽出し、単語の品詞情報を構造として利用する推薦システムを提案している。この報告内容も四項類推の概念を理解するための一助となるであろう。
【００４０】
［１−２：四項類推の多次元化］
次に、図３を参照しながら、四項類推を多次元化する方法について説明する。図３は、四項類推を多次元化する方法について説明するための説明図である。なお、四項類推の多次元化に関する研究成果としては、特願２０１１−１８７８７号に記載の方法がある。
【００４１】
図１の例は、１つの基底領域から１つの目標領域への構造写像に関するものであった。また、図１の例において、状況Ａ、結果Ｂ、状況Ｃ、結果Ｘは、それぞれ１つの単語で表現されていた。ここでは四項類推の概念を拡張し、図３に示すように、複数の基底領域から１つの目標領域へと構造を写像する新たな方式ついて考える。また、ここでは、状況Ａ、結果Ｂ、状況Ｃ、結果Ｘをそれぞれ、１つ又は複数の単語で構成されるワードベクトルにより表現する方式について考える。なお、ここで考える新たな方式のことを「多次元の四項類推」と呼ぶことにする。以下、多次元の四項類推の概念について説明する。
【００４２】
図３に示すように、ｎ個の基底領域（基底領域１〜基底領域ｎ）を考える。また、基底領域ｋ（ｋ＝１〜ｎ）には、「事例：Ａｋ→Ｂｋ」が属するものとする。さらに、状況Ａｋ、結果Ｂｋは、複数の単語を含むワードベクトルで表現されるものとする。また、基底領域１〜基底領域ｎの構造は、１つの目標領域へと写像されるものとする。さらに、この目標領域には、「事例：Ｃ→Ｘｊ（ｊ＝１〜ｎ）」が属するものとする。但し、状況Ａｋと結果Ｂｋとの関係Ｒｋは、「事例：Ｃ→Ｘｋ」における結果Ｘｋの推定に利用される。
【００４３】
例えば、状況Ａｋ（ｋ＝１〜ｎ）は、ある人（以下、対象ユーザ）が過去に選択したコンテンツ群から抽出される対象ユーザの嗜好を特徴付けるワードベクトルにより表現される。また、結果Ｂｋ（ｋ＝１〜ｎ）は、状況Ａｋを前提とし、そのコンテンツ群の次に対象ユーザが選択したコンテンツを特徴付けるワードベクトルにより表現される。さらに、関係Ｒｋ（ｋ＝１〜ｎ）は、状況Ａｋと結果Ｂｋとの関係を特徴付けるワードベクトルにより表現される。そして、状況Ｃは、新たに対象ユーザが選択したコンテンツを含むコンテンツ群から抽出される対象ユーザの嗜好を特徴付けるワードベクトルにより表現される。また、結果Ｘｋ（ｋ＝１〜ｎ）は、状況Ｃのワードベクトルと、関係Ｒのワードベクトルとに基づいて類推されるコンテンツを特徴付けるワードベクトルである。
【００４４】
つまり、状況Ａ１と結果Ｂ１との関係Ｒ１、及び状況Ｃを用いて結果Ｘ１が類推される。同様に、関係Ｒ２及び状況Ｃから結果Ｘ２が類推され、関係Ｒ３及び状況Ｃから結果Ｘ３が類推され、…、関係Ｒｎ及び状況Ｃから結果Ｘｎが類推される。なお、各ワードベクトルは、例えば、ＴＦ−ＩＤＦと呼ばれるアルゴリズムを利用して生成される。このＴＦ−ＩＤＦとは、文書中から特徴的な単語を抽出するためのアルゴリズムである。ＴＦ−ＩＤＦは、ＴＦ−ＩＤＦ値と呼ばれる指標を出力する。このＴＦ−ＩＤＦ値は、単語の出現頻度を表すＴＦ値と、逆出現頻度を表すＩＤＦ値との積で表現される。
【００４５】
例えば、文書ｄ中における単語ｊの出現回数をＮｊ、文書ｄ中に含まれる全単語数をＮ、全文書数をＤ、単語ｊが出現する文書数をＤｊとすると、ＴＦ値ｔｆ（ｊ，ｄ）は、下記の式（１）により表現される。また、ＩＤＦ値ｉｄｆ（ｊ）は、下記の式（２）により表現される。そして、ＴＦ−ＩＤＦ値ｔｆｉｄｆ（ｊ，ｄ）は、下記の式（３）により表現される。つまり、多くの文書中に出現する単語のＴＦ−ＩＤＦ値は下がり、特定の文書中に頻出する単語のＴＦ−ＩＤＦ値は上がる。そのため、この指標を用いることにより、個々の文書を特徴付ける単語を抽出することが可能になる。また、ＴＦ−ＩＤＦ値の高い複数の単語を抽出することにより、文書を特徴付けるワードベクトルが生成される。
【００４６】
【数１】
0005691735.tif 000002
…（１）
0005691735.tif 000003
…（２）
0005691735.tif 000004
…（３）
【００４７】
ここで、料理投稿サイトを情報源として利用する実施例について考えてみたい。料理投稿サイトの多くは、ユーザが自分の創作した料理のレシピを自由に投稿できるように構成されている。また、こうした料理投稿サイトは、この料理投稿サイトを閲覧した他のユーザがレビューを記載できるように構成されている。もちろん、他の情報サイトと同様に、料理投稿サイトには、タイトル、画像、説明文といった欄が設けられている。また、料理投稿サイトの中には、材料、料理の手順、作り方のコツ、料理の生い立ち、登録カテゴリなどの欄を設けているサイトもある。これらの欄は、メタデータにより規定されている。
【００４８】
例えば、図４に示すように、ある料理投稿サイトは、Ｔｉｔｌｅ、Ｉｍａｇｅ、Ｄｅｓｃｒｉｐｔｉｏｎ、Ｉｎｇｒｅｄｉｅｎｔｓ、Ｃｏｏｋｉｎｇ  Ｐｒｏｃｅｄｕｒｅ、Ｋｎａｃｋｓ  ｏｆ  Ｃｏｏｋｉｎｇ  Ｐｒｏｃｅｄｕｒｅ、Ｒｅｖｉｅｗｓ、Ｈｉｓｔｏｒｙ、Ｃａｔｅｇｏｒｉｅｓなどのメタデータで構造が規定されている。そのうち、Ｔｉｔｌｅ、Ｄｅｓｃｒｉｐｔｉｏｎ、Ｉｎｇｒｅｄｉｅｎｔｓ、Ｃｏｏｋｉｎｇ  Ｐｒｏｃｅｄｕｒｅ、Ｋｎａｃｋｓ  ｏｆ  Ｃｏｏｋｉｎｇ  Ｐｒｏｃｅｄｕｒｅ、Ｒｅｖｉｅｗｓ、Ｈｉｓｔｏｒｙの欄は、多次元の四項類推に利用可能な情報を含む。
【００４９】
例えば、図４に示すように、Ｉｎｇｒｅｄｉｅｎｔｓ、Ｃｏｏｋｉｎｇ  Ｐｒｏｃｅｄｕｒｅ、Ｋｎａｃｋｓ  ｏｆ  Ｃｏｏｋｉｎｇ  Ｐｒｏｃｅｄｕｒｅの欄は、状況Ａ及び状況Ｃに関する情報源として利用することができる。また、Ｔｉｔｌｅ、Ｄｅｓｃｒｉｐｔｉｏｎ、Ｒｅｖｉｅｗｓの欄は、結果Ｂに関する情報源として利用することができる。さらに、Ｈｉｓｔｏｒｙの欄は、関係Ｒに関する情報源として利用することができる。
【００５０】
つまり、状況Ａ及び状況Ｃに関する情報源は、ユーザの嗜好（この例では材料、料理手順、料理のコツなど）を表す領域に設定される。一方、結果Ｂに関する情報源は、この料理投稿サイトに記載の料理を実際に食べてみた結果などが表現されている領域に設定される。また、関係Ｒに関する情報源は、状況Ａと結果Ｂとの関係（この例では、料理投稿サイトに記載の料理が生まれるまでの過程など）が表現されている領域に設定される。このように、メタデータの構造を利用することにより、状況Ａ、結果Ｂ、状況Ｃ、関係Ｒに関する情報源を容易に設定することができる。また、各領域に記載の文書から、上記のＴＦ−ＩＤＦ値などを利用して、状況Ａ、結果Ｂ、状況Ｃに対応するワードベクトルを生成することができる。
【００５１】
ここでは料理投稿サイトを情報源として利用する実施例について考えたが、他種類のサイトに関してもメタデータの構造を参照することにより、状況Ａ、結果Ｂ、状況Ｃ、関係Ｒに関する情報源を設定することができる。なお、結果Ｘに関する情報源は、結果Ｂに関する情報源と同じメタデータが付された領域に設定される。このようにして情報源が設定されると、ユーザが閲覧したサイトの履歴などから抽出されるワードベクトルを利用して、図３に示すような多次元の四項類推に基づく結果Ｘ１〜Ｘｎの推定が可能になる。
【００５２】
本実施形態に係る技術は、上記の推定に関するものである。但し、本実施形態に係る技術は、多次元の四項類推に基づく結果Ｘ１〜Ｘｎの推定に主眼を置くものではなく、関係Ｒ１〜Ｒｎを利用してユーザの嗜好に適した推薦コンテンツを検索する技術に関する。また、本実施形態の適用範囲は料理投稿サイトに限定されず、様々なコンテンツに対して適用することが可能である。
【００５３】
以上、四項類推の概念及び本実施形態の概要について簡単に説明した。以下、本実施形態に係る技術について詳細に説明する。
【００５４】
＜２：第１実施形態＞
本技術の第１実施形態について説明する。
【００５５】
［２−１：システム構成］
まず、図５を参照しながら、本実施形態に係る推薦システム１００のシステム構成について説明する。図５は、本実施形態に係る推薦システム１００のシステム構成について説明するための説明図である。
【００５６】
図５に示すように、推薦システム１００は、主に、嗜好抽出エンジン１０１と、ユーザ嗜好データベース１０２と、コンテンツ特徴量抽出エンジン１０３と、コンテンツ特徴量データベース１０４と、事例関係抽出エンジン１０５と、事例データベース１０６と、推薦エンジン１０７とにより構成される。
【００５７】
なお、嗜好抽出エンジン１０１、コンテンツ特徴量抽出エンジン１０３、事例関係抽出エンジン１０５、推薦エンジン１０７が有する機能は、図３８に示すハードウェア構成のうち、ＣＰＵ９０２などの機能により実現される。また、ユーザ嗜好データベース１０２、コンテンツ特徴量データベース１０４、事例データベース１０６は、図３８に示すハードウェア構成のうち、ＲＯＭ９０４、ＲＡＭ９０６、記憶部９２０、リムーバブル記録媒体９２８などの機能により実現される。また、推薦システム１００の機能は、単一のハードウェアを利用して実現されてもよいし、ネットワーク又は専用回線により接続された複数のハードウェアを利用して実現されてもよい。
【００５８】
（コンテンツ特徴量抽出エンジン１０３、コンテンツ特徴量データベース１０４）
まず、コンテンツ特徴量抽出エンジン１０３及びコンテンツ特徴量データベース１０４について説明する。
【００５９】
コンテンツ特徴量抽出エンジン１０３は、図６に示すようなコンテンツ特徴量データベース１０４を構築する手段である。コンテンツ特徴量抽出エンジン１０３は、まず、コンテンツのメタデータを取得する。そして、コンテンツ特徴量抽出エンジン１０３は、取得したメタデータの構造を参照してコンテンツを構成する各領域を識別し、ＴＦ−ＩＤＦ値などに基づいて各領域を特徴付ける一又は複数の単語を抽出する。さらに、コンテンツ特徴量抽出エンジン１０３は、コンテンツの情報、領域の情報、抽出した単語の情報などをコンテンツ特徴量データベース１０４に格納する。
【００６０】
例えば、コンテンツ特徴量データベース１０４には、図６に示すように、アイテムＩＤ、領域ＩＤ、特徴量ＩＤ、更新回数、及び重要度が格納される。アイテムＩＤは、コンテンツを識別するための識別情報である。また、領域ＩＤは、コンテンツを構成する各領域を識別するための識別情報である。例えば、図４に示したＴｉｔｌｅの欄や、Ｉｎｇｒｅｄｉｅｎｔｓの欄は、領域ＩＤにより識別される。さらに、特徴量ＩＤは、対応する領域を特徴付ける単語を識別するための識別情報である。また、更新回数は、対応する領域の内容が更新された回数を示す情報である。重要度は、対応する単語の重要度を示す情報である。なお、コンテンツ特徴量データベース１０４は、嗜好抽出エンジン１０１、事例関係抽出エンジン１０５、推薦エンジン１０７により利用される。
【００６１】
（嗜好抽出エンジン１０１、ユーザ嗜好データベース１０２）
次に、嗜好抽出エンジン１０１及びユーザ嗜好データベース１０２について説明する。
【００６２】
ユーザが機器１０を介して情報を入力すると、入力された情報は、嗜好抽出エンジン１０１に入力される。例えば、ユーザの操作ログは、嗜好抽出エンジン１０１に入力される。ユーザの操作ログが入力されると、嗜好抽出エンジン１０１は、入力された操作ログに基づいてユーザの嗜好を抽出する。嗜好抽出エンジン１０１により抽出されたユーザの嗜好を示す情報は、ユーザ嗜好データベース１０２に格納される。
【００６３】
ユーザ嗜好データベース１０２は、図７に示すような構造を有する。ユーザ嗜好データベース１０２には、図７に示すように、ユーザＩＤ、領域ＩＤ、特徴量ＩＤ、及び重要度を示す情報が格納される。ユーザＩＤは、ユーザを識別するための識別情報である。領域ＩＤは、コンテンツを構成する各領域を識別するための識別情報である。特徴量ＩＤは、対応する領域を特徴付ける単語を識別するための識別情報である。また、重要度は、特徴量ＩＤにより特定される単語の重要度を示す情報である。なお、ユーザ嗜好データベース１０２は、推薦エンジン１０７で利用される。
【００６４】
（事例関係抽出エンジン１０５、事例データベース１０６）
次に、事例関係抽出エンジン１０５及び事例データベース１０６について説明する。
【００６５】
事例関係抽出エンジン１０５は、コンテンツ特徴量データベース１０４に格納された情報に基づいて事例関係を抽出する。この事例関係とは、状況Ａ、結果Ｂ、関係Ｒの関係を意味する。事例関係抽出エンジン１０５により抽出された事例関係を示す情報は、事例データベース１０６に格納される。具体的には、図８に示すように、状況Ａに関するワードベクトル、結果Ｂに関するワードベクトル、関係Ｒに対応するワードベクトルが事例データベース１０６に格納される。図８の例では、状況Ａに関するワードベクトル及び結果Ｂに関するワードベクトルの次元数がそれぞれ２に設定されている。以下では、この設定例に基づいて説明を進めるが、ワードベクトルの次元数は３以上であってもよい。
【００６６】
図６に示すように、コンテンツ特徴量データベース１０４には、アイテムＩＤと、領域ＩＤと、特徴量ＩＤとが対応付けて格納されている。そこで、事例関係抽出エンジン１０５は、状況Ａに関する情報源として設定された領域ＩＤに対応する特徴量ＩＤの組（ｗｏｒｄ  Ａ１，ｗｏｒｄ  Ａ２）を抽出し、状況Ａのワードベクトルに設定する。また、事例関係抽出エンジン１０５は、結果Ｂに関する情報源として設定された領域ＩＤに対応する特徴量ＩＤの組（ｗｏｒｄ  Ｂ１，ｗｏｒｄ  Ｂ２）を抽出し、結果Ｂのワードベクトルに設定する。さらに、事例関係抽出エンジン１０５は、関係Ｒに関する情報源として設定された領域ＩＤに対応する特徴量ＩＤ（ｗｏｒｄ  Ｒ）を抽出する。
【００６７】
そして、事例関係抽出エンジン１０５は、同じアイテムＩＤに対応する（ｗｏｒｄ  Ａ１，ｗｏｒｄ  Ａ２）、（ｗｏｒｄ  Ｂ１，ｗｏｒｄ  Ｂ２）及びｗｏｒｄ  Ｒを対応付けて事例データベース１０６に格納する。図８の例では、状況Ａのワードベクトル（１，５）と結果Ｂのワードベクトル（２，１）との組み合わせに関して、関係Ｒのワードベクトル（８，３，１０，１５）が抽出されている。このように、事例関係抽出エンジン１０５は、状況Ａ、結果Ｂ、関係Ｒの事例関係をコンテンツ特徴量データベース１０４から抽出し、事例データベース１０６を構築する。なお、事例データベース１０６は、ユーザ毎に構築されていてもよい。このようにして構築された事例データベース１０６は、推薦エンジン１０７により利用される。
【００６８】
（推薦エンジン１０７）
次に、推薦エンジン１０７について説明する。
【００６９】
推薦エンジン１０７は、機器１０を介してユーザにより推薦要求を受けると、ユーザ嗜好データベース１０２、コンテンツ特徴量データベース１０４、事例データベース１０６に格納された情報に基づいて推薦コンテンツを抽出する。そして、推薦エンジン１０７は、抽出した推薦コンテンツのリストを推薦結果としてユーザに提示する。例えば、あるコンテンツ（以下、新規コンテンツ）をユーザが選択した場合、新規コンテンツの情報が推薦エンジン１０７に入力される。新規コンテンツの情報が入力されると、推薦エンジン１０７は、入力された新規コンテンツを含むコンテンツ群から、状況Ｃに関する情報源として設定された領域ＩＤに対応する特徴量ＩＤの組を抽出する。
【００７０】
つまり、推薦エンジン１０７は、新規コンテンツについて状況Ｃのワードベクトルを抽出する。状況Ｃのワードベクトルを抽出すると、推薦エンジン１０７は、抽出した状況Ｃのワードベクトルと、事例データベース１０６に格納されている関係Ｒのワードベクトルとを用いて推薦コンテンツを抽出する。このとき、推薦エンジン１０７は、複数の推薦コンテンツを抽出し、各推薦コンテンツに対するスコアを算出する。そして、推薦エンジン１０７は、スコア付けされた推薦コンテンツのリストを生成し、そのリストを推薦結果としてユーザに提示する。
【００７１】
以上、推薦システム１００のシステム構成について説明した。次に、推薦システム１００により実行される処理の流れについて詳細に説明する。
【００７２】
［２−２：オフライン処理の流れ］
まず、図９〜図１２を参照しながら、推薦システム１００により実行される処理のうち、オフライン処理の流れについて説明する。図９〜図１２は、推薦システム１００により実行される処理のうち、オフライン処理の流れについて説明するための説明図である。なお、ここで言うオフライン処理とは、機器１０から推薦要求を受けていない状態で実行可能な処理のことを意味する。
【００７３】
（図９：オフライン処理の概要）
図９に示すように、オフライン処理として実行される主な処理内容は、事例データベース１０６の構築である。上記の通り、事例データベース１０６の構築は、主に事例関係抽出エンジン１０５の機能を用いて実現される。
【００７４】
オフライン処理には、ユーザにより過去に生成されたコンテンツ群が利用される。そのため、図９に示すように、オフライン処理の前にユーザによるコンテンツの生成（（１）ユーザ記入）という処理が存在する。図９の例では、コンテンツ１〜ｎ＋１のｎ＋１個のコンテンツが用意されている。但し、より大きな番号が付されたコンテンツほど新しく生成されたものとする。まず、事例関係抽出エンジン１０５は、これらｎ＋１個のコンテンツから古い順にｎ個のコンテンツを状況Ａに関する情報源として選択する。また、事例関係抽出エンジン１０５は、最も新しいコンテンツを結果Ｂに関する情報源として選択する。ここでは状況Ａに関する情報源として選択されたｎ個のコンテンツを状況Ａ１と表現し、結果Ｂに関する情報源として選択されたコンテンツを結果Ｂ１と表現する。
【００７５】
同様に、ｑ＝１，…，ｍ−１について、事例関係抽出エンジン１０５は、古い順にｎ−ｑ個のコンテンツを状況Ａに関する情報源として選択する。また、事例関係抽出エンジン１０５は、ｑ＋１番目に新しいコンテンツを結果Ｂに関する情報源として選択する。ｑ＝１，…，ｍ−１のそれぞれについて、状況Ａに関する情報源として選択したｎ−ｑ個のコンテンツを状況Ａ（ｑ＋１）と表現し、結果Ｂに関する情報源として選択されたコンテンツを結果Ｂ（ｑ＋１）と表現する。但し、ｍは、状況Ａｍに対応するコンテンツの数が所定数となるように設定される。このようにして状況Ａｋ（ｋ＝１，…，ｍ）と結果Ｂｋとの組を抽出すると（２）、事例関係抽出エンジン１０５は、ｋ＝１，…，ｍのそれぞれについて、状況Ａｋと結果Ｂｋとの関係Ｒｋを特徴付けるワードベクトルを生成する。
【００７６】
ここでは一例として、状況Ａ１と結果Ｂ１との関係Ｒ１を特徴付けるワードベクトルの生成方法について説明する。まず、事例関係抽出エンジン１０５は、状況Ａ１に対応するｎ個のコンテンツについて、状況Ａに関する情報源として設定された領域（以下、領域Ａ）を参照し、その領域を特徴付けるワードベクトルを生成する（３）。例えば、事例関係抽出エンジン１０５は、コンテンツ１〜ｎの領域Ａをそれぞれ特徴付けるｎ本のワードベクトルを生成し、これらｎ本のワードベクトルを統合して状況Ａ１のワードベクトルに設定する。次いで、事例関係抽出エンジン１０５は、状況Ａ１のワードベクトルから単語（この例では２単語）を抽出する（４）。なお、以下の説明において、ここで抽出された単語の組を状況Ａ１のワードベクトルと呼ぶ場合もある。
【００７７】
次いで、事例関係抽出エンジン１０５は、結果Ｂ１に対応するコンテンツを対象に、結果Ｂに関する情報源として設定された領域（以下、領域Ｂ）を特徴付けるワードベクトルを生成し、そのワードベクトルを結果Ｂ１のワードベクトルに設定する（５）。次いで、事例関係抽出エンジン１０５は、結果Ｂ１のワードベクトルから単語（この例では２単語）を抽出する（６）。なお、以下の説明において、ここで抽出された単語の組を結果Ｂ１のワードベクトルと呼ぶ場合もある。次いで、事例関係抽出エンジン１０５は、状況Ａ１のワードベクトルから抽出した単語を領域Ａに含み、かつ、結果Ｂ１のワードベクトルから抽出した単語を領域Ｂに含むコンテンツを検索する（７）。
【００７８】
次いで、事例関係抽出エンジン１０５は、検索処理により抽出されたコンテンツを対象に、関係Ｒに関する情報源として設定された領域（以下、領域Ｒ）を特徴付けるワードベクトルを生成し、そのワードベクトルを関係Ｒ１のワードベクトルに設定する（８）。但し、検索処理により複数のコンテンツが抽出された場合、各コンテンツの領域Ｒをそれぞれ特徴付ける複数のワードベクトルを生成し、これら複数のワードベクトルを統合して関係Ｒのワードベクトルに設定する。このようにして生成された関係Ｒ１のワードベクトルは、状況Ａ１のワードベクトルから抽出された単語と、結果Ｂ１のワードベクトルから抽出された単語とに対応付けて事例データベース１０６に格納される。
【００７９】
なお、ワードベクトルから抽出される単語の組み合わせは多数存在する。そのため、上記（４）（６）（７）（８）の処理は、全ての異なる単語の組み合わせについて実行される。そして、順次、上記（８）で生成されたワードベクトルが関係Ｒ１のワードベクトルに追加される。また、以上説明した処理は、状況Ａ１と結果Ｂ１との組み合わせについてだけではなく、状況Ａ２，…，Ａｍ、結果Ｂ２，…，Ｂｍの全ての組み合わせについて実行される。そして、関係Ｒ１，…，Ｒｍのワードベクトルが生成される。
【００８０】
（図１０〜図１２：オフライン処理の詳細）
オフライン処理は概ね上記の通りである。以下では、オフライン処理として実行される処理の流れについて、より詳細に説明する。
【００８１】
図１０に示すように、まず、事例関係抽出エンジン１０５は、ユーザにより過去に選択されたコンテンツを時系列順に並べ、状況Ａと結果Ｂとの組み合わせを設定する（Ｓ１０１）。つまり、事例関係抽出エンジン１０５は、状況Ａ１，…，Ａｍ、結果Ｂ１，…，Ｂｍに属するコンテンツを設定する。例えば、事例関係抽出エンジン１０５は、図１１に示すように、コンテンツｒｅ１，…，ｒｅ４を古い順に並べ、状況Ａ１，…，Ａ３及び結果Ｂ１，…，Ｂ３に属するコンテンツを設定する。
【００８２】
次いで、事例関係抽出エンジン１０５は、状況Ａｊに属するコンテンツ群から重要度の高いＮ個（Ｎは自然数）の単語を抽出し、状況Ａｊのワードベクトルを生成する（Ｓ１０２）。例えば、事例関係抽出エンジン１０５は、図１１に示すように、状況Ａ１に属するコンテンツｒｅ１、ｒｅ２、ｒｅ３から重要度の高いＮ個の単語を抽出して状況Ａ１のワードベクトルを生成する。このとき、事例関係抽出エンジン１０５は、より新しいコンテンツに含まれる単語の重要度が大きくなるように、各単語の重要度に重みを付ける。この重み付けにより、より新しいコンテンツに含まれる特徴的な単語が、状況Ａ１のワードベクトルに含まれやすくなる。
【００８３】
次いで、事例関係抽出エンジン１０５は、結果Ｂｊに属するコンテンツ群から重要度の高いＮ個（Ｎは自然数）の単語を抽出し、結果Ｂｊのワードベクトルを生成する（Ｓ１０３）。例えば、事例関係抽出エンジン１０５は、図１１に示すように、結果Ｂｊに属するコンテンツｒｅ４から重要度の高いＮ個の単語を抽出して結果Ｂｊのワードベクトルを生成する。次いで、事例関係抽出エンジン１０５は、図１２に示すように、状況Ａｊのワードベクトルから単語（この例では２単語）を抽出すると共に、結果Ｂｊのワードベクトルから単語（この例では２単語）を抽出する（Ｓ１０４）。
【００８４】
次いで、事例関係抽出エンジン１０５は、ステップＳ１０４で抽出した単語が共起するコンテンツを検索する。そして、事例関係抽出エンジン１０５は、検索結果として抽出されたコンテンツの領域Ｒからスコアの高い単語を抽出して関係Ｒｊのワードベクトルに設定する（Ｓ１０５）。図１２の例では、検索結果としてコンテンツｒｅ１’，…，ｒｅ８’が抽出されている。また、コンテンツｒｅ１’，…，ｒｅ８’の領域Ｒを特徴付ける単語の中から、スコアの高い順に単語（図１２の例では５単語）が抽出され、関係Ｒｊのワードベクトルが生成されている。
【００８５】
なお、単語ｒｉのスコアｓｃｏｒｅＲ（ｒｉ）は、下記の式（４）に基づいて算出される。但し、状況Ａｊのワードベクトルから抽出した単語をａｐ（ｐ＝１，２，…）、結果Ｂｊのワードベクトルから抽出した単語をｂｑ（ｑ＝１，２，…）と表現する。また、関数ｈｔ（ｘ）は、単語ｘをキーワードにコンテンツを検索した場合にヒットするコンテンツの数を表す。さらに、関数ｈｔ（ｘ１，ｘ２）は、単語ｘ１と単語ｘ２とが共起するコンテンツを検索した場合にヒットするコンテンツの数を表す。そして、関数ｈｔ（ｘ１，ｘ２，ｘ３）は、単語ｘ１と単語ｘ２と単語ｘ３とが共起するコンテンツを検索した場合にヒットするコンテンツの数を表す。また、下記の式（４）に含まれるｓｃｏｒｅ（ｉ，ｐ，ｑ）は、下記の式（５）〜（８）により定義される。また、下記の式（６）〜（８）に現れるＮはコンテンツの総数である。
【００８６】
【数２】
0005691735.tif 000005
…（４）
0005691735.tif 000006
…（５）
0005691735.tif 000007
…（６）
0005691735.tif 000008
…（７）
0005691735.tif 000009
…（８）
【００８７】
次いで、事例関係抽出エンジン１０５は、状況Ａｊ、結果Ｂｊ、関係Ｒｊのワードベクトルを事例データベース１０６に格納する（Ｓ１０６）。このとき、事例関係抽出エンジン１０５は、ステップＳ１０５で検索した際に用いた単語と、関係Ｒｊのワードベクトルとを対応付けて事例データベース１０６に格納する。次いで、事例関係抽出エンジン１０５は、ｊ＝ｍか否かを判定する（Ｓ１０７）。つまり、事例関係抽出エンジン１０５は、ステップＳ１０１で設定した状況Ａと結果Ｂとに関する全ての組み合わせについてステップＳ１０２〜Ｓ１０６の処理を実行したか否かを判定する。ｊ＝ｍである場合、事例関係抽出エンジン１０５は、一連の処理を終了する。ｊ≠ｍである場合、事例関係抽出エンジン１０５は、ｊを１だけインクリメントし、処理をステップＳ１０２に戻す。
【００８８】
以上、オフライン処理の流れについて説明した。
【００８９】
［２−３：オンライン処理の流れ］
次に、図１３〜図１８を参照しながら、推薦システム１００により実行される処理のうち、オンライン処理の流れについて説明する。図１３〜図１８は、推薦システム１００により実行される処理のうち、オンライン処理の流れについて説明するための説明図である。なお、ここで言うオンライン処理とは、機器１０から推薦要求を受けた際に実行される処理のことを意味する。
【００９０】
（図１３：オンライン処理の概要）
図１３に示すように、オンライン処理として実行される主な処理内容は、主に推薦エンジン１０７による推薦コンテンツの検索及び検索結果の提示である。
【００９１】
上記の通り、オンライン処理は、推薦要求を受けた際に実行される。つまり、ユーザが新規コンテンツを選択した場合にオンライン処理が実行される。新規コンテンツが選択されると（（１）ユーザ入力）、推薦エンジン１０７は、状況Ｃのワードベクトルを抽出する（２）。このとき、推薦エンジン１０７は、まず、ユーザ嗜好データベース１０２からユーザの嗜好を表すワードベクトル（以下、嗜好ベクトル）を抽出し、新規コンテンツの状況Ｃに関する情報源として設定された領域（以下、領域Ｃ）を特徴付ける単語を用いて嗜好ベクトルを更新する。次いで、推薦エンジン１０７は、更新後の嗜好ベクトルを状況Ｃのワードベクトルに設定する。
【００９２】
次いで、推薦エンジン１０７は、状況Ｃのワードベクトルから単語（この例では２単語）を抽出する（３）。次いで、推薦エンジン１０７は、事例データベース１０６を参照し、関係Ｒのワードベクトルから単語（この例では１単語）を抽出する（４）。次いで、推薦エンジン１０７は、状況Ｃのワードベクトルから抽出した単語が領域Ｃに出現し、かつ、関係Ｒのワードベクトルから抽出した単語が領域Ｒに出現するコンテンツを検索する（５）。次いで、推薦エンジン１０７は、検索処理により抽出されたコンテンツを示すアイテムＩＤのリスト（以下、推薦リスト）を生成する（６）。
【００９３】
状況Ｃのワードリストから抽出される単語、及び関係Ｒのワードリストから抽出される単語の組み合わせは多数存在する。そのため、推薦リストの生成処理は異なる組み合わせについて繰り返し実行され、複数の推薦リストが生成される。推薦エンジン１０７は、複数の推薦リストを統合すると共に、各推薦コンテンツに対してスコアを付与する。そして、推薦エンジン１０７は、付与したスコアに基づいて推薦対象となる推薦コンテンツの組み合わせを選択し、選択された推薦コンテンツを含む推薦リストを生成する（７）。
【００９４】
（図１４〜図１８：オンライン処理の詳細）
上記のように、オンライン処理は、状況Ｃのワードベクトルを生成する際に用いる嗜好ベクトルの更新処理と、推薦リストの生成処理とに大きく分けられる。
【００９５】
（嗜好ベクトルの更新処理）
まず、図１４を参照しながら、嗜好ベクトルの更新処理について説明する。
【００９６】
図１４に示すように、まず、推薦エンジン１０７は、ユーザ嗜好データベース１０２から、推薦要求を行ったユーザ（以下、対象ユーザ）の嗜好ベクトルを抽出する（Ｓ１１１）。例えば、推薦エンジン１０７は、対象ユーザのユーザＩＤと、領域Ｃの領域ＩＤとに対応する特徴量ＩＤのうち、重要度の高い所定数の特徴量ＩＤを抽出して嗜好ベクトルに設定する。次いで、推薦エンジン１０７は、ステップＳ１１１で抽出した対象ユーザの嗜好ベクトルを短縮する（Ｓ１１２）。例えば、推薦エンジン１０７は、嗜好ベクトルに含まれる特徴量ＩＤのうち、重要度の低い所定数の特徴量ＩＤを削除する。
【００９７】
次いで、推薦エンジン１０７は、対象ユーザが選択した新規コンテンツの領域Ｃを特徴付ける単語を抽出し、抽出した単語に対応する特徴量ＩＤを嗜好ベクトルに追加する（Ｓ１１３）。なお、複数の新規コンテンツが選択された場合には、新しい順に大きな重み付けがされた重要度に基づいて領域Ｃを特徴付ける単語が抽出され、その単語に対応する特徴量ＩＤが嗜好ベクトルに追加される（図１６を参照）。次いで、推薦エンジン１０７は、ステップＳ１１３で特徴量ＩＤが追加された嗜好ベクトルに同期するようにユーザ嗜好データベース１０２のレコードを更新し（Ｓ１１４）、一連の処理を終了する。
【００９８】
以上の処理により、対象ユーザが選択した新規コンテンツの情報で更新された嗜好ベクトルが得られる。なお、ここで説明したユーザ嗜好データベース１０２の更新処理は、嗜好抽出エンジン１０１により実行されてもよい。
【００９９】
（推薦リストの生成処理）
次に、図１５〜図１８を参照しながら、推薦リストの生成処理について説明する。
【０１００】
図１５に示すように、まず、推薦エンジン１０７は、ユーザ嗜好データベース１０２から対象ユーザの嗜好ベクトルを取得し、状況Ｃのワードベクトルに設定する（Ｓ１２１）。なお、新規コンテンツの選択に応じた嗜好ベクトルの更新方法については既に説明した通りであり、嗜好ベクトル（状況Ｃのワードベクトル）の生成方法については図１６に模式的に示されている。次いで、推薦エンジン１０７は、事例データベース１０６から１つの事例を選択し、その事例に対応する関係Ｒのワードベクトルを取得する（Ｓ１２２）。
【０１０１】
次いで、推薦エンジン１０７は、図１８（１）に示すように、状況Ｃのワードベクトルから単語（この例では２単語）を抽出し、関係Ｒのワードベクトルから単語（この例では１単語）を抽出して、単語の組み合わせを生成する（Ｓ１２３）。次いで、推薦エンジン１０７は、単語の各組み合わせについて、それぞれ共起するコンテンツ群を検索し、各コンテンツに対するスコアを算出する（Ｓ１２４）。このスコアは、例えば、下記の式（９）に基づいて算出される。但し、下記の式（９）に含まれるｓ１、ｓ２、ｓ３は、下記の式（１０）〜（１２）により定義される。また、ｃ１，ｃ２は、状況Ｃのワードベクトルから抽出された単語を表す。
【０１０２】
【数３】
0005691735.tif 000010
…（９）
0005691735.tif 000011
…（１０）
0005691735.tif 000012
…（１１）
0005691735.tif 000013
…（１２）
【０１０３】
状況Ｃのワードベクトルから抽出される単語と、関係Ｒのワードベクトルから抽出される単語との組み合わせは多数存在する。そこで、推薦エンジン１０７は、全ての組み合わせについて上記のスコアを算出し、コンテンツ毎にスコアを全て足し合わせて、各コンテンツのスコアをリストにした推薦リストを生成する（Ｓ１２５）。次いで、推薦エンジン１０７は、全ての事例について推薦リストを生成したか否かを判定する（Ｓ１２６）。
【０１０４】
全ての事例について推薦リストを生成した場合、推薦エンジン１０７は、処理をステップＳ１２７に進める。一方、全ての事例について推薦リストを生成していない場合、推薦エンジン１０７は、処理をステップＳ１２２に戻し、推薦リストを生成していない事例に関する推薦リストを生成する。処理をステップＳ１２７に進めた場合、推薦エンジン１０７は、全ての事例に対応する推薦リストを組み合わせて対象ユーザに提示し（Ｓ１２７）、一連の処理を終了する。
【０１０５】
（変形例：計算量の削減方法）
図１５に示す処理手順の中では１つ１つの事例について推薦リストを生成していた。しかし、次のように変形することで処理を簡略化することができる。
【０１０６】
まず、推薦エンジン１０７は、図１７に示すように、状況Ｃのワードベクトルを取得する。次いで、推薦エンジン１０７は、状況Ｃのワードベクトルから単語（この例では２単語）を抽出する（１）。次いで、推薦エンジン１０７は、事例データベース１０６を参照し、状況Ｃのワードベクトルから抽出した単語（この例では２単語）が状況Ａのワードベクトル（ｗｏｒｄ  Ａ１，ｗｏｒｄ  Ａ２）に一致する状況Ａ、結果Ｂ、関係Ｒの組を抽出する（２）。次いで、推薦エンジン１０７は、抽出した組から関係Ｒのワードベクトルを抽出する（３）。そして、推薦エンジン１０７は、抽出した関係ＲのワードベクトルをマージしてマージベクトルＲｍｅｒｇｅを生成する（４）。
【０１０７】
次いで、図１８に示すように、推薦エンジン１０７は、状況Ｃのワードベクトルから単語（この例では２単語）を抽出し、マージベクトルＲｍｅｒｇｅから単語（この例では１単語）を抽出する（１）。次いで、推薦エンジン１０７は、抽出した単語の組が共起するコンテンツを検索する（２）。次いで、推薦エンジン１０７は、検索処理により抽出されたコンテンツの推薦リストを生成する（３）。但し、各コンテンツに付与されるスコアの算出方法は、上記の方法と同じである。次いで、推薦エンジン１０７は、上記（３）で生成した推薦リストをユーザに提示する。このような処理手順にすることで、計算量を削減することが可能になる。
【０１０８】
以上、本技術の第１実施形態について説明した。
【０１０９】
＜３：第２実施形態＞
次に、本技術の第２実施形態について説明する。
【０１１０】
［３−１：システム構成］
まず、図１９を参照しながら、本実施形態に係る推薦システム２００のシステム構成について説明する。図１９は、本実施形態に係る推薦システム２００のシステム構成について説明するための説明図である。
【０１１１】
図１９に示すように、推薦システム２００は、主に、嗜好抽出エンジン２０１と、ユーザ嗜好データベース２０２と、コンテンツ特徴量抽出エンジン２０３と、コンテンツ特徴量データベース２０４と、事例関係抽出エンジン２０５と、事例データベース２０６と、推薦エンジン２０７と、Ｒパターン抽出エンジン２０８と、Ｒパターンデータベース２０９（重心データベース）とにより構成される。
【０１１２】
なお、嗜好抽出エンジン２０１、コンテンツ特徴量抽出エンジン２０３、事例関係抽出エンジン２０５、推薦エンジン２０７、Ｒパターン抽出エンジン２０８が有する機能は、図３８に示すハードウェア構成のうち、ＣＰＵ９０２などの機能により実現される。また、ユーザ嗜好データベース２０２、コンテンツ特徴量データベース２０４、事例データベース２０６、Ｒパターンデータベース２０９は、図３８に示すハードウェア構成のうち、ＲＯＭ９０４、ＲＡＭ９０６、記憶部９２０、リムーバブル記録媒体９２８などの機能により実現される。また、推薦システム２００の機能は、単一のハードウェアを利用して実現されてもよいし、ネットワーク又は専用回線により接続された複数のハードウェアを利用して実現されてもよい。
【０１１３】
（コンテンツ特徴量抽出エンジン２０３、コンテンツ特徴量データベース２０４）
まず、コンテンツ特徴量抽出エンジン２０３及びコンテンツ特徴量データベース２０４について説明する。
【０１１４】
コンテンツ特徴量抽出エンジン２０３は、コンテンツ特徴量データベース２０４を構築する手段である。コンテンツ特徴量抽出エンジン２０３は、まず、コンテンツのメタデータを取得する。そして、コンテンツ特徴量抽出エンジン２０３は、取得したメタデータの構造を参照してコンテンツを構成する各領域を識別し、ＴＦ−ＩＤＦ値などに基づいて各領域を特徴付ける一又は複数の単語を抽出する。さらに、コンテンツ特徴量抽出エンジン２０３は、コンテンツの情報、領域の情報、抽出した単語の情報などをコンテンツ特徴量データベース２０４に格納する。なお、コンテンツ特徴量データベース２０４の構造は、図６に示したコンテンツ特徴量データベース１０４の構造と実質的に同じである。このコンテンツ特徴量データベース２０４は、嗜好抽出エンジン２０１、事例関係抽出エンジン２０５、推薦エンジン２０７により利用される。
【０１１５】
（嗜好抽出エンジン２０１、ユーザ嗜好データベース２０２）
次に、嗜好抽出エンジン２０１及びユーザ嗜好データベース２０２について説明する。
【０１１６】
ユーザが機器１０を介して情報を入力すると、入力された情報は、嗜好抽出エンジン２０１に入力される。例えば、ユーザの操作ログは、嗜好抽出エンジン２０１に入力される。ユーザの操作ログが入力されると、嗜好抽出エンジン２０１は、入力された操作ログに基づいてユーザの嗜好を抽出する。嗜好抽出エンジン２０１により抽出されたユーザの嗜好を示す情報は、ユーザ嗜好データベース２０２に格納される。なお、ユーザ嗜好データベース２０２の構造は、図７に示したユーザ嗜好データベース１０２の構造と実質的に同じである。このユーザ嗜好データベース２０２は、推薦エンジン２０７で利用される。
【０１１７】
（事例関係抽出エンジン２０５、事例データベース２０６）
次に、事例関係抽出エンジン２０５及び事例データベース２０６について説明する。
【０１１８】
事例関係抽出エンジン２０５は、コンテンツ特徴量データベース２０４に格納された情報に基づいて事例関係を抽出する。事例関係抽出エンジン２０５により抽出された事例関係を示す情報は、事例データベース２０６に格納される。なお、この事例データベース２０６の構造は、図８に示した事例データベース１０６の構造と実質的に同じである。この構築された事例データベース２０６は、推薦エンジン２０７及びＲパターン抽出エンジン２０８により利用される。
【０１１９】
（Ｒパターン抽出エンジン２０８、Ｒパターンデータベース２０９）
次に、Ｒパターン抽出エンジン２０８及びＲパターンデータベース２０９について説明する。
【０１２０】
Ｒパターン抽出エンジン２０８は、事例データベース２０６に格納された関係Ｒのワードベクトルを用いて各事例をクラスタリングする。次いで、Ｒパターン抽出エンジン２０８は、クラスタ毎に関係Ｒのワードベクトルに含まれる各単語の出現回数を算出する。次いで、Ｒパターン抽出エンジン２０８は、出現回数が最大の単語又は出現回数が多い単語の組をクラスタの重心を示す単語（以下、重心ワード）として選択し、Ｒパターンデータベース２０９に登録する。さらに、Ｒパターン抽出エンジン２０８は、各クラスタと各事例との対応関係をＲパターンデータベース２０９に登録する。
【０１２１】
Ｒパターンデータベース２０９は、図２０及び図２１に示すような構造を有する。なお、ここでは重心データベースをＲパターンデータベース２０９の一部として捉えているが、重心データベースをＲパターンデータベース２０９とは別に設けてもよい。さて、重心データベースは、図２０に示すような構造を有する。図２０に示すように、重心データベースは、クラスタＩＤと、重心ワードＩＤとが対応付けて格納されている。クラスタＩＤは、クラスタを識別するための識別情報である。また、重心ワードＩＤは、重心ワードを識別するための識別情報である。
【０１２２】
また、クラスタと事例との関係について、Ｒパターンデータベース２０９は、図２１に示すような構造を有する。図２１に示すように、Ｒパターンデータベース２０９には、クラスタＩＤ、状況Ａのワードベクトル、結果Ｂのワードベクトル、及び関係Ｒのワードベクトルが対応付けて格納されている。このＲパターンデータベース２０９は、推薦エンジン２０７により利用される。
【０１２３】
（推薦エンジン２０７）
次に、推薦エンジン２０７について説明する。
【０１２４】
推薦エンジン２０７は、機器１０を介してユーザにより推薦要求を受けると、ユーザ嗜好データベース２０２、コンテンツ特徴量データベース２０４、事例データベース２０６、Ｒパターンデータベース２０９に格納された情報に基づいて推薦コンテンツを抽出する。そして、推薦エンジン２０７は、抽出した推薦コンテンツのリストを推薦結果としてユーザに提示する。例えば、あるコンテンツ（以下、新規コンテンツ）をユーザが選択した場合、新規コンテンツの情報が推薦エンジン２０７に入力される。新規コンテンツの情報が入力されると、推薦エンジン２０７は、入力された新規コンテンツを含むコンテンツ群から、状況Ｃのワードベクトルを抽出する。
【０１２５】
状況Ｃのワードベクトルを抽出すると、推薦エンジン２０７は、Ｒパターンデータベース２０９からクラスタの情報（以下、Ｒパターン）を読み出してユーザに提示する。例えば、推薦エンジン２０７は、重心ワードをユーザに提示する。提示されたＲパターンの中からユーザがＲパターンを選択すると、推薦エンジン２０７は、選択されたＲパターンに対応する関係Ｒのワードベクトルを抽出する。さらに、推薦エンジン２０７は、抽出した状況Ｃのワードベクトル及び関係Ｒのワードベクトルを用いて推薦コンテンツを抽出する。そして、推薦エンジン２０７は、各推薦コンテンツに対するスコアを算出し、スコア付けされた推薦コンテンツのリストをユーザに提示する。
【０１２６】
以上、推薦システム２００のシステム構成について説明した。次に、推薦システム２００により実行される処理の流れについて詳細に説明する。
【０１２７】
［３−２：オフライン処理の流れ］
本実施形態のオフライン処理は、事例データベース２０６を生成する段階までは第１実施形態のオフライン処理と実質的に同じである。
【０１２８】
まず、図２４（この例はｊ＝１の場合）に示すように、事例関係抽出エンジン２０５は、状況Ａｊのワードベクトルから単語（この例では２単語）を抽出すると共に、結果Ｂｊのワードベクトルから単語（この例では２単語）を抽出する。次いで、事例関係抽出エンジン２０５は、抽出した単語が共起するコンテンツを検索する。そして、事例関係抽出エンジン２０５は、検索結果として抽出されたコンテンツの領域Ｒからスコアの高い単語を抽出して関係Ｒｊのワードベクトルに設定する。このようにして設定された関係Ｒｊのワードベクトルは、事例データベース２０６に格納される。
【０１２９】
本実施形態のオフライン処理と第１実施形態のオフライン処理との違いは、Ｒパターンデータベース２０９を構築する処理の有無にある。そこで、Ｒパターン抽出エンジン２０８により実行されるＲパターンデータベース２０９の構築処理について、図２５及び図２６を参照しながら説明する。
【０１３０】
図２６に示すように、Ｒパターン抽出エンジン２０８は、まず、関係Ｒのワードベクトルを用いて各事例をクラスタリングする（Ｓ２１１；図２５を参照）。次いで、Ｒパターン抽出エンジン２０８は、各クラスタに属する関係Ｒのワードベクトルに含まれる各単語の出現回数を算出する（Ｓ２１２）。次いで、Ｒパターン抽出エンジン２０８は、ステップＳ２１２で算出した出現回数が最も多い単語又は出現回数の多い単語の組を重心ワードとして選択し、重心データベース（Ｒパターンデータベース２０９）に登録する（Ｓ２１３）。次いで、Ｒパターン抽出エンジン２０８は、クラスタと事例との対応関係をＲパターンデータベース２０９に登録し（Ｓ２１４）、Ｒパターンデータベース２０９の構築に関する一連の処理を終了する。
【０１３１】
以上、オフライン処理の流れについて説明した。
【０１３２】
［３−３：オンライン処理の流れ］
次に、図２２、図２３、図２７〜図２９を参照しながら、推薦システム２００により実行される処理のうち、オンライン処理の流れについて説明する。図２２、図２３、図２７〜図２９は、推薦システム２００により実行される処理のうち、オンライン処理の流れについて説明するための説明図である。
【０１３３】
（図２２：オンライン処理の概要）
図２２に示すように、オンライン処理として実行される主な処理内容は、主に推薦エンジン２０７によるＲパターンの提示、推薦コンテンツの検索及び検索結果の提示である。
【０１３４】
上記の通り、オンライン処理は、推薦要求を受けた際に実行される。つまり、ユーザが新規コンテンツを選択した場合にオンライン処理が実行される。新規コンテンツが選択されると（（１）ユーザ入力）、推薦エンジン２０７は、状況Ｃのワードベクトルを抽出する（２）。このとき、推薦エンジン２０７は、まず、ユーザ嗜好データベース２０２から嗜好ベクトルを抽出し、新規コンテンツの領域Ｃを特徴付ける単語を用いて嗜好ベクトルを更新する。次いで、推薦エンジン２０７は、更新後の嗜好ベクトルを状況Ｃのワードベクトルに設定する。
【０１３５】
次いで、推薦エンジン２０７は、状況Ｃのワードベクトルから単語（この例では２単語）を抽出する（３）。次いで、推薦エンジン２０７は、Ｒパターンデータベース２０９からＲパターンを読み出し、読み出したＲパターンをユーザに提示する。提示したＲパターンの中からユーザがＲパターンを選択すると、推薦エンジン２０７は、ユーザが選択したＲパターンに対応する関係Ｒのワードベクトルから単語（この例では１単語）を抽出する（４）。次いで、推薦エンジン２０７は、状況Ｃのワードベクトルから抽出した単語が領域Ｃに出現し、かつ、関係Ｒのワードベクトルから抽出した単語が領域Ｒに出現するコンテンツを検索する（５）。次いで、推薦エンジン２０７は、検索処理により抽出されたコンテンツを示すアイテムＩＤのリスト（推薦リスト）を生成する（６）。
【０１３６】
状況Ｃのワードリストから抽出される単語、及び関係Ｒのワードリストから抽出される単語の組み合わせは多数存在する。そのため、推薦リストの生成処理は異なる組み合わせについて繰り返し実行され、複数の推薦リストが生成される。推薦エンジン２０７は、複数の推薦リストを統合すると共に、各推薦コンテンツに対してスコアを付与する。そして、推薦エンジン２０７は、付与したスコアに基づいて推薦対象となる推薦コンテンツの組み合わせを選択し、選択された推薦コンテンツを含む推薦リストを生成する（７）。
【０１３７】
（図２３、図２７〜図２９：オンライン処理の詳細）
上記のように、本実施形態に係るオンライン処理には、Ｒパターンをユーザに選択させる処理が含まれる。ここで、オンライン処理の流れについて、より詳細に説明する。
【０１３８】
図２３に示すように、まず、推薦エンジン２０７は、ユーザ嗜好データベース２０２から対象ユーザの嗜好ベクトルを取得し、状況Ｃのワードベクトルに設定する（Ｓ２０１）。なお、新規コンテンツの選択に応じた嗜好ベクトルの更新方法、及び嗜好ベクトル（状況Ｃのワードベクトル）の生成方法は第１実施形態の中で説明した方法と実質的に同じである。次いで、推薦エンジン２０７は、図２７に示すように、複数のＲパターンをユーザに提示し、１つのＲパターンをユーザに選択させる（Ｓ２０２）。次いで、推薦エンジン２０７は、選択されたＲパターンに対応する関係Ｒのワードベクトルを取得する（Ｓ２０３）。
【０１３９】
次いで、推薦エンジン２０７は、図２９に示すように、状況Ｃのワードベクトルから単語（この例では２単語）を抽出し、関係Ｒのワードベクトルから単語（この例では１単語）を抽出して、単語の組み合わせを生成する（Ｓ２０４）。次いで、推薦エンジン２０７は、単語の各組み合わせについて、それぞれ共起するコンテンツ群を検索し、各コンテンツに対するスコアを算出する（Ｓ２０５）。なお、スコアの算出方法は、第１実施形態の中で説明した方法と実質的に同じである。
【０１４０】
状況Ｃのワードベクトルから抽出される単語と、関係Ｒのワードベクトルから抽出される単語との組み合わせは多数存在する。そこで、推薦エンジン２０７は、全ての組み合わせについて上記のスコアを算出し、コンテンツ毎にスコアを全て足し合わせて、各コンテンツのスコアをリストにした推薦リストを生成する（Ｓ２０６）。次いで、推薦エンジン２０７は、全ての事例について推薦リストを生成したか否かを判定する（Ｓ２０７）。
【０１４１】
全ての事例について推薦リストを生成した場合、推薦エンジン２０７は、処理をステップＳ２０８に進める。一方、全ての事例について推薦リストを生成していない場合、推薦エンジン２０７は、処理をステップＳ２０３に戻し、推薦リストを生成していない事例に関する推薦リストを生成する。処理をステップＳ２０８に進めた場合、推薦エンジン２０７は、全ての事例に対応する推薦リストを組み合わせて対象ユーザに提示し（Ｓ２０８）、一連の処理を終了する。
【０１４２】
（変形例：計算量の削減方法）
図２３に示す処理手順の中では１つ１つの事例について推薦リストを生成していた。しかし、第１実施形態の場合と同様、次のように変形することで処理を簡略化することができる。
【０１４３】
まず、推薦エンジン２０７は、図２８に示すように、状況Ｃのワードベクトルを取得する。次いで、推薦エンジン２０７は、状況Ｃのワードベクトルから単語（この例では２単語）を抽出する（１）。次いで、推薦エンジン２０７は、事例データベース２０６を参照し、状況Ｃのワードベクトルから抽出した単語（この例では２単語）が状況Ａのワードベクトル（ｗｏｒｄ  Ａ１，ｗｏｒｄ  Ａ２）に一致する状況Ａ、結果Ｂ、関係Ｒの組を抽出する（２）。但し、ユーザにより選択されたＲパターンに対応する事例の中から、状況Ａ、結果Ｂ、関係Ｒの組が抽出される。次いで、推薦エンジン２０７は、抽出した組から関係Ｒのワードベクトルを抽出する（３）。そして、推薦エンジン２０７は、抽出した関係ＲのワードベクトルをマージしてマージベクトルＲｍｅｒｇｅを生成する（４）。
【０１４４】
次いで、図２９に示すように、推薦エンジン２０７は、状況Ｃのワードベクトルから単語（この例では２単語）を抽出し、マージベクトルＲｍｅｒｇｅから単語（この例では１単語）を抽出する（１）。次いで、推薦エンジン２０７は、抽出した単語の組が共起するコンテンツを検索する（２）。次いで、推薦エンジン２０７は、検索処理により抽出されたコンテンツの推薦リストを生成する（３）。但し、各コンテンツに付与されるスコアの算出方法は、第１実施形態の中で説明した方法と実質的に同じである。次いで、推薦エンジン２０７は、上記（３）で生成した推薦リストをユーザに提示する。このような処理手順にすることで、計算量を削減することが可能になる。
【０１４５】
以上、本技術の第２実施形態について説明した。
【０１４６】
＜４：第３実施形態＞
次に、本技術の第３実施形態について説明する。
【０１４７】
［４−１：システム構成］
まず、図３０を参照しながら、本実施形態に係る推薦システム３００のシステム構成について説明する。図３０は、本実施形態に係る推薦システム３００のシステム構成について説明するための説明図である。
【０１４８】
図３０に示すように、推薦システム３００は、主に、嗜好抽出エンジン３０１と、ユーザ嗜好データベース３０２と、コンテンツ特徴量抽出エンジン３０３と、コンテンツ特徴量データベース３０４と、事例関係抽出エンジン３０５と、事例データベース３０６と、推薦エンジン３０７と、推薦リスト計算エンジン３０８と、推薦リストデータベース３０９とにより構成される。
【０１４９】
なお、嗜好抽出エンジン３０１、コンテンツ特徴量抽出エンジン３０３、事例関係抽出エンジン３０５、推薦エンジン３０７、推薦リスト計算エンジン３０８が有する機能は、図３８に示すハードウェア構成のうち、ＣＰＵ９０２などの機能により実現される。また、ユーザ嗜好データベース３０２、コンテンツ特徴量データベース３０４、事例データベース３０６、推薦リストデータベース３０９は、図３８に示すハードウェア構成のうち、ＲＯＭ９０４、ＲＡＭ９０６、記憶部９２０、リムーバブル記録媒体９２８などの機能により実現される。また、推薦システム３００の機能は、単一のハードウェアを利用して実現されてもよいし、ネットワーク又は専用回線により接続された複数のハードウェアを利用して実現されてもよい。
【０１５０】
（コンテンツ特徴量抽出エンジン３０３、コンテンツ特徴量データベース３０４）
まず、コンテンツ特徴量抽出エンジン３０３及びコンテンツ特徴量データベース３０４について説明する。
【０１５１】
コンテンツ特徴量抽出エンジン３０３は、コンテンツ特徴量データベース３０４を構築する手段である。コンテンツ特徴量抽出エンジン３０３は、まず、コンテンツのメタデータを取得する。そして、コンテンツ特徴量抽出エンジン３０３は、取得したメタデータの構造を参照してコンテンツを構成する各領域を識別し、ＴＦ−ＩＤＦ値などに基づいて各領域を特徴付ける一又は複数の単語を抽出する。さらに、コンテンツ特徴量抽出エンジン３０３は、コンテンツの情報、領域の情報、抽出した単語の情報などをコンテンツ特徴量データベース３０４に格納する。なお、コンテンツ特徴量データベース３０４の構造は、図６に示したコンテンツ特徴量データベース１０４の構造と実質的に同じである。このコンテンツ特徴量データベース３０４は、嗜好抽出エンジン３０１、事例関係抽出エンジン３０５、推薦エンジン３０７により利用される。
【０１５２】
（嗜好抽出エンジン３０１、ユーザ嗜好データベース３０２）
次に、嗜好抽出エンジン３０１及びユーザ嗜好データベース３０２について説明する。
【０１５３】
ユーザが機器１０を介して情報を入力すると、入力された情報は、嗜好抽出エンジン３０１に入力される。例えば、ユーザの操作ログは、嗜好抽出エンジン３０１に入力される。ユーザの操作ログが入力されると、嗜好抽出エンジン３０１は、入力された操作ログに基づいてユーザの嗜好を抽出する。嗜好抽出エンジン３０１により抽出されたユーザの嗜好を示す情報は、ユーザ嗜好データベース３０２に格納される。なお、ユーザ嗜好データベース３０２の構造は、図７に示したユーザ嗜好データベース１０２の構造と実質的に同じである。このユーザ嗜好データベース３０２は、推薦エンジン３０７で利用される。
【０１５４】
（事例関係抽出エンジン３０５、事例データベース３０６）
次に、事例関係抽出エンジン３０５及び事例データベース３０６について説明する。
【０１５５】
事例関係抽出エンジン３０５は、コンテンツ特徴量データベース３０４に格納された情報に基づいて事例関係を抽出する。事例関係抽出エンジン３０５により抽出された事例関係を示す情報は、事例データベース３０６に格納される。なお、この事例データベース３０６の構造は、図８に示した事例データベース１０６の構造と実質的に同じである。この構築された事例データベース３０６は、推薦エンジン３０７及び推薦リスト計算エンジン３０８により利用される。
【０１５６】
（推薦リスト計算エンジン３０８、推薦リストデータベース３０９）
次に、推薦リスト計算エンジン３０８及び推薦リストデータベース３０９について説明する。
【０１５７】
推薦リスト計算エンジン３０８は、事例データベース３０６に格納された情報に基づいて推薦リストを生成する。なお、推薦リスト計算エンジン３０８による推薦リストの生成方法は、上記の第１実施形態に係る推薦エンジン１０７又は第２実施形態に係る推薦エンジン２０７による推薦リストの生成方法と実質的に同じである。但し、推薦リスト計算エンジン３０８は、上記の推薦エンジン１０７、２０７とは異なり、オフライン処理で推薦リストを生成する。そのため、推薦リスト計算エンジン３０８は、状況Ｃのワードベクトルとして、ユーザ嗜好データベース３０２に格納されている嗜好ベクトル又は所定の単語群を用いる。推薦リスト計算エンジン３０８により生成された推薦リストは、推薦リストデータベース３０９に格納される。
【０１５８】
推薦リストデータベース３０９は、図３１に示すような構造を有する。図３１に示すように、推薦リストデータベース３０９には、状況Ｃのワードベクトルと、推薦リストに含まれるコンテンツのアイテムＩＤ及びスコアとが含まれる。この推薦リストデータベース３０９は、推薦エンジン３０７により利用される。
【０１５９】
（推薦エンジン３０７）
次に、推薦エンジン３０７について説明する。
【０１６０】
推薦エンジン３０７は、機器１０を介してユーザにより推薦要求を受けると、ユーザ嗜好データベース３０２、コンテンツ特徴量データベース３０４、事例データベース３０６、推薦リストデータベース３０９に格納された情報に基づいて推薦リストを抽出し、推薦結果としてユーザに提示する。例えば、あるコンテンツ（以下、新規コンテンツ）をユーザが選択した場合、新規コンテンツの情報が推薦エンジン３０７に入力される。新規コンテンツの情報が入力されると、推薦エンジン３０７は、入力された新規コンテンツを含むコンテンツ群から、状況Ｃのワードベクトルを抽出する。次いで、推薦エンジン３０７は、抽出した状況Ｃのワードベクトルから単語の組を抽出し、抽出した単語の組に対応する推薦リストを推薦リストデータベース３０９から抽出する。そして、推薦エンジン３０７は、推薦リストデータベース３０９から抽出した推薦リストをユーザに提示する。
【０１６１】
以上、推薦システム３００のシステム構成について説明した。次に、推薦システム３００により実行される処理の流れについて詳細に説明する。
【０１６２】
［４−２：オフライン処理の流れ］
本実施形態のオフライン処理は、事例データベース３０６を生成する段階までは第１実施形態のオフライン処理と実質的に同じである。
【０１６３】
まず、図３４（この例はｊ＝１の場合）に示すように、事例関係抽出エンジン３０５は、状況Ａｊのワードベクトルから単語（この例では２単語）を抽出すると共に、結果Ｂｊのワードベクトルから単語（この例では２単語）を抽出する。次いで、事例関係抽出エンジン３０５は、抽出した単語が共起するコンテンツを検索する。そして、事例関係抽出エンジン３０５は、検索結果として抽出されたコンテンツの領域Ｒからスコアの高い単語を抽出して関係Ｒｊのワードベクトルに設定する。このようにして設定された関係Ｒｊのワードベクトルは、事例データベース３０６に格納される。
【０１６４】
本実施形態のオフライン処理と第１実施形態のオフライン処理との違いは、オフライン処理で予め推薦リストを生成し、推薦リストデータベース３０９に保持しておく点にある。図３２に示すように、まず、推薦リスト計算エンジン３０８は、ユーザ嗜好データベース３０２に格納された嗜好ベクトル又は所定の単語群（以下、全単語リストＣ’）から単語（この例では２単語）を抽出する（１）。次いで、推薦リスト計算エンジン３０８は、抽出した単語の組と状況Ａのワードベクトルとが一致する事例を抽出する（２）。次いで、推薦リスト計算エンジン３０８は、抽出した事例から関係Ｒのワードベクトルを抽出する（３）。次いで、推薦リスト計算エンジン３０８は、抽出した関係ＲのワードベクトルをマージしてマージベクトルＲｍｅｒｇｅを生成する（４）。
【０１６５】
次いで、図３３に示すように、推薦リスト計算エンジン３０８は、全単語リストＣ’から単語（この例では２単語）を抽出すると共に、マージベクトルＲｍｅｒｇｅから単語（この例では１単語）を抽出する（１）。次いで、推薦リスト計算エンジン３０８は、全単語リストＣ’から抽出した単語を領域Ｃに含み、かつ、マージベクトルＲｍｅｒｇｅから抽出した単語を領域Ｒに含むコンテンツを検索する（２）。次いで、推薦リスト計算エンジン３０８は、検索処理により抽出された各コンテンツのスコアを算出し、推薦リストを生成する（３）。
【０１６６】
なお、上記（１）で抽出される単語の組み合わせは多数存在する。そのため、推薦リスト計算エンジン３０８は、これら多数の組み合わせについて、上記（２）の検索処理及び上記（３）の推薦リストの生成処理を繰り返し実行する。このようにして生成された推薦リストは、推薦リストデータベース３０９に格納される。
【０１６７】
以上、オフライン処理の流れについて説明した。
【０１６８】
［４−３：オンライン処理の流れ］
次に、図３５及び図３６を参照しながら、推薦システム３００により実行される処理のうち、オンライン処理の流れについて説明する。図３５及び図３６は、推薦システム３００により実行される処理のうち、オンライン処理の流れについて説明するための説明図である。
【０１６９】
（オンライン処理の概要）
まず、図３５を参照する。オンライン処理は、推薦要求を受けた際に実行される。ユーザにより新規コンテンツが選択されると（（１）ユーザ入力）、推薦エンジン３０７は、状況Ｃのワードベクトルを抽出する（２）。このとき、推薦エンジン３０７は、まず、ユーザ嗜好データベース３０２から嗜好ベクトルを抽出し、新規コンテンツの領域Ｃを特徴付ける単語を用いて嗜好ベクトルを更新する。次いで、推薦エンジン３０７は、更新後の嗜好ベクトルを状況Ｃのワードベクトルに設定する。
【０１７０】
次いで、推薦エンジン３０７は、状況Ｃのワードベクトルから単語（この例では２単語）を抽出する（３）。次いで、推薦エンジン３０７は、推薦リストデータベース３０９を参照し、抽出した単語の組と同じワードベクトルに対応するコンテンツとスコアとを抽出し、これらコンテンツとスコアとを組み合わせて推薦リストを生成する（４）。状況Ｃのワードリストから抽出される単語、及び関係Ｒのワードリストから抽出される単語の組み合わせは多数存在する。そのため、推薦リストの生成処理は異なる組み合わせについて繰り返し実行され、複数の推薦リストが生成される。推薦エンジン３０７は、複数の推薦リストを統合し、推薦結果としてユーザに提示する。
【０１７１】
（オンライン処理の流れ）
図３５を参照しながら説明したオンライン処理の流れは、図３６のようなフローチャートに纏めることができる。図３６に示すように、推薦エンジン３０７は、状況Ｃのワードベクトルから単語（この例では２単語）の組み合わせを抽出する（Ｓ３１１）。次いで、推薦エンジン３０７は、ステップＳ３１１で抽出した各組み合わせに対応する推薦スコアを推薦リストデータベース３０９から取得する（Ｓ３１２）。次いで、推薦エンジン３０７は、ステップＳ３１３で取得した推薦スコアとコンテンツとを組み合わせた推薦リストを生成してユーザに提示し（Ｓ３１３）、一連の処理を終了する。このように、推薦リストをオフライン処理で予め生成しておくことにより、オンライン処理が大幅に簡略化される。
【０１７２】
以上、本技術の第３実施形態について説明した。
【０１７３】
＜５：応用例（クロスカテゴリ推薦）＞
ここで、上記の第１〜第３実施形態に係る応用例として、クロスカテゴリ推薦への応用について説明する。クロスカテゴリ推薦とは、カテゴリを跨いだ構造写像に基づいてコンテンツの推薦を実行することを意味する。クロスカテゴリ推薦の例としては、図３８に示すように、状況Ａと結果Ｂとの関係Ｒをレシピの紹介ページから抽出し、その関係Ｒと状況Ｃとを用いて、ユーザの嗜好に合った本の紹介ページを推薦する例が挙げられる。レシピの紹介ページと本の紹介ページとは互いに異なるカテゴリに属するコンテンツである。しかし、上記の第１〜第３実施形態に係る技術を適用することにより、このようなカテゴリを跨いだ推薦を実現することが可能になる。
【０１７４】
＜６：ハードウェア構成例＞
上記の推薦システム１００、２００、３００が有する各構成要素の機能は、例えば、図３８に示す情報処理装置のハードウェア構成を用いて実現することが可能である。つまり、当該各構成要素の機能は、コンピュータプログラムを用いて図３８に示すハードウェアを制御することにより実現される。なお、このハードウェアの形態は任意であり、例えば、パーソナルコンピュータ、携帯電話、ＰＨＳ、ＰＤＡ等の携帯情報端末、ゲーム機、又は種々の情報家電がこれに含まれる。但し、上記のＰＨＳは、Ｐｅｒｓｏｎａｌ  Ｈａｎｄｙ−ｐｈｏｎｅ  Ｓｙｓｔｅｍの略である。また、上記のＰＤＡは、Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔの略である。
【０１７５】
図３８に示すように、このハードウェアは、主に、ＣＰＵ９０２と、ＲＯＭ９０４と、ＲＡＭ９０６と、ホストバス９０８と、ブリッジ９１０と、を有する。さらに、このハードウェアは、外部バス９１２と、インターフェース９１４と、入力部９１６と、出力部９１８と、記憶部９２０と、ドライブ９２２と、接続ポート９２４と、通信部９２６と、を有する。但し、上記のＣＰＵは、Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔの略である。また、上記のＲＯＭは、Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙの略である。そして、上記のＲＡＭは、Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙの略である。
【０１７６】
ＣＰＵ９０２は、例えば、演算処理装置又は制御装置として機能し、ＲＯＭ９０４、ＲＡＭ９０６、記憶部９２０、又はリムーバブル記録媒体９２８に記録された各種プログラムに基づいて各構成要素の動作全般又はその一部を制御する。ＲＯＭ９０４は、ＣＰＵ９０２に読み込まれるプログラムや演算に用いるデータ等を格納する手段である。ＲＡＭ９０６には、例えば、ＣＰＵ９０２に読み込まれるプログラムや、そのプログラムを実行する際に適宜変化する各種パラメータ等が一時的又は永続的に格納される。
【０１７７】
これらの構成要素は、例えば、高速なデータ伝送が可能なホストバス９０８を介して相互に接続される。一方、ホストバス９０８は、例えば、ブリッジ９１０を介して比較的データ伝送速度が低速な外部バス９１２に接続される。また、入力部９１６としては、例えば、マウス、キーボード、タッチパネル、ボタン、スイッチ、及びレバー等が用いられる。さらに、入力部９１６としては、赤外線やその他の電波を利用して制御信号を送信することが可能なリモートコントローラ（以下、リモコン）が用いられることもある。
【０１７８】
出力部９１８としては、例えば、ＣＲＴ、ＬＣＤ、ＰＤＰ、又はＥＬＤ等のディスプレイ装置、スピーカ、ヘッドホン等のオーディオ出力装置、プリンタ、携帯電話、又はファクシミリ等、取得した情報を利用者に対して視覚的又は聴覚的に通知することが可能な装置である。但し、上記のＣＲＴは、Ｃａｔｈｏｄｅ  Ｒａｙ  Ｔｕｂｅの略である。また、上記のＬＣＤは、Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙの略である。そして、上記のＰＤＰは、Ｐｌａｓｍａ  ＤｉｓｐｌａｙＰａｎｅｌの略である。さらに、上記のＥＬＤは、Ｅｌｅｃｔｒｏ−Ｌｕｍｉｎｅｓｃｅｎｃｅ  Ｄｉｓｐｌａｙの略である。
【０１７９】
記憶部９２０は、各種のデータを格納するための装置である。記憶部９２０としては、例えば、ハードディスクドライブ（ＨＤＤ）等の磁気記憶デバイス、半導体記憶デバイス、光記憶デバイス、又は光磁気記憶デバイス等が用いられる。但し、上記のＨＤＤは、Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅの略である。
【０１８０】
ドライブ９２２は、例えば、磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリ等のリムーバブル記録媒体９２８に記録された情報を読み出し、又はリムーバブル記録媒体９２８に情報を書き込む装置である。リムーバブル記録媒体９２８は、例えば、ＤＶＤメディア、Ｂｌｕ−ｒａｙメディア、ＨＤ  ＤＶＤメディア、各種の半導体記憶メディア等である。もちろん、リムーバブル記録媒体９２８は、例えば、非接触型ＩＣチップを搭載したＩＣカード、又は電子機器等であってもよい。但し、上記のＩＣは、Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔの略である。
【０１８１】
接続ポート９２４は、例えば、ＵＳＢポート、ＩＥＥＥ１３９４ポート、ＳＣＳＩ、ＲＳ−２３２Ｃポート、又は光オーディオ端子等のような外部接続機器９３０を接続するためのポートである。外部接続機器９３０は、例えば、プリンタ、携帯音楽プレーヤ、デジタルカメラ、デジタルビデオカメラ、又はＩＣレコーダ等である。但し、上記のＵＳＢは、Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓの略である。また、上記のＳＣＳＩは、Ｓｍａｌｌ  Ｃｏｍｐｕｔｅｒ  Ｓｙｓｔｅｍ  Ｉｎｔｅｒｆａｃｅの略である。
【０１８２】
通信部９２６は、ネットワーク９３２に接続するための通信デバイスであり、例えば、有線又は無線ＬＡＮ、Ｂｌｕｅｔｏｏｔｈ（登録商標）、又はＷＵＳＢ用の通信カード、光通信用のルータ、ＡＤＳＬ用のルータ、又は各種通信用のモデム等である。また、通信部９２６に接続されるネットワーク９３２は、有線又は無線により接続されたネットワークにより構成され、例えば、インターネット、家庭内ＬＡＮ、赤外線通信、可視光通信、放送、又は衛星通信等である。但し、上記のＬＡＮは、Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋの略である。また、上記のＷＵＳＢは、Ｗｉｒｅｌｅｓｓ  ＵＳＢの略である。そして、上記のＡＤＳＬは、Ａｓｙｍｍｅｔｒｉｃ  Ｄｉｇｉｔａｌ  Ｓｕｂｓｃｒｉｂｅｒ  Ｌｉｎｅの略である。
【０１８３】
＜７：まとめ＞
最後に、本実施形態の技術的思想について簡単に纏める。以下に記載する技術的思想は、例えば、ＰＣ、携帯電話、携帯ゲーム機、携帯情報端末、情報家電、カーナビゲーションシステム等、種々の情報処理装置に対して適用することができる。また、以下に記載する情報処理装置の一部又は全部の機能をクラウドシステムなどの情報処理システムにより実現することも可能である。
【０１８４】
上記の情報処理装置の機能構成は次のように表現することができる。当該情報処理装置は、以下に示す第１特徴量生成部、第２特徴量生成部、関係特徴量生成部、及び推薦コンテンツ検索部を有する。上記の第１特徴量生成部は、対象ユーザが過去に選択した第１のコンテンツに含まれる第１の種類の情報に基づいて第１の特徴量を生成する手段である。また、上記の第２特徴量生成部は、前記第１のコンテンツを選択した後に前記対象ユーザが選択した第２のコンテンツに含まれる第２の種類の情報に基づいて第２の特徴量を生成する手段である。
【０１８５】
例えば、上記の第１特徴量生成部は、対象ユーザが過去に選択したコンテンツＸ１、…、Ｘｎのメタデータに基づき、コンテンツＸ１、…、Ｘｎのそれぞれについて、予め設定された第１の種類のメタデータが付与された一又は複数の情報領域を認識する。次いで、上記の第１特徴量生成部は、認識した情報領域から所定数の特徴的な情報単位（例えば、単語など）を抽出し、その情報単位を要素に持つ特徴ベクトル（以下、第１の特徴ベクトル）を生成する。なお、コンテンツＸ１、…、Ｘｎは、Ｘ１、…、Ｘｎの順に選択されたものとする。一方、上記の第２特徴量生成部は、対象ユーザにより最後に選択されたコンテンツＸｎの次に選択されたコンテンツＹに注目する。
【０１８６】
まず、上記の第２特徴量生成部は、コンテンツＹのメタデータに基づき、予め設定された第２の種類のメタデータが付与された一又は複数の情報領域を認識する。次いで、上記の第２特徴量生成部は、認識した情報領域から所定数の特徴的な情報単位（例えば、単語など）を抽出し、その情報単位を要素に持つ特徴ベクトル（以下、第２の特徴ベクトル）を生成する。この例におけるコンテンツＹは、対象ユーザが過去にコンテンツＸ１、…、Ｘｎを選択したという事前条件（以下、状況Ａ）の下で選択されたものである。つまり、上記の第１の特徴ベクトルは対象ユーザの状況Ａを特徴付けるものであり、上記の第２の特徴ベクトルは状況Ａの結果（以下、結果Ｂ）を特徴付けるものである。
【０１８７】
さて、上記の関係特徴量生成部は、前記第１特徴量生成部により生成された第１の特徴量と、前記第２特徴量生成部により生成された第２の特徴量とに基づき、前記第１のコンテンツと前記第２のコンテンツとの間の関係を示す関係特徴量を生成する手段である。上記の例に表現を合わせると、上記の関係特徴量生成部は、第１の特徴ベクトルと、第２の特徴ベクトルとを用いて、状況Ａと結果Ｂとの間の関係を示す関係特徴量を生成する手段である。
【０１８８】
例えば、上記の関係特徴量生成部は、第１の特徴ベクトルから抽出した所定数の情報要素と、第２の特徴ベクトルから抽出した所定数の情報要素とが共起するコンテンツを検索する。そして、上記の関係特徴量生成部は、検出されたコンテンツの中から所定数の特徴的な情報単位（例えば、単語など）を抽出し、その情報単位を要素に持つ特徴ベクトル（以下、関連特徴ベクトル）を生成する。このとき、上記の関係特徴量生成部は、所定の情報領域の中から情報単位を抽出するように構成されていてもよい。その場合、上記の関係特徴量生成部は、コンテンツに付与されたメタデータを参照して、情報単位の抽出に用いる情報領域を選択する。なお、上記の関連特徴ベクトルは、状況Ａと結果Ｂとの関係（以下、関係Ｒ）を特徴付けるものである。
【０１８９】
さて、上記の推薦コンテンツ検索部は、前記対象ユーザが新たに選択したコンテンツに含まれる前記第１の種類の情報と、前記関係特徴量生成部により生成された関係特徴量とを用いて、前記対象ユーザに推薦するコンテンツを検索する手段である。上記の例に表現を合わせると、上記の推薦コンテンツ検索部は、上記の状況Ａに対応する新たな状況Ｃが与えられた場合に、その状況Ｃと関係Ｒとを用いて、対象ユーザに推薦すべきコンテンツを検索する手段である。ここで、上記の推薦コンテンツ検索部は、上記の関係Ｒを用いて、上記の状況Ｃに対応する結果Ｘを得る手段ではない点に注意されたい。
【０１９０】
このように、対象ユーザの履歴に基づいて状況Ａと結果Ｂとの関係Ｒを算出し、その関係Ｒを用いて推薦すべきコンテンツを検索することにより、対象ユーザの嗜好に適合した新鮮な情報を含むコンテンツを得ることが可能になる。
【０１９１】
（備考）
上記の推薦システム１００、２００、３００は、コンテンツ推薦装置の一例である。上記の事例関係抽出エンジン１０５、２０５、３０５は、第１特徴量生成部、第２特徴量生成部、関係特徴量生成部の一例である。上記の推薦エンジン１０７、２０７、３０７は、推薦コンテンツ検索部の一例である。上記のＲパターン抽出エンジン２０８は、関係特徴量生成部の一例である。上記の推薦エンジン２０７は、関係選択要求部の一例である。上記の事例データベース１０６、２０６、３０６は、特徴量格納部の一例である。
【０１９２】
以上、添付図面を参照しながら本技術に係る好適な実施形態について説明したが、本技術はここで開示した構成例に限定されないことは言うまでもない。当業者であれば、特許請求の範囲に記載された範疇内において、各種の変更例又は修正例に想到し得ることは明らかであり、それらについても当然に本技術の技術的範囲に属するものと了解される。
【符号の説明】
【０１９３】
１０      機器
１００、２００、３００    推薦システム
１０１、２０１、３０１    嗜好抽出エンジン
１０２、２０２、３０２    ユーザ嗜好データベース
１０３、２０３、３０３    コンテンツ特徴量抽出エンジン
１０４、２０４、３０４    コンテンツ特徴量データベース
１０５、２０５、３０５    事例関係抽出エンジン
１０６、２０６、３０６    事例データベース
１０７、２０７、３０７    推薦エンジン
２０８    Ｒパターン抽出エンジン
２０９    Ｒパターンデータベース
３０８    推薦リスト計算エンジン
３０９    推薦リストデータベース
【図１】
0005691735.tif 000014
【図２】
0005691735.tif 000015
【図３】
0005691735.tif 000016
【図４】
0005691735.tif 000017
【図５】
0005691735.tif 000018
【図６】
0005691735.tif 000019
【図７】
0005691735.tif 000020
【図８】
0005691735.tif 000021
【図９】
0005691735.tif 000022
【図１０】
0005691735.tif 000023
【図１１】
0005691735.tif 000024
【図１２】
0005691735.tif 000025
【図１３】
0005691735.tif 000026
【図１４】
0005691735.tif 000027
【図１５】
0005691735.tif 000028
【図１６】
0005691735.tif 000029
【図１７】
0005691735.tif 000030
【図１８】
0005691735.tif 000031
【図１９】
0005691735.tif 000032
【図２０】
0005691735.tif 000033
【図２１】
0005691735.tif 000034
【図２２】
0005691735.tif 000035
【図２３】
0005691735.tif 000036
【図２４】
0005691735.tif 000037
【図２５】
0005691735.tif 000038
【図２６】
0005691735.tif 000039
【図２７】
0005691735.tif 000040
【図２８】
0005691735.tif 000041
【図２９】
0005691735.tif 000042
【図３０】
0005691735.tif 000043
【図３１】
0005691735.tif 000044
【図３２】
0005691735.tif 000045
【図３３】
0005691735.tif 000046
【図３４】
0005691735.tif 000047
【図３５】
0005691735.tif 000048
【図３６】
0005691735.tif 000049
【図３７】
0005691735.tif 000050
【図３８】
0005691735.tif 000051