"コンテンツに対応付けられたキーワードをノードとして、その出現回数及び関連性に応じて階層化することによって得られるキーワードツリーを予め記憶するツリー記憶部と、ユーザによって過去に選択されたコンテンツに対応付けられたキーワードをログとして記録するログ記憶部と、前記ログ記憶部に記録されたあるユーザに対応するログから所定の条件に基づいて複数のキーワードを抽出し、抽出された前記キーワードから構成される部分ツリーを前記キーワードツリーから抽出する部分ツリー抽出部と、下位に他のノードが存在しないノードにおけるキーワードを、前記ユーザの興味に関連したキーワードとして取得するキーワード取得部と、を備えるキーワード取得装置。前記キーワード取得部は、前記ログ記憶部に記録された各キーワードの数を表すカウント数に基づいて、前記部分ツリーの各ノードを、同一の上位ノードを有する複数のノード毎にソートし、最上位ノードのカウント数が大きい方から順に前記部分ツリーを探索することによって所定数の前記キーワードを取得する、請求項1に記載のキーワード取得装置。コンテンツに対応付けられたキーワードをノードとして、その出現回数及び関連性に応じて階層化することによって得られるキーワードツリーを予め記憶するツリー記憶部と、ユーザによって過去に選択されたコンテンツに対応付けられたキーワードをログとして記録するログ記憶部と、前記ログ記憶部に記録されたあるユーザに対応するログから所定の条件に基づいて複数のキーワードを抽出し、抽出された前記キーワードから構成される部分ツリーを前記キーワードツリーから抽出する部分ツリー抽出部と、下位に他のノードが存在しないノードにおけるキーワードを、前記ユーザの興味に関連したキーワードとして取得するキーワード取得部と、コンテンツ及びキーワードを対応付けて予め記憶するキーワード記憶部と、前記キーワード取得部によって取得された前記キーワードに対応するコンテンツを前記ユーザに提供するコンテンツ提供部と、を備えるコンテンツ提供システム。前記コンテンツ提供部は、前記キーワード取得部によって取得されたキーワードを画面に出力するユーザ端末から、ユーザによって選択されたキーワードを受け付け、前記キーワード記憶部において前記選択されたキーワードに対応付けられている前記コンテンツを前記ユーザに提供する、請求項3に記載のコンテンツ提供システム。コンテンツに対応付けられたキーワードをノードとして、その出現回数及び関連性に応じて階層化することによって得られるキーワードツリーを予め記憶するツリー記憶部を備えるキーワード取得装置が、ユーザによって過去に選択されたコンテンツに対応付けられたキーワードをログとして記録するログ記憶ステップと、前記ログに記録されたあるユーザに対応するログから所定の条件に基づいて複数のキーワードを抽出するキーワード抽出ステップと、抽出された前記キーワードから構成される部分ツリーを前記キーワードツリーから抽出する部分ツリー抽出ステップと、下位に他のノードが存在しないノードにおけるキーワードを、前記ユーザの興味に関連したキーワードとして取得するキーワード取得ステップと、を有するキーワード取得方法。コンテンツに対応付けられたキーワードをノードとして、その出現回数及び関連性に応じて階層化することによって得られるキーワードツリーを予め記憶するツリー記憶部を備えるコンピュータに対し、ユーザによって過去に選択されたコンテンツに対応付けられたキーワードをログとして記録するログ記憶ステップと、前記ログに記録されたあるユーザに対応するログから所定の条件に基づいて複数のキーワードを抽出するキーワード抽出ステップと、抽出された前記キーワードから構成される部分ツリーを前記キーワードツリーから抽出する部分ツリー抽出ステップと、下位に他のノードが存在しないノードにおけるキーワードを、前記ユーザの興味に関連したキーワードとして取得するキーワード取得ステップと、を実行させるためのプログラム。コンテンツに対応付けられたキーワードをノードとして、その出現回数及び関連性に応じて階層化することによって得られるキーワードツリーを予め記憶するツリー記憶部と、コンテンツ及びキーワードを対応付けて予め記憶するキーワード記憶部と、を備えたコンテンツ提供システムが、ユーザによって過去に選択されたコンテンツに対応付けられたキーワードをログとして記録するログ記憶ステップと、前記ログ記憶部に記録されたあるユーザに対応するログから所定の条件に基づいて複数のキーワードを抽出するステップと、抽出された前記キーワードから構成される部分ツリーを前記キーワードツリーから抽出する部分ツリー抽出ステップと、下位に他のノードが存在しないノードにおけるキーワードを、前記ユーザの興味に関連したキーワードとして取得するキーワード取得ステップと、前記キーワード取得部によって取得された前記キーワードに対応するコンテンツを前記ユーザに提供するコンテンツ提供ステップと、を有するコンテンツ提供方法。しかしながら、上述した技術では、ある書籍を閲覧したユーザは、同じ書籍を閲覧した他のユーザが閲覧した他の書籍にも興味を持つだろう、という推測の元で推薦が行われている。しかしながら、実際には様々な嗜好を持ったユーザが存在するため、他のユーザの閲覧傾向に基づいて行われる推薦は、必ずしもそのユーザの嗜好に合っているとは限らない。そのため、従来の技術では推薦の精度を向上させることが困難であり、精度を上げるためには膨大な閲覧ログが必要になる。また、その根本的な問題として、ユーザの興味に関連したキーワードを取得することが困難であった。すなわち、ユーザの興味に関連したキーワードを取得することが可能となれば、ユーザの嗜好に合った商品や動画像などを推定することが可能となる。上記事情に鑑み、本発明は、ユーザの興味に関連したキーワードを取得することを可能とする技術の提供を目的としている。本発明の一態様は、コンテンツに対応付けられたキーワードをノードとして、その出現回数及び関連性に応じて階層化することによって得られるキーワードツリーを予め記憶するツリー記憶部と、ユーザによって過去に選択されたコンテンツに対応付けられたキーワードをログとして記録するログ記憶部と、前記ログ記憶部に記録されたあるユーザに対応するログから所定の条件に基づいて複数のキーワードを抽出し、抽出された前記キーワードから構成される部分ツリーを前記キーワードツリーから抽出する部分ツリー抽出部と、下位に他のノードが存在しないノードにおけるキーワードを、前記ユーザの興味に関連したキーワードとして取得するキーワード取得部と、を備えるキーワード取得装置である。本発明の一態様は、上記のキーワード取得装置であって、前記キーワード取得部は、前記ログ記憶部に記録された各キーワードの数を表すカウント数に基づいて、前記部分ツリーの各ノードを、同一の上位ノードを有する複数のノード毎にソートし、最上位ノードのカウント数が大きい方から順に前記部分ツリーを探索することによって所定数の前記キーワードを取得する。本発明の一態様は、コンテンツに対応付けられたキーワードをノードとして、その出現回数及び関連性に応じて階層化することによって得られるキーワードツリーを予め記憶するツリー記憶部と、ユーザによって過去に選択されたコンテンツに対応付けられたキーワードをログとして記録するログ記憶部と、前記ログ記憶部に記録されたあるユーザに対応するログから所定の条件に基づいて複数のキーワードを抽出し、抽出された前記キーワードから構成される部分ツリーを前記キーワードツリーから抽出する部分ツリー抽出部と、下位に他のノードが存在しないノードにおけるキーワードを、前記ユーザの興味に関連したキーワードとして取得するキーワード取得部と、コンテンツ及びキーワードを対応付けて予め記憶するキーワード記憶部と、前記キーワード取得部によって取得された前記キーワードに対応するコンテンツを前記ユーザに提供するコンテンツ提供部と、を備えるコンテンツ提供システムである。本発明の一態様は、上記のコンテンツ提供システムであって、前記コンテンツ提供部は、前記キーワード取得部によって取得されたキーワードを画面に出力するユーザ端末から、ユーザによって選択されたキーワードを受け付け、前記キーワード記憶部において前記選択されたキーワードに対応付けられている前記コンテンツを前記ユーザに提供する。本発明の一態様は、コンテンツに対応付けられたキーワードをノードとして、その出現回数及び関連性に応じて階層化することによって得られるキーワードツリーを予め記憶するツリー記憶部を備えるキーワード取得装置が、ユーザによって過去に選択されたコンテンツに対応付けられたキーワードをログとして記録するログ記憶ステップと、前記ログに記録されたあるユーザに対応するログから所定の条件に基づいて複数のキーワードを抽出するキーワード抽出ステップと、抽出された前記キーワードから構成される部分ツリーを前記キーワードツリーから抽出する部分ツリー抽出ステップと、下位に他のノードが存在しないノードにおけるキーワードを、前記ユーザの興味に関連したキーワードとして取得するキーワード取得ステップと、を有するキーワード取得方法である。本発明の一態様は、コンテンツに対応付けられたキーワードをノードとして、その出現回数及び関連性に応じて階層化することによって得られるキーワードツリーを予め記憶するツリー記憶部を備えるコンピュータに対し、ユーザによって過去に選択されたコンテンツに対応付けられたキーワードをログとして記録するログ記憶ステップと、前記ログに記録されたあるユーザに対応するログから所定の条件に基づいて複数のキーワードを抽出するキーワード抽出ステップと、抽出された前記キーワードから構成される部分ツリーを前記キーワードツリーから抽出する部分ツリー抽出ステップと、下位に他のノードが存在しないノードにおけるキーワードを、前記ユーザの興味に関連したキーワードとして取得するキーワード取得ステップと、を実行させるためのプログラムである。本発明の一態様は、コンテンツに対応付けられたキーワードをノードとして、その出現回数及び関連性に応じて階層化することによって得られるキーワードツリーを予め記憶するツリー記憶部と、コンテンツ及びキーワードを対応付けて予め記憶するキーワード記憶部と、を備えたコンテンツ提供システムが、ユーザによって過去に選択されたコンテンツに対応付けられたキーワードをログとして記録するログ記憶ステップと、前記ログ記憶部に記録されたあるユーザに対応するログから所定の条件に基づいて複数のキーワードを抽出するステップと、抽出された前記キーワードから構成される部分ツリーを前記キーワードツリーから抽出する部分ツリー抽出ステップと、下位に他のノードが存在しないノードにおけるキーワードを、前記ユーザの興味に関連したキーワードとして取得するキーワード取得ステップと、前記キーワード取得部によって取得された前記キーワードに対応するコンテンツを前記ユーザに提供するコンテンツ提供ステップと、を有するコンテンツ提供方法である。本発明により、ユーザの興味に関連したキーワードを取得することが可能となる。図1は、コンテンツ提供システム1のシステム構成を表すシステム構成図である。コンテンツ提供システム1は、ネットワークを介して互いに通信可能に接続されたユーザ端末10、動画サーバ20、キーワード取得サーバ30を備える。図1に示されるコンテンツ提供システム1では、コンテンツの一具体例として動画像のデータが提供される。コンテンツ提供システム1において他のコンテンツを提供する場合には、動画サーバ20が他のコンテンツを提供するサーバに置き換えられる。ユーザ端末10は、携帯電話機、スマートフォン、パーソナルコンピュータ、ゲーム機、テレビ受像機などの情報処理装置である。ユーザ端末10は、動画サーバ20からネットワークを介して動画像データを受信し、受信した動画像データを再生する。動画サーバ20は、メインフレームやワークステーションやパーソナルコンピュータなどの情報処理装置を用いて構成される。動画サーバ20は、ユーザ端末10から動画リクエストを受信し、受信した動画リクエストに応じた動画像データをユーザ端末10へ送信する。キーワード取得サーバ30は、メインフレームやワークステーションやパーソナルコンピュータなどの情報処理装置を用いて構成される。キーワード取得サーバ30は、ユーザ端末10によって過去にリクエストされた動画像データに基づいて、ユーザ端末10のユーザの興味に関連したキーワードを取得する。次に各装置の詳細について説明する。ユーザ端末10は、バスで接続されたCPUCentralProcessingUnitやメモリや補助記憶装置などを備え、ユーザ端末用プログラムを実行する。ユーザ端末用プログラムの実行により、ユーザ端末10は、入力部101、表示部102、通信部103、制御部104を備える装置として機能する。なお、ユーザ端末10の各機能の全て又は一部は、ASICApplicationSpecificIntegratedCircuitやPLDProgrammableLogicDeviceやFPGAFieldProgrammableGateArray等のハードウェアを用いて実現されても良い。ユーザ端末用プログラムは、コンピュータ読み取り可能な記録媒体に記録されても良い。コンピュータ読み取り可能な記録媒体とは、例えばフレキシブルディスク、光磁気ディスク、ROM、CD-ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置である。また、ユーザ端末用プログラムは、電気通信回線を通じて送受信されても良い。入力部101は、キーボード、ポインティングデバイスマウス、タブレット等、ボタン、タッチパネル等の既存の入力装置を用いて構成される。入力部101は、ユーザの指示をユーザ端末10に入力する際にユーザによって操作される。入力部101は、入力装置をユーザ端末10に接続するためのインタフェースであっても良い。この場合、入力部101は、入力装置においてユーザの入力に応じ生成された入力信号をユーザ端末10に入力する。表示部102は、CRTCathodeRayTubeディスプレイ、液晶ディスプレイ、有機ELElectroLuminescenceディスプレイ等の画像表示装置である。表示部102は、動画像再生画面やレコメンド表示画面やキーワード表示画面を表示する。表示部102は、画像表示装置をユーザ端末10に接続するためのインタフェースであっても良い。この場合、表示部102は、動画像再生画面やレコメンド表示画面やキーワード表示画面を表示するための映像信号を生成し、自身に接続されている画像表示装置に映像信号を出力する。通信部103は、ネットワークカード等の通信装置である。通信部103は、ネットワークNを介して動画サーバ20や動画取得サーバ30と通信する。制御部104は、動画像再生画面やレコメンド表示画面を生成し、表示部102に出力する。具体的には以下の通りである。制御部104は、入力部101を介してユーザから動画像データの選択を受け付けると、選択された動画像データを要求するためのデータ動画リクエストを生成する。動画リクエストには、ユーザID、動画IDが含まれる。ユーザIDは、ユーザ端末10のユーザを示す識別情報である。動画IDは、ユーザによって選択された動画像データを示す識別情報である。制御部104は、生成した動画リクエストを動画サーバ20へ送信する。制御部104は、動画リクエストに応じた動画像データを動画サーバ20から受信すると、動画像データを再生し、動画像再生画面を表示部102に出力する。動画像再生画面には、再生された動画像データが表示される。動画サーバ20は、バスで接続されたCPUやメモリや補助記憶装置などを備え、動画サーバ用プログラムを実行する。動画サーバ用プログラムの実行により、動画サーバ20は、通信部201、動画像記憶部202、タグ記憶部203、制御部204を備える装置として機能する。なお、動画サーバ20の各機能の全て又は一部は、ASICやPLDやFPGA等のハードウェアを用いて実現されても良い。動画サーバ用プログラムは、コンピュータ読み取り可能な記録媒体に記録されても良い。コンピュータ読み取り可能な記録媒体とは、例えばフレキシブルディスク、光磁気ディスク、ROM、CD-ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置である。また、動画サーバ用プログラムは、電気通信回線を通じて送受信されても良い。通信部201は、ネットワークカード等の通信装置である。通信部201は、ネットワークNを介してユーザ端末10及びキーワード取得サーバ30と通信する。動画像記憶部202は、磁気ハードディスク装置や半導体記憶装置などの記憶装置を用いて構成される。動画像記憶部202は、複数の動画像データを記憶する。タグ記憶部203は、磁気ハードディスク装置や半導体記憶装置などの記憶装置を用いて構成される。タグ記憶部203は、タグテーブルを記憶する。図2は、タグテーブルの具体例を示す図である。タグテーブルは、動画ID毎に1又は複数のタグを記憶する。動画IDは、動画像記憶部202に記憶されている動画像データの識別情報である。タグは、動画像データに関連するキーワードを表す文字列情報である。制御部204は、ユーザ端末10から動画リクエストを受信すると、動画リクエストに含まれる動画IDに対応する動画像データを動画像記憶部202から読み出す。そして、制御部204は、読み出した動画像データをユーザ端末10へ送信する。また、制御部204は、動画リクエストに含まれる動画IDに対応付けられたタグをタグ記憶部203から読み出す。そして、制御部204は、読み出したタグを、動画リクエストに含まれるユーザID及び動画IDとともにキーワード取得サーバ30に送信する。制御部204は、キーワード取得サーバ30からタグリクエストを受信すると、タグ記憶部203に記憶されているタグテーブルの情報をキーワード取得サーバ30へ送信する。キーワード取得サーバ30は、バスで接続されたCPUやメモリや補助記憶装置などを備え、キーワード取得プログラムを実行する。キーワード取得プログラムの実行により、キーワード取得サーバ30は、通信部301、タグツリー記憶部302、タグツリー生成部303、ログ記憶部304、ログ生成部305、部分ツリー生成部306、キーワード取得部307を備える装置として機能する。なお、キーワード取得サーバ30の各機能の全て又は一部は、ASICやPLDやFPGA等のハードウェアを用いて実現されても良い。キーワード取得プログラムは、コンピュータ読み取り可能な記録媒体に記録されても良い。コンピュータ読み取り可能な記録媒体とは、例えばフレキシブルディスク、光磁気ディスク、ROM、CD-ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置である。また、キーワード取得プログラムは、電気通信回線を通じて送受信されても良い。通信部301は、ネットワークカード等の通信装置である。通信部301は、ネットワークNを介してユーザ端末10や動画サーバ20と通信する。タグツリー記憶部302は、磁気ハードディスク装置や半導体記憶装置などの記憶装置を用いて構成される。タグツリー記憶部302は、タグツリー生成部303によって生成されるタグツリーを記憶する。タグツリー生成部303は、所定のタイミングでタグツリーキーワードツリーを生成しタグツリー記憶部302に記録する。所定のタイミングとは、例えば毎日決まった時刻であっても良いし、動画サーバにおいて新しい動画像データが所定数登録された場合であっても良いし、他のタイミングであっても良い。タグツリーの生成方法の具体的な処理は以下の通りである。タグツリー生成部303は、所定のタイミングが到来すると、動画サーバ20に対してタグリクエストを送信する。タグツリー生成部303は、タグテーブルの情報を動画サーバ20から受信すると、タグテーブルの情報に基づいてタグツリーを生成する。図3は、タグツリーの具体例を示す図である。タグツリーは、動画像データに対応付けられた1つのタグを1つのノードとして、その出現回数及び関連性に応じて階層化することによって得られるツリー構造のデータである。以下の説明において、ツリー構造について説明する場合には、ノードA1、ノードA2という文言を使用し、各ノードに対応付けられたタグについて説明する場合には、タグA1、タグA2という文言を使用する。図3において、下に位置するノード例えばA1及びB1ほど、より上位の階層のノードであり、上に位置するノード例えば、A19及びA20ほど、より下位の階層のノードである。ノードA1~ノードA20で構成されるタグツリーでは、ノードA1が最上位のノードである。ノードA1の下位にはノードA2,A3,A4が接続されている。以下、図3に示されるようにタグツリーが構成されている。タグツリーの生成方法について説明する。タグテーブルにおけるタグX1の出現回数をNx1とし、タグX2の出現回数をNx2とする。出現回数とは、タグテーブル内にそのタグが出現する回数を表し、例えばタグテーブルにおいてそのタグが登録されている動画IDの数であっても良い。タグX1とタグX2とが、式1によって表される条件条件1と式2によって表される条件条件2の両方を満たす場合、タグX1とタグX2とはツリー構造におけるリンクで接続され、タグX1がタグX2の上位のノードとなる。なお、式2においてTh1は閾値を表す。条件1は、タグX1の出現回数出現頻度がタグX2の出現回数出現頻度よりも大きいことを条件としている。条件2は、タグX1とタグX2共起確率が閾値Th1以上であることを条件としている。タグツリー生成部303は、全てのタグの組合せについて条件1及び条件2の双方を満たすか否か判定し、タグツリーを生成する。ログ記憶部304は、磁気ハードディスク装置や半導体記憶装置などの記憶装置を用いて構成される。ログ記憶部304は、ログ生成部305によって生成されるログ情報を蓄積する。ログ生成部305は、ユーザ端末10のユーザによって過去に選択された動画像データに対応付けられたタグをログとしてログ記憶部304に記録する。ログ生成部305は、例えば以下のようにしてログを記録する。ログ生成部305は、動画サーバ20から、ユーザによって選択された動画像データに対応するタグと、そのユーザのユーザIDと、動画像データの動画IDとを受信する。ログ生成部305は、受信したタグと、ユーザIDと、動画IDとを対応付けてログ記憶部304に記録する。このとき、ログ生成部305は、同一のユーザIDに対応付けて記録されている動画IDの数が所定数以上であるか否か判定する。所定数以上である場合には、ログ生成部305は、最も古いログ動画ID、ユーザID及びタグの組合せを破棄し、新しいログ動画ID、ユーザID及びタグの組合せを記録する。所定数未満である場合には、ログ生成部305は、古いログを破棄することなく新しいログを記録する。部分ツリー生成部306は、タグツリー記憶部302に記憶されているタグツリーと、ログ記憶部304に記憶されているログとに基づいて、部分ツリーを生成する。部分ツリー生成部306が部分ツリーを生成するタイミングキーワード取得タイミングは、どのようなタイミングであっても良い。部分ツリーは、タグツリーから、ログに記録されているタグのみを切り出して構成されるツリー構造のデータである。ログに記録されているタグを切り出す際に、そのタグの上位又は下位にもログに記録されているタグが存在する場合には、部分ツリー生成部306は、双方のノードを結ぶリンクとともに各ノードを切り出す。図4は、部分ツリーの具体例を示す図である。破線で描かれた領域以下、破線領域という。41~44は、それぞれ部分ツリーを表す。以下、各符号41~44は、部分ツリーを示す符号として用いる。部分ツリー41は、ログにタグA2、A5、A6、A12、A13が含まれており、ログにタグA1、A19、A20が含まれていなかったために部分ツリー生成部306によって抽出された部分ツリーである。部分ツリー42は、ログにタグA8、A15が含まれており、ログにタグA3が含まれていなかったために部分ツリー生成部306によって抽出された部分ツリーである。部分ツリー43は、ログにタグA4が含まれており、ログにタグA1、A10、A11が含まれていなかったために部分ツリー生成部306によって抽出された部分ツリーである。部分ツリー44は、ログにB1~B7、B9、B10が含まれており、ログにタグB8、B11が含まれていなかったために部分ツリー生成部306によって抽出された部分ツリーである。部分ツリー生成部306は、生成した部分ツリーをキーワード取得部307に出力する。キーワード取得部307は、部分ツリー生成部306によって生成された部分ツリーに基づいて、部分ツリー生成部306が用いたログに対応するユーザの興味に関連したキーワードを取得する。以下、キーワード取得部307の具体的な処理について説明する。図5は、部分ツリーの階層を表す図である。図5に示されるように、キーワード取得部307は、各部分ツリー41~44の最上位のノードA2、A8、A4、B1を同一の階層に置き、各最上位のノードより一つ上の階層のノードとしてルートノードVRを置く。次に、キーワード取得部307は、各ノードにおけるタグの数を表すカウント数に基づいて、部分ツリーの各ノードを、同一の上位ノードを有する複数のノード毎にソートする。カウント数とは、各タグが、そのユーザのログにおいて出現する回数を表す値である。図6は、各タグとそのカウント数の具体例を示す図である。例えば、タグA2のカウント数が10であるということは、処理の対象となっているユーザのログにおいてタグA2が10回出現する10個の動画IDと対応付けられていることを表す。図7は、図6のようなカウント数である場合の各ノードのソートの例を表す図である。キーワード取得部307は、図5に示されているソート前の各部分ツリーを、図6に示されるカウント数に基づいて図7のようにソートする。図7では、同一の上位ノードを有する各ノードにおいて、左側に位置するノードほどカウント数が大きく、右側に位置するノードほどカウント数が小さい。例えば、各部分ツリー41~44の最上位のノードを例に説明する。各部分ツリー41~44の最上位のノードは、いずれも同一の上位ノードルートノードVRを有している。各部分ツリー41~44の最上位のノードのカウント数は、順に10ノードA2、11ノードA8、15ノードA4、8ノードB1である。これをカウント数が大きい順にソートすると、15ノードA4、11ノードA8、10ノードA2、8ノードB1となる。そのため、ソート後は、部分ツリー41~44は、部分ツリー43、42、41、44の順で並ぶ。また、他の具体例として部分ツリー41のノードA5及びA6を例に説明する。これらは、いずれも同一の上位ノードノードA2を有している。ノードA5のカウント数は5であり、ノードA6のカウント数は7である。そのため、これら二つのノードをソートすると、図7に示されるようにノードA6、ノードA5の順に並ぶ。なお、ノードA5及びノードA6と同じ階層には、他の部分ツリーに属しているノードA15、B2~B4が存在する。しかしながら、ノードA15、B2~B4は、ノードA5及びノードA6とは上位ノードが異なる。すなわち、ノードA5及びノードA6の上位ノードはノードA2であるのに対し、ノードA15の上位ノードはA8であり、ノードB2~B4の上位ノードはB1であるため、上位ノードが異なる。したがって、キーワード取得部307は、ノードA5及びノードA6に関しては、この二つのノードの間でソートを行う。すなわち、キーワード取得部307は、ノードA5及びノードA6と、ノードA15やノードB2~B4との間ではソートを行わない。他のノードについても同様である。図8は、キーワード取得部307の探索順序の具体例を表す図である。キーワード取得部307は、最上位ノードのカウント数が大きい方から順に部分ツリーを探索することによって所定数のタグを取得する。探索において、キーワード取得部307は、下位に他のノードが存在しないノードにおけるタグを、ユーザの興味に関連したキーワードとして取得する。以下、図8の具体例について説明する。まず、キーワード取得部307は、ルートノードVRから、最上位ノードのカウント数が最大の部分ツリー43を探索するS1。キーワード取得部307は、到達したノードA4の下位に他のノードが存在するか否か判定する。ノードA4には下位のノードが存在しない。この場合、キーワード取得部307は、ノードA4のタグを、ユーザの興味に関連したキーワードとして取得する。このとき、キーワード取得部307は、取得したキーワードの数を更新し1とする。そして、キーワード取得部307は、取得したキーワードの数が所定数を超えたか否か判定する。本実施形態では、キーワードの数の所定数を7とする。この時点では、取得したキーワードの数は所定数を超えていないため、キーワード取得部307は探索を継続する。部分ツリー43のノードは全て探索したこととなるため、キーワード取得部307は、次の部分ツリー42の探索を開始するS2。まず、キーワード取得部307は、到達したノードA8の下位に他のノードが存在するか否か判定する。ノードA8には下位のノードA15が存在する。そのため、キーワード取得部307は、タグA8を取得せずに探索を継続するS3。キーワード取得部307は、次に到達したノードA15の下位に他のノードが存在するか否か判定する。ノードA15には下位のノードが存在しない。この場合、キーワード取得部307は、ノードA15のタグを、ユーザの興味に関連したキーワードとして取得する。このとき、キーワード取得部307は、取得したキーワードの数を更新し2とする。そして、キーワード取得部307は、取得したキーワードの数が所定数を超えたか否か判定する。この時点では、取得したキーワードの数は所定数を超えていないため、キーワード取得部307は探索を継続する。部分ツリー42のノードは全て探索したこととなるため、キーワード取得部307は、次の部分ツリー41の探索を開始するS4。その後、キーワード取得部307は、部分ツリー42を順に探索しS5~S8、下位に他のノードが存在しないタグタグA6、タグA12、タグA13をキーワードとして取得する。この時点で、取得したキーワードの数は5であり、所定数を超えていないため、キーワード取得部307は探索を継続する。部分ツリー41のノードは全て探索したこととなるため、キーワード取得部307は、次の部分ツリー44の探索を開始するS9。キーワード取得部307は、S10~S12の探索を行うことによって、下位に他のノードが存在しないタグタグB7、タグB2をキーワードとして取得する。この時点で、取得したキーワード数は7であり、所定数と一致する。すなわち、これ以上探索を継続して新たにキーワードを取得すると、取得したキーワード数が所定数を超えてしまう。そのため、キーワード取得部307は、この時点で探索を終了する。図9は、キーワード取得部307によって取得されたタグのみを表した図である。図9に示される各タグが、キーワード取得部307によって、ユーザの興味に関連したキーワードとして取得された。キーワード取得部307によって取得されたキーワードの活用方法として、以下にいくつかの具体例を説明する。[キーワードの選択]キーワード取得部307は、取得したキーワードを、ユーザIDに対応するユーザのユーザ端末10に送信する。ユーザ端末10の制御部104は、キーワード取得サーバ30からキーワードを受信すると、キーワード表示画面を表示部102に出力する。図10は、キーワード表示画面の具体例を示す図である。キーワード表示画面には、キーワード取得サーバ30によって選択された1又は複数のキーワードが、選択候補として表示される。図10の具体例では、キーワード表示画面には、あなたが興味を持ちそうなタグという文字列と共に、キーワード取得部307によって取得された5つのキーワードが列挙されている。具体的には、○○名曲リンクというキーワード501、元気が出るうたというキーワード502、○○オリジナル曲というキーワード503、歌わせてみたというキーワード504、踊ってみたというキーワード505がそれぞれ選択候補として下線とともに所定の間隔で横方向に一列に配列されている。キーワード表示画面に表示されるキーワードの数や配列方法などは図10の例に限定されない。ユーザが入力部101を操作して選択候補の中からキーワードを選択すると、制御部104は選択されたキーワードのキーワードリクエストを生成し動画サーバ20へ送信する。キーワードリクエストには、ユーザID、キーワードが含まれる。動画サーバ20の制御部204は、ユーザ端末10からキーワードリクエストを受信すると、タグテーブル及びキーワードに基づいて1又は複数の動画像データを選択する。例えば、制御部204は、受信したキーワードと一致するタグに対応付けられた動画像データを選択しても良い。例えば、制御部204は、受信したキーワードと一致する所定数以上のタグと対応付けられた動画像データを選択しても良い。制御部204は、選択した動画像データを、ユーザIDに対応するユーザのユーザ端末10に送信する。ユーザ端末10の制御部104は、受信した動画像データを再生する。[動画のレコメンド]キーワード取得部307は、取得したキーワードをユーザIDと対応付けて動画サーバ20に送信する。動画サーバ20の制御部204は、キーワード取得サーバ30からキーワード及びユーザIDを受信すると、タグテーブル及びキーワードに基づいて1又は複数の動画像データを選択する。例えば、制御部204は、受信したキーワードと一致するタグに対応付けられた動画像データを選択しても良い。例えば、制御部204は、受信したキーワードと一致する所定数以上のタグと対応付けられた動画像データを選択しても良い。制御部204は、選択した動画像データをユーザに紹介するためのデータレコメンドデータを生成する。そして、制御部204は、ユーザIDに対応するユーザのユーザ端末10にレコメンドデータを送信する。ユーザ端末10の制御部104は、動画サーバ20からレコメンドデータを受信すると、レコメンド表示画面を表示部102に出力する。図11は、レコメンド表示画面の具体例を示す図である。レコメンド表示画面には、動画サーバ20によって選択された1又は複数の動画像データと、キーワード取得サーバ30によって取得された1又は複数のキーワードとが、選択候補として表示される。図11の具体例では、レコメンド表示画面には、あなたが興味を持ちそうなタグという文字列と共に、キーワード取得部307によって取得された5つのキーワードが列挙されている。さらに、レコメンド表示画面には、あなたにおすすめの動画一覧という文字列と共に、動画サーバ20によって選択された動画像データの紹介情報601~603が表示される。キーワードの列挙については、図10を用いて説明したとおりなので説明を省略する。あなたにおすすめの動画一覧の表示について具体的に説明する。紹介情報には、動画像データに関する情報が含まれている。例えば、動画像データのサムネイル画像、投稿日時、動画像データの題名、動画像データの再生回数、動画像データに対して投稿されたコメントの数、動画像データがマイリストに登録された数、動画像データを選択した際に用いられたキーワード、などが紹介情報に含まれる。紹介情報601を例に紹介情報を説明する。最も左側には、サムネイル画像が表示される。サムネイル画像の右側には、残る紹介情報が文字によって表示される。投稿日時として、2007年10月15日07:00投稿という文字が表示される。動画像データの題名として、1月の雪という文字が表示される。動画像データの再生回数として、再生:1800という文字が表示される。動画像データに対して投稿されたコメントの数として、コメ:0という文字が表示される。動画像データがマイリストに登録された数として、マイ:1という文字が表示される。動画像データを選択した際に用いられたキーワードとしてタグ:○○名曲リンクに興味がありそうなあなたにおすすめしますという文字が表示される。○○名曲リンクという文字列に下線が付されている。下線が付された文字列が、キーワード取得サーバ30によって取得されたキーワードであることを表す。例えば、○○名曲リンクというキーワードは、キーワード501として画面上部に表示されている。レコメンド表示画面に表示される紹介情報の数や配列方法などは図11の例に限定されない。ユーザが入力部101を操作して選択候補の中から動画像データを選択すると、制御部104は選択された動画像データの動画リクエストを生成し動画サーバ20へ送信する。動画サーバ20の制御部204は、ユーザ端末10から動画リクエストを受信すると、上述したように動画リクエストに応じた動画像データをユーザ端末に送信する。ユーザ端末10の制御部104は、受信した動画像データを再生する。図12は、キーワード取得サーバ30の動作の流れを表すフローチャートである。なお、図12に示される処理の前処理として、タグツリー生成部303は所定のタイミングでタグツリーを生成し記録する。ログ生成部305は、ユーザによって選択された動画像データに対応するタグと、そのユーザのユーザIDと、動画像データの動画IDとを受信すると、受信した情報に基づいてログを生成しログ記憶部304に記録するステップS101。このとき、ユーザによって選択された動画像データ及び動画像データに対応付けられたタグは、動画サーバ20によってユーザ端末10へ送信され、ユーザ端末10に表示される。図13は、動画像再生画面の具体例を示す図である。動画像再生画面は、タグを表示するタグ表示領域600と、動画像を再生する動画像再生領域700と、を有する。タグ表示領域600には、動画再生領域700において再生される動画像データに対応付けられたタグが表示される。動画再生領域700には、ユーザによって選択された動画像データが再生される。また、動画像再生領域700には、再生中の動画像データに対して投稿されたコメント701が表示される。キーワード取得サーバ30の処理の説明に戻る。ログ記憶部304にログが記録された後、キーワード取得タイミングが到来するまでS101の処理が繰り返し実行される。キーワード取得タイミングになるとステップS102-YES、部分ツリー生成部306が部分ツリーを生成するステップS103。次に、キーワード取得部307が部分ツリーに対してソート処理を行うステップS104。そして、キーワード取得部307がソート後の部分ツリーに基づいて所定数のキーワードを取得するステップS105。このように構成されたキーワード取得サーバ30では、予め出現回数及び関連性に基づいてタグツリーが生成されている。そして、ユーザによって過去に選択されたコンテンツ動画像データに対応するタグを含む部分ツリーが生成される。そして、部分ツリーを構成するノードの中から下位に他のノードが接続されていないノードが、そのユーザの興味に関連したキーワードとして取得される。このように、ユーザ以外の他者が選択したログではなく、ユーザ本人のログに基づいてキーワードが取得されるため、より精度良くユーザの興味に関連したキーワードを取得することが可能となる。<変形例>キーワード取得部307は、部分ツリーについてソート処理を行うことなく、下位に他のノードが接続されていない各ノードを、ユーザの興味に関連したキーワードとして取得しても良い。条件2タグツリー生成部303がタグツリーを生成する際に用いる条件2は、式2によって表される条件に限定される必要は無い。条件2は、共起確率が閾値以上であることが条件となれば、他の式によって表された条件であっても良い。例えば、条件2は、以下に示す式3によって表される条件であっても良い。式3において、Th2は閾値を表す。重み付けキーワード取得部307は、取得した複数のキーワードに対して重み付けを行っても良い。例えば、キーワード取得部307は以下のような処理によって重み付けを行っても良い。まず、キーワード取得部307は、部分ツリー41~44毎に、最上位ノードのカウント数を、その部分ツリーで取得されたノード数で除算する。さらに、キーワード取得部307は、除算によって得られた値を、全ての部分ツリー41~44の最上位ノードのカウント数の合計値で除算する。キーワード取得部307は、この除算によって得られた値を、各部分ツリー41~44において取得された各ノードキーワードに対して重みとして付与する。なお、キーワード取得部307は、カウント数に基づいた演算であれば、どのような演算によって各キーワードの重みを決定しても良い。重み付けに応じた動画像データ選択キーワード取得部307が上記のように各キーワードに重み付けをする場合、動画サーバ20の制御部204は以下のようにレコメンドデータを生成しても良い。まず、制御部204は、所定数の推薦枠に対して一つずつキーワードを割り付ける。このとき、制御部204は、例えば各キーワードの重み付けに応じて割り付けを行う。より具体的には、制御部204は、重みが大きいキーワードほど多くの推薦枠に割り付け、重みが小さいキーワードほど少ない推薦枠に割り付ける。例えば、所定数が10であり、キーワードA、キーワードB、キーワードCそれぞれの重みが0.5、0.3、0.2である場合、キーワードAは5つの推薦枠に割り付けられ、キーワードBは3つの推薦枠に割り付けられ、キーワードCは2つの推薦枠に割り付けられる。次に、制御部204は、キーワード毎に、そのキーワードと一致するタグに対応付けられた動画像データを、推薦枠の所定数分ずつ選択する。例えば、制御部204は、キーワードAと一致するタグに対応付けられた動画像データを10選択し、キーワードBと一致するタグに対応付けられた動画像データを10選択し、キーワードCと一致するタグに対応付けられた動画像データを10選択する。次に、制御部204は、各推薦枠に対し、割り付けられたキーワードについて選択された動画像データの中からランダムに一つの動画像データを割り当てる。このような処理によって、所定数の推薦枠それぞれに対して動画像データが割り当てられる。制御部204は、この割り当て結果に基づいてレコメンドデータを生成し、ユーザ端末10へ送信する。例えば、図11に示されるような画面のレコメンドデータを生成する場合には、推薦枠が三つとなる。すなわち、レコメンド表示画面に表示される紹介情報の数が推薦枠の数となる。動画像データのスコア制御部204は、各動画像データに対してスコアを付与しても良い。スコアは、例えば以下のように算出される。制御部204は、各動画像データについて、マイリストに登録しているユーザの数マイリスト数を取得する。マイリストとは、お気に入り機能であり、ユーザが自身の気に入った動画像データをお気に入りとして登録できる機能である。ユーザは、お気に入りとして動画像データを登録することにより、自身専用のサイトなどから容易にお気に入りの動画像データにアクセスすることが可能となる。ユーザがユーザ端末10を操作して動画像データをお気に入り登録すると、ユーザ端末10の制御部104はお気に入り登録された動画IDとユーザIDとを動画サーバ20へ送信する。動画サーバ20の制御部204は、受信した動画IDとユーザIDとを対応付けて、お気に入りテーブルに登録する。制御部204は、このお気に入りテーブルを参照することによって、各動画像データのマイリスト数を取得する。また、制御部204は、各動画像データについて、動画サーバ20に登録されてから経過した時間投稿経過時間を取得する。制御部204は、例えば動画像記憶部202にたいして動画像データを登録する際にその日時を登録しておくことによって、各動画像データの投稿経過時間を取得できる。制御部204は、動画像データ毎にマイリスト/投稿経過時間をスコアとして算出する。制御部204は、スコアが大きい方から順に、動画像データを選択する。例えば、上述したように、推薦枠の所定数分の動画像データを選択する際に、制御部204は、各キーワードに一致するタグに対応付けられた動画像データの中から、スコアが大きい順に所定数分の動画像データを選択する。部分ツリー探索方法キーワード取得部307が部分ツリーを探索する方法は、上述したものに限定される必要は無い。図14は、キーワード取得部307が部分ツリーを探索する方法の第1の変形例を示す図である。各部分ツリーの一つの階層における取得キーワード数が所定数に制限されても良い。図14の例では、部分ツリーの一つの階層における取得キーワード数は1に制限されている。以下、図14の処理の流れについて、図8と異なる部分について説明する。キーワード取得部307は、部分ツリー41を探索し、ノードA12に到達するとS7、到達したノードA12の下位に他のノードが存在するか否か判定する。ノードA12には下位のノードが存在しない。ここで、キーワード取得部307は、部分ツリー41の第3階層で取得したキーワード数を0から1に更新する。キーワード取得部307は、同一部分ツリーの同一階層で取得したキーワード数が所定数1より大きいか否か判定する。この場合、部分ツリー41の第3階層で取得したキーワード数は所定数1より大きくはない同値である。そのため、キーワード取得部307は、ノードA12のタグを、ユーザの興味に関連したキーワードとして取得する。このとき、キーワード取得部307は、取得したキーワードの数を更新し4とする。そして、キーワード取得部307は、取得したキーワードの数が所定数を超えたか否か判定する。この時点では、取得したキーワードの数は所定数を超えていないため、キーワード取得部307は探索を継続する。次に、キーワード取得部307は、部分ツリー41の探索を継続し、ノードA13に到達するS8。キーワード取得部307は、到達したノードA13の下位に他のノードが存在するか否か判定する。ノードA13には下位のノードが存在しない。ここで、キーワード取得部307は、部分ツリー41の第3階層で取得したキーワード数を1から2に更新する。キーワード取得部307は、同一部分ツリーの同一階層で取得したキーワード数が所定数1より大きいか否か判定する。この場合、部分ツリー41の第3階層で取得したキーワード数は所定数1より大きい2であるため、キーワード取得部307は、ノードA13のタグを、ユーザの興味に関連したキーワードとして取得しない。そして、キーワード取得部307は、次のノードへ移動して探索を継続する。図15は、キーワード取得部307が部分ツリーを探索する方法の第2の変形例を示す図である。各部分ツリーにおける取得キーワード数が所定数に制限されても良い。図15の例では、一つの部分ツリーにおける取得キーワード数は2に制限されている。以下、図15の処理の流れについて、図8と異なる部分について説明する。キーワード取得部307は、部分ツリー41を探索し、ノードA6に到達するとS5、到達したノードA6の下位に他のノードが存在するか否か判定する。ノードA6には下位のノードが存在しない。そのため、キーワード取得部307は、ノードA6のタグを、ユーザの興味に関連したキーワードとして取得する。このとき、キーワード取得部307は、取得したキーワードの数を更新し3とする。そして、キーワード取得部307は、取得したキーワードの数が所定数を超えたか否か判定する。この時点では、取得したキーワードの数は所定数を超えていないため、キーワード取得部307は探索を継続する。さらに、キーワード取得部307は、部分ツリー41で取得したキーワード数を0から1に更新する。キーワード取得部307は、同一部分ツリーで取得したキーワード数が所定数2に到達したか否か判定する。この場合、部分ツリー41で取得したキーワード数は所定数2に到達していない。そのため、キーワード取得部307は、部分ツリー41の探索を継続する。キーワード取得部307は、部分ツリー41を探索し、ノードA5を経由してノードA12に到達するとS6、S7、到達したノードA12の下位に他のノードが存在するか否か判定する。ノードA12には下位のノードが存在しない。そのため、キーワード取得部307は、ノードA12のタグを、ユーザの興味に関連したキーワードとして取得する。このとき、キーワード取得部307は、取得したキーワードの数を更新し4とする。そして、キーワード取得部307は、取得したキーワードの数が所定数を超えたか否か判定する。この時点では、取得したキーワードの数は所定数を超えていないため、キーワード取得部307は探索を継続する。さらに、キーワード取得部307は、部分ツリー41で取得したキーワード数を1から2に更新する。キーワード取得部307は、同一部分ツリーで取得したキーワード数が所定数2に到達したか否か判定する。この場合、部分ツリー41で取得したキーワード数は所定数2に到達している。そのため、キーワード取得部307は、部分ツリー41の探索を終了し、次の部分ツリー44の探索を開始するS8。なお、図8、図14、図15を用いてキーワード取得部307の部分ツリー探索方法について説明したが、これらの複数の方法を組み合わせて部分ツリーの探索を行っても良い。広告コンテンツとして、動画像データではなく広告に関するデータ文字、静止画像、動画像など:以下、広告データという。がユーザ端末10に提供されても良い。例えば、キーワード表示画面でユーザによって選択されたキーワードに対応付けられている広告データが、広告サーバによって提供されても良い。この場合、広告サーバは、動画サーバ20と同様に構成され、動画像データに代えて広告データが、動画IDに変えて広告IDが用いられる。詳細な動作は、上記のキーワードの選択で説明したとおりである。また、キーワード取得サーバ30によって取得されたキーワードに応じた広告データが、ユーザに対して提供されても良い。この場合、広告サーバは、動画サーバ20と同様に構成され、動画像データに代えて広告データが、動画IDに変えて広告IDが、推薦枠に変えて広告表示枠が用いられる。詳細な動作は、上記の動画のレコメンドで説明したとおりである。その他ログ生成部305は、同一の動画IDのログを重複してログ記憶部304に記録しないように構成されても良い。具体的には、ログ生成部305は以下のように構成されても良い。まず、ログ生成部305は、新たにログを生成して記録する際に、新たなログの動画IDが、既に記録されているログの動画IDと一致しているか否か判定する。一致していない場合には、ログ生成部305は、上述したように新たなログをログ記憶部304に記録する。一方、一致している場合には、ログ生成部305は、新たなログを破棄し、ログ記憶部304には記録しない。ログ生成部305が生成するログには、動画IDが含まれることは必須ではない。ログ生成部305は、動画IDに変えて、他の識別情報と対応付けてタグ及びユーザIDをログとして記録しても良い。また、ログ生成部305は、動画IDに変えて、記録するタグの数と、タグと、ユーザIDとを対応付けてログとして記録しても良い。このように構成されることによって、動画IDをログとして記録しなくとも、ログの数が所定数を越えた場合に適切に削除対象となる最も古いログのタグ及びユーザIDを識別することが可能となる。以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。"