(57)【要約】【課題】嗜好モデルを構成する有向グラフを容易に更新可能な情報処理装置を提供する。【解決手段】有向グラフにおける判定ノードには、番組情報に含まれている複数の属性情報うちの１つの属性情報と、当該判定ノードに係るユーザの嗜好度合いを判定するための判定式を表す情報とが含まれ、開始ノードは、その開始ノードに後続する判定ノードに対応づけられている判定式による判定結果に基づいてユーザの嗜好に関する所定の判定を行うための１又は複数のルールを生成するプログラムの開始点であって、１又は複数の判定ノードへの接続情報が対応づけられている、データ構造を有する嗜好モデル１５１を用い、番組情報を入力し、嗜好モデル１５１に基づいて生成された１又は複数のルールをその番組情報に対してあてはめることで、ユーザの嗜好を推定するコンテンツ評価部１２０を備える情報処理装置１０である。【選択図】図１
2014110004.tif 000002
【特許請求の範囲】
【請求項１】
複数のノードと、前記複数のノード間を方向性を有して接続する複数のエッジとで構成された有向グラフで表され、
前記複数のノードが開始ノード又は判定ノードであり、
前記判定ノードには、複数の属性情報を用いてコンテンツの属性を表すコンテンツ情報に含まれている前記複数の属性情報うちの１つの属性情報と、当該判定ノードに係るユーザの嗜好度合いを判定するための判定式を表す情報と、が対応づけられていて、
前記開始ノードは、該開始ノードに後続する１又は複数の前記判定ノードに対応づけられている１又は複数の前記判定式による１又は複数の判定結果に基づいてユーザの嗜好に関する所定の判定を行うための１又は複数のルールを生成するプログラムの開始点であって、１又は複数の前記判定ノードへの接続情報が対応づけられている、
データ構造を有する嗜好モデル、を記憶した記憶部と、
前記コンテンツ情報を入力し、前記嗜好モデルに基づいて生成された１又は複数の前記ルールを該コンテンツ情報に対してあてはめることで、ユーザの嗜好を推定する推定部と
を備える情報処理装置。
【請求項２】
前記判定ノードには、さらに、当該判定ノードに対応づけられている前記判定式の信頼性を表すための所定のパラメータが対応づけられていて、
前記嗜好モデルに基づいて生成された前記ルールには、該ルールを生成する際に基準とした前記１又は複数の判定結果を求めた前記１又は複数の判定式の信頼性を表す前記１又は複数の所定のパラメータを用いて求めた値であって、該ルールの信頼度を表す値が設定されていて、
前記推定部が、前記１又は複数のルールを前記コンテンツ情報に対してあてはめる際に、前記各ルールに設定されている前記各信頼度を表す値を利用する
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記嗜好モデルが、複数の前記コンテンツ情報に基づいて生成又は更新されたものであり、
前記判定ノードに対応づけられている前記所定のパラメータが、前記嗜好モデルを生成又は更新する際に基準とされた前記複数のコンテンツ情報に当該判定ノードに対応づけられている前記属性情報が出現した頻度に応じたものである
ことを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記推定部が、遺伝的アルゴリズムを用いて、前記嗜好モデルに対して進化処理を行いつつ、前記ユーザの嗜好を推定する
ことを特徴とする請求項１から３のいずれか１項に記載の情報処理装置。
【請求項５】
複数のノードと、前記複数のノード間を方向性を有して接続する複数のエッジとで構成された有向グラフで表され、
前記複数のノードが開始ノード又は判定ノードであり、
前記判定ノードには、複数の属性情報を用いてコンテンツの属性を表すコンテンツ情報に含まれている前記複数の属性情報うちの１つの属性情報と、当該判定ノードに係るユーザの嗜好度合いを判定するための判定式を表す情報と、が対応づけられていて、
前記開始ノードは、該開始ノードに後続する１又は複数の前記判定ノードに対応づけられている１又は複数の前記判定式による１又は複数の判定結果に基づいてユーザの嗜好に関する所定の判定を行うための１又は複数のルールを生成するプログラムの開始点であって、１又は複数の前記判定ノードへの接続情報が対応づけられている、
データ構造を有する嗜好モデル、を所定の記憶部に記憶し、
推定部によって、前記コンテンツ情報を入力し、前記嗜好モデルに基づいて生成された１又は複数の前記ルールを該コンテンツ情報に対してあてはめることで、ユーザの嗜好を推定する
ことを特徴とする情報処理方法。
【請求項６】
ユーザの嗜好モデルを表すためのデータ構造であって、
複数のノードと、前記複数のノード間を方向性を有して接続する複数のエッジとで構成された有向グラフで表され、
前記複数のノードが開始ノード又は判定ノードであり、
前記判定ノードには、複数の属性情報を用いてコンテンツの属性を表すコンテンツ情報に含まれている前記複数の属性情報うちの１つの属性情報と、当該判定ノードに係るユーザの嗜好度合いを判定するための判定式を表す情報と、が対応づけられていて、
前記開始ノードは、該開始ノードに後続する１又は複数の前記判定ノードに対応づけられている１又は複数の前記判定式による１又は複数の判定結果に基づいてユーザの嗜好に関する所定の判定を行うための１又は複数のルールを生成するプログラムの開始点であって、１又は複数の前記判定ノードへの接続情報が対応づけられている、
ことを特徴とするデータ構造。
【請求項７】
前記判定ノードには、さらに、当該判定ノードに対応づけられている前記判定式の信頼性を表すための所定のパラメータが対応づけられている
ことを特徴とする請求項６に記載のデータ構造。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ユーザの嗜好にあったコンテンツを推薦する際に用いて好適な情報処理装置及び情報処理方法並びにデータ構造に関する。
【背景技術】
【０００２】
動画等のコンテンツの視聴や録画を行う際に、コンテンツの内容を表す文字、コード等からなるメタ情報を用いて、ユーザの嗜好にあったコンテンツを自動的に抽出して推薦する技術がある。例えば、特許文献１には、ネットワークを介して他のユーザの嗜好度を表すデータ利用することで、本人の嗜好にあったコンテンツを自動的に選択可能とする技術が示されている。
【０００３】
また、特許文献２には、ベイジアンネットワーク（Ｂａｙｅｓｉａｎ  Ｎｅｔｗｏｒｋ）を用いて生成した嗜好モデルを利用してコンテンツの推薦するための技術が示されている。特許文献２に記載されている嗜好モデルは、複数のノードと、複数のノードの親子関係を示す接続情報とから表されている。ここで、複数のノードは、番組情報に含まれている各項目等に対応した確率変数を表す。また、親ノードと子ノードとの間の接続は、因果関係、すなわち原因と結果との関係を表す。これらの各ノード間の関係は、有向グラフで表される。さらに、親ノードと子ノードとの間の因果関係は、条件付き確率で表される。すなわち、親ノードの確率変数で求めた結果を条件として子ノードの確率変数が求められる。この各ノードが表す条件付き確率の値は、ユーザの各項目に対する視聴確率に対応している。なお、特許文献２のシステムでは、嗜好モデル学習部が、過去の一定期間の視聴履歴に基づいて嗜好モデル内の条件付き確率の値を計算する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００３−１１４９０３号公報
【特許文献２】特開２００８−２６２３９８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１に記載されている技術では、他のユーザの嗜好の度合いを示すデータを利用することで、本人の嗜好を推定する際に利用可能な情報量を多くしている。しかし、ネットワーク接続を前提としているため、トラフィック量の増加や、オフライン環境での使用について一定の課題がある。
【０００６】
一方、特許文献２に記載されている技術では、例えば新しい項目を嗜好モデルに追加する処理に、次のような制約があるという課題がある。すなわち、特許文献２に記載されている嗜好モデルには、複数のノード間に親子関係が存在する。そのため、例えば、新たにノードを追加したり、削除したりすると、その追加したり削除したりしたノードを親ノードとする子ノードの内容も変更しなければならない。したがって、ノードの追加や削除の処理が過大になってしまうという課題がある。
【０００７】
本発明は、上記の事情を考慮してなされたものであり、上記の課題を解決することができる情報処理装置及び情報処理方法並びにデータ構造を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記課題を解決するため、本発明の情報処理装置は、複数のノードと、前記複数のノード間を方向性を有して接続する複数のエッジとで構成された有向グラフで表され、前記複数のノードが開始ノード又は判定ノードであり、前記判定ノードには、複数の属性情報を用いてコンテンツの属性を表すコンテンツ情報に含まれている前記複数の属性情報うちの１つの属性情報と、当該判定ノードに係るユーザの嗜好度合いを判定するための判定式を表す情報と、が対応づけられていて、前記開始ノードは、該開始ノードに後続する１又は複数の前記判定ノードに対応づけられている１又は複数の前記判定式による１又は複数の判定結果に基づいてユーザの嗜好に関する所定の判定を行うための１又は複数のルールを生成するプログラムの開始点であって、１又は複数の前記判定ノードへの接続情報が対応づけられている、データ構造を有する嗜好モデル、を記憶した記憶部と、前記コンテンツ情報を入力し、前記嗜好モデルに基づいて生成された１又は複数の前記ルールを該コンテンツ情報に対してあてはめることで、ユーザの嗜好を推定する推定部とを備える。
【０００９】
また、本発明の他の情報処理装置は、前記判定ノードには、さらに、当該判定ノードに対応づけられている前記判定式の信頼性を表すための所定のパラメータが対応づけられていて、前記嗜好モデルに基づいて生成された前記ルールには、該ルールを生成する際に基準とした前記１又は複数の判定結果を求めた前記１又は複数の判定式の信頼性を表す前記１又は複数の所定のパラメータを用いて求めた値であって、該ルールの信頼度を表す値が設定されていて、前記推定部が、前記１又は複数のルールを前記コンテンツ情報に対してあてはめる際に、前記各ルールに設定されている前記各信頼度を表す値を利用することを特徴とする。
【００１０】
また、本発明の他の情報処理装置は、前記嗜好モデルが、複数の前記コンテンツ情報に基づいて生成又は更新されたものであり、前記判定ノードに対応づけられている前記所定のパラメータが、前記嗜好モデルを生成又は更新する際に基準とされた前記複数のコンテンツ情報に当該判定ノードに対応づけられている前記属性情報が出現した頻度に応じたものであることを特徴とする。
【００１１】
また、本発明の他の情報処理装置は、前記推定部が、遺伝的アルゴリズムを用いて、前記嗜好モデルに対して進化処理を行いつつ、前記ユーザの嗜好を推定することを特徴とする。
【００１２】
また、本発明の情報処理方法は、複数のノードと、前記複数のノード間を方向性を有して接続する複数のエッジとで構成された有向グラフで表され、前記複数のノードが開始ノード又は判定ノードであり、前記判定ノードには、複数の属性情報を用いてコンテンツの属性を表すコンテンツ情報に含まれている前記複数の属性情報うちの１つの属性情報と、当該判定ノードに係るユーザの嗜好度合いを判定するための判定式を表す情報と、が対応づけられていて、前記開始ノードは、該開始ノードに後続する１又は複数の前記判定ノードに対応づけられている１又は複数の前記判定式による１又は複数の判定結果に基づいてユーザの嗜好に関する所定の判定を行うための１又は複数のルールを生成するプログラムの開始点であって、１又は複数の前記判定ノードへの接続情報が対応づけられている、データ構造を有する嗜好モデル、を所定の記憶部に記憶し、推定部によって、前記コンテンツ情報を入力し、前記嗜好モデルに基づいて生成された１又は複数の前記ルールを該コンテンツ情報に対してあてはめることで、ユーザの嗜好を推定することを特徴とする。
【００１３】
また、本発明のデータ構造は、  ユーザの嗜好モデルを表すためのデータ構造であって、複数のノードと、前記複数のノード間を方向性を有して接続する複数のエッジとで構成された有向グラフで表され、前記複数のノードが開始ノード又は判定ノードであり、前記判定ノードには、複数の属性情報を用いてコンテンツの属性を表すコンテンツ情報に含まれている前記複数の属性情報うちの１つの属性情報と、当該判定ノードに係るユーザの嗜好度合いを判定するための判定式を表す情報と、が対応づけられていて、前記開始ノードは、該開始ノードに後続する１又は複数の前記判定ノードに対応づけられている１又は複数の前記判定式による１又は複数の判定結果に基づいてユーザの嗜好に関する所定の判定を行うための１又は複数のルールを生成するプログラムの開始点であって、１又は複数の前記判定ノードへの接続情報が対応づけられている、ことを特徴とする。
【００１４】
また、本発明の他のデータ構造は、さらに、当該判定ノードに対応づけられている前記判定式の信頼性を表すための所定のパラメータが対応づけられていることを特徴とする。
【発明の効果】
【００１５】
本発明によれば、各判定ノードに対応づけられた情報と、他の判定ノードに対応づけられた情報とに親子関係は必要としない。よって、嗜好モデルに対する判定ノードの追加や削除の処理を容易に行うことができる。また、本発明の嗜好モデルを生成したり、更新したりするための情報は、番組情報等のコンテンツ情報から取得することができるので、上述したようなトラフィック量の増加や、オフライン環境での使用上の制約といった課題も生じない。
【図面の簡単な説明】
【００１６】
【図１】本発明の一実施形態の構成を示したブロック図である。
【図２】図１に示した嗜好モデル１５１の構成例を説明するための模式図である。
【図３】図２に示した有向グラフ１５１ａを表すデータの一例を説明するための説明図である。
【図４】図２に示した判定ノード内容情報１５１ｂの構成例を説明するための模式図である。
【図５】図２に示した開始ノード１２１ａ１と判定ノード１２１ａ２の具体例を説明するための説明図である。
【図６】図５に示した各判定ノード１２１ａ２に対応づけられている判定ノード内容情報１５１ｂの具体例を説明するための説明図である。
【図７】図２に示した有向グラフ１５１ａから生成される可能性があるルールを説明するための説明図である。
【図８】図２に示した嗜好モデル１５１から生成されるルールの例を説明するための説明図である。
【図９】図１に示した情報処理装置１０の動作例を説明するためのフローチャートである。
【図１０】図９のステップＳ１０３で行われるコンテンツ評価処理の内容を説明するためのフローチャートである。
【図１１】図１０のステップＳ２０２で行われる淘汰処理の内容を説明するための説明図である。
【図１２】図１０のステップＳ２０４で行われる進化処理の１つである交叉処理の一例を説明するための説明図である。
【図１３】図１０のステップＳ２０４で行われる進化処理の１つである突然変異処理の一例を説明するための説明図である。
【図１４】図１０のステップＳ２０５で行われる嗜好推定処理の内容を説明するための説明図である。
【発明を実施するための形態】
【００１７】
以下、図面を参照して本発明の一実施の形態について説明する。図１は、本発明の一実施形態としての情報処理システム（情報処理装置）１０の構成例を示したブロック図である。情報処理システム１０は、コンテンツ表示機器１００とコンテンツ制御機器２００とを備えている。また、図１に示した情報処理システム１０内の各構成は、例えば、１又は複数のＣＰＵ（中央処理装置）と、その周辺装置と、そのＣＰＵで実行されるプログラムとの組み合わせによって実現することができる。コンテンツ表示機器１００は、コンテンツ受信部１１０、コンテンツ出力部１１５、コンテンツ評価部１２０、推薦結果表示選択部１３０、コンテンツ閲覧ログ生成部１４０、嗜好モデル生成部１５０、及びトレーニング情報設定部１６０を備えている。
【００１８】
コンテンツ表示機器１００は、例えば、ＴＶ（テレビジョン）、スマートフォン、携帯電話機やＰＣ（パーソナルコンピュータ）のような情報端末である。あるいは、コンテンツ表示機器１００は、ＴＶ等の情報端末と、セットトップボックスやビデオ録画機器等のコンテンツ受信・録画機器とを組み合わせたものであってもよい。
【００１９】
コンテンツ表示機器１００は、コンテンツ受信部１１０とコンテンツ出力部１１５とによって、コンテンツを受信して表示することが可能な機器である。コンテンツ受信部１１０は、推薦結果表示選択部１３０からの指示に従って受信するコンテンツを選択し、放送波やネットワーク等の所定の媒体を介してコンテンツを受信する。そして、コンテンツ受信部１１０は、受信したコンテンツを表す信号を、所定形式の映像信号や音声信号に変換する等してコンテンツ出力部１１５に対して出力する。コンテンツ出力部１１５は、ディスプレイやスピーカを有して構成されていて、入力された映像信号や音声信号に基づいて映像表示や音声出力を行う。また、コンテンツ受信部１１０は、電子番組情報等の、複数の属性情報を用いてコンテンツの属性を表すコンテンツ情報（以下、番組情報と呼ぶ）を受信して、コンテンツ評価部１２０へ出力する。
【００２０】
コンテンツ評価部１２０（推定部）は、受信したコンテンツに対するユーザの嗜好（すなわちユーザの好み）を評価して、ユーザに推薦する番組情報の一覧情報を作成する。一方、嗜好モデル生成部１５０は、ユーザのコンテンツに関しての嗜好（好き嫌い）を表すモデルである、嗜好モデル１５１を生成・更新する。コンテンツ評価部１２０は、嗜好モデル生成部１５０が生成した嗜好モデル１５１を用いてコンテンツを評価し、ユーザの嗜好に合いそうだと推定した１又は複数の番組情報を、コンテンツの推薦結果として、推薦結果表示選択部１３０へ出力する。
【００２１】
推薦結果表示選択部１３０は、コンテンツ評価部１２０の評価結果に基づいて、コンテンツの推薦結果を表示する。また、推薦結果表示選択部１３０は、トレーニング情報設定部１６０の指示に従って、嗜好モデル１５１のトレーニング用の番組情報を表示する。その際、推薦結果表示選択部１３０は、コンテンツ評価部１２０から受信したコンテンツの推薦結果を表す文字や画像、又はトレーニング情報設定部１６０から受信した番組情報を、コンテンツ受信部１１０を介してコンテンツ出力部１１５から出力する。また、推薦結果表示選択部１３０は、コンテンツ制御機器２００から受信した所定の制御信号に基づいて選択するコンテンツを決定し、決定した結果をコンテンツ受信部１１０へ出力する。ここで、コンテンツ受信部１１０は、上述したように、選択されたコンテンツを所定の媒体を介して受信し、所定の映像信号や音声信号に変換する等してコンテンツ出力部１１５から出力する。
【００２２】
コンテンツ閲覧ログ生成部１４０は、推薦結果表示選択部１３０が表示したコンテンツ推薦結果に対するコンテンツ制御部２１０による選択等の制御内容に基づいて、ユーザの嗜好に関するログを生成する。すなわち、コンテンツ閲覧ログ生成部１４０は、ユーザが表示や録画を指示したコンテンツの番組情報を複数、記録する。このコンテンツ閲覧ログ生成部１４０によって記録された番組情報は、嗜好モデル生成部１５０が嗜好モデル１５１を更新する際に、例えばユーザの好みにあったコンテンツを表すトレーニング用の番組情報として使用される。
【００２３】
トレーニング情報設定部１６０は、トレーニング用の番組情報を、推薦結果表示選択部１３０等を介してコンテンツ出力部１１５から表示する。トレーニング情報設定部１６０は、さらに、そのトレーニング番組情報の表示に対するユーザの操作に応じてコンテンツ制御機器２００から受信した所定の制御信号に基づき、当該番組情報に対してユーザの嗜好（“好き”、“嫌い”等）を設定し、設定した結果を番組情報とともに、嗜好モデル生成部１５０へ出力する。
【００２４】
嗜好モデル生成部１５０は、予め用意されているトレーニング用の番組情報（すなわち好き嫌いを表す正解の評価結果を表す情報が予め対応づけられている番組情報）を用いて、あるいは、コンテンツ閲覧ログ生成部１４０が生成したログやトレーニング情報設定部１６０が設定したトレーニング用の番組情報を用いて、ユーザの嗜好モデル１５１を生成したり、更新したりする。この嗜好モデル１５１は、嗜好モデル生成部１５０内の所定の記憶部に記憶される。また、嗜好モデル生成部１５０は、嗜好モデル１５１を生成したり、更新したりする際に使用したトレーニング用の番組情報を、その好き嫌いの評価結果とともに、所定の記憶部に記憶する。
【００２５】
一方、コンテンツ制御機器２００は、ＴＶのリモコンや携帯電話機のタッチパネルやＰＣのマウスとして構成されている。コンテンツ制御機器２００は、操作部や信号送信部を有するコンテンツ制御部２１０を備えている。コンテンツ制御機器２００では、このコンテンツ制御部２１０が、ユーザの所定の操作を入力し、その入力結果を示す所定の制御信号を推薦結果表示部１３０やトレーニング情報設定部１６０に対して出力する。具体的には、コンテンツ制御部２１０は、ユーザのコンテンツに対する選択、表示指示等の操作や、トレーニング用の番組情報に対する“好き”、“嫌い”等のユーザの選択、設定指示等の操作情報を入力し、それらの操作の内容に応じた制御信号を出力する。なお、コンテンツ制御機器２００は、図１に示したようにコンテンツ表示機器１００とは別の装置として構成されていてもよいし、あるいは、コンテンツ表示機器１００と一体として構成されていてもよい。
【００２６】
ここで、図２〜図８を参照して、図１に示した嗜好モデル１５１の構成例等について説明する。図２は、図１に示した嗜好モデル１５１の構成例を示した模式図である。嗜好モデル１５１は、ユーザのコンテンツに対する嗜好（好き、好き嫌い等）を典型的に表す型である。嗜好モデル１５１に基づいて、未知の番組情報に対するユーザの嗜好を推定する際に所定の判定処理を行うための複数のルールが生成される。この嗜好モデル１５１は、学習によって内容を更新することができるモデルであるが、初期のモデルは例えば次のようにして生成することができる。すなわち、予め用意された複数の番組情報に対して、予め“好き”、“嫌い”等の嗜好が設定されているもの、あるいは、ユーザによって新たに“好き”、“嫌い”等の嗜好を設定してもらったものを、トレーニング用の番組情報として用いることで生成することができる。ここで、予め用意する嗜好の設定がなされたトレーニング用の番組情報は、例えば、年代別、性別等に応じて複数用意しておくこともできる。また、嗜好モデル１５１自体も、ゼロから生成するのではなく、一定のトレーニングが行われた状態を初期状態として用意しておくこともできる。この初期モデルを作成する際に使用した番組情報は、嗜好モデル生成部１５０内の所定の記憶部に記憶しておく。
【００２７】
図２に示したように、嗜好モデル１５１は、嗜好モデル１５１内の複数のノード１５１ａ１又は１５１ａ２間の接続関係を示す有向グラフ１５１ａを表す情報と、複数の判定ノード１５１ａ２に対応づけられている情報の内容をノード毎に示すデータである複数の判定ノード内容情報１５１ｂとで表現される。すなわち、嗜好モデル１５１は、複数のノード１５１ａ１又は１５１ａ２と、複数のノード１５１ａ１又は１５１ａ２間を方向性を有して接続する複数のエッジ１５１ａ３とで構成された有向グラフ１５１ａと、複数の判定ノード内容情報１５１ｂとから表されるデータ構造を有している。また、複数のノード１５１ａ１又は１５１ａ２は、開始ノード１５１ａ１と、判定ノード１５１ａ２とに分類される。これらの有向グラフ１５１ａの構造と、判定ノード１５１ａ２に対応づけられている情報とに基づいて、ユーザの嗜好に関する所定の判定を行うため複数のルールが生成される。
【００２８】
開始ノード１５１ａ１は、ルールを作成するプログラム（あるいは計算手順）の開始地点を示し、判定ノード１５１ａ２につながるノードである。判定ノード１５１ａ２は、番組を表すための「属性情報」を一つ対応づけられたノードであり、このノード単体での「判定式」とその判定式の「信頼度に対応する所定のパラメータ」とが対応づけられている。このとき、番組を表すための属性情報とは、例えば“ドラマ”や“放送時刻”、“チャンネル”など、番組の特徴を表す情報、性質を表す情報等、番組に関する情報のことを指す。この場合において判定ノード１５１ａ２に対応づけられた判定式とは、当該判定ノードに対応づけられた属性情報を番組情報が含む場合に、すなわち“好き嫌い”の程度を表す値を出力する数式（あるいはプログラム）である、嗜好の度合いについて判定を下す（あるいは数値化する）ための数式や条件のことを指す。各判定ノードでは、この判定式によって、当該ノード単体で“好き”か“嫌い”かの度合いを算出することができる。信頼度に対応する所定のパラメータとは、判定式の信頼性を表現するためのパラメータであり、例えば、当該判定ノードに対応づけられた属性情報がトレーニング用の番組情報においてどのくらい出現しているかという頻度にもとづき算出される。この「信頼度に対応する所定のパラメータ」を用いることで、例えば頻度が多い場合に信頼度が高く、少ない場合に信頼度が低いというように仮定し、当該判定式から得た結果に相対的な重み付けをする等を行うことできる。嗜好モデル１５１は、この２種類のノードと有向グラフを使用して、番組の好き嫌いを判定するためのルールを表す論理式を生成する遺伝子構造を構築する。
【００２９】
なお、図２において、開始ノード１５１ａ１は、六角形の記号で示されていて、その記号内の数字“１”〜“３”は、各開始ノード１５１ａ１に設定されたＩＤ（識別符号）を表している。また、判定ノード１５１ａ２は、丸形の記号で示されていて、その記号内の数字“１”〜“８”は、各判定ノード１５１ａ２に設定されたＩＤを表している。
【００３０】
図２に示した有向グラフ１５１ａにおける各開始ノード１５１ａ１、各判定ノード１５１ａ２及び各有向エッジ１５１ａ３との接続関係は、例えば、図３に示した２種類のテーブルで表すことができる。すなわち、図３（ａ）に示したように、各開始ノード１５１ａ１と、その各開始ノード１５１ａ１に直接接続されている１又は複数の判定ノード１５１ａ２との接続関係は、開始ノード毎に、開始ノードのＩＤと、その開始ノードに直接接続された１又は複数の接続先の判定ノードのＩＤとの対応付けを示すテーブルで表すことができる。図３（ａ）のテーブルは、例えば開始ノードＩＤが“１”の開始ノード１５１ａ１（以下、“開始ノード１”とも表記する）が、ＩＤが“４”の判定ノード１５１ａ２（以下、“判定ノード４”とも表記する）に、開始ノード１から判定ノード４への方向で直接接続されていることを示している。また、開始ノードＩＤが“２”の開始ノード１５１ａ１（以下、“開始ノード２”とも表記する（以下、同様））が、ＩＤが“２”、“５”及び“７”の３個の判定ノード１５１ａ２に、開始ノードから各判定ノードへの方向で直接接続されていることを示している。
【００３１】
一方、各判定ノード１５１ａ２間の接続関係は、図３（ｂ）に示したように、判定ノード毎に、判定ノードのＩＤと、その判定ノードに直接接続されている１又は複数の接続先の判定ノードのＩＤとの対応関係を示すテーブルで表すことができる。図３（ｂ）のテーブルは、例えば判定ノード１に、ＩＤが“３”の判定ノード１５１ａ２（以下、“判定ノード３”とも表記する（以下、同様））が判定ノード１から判定ノード３への方向に直接接続されていることを示している。また判定ノード２には、判定ノード２から他の判定ノードへと向かう方向では、他の判定ノードが接続されていないことを示している。また、判定ノード４には、判定ノード１と判定ノード８との２個の判定ノードが、判定ノード１から判定ノード１又は判定ノード８への方向に直接接続されていることを示している。
【００３２】
なお、有向グラフ１５１の構成は、図３に示した２種類のテーブルで表すことができるほか、１種類のテーブルで表すこともできる。すなわち、ＩＤだけではなく、ノードの種類を表す情報を追加して用いることで、開始ノード毎又は判定ノード毎の区別ではなく開始ノードと判定ノードに共通のノード毎の区別として、各ノード間の接続関係を表すことができる。また、有向グラフ１５１内のノードは、上述したように開始ノードと判定ノードとの２種類を設けるのではなく、例えばノードをすべて１種類の判定ノードとして、判定ノードの一部にプログラム（あるいはルール）の開始点を表す情報を付加することで、判定ノードの一部に開始ノードの機能を持たせるようにすることもできる。
【００３３】
一方、図２に示した判定ノード内容情報１５１ｂは、例えば図４に示したようなデータ形式で構成することができる。図４に示した例では、判定ノード内容情報１５１ｂが、判定ノードＩＤを表すフィールド１５１ｂ１、属性情報を表すフィールド１５１ｂ２、判定式を表すフィールド１５１ｂ３、及び頻度情報を表すフィールド１５１ｂ４を有して構成されている。この例では、“頻度情報”が上述した“判定式の信頼度に対応する所定のパラメータ”に対応している。この“頻度情報”は、嗜好モデル１５１を生成又は更新する際に使用されたトレーニング用の複数の番組情報に、当該判定ノードに対応づけられている属性情報が出現した頻度を表す情報である。ただし、この頻度情報に代えて、頻度情報に対して所定の計算処理を行うことで判定式の信頼度を表す値を算出した結果を、判定ノード内容情報１５１ｂに含ませることもできる。例えば、各頻度の値を、全判定ノードの中で最も多い頻度の値で除した値（あるいはその値にさらに非線形に重み付けをした値）等を、“判定式の信頼度に対応する所定のパラメータ”とすることができる。“判定式の信頼度に対応する所定のパラメータ”は、例えば“０”〜“１”の実数として、“０”が信頼度が最も低く、“１”が信頼度が最も高いというような値に設定することができる。
【００３４】
なお、属性情報は、図４に示したように、属性情報の種類と内容との組み合わせによって表してもよいし、種類に関わらないキーワードによって表してもよいし、あるいは、両方の構成を混在させてもよい。また、頻度情報は、例えば図４に示したように、嗜好モデル１５１を生成、更新等する際のトレーニングにおいて、“好き”と設定された番組情報に含まれていた頻度と、“嫌い”と設定された番組情報に含まれていた頻度とに分けて含むものとすることができる。あるいは、頻度情報は、“好き嫌い”の設定とは無関係に、トレーニングで使用された番組情報に当該属性情報が出現した頻度を表すものとしてもよい。
【００３５】
また、判定式は、例えば次のような形式とすることができる。すなわち、判定式は、判定式の値（すなわち計算結果）が、例えば“−１”〜“１”の実数の範囲で、“−１”が“嫌い”の確率が最も高く、“１”が“好き”の確率が最も高いという値を出力するものとすることができる。判定式で用いる変数（すなわちパラメータ）としては、例えば、頻度情報を用いてもよいし、あるいは属性情報の種類や内容に応じて予め設定された値（すなわち定数）を用いてもよい。例えば、頻度情報をパラメータとして用いる場合、“好き”と“嫌い”の合計の頻度がゼロではなく、“好き”と設定された場合の頻度がゼロのときは（すなわち、すべて“嫌い”と設定されている場合）、判定式の値を“−１”とする。また、“嫌い”と設定された場合の頻度がゼロのときは（すなわち、すべて“好き”と設定されている場合）、判定式の値は“１”とする。そして、“好き”の頻度と“嫌い”の頻度がどちらもゼロでない場合は、中間の値となるように、判定式を内容を構成する。この場合、判定式は、１又は複数の計算式を用いて構成したり、プログラムにおける条件文（例えば「ｉｆ」文）等を用いて構成したりすることができる。
【００３６】
次に、図２に示した有向グラフ１５１ａから、番組の好き嫌いを判定するためのルールを表す論理式を生成する手順について説明する。以下では、８個の判定ノードに対して図５に示した属性情報が対応づけられていることとして説明を行う。すなわち、判定ノード１には“ドラマ”が、判定ノード２には“サッカー”が、判定ノード３には“１３時”が、判定ノード４には“放送局Ａ”が、判定ノード５には“映画”が、判定ノード６には“俳優Ｂ”が、判定ノード７には“特番”が、そして、判定ノード８には“ニュース”が、それぞれ対応づけられている。また、各判定ノードの内容は図６に示した形式を有している。すなわち、各判定ノード１〜８には、当該ノード単体で“好き”か“嫌い”かの度合いを出力する判定式ｆ１〜ｆ８が対応づけられている。また、各判定ノード１〜８には信頼性を表すパラメータとして、この判定ノードに対応付けられている属性情報がトレーニング用の番組情報に出現した頻度に対応した値ｎ１ａ〜ｎ８ａ（“好き”の場合）とｎ１ｂ〜ｎ８ｂ（“嫌い”の場合）が設定されている。
【００３７】
有向グラフ１５１ａからルールを抽出する際には、図７に示したように、開始ノード１〜３から、それぞれ、有向エッジ（すなわち矢印）で接続されている判定ノードをたどって各判定ノードにおける判定式による判定結果を組み合わせていく。各ルールは、開始ノードを開始点とするとともに、矢印の向きでたどることができる０、１又は複数の判定ノードのうちの任意の判定ノードを終了点とすることができる。吹き出し１５１ｃ内に、有向グラフ１５１ａから抽出される可能性のあるルールを示した。なお、ルールの抽出の際には、同じ判定ノードを２回以上含まないようにして、ルールの循環を避けている。例えば、図７で鎖線で囲って示した、開始ノード１を開始点として、判定ノード４、判定ノード１、判定ノード３、判定ノード７、及び判定ノード１をたどるルールは、同じ判定ノード１を２回含むので、抽出することができない。
【００３８】
次に図８を用いて、抽出されたルールの概念図から、実際の論理式をどのように表現するかについて説明する。抽出されるルールの論理式は、“ｉｆ  Ｘ１  ａｎｄ  Ｘ２  ａｎｄ  Ｘ３  ｔｈｅｎ  Ｙ”といった表現形式となる。このとき、Ｘｉがある判定ノードｉに対応づけられた番組の属性情報が、入力された番組情報に含まれていることを指す。Ｙは、判定ノードｉのすべての判定式ｆｉから得られる命令であり、“好き”か“嫌い”かの命令となる。ただし、このルールには、判定ノードｉが持つ“判定式の信頼度に対応する所定のパラメータ”から算出されるパラメータである、ルールの信頼度パラメータが設定される。
【００３９】
一例として、“放送局Ａ”と“ドラマ”と“１３時”が一つのルールとして接続されており、それぞれの判定ノード４、１及び３の判定式ｆ４、ｆ１及びｆ３を総合した結果が“好き”の確率が高かったルールを考える。例えば、判定式の総合判定を「（ｆ４＋ｆ１＋ｆ３）の値が大きいほど“好き”の確率が高い」とする。この場合に、判定式ｆ４、ｆ１、ｆ３がそれぞれ“−１”から“１”までの値を出力するものであって（ここでは“１”に近いほど“好き”の確率が高いとする）、例えば判定式ｆ４、ｆ１、ｆ３がすべて“１”に近い値であったとする。このとき、「（ｆ４＋ｆ１＋ｆ３）の値」が大きくなる（例えば所定の閾値より大きくなる）ので、ルールの命令は「“好き”」となる。この場合、開始ノード１と判定ノード４、１及び３から生成されるルールは、ある番組が“放送局Ａ”で“ドラマ”で“１３時”なら、“好き”であるという判定結果を返す論理式となる。また、ルールの信頼度パラメータは、各判定ノード４、１及び３の頻度情報ｎ４ａ、ｎ４ｂ、ｎ１ａ、ｎ１ｂ、ｎ３ａ及びｎ３ｂから設定することができる。例えば、頻度（あるいはそれを全判定ノードの最大頻度で除した値）の積算値や最大値、最小値あるいは平均値が大きいほど、信頼度が大きくなるようにして、ルールの信頼度パラメータを算出する。
【００４０】
また、他の例として、“映画”と“俳優Ｂ”が一つのルールとして接続されており、それぞれの判定ノード５及び６の判定式ｆ５及びｆ６を総合した結果が“好き”の確率が高かったルールを考える。上記と同様に、判定式の総合判定を「（ｆ５＋ｆ６）
の値が大きいほど“好き”の確率が高い」として、判定式ｆ５、ｆ６がそれぞれ“−１”から“１”までの値を出力するものであって（ここでは“１”に近いほど“好き”の確率が高い）、例えば判定式ｆ５、ｆ６がすべて“１”に近い値であったとすると、（ｆ５＋ｆ６）が大きくなる（例えば所定の閾値より大きくなる）ので、ルールの命令は「“好き”」となる。この場合、開始ノード２と判定ノード５及び６から生成されるルールは、ある番組が“映画”で“俳優Ｂ”なら、“好き”であるという判定結果を返す論理式となる。また、このルールの信頼度パラメータは、各判定ノード５及び６の頻度情報ｎ５ａ、ｎ５ｂ、ｎ６ａ及びｎ６ｂから設定することができる。
【００４１】
さらに、他の例として、“映画”と“特番”が一つのルールとして接続されており、それぞれの判定ノード５及び７の判定式ｆ５及びｆ７を総合した結果が“嫌い”の確率が高かったルールを考える。上記と同様に、判定式の総合判定を「（ｆ５＋ｆ７）の値が大きいほど“好き”の確率が高い」として、判定式ｆ５、ｆ７がそれぞれ“−１”から“１”までの値を出力するものである（ここでは“１”に近いほど“好き”の確率が高く、“−１”に近いほど“嫌い”の確率が高い）とする。この場合には、例えば判定式ｆ５が“１”に近い値であったとしても、判定式ｆ７が“−１”に近い値であった場合、（ｆ５＋ｆ７）はあまり大きくならず（例えば所定の閾値より大きくならず）、ルールの命令は、“好き”の確率が低いとなる。ここでは“好き”の確率が低い場合を“嫌い”とすると、開始ノード３と判定ノード５及び７から生成されるルールは、ある番組が“映画”で“特番”なら、“嫌い”であるという判定結果を返す論理式となる。また、このルールの信頼度パラメータは、各判定ノード５及び７の頻度情報ｎ５ａ、ｎ５ｂ、ｎ７ａ及びｎ７ｂから設定することができる。
【００４２】
次に、図９から図１４を参照して、図１に示した情報処理システム１０の動作例について説明する。図９は、情報処理システム１０がユーザに対してユーザの嗜好にあった番組を推薦する際の処理の流れの一例を示したフローチャートである。また、図１０は、図９に示したコンテンツ評価（ステップＳ１０３）における処理の流れの一例を説明するためのフローチャートである。
【００４３】
情報処理システム１０では、まず、嗜好モデル生成部１５０がトレーニング用の番組情報を用いて嗜好モデル１５１を生成する（ステップＳ１０１）。嗜好モデル生成部１５０は、例えば、トレーニング用の番組情報に含まれるすべての属性情報が、嗜好モデル１５１に含まれるように、開始ノードや判定ノードを有向グラフに適宜に追加する。また、追加した判定ノードに対応する判定ノード内容情報を作成する。有向グラフの生成の仕方については特に限定はない。本実施形態では、後述する遺伝的アルゴリズム、すなわち、淘汰処理や進化処理によって、ルールの取捨選択等が自動的に行われる。したがって有向グラフへのノードの追加は任意に行うことができる。
【００４４】
次に、コンテンツ受信部１１０が、番組情報を受信する（ステップＳ１０２）。次に、コンテンツ評価部１２０と嗜好モデル生成部１５０とが協調して、コンテンツ受信部１１０が受信した１又は複数の番組情報を、評価対象の未知の番組情報として、ユーザの嗜好を推定するための処理である、コンテンツ評価処理を行う（ステップＳ１０３）。このコンテンツ評価処理の内容については後述する。
【００４５】
次に、推薦結果表示選択部１３０が、コンテンツ評価部１２０が“好き”と評価した番組情報を、推薦結果として表示する（ステップＳ１０４）。ここで、ユーザが所定の操作を行った場合（ステップＳ１０５で「ｙｅｓ」の場合）、トレーニング情報設定部１６０が、ユーザの操作に応じて、推薦結果として表示された番組情報のうち、指定された番組情報に対して“好き”又は“嫌い”の設定を行って、その設定結果を指定された番組情報とともに所定の記憶部に一時的に記憶する（ステップＳ１０６）。
【００４６】
次に、ユーザが、推薦結果として示されたいずれかのコンテンツを選択すると（ステップＳ１０７で「ｙｅｓ」の場合）、推薦結果表示選択部１３０がコンテンツ受信部１１０に対して選択されたコンテンツの受信と表示の指示を出力する（ステップＳ１０８）。次に、推薦結果表示選択部１３０が選択されたコンテンツの番組情報を、コンテンツ閲覧ログ生成部１４０に対して出力し、コンテンツ閲覧ログ生成部１４０が入力された番組情報を記録する（ステップＳ１０９）。
【００４７】
次に、嗜好モデル生成部１５０が、ステップＳ１０６でトレーニング情報設定部１６０が記憶した番組情報や、ステップＳ１０９でコンテンツ閲覧ログ生成部１４０が記録した番組情報に基づいて、新規の属性情報に対応するノードを嗜好モデル１５１に対して追加したり、既存の判定ノードの出現頻度を更新したりする処理を行うことで、嗜好モデル１５１を更新する（ステップＳ１１０）。以降、例えば所定のタイミングで、ステップＳ１０２からの処理が再度実行される。
【００４８】
次に、図１０を参照して、ステップＳ１０３でのコンテンツ評価処理について説明する。まず、コンテンツ評価部１２０が、図７及び図８を参照して上記で説明したようにして、嗜好モデル１５１から“好き”を命令とする（すなわち“好き”と判定する）ルールの集合と“嫌い”を命令とする（すなわち“嫌い”と判定する）ルールの集合とを抽出する（ステップＳ２０１）。その際、コンテンツ評価部１２０は、嗜好モデル１５１から新たに生成したルールと、そのルールを生成する際に使用したノードの組み合わせとを表す情報を、ルール生成に関する履歴情報として保持する。そして、コンテンツ評価部１２０は、この履歴情報にすでに記録されていたノードの組み合わせ以外のノードの組み合わせが検知された場合に、新たなルールを抽出する処理を行う。したがって、ここでは、すでに抽出済みのノードの組み合わせについては、ルールの生成は行われない。
【００４９】
次に、コンテンツ評価部１２０は、トレーニング用番組情報を用いてルールに対して淘汰処理を実行する（ステップＳ２０２）。本実施形態では、図７に示したような、有向グラフ１５１におけるすべてのノードの組み合わせについてルールの生成が可能であるとしている。そのため、生成したルールをすべて記憶していくとすると、大量のルールを保持することとなる。そこで、本実施形態では、次のような淘汰処理によって、進化計算の過程で大量に生成され続けるルールから、嗜好の推定において有効であるとはいえないルールを淘汰している。
【００５０】
図１１に淘汰処理の流れを模式図を用いて示した。本実施形態では、後述するステップＳ２０４において嗜好モデル１５１に対して遺伝的アルゴリズムで用いられているような進化処理を実行する。その進化処理の前後では嗜好モデル１５１が異なる世代のモデルである、と定義することができる。また、図１１に示したように、ある世代における嗜好モデル１５１から抽出されたルールの集合３０２は、“好き”という判定を下すルール群３０２ａと“嫌い”という判定を下すルール群３０２ｂとにグループ化できる。コンテンツ評価部１２０は、これらのルールを集合として一定数保持しておく。このときコンテンツ評価部１２０は、以下の手順で、ルールの淘汰処理を実行する。
【００５１】
（ステップＳ３０１）まず、コンテンツ評価部１２０は、トレーニング用の番組情報３０１を入力とすると、番組情報３０１を各ルールにあてはめることで、すべてのルールにおいて“好き”か“嫌い”かの判定結果を算出する。
【００５２】
（ステップＳ３０２）次に、コンテンツ評価部１２０は、すべての判定結果を統計的に処理し（すなわち、例えば判定結果の合計値にもとづき）、その番組が“好き”か“嫌い”かの推薦結果３０３を最終的に決定する。このとき、各判定結果に対しては、そのルールの信頼度を掛け合わせることで、総合的な判定結果への影響度を正規化することができる。
【００５３】
（ステップＳ３０３）次に、コンテンツ評価部１２０は、推薦結果３０３とトレーニング用の番組情報にあらかじめ付与されている正解値３０４を比較して、一致するルールを良いルール、一致しないルールを悪いルールとして順位付けしていく。
【００５４】
以上の操作（ステップＳ３０１〜３０３）を多数のトレーニング用番組情報に対して繰り返すことにより、下位に順位付けされたルールを淘汰し、上位に順位付けされたルールだけを残していく。
【００５５】
そして、コンテンツ評価部１２０は、このようなルールの淘汰処理（すなわちステップＳ２０２）を、ステップＳ２０４で実行する進化処理（あるいは進化計算）における世代交代処理を進めていく中で再帰的に進めることにより、高い推薦精度に寄与するルールだけを残すことができる。
【００５６】
ステップＳ２０２で複数のトレーニング用番組情報を用いて淘汰処理を実行した後は、ステップＳ２０３で、コンテンツ評価部１２０が、新たに出現したルールの個数が所定の閾値以下であるか否かを判定する。ここで、ルールが新たに出現する場合とは、次のステップＳ２０４での進化処理を実行した場合に発生する現象である。また、進化計算と淘汰処理が十分に進むと、図１１に示されるような淘汰処理をしても、推薦に寄与する新たなルールがあまり出現しなくなる。本システムでは、新しく出現したルールの個数が所定の閾値を下回る場合、学習処理が終わったと判定して進化計算を終了する。この構成によれば、後述するステップＳ２０５での推定処理では、未知の番組情報を入力として、学習が終わったルール群によってユーザの嗜好を判定するため、高い精度が期待される。
【００５７】
ステップＳ２０４における、本実施形態の遺伝的アルゴリズムを用いた進化計算では、一般的な遺伝的アルゴリズムと同様に交叉処理や突然変異処理が行われる。これらの交叉処理や突然変異処理は、嗜好モデル生成部１５０によって行うことができる。以下、この２つの処理について説明する。
【００５８】
図１２に示すように、本実施形態の交叉処理では、両親となる２つの有効グラフ（すなわち遺伝的アルゴリズムにおける遺伝子）について、次のノードへの接続情報を保持した同じ判定ノード同士が交換される。結果として、新しい有効グラフ（遺伝子）は、２つの遺伝子の有向グラフを組み合わせた新しいグラフ構造となる。
【００５９】
また、図１３（ａ）、（ｂ）に示すように、本実施形態の突然変異処理では、判定ノードの番号をランダムに変更するか、次の接続先を表すグラフの構成情報（図３（ｂ））をランダムに変更する。
【００６０】
ステップＳ２０１〜Ｓ２０４では、ルールの集合の抽出と、淘汰処理及び進化処理を繰り返し実行することで、高い推薦精度に寄与するルールだけを残すことができる。そして、新しく出現したルールの個数が所定の閾値を下回る場合、ステップＳ２０３の判定結果が「ｎｏ」となる。
【００６１】
次に、ステップＳ２０５では、コンテンツ評価部１２０が、嗜好モデル１５１に基づいて生成された各ルールを、入力された番組情報に対してあてはめることでユーザの嗜好を推定する。すなわち、コンテンツ評価部１２０は、図１４に示したように、未知の番組情報４０１を、ステップＳ２０１〜Ｓ２０４で選択された“好き”と判定を下すルール群４０２ａと“嫌い”と判定を下すルール群４０２ｂとを含むルールの集合４０２の各ルールにあてはめる（ステップＳ４０１）。次に、コンテンツ評価部１２０は、各ルールの判定結果を統計的に処理し、好き嫌いを判定し、推薦結果４０３（すなわち当該番組情報を推薦すべきか否かを示す情報）を決定する（ステップＳ４０２）。
【００６２】
次に、図１０のステップＳ２０６では、コンテンツ評価部１２０が、コンテンツ評価処理を実行すべきすべての番組情報に対する評価が終了したか否かを判定する。評価すべき他の番組情報が残されている場合には、次の番組情報を対象としてステップＳ２０５の処理を再度実行する（ステップＳ２０６で「ｎｏ」からステップＳ２０５）。評価すべき他の番組情報が残されていない場合には、処理を終了する（ステップＳ２０６で「ｙｅｓ」の場合）。
【００６３】
以上のように、本実施形態によれば、各判定ノードに対応づけられた情報と、他の判定ノードに対応づけられた情報とに親子関係は必要としない。よって、嗜好モデルに対する判定ノードの追加や削除の処理を容易に行うことができる。また、本実施形態の嗜好モデルを生成したり、更新したりするための情報は、番組情報等のコンテンツ情報から取得することができるので、トラフィック量の増加や、オフライン環境での使用上の制約といった課題も生じない。
【００６４】
また、本実施形態により、コンテンツに関するユーザの嗜好を数式の集合で表現できるようになり、これらの数式集合に未知のコンテンツを与えることで、好みを判定できるようになる。つまり、コンテンツに関するユーザの嗜好を数式としてモデル化できるため、結果の可視化性に優れている。
【００６５】
また、本実施形態のコンテンツ推薦システムは、大量の入力情報からユーザの嗜好を表現するために必要な情報を自動的に抽出しルール化できるため、大規模なコンテンツデータでも良好な推薦精度が期待される。また、遺伝的アルゴリズムを用いたコンテンツ推薦システムは、完全なオフライン環境でも動作可能であるため、ネットワークなど外部環境に接続できない機器においても有用である。
【００６６】
なお、本発明が特長とする点については例えば次のようにまとめることができる。本発明は、ＧＮＰ（Ｇｅｎｅｔｉｃ  Ｎｅｔｗｏｒｋ  Ｐｒｏｇｒａｍｍｉｎｇ；遺伝的ネットワークプログラミング）と呼ばれるノードをネットワーク状に接続することでプログラムを自動生成する計算手法の一つを用いたものである、ということができる。ここで、以下の特長１と特長２は、推薦システムにＧＮＰアルゴリズムを適用する場合の独自の工夫点であり、特長３は推薦システム自体の背景とする技術との差異である。
【００６７】
特長１：ＧＮＰアルゴリズムにおける各計算において、判定ノードに信頼度情報を入れた点。
ＧＮＰによる進化計算は複雑なルールを計算可能であるという利点のほかに、計算コストが膨大であるという欠点がある。したがってＧＮＰアルゴリズムを推薦システムに応用するためには、大量の判定ノードから有意なルールを、効率よく探索する方法が重要となる。本発明では、信頼度情報の導入により、トレーニングデータ（すなわちトレーニング用番組情報）で多く出現している属性情報を含む判定ノードが優先的にルールの一部に採用されやすいように工夫している。この信頼度の導入により、ルールの収束時間が大幅に高まり、ＧＮＰアルゴリズムが推薦システムでも現実時間で駆動できるようになった。
【００６８】
特長２：推薦処理においても、判定ノードの信頼度情報を使って、ルールの影響度に正規化を加えた点。
本発明のシステムにより採用されたルール群を用いて推薦処理をする場合、それらすべてのルールによる判定結果を集計して、“好き”と“嫌い”の判定結果の多数決により決める方法が考えられる。実際に、提案システムもこの方式を採用している。しかし、ルールによっては、トレーニングデータの情報とは全く関連がなくても、偶然うまく判別できただけのものもある。このようなルールは、未知の番組情報を推薦するときに判定処理を失敗する原因となりうる。この問題を回避するため、特長１において導入した信頼度情報を、ルールを用いた“好き”と“嫌い”の判別処理においても、利用できるように工夫した。信頼度情報は、トレーニングデータにおける属性情報の出現頻度を表す。したがって、信頼度をもとに算出されたルールの信頼度は、いかにトレーニングデータと相関があるかを表すことになる。推薦処理において、あるルールが与える影響力をルールの信頼性で正規化することで、より高い推薦精度が確認された。
【００６９】
特長３：推薦システムにおいて、嗜好度（好き嫌い）の分解能が高い点。
ＧＮＰを用いた推薦システムそのものが、他の推薦システムと違って優位な点について述べる。その他の推薦システムで採用されているアルゴリズムの多くが、２クラス分類器であり、“好き”か“嫌い”にしか分類できない。それに比べ論理式で判定結果を出力する本手法は、Ｎクラスに分類できる。実際に本発明のシステムでは、“すごく好き”、”すごく嫌い”、“まあまあ好き”、“まあまあ嫌い”といった複数分類で結果を出力することができる。したがって、アプリケーションの要求によっては、“すごく好き”に加えて“まあまあ好き”といった意外性のある推薦結果を出力することができる。
【符号の説明】
【００７０】
１０  情報処理装置
１００  コンテンツ表示機器
１２０  コンテンツ評価部
１３０  推薦結果表示選択部
１４０  コンテンツ閲覧ログ生成部
１５０  嗜好モデル生成部
１５１  嗜好モデル
１５１ａ  有向グラフ
１５１ａ１  開始ノード
１５１ａ２  判定ノード
１５１ａ３  エッジ
１５１ｂ  判定ノード内容情報
２００  コンテンツ制御機器
２１０  コンテンツ制御部
【図１】
2014110004.tif 000003
【図２】
2014110004.tif 000004
【図３】
2014110004.tif 000005
【図４】
2014110004.tif 000006
【図５】
2014110004.tif 000007
【図６】
2014110004.tif 000008
【図７】
2014110004.tif 000009
【図８】
2014110004.tif 000010
【図９】
2014110004.tif 000011
【図１０】
2014110004.tif 000012
【図１１】
2014110004.tif 000013
【図１２】
2014110004.tif 000014
【図１３】
2014110004.tif 000015
【図１４】
2014110004.tif 000016