(57)【特許請求の範囲】
【請求項１】
コンテンツに関するユーザの操作ごとに操作内容と操作対象とを対応づけた操作履歴を記憶する操作履歴記憶部と、
前記操作履歴記憶部に記憶されている各操作履歴から抽出した複数のキーワードそれぞれを基底とし、各操作履歴における各キーワードの出現回数を要素とするベクトルを、前記操作履歴ごとに、該操作履歴に残されるコンテンツの内容を評価する評価情報としてそれぞれ生成する評価情報生成部と、
前記操作履歴記憶部に記憶されている各操作履歴に含まれる操作対象の情報から、該操作対象に共通して出現する頻度の高いキーワードを抽出し、該キーワードを有する操作履歴をグループ化して抽出されたキーワードごとの第１グループにそれぞれ分類し、分類された第１グループごとに階層的クラスタリングを行うことにより、各第１グループを複数の第２グループにそれぞれ分類する履歴分類部と、
前記操作履歴全体の大きさに対して前記履歴分類部により分類された前記第２グループの大きさが占有する比率を該第２グループごとにそれぞれ算出する比率算出部と、
前記評価情報生成部により生成された前記評価情報について、前記履歴分類部により分類された前記第２グループごとにベクトル和を算出することにより、該第２グループごとに、該第２グループにおける前記コンテンツのユーザ嗜好を示すグループ評価情報を生成するグループ評価情報生成部と、
各コンテンツの情報に基づいて、前記基底および前記要素に基づくベクトルが前記評価情報として予め生成されている検索対象となるコンテンツの中から、前記操作履歴を分類した前記第１グループをそれぞれ階層的クラスタリングした前記第２グループごとに、前記グループ評価情報生成部により生成された前記グループ評価情報とベクトルの相関値が所定値以上である前記評価情報を有するコンテンツの情報を前記第２グループにおける前記ユーザの嗜好にマッチするコンテンツの情報として検索し、検索されたコンテンツの情報を該グループ評価情報と相関性の高い順に該第２グループ内でそれぞれソートするソート部と、
前記ソート部により前記第２グループ内でそれぞれソートされたコンテンツの情報の中から、前記比率算出部により算出された前記比率に応じた件数分のコンテンツの情報を、該第２グループごとに、前記グループ評価情報と相関性の高いものからそれぞれ抽出する抽出部と、
前記抽出部により抽出されたコンテンツの情報をマージして表示出力する表示出力部と
を有することを特徴とする情報検索装置。
【請求項２】
前記操作履歴全体の大きさ、及び第２グループの大きさは、操作履歴の件数、又はクラスタ内の評価情報をベクトルで表したインデックスのベクトル和の少なくとも一つであることを特徴とする請求項１記載の情報検索装置。
【請求項３】
前記評価情報生成部により生成された前記評価情報を統合した統合結果、または前記グループ評価情報生成部により生成された前記グループ評価情報を統合した統合結果に基づいて、前記抽出部により前記第２グループごとにそれぞれ抽出されたコンテンツの情報を、前記統合結果と相関性の高い順に改めてソートする再ソート部をさらに有し、
前記表示出力部は、前記再ソート部により再ソートされたコンテンツの情報を表示出力することを特徴とする請求項１に記載の情報検索装置。
【請求項４】
前記評価情報生成部は、前記評価情報を生成する場合に、前記表示出力部により表示出力されたコンテンツの情報に対するユーザの操作内容に応じた係数を評価情報に乗算することを特徴とする請求項１〜３のいずれか一つに記載の情報検索装置。
【請求項５】
前記比率算出部は、前記操作履歴の全件数に対して前記第２グループの件数が占有する比率、または前記操作履歴の全評価情報に対して前記第２グループのグループ評価情報が占有する比率を該第２グループごとにそれぞれ算出することを特徴とする請求項１に記載の情報検索装置。
【請求項６】
情報検索装置が実行する情報検索方法であって、
前記情報検索装置は、
操作ごとに操作内容と操作対象とを対応づけて操作履歴記憶部に記憶されるユーザの操作履歴から抽出した複数のキーワードそれぞれを基底とし、各操作履歴における各キーワードの出現回数を要素とするベクトルを、前記操作履歴ごとに、該操作履歴に残されるコンテンツの内容を評価する評価情報としてそれぞれ生成する評価情報生成ステップと、
前記操作履歴記憶部に記憶されている各操作履歴に含まれる操作対象の情報から、該操作対象に共通して出現する頻度の高いキーワードを抽出し、抽出されたキーワードごとに、該キーワードを有する操作履歴を第１グループにそれぞれ分類し、分類された第１グループごとに階層的クラスタリングを行うことにより、複数の第１グループをさらに複数の第２グループにそれぞれ分類する履歴分類ステップと、
前記操作履歴全体の大きさに対して前記履歴分類ステップにより分類された前記第２グループの大きさが占有する比率を該第２グループごとにそれぞれ算出する比率算出ステップと、
前記評価情報生成ステップにより生成された前記評価情報について、前記履歴分類ステップにより分類された前記第２グループごとにベクトル和を算出することにより、該第２グループごとに、該第２グループにおける前記コンテンツのユーザ嗜好を示すグループ評価情報を生成するグループ評価情報生成ステップと、
各コンテンツの情報に基づいて、前記基底および前記要素に基づくベクトルが前記評価情報として予め生成されている検索対象となるコンテンツの中から、前記操作履歴を分類した前記第１グループをそれぞれ階層的クラスタリングした前記第２グループごとに、前記グループ評価情報生成ステップにより生成された前記グループ評価情報とベクトルの相関値が所定値以上である前記評価情報を有するコンテンツの情報を前記第２グループにおける前記ユーザの嗜好にマッチするコンテンツの情報として検索し、検索されたコンテンツの情報を該グループ評価情報と相関性の高い順に該第２グループ内でそれぞれソートするソートステップと、
前記ソートステップにより前記第２グループ内でそれぞれソートされたコンテンツの情報の中から、前記比率算出ステップにより算出された前記比率に応じた件数分のコンテンツの情報を、該第２グループごとに、前記グループ評価情報と相関性の高いものからそれぞれ抽出する抽出ステップと、
前記抽出ステップにより抽出されたコンテンツの情報をマージして表示出力する表示出力ステップと
を含んだことを特徴とする情報検索方法。
【請求項７】
情報検索装置としてのコンピュータに実行させる情報検索プログラムであって、
前記情報検索装置としてのコンピュータに、
操作ごとに操作内容と操作対象とを対応づけて操作履歴記憶部に記憶されるユーザの操作履歴から抽出した複数のキーワードそれぞれを基底とし、各操作履歴における各キーワードの出現回数を要素とするベクトルを、前記操作履歴ごとに、該操作履歴に残されるコンテンツの内容を評価する評価情報としてそれぞれ生成する評価情報生成手順と、
前記操作履歴記憶部に記憶されている各操作履歴に含まれる操作対象の情報から、該操作対象に共通して出現する頻度の高いキーワードを抽出し、抽出されたキーワードごとに、該キーワードを有する操作履歴を第１グループにそれぞれ分類し、分類された第１グループごとに階層的クラスタリングを行うことにより、複数の第１グループをさらに複数の第２グループにそれぞれ分類する履歴分類手順と、
前記操作履歴全体の大きさに対して前記履歴分類手順により分類された前記第２グループの大きさが占有する比率を該第２グループごとにそれぞれ算出する比率算出手順と、
前記評価情報生成手順により生成された前記評価情報について、前記履歴分類手順により分類された前記第２グループごとにベクトル和を算出することにより、該第２グループごとに、該第２グループにおける前記コンテンツのユーザ嗜好を示すグループ評価情報を生成するグループ評価情報生成手順と、
各コンテンツの情報に基づいて、前記基底および前記要素に基づくベクトルが前記評価情報として予め生成されている検索対象となるコンテンツの中から、前記操作履歴を分類した前記第１グループをそれぞれ階層的クラスタリングした前記第２グループごとに、前記グループ評価情報生成手順により生成された前記グループ評価情報とベクトルの相関値が所定値以上である前記評価情報を有するコンテンツの情報を前記第２グループにおける前記ユーザの嗜好にマッチするコンテンツの情報として検索し、検索されたコンテンツの情報を該グループ評価情報と相関性の高い順に該第２グループ内でそれぞれソートするソート手順と、
前記ソート手順により前記第２グループ内でそれぞれソートされたコンテンツの情報の中から、前記比率算出手順により算出された前記比率に応じた件数分のコンテンツの情報を、該第２グループごとに、前記グループ評価情報と相関性の高いものからそれぞれ抽出する抽出手順と、
前記抽出手順により抽出されたコンテンツの情報をマージして表示出力する表示出力手順と
を実行させることを特徴とする情報検索プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、情報検索装置、情報検索方法および情報検索プログラムに関する。
【背景技術】
【０００２】
従来、ＰＣ（personal  computer）やＰＶＲ（Personal  Video  Recorder)などを利用するユーザの嗜好に合わせてテレビ番組やニュース番組などを検索し、検索した番組を推薦する技術が提案されている。この技術によれば、ユーザに検索の手間をかけさせることなく、テレビ番組やニュース番組を簡単に視聴や録画させることが可能となる。
【０００３】
ユーザの嗜好に合わせて番組を検索する技術には、例えば、以下に説明する従来技術１や従来技術２が存在する。
【０００４】
従来技術１は、ユーザの嗜好に応じて予め定めたキーワードなどの検索条件に合致する番組を検索する、いわゆるブーリアン検索を行う技術である。この従来技術１は、番組のタイトルや詳細情報、ジャンルなどの中に、予め定められたキーワードが含まれる番組を検索する。この従来技術１は、キーワードによる検索にヒットした番組をユーザに推薦するだけなので、ユーザが検索結果から所望の番組を見つけにくいという問題がある。
【０００５】
また、従来技術２は、ユーザの番組録画履歴や番組視聴履歴から、ユーザの嗜好に合う番組のベクトルを算出し、算出したベクトルに基づいて番組を検索する技術である。この従来技術２は、ユーザが録画した番組や視聴した番組のタイトルや詳細情報、ジャンルなどに共通するキーワードなどを抽出し、抽出したキーワードに重みを付与する。次に、従来技術２は、キーワードに付与された重みを用いて、ユーザの嗜好と番組との距離を用いて計算し、ユーザの嗜好との距離が近い番組、言い換えれば、ユーザの嗜好により合致した番組ほど高いスコアがつくようにスコアを付与する。そして、従来技術２は、例えば、スコアの高い番組を検索し、検索結果をランク付けしてユーザに推薦する。よって、従来技術２は、上述した従来技術１に比較して、ユーザが検索結果から所望の番組を見つけやすいという特徴がある。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００８−１２３２１０号公報
【特許文献２】特開２００３−１１４９０３号公報
【特許文献３】特許第３７１４３１０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、上述した従来技術２は、番組の検索結果が嗜好性の強い番組に偏ってしまい、番組の検索結果から多様性が失われてしまうという問題があった。
【０００８】
ユーザは、検索結果として従来技術２により検索された番組のうち、上位にランク付けされた番組から順に確認するのが一般的である。そして、検索結果が膨大であれば、検索結果としてユーザに提供された番組のうち、下位にランク付けされている番組にまでは、ユーザの確認が行き届かない可能性も十分に考えられる。結果として、上位にランク付けされた番組ばかりを、ユーザが録画あるいは視聴する傾向が強くなくことも予想される。
【０００９】
従来技術２は、上述したように、ユーザの番組録画や番組視聴履歴を用いて番組の検索処理を行う。よって、上位にランク付けされた番組についての番組録画履歴や番組視聴履歴だけが偏って増加すれば、上位にランク付けされた番組と同一の嗜好性を有する番組だけが、検索結果として常に上位にランク付けされることとなる。一方、上位にランク付けされた番組と嗜好性が異なる番組は、検索結果として常に下位にランク付けされてしまう。つまり、従来技術２では、ユーザの嗜好に合わせて番組を検索する場合に、番組の検索結果から多様性が失われてしまう。
【００１０】
また、嗜好に合わせた番組を推薦してもらう技術を利用するユーザからは、ドラマだけでなく、例えば、映画やバラエティなど、嗜好に含まれる様々な番組を推薦して欲しいとの要請がある。しかしながら、上述した従来技術２では、番組検索の多様性が失われてしまうので、このユーザの要請には答えられないのが現状である。
【００１１】
今後、放送の地上デジタル化やインターネットを利用した動画配信などの進展により、検索対象となる番組数が増えれば、上述した従来技術２の問題点がより顕在化することが予想される。
【００１２】
開示の技術は、上記に鑑みてなされたものであって、ユーザの多様な嗜好を反映した番組の検索結果をユーザに提供することが可能な情報検索装置、情報検索方法および情報検索プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１３】
本願の開示する技術は、一つの態様において、操作履歴記憶部と、評価情報生成部と、履歴分類部と、比率算出部と、グループ評価情報生成部と、ソート部と、抽出部と、表示出力部とを有する。操作履歴記憶部は、コンテンツに関するユーザの操作ごとに操作内容と操作対象とを対応づけた操作履歴を記憶する。評価情報生成部は、操作履歴記憶部に記憶されている各操作履歴に含まれる操作対象の情報を用いて、操作履歴ごとに、該操作履歴に残されるコンテンツの内容を複数の評価軸で評価した評価情報をそれぞれ生成する。履歴分類部は、操作履歴記憶部に記憶されている各操作履歴に含まれる操作対象の情報から、該操作対象に共通して出現する頻度の高いキーワードを抽出する。そして、履歴分類部は、抽出されたキーワードごとに、該キーワードを有する操作履歴を第１グループにそれぞれ分類する。さらに、履歴分類部は、分類された第１グループごとに階層的クラスタリングを行うことにより、複数の第１グループをさらに複数の第２グループにそれぞれ分類する。比率算出部は、操作履歴全体の大きさに対して履歴分類部により分類された第２グループの大きさが占有する比率を該第２グループごとにそれぞれ算出する。グループ評価情報生成部は、評価情報生成部により生成された評価情報を、履歴分類部により分類された第２グループごとに統合することにより、該第２グループごとに、該第２グループにおけるコンテンツのユーザ嗜好を示すグループ評価情報を生成する。ソート部は、検索対象となるコンテンツの中から、グループ評価情報生成部により生成されたグループ評価情報に合致するコンテンツの情報を第２グループごとに検索する。そして、ソート部は、検索されたコンテンツの情報を該グループ評価情報と相関性の高い順に該第２グループ内でそれぞれソートする。抽出部は、ソート部により第２グループ内でそれぞれソートされたコンテンツの情報の中から、比率算出部により算出された比率に応じた件数分のコンテンツの情報を、該第２グループごとに、グループ評価情報と相関性の高いものからそれぞれ抽出する。表示出力部は、抽出部により抽出されたコンテンツの情報をマージして表示出力する。
【発明の効果】
【００１４】
本願の開示する技術の一つの態様によれば、ユーザの多様な嗜好を反映したコンテンツの検索結果をユーザに提供できる。
【図面の簡単な説明】
【００１５】
【図１】図１は、実施例１に係る情報検索装置の構成を示す図である。
【図２】図２は、実施例２に係る情報検索装置を示す図である。
【図３】図３は、操作履歴記憶部１０２に記憶される情報例を示す図である。
【図４】図４は、履歴グルーピング部１０４の処理の概要を示す図である。
【図５】図５は、履歴グルーピング部１０４により生成される操作履歴のインデックスの一例を示す図である。
【図６】図６は、履歴グルーピング部１０４によるキーワードの抽出例を示す図である。
【図７】図７は、履歴グルーピング部１０４により実行されるキーワードに応じた操作履歴の分類例を示す図である。
【図８】図８は、履歴グルーピング部１０４により実行される階層的クラスタリングの概念図である。
【図９】図９は、嗜好抽出部１０５により抽出される嗜好の一例を示す図である。
【図１０】図１０は、グルーピング比率保管部１０６により保存されるデータ例を示す図である。
【図１１】図１１は、推奨コンテンツ検索部１０７により検索されるコンテンツの情報例を示す図である。
【図１２】図１２は、推奨コンテンツマージ部１０８により実行されるコンテンツ情報のマージの概念図である。
【図１３】図１３は、推奨コンテンツマージ部１０８によるコンテンツの情報の再評価結果の一例を示す図である。
【図１４】図１４は、推奨コンテンツフィードバック部１０９により操作履歴に記録される操作内容の一例を示す図である。
【図１５】図１５は、操作内容と操作内容に応じた係数との対応関係を示す図である。
【図１６】図１６は、履歴グルーピング部１０４により実行されるキーワードに応じた操作履歴の分類処理の流れを示す図である。
【図１７】図１７は、履歴グルーピング部１０４により実行される階層的クラスタリング処理の流れを示す図である。
【図１８】図１８は、グルーピング比率保管部１０６により実行される比率保存処理の流れを示す図である。
【図１９】図１９は、嗜好抽出部１０５により実行される嗜好抽出処理の流れを示す図である。
【図２０】図２０は、推奨コンテンツ検索部１０７により実行されるコンテンツ検索処理の流れを示す図である。
【図２１】図２１は、推奨コンテンツマージ部１０８により実行されるコンテンツ情報のマージ処理の流れを示す図である。
【図２２】図２２は、推奨コンテンツマージ部１０８によるコンテンツの情報の再評価処理の流れを示す図である。
【図２３】図２３は、推奨コンテンツフィードバック部１０９により実行される操作内容記録処理の流れを示す図である。
【図２４】図２４は、履歴グルーピング部１０４により実行されるインデックス生成処理の流れを示す図である。
【図２５】図２５は、情報検索プログラムを実行するコンピュータの一例を示す図である。
【発明を実施するための形態】
【００１６】
以下に、図面を参照しつつ、本願の開示する情報検索装置、情報検索方法および情報検索プログラムの一実施形態について詳細に説明する。なお、本願の開示する情報検索装置、情報検索方法および情報検索プログラムの一実施形態として後述する実施例により、本願が開示する技術が限定されるものではない。
【実施例１】
【００１７】
図１は、実施例１に係る情報検索装置５０を示す図である。図１に示すように、実施例１に係る情報検索装置５０は、操作履歴記憶部５１と、評価情報生成部５２と、履歴分類部５３と、比率算出部５４と、グループ評価情報生成部５５と、ソート部５６と、抽出部５７と、表示出力部５８とを有する。
【００１８】
操作履歴記憶部５１は、コンテンツに関するユーザの操作ごとに操作内容と操作対象とを対応づけた操作履歴を記憶する。評価情報生成部５２は、操作履歴記憶部５１に記憶されている各操作履歴に含まれる操作対象の情報を用いて、操作履歴ごとに、該操作履歴に残されるコンテンツの内容を複数の評価軸で評価した評価情報をそれぞれ生成する。
【００１９】
履歴分類部５３は、操作履歴記憶部５１に記憶されている各操作履歴に含まれる操作対象の情報から、該操作対象に共通して出現する頻度の高いキーワードを抽出する。そして、履歴分類部５３は、該キーワードを有する操作履歴をグループ化して抽出されたキーワードごとの第１グループにそれぞれ分類する。さらに、履歴分類部５３は、分類された第１グループごとに階層的クラスタリングを行うことにより、各第１グループを複数の第２グループにそれぞれ分類する。
【００２０】
比率算出部５４は、操作履歴全体の大きさに対して履歴分類部５３により分類された第２グループの大きさが占有する比率を該第２グループごとにそれぞれ算出する。グループ評価情報生成部５５は、評価情報生成部５２により生成された評価情報を、履歴分類部５３により分類された第２グループごとに統合することで、該第２グループにおけるコンテンツのユーザ嗜好を示すグループ評価情報をそれぞれ生成する。
【００２１】
ソート部５６は、検索対象となるコンテンツの中から、グループ評価情報生成部５５により生成されたグループ評価情報に合致するコンテンツの情報を第２グループごとに検索する。そして、ソート部５６は、検索されたコンテンツの情報を該グループ評価情報と相関性の高い順に該第２グループ内でそれぞれソートする。
【００２２】
抽出部５７は、ソート部５６によりソートされたコンテンツの情報の中から、比率算出部５４により算出された比率に応じた件数分のコンテンツの情報を、第２グループごとに、グループ評価情報と相関性の高いものからそれぞれ抽出する。表示出力部５８は、抽出部５７により抽出されたコンテンツの情報をマージして表示出力する。
【００２３】
上述してきたように、実施例１に係る情報検索装置５０は、例えば、コンテンツに関するユーザの操作履歴に共通して出現するキーワードにより、操作履歴を予め分類した後、分類された各操作履歴を階層的クラスタリングによりグルーピングする。そして、次に、情報検索装置５０は、全操作履歴の大きさに対して、操作履歴の各グループの大きさが占める比率をそれぞれ算出する。また、情報検索装置５０は、各グループの含まれるコンテンツの情報からユーザの嗜好を示すグループ評価情報をそれぞれ生成する。続いて、情報検索装置５０は、各グループのグループ評価情報に応じたコンテンツの情報をそれぞれ検索し、各グループの検索結果から、各グループの比率に応じた分の検索結果を抽出する。そして、情報検索装置５０は、抽出結果をマージして表示出力する。このようなことから、実施例１によれば、ユーザの多様な嗜好を反映したコンテンツの検索結果をユーザに提供できる。
【実施例２】
【００２４】
［情報検索装置の構成（実施例２）］
図２は、実施例２に係る情報検索装置の構成を示す図である。図２に示すように、実施例２に係る情報検索装置１００は、表示出力部１０１と、操作履歴記憶部１０２と、コンテンツデータ記憶部１０３と、履歴グルーピング部１０４と、嗜好抽出部１０５と、グルーピング比率保管部１０６を有する。また、情報検索装置２００は、推奨コンテンツ検索部１０７と、推奨コンテンツマージ部１０８と、推奨コンテンツフィードバック部１０９とを有する。なお、情報処理装置１００は、例えば、ＰＣ（personal  computer）やＰＶＲ（Personal  Video  Recorder)などに該当する。なお、情報検索装置１００は、テレビ番組や動画などのコンテンツを検索対象とするが、以下の説明では、テレビ番組を例に挙げて説明する。
【００２５】
表示出力部１０１は、ユーザに推奨するテレビ番組の情報を表示出力する。表示出力部１０１は、ユーザに推奨するテレビ番組の情報を推奨コンテンツマージ部１０８から取得する。
【００２６】
操作履歴記憶部１０２は、テレビ番組に関するユーザの操作履歴をそれぞれ記憶する。操作履歴記憶部１０２は、操作履歴ごとに一意に付与されるＩＤと、ユーザの操作があった操作日時と、ユーザの操作内容と、テレビ番組のジャンルや番組名などに該当する操作対象とを対応付けて記憶する。
【００２７】
図３は、操作履歴記憶部１０２に記憶される情報例を示す図である。例えば、操作履歴記憶部１０２は、「ＩＤ：１」と、「操作日時：２００９／０５／０８  ２２：００」と、「操作内容：録画」と、「操作対象：ドラマ，番組１」とを対応付けて記憶する。また、図３に示すように、操作履歴記憶部１０２は、「ＩＤ：２」と、「操作日時：２００９／０５／０８  ２２：１０」と、「操作内容：録画」と、「操作対象：ドラマ，番組２」とを対応付けて記憶する。また、図３に示すように、操作履歴記憶部１０２は、「ＩＤ：３」と、「操作日時：２００９／０５／０９  ２１：００」と、「操作内容：録画」と、「操作対象：バラエティ，番組３」とを対応付けて記憶する。また、図３に示すように、操作履歴記憶部１０２は、「ＩＤ：４」と、「操作日時：２００９／０５／１０  ２１：３０」と、「操作内容：録画」と、「操作対象：バラエティ，番組４」とを対応付けて記憶する。
【００２８】
また、図３に示すように、操作履歴記憶部１０２は、「ＩＤ：５」と、「操作日時：２００９／０５／１２  ２３：００」と、「操作内容：録画」と、「操作対象：ドラマ，番組５」とを対応付けて記憶する。また、図３に示すように、操作履歴記憶部１０２は、「ＩＤ：ドラマ，６」と、「操作日時：２００９／０５／１２  ２３：０５」と、「操作内容：録画」と、「操作対象：番組６」とを対応付けて記憶する。また、図３に示すように、操作履歴記憶部１０２は、「ＩＤ：７」と、「操作日時：２００９／０５／２４  １３：００」と、「操作内容：録画」と、「操作対象：バラエティ，番組７」とを対応付けて記憶する。また、図３に示すように、操作履歴記憶部１０２は、「ＩＤ：８」と、「操作日時：２００９／０５／２４  １３：０８」と、「操作内容：録画」と、「操作対象：ドラマ，番組８」とを対応付けて記憶する。
【００２９】
また、図３に示すように、操作履歴記憶部１０２は、「ＩＤ：９」と、「操作日時：２００９／０６／０１  １３：００」と、「操作内容：録画」と、「操作対象：料理，番組９」とを対応付けて記憶する。また、図３に示すように、操作履歴記憶部１０２は、「ＩＤ：１０」と、「操作日時：２００９／０６／０１  １４：００」と、「操作内容：録画」と、「操作対象：教育，番組１０」とを対応付けて記憶する。また、図３に示すように、操作履歴記憶部１０２は、「ＩＤ：１１」と、「操作日時：２００９／０６／０７  １５：００」と、「操作内容：録画」と、「操作対象：ドラマ，番組１１」とを対応付けて記憶する。なお、上述した「〜，番組〜」は、テレビ番組のジャンルや番組名などのテキストデータに該当する。
【００３０】
コンテンツデータ記憶部１０３は、ユーザに推奨するために検索対象となるテレビ番組の情報を記憶する。コンテンツデータ記憶部１０３は、例えば、ネットワークなどを介して取得された最新のテレビ番組のデータを記憶するものとする。
【００３１】
上述した操作履歴記憶部１０２およびコンテンツデータ記憶部１０３は、例えば、ＲＡＭ（Random  Access  Memory）やフラッシュメモリ(flash  memory)などの半導体メモリ素子に該当する。
【００３２】
履歴グルーピング部１０４は、テレビ番組に関するユーザの操作履歴に共通して出現するキーワードにより、操作履歴を予めグルーピングする。図４を用いて、履歴グルーピング部１０４による処理の概要を説明する。図４は、履歴グルーピング部１０４の処理の概要を示す図である。
【００３３】
例えば、履歴グルーピング部１０４は、図４に示すように、操作履歴記憶部１０２に記憶されている操作履歴４−１から、ジャンルや番組名など、テレビ番組のメタデータに対応する情報を取得し、取得した情報を用いて、操作履歴のインデックスを生成する。次に、履歴グルーピング部１０４は、所定のキーワードにより操作履歴を分類し、分類された操作履歴を階層的にクラスタリングすることにより、操作履歴を複数のグループに分ける。ここで、メタデータとは、例えば、テレビ番組や動画のジャンルや番組名、番組詳細情報などを記したテキストデータに該当する。なお、以下において、「操作対象」と表記するものは、上述したメタデータに対応するものとする。
【００３４】
まず、インデックスの生成について具体的に説明する。ここで、インデックスとは、操作対象として操作履歴に含まれるテレビ番組の番組名などから、テレビ番組の内容が多次元からなる複数の評価軸で評価されたベクトルに該当する。
【００３５】
履歴グルーピング部１０４は、操作履歴記憶部１０２に記憶されている操作履歴を取得し、取得した操作履歴に含まれる操作対象を解析する。例えば、履歴グルーピング部１０４は、テキストデータを形態素解析やｎ−ｇｒａｍ解析にかけることにより、テキストデータをキーワードに分解する。次に、履歴グルーピング部１０４は、各キーワードが操作対象中に出現する頻度などからなる統計量を計算し、計算した統計量により各キーワードを重み付けする。
【００３６】
統計量としては、例えば、ＴＦ（Term  Frequency）やＤＦ（Document  Frequency）、ＴＦとＤＦの逆数の積などを用いる。ＴＦとは、例えば、操作対象として操作履歴に残されたテレビ番組のジャンルや番組名、番組詳細情報などのテキストデータ中に特定のキーワードが出現する頻度に該当する。ＤＦとは、操作対象として操作履歴に残されたテレビ番組のテキストデータや検索対象となるテレビ番組のテキストデータなど、インデックスの作成対象となる全てのテキストデータのうち、特定のキーワードを含むテキストデータの数に該当する。
【００３７】
キーワード重み付けを終えると、履歴グルーピング部１０４は、ベクトル空間法を用いて、操作履歴のインデックスを生成する。例えば、履歴グルーピング部１０４は、抽出したキーワードをベクトルの基底とし、各キーワードの統計量を、そのベクトルの要素の値として、各操作対象についてベクトルを作成し、作成したベクトルを操作履歴のインデックスとする。
【００３８】
図５は、履歴グルーピング部１０４により生成される操作履歴のインデックスの一例を示す図である。図５に示す５−１〜５−３は、テレビ番組の内容を評価するための座標軸をそれぞれ表す。図５に示す５−４〜５−７は、各操作履歴のインデックスを表す。図５に示すように、履歴グルーピング部１０４により生成される操作履歴のインデックスは、操作履歴ごとにユニークなベクトルとなる。以上で、履歴グルーピング部１０４によるインデックスの生成の説明を終える。
【００３９】
次に、所定のキーワードによる操作履歴の分類について具体的に説明する。履歴グルーピング部１０４は、操作履歴記憶部１０２に記憶されている操作履歴を全て取得し、取得した操作履歴のそれぞれに含まれる操作対象から、ＤＦ（Document  Frequency）の高いキーワードを抽出する。ここで、履歴グルーピング部１０４は、操作履歴のそれぞれに含まれる操作対象に限定したＤＦを用いる。すなわち、操作履歴のそれぞれに含まれる操作対象のテキストデータに共通して頻出するキーワードのみを抽出する趣旨である。なお、ＤＦの高さを判断するための閾値は予め定めるものとする。
【００４０】
図６は、履歴グルーピング部１０４によるキーワードの抽出例を示す図である。図６に示すように、履歴グルーピング部１０４は、操作履歴記憶部１０２に記憶されている操作対象に共通して頻出するキーワードとして、「ドラマ」、「バラエティ」、「料理」、「教育」、「土曜」、「温泉」、「英会話」などが抽出される。そして、図６には、例えば、「ドラマ」、「バラエティ」、「料理」、「教育」、「土曜」、「温泉」、「英会話」・・・の順に、操作対象に共通して頻出するキーワードであることが示されている。
【００４１】
キーワードの抽出後、履歴グルーピング部１０４は、抽出したＤＦの高いキーワードを用いて、操作履歴記憶部１０２に記憶されている操作履歴を分類する。履歴グルーピング部１０４は、抽出したキーワードごとに、同一のキーワードを含む操作対象を操作履歴記憶部１０２の中から抽出し、抽出した操作対象に対応する操作履歴を同一のグループに分類する。なお、履歴グルーピング部１０４は、排他的あるいは非排他的、いずれの分類を行ってもよい。例えば、排他的な分類を行う場合には、既にあるグループにまとめられた操作対象は他のグループには分類されない。一方、非排他的な分類を行う場合には、操作対象は複数のグループに分類される。
【００４２】
図７は、履歴グルーピング部１０４により実行されるキーワードに応じた操作履歴の分類例を示す図である。図７には、キーワードと、キーワードにより分類された操作履歴との対応関係を示している。図７に示すように、例えば、「キーワード：ドラマ」に対応するグループとして、「ＩＤ：１、番組１」、「ＩＤ：２、番組２」、「ＩＤ：５、番組５」「ＩＤ：６、番組６」「ＩＤ：８、番組８」「ＩＤ：１１、番組１１」の操作履歴が分類される。また、図７に示すように、「キーワード：バラエティ」に対応するグループとして、「ＩＤ：３、番組３」、「ＩＤ：４、番組４」、「ＩＤ：７、番組７」の操作履歴が分類される。また、図７に示すように、「キーワード：料理」に対応するグループとして、「ＩＤ：９、番組９」の操作履歴が分類される。また、図７に示すように、「キーワード：教育」に対応するグループとして、「ＩＤ：１０、番組１０」の操作履歴が分類される。以上で、履歴グルーピング部１０４による操作履歴の分類の説明を終える。
【００４３】
次に、分類された各グループの階層的クラスタリングについて具体的に説明する。履歴グルーピング部１０４は、各操作履歴をクラスタに割り当て、その操作履歴のインデックスをクラスタのインデックスとして、クラスタ同士の類似性を評価する。そして、履歴グルーピング部１０４は、クラスタ同士の類似度合が閾値以上の場合には、それらのクラスタを結合して新たなクラスタを生成する。なお、クラスタ同士の類似性は、クラスタのインデックスの相関係数、例えば、ベクトルの内積や角度を用いて評価する。
【００４４】
履歴グルーピング部１０４は、新しいクラスタができた場合には、新しいクラスタに含まれる操作履歴のインデックスの総和、例えば、ベクトル和を求めて、求めたインデックスの総和を新しいクラスタのインデックスとする。履歴グルーピング部１０４は、ここまでの処理を、結合されるクラスタがなくなるまで繰り返し実行する。なお、クラスタ同士の結合は、最初に類似度合が閾値を超えたクラスタ同士を結合してもよいし、類似度合が閾値以上で最も高かったクラスタ同士を結合してもよい。
【００４５】
そして、履歴グルーピング部１０４は、最終的に生成されたクラスタを、操作履歴の分類結果、つまり操作履歴のグループとし、各グループの大きさを抽出する。ここで、グループの大きさとは、各グループに含まれる操作履歴の件数、クラスタの密度と件数を乗じた値、クラスタのインデックスのノルム、つまり、クラスタ内の操作履歴のインデックスの総和などを用いることができる。
【００４６】
図８は、履歴グルーピング部１０４により実行される階層的クラスタリングの概念図である。図８には、たとえば、上述した図７に示すキーワード「ドラマ」に対応付けて分類された「ＩＤ：１、番組１」〜「ＩＤ：１１、番組１１」の操作履歴の階層的クラスタリングの概念が表されている。図８に示す「Ｃ（１，１）」〜「Ｃ（１，６）」、「Ｃ（１，１）´」〜「Ｃ（１，３）´」、「Ｃ（１，１）´´」〜「Ｃ（１，２）´´」は、各クラスタを表す。図８に示す「ｒ」は、各クラスタのインデックスを表す。なお、クラスタを結合した場合のインデックスは、クラスタを結合する側のインデックスを用いるものとする。また、図８に示すｃｎ（ｘ，ｙ）は、クラスタの大きさを表す。ｘ，ｙは、自然数である。
【００４７】
図８に示すように、履歴グルーピング部１０４は、操作履歴「ＩＤ：１、番組１」〜「ＩＤ：１１、番組１１」の操作履歴にクラスタ「Ｃ（１，１）」〜「Ｃ（１，６）」をそれぞれに割り当てる。そして、履歴グルーピング部１０４は、その操作履歴のインデックスをクラスタのインデックスとして、「Ｃ（１，１）」と「Ｃ（１，４）」、「Ｃ（１，２）」と「Ｃ（１，６）」、「Ｃ（１，３）」と「Ｃ（１，５）」のクラスタ同士の類似性を評価する。
【００４８】
そして、図８に示すように、履歴グルーピング部１０４は、クラスタ同士の類似度合が閾値以上である「Ｃ（１，１）」のクラスタと「Ｃ（１，４）」のクラスタとを結合して新たなクラスタ「Ｃ（１，１）´」を生成する。同様に、履歴グルーピング部１０４は、クラスタ同士の類似度合が閾値以上である「Ｃ（１，２）」のクラスタと「Ｃ（１，６）」のクラスタとを結合して新たなクラスタ「Ｃ（１，２）´」を生成する。同様に、履歴グルーピング部１０４は、クラスタ同士の類似度合が閾値以上である「Ｃ（１，３）」のクラスタと「Ｃ（１，５）」のクラスタとを結合して新たなクラスタ「Ｃ（１，３）´」を生成する。
【００４９】
さらに、図８に示すように、履歴グルーピング部１０４は、クラスタ同士の類似度合が閾値以上である「Ｃ（１，１）´」のクラスタと「Ｃ（１，２）´」のクラスタとを結合して新たなクラスタ「Ｃ（１，１）´´」を生成する。また、履歴グルーピング部１０４は、類似度値が閾値以上であるクラスタがない「Ｃ（１，３）´」を、そのまま新たなクラスタ「Ｃ（１，２）´´」とする。そして、履歴グルーピング部１０４は、これ以上クラスタリングできないので、最終的なクラスタ「Ｃ（１，１）´´」の大きさｃｎ（１，１）＝４，「Ｃ（１，２）´´」の大きさをそれぞれｃｎ（１，１）＝２をそれぞれ求める。そして、履歴グルーピング部１０４は階層的クラスタリングを終了する。以上で、履歴グルーピング部１０４による階層的クラスタリングの説明を終える。
【００５０】
嗜好抽出部１０５は、履歴グルーピング部１０４によりクラスタリングされた操作履歴の各グループについて、グループに属する操作履歴のインデックスを統合することにより、各グループにおけるユーザの嗜好を求める。例えば、嗜好抽出部１０５は、グループ内の各操作履歴のインデックスを表すベクトルの総和を求める。
【００５１】
図９は、嗜好抽出部１０５により抽出される嗜好の一例を示す図である。図９に示す９−１〜９−３は、テレビ番組の内容を評価するための座標軸をそれぞれ表す。図９に示す９−４〜９−７は、あるグループに属する各操作履歴のインデックスをそれぞれ表す。図９に示すように、グループに属する操作履歴のインデックス９−４〜９−７を統合することによって嗜好抽出部１０５により求められるユーザの嗜好は、例えば、図９に示す９−８のようになる。上述してきたように、嗜好抽出部１０５は、従来のようにユーザの好みを一つの嗜好で表すのではなく、ユーザが有する様々な好みをいくつかの嗜好として表すことができる。よって、ユーザの薄い嗜好に対しても他の嗜好に埋もれることなく、嗜好を抽出することができる。
【００５２】
グルーピング比率保管部１０６は、履歴グルーピング部１０４により求められた操作履歴の各グループの大きさをそれぞれ保管する。この時、グルーピング比率保管部１０６は、各グループの大きさだけでなく、操作履歴全体の大きさ全体に対する各グループの比率を求め、求めた各比率をグループに対応付けて内部的な記憶部に保管する。
【００５３】
図１０は、グルーピング比率保管部１０６により保存されるデータ例を示す図である。グルーピング比率保管部１０６は、クラスタ番号と、クラスタに属する操作履歴と、クラスタの大きさとを対応付けて保管する。例えば、図１０に示すように、クラスタ番号「Ｃ（１，１）」と、操作履歴（「ＩＤ：１，番組１」，「ＩＤ：２，番組２」，「ＩＤ６：番組６」，「ＩＤ：１１，番組１１」）と、クラスタの大きさ「４，（３７％）」とを対応付けて記憶する。また、図１０に示すように、クラスタ番号「Ｃ（１，２）」と、操作履歴（「ＩＤ：５，番組５」，「ＩＤ：８，番組８」）と、クラスタの大きさ「２，（１８％）」とを対応付けて記憶する。また、図１０に示すように、クラスタ番号「Ｃ（２，１）」と、操作履歴（「ＩＤ：３，番組３」，「ＩＤ：４，番組４」）と、クラスタの大きさ「２，（１８％）」とを対応付けて記憶する。また、図１０に示すように、クラスタ番号「Ｃ（３，１）」と、操作履歴（「ＩＤ：７，番組７」，「ＩＤ：９，番組９」，「ＩＤ：１０，番組１０」）と、クラスタの大きさ「３，（２７％）」とを対応付けて記憶する。
【００５４】
なお、グルーピング比率保管部１０６は、クラスタの大きさとして、例えば、クラスタリングされた各グループに属する操作履歴の件数と、操作履歴全件数に対して各グループに属する操作履歴の件数が占有する比率とを保管する。グルーピング比率保管部１０６は、例えば、図１０に示す場合では、クラスタ番号「Ｃ（１，１）」について、クラスタ番号「Ｃ（１，１）」のグループの属する操作履歴の件数「４」と、このグループの比率「３７％」とをクラスタの大きさとして保管する。
【００５５】
推奨コンテンツ検索部１０７は、嗜好抽出部１０５により求められた各グループにおけるユーザの嗜好、つまりインデックスを用いて、グループごとに、グループにおけるユーザの嗜好に応じたテレビ番組を検索する。このとき、コンテンツデータ記憶部１０３に記憶されている検索対象となるテレビ番組についてもインデックスを予め求めておく。そして、推奨コンテンツ検索部１０７は、操作履歴の各グループのインデックスと検索対象となるテレビ番組との類似度合を評価する。この類似度合は、操作履歴のインデックス、つまりユーザの嗜好と検索対象となるテレビ番組のインデックスとの相関係数のスコアにより評価する。相関係数は、例えば、ベクトルの内積や角度に基づいて算出される。操作履歴のインデックスと検索対象となるテレビ番組のインデックスとの相関係数が高いほど、ユーザの嗜好と検索対象となるテレビ番組の類似度合が高いものとし、ユーザの嗜好によりマッチングしたテレビ番組であると評価する。推奨コンテンツ検索部１０７は、相関係数が高い、つまり類似度合が高い検索結果から降順にソートする。
【００５６】
図１１は、推奨コンテンツ検索部１０７により検索されるコンテンツの情報例を示す図である。図１１に示すように、推奨コンテンツ検索部１０７は、相関係数が高い、つまり類似度合が高い検索結果から降順にソートする。例えば、図１１に示すように、相関係数が最も高い相関係数「０．７０」、放送日時「２００９／０５／１５  ２３：１５」、ジャンル「ドラマ：国内ドラマ」、番組名「番組１２」の検索結果が最上段にソートされる。そして、相関係数が最も低い相関係数「０．５０」、放送日時「２００９／０５／０８  ２３：１５」、ジャンル「ドラマ：国内ドラマ」、番組名「番組１７」の検索結果が最下段にソートされる。
【００５７】
推奨コンテンツマージ部１０８は、推奨コンテンツ検索部１０７による各グループについてのテレビ番組の検索結果をマージすることにより最終的なテレビ番組の検索結果を作成する。
【００５８】
図１２は、推奨コンテンツマージ部１０８により実行されるコンテンツ情報のマージの概念図である。例えば、推奨コンテンツマージ部１０８は、グルーピング比率保管部１０６から各グループの比率を取得し、最終的な検索結果の提示件数に対して、グループごとに何件の検索結果を提示するかを求める。例えば、図１２に示すように、推奨コンテンツマージ部１０８は、最終的な検索結果の提示件数「３０件」と、クラスタＣ（１，１）に対応する操作履歴のグループの比率「３７％」とを用いて、このグループからの検索結果の提示件数「１１件」を求める。
【００５９】
また、図１２に示すように、推奨コンテンツマージ部１０８は、最終的な検索結果の提示件数「３０件」と、クラスタＣ（１，２）に対応する操作履歴のグループの比率「１８％」とを用いて、このグループからの検索結果の提示件数「５件」を求める。また、図１２に示すように、推奨コンテンツマージ部１０８は、最終的な検索結果の提示件数「３０件」と、クラスタＣ（２，１）に対応する操作履歴のグループの比率「１８％」とを用いて、このグループからの検索結果の提示件数「５件」を求める。同様の手順で、推奨コンテンツマージ部１０８は、グループごとに何件の検索結果を提示するかを求める。なお、上述した最終的な検索結果の提示件数「３０件」はあくまで一例であり、任意に決定できる。
【００６０】
続いて、推奨コンテンツマージ部１０８は、各グループについての検索結果のうち相関係数が上位のものから、各グループの提示件数分の検索結果を取り出し、取り出した検索結果をマージする。例えば、図１２に示すように、推奨コンテンツマージ部１０８は、スコア「０．８０」〜番組名「番組１２」から、スコア「０．５５」〜番組名「番組１５」までの検索結果をマージする。このとき、推奨コンテンツマージ部１０８は、テレビ番組の属性、つまり番組の放送日時や長さ、チャンネルやジャンルなどを用いて検索結果をソートした上でマージしてもよい。
【００６１】
なお、推奨コンテンツ検索部１０７により求められた相関係数のスコアは、各グループの嗜好を用いて検索対象を評価した類似度合であるので評価軸が異なる。よって、推奨コンテンツマージ部１０８は、相関係数のスコアを用いて検索結果をソートすることは厳密にはできない。そこで、ユーザの嗜好全体に対する各検索結果の類似度合を再評価することにより、各検索結果の最終的な相関係数のスコアを求めて、求めたスコアに基づいて各検索結果を最終的にソートする。例えば、推奨コンテンツマージ部１０８は、操作履歴のインデックス、もしくは操作履歴のグループのインデックスを統合することによりユーザの全体的な嗜好を求める。続いて、推奨コンテンツマージ部１０８は、ユーザの全体的な嗜好を用いて、推奨コンテンツ検索部１０７によりグループごとに検索された検索結果を再評価することにより、ユーザの全体的な嗜好に対する各検索結果の類似度合を求める。そして、推奨コンテンツマージ部１０８は、類似度合として求められた相関係数のスコアを用いて、推奨コンテンツ検索部１０７によりグループごとに検索された検索結果をランク付けし、相関係数のスコアの高いものから降順にソートする。
【００６２】
図１３は、推奨コンテンツマージ部１０８によるコンテンツの情報の再評価結果の一例を示す図である。例えば、図１３に示すように、推奨コンテンツマージ部１０８は、検索結果の再評価の結果、スコア「０．７０」〜番組名「番組１２」から、スコア「０．５５」〜番組名「番組１５」を順にソートした上でマージする。検索結果の再評価の結果、図１３に示す検索結果のマージ結果と、図１２に示す検索結果のマージ結果との間で、検索結果のスコアの値および検索結果のソート順が異なるものが出てくる。
【００６３】
テレビ番組の検索結果に対してユーザにより行われた操作を操作履歴に反映する。例えば、推奨コンテンツフィードバック部１０９は、検索結果の番組を録画や視聴など、ユーザにより肯定的な操作が行われた場合には、その検索結果はユーザにとって正解であったと判断する。そして、推奨コンテンツフィードバック部１０９は、履歴グルーピング部１０４によりグルーピングが実行される場合に、正解の検索結果が得られた操作履歴のグループの比率が高くなるように、ポジディブなフィードバックを行う。
【００６４】
一方、推奨コンテンツフィードバック部１０９は、検索結果の番組に対して否定的な操作がユーザにより行われた場合は、その検索結果はユーザにとって不正解であったと判断する。そして、推奨コンテンツフィードバック部１０９は、履歴グルーピング部１０４によりグルーピングが実行される場合に、不正解の検索結果が得られた操作履歴のグループの比率が低くなるように、ネガティブなフィードバックを行う。
【００６５】
具体的には、推奨コンテンツフィードバック部１０９は、検索結果に対するユーザの操作を操作履歴記憶部１０２に記録しておく。図１４は、推奨コンテンツフィードバック部１０９により操作履歴に記録される操作内容の一例を示す図である。例えば、図１４に示すように、推奨コンテンツフィードバック部１０９は、検索結果に対するユーザの操作の履歴として、「ＩＤ：１５４」、「操作内容：検索結果を録画」を記録する。
【００６６】
また、推奨コンテンツフィードバック部１０９は、検索結果に対するユーザに操作内容に応じた係数を予め設定しておく。図１５は、操作内容と操作内容に応じた係数との対応関係を示す図である。例えば、図１５に示すように、推奨コンテンツフィードバック部１０９は、「操作内容：検索結果の録画」に対して「係数：１．２」を予め設定する。また、図１５に示すように、推奨コンテンツフィードバック部１０９は、「操作内容：検索結果の視聴」に対して「係数：１．２」を予め設定する。また、図１５に示すように、推奨コンテンツフィードバック部１０９は、「操作内容：検索結果の肯定評価」に対して「係数：２．０」を予め設定する。また、図１５に示すように、推奨コンテンツフィードバック部１０９は、「操作内容：検索結果の否定評価」に対して「係数：−２．０」を予め設定する。
【００６７】
そして、推奨コンテンツフィードバック部１０９は、履歴グルーピング部１０４により操作履歴のインデックスの生成が行われる際に、検索結果に対するユーザの操作の操作履歴のインデックスに対して操作内容に応じた係数を乗算する。これにより、ユーザにより肯定的に評価された検索結果のインデックスは強く評価され、否定的に評価された検索結果のインデックスは低く評価されることとなる。この結果、履歴グルーピング部１０４によりグルーピングされた各グループのインデックスや大きさが変化することとなる。なお、それぞれの検索結果を含むグループのインデックスや大きさは、そのグループに属する操作履歴のインデックスや件数で定まる。よって、検索結果に対する操作履歴を有するグループに対して上述した係数を乗算することにより、グループに属する操作履歴の数に対しても検索結果に対するユーザの操作内容を反映させることもできる。 
【００６８】
なお、履歴グルーピング部１０４、嗜好抽出部１０５、グルーピング比率保管部１０６、推奨コンテンツ検索部１０７、推奨コンテンツマージ部１０８、推奨コンテンツフィードバック部１０９は、例えば、電子回路や集積回路に該当する。電子回路としては、例えば、ＣＰＵ（Central  Processing  Unit）やＭＰＵ（Micro  Processing  Unit）がある。また、集積回路としては、例えば、ＡＳＩＣ（Application  Specific  Integrated  Circuit）やＦＰＧＡ（Field  Programmable  Gate  Array)などがある。
【００６９】
［情報検索装置による処理（実施例２）］
図１６〜図２４を用いて、実施例２に係る情報検索装置による処理の流れを説明する。まず、図１６を用いて、履歴グルーピング部１０４により実行されるキーワードに応じた操作履歴の分類処理の流れを説明する。図１６は、履歴グルーピング部１０４により実行されるキーワードに応じた操作履歴の分類処理の流れを示す図である。
【００７０】
図１６に示すように、履歴グルーピング部１０４は、たとえば、番組検索の開始指示があると（ステップＳ１６０１，ＹＥＳ）、操作履歴Ｈのメタデータを、たとえばＮ個取得する（ステップＳ１６０２）。なお、履歴グルーピング部１０４は、番組検索の開始指示があるまで、ステップＳ１６０１の判定結果をＮＯとして同じ判定を繰り返す。
【００７１】
次に、履歴グルーピング部１０４は、メタデータ中の操作対象情報、すなわちテキストデータから操作履歴のインデックスを生成する（ステップＳ１６０３）。続いて、履歴グルーピング部１０４は、メタデータ中の操作対象情報から出現頻度の高いキーワードＫを、例えばＭ個抽出する（ステップＳ１６０４）。
【００７２】
次に、履歴グルーピング部１０４は、ｉに初期値を設定するとともに（ステップＳ１６０５）、ｊに初期値を設定する（ステップＳ１６０６）。そして、履歴グルーピング部１０４は、ｉがＭ以下であるか否かを判定する（ステップＳ１６０７）。判定の結果、ｉがＭ以下である場合には（ステップＳ１６０７，ＹＥＳ）、履歴グルーピング部１０４は、ｊがＮ以下であるか否かを判定する（ステップＳ１６０８）。判定の結果、ｊがＮ以下である場合には（ステップＳ１６０８，ＹＥＳ）、履歴グルーピング部１０４は、操作履歴Ｈ（ｊ）の操作対象情報にＫ（ｉ）を含むか否かを判定する（ステップＳ１６０９）。
【００７３】
判定の結果、操作履歴Ｈ（ｊ）の操作対象情報にＫ（ｉ）を含む場合には（ステップＳ１６０９，ＹＥＳ）、履歴グルーピング部１０４は、Ｈ（ｊ）をＫ（ｉ）のグループに追加する（ステップＳ１６１０）。そして、履歴グルーピング部１０４は、ｊ＝Ｊ＋１として（ステップＳ１６１１）、上述したステップＳ１６０８に戻り、ｊがＮ以下であるか否かを判定する。
【００７４】
ここでステップＳ１６０９の説明に戻る。履歴グルーピング部１０４は、判定の結果、操作履歴Ｈ（ｊ）の操作対象情報にＫ（ｉ）を含まない場合には（ステップＳ１６０９，ＮＯ）、上述したステップＳ１６１１に移る。
【００７５】
ここでステップＳ１６０８の説明に戻る。履歴グルーピング部１０４は、判定の結果、ｊがＮ以下ではない場合には（ステップＳ１６０８，ＮＯ）、ｉ＝ｉ＋１として（ステップＳ１６１２）、上述したステップＳ１６０７に戻り、ｉがＭ以下であるか否かを判定する。判定の結果、ｉがＭ以下ではない場合には（ステップＳ１６０７、ＮＯ）、履歴グルーピング部１０４は、ｉを初期値にリセットし（ステップＳ１６１３）、ｉがＭ以下であるか否かを判定する（ステップＳ１６１４）。判定の結果、ｉがＭ以下である場合には（ステップＳ１６１４，ＹＥＳ）、履歴グルーピング部１０４は、階層的クラスタリング処理を行う（ステップＳ１６１５）。
【００７６】
そして、履歴グルーピング部１０４は、ｉ＝ｉ＋１として（ステップＳ１６１６）、上述したステップＳ１６１４に戻り、ｉがＭ以下であるか否かを判定する。ここでステップＳ１６１４の説明に戻る。判定の結果、ｉがＭ以下ではない場合には（ステップＳ１６１４、ＮＯ）、履歴グルーピング部１０４は、操作履歴の分類処理を終了する。
【００７７】
次に、図１７を用いて、履歴グルーピング部１０４により実行される階層的クラスタリング処理の流れを説明する。図１７は、履歴グルーピング部１０４により実行される階層的クラスタリング処理の流れを示す図である。
【００７８】
図１７に示すように、履歴グルーピング部１０４は、ｉを初期値に設定し（ステップＳ１７０１）、ｉがＭ以下であるか否かを判定する（ステップＳ１７０２）。判定の結果、履歴グルーピング部１０４は、ｉがＭ以下である場合には（ステップＳ１７０２，ＹＥＳ）、キーワードＫ（ｉ）のグループを抽出する（ステップＳ１７０３）。そして、履歴グルーピング部１０４は、ｊに初期値を設定し（ステップＳ１７０４）、ｊがＮ以下であるか否かを判定する（ステップＳ１７０５）。判定の結果、ｊがＮ以下である場合には（ステップＳ１７０５，ＹＥＳ）、履歴グルーピング部１０４は、操作履歴Ｈ（ｊ）をスタートクラスタＣ（ｉ，ｊ）に設定する（ステップＳ１７０６）。
【００７９】
そして、履歴グルーピング部１０４は、ｊ＝ｊ＋１として（ステップＳ１７０７）、上述したステップＳ１７０５に戻り、ｊがＮ以下であるか否かを判定する。ここでステップＳ１７０５の説明に戻る。履歴グルーピング部１０４は、判定の結果、ｊがＮ以下ではない場合には（ステップＳ１７０５，ＮＯ）、以下のステップＳ１７０９〜１７１５により結合されるクラスタがあるか否かを判定する（ステップＳ１７０８）。判定の結果、結合されるクラスタがある場合には（ステップＳ１７０８，ＹＥＳ）、履歴グルーピング部１０４は、ｊがクラスタ数ＣＮ以下であるか否かを判定する（ステップＳ１７０９）。
【００８０】
判定の結果、ｊがクラスタ数ＣＮ以下である場合には（ステップＳ１７０９，ＹＥＳ）、履歴グルーピング部１０４は、ｋ＝ｊ＋１として（ステップＳ１７１０）、ｋがクラスタ数ＣＮ以下であるか否かを判定する（ステップＳ１７１１）。判定の結果、ｋがクラスタ数ＣＮ以下である場合には（ステップＳ１７１１，ＹＥＳ）、履歴グルーピング部１０４は、クラスタＣ（ｉ，ｊ）とクラスタＣ（ｉ，ｋ）との相関係数が規定の閾値以上であるか否かを判定する（ステップＳ１７１２）。判定の結果、クラスタＣ（ｉ，ｊ）とクラスタＣ（ｉ，ｋ）との相関係数が規定の閾値以上である場合には（ステップＳ１７１２，ＹＥＳ），履歴グルーピング部１０４は、クラスタＣ（ｉ，ｊ）とクラスタＣ（ｉ，ｋ）とを結合する（ステップＳ１７１３）。
【００８１】
次に、履歴グルーピング部１０４は、結合後のクラスタＣ（ｉ，ｊ）のインデックスを生成する（ステップＳ１７１４）。続いて、履歴グルーピング部１０４は、キーワードＫ（ｉ）のグループからＣ（ｉ，ｋ）を除外した後、クラスタ数ＣＮを更新する（ステップＳ１７１５）。そして、履歴グルーピング部１０４は、ｊ＝ｊ＋１として（ステップＳ１７１６）、上述したステップＳ１７０９に戻り、ｊがクラスタ数ＣＮ以下であるか否かを判定する。
【００８２】
ここでステップＳ１７０９の説明に戻る。履歴グルーピング部１０４は、判定の結果、ｊがクラスタ数ＣＮ以下ではない場合には（ステップＳ１７０９，ＮＯ）、上述したステップＳ１７０８に戻り、結合されるクラスタがあるか否かを判定する。ここでステップＳ１７０８の説明に戻る。履歴グルーピング部１０４は、判定の結果、結合されるクラスタがない場合には（ステップＳ１７０８，ＮＯ）、ｉ＝ｉ＋１として（ステップＳ１７１７）、上述したステップＳ１７０２に戻り、ｉがＭ以下であるか否かを判定する。
【００８３】
ここでステップＳ１７０２の説明に戻る。履歴グルーピング部１０４は、判定の結果、ｉがＭ以下ではない場合には（ステップＳ１７０２，ＮＯ）、階層的クラスタリング処理を終了する。
【００８４】
続いて、図１８を用いて、グルーピング比率保管部１０６により実行される比率保存処理の流れを説明する。図１８は、グルーピング比率保管部１０６により実行される比率保存処理の流れを示す図である。
【００８５】
図１８に示すように、グルーピング比率保管部１０６は、ｉに初期値を設定するとともに（ステップＳ１８０１）、ｊに初期値を設定し（ステップＳ１８０２）、ｉがＭ以下であるか否かを判定する（ステップＳ１８０３）。判定の結果、ｉがＭ以下である場合には（ステップＳ１８０３，ＹＥＳ）、グルーピング比率保管部１０６は、ｊがＮ（ｉ）以下であるか否かを判定する（ステップＳ１８０４）。Ｎ（ｉ）は、クラスタＣ（ｉ，ｊ）のｊの最大値を表す。
【００８６】
グルーピング比率保管部１０６は、判定の結果、ｊがＮ（ｉ）以下である場合には（ステップＳ１８０４，ＹＥＳ）、クラスタＣ（ｉ，ｊ）の大きさを取得する（ステップＳ１８０５）。続いて、グルーピング比率保管部１０６は、全体、すなわちクラスタの大きさの総和に対するクラスタＣ（ｉ，ｊ）の大きさの比率を保存する（ステップＳ１８０６）。そして、グルーピング比率保管部１０６は、ｊ＝ｊ＋１として（ステップＳ１８０７）、上述したステップＳ１８０４に戻り、ｊがＮ（ｉ）以下であるか否かを判定する。
【００８７】
ここでステップＳ１８０４の説明に戻る。グルーピング比率保管部１０６は、判定の結果、ｊがＮ（ｉ）以下ではない場合には（ステップＳ１８０４，ＮＯ）、ｉ＝ｉ＋１として（ステップＳ１８０８）、上述したステップＳ１８０３に戻り、ｉがＭ以下であるか否かを判定する。ここでステップＳ１８０３の説明に戻る。グルーピング比率保管部１０６は、判定の結果、ｉがＭ以下ではない場合には（ステップＳ１８０３，ＮＯ）、比率保存処理を終了する。
【００８８】
次に、図１９を用いて、嗜好抽出部１０５により実行される嗜好抽出処理の流れを説明する。図１９は、嗜好抽出部１０５により実行される嗜好抽出処理の流れを示す図である。
【００８９】
図１９に示すように、嗜好抽出部１０５は、ｉに初期値を設定するとともに（ステップＳ１９０１）、ｊに初期値を設定し（ステップＳ１９０２）、ｉがＭ以下であるか否かを判定する（ステップＳ１９０３）。判定の結果、ｉがＭ以下である場合には（ステップＳ１９０３，ＹＥＳ）、嗜好抽出部１０５は、ｊがＮ（ｉ）以下であるか否かを判定する（ステップＳ１９０４）。Ｎ（ｉ）は、クラスタＣ（ｉ，ｊ）のｊの最大値を表す。
【００９０】
嗜好抽出部１０５は、判定の結果、ｊがＮ（ｉ）以下である場合には（ステップＳ１９０４，ＹＥＳ）、クラスタＣ（ｉ，ｊ）に含まれる全ての操作履歴のインデックスを取得する（ステップＳ１９０５）。続いて、嗜好抽出部１０５は、取得したインデックスの総和、すなわちクラスタＣ（ｉ，ｊ）の嗜好を算出する（ステップＳ１９０６）。そして、嗜好抽出部１０５は、ｊ＝ｊ＋１として（ステップＳ１９０７）、上述したステップＳ１９０４に戻り、ｊがＮ（ｉ）以下であるか否かを判定する。
【００９１】
ここでステップＳ１９０４の説明に戻る。嗜好抽出部１０５は、判定の結果、ｊがＮ（ｉ）以下ではない場合には（ステップＳ１９０４，ＮＯ）、ｉ＝ｉ＋１として（ステップＳ１９０８）、上述したステップＳ１９０３に戻り、ｉがＭ以下であるか否かを判定する。ここでステップＳ１９０３の説明に戻る。嗜好抽出部１０５は、判定の結果、ｉがＭ以下ではない場合には（ステップＳ１９０３，ＮＯ）、嗜好抽出処理を終了する。
【００９２】
続いて、図２０を用いて、推奨コンテンツ検索部１０７により実行されるコンテンツ検索処理の流れを説明する。図２０は、推奨コンテンツ検索部１０７により実行されるコンテンツ検索処理の流れを示す図である。
【００９３】
図２０に示すように、推奨コンテンツ検索部１０７は、クラスタＣ（ｉ，ｊ）の嗜好を抽出する（ステップＳ２００１）。次に、推奨コンテンツ検索部１０７は、検索対象となるコンテンツ（ｌ）をコンテンツデータ記憶部１０３から取得し、取得したコンテンツ（ｌ）のインデックスを、例えばＬ個抽出する（ステップＳ２００２）。
【００９４】
そして、推奨コンテンツ検索部１０７は、ｌがＬ以下であるか否かを判定する（ステップＳ２００３）。判定の結果、ｌがＬ以下である場合には（ステップＳ２００３，ＹＥＳ）、クラスタＣ（ｉ，ｊ）の嗜好とコンテンツ（ｌ）の相関係数を算出する（ステップＳ２００４）。次に、推奨コンテンツ検索部１０７は、クラスタＣ（ｉ，ｊ）の嗜好とコンテンツ（ｌ）の相関係数が規定の閾値以上であるか否かを判定する（ステップＳ２００５）。
【００９５】
推奨コンテンツ検索部１０７は、判定の結果、クラスタＣ（ｉ，ｊ）の嗜好とコンテンツ（ｌ）の相関係数が規定の閾値以上である場合には（ステップＳ２００５，ＹＥＳ）、次にように処理する。すなわち、推奨コンテンツ検索部１０７は、コンテンツ（ｌ）の情報をクラスタＣ（ｉ，ｊ）の嗜好と相関性の高い検索結果として抽出する（ステップＳ２００６）。
【００９６】
そして、推奨コンテンツ検索部１０７は、ｌ＝ｌ＋１として（ステップＳ２００７）、上述したステップＳ２００３に戻り、ｌがＬ以下であるか否かを判定する。ここでステップＳ２００３の説明に戻る。推奨コンテンツ検索部１０７は、判定の結果、ｌがＬ以下ではない場合には（ステップＳ２００３，ＮＯ）、コンテンツ検索処理を終了する。
【００９７】
次に、図２１を用いて、推奨コンテンツマージ部１０８により実行されるコンテンツ情報のマージ処理の流れを説明する。図２１は、推奨コンテンツマージ部１０８により実行されるコンテンツ情報のマージ処理の流れを示す図である。
【００９８】
図２１に示すように、推奨コンテンツマージ部１０８は、ｉに初期値を設定するとともに（ステップＳ２１０１）、ｊに初期値を設定し（ステップＳ２１０２）、ｉがＭ以下であるか否かを判定する（ステップＳ２１０３）。判定の結果、ｉがＭ以下である場合には（ステップＳ２１０３，ＹＥＳ）、推奨コンテンツマージ部１０８は、ｊがＮ（ｉ）以下であるか否かを判定する（ステップＳ２１０４）。Ｎ（ｉ）は、クラスタＣ（ｉ，ｊ）のｊの最大値を表す。
【００９９】
推奨コンテンツマージ部１０８は、判定の結果、ｊがＮ（ｉ）以下である場合には（ステップＳ２１０４，ＹＥＳ）、クラスタＣ（ｉ，ｊ）の比率ｈを取得する（ステップＳ２１０５）。続いて、推奨コンテンツマージ部１０８は、比率ｈを用いて、コンテンツの総検索件数ＲＮに対するクラスタＣ（ｉ，ｊ）についての検索結果からの抽出件数を算出する（ステップＳ２１０６）。そして、推奨コンテンツマージ部１０８は、クラスタＣ（ｉ，ｊ）についての検索結果のうち、相関係数が上位のものから抽出件数分のコンテンツ情報を抽出する（ステップＳ２１０７）。
【０１００】
続いて、推奨コンテンツマージ部１０８は、ｊ＝ｊ＋１として（ステップＳ２１０８）、上述したステップＳ２１０４に戻り、ｊがＮ（ｉ）以下であるか否かを判定する。ここでステップＳ２１０４の説明に戻る。判定の結果、ｊがＮ（ｉ）以下ではない場合には（ステップＳ２１０４，ＮＯ）、推奨コンテンツマージ部１０８は、ｉ＝ｉ＋１として（ステップＳ２１０９）、上述したステップＳ２１０３に戻り、ｉがＭ以下であるか否かを判定する。ここでステップＳ２１０３の説明に戻る。推奨コンテンツマージ部１０８は、判定の結果、ｉがＭ以下ではない場合には（ステップＳ２１０３，ＮＯ）、コンテンツ情報のマージ処理を終了する。
【０１０１】
続いて、図２２を用いて、推奨コンテンツマージ部１０８によるコンテンツの情報の再評価処理の流れを説明する。図２２は、推奨コンテンツマージ部１０８によるコンテンツの情報の再評価処理の流れを示す図である。
【０１０２】
図２２に示すように、推奨コンテンツマージ部１０８は、履歴グルーピング部１０４によりクラスタリングされた全クラスタのインデックス、つまり嗜好を抽出する（ステップＳ２２０１）。次に、推奨コンテンツマージ部１０８は、全クラスタのインデックスの総和、つまり全体的な嗜好を算出する（ステップＳ２２０２）。
【０１０３】
続いて、推奨コンテンツマージ部１０８は、ｉに初期値を設定し（ステップＳ２００３）、ｉが総検索件数ＲＮ以下であるか否かを判定する（ステップＳ２００４）。判定の結果、ｉが総検索件数ＲＮ以下である場合には（ステップＳ２００４，ＹＥＳ）、推奨コンテンツマージ部１０８は、検索結果（ｉ）を取得する（ステップＳ２２０５）。
【０１０４】
次に、推奨コンテンツマージ部１０８は、検索結果（ｉ）のインデックスと全クラスタのインデックスの総和との相関係数を算出する（ステップＳ２２０６）。続いて、推奨コンテンツマージ部１０８は、ｉ＝ｉ＋１として（ステップＳ２２０７）、上述したステップＳ２２０４に戻り、ｉが総検索件数ＲＮ以下であるか否かを判定する。
【０１０５】
ここでステップＳ２２０４の説明に戻る。推奨コンテンツマージ部１０８は、判定の結果、ｉが総検索件数ＲＮ以下ではない場合には（ステップＳ２２０４，ＮＯ）、相関係数のスコアに応じて検索結果を降順にソートし（ステップＳ２２０８）、再評価処理を終了する。
【０１０６】
次に、図２３を用いて、推奨コンテンツフィードバック部１０９により実行される操作内容記録処理の流れを説明する。図２３は、推奨コンテンツフィードバック部１０９により実行される操作内容記録処理の流れを示す図である。
【０１０７】
図２３に示すように、推奨コンテンツフィードバック部１０９は、推奨コンテンツマージ部１０８によりマージされ、ユーザに提供された検索結果に対するユーザの操作を検知されたか否かを判定する（ステップＳ２３０１）。判定の結果、検索結果に対応するユーザの操作を検知すると（ステップＳ２３０１，ＹＥＳ）、推奨コンテンツフィードバック部１０９は、検知された操作内容がフィードバック対象であるか否かを判定する（ステップＳ２３０２）。
【０１０８】
推奨コンテンツフィードバック部１０９は、判定の結果、検知された操作内容がフィードバック対象である場合には（ステップＳ２３０２，ＹＥＳ）、操作内容を操作履歴に記録し（ステップＳ２３０３）、上述したステップＳ２３０１に戻る。ここでステップ２３０１の説明に戻る。推奨コンテンツフィードバック部１０９は、判定の結果、検索結果に対応するユーザの操作を検知していない場合には、ステップＳ２３０１の判定結果をＮＯとして同じ判定を繰り返す。また、ステップＳ２３０２の説明に戻る。推奨コンテンツフィードバック部１０９は、判定の結果、検知された操作内容がフィードバック対象ではない場合には（ステップＳ２３０２，ＮＯ）、上述したステップＳ２３０１に戻る。
【０１０９】
なお、図２３に示す処理は、検索結果に対するユーザの操作検知に応じて処理を行ったが、これに限定されるものではなく、所定のタイミングで定期的に実行してもよい。
【０１１０】
続いて、図２４を用いて、履歴グルーピング部１０４により実行されるインデックス生成処理の流れを説明する。図２４は、履歴グルーピング部１０４により実行されるインデックス生成処理の流れを示す図である。
【０１１１】
図２４に示すように、履歴グルーピング部１０４は、ｉに初期値を設定し（ステップＳ２４０１）、ｉが全フィードバック対象操作履歴数Ｓ以下であるか否かを判定する（ステップＳ２４０２）。
【０１１２】
履歴グルーピング部１０４は、判定の結果、ｉが全フィードバック対象操作履歴数Ｓ以下である場合には（ステップＳ２４０２，ＹＥＳ）、操作履歴（ｉ）の操作対象（ｉ）を抽出する（ステップＳ２４０３）。次に、履歴グルーピング部１０４は、操作対象（ｉ）についてインデックスを生成し（ステップＳ２４０４）、操作対象（ｉ）に対応する操作内容（ｉ）を抽出する（ステップＳ２４０５）。
【０１１３】
続いて、履歴グルーピング部１０４は、操作内容（ｉ）に応じて規定の係数を取得し（ステップＳ２４０６）、操作対象（ｉ）について生成したインデックスに係数を乗算する（ステップＳ２４０７）。そして、履歴グルーピング部１０４は、ｉ＝ｉ＋１として（ステップＳ２４０８）、上述したステップＳ２４０２に戻り、ｉが全フィードバック対象操作履歴数Ｓ以下であるか否かを判定する。
【０１１４】
ここでステップＳ２４０２の説明に戻る。履歴グルーピング部１０４は、判定の結果、ｉが全フィードバック対象操作履歴数Ｓ以下ではない場合には（ステップＳ２４０２，ＮＯ）、インデックス生成処理を終了する。
【０１１５】
［実施例２による効果］
上述してきたように、情報検索装置１００は、テレビ番組に関するユーザの操作履歴に共通して出現するキーワードに基づいて、操作履歴を予め複数のグループにグルーピングする。次に、情報検索装置１００は、例えば、操作履歴に含まれる全件数に対して、操作履歴の各グループに属する操作履歴の件数が占める比率をそれぞれ算出する。また、情報検索装置５０は、各グループの含まれる操作履歴のインデックスと統合することによりユーザの嗜好を抽出する。そして、情報検索装置１００は、各グループのユーザに嗜好に応じたテレビ番組の情報をそれぞれ検索し、各グループについての検索結果から、各グループの比率に応じた件数分の検索結果を抽出する。このようなことから、実施例２によれば、ユーザの多様な嗜好を反映したテレビ番組や動画などのコンテンツの検索結果をユーザに提供できる。
【０１１６】
また、実施例２によれば、操作履歴をキーワードにより分類した後に、階層的クラスタリングを行うので、階層的クラスタリングを直接行う方法に比べて、少ない計算量で操作履歴をクラスタリングすることができる。
【０１１７】
また、実施例２によれば、操作履歴をクラスタリングした各グループの大きさを求めるので、操作履歴をクラスタリングした各グループにおけるユーザの嗜好の強さを簡易に得ることができる。
【０１１８】
また、実施例２によれば、検索対象となるテレビ番組の中から、操作履歴をクラスタリングしたグループごとに、グループおけるユーザの嗜好によりマッチするテレビ番組を検索する。これにより、ユーザの嗜好を細かく捉えて、嗜好の強弱によらず、ユーザの嗜好に含まれる様々な番組についての検索結果を得ることができる。
【０１１９】
また、実施例２によれば、操作履歴をクラスタリングしたグループごとに、各グループの嗜好に応じて検索した検索結果の中から、各グループの大きさに応じた件数分の検索結果をそれぞれ抽出し、抽出した検索結果をマージしてユーザに提供する。これにより、ユーザの嗜好に含まれる様々な番組についての検索結果をユーザに提供できる。
【０１２０】
また、実施例２によれば、グループごとの検索結果をマージする際に、検索結果をユーザの全体的な嗜好で再評価し、再評価結果に応じて検索結果をソートしなおしてからマージする。よりユーザの嗜好に沿った形でソートされた検索結果をユーザに提供できる。また、グループごとに嗜好が異なるので、各グループの嗜好を用いてグループの検索結果同士を正しく比較することはできない。そこで、テレビ番組の放送時間やジャンルなどの属性でソートを行うことが考えられる。しかしながら、この場合には、検索結果のソート結果がユーザの嗜好に沿っていないという問題が起こりうるが、このような問題の発生も回避される。
【０１２１】
また、実施例２によれば、検索結果に対するユーザの操作の履歴を記録しておいて、操作履歴へのフィードバックを行う。これにより、次回、操作履歴のクラスタリングが行われる場合に、検索結果に対するユーザの操作が肯定的であるほど、クラスタリングされる操作履歴のグループの比率が大きくなるように、操作履歴のグループの大きさを半自動的に調整できる。
【実施例３】
【０１２２】
以下、本願の開示する情報検索装置、情報検索方法および情報検索プログラムの他の実施形態を説明する。
【０１２３】
（１）装置構成等
例えば、図２に示した情報検索装置１００の構成は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。例えば、図２に示した情報検索装置１００の推奨コンテンツ検索部１０７と推奨コンテンツマージ部１０８とを機能的または物理的に統合してもよい。このように、情報検索装置１００の全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
【０１２４】
（２）情報検索方法
上述してきた実施例により、以下に説明するように、コンテンツに関するユーザの操作履歴をそれぞれ記憶する操作履歴記憶部としても機能できる情報検索装置１００に適用される情報検索方法が実現される。この情報検索方法は、評価情報生成部ステップ、履歴分類部ステップ、比率算出ステップ、グループ評価情報生成ステップ、ソートステップ、抽出ステップおよび表示出力ステップを含む情報検索方法が実現される。
【０１２５】
評価情報生成ステップは、操作履歴記憶部に記憶されている各操作履歴に含まれる操作対象の情報を用いて、操作履歴ごとに、該操作履歴に残されるコンテンツの内容を複数の評価軸で評価した評価情報をそれぞれ生成する。履歴分類ステップは、操作履歴記憶部に記憶されている各操作履歴に含まれる操作対象の情報から、該操作対象に共通して出現する頻度の高いキーワードを抽出する。そして、履歴分類ステップは、抽出されたキーワードごとに、該キーワードを有する操作履歴を第１グループにそれぞれ分類する。さらに、履歴分類ステップは、分類された第１グループごとに階層的クラスタリングを行うことにより、複数の第１グループをさらに複数の第２グループにそれぞれ分類する。比率算出ステップは、操作履歴全体の大きさに対して履歴分類ステップにより分類された第２グループの大きさが占有する比率を該第２グループごとにそれぞれ算出する。グループ評価情報生成ステップは、評価情報生成ステップにより生成された評価情報を、履歴分類ステップにより分類された第２グループごとに統合することにより、該第２グループにおけるコンテンツのユーザ嗜好を示すグループ評価情報をそれぞれ生成する。ソートステップは、検索対象となるコンテンツの中から、グループ評価情報生成ステップにより生成されたグループ評価情報に合致するコンテンツの情報を第２グループごとに検索する。そして、ソートステップは、検索されたコンテンツの情報を該グループ評価情報と相関性の高い順に該第２グループ内でそれぞれソートする。抽出ステップは、ソート部により第２グループ内でそれぞれソートされたコンテンツの情報の中から、比率算出ステップにより算出された比率に応じた件数分のコンテンツの情報を、グループ評価情報と相関性の高いものからそれぞれ抽出する。表示出力ステップは、抽出ステップにより抽出されたコンテンツの情報をマージして表示出力する。
【０１２６】
（３）情報検索プログラム
また、例えば、上述の実施例にて説明した情報検索装置１００により実行される各種の処理は、あらかじめ用意されたプログラムをパーソナルコンピュータなどの電子機器で実行することによって実現することもできる。なお、情報検索装置１００の各種の処理については、例えば、図１６〜２４等を参照されたい。
【０１２７】
そこで、以下では、図２５を用いて、上述の実施例にて説明した情報検索装置１００により実行される処理と同様の機能を実現する情報検索プログラムを実行するコンピュータの一例を説明する。図２５は、情報検索プログラムを実行するコンピュータの一例を示す図である。
【０１２８】
図２５に示すように、情報検索装置１００と同様の機能を実現するコンピュータ２００は、各種演算処理を実行するＣＰＵ（Central  Processing  Unit）２１０と、ユーザからデータの入力を受け付ける入力装置２２０と、モニタ２３０とを有する。
【０１２９】
また、コンピュータ２００は、図２５に示すように、記憶媒体からプログラム等を読取る媒体読取装置２４０と、ネットワークを介して他のコンピュータとの間でデータの授受を行うネットワークインターフェース装置２５０を有する。また、コンピュータ２００は、図２５に示すように、各種情報を一時記憶するＲＡＭ（Random  Access  Memory）２６０と、ハードディスク装置２７０とを有する。そして、各装置２１０〜２７０は、バス２８０に接続される。
【０１３０】
なお、入力装置２２０は、例えば、キーボードやマウスなどである。なお、入力装置２２０がマウスを有する場合には、モニタ２３０と協働して、ポインティングデバイス機能を実現することもできる。また、入力装置２２０がタッチパッドなどの他の入力デバイスを有する場合にも、マウスの場合と同様にポインティングデバイス機能を実現できる。
【０１３１】
また、ＣＰＵ２１０の代わりに、例えば、ＭＰＵ（Micro  Processing  Unit）などの電子回路、ＡＳＩＣ（Application  Specific  Integrated  Circuit）やＦＰＧＡ(Field  Programmable  Gate  Array)などの集積回路を用いることもできる。また、ＲＡＭ２６０の代わりに、フラッシュメモリ(flash  memory)などの半導体メモリ素子を用いることもできる。
【０１３２】
ハードディスク装置２７０には、上述した情報検索装置１００の機能と同様の機能を発揮する情報検索プログラム２７１および情報検索用データ２７２が記憶されている。なお、この情報検索プログラム２７１を適宜分散させて、ネットワークを介して通信可能に接続された他のコンピュータの記憶部に記憶させておくこともできる。
【０１３３】
そして、ＣＰＵ２１０が、情報検索プログラム２７１をハードディスク装置２７０から読み出してＲＡＭ２６０に展開することにより、図２５に示すように、情報検索プログラム２７１は情報検索プロセス２６１として機能する。情報検索プロセス２６１は、ハードディスク装置２７０から読み出した情報検索用データ２７２等の各種データを適宜ＲＡＭ２６０上の自身に割当てられた領域に展開し、この展開した各種データに基づいて各種処理を実行する。
【０１３４】
なお、情報検索プロセス２６１は、例えば、図２に示した情報検索装置１００の履歴グルーピング部１０４、嗜好抽出部１０５およびグルーピング比率保管部１０６にて実行される処理を含む。さらに、情報検索プロセス２６１は、推奨コンテンツ検索部１０７、推奨コンテンツマージ部１０８および推奨コンテンツフィードバック部１０９にて実行される処理を含む。
【０１３５】
なお、情報検索プログラム２７１については、必ずしも最初からハードディスク装置２７０に記憶させておく必要はない。例えば、コンピュータ２００に挿入されるフレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＤＶＤディスク、光磁気ディスク、ＩＣカードなどの「可搬用の物理媒体」に各プログラムを記憶させておく。そして、コンピュータ２００がこれらから各プログラムを読み出して実行するようにしてもよい。
【０１３６】
さらには、公衆回線、インターネット、ＬＡＮ、ＷＡＮなどを介してコンピュータ２００に接続される「他のコンピュータ（またはサーバ）」などに各プログラムを記憶させておく。そして、コンピュータ２００がこれらから各プログラムを読み出して実行するようにしてもよい。
【符号の説明】
【０１３７】
５０  情報検索装置
５１  操作履歴記憶部
５２  評価情報生成部
５３  履歴分類部
５４  比率算出部
５５  グループ評価情報生成部
５６  ソート部
５７  抽出部
５８  表示出力部
１００  情報検索装置
１０１  表示出力部
１０２  操作履歴記憶部
１０３  コンテンツデータ記憶部
１０４  履歴グルーピング部
１０５  嗜好抽出部
１０６  グルーピング比率保管部
１０７  推奨コンテンツ検索部
１０８  推奨コンテンツマージ部
１０９  推奨コンテンツフィードバック部
２００  コンピュータ
２１０  ＣＰＵ
２２０  入力装置
２３０  モニタ
２４０  媒体読取装置
２５０  ネットワークインターフェース装置
２６０  ＲＡＭ
２６１  情報検索プロセス
２７０  ハードディスク装置
２７１  情報検索プログラム
２７２  情報検索用データ
【図１】
0005526934.tif 000002
【図２】
0005526934.tif 000003
【図３】
0005526934.tif 000004
【図４】
0005526934.tif 000005
【図５】
0005526934.tif 000006
【図６】
0005526934.tif 000007
【図７】
0005526934.tif 000008
【図８】
0005526934.tif 000009
【図９】
0005526934.tif 000010
【図１０】
0005526934.tif 000011
【図１１】
0005526934.tif 000012
【図１２】
0005526934.tif 000013
【図１３】
0005526934.tif 000014
【図１４】
0005526934.tif 000015
【図１５】
0005526934.tif 000016
【図１６】
0005526934.tif 000017
【図１７】
0005526934.tif 000018
【図１８】
0005526934.tif 000019
【図１９】
0005526934.tif 000020
【図２０】
0005526934.tif 000021
【図２１】
0005526934.tif 000022
【図２２】
0005526934.tif 000023
【図２３】
0005526934.tif 000024
【図２４】
0005526934.tif 000025
【図２５】
0005526934.tif 000026