(57)【要約】【課題】相性のよいユーザが利用したコンテンツを推薦する。【解決手段】ステップＳ１において、推薦対象ユーザの好きな概念が抽出され、ステップＳ２において、推薦対象ユーザのタイプが決定され、ステップＳ３において、推薦対象ユーザのタイプの概念が検出され、ステップＳ４において、検出された概念と所定の関係を有する概念（対応概念）が検出され、ステップＳ５において、非推薦対象ユーザ全体のタイプが決定され、ステップＳ６において、非推薦対象ユーザ全体のタイプのユーザが、非推薦対象ユーザとして検出され、ステップＳ７において、非推薦対象ユーザの操作履歴や嗜好情報と、推薦対象ユーザの操作履歴や嗜好情報に基づいて、協調フィルタリングが行われ、その結果に基づいて推薦対象ユーザに推薦するユーザが決定される。本発明は、例えば、番組推薦装置に適用できる。【選択図】図１１
2008234043.tif 000002
【特許請求の範囲】
【請求項１】
他のユーザが利用したコンテンツに基づいて、コンテンツを特定の推薦対象ユーザに推薦する情報処理装置において、
前記推薦対象ユーザが好むコンテンツの内容上の所定の概念を抽出する第１の抽出手段と、
前記第１の抽出手段により抽出された前記概念と所定の関係がある所定の概念を抽出する第２の抽出手段と、
前記第２の抽出手段により抽出された前記概念を好む非推薦対象ユーザを検出する非推薦対象ユーザ検出手段と、
前記非推薦対象ユーザ検出手段により検出された前記非推薦対象ユーザが利用したコンテンツに基づいて、前記推薦対象ユーザに推薦するコンテンツを決定する決定手段と
を備える情報処理装置。
【請求項２】
前記第２の抽出手段は、
前記第１の抽出手段により抽出された前記概念から前記特定のユーザの特徴を検出する第１の検出手段と、
前記第１の検出手段により検出された前記特徴を有する概念を検出する第２の検出手段と、
前記第２の検出手段により検出された前記概念と前記所定の関係がある概念を検出する第３の検出手段と
を備え、
前記非推薦対象ユーザ検出手段は、
前記第２の抽出手段の前記第３の検出手段により検出された前記概念から非推薦対象ユーザの特徴を検出する第４の検出手段と、
前記第４の検出手段により検出された前記特徴を有するユーザを、非推薦対象ユーザとして検出する第５の検出手段と
を備える請求項１に記載の情報処理装置。
【請求項３】
前記決定手段は、前記特定のユーザと前記非推薦対象ユーザ間の協調フィルタリングを行い、その結果に基づいて前記特定のユーザに推薦するコンテンツを決定する
請求項１に記載の情報処理装置。
【請求項４】
他のユーザが利用したコンテンツに基づいて、コンテンツを特定の推薦対象ユーザに推薦する情報処理装置の情報処理方法において、
前記推薦対象ユーザが好むコンテンツの内容上の所定の概念を抽出する第１の抽出ステップと、
前記第１の抽出ステップの処理で抽出された前記概念と所定の関係がある所定の概念を抽出する第２の抽出ステップと、
前記第２の抽出ステップの処理で抽出された前記概念を好む非推薦対象ユーザを検出する非推薦対象ユーザ検出ステップと、
前記非推薦対象ユーザ検出ステップの処理で検出された前記非推薦対象ユーザが利用したコンテンツに基づいて、前記推薦対象ユーザに推薦するコンテンツを決定する決定ステップと
を含む情報処理方法。
【請求項５】
他のユーザが利用したコンテンツに基づいて、コンテンツを特定の推薦対象ユーザに推薦する情報処理をコンピュータに実行させるプログラムにおいて、
前記推薦対象ユーザが好むコンテンツの内容上の所定の概念を抽出する第１の抽出ステップと、
前記第１の抽出ステップの処理で抽出された前記概念と所定の関係がある所定の概念を抽出する第２の抽出ステップと、
前記第２の抽出ステップの処理で抽出された前記概念を好む非推薦対象ユーザを検出する非推薦対象ユーザ検出ステップと、
前記非推薦対象ユーザ検出ステップの処理で検出された前記非推薦対象ユーザが利用したコンテンツに基づいて、前記推薦対象ユーザに推薦するコンテンツを決定する決定ステップと
ステップを含む情報処理をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置及び情報処理方法、並びにプログラムに関し、特に、変化に富んだコンテンツ推薦を行うことができるようにした情報処理装置及び情報処理方法、並びにプログラムに関する。
【背景技術】
【０００２】
膨大なコンテンツの中からユーザに推薦するコンテンツを決定する方法として、協調フィルタリングを用いる方法が知られている（特許文献１）。
【０００３】
この方法では、通常、コンテンツを推薦する対象であるユーザ（以下、推薦対象ユーザと称する）の操作履歴などから生成される推薦対象ユーザの嗜好を示す嗜好情報と類似する嗜好情報を有する他のユーザ（以下、類似ユーザと称する）が特定され、推薦対象ユーザの嗜好情報と類似ユーザの嗜好情報に基づいて、協調フィルタリングが行われる。そしてその結果として、類似ユーザが利用したコンテンツであって推薦対象ユーザがまだ利用していないコンテンツが、推薦対象ユーザに推薦される。
【０００４】
【特許文献１】特開２００３−１６７９０１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ところで、実社会の人間関係においては、嗜好傾向は異なるが、いわゆる相性が良い人が存在し、そのような相性の良い人が利用したコンテンツに興味を持つ場合もある。このように嗜好が類似する者以外にも他の観点から見た所定の関係を有する者が利用したコンテンツに興味を持つ可能性がある。
【０００６】
しかしながら従来の方法では、基本的に、嗜好が類似する類似ユーザが利用したコンテンツのみが推薦されるので、例えばいわゆる相性がよい人が利用したコンテンツを推薦することができず、変化に富んだコンテンツ推薦を行うことができない。
【０００７】
本発明は、このような状況に鑑みてなされたものであり、嗜好が類似する類似ユーザが利用したコンテンツだけでなく、例えば相性の良い人が利用したコンテンツを推薦することができるようにするものである。
【課題を解決するための手段】
【０００８】
本発明の一側面の情報処理装置は、他のユーザが利用したコンテンツに基づいて、コンテンツを特定の推薦対象ユーザに推薦する情報処理装置において、前記推薦対象ユーザが好むコンテンツの内容上の所定の概念を抽出する第１の抽出手段と、前記第１の抽出手段により抽出された前記概念と所定の関係がある所定の概念を抽出する第２の抽出手段と、前記第２の抽出手段により抽出された前記概念を好む非推薦対象ユーザを検出する非推薦対象ユーザ検出手段と、前記非推薦対象ユーザ検出手段により検出された前記非推薦対象ユーザが利用したコンテンツに基づいて、前記推薦対象ユーザに推薦するコンテンツを決定する決定手段とを備える。
【０００９】
前記第２の抽出手段は、前記第１の抽出手段により抽出された前記概念から前記特定のユーザの特徴を検出する第１の検出手段と、前記第１の検出手段により検出された前記特徴を有する概念を検出する第２の検出手段と、前記第２の検出手段により検出された前記概念と前記所定の関係がある概念を検出する第３の検出手段とを備え、前記非推薦対象ユーザ検出手段は、前記第２の抽出手段の前記第３の検出手段により検出された前記概念から非推薦対象ユーザの特徴を検出する第４の検出手段と、前記第４の検出手段により検出された前記特徴を有するユーザを、非推薦対象ユーザとして検出する第５の検出手段とを備えることができる。
【００１０】
前記決定手段は、前記特定のユーザと前記非推薦対象ユーザ間の協調フィルタリングを行い、その結果に基づいて前記特定のユーザに推薦するコンテンツを決定することができる。
【００１１】
本発明の一側面の情報処理方法またはプログラムは、他のユーザが利用したコンテンツに基づいて、コンテンツを特定の推薦対象ユーザに推薦する情報処理装置の情報処理方法において、または他のユーザが利用したコンテンツに基づいて、コンテンツを特定の推薦対象ユーザに推薦する情報処理をコンピュータに実行させるプログラムにおいて、前記推薦対象ユーザが好むコンテンツの内容上の所定の概念を抽出する第１の抽出ステップと、前記第１の抽出ステップの処理で抽出された前記概念と所定の関係がある所定の概念を抽出する第２の抽出ステップと、前記第２の抽出ステップの処理で抽出された前記概念を好む非推薦対象ユーザを検出する非推薦対象ユーザ検出ステップと、前記非推薦対象ユーザ検出ステップの処理で検出された前記非推薦対象ユーザが利用したコンテンツに基づいて、前記推薦対象ユーザに推薦するコンテンツを決定する決定ステップとを含む。
【００１２】
本発明の一側面において、前記推薦対象ユーザが好むコンテンツの内容上の所定の概念が抽出され、抽出された前記概念と所定の関係がある所定の概念が抽出され、抽出された前記概念を好む非推薦対象ユーザが検出され、検出された前記非推薦対象ユーザが利用したコンテンツに基づいて、前記推薦対象ユーザに推薦するコンテンツが決定される。
【発明の効果】
【００１３】
本発明の一側面によれば、変化に富んだコンテンツ推薦を行うことができる。
【発明を実施するための最良の形態】
【００１４】
以下に本発明の実施の形態を説明するが、本発明の構成要件と、明細書又は図面に記載の実施の形態との対応関係を例示すると、次のようになる。この記載は、本発明をサポートする実施の形態が、明細書又は図面に記載されていることを確認するためのものである。従って、明細書又は図面中には記載されているが、本発明の構成要件に対応する実施の形態として、ここには記載されていない実施の形態があったとしても、そのことは、その実施の形態が、その構成要件に対応するものではないことを意味するものではない。逆に、実施の形態が構成要件に対応するものとしてここに記載されていたとしても、そのことは、その実施の形態が、その構成要件以外の構成要件には対応しないものであることを意味するものでもない。
【００１５】
本発明の一側面の情報処理装置は、
他のユーザが利用したコンテンツに基づいて、コンテンツを特定の推薦対象ユーザに推薦する情報処理装置において、
前記推薦対象ユーザが好むコンテンツの内容上の所定の概念を抽出する第１の抽出手段（例えば、図１の概念抽出エンジン１１）と、
前記第１の抽出手段により抽出された前記概念と所定の関係がある所定の概念を抽出する第２の抽出手段（例えば、図１の対応概念抽出エンジン２０）と、
前記第２の抽出手段により抽出された前記概念を好む非推薦対象ユーザを検出する非推薦対象ユーザ検出手段（例えば、図１の非推薦対象ユーザ検出エンジン２３）と、
前記非推薦対象ユーザ検出手段により検出された前記非推薦対象ユーザが利用したコンテンツに基づいて、前記推薦対象ユーザに推薦するコンテンツを決定する決定手段（例えば、図１１の協調フィルタリングエンジン２４）と
を備える。
【００１６】
前記第２の抽出手段は、
前記第１の抽出手段により抽出された前記概念から前記特定のユーザの特徴を検出する第１の検出手段（例えば、図１のタイプ検出エンジン１６）と、
前記第１の検出手段により検出された前記特徴を有する概念を検出する第２の検出手段（例えば、図１の類似概念検出エンジン１９）と、
前記第２の検出手段により検出された前記概念と前記所定の関係がある概念を検出する第３の検出手段（例えば、図１の対応関係検出エンジン２０）と
を備え、
前記非推薦対象ユーザ検出手段は、
前記第２の抽出手段の前記第３の検出手段により検出された前記概念から非推薦対象ユーザの特徴を検出する第４の検出手段（例えば、図１のタイプ検出エンジン２２）と、
前記第４の検出手段により検出された前記特徴を有するユーザを、非推薦対象ユーザとして検出する第５の検出手段（例えば、図１の非推薦対象ユーザ検出エンジン２３））と
を備えることができる。
【００１７】
本発明の一側面の情報処理方法またはプログラムは、
他のユーザが利用したコンテンツに基づいて、コンテンツを特定の推薦対象ユーザに推薦する情報処理装置の情報処理方法において、または他のユーザが利用したコンテンツに基づいて、コンテンツを特定の推薦対象ユーザに推薦する情報処理をコンピュータに実行させるプログラムにおいて、
前記推薦対象ユーザが好むコンテンツの内容上の所定の概念を抽出する第１の抽出ステップ（例えば、図１１のステップＳ１）と、
前記第１の抽出ステップの処理で抽出された前記概念と所定の関係がある所定の概念を抽出する第２の抽出ステップ（例えば、図１１のステップＳ４）と、
前記第２の抽出ステップの処理で抽出された前記概念を好む非推薦対象ユーザを検出する非推薦対象ユーザ検出ステップ（例えば、図１１のステップＳ６）と、
前記非推薦対象ユーザ検出ステップの処理で検出された前記非推薦対象ユーザが利用したコンテンツに基づいて、前記推薦対象ユーザに推薦するコンテンツを決定する決定ステップ（例えば、図１１のステップＳ７）と
を含む。
【００１８】
図１は、本発明を適用したコンテンツ推薦装置の構成例を示している。なおここでは、テレビジョン放送番組（以下、番組と略称する）を推薦する場合について説明するが、インターネットで配信される画像、楽曲や書籍など、その他のコンテンツを推薦する場合についても適用することができる。
【００１９】
嗜好抽出エンジン１１は、例えば操作履歴データベース（DB）１２に蓄積されている、番組推薦の対象であるユーザ（すなわち、推薦対象ユーザ）の操作履歴情報を参照して、そのユーザに操作された番組（例えば、視聴や録画等のための操作がなされ、視聴や録画等がなされた番組）を検出するとともに、その番組に対する操作履歴情報と、メタ情報DB１３に蓄積されているその番組のメタ情報に基づいて、推薦対象ユーザの嗜好を抽出する。
【００２０】
嗜好抽出エンジン１１は、抽出した推薦対象ユーザの嗜好を、ユーザ嗜好情報DB１４、概念抽出エンジン１５、及び協調フィルタリングエンジン２４にそれぞれ供給する。
【００２１】
操作履歴DB１２に蓄積されているユーザの操作履歴情報は、例えば図２に示すように、MemberID、ProgramID、LogType、LogValue、及びLogTimeを含んで構成されている。
【００２２】
MemberIDは、このコンテンツ推薦装置によるコンテンツの推薦を受けることができるユーザのID（以下、UserIDと称する）と同一のものである。ProgramIDは、ユーザの操作対象となった番組を示すIDである。
【００２３】
LogTypeは、番組になされた操作の種類を表し、図２の例では、VOTE、DETAIL、RESERVATIONがある。
【００２４】
ここでVOTEは、番組に対する投票操作が行われたことを示し、DETAILは、番組の詳細を見るための操作が行われたことを示し、RESERVATIONは、番組の再生予約や録画予約の操作が行われたことを示す。
【００２５】
なおLogTypeにはVOTE、DETAIL、及びRESERVATIONの他、Play、Stop、及びRemoveなどがある。Playは、録画した番組を再生する操作が行われたことを示し、Stopは、再生を停止する操作が行われたことを示し、Removeは、録画された番組を削除する操作が行われたことを示す。
【００２６】
LogValueは、LogTypeの操作内容を表し、図２の例のように、LogTypeがVOTEである場合、投票内容を示すGOODまたはBADとなる。
【００２７】
LogTimeは、操作がなされた日付時刻を示す。
【００２８】
メタ情報DB１３に蓄積されているメタ情報は、例えば図３に示すように、ProgramID、及びAttributeIDとValueIDの組から構成されている。
【００２９】
ProgramIDは、ユーザが視聴可能な番組を示すIDである。
【００３０】
AttributeIDは、対応するProgramIDを有する番組の、ValueIDで示されるメタ情報の属性（例えば、ジャンル、人物、キーワード、タイトル等）を示すIDである。ValueIDは、対応するAttributeIDで示される属性に属するメタ情報を示すIDである。
【００３１】
例えば、AttributeIDが、メタ情報がジャンルであることを示す１である場合、ValueIDは、番組が、例えばニュース番組、バラエティ番組等であることを示すID（以下、GenreIDと称する）となる。
【００３２】
またAttributeIDが、メタ情報が人物を特定する情報であることを示す２である場合、ValueIDは、例えばその番組に出演している所定の出演者（人物）を示すID（以下、PersonIDと称する）となる。なお以下において、このようにメタ情報が人物を特定する情報であることを示す２のAttributeIDを、適宜、人物AttributeIDと称する。
【００３３】
またAttributeIDが、メタ情報がキーワードであることを示す６である場合、ValueIDは、その番組に関連する所定のキーワードを示すID（以下、KeywordIDと称する）となる。
【００３４】
AttributeIDが、メタ情報がタイトルであることを示す１１である場合、ValueIDは、その番組のタイトル（題名）を示すID（以下、TitleIDと称する）となる。
【００３５】
このように操作履歴DB１２及びメタ情報DB１３は構成されている。すなわち嗜好抽出エンジン１１は、操作履歴DB１２の、推薦対象ユーザのユーザID（すなわち、MemberID）を含む操作履歴情報を参照してそれに含まれるProgramIDを取得するとともに、メタ情報DB１３の、取得したProgramIDを有する番組のメタ情報に基づいて、図４に示したような推薦対象ユーザの嗜好ベクトルＶucを生成する。
【００３６】
図４の例の場合、嗜好ベクトルＶucは、UserID、及びAttributeID、ValueID、Scoreの組から構成されている。
【００３７】
UserIDは、推薦対象ユーザのUserIDである。
【００３８】
AttributeIDは、ユーザが操作した番組のメタ情報の、ジャンル、人物、キーワード、タイトル等の属性を示すIDであり、ValueIDは、AttributeIDに応じた属性に属するメタ情報を示すIDである。
【００３９】
Scoreは、ユーザが操作した番組の操作結果に応じて計算される個々のメタ情報の重みである。
【００４０】
例えば、ユーザがニュース番組をよく視聴している場合、AttributeIDがジャンルを示す１で、ニュースを示すValueIDに対応するScoreは、大きな値となる。
【００４１】
また例えば、ある人物が出演している番組をよく視聴している場合、AttributeIDが人物を示す２で、その人物のIDを示すValueIDに対応するScoreは、大きな値となる。
【００４２】
嗜好抽出エンジン１１は、このように生成した推薦対象ユーザの嗜好ベクトルＶucを、ユーザ嗜好情報DB１４、概念抽出エンジン１５、及び協調フィルタリングエンジン２４に供給する。なおユーザ嗜好情報DB１４に供給された嗜好ベクトルＶucは、図５に示すように蓄積される。
【００４３】
図１に戻り概念抽出エンジン１５は、嗜好抽出エンジン１１から供給された推薦対象ユーザの嗜好に基づいて、推薦対象ユーザの好きな概念を抽出し、タイプ検出エンジン１６に供給する。
【００４４】
具体的には、概念抽出エンジン１５は、嗜好抽出エンジン１１から供給された推薦対象ユーザの嗜好ベクトルＶuc（図４）の中の、所定の属性に関するScore、例えば人物に関するScore（すなわち人物AttributeIDに対応するScore）に着目し、値が高い上位Ｎ個のScoreまたは所定の閾値より大きいScoreに対応するValueIDを選択し、選択したValueID（以下、ここで選択されたValueIDをPersonIDと称する）を、ユーザの好む概念（すなわち人物）を表すものとしてタイプ検出エンジン１６に供給する。
【００４５】
タイプ検出エンジン１６は、概念抽出エンジン１５から供給された推薦対象ユーザの好きな概念と、概念タイプDB１７に蓄積されているその概念のタイプに基づいて、推薦対象ユーザのタイプを決定し、ユーザ概念DB１８に登録したり、類似概念検出エンジン１９に供給する。
【００４６】
概念タイプDB１７に蓄積されている概念情報は、図６に示すように、PersonID、AttributeID、ValueID、及びScoreから構成されている。
【００４７】
PersonIDは、Attributeが２のときのValueIDの値に相当するものであり、人物のIDである。
【００４８】
AttributeIDは、対応するValueIDで示される情報が人物のタイプを示す情報であることを示すID（図６の例では、３）であり、ValueIDは、対応するPersonIDが示す人物のタイプの種類を示すID（以下、PersonCharacterIDと称する）であり、Scoreは、対応するPersonIDが示す人物が、対応するValueIDが示す種類のタイプである度合いを示す値である。
【００４９】
例えばValueIDが、人物タイプが司会系であることを示す１である場合、それに対応するScoreは、PersonIDが示す人物が司会系タイプである度合いを示す。
【００５０】
またValueIDが、人物タイプが癒し系であることを示す２である場合、それに対応するScoreは、PersonIDが示す人物が、癒し系タイプである度合いを示す。
【００５１】
またValueIDが、人物タイプが熱血系であることを示す３である場合、それに対応するScoreは、PersonIDが示す人物が熱血系タイプである度合いを示す。
【００５２】
ここで人物タイプである度合いとは、例えばその人物が出演している番組における役柄の多さによって決定され、司会者として番組に出演する機会が多い人物の司会系タイプの度合いは大きな値となり、逆に司会者として番組に出演する機会が少ない人物の司会系タイプの度合いは小さな値となる。
【００５３】
同様に、例えば性格がやさしい役柄で出演する機会が多い人物の癒し系タイプの度合いは大きな値となり、熱血的な役柄で出演する機会が多い人物の熱血系タイプの度合いは大きな値とされる。なおここでは人物タイプとして、司会系タイプ、癒し系タイプ、熱血系タイプを例として説明するが人物のタイプを表すものであれば、他のものを利用することもできる。
【００５４】
なお人物タイプである度合いの具体的な値は、その人物が出演する番組のメタ情報から算出することもできるし、例えば概念タイプDB１７の管理者が自己の判断で設定することも可能である。
【００５５】
このように概念タイプDB１７は構成されている。すなわち、タイプ検出エンジン１６は、概念タイプDB１７の、概念抽出エンジン１５から供給されたPersonIDに対応するValueIDとScoreを参照して、そのPersonIDが示す人物のタイプベクトルを生成する。そしてタイプ検出エンジン１６は、生成した各人物のタイプベクトルを、例えば足し合わせて平均を取り、その結果得られたタイプベクトルを、推薦対象ユーザのタイプベクトルとして、ユーザ概念DB１８に登録したり、類似概念検出エンジン１９に供給する。
【００５６】
例えば図６の例において、１及び４のPersonIDが概念抽出エンジン１５から供給されてきた場合、図７に示すように、それらのタイプベクトルＶgtが生成される。そしてそれらのタイプベクトルＶgtについて、ValueID毎に、Scoreの平均が取られて、図８に示すような推薦対象ユーザのタイプベクトルＶutが生成される。
【００５７】
概念抽出エンジン１５から供給されてきたPersonIDは、推薦対象ユーザが好む人物（好きな概念）を表し、図７に示したその人物のタイプベクトルＶgtは、その人物（好きな概念）のタイプを表すので、その好きな概念のタイプに基づいて生成された図８に示したタイプベクトルutは、推薦対象ユーザのタイプ（すなわち、特徴）を表していることになる。
【００５８】
生成された推薦対象ユーザのタイプベクトルＶutは、図９に示すようにユーザ概念DB１８に登録されるとともに、類似概念検出エンジン１９に供給される。
【００５９】
なおここでは人物のタイプベクトルＶgtを単純に足し合わせて推薦対象ユーザのタイプベクトルＶutを生成するようにしたが、例えば、足し合わせる際、人物の出演回数を元に人物の重み（出演頻度など)を算出し、その重みを掛け合わせるようにすることもできる。
【００６０】
類似概念検出エンジン１９は、概念タイプDB１７を参照して、タイプ検出エンジン１６から供給された推薦対象ユーザのタイプに対応する概念を検出し、その検索結果を、対応概念検出エンジン２０に供給する。
【００６１】
具体的には、類似概念検出エンジン１９は、概念タイプDB１７（図６）の中のすべての人物についてタイプベクトルを生成し、タイプ検出エンジン１６から供給された推薦対象ユーザのタイプベクトルとの類似度を、例えば２ベクトル間の距離、コサイン尺度、相関係数等を用いて算出するとともに、類似する上位Ｍ個のタイプベクトルまたはある閾値より大きい類似度が得られたタイプベクトルを有する人物を検出する。すなわち推薦対象ユーザが、司会系の人物（正確には、司会者としてよく出演している人物）を好むタイプである場合、司会者としてよく出演している人物（概念）がさらに検出される。
【００６２】
類似概念検出エンジン１９は、検出した人物を示すPersonIDを、対応概念検出エンジン２０に供給する。
【００６３】
対応概念検出エンジン２０は、概念関係DB２１を参照して、類似概念検出エンジン１９から供給された推薦対象ユーザのタイプに対応する概念と所定の関係にある概念（以下、適宜、対応概念と称する）を抽出し、タイプ検出エンジン２２に供給する。
【００６４】
概念関係DB２１に蓄積されている概念関係情報は、図１０に示すように、OrgAttributeID、OrgValueID、DstAttributeID、DstValueID、及びScoreから構成されており、OrgAttributeIDとValueID（PersonID）で示される概念と、DstAttributeIDとDstValueID（PersonID）で示される概念との所定の関係における強さがScoreより表されている。
【００６５】
この例の場合、概念間の所定の関係における強さとは、番組の内容上において、共演関係となっている度合い、恋愛関係となっている度合い、ライバル関係となっている度合い、または番組の説明文中に共起している度合いなどである。
【００６６】
なお共演関係となっている度合いは、番組データをEPG(Electronic Program Guide)ともいう等より取得し、各番組に出演している出演者群の情報を取得し、例えば、式（１）で求められるJaccord係数を、出演者Ａと出演者Ｂが共演関係となっている度合いRWA,Bとして計算することができる。
【００６７】
【数１】
2008234043.tif 000003
【００６８】
Jaccord係数の他、共演関係、共著関係となっている度合いを計算する手法として、Simson係数、ダイス係数、共起頻度、相互情報量、コサイン尺度等の尺度を利用することができる。なおこれらの詳細は、例えば、“人工知能学会論文誌  ２０巻１号Ｅ（２００５年）  Web上の情報からの人間関係ネットワークの抽出”に記載されている。
【００６９】
恋人関係やライバル関係となっている度合いは、主人公やヒロイン、ライバル関係などを示すメタ情報が存在する場合、そのメタ情報をEPG等より取得し、例えば、式（２）を利用して、恋人関係やライバル関係となっている度合いを計算することができる。
【００７０】
【数２】
2008234043.tif 000004
【００７１】
また共起関係の度合いは、番組データをEPG等より取得し、説明文中の出演者の共起関係を元に、式（３）に示すように、その関係の重みを計算することができる。
【００７２】
【数３】
2008234043.tif 000005
【００７３】
すなわち対応概念検出エンジン２０は、概念関係DB２１（図１０）の、類似概念検出エンジン１９から供給されたPersonIDから得られるAttributeID（２）とValueIDをOrgAttributeID（２）とOrgValueIDとする概念関係情報を参照し、OrgAttributeIDとOrgValueID毎に、値が高い上位Ｐ個のScoreまたは所定の閾値より大きいScoreが得られたDstAttributeIDとDstValueIDを取得し、それを（すなわち、PersonIDを）タイプ検出エンジン２２に供給する。
【００７４】
すなわち類似概念検出エンジン１９から供給されたPersonIDが示す人物それぞれと所定の関係を有する人物が検出され、タイプ検出エンジン２２に供給される。
【００７５】
タイプ検出エンジン２２は、対応概念検出エンジン２０から供給された、推薦対象ユーザのタイプの概念（すなわち、ある人物）と所定の関係（例えば、共演関係）を有する概念（すなわち、ある人物）に基づいて、推薦コンテンツを決定する際に参照にするユーザ（以下、非推薦対象ユーザと称する）全体のタイプを決定する。
【００７６】
具体的には、タイプ検出エンジン２２は、概念タイプDB１７の（図６）、対応概念検出エンジン２０から供給されたPersonIDに対応するValueID及びScoreを参照して、PersonIDが示す人物のタイプベクトル（基本的は、図７に示したものと同様のベクトル）を生成する。そしてタイプ検出エンジン２２は、例えば生成した人物のタイプベクトルを足し合わせて平均を取り、その結果得られたタイプベクトルを、非推薦対象ユーザ全体のタイプを表すタイプベクトル（基本的は、図８に示したものと同様のベクトル）とする。タイプ検出エンジン２２は、このように生成した非推薦対象ユーザ全体のタイプベクトルを、非推薦対象ユーザ検出エンジン２３に供給する。
【００７７】
なおここでは人物のタイプベクトルを単純に足し合わせて非推薦対象ユーザ全体のタイプベクトルを生成するようにしたが、例えば、足し合わせる際、人物の出演回数を元に人物の重み（出演頻度など)を算出し、その重みを掛け合わせるようにすることもできる。
【００７８】
非推薦対象ユーザ検出エンジン２３は、タイプ検出エンジン２２から供給された非推薦対象ユーザ全体のタイプに基づいて、非推薦対象ユーザを検出し、協調フィルタリングエンジン２４に供給する。
【００７９】
具体的には非推薦対象ユーザ検出エンジン２３は、ユーザ概念DB１８（図９）に基づいて、全ユーザのタイプベクトル（基本的には、図７に示すタイプベクトルと同様の構成を有し、図７のPersonIDがUserIDとなったもの）を生成するとともに、タイプ検出エンジン２２から供給された非推薦対象ユーザのタイプベクトルとの類似度を、例えば２ベクトル間の距離、コサイン尺度、相関係数等を用いて算出し、類似する上位Ｑ個またはある閾値より大きい類似度が得られたタイプベクトルを有する非推薦対象ユーザ（UserID）を検出する。非推薦対象ユーザ検索エンジン２３は、検出した非推薦対象ユーザのUserIDを、協調フィルタリングエンジン２４に供給する。
【００８０】
協調フィルタリングエンジン２４は、非推薦対象ユーザ検出エンジン２３から供給された非推薦対象ユーザの操作履歴や嗜好情報と、推薦対象ユーザの操作履歴や嗜好情報に基づいて、協調フィルタリングを行い、その結果に基づいて推薦対象ユーザに推薦する番組を決定する。
【００８１】
具体的には、協調フィルタリングエンジン２４は、ユーザ嗜好情報DB１４(図５)の、非推薦対象ユーザ検出エンジン２３から供給された非推薦対象ユーザのUserIDの嗜好ベクトルを読み出す。
【００８２】
そして協調フィルタリングエンジン２４は、読み出した非推薦対象ユーザの嗜好ベクトルと嗜好抽出エンジン１１から供給された推薦対象ユーザの嗜好ベクトルなどに基づいて、例えば、式（４）を演算して、非推薦対象ユーザの嗜好ベクトルの中で重みが高く、推薦対象ユーザがまだ利用していない番組を検出する。
【００８３】
【数４】
2008234043.tif 000006
【００８４】
式（４）中WCiは、推薦対象ユーザに推薦する番組iの重みであり、Rjは、非推薦対象ユーザのタイプベクトルと非推薦対象ユーザのタイプベクトルの類似度であり、WC(j)は、非推薦対象ユーザjの番組iの重みである。
【００８５】
なおこのように式（４）を用いて推薦するコンテンツを決定する方法の他、非推薦対象ユーザの好んでいる番組(例えば、視聴したものや嗜好ベクトル内で重みの高いもの等)で推薦対象ユーザが好んでいない番組(例えば、視聴していないものや嗜好ベクトル内で重みの低いもの等)を推薦する番組とすることもできる。
【００８６】
協調フィルタリングエンジン２４は、このように検出した推薦コンテンツがリストアップされた推薦リストを生成する。生成された推薦リストは、例えば図示せぬ表示部に表示され、ユーザに提示される。
【００８７】
なお協調フィルタリングの結果として、メタ情報が抽出される場合、それらを推薦リストに提示したり、そのメタ情報を嗜好ベクトルの更新に利用したりすることができる。
【００８８】
次に、コンテンツ推薦装置の動作を、図１１のフローチャートを参照して説明する。
【００８９】
ステップＳ１において、ユーザの好きな概念が抽出される。
【００９０】
すなわち嗜好抽出エンジン１１は、操作履歴DB１２（図２）の、推薦対象ユーザのユーザID（MemberID）を含む操作履歴情報を参照してそれに含まれるProgramIDを取得するとともに、メタ情報DB１３（図３）の、取得したProgramIDを有する番組のメタ情報に基づいて、図４に示したような推薦対象ユーザの嗜好ベクトルＶucを生成し、ユーザ嗜好情報DB１４、概念抽出エンジン１５、及び協調フィルタリングエンジン２４に供給する。なお推薦対象ユーザの嗜好ベクトルＶucがユーザ嗜好情報DB１４にすでに蓄積されている場合、嗜好抽出エンジン１１は、ユーザ嗜好情報DB１４から推薦対象ユーザの嗜好ベクトルＶucを読み出すようにすることもできる。
【００９１】
概念抽出エンジン１５は、嗜好抽出エンジン１１から供給された推薦対象ユーザの嗜好ベクトルＶucの中の人物AttributeIDに対応するValueIDのScoreに着目し、例えば、値が高い上位Ｎ個のScoreに対応するValueIDを選択し、選択したValueID（すなわち、PersonID）を、推薦対象ユーザの好む概念（すなわち、人物）を表すものとして、推薦対象タイプ検出エンジン１６に供給する。
【００９２】
ステップＳ２において、推薦対象ユーザのタイプが決定される。
【００９３】
すなわち、タイプ検出エンジン１６は、概念タイプDB１７（図６）の、概念抽出エンジン１５から供給されたPersonIDに対応するScoreを参照して、そのPersonIDが示す人物のタイプベクトルＶgt（図７）を生成する。そしてタイプ検出エンジン１６は、生成した人物のタイプベクトルＶgtを、例えば足し合わせて平均を取り、推薦対象ユーザのタイプベクトルＶut（図８）を生成し、ユーザ概念DB１８に登録したり、類似概念検出エンジン１９に供給する。
【００９４】
ステップＳ３において、推薦対象ユーザのタイプに対応する概念が検出される。
【００９５】
類似概念検出エンジン１９は、概念タイプDB１７（図６）の中のすべての人物についてタイプベクトルを生成し、タイプ検出エンジン１６から供給された推薦対象ユーザのタイプベクトルＶutとの類似度を算出するとともに、例えば類似する上位Ｍ個のタイプベクトルを有する人物を検出する。類似概念検出エンジン１９は、検出した人物のPersonIDを、対応概念検出エンジン２０に供給する。
【００９６】
ステップＳ４において、ステップＳ３で検出された概念と所定の関係を有する概念（すなわち、対応概念）が検出される。
【００９７】
すなわち対応概念検出エンジン２０は、概念関係DB２１（図１０）の、類似概念検出エンジン１９から供給されたPersonIDに対応するAttributeIDとValueIDをOrgAttributeIDとOrgValueIDとする概念関係情報を参照し、OrgAttributeIDとOrgValueID毎に、高いScoreが得られたDstAttributeIDとDstValueIDを取得し、それを（すなわち、PersonIDを）タイプ検出エンジン２２に供給する。
【００９８】
ステップＳ５において、非推薦対象ユーザ全体のタイプが決定される。
【００９９】
すなわちタイプ検出エンジン２２は、概念タイプDB１７の（図６）、対応概念検出エンジン２０から供給されたPersonIDに対応するValueID及びScoreを参照して、そのPersonIDが示す人物のタイプベクトルを生成する。そしてタイプ検出エンジン２２は、例えば、生成した人物のタイプベクトルを足し合わせ平均を取り、非推薦対象ユーザ全体のタイプベクトルを生成する。タイプ検出エンジン２２は、このように生成した非推薦対象ユーザ全体のタイプベクトルを、非推薦対象ユーザ検出エンジン２３に供給する。
【０１００】
ステップＳ６において、非推薦対象ユーザ全体のタイプのユーザが、非推薦対象ユーザとして検出される。
【０１０１】
すなわち非推薦対象ユーザ検出エンジン２３は、ユーザ概念DB１８（図９）に基づいて、全ユーザのタイプベクトルを生成するとともに、タイプ検出エンジン２２から供給された非推薦対象ユーザ全体のタイプベクトルとの類似度を算出し、例えば類似する上位Ｑ個のタイプベクトルを有するユーザ（すなわち、非推薦対象ユーザ）を検出し、その非推薦対象ユーザのUserIDを、協調フィルタリングエンジン２４に供給する。
【０１０２】
ステップＳ７において、協調フィルタリングエンジン２４は、非推薦対象ユーザ検出エンジン２３から供給された非推薦対象ユーザの操作履歴や嗜好情報と、推薦対象ユーザの操作履歴や嗜好情報に基づいて、協調フィルタリングを行い、その結果に基づいて推薦対象ユーザに推薦するユーザを決定し、決定した番組がリストアップされた推薦リストを生成する。
【０１０３】
以上のように、推薦対象ユーザが好むコンテンツの内容上の所定の概念（例えば、ある人物）と所定の関係（例えば、共演関係）がある所定の概念（例えば、ある人物）を好むユーザを、非推薦対象ユーザとして検出するようにしたので、概念同士の関係に対応する関係を有するユーザを、非推薦対象ユーザとして検出することができる。
【０１０４】
例えばコンテンツがドラマ番組である場合、それに出演している出演者同士の関係は、実社会の人間関系となっている。例えば、恋人関係となることが多い出演者は、一方が情熱的な役柄で、他方がいわゆるやさしい性格の役柄であるなど、役柄においては、いわゆる嗜好が類似する関係ではないが、恋人同士としてふさわしい、すなわち相性がよい関係となっている。ライバル関係となることが多い出演者同士も、ある意味相性がよい関係であるということができる。
【０１０５】
そこで好む概念同士が所定の関係にあるユーザとも、その所定の関係が擬似的に成立するものとし（すなわち相性がよいものとし）、そのようなユーザを、非推薦対象ユーザとして検出するようにすれば、嗜好が類似するユーザに限らず、概念同士の関係に応じたユーザを、非推薦対象ユーザとして検出することができので、変化に富んだコンテンツ推薦を行うことができる。
【０１０６】
また推薦対象ユーザが好む概念（例えば、ある人物）から推薦対象ユーザの特徴（例えば、推薦対象ユーザのタイプベクトル）を求め、その特徴を有する概念（例えば、ある人物）と所定の関係（例えば、共演関係）がある所定の概念（例えば、ある人物）を求め、その所定の概念から非推薦対象ユーザとしての特徴（例えば、非推薦対象ユーザ全体のタイプベクトル）を求め、そしてその特徴を有するユーザを、非推薦対象ユーザとして検出するようにしたので、非推薦対象ユーザをより広い範囲から適切に検出することができる。
【０１０７】
なお以上においては、主に、「概念」を番組に出演する人物（出演者）をとし、「概念同士の関係」を共演関係として説明したが、例えば番組内またはその説明文で使用される所定のキーワードを「概念」とし、キーワード同士の共起関係を「概念同士の関係」とすることもできる。すなわちコンテンツ推薦において有用な実社会での人間関係に対応する関係を有するものであれば、「概念」または「概念同士の関係」とすることができる。
【０１０８】
また以上においては、「概念」が１個である場合を例として説明したが、複数の「概念」を設け、所定の「概念」の組み合わせ同士の関係を利用することもできる。
【０１０９】
図１２は、上述した一連の処理をプログラムにより実行するコンピュータのハードウェアの構成例を示すブロック図である。
【０１１０】
コンピュータにおいて、CPU（Central Processing Unit）２０１，ROM（Read Only Memory）２０２，RAM（Random Access Memory）２０３は、バス２０４により相互に接続されている。
【０１１１】
バス２０４には、さらに、入出力インタフェース２０５が接続されている。入出力インタフェース２０５には、キーボード、マウス、マイクロホンなどよりなる入力部２０６、ディスプレイ、スピーカなどよりなる出力部２０７、ハードディスクや不揮発性のメモリなどよりなる記憶部２０８、ネットワークインタフェースなどよりなる通信部２０９、磁気ディスク、光ディスク、光磁気ディスク、あるいは半導体メモリなどのリムーバブルメディア２１１を駆動するドライブ２１０が接続されている。
【０１１２】
以上のように構成されるコンピュータでは、CPU２０１が、例えば、記憶部２０８に記憶されているプログラムを、入出力インタフェース２０５及びバス２０４を介して、RAM２０３にロードして実行することにより、上述した一連の処理が行われる。
【０１１３】
コンピュータ（CPU２０１）が実行するプログラムは、例えば、磁気ディスク（フレキシブルディスクを含む）、光ディスク（CD-ROM(Compact Disc-Read Only Memory),DVD(Digital Versatile Disc)等）、光磁気ディスク、もしくは半導体メモリなどよりなるパッケージメディアであるリムーバブルメディア２１１に記録して、あるいは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供される。
【０１１４】
そして、プログラムは、リムーバブルメディア２１１をドライブ２１０に装着することにより、入出力インタフェース２０５を介して、記憶部２０８にインストールすることができる。また、プログラムは、有線または無線の伝送媒体を介して、通信部２０９で受信し、記憶部２０８にインストールすることができる。その他、プログラムは、ROM２０２や記憶部２０８に、あらかじめインストールしておくことができる。
【０１１５】
なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
【図面の簡単な説明】
【０１１６】
【図１】本発明を適用したコンテンツ推薦装置の構成例を示すブロック図である。
【図２】図１の操作履歴DB１２に蓄積されている操作履歴情報の例を示す図である。
【図３】図１のメタ情報DB１３に蓄積されているメタ情報の例を示す図である。
【図４】嗜好ベクトルの例を示す図である。
【図５】図１のユーザ嗜好情報DB１４に蓄積されている嗜好情報の例を示す図である。
【図６】図１の概念タイプDB１７に蓄積されている概念タイプ情報の例を示す図である。
【図７】人物のタイプベクトルの例を示す図である。
【図８】推薦対象ユーザのタイプベクトルの例を示す図である。
【図９】図１のユーザ概念DB１８に蓄積されているタイプベクトルの例を示す図である。
【図１０】図１の概念関係DB２１に蓄積されている概念関係情報の例を示す図である。
【図１１】コンテンツ推薦装置の動作を説明するフローチャートである。
【図１２】パーソナルコンピュータの構成例を示すブロック図である。
【符号の説明】
【０１１７】
１１  嗜好抽出エンジン，  １２  操作履歴DB，  １３  メタ情報DB，  １４  ユーザ嗜好情報DB，  １５  概念抽出エンジン，  １６  タイプ検出エンジン，  １７  概念タイプDB，  １８  ユーザ概念DB，  １９  類似概念検出エンジン，  ２０  対応概念検出エンジン，  ２１  概念関係DB，  ２２  タイプ検出エンジン，  ２３  非推薦対象ユーザ検出エンジン，  ２４  協調フィルタリングエンジン
【図１】
2008234043.tif 000007
【図２】
2008234043.tif 000008
【図３】
2008234043.tif 000009
【図４】
2008234043.tif 000010
【図５】
2008234043.tif 000011
【図６】
2008234043.tif 000012
【図７】
2008234043.tif 000013
【図８】
2008234043.tif 000014
【図９】
2008234043.tif 000015
【図１０】
2008234043.tif 000016
【図１１】
2008234043.tif 000017
【図１２】
2008234043.tif 000018