(57)【特許請求の範囲】
【請求項１】
コンテンツに対応付けられたキーワードをノードとして、その出現回数及び関連性に応じて階層化することによって得られるキーワードツリーを予め記憶するツリー記憶部と、
ユーザによって過去に選択されたコンテンツに対応付けられたキーワードをログとして記録するログ記憶部と、
前記ログ記憶部に記録されたあるユーザに対応するログから所定の条件に基づいて複数のキーワードを抽出し、抽出された前記キーワードから構成される部分ツリーを前記キーワードツリーから抽出する部分ツリー抽出部と、
抽出された前記部分ツリーにおいて、下位に他のノードが存在しないノードにおけるキーワードを、前記ユーザの興味に関連したキーワードとして取得するキーワード取得部と、
を備えるキーワード取得装置。
【請求項２】
前記キーワード取得部は、前記ログ記憶部に記録された各キーワードの数を表すカウント数に基づいて、前記部分ツリーの各ノードを、同一の上位ノードを有する複数のノード毎にソートし、最上位ノードのカウント数が大きい方から順に前記部分ツリーを探索することによって所定数の前記キーワードを取得する、請求項１に記載のキーワード取得装置。
【請求項３】
コンテンツに対応付けられたキーワードをノードとして、その出現回数及び関連性に応じて階層化することによって得られるキーワードツリーを予め記憶するツリー記憶部と、
ユーザによって過去に選択されたコンテンツに対応付けられたキーワードをログとして記録するログ記憶部と、
前記ログ記憶部に記録されたあるユーザに対応するログから所定の条件に基づいて複数のキーワードを抽出し、抽出された前記キーワードから構成される部分ツリーを前記キーワードツリーから抽出する部分ツリー抽出部と、
抽出された前記部分ツリーにおいて、下位に他のノードが存在しないノードにおけるキーワードを、前記ユーザの興味に関連したキーワードとして取得するキーワード取得部と、
コンテンツ及びキーワードを対応付けて予め記憶するキーワード記憶部と、
前記キーワード取得部によって取得された前記キーワードに対応するコンテンツを前記ユーザに提供するコンテンツ提供部と、
を備えるコンテンツ提供システム。
【請求項４】
前記コンテンツ提供部は、前記キーワード取得部によって取得されたキーワードを画面に出力するユーザ端末から、ユーザによって選択されたキーワードを受け付け、前記キーワード記憶部において前記選択されたキーワードに対応付けられている前記コンテンツを前記ユーザに提供する、請求項３に記載のコンテンツ提供システム。
【請求項５】
コンテンツに対応付けられたキーワードをノードとして、その出現回数及び関連性に応じて階層化することによって得られるキーワードツリーを予め記憶するツリー記憶部を備えるキーワード取得装置が、
ユーザによって過去に選択されたコンテンツに対応付けられたキーワードをログとして記録するログ記憶ステップと、
前記ログに記録されたあるユーザに対応するログから所定の条件に基づいて複数のキーワードを抽出するキーワード抽出ステップと、
抽出された前記キーワードから構成される部分ツリーを前記キーワードツリーから抽出する部分ツリー抽出ステップと、
抽出された前記部分ツリーにおいて、下位に他のノードが存在しないノードにおけるキーワードを、前記ユーザの興味に関連したキーワードとして取得するキーワード取得ステップと、
を有するキーワード取得方法。
【請求項６】
コンテンツに対応付けられたキーワードをノードとして、その出現回数及び関連性に応じて階層化することによって得られるキーワードツリーを予め記憶するツリー記憶部を備えるコンピュータに対し、
ユーザによって過去に選択されたコンテンツに対応付けられたキーワードをログとして記録するログ記憶ステップと、
前記ログに記録されたあるユーザに対応するログから所定の条件に基づいて複数のキーワードを抽出するキーワード抽出ステップと、
抽出された前記キーワードから構成される部分ツリーを前記キーワードツリーから抽出する部分ツリー抽出ステップと、
抽出された前記部分ツリーにおいて、下位に他のノードが存在しないノードにおけるキーワードを、前記ユーザの興味に関連したキーワードとして取得するキーワード取得ステップと、
を実行させるためのプログラム。
【請求項７】
コンテンツに対応付けられたキーワードをノードとして、その出現回数及び関連性に応じて階層化することによって得られるキーワードツリーを予め記憶するツリー記憶部と、コンテンツ及びキーワードを対応付けて予め記憶するキーワード記憶部と、を備えたコンテンツ提供システムが、
ユーザによって過去に選択されたコンテンツに対応付けられたキーワードをログとして記録するログ記憶ステップと、
前記ログ記憶部に記録されたあるユーザに対応するログから所定の条件に基づいて複数のキーワードを抽出するステップと、
抽出された前記キーワードから構成される部分ツリーを前記キーワードツリーから抽出する部分ツリー抽出ステップと、
抽出された前記部分ツリーにおいて、下位に他のノードが存在しないノードにおけるキーワードを、前記ユーザの興味に関連したキーワードとして取得するキーワード取得ステップと、
前記キーワード取得部によって取得された前記キーワードに対応するコンテンツを前記ユーザに提供するコンテンツ提供ステップと、
を有するコンテンツ提供方法。
【発明の詳細な説明】
【技術分野】
【０００１】
ユーザの興味に関連するキーワードを取得する技術に関する。
【背景技術】
【０００２】
従来、ユーザが選択した商品や動画像などに基づいて、そのユーザに対して他の商品や他の動画像を推薦する技術が提案されている。例えば、特許文献１に開示された技術では、協調フィルタリングを用いてユーザへの推薦を行う技術が開示されている。この協調フィルタリングは、ユーザに対する推薦を行うための技術として様々な分野で用いられている。例えば、書籍購入サイトでは、協調フィルタリングを用いることによって、ユーザが閲覧した書籍に基づいて、同じ書籍を閲覧した他者が閲覧した他の書籍を推薦することが行われている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１１−０９６２５５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上述した技術では、ある書籍を閲覧したユーザは、同じ書籍を閲覧した他のユーザが閲覧した他の書籍にも興味を持つだろう、という推測の元で推薦が行われている。しかしながら、実際には様々な嗜好を持ったユーザが存在するため、他のユーザの閲覧傾向に基づいて行われる推薦は、必ずしもそのユーザの嗜好に合っているとは限らない。そのため、従来の技術では推薦の精度を向上させることが困難であり、精度を上げるためには膨大な閲覧ログが必要になる。また、その根本的な問題として、ユーザの興味に関連したキーワードを取得することが困難であった。すなわち、ユーザの興味に関連したキーワードを取得することが可能となれば、ユーザの嗜好に合った商品や動画像などを推定することが可能となる。
【０００５】
上記事情に鑑み、本発明は、ユーザの興味に関連したキーワードを取得することを可能とする技術の提供を目的としている。
【課題を解決するための手段】
【０００６】
本発明の一態様は、コンテンツに対応付けられたキーワードをノードとして、その出現回数及び関連性に応じて階層化することによって得られるキーワードツリーを予め記憶するツリー記憶部と、ユーザによって過去に選択されたコンテンツに対応付けられたキーワードをログとして記録するログ記憶部と、前記ログ記憶部に記録されたあるユーザに対応するログから所定の条件に基づいて複数のキーワードを抽出し、抽出された前記キーワードから構成される部分ツリーを前記キーワードツリーから抽出する部分ツリー抽出部と、抽出された前記部分ツリーにおいて、下位に他のノードが存在しないノードにおけるキーワードを、前記ユーザの興味に関連したキーワードとして取得するキーワード取得部と、を備えるキーワード取得装置である。
【０００７】
本発明の一態様は、上記のキーワード取得装置であって、前記キーワード取得部は、前記ログ記憶部に記録された各キーワードの数を表すカウント数に基づいて、前記部分ツリーの各ノードを、同一の上位ノードを有する複数のノード毎にソートし、最上位ノードのカウント数が大きい方から順に前記部分ツリーを探索することによって所定数の前記キーワードを取得する。
【０００８】
本発明の一態様は、コンテンツに対応付けられたキーワードをノードとして、その出現回数及び関連性に応じて階層化することによって得られるキーワードツリーを予め記憶するツリー記憶部と、ユーザによって過去に選択されたコンテンツに対応付けられたキーワードをログとして記録するログ記憶部と、前記ログ記憶部に記録されたあるユーザに対応するログから所定の条件に基づいて複数のキーワードを抽出し、抽出された前記キーワードから構成される部分ツリーを前記キーワードツリーから抽出する部分ツリー抽出部と、抽出された前記部分ツリーにおいて、下位に他のノードが存在しないノードにおけるキーワードを、前記ユーザの興味に関連したキーワードとして取得するキーワード取得部と、コンテンツ及びキーワードを対応付けて予め記憶するキーワード記憶部と、前記キーワード取得部によって取得された前記キーワードに対応するコンテンツを前記ユーザに提供するコンテンツ提供部と、を備えるコンテンツ提供システムである。
【０００９】
本発明の一態様は、上記のコンテンツ提供システムであって、前記コンテンツ提供部は、前記キーワード取得部によって取得されたキーワードを画面に出力するユーザ端末から、ユーザによって選択されたキーワードを受け付け、前記キーワード記憶部において前記選択されたキーワードに対応付けられている前記コンテンツを前記ユーザに提供する。
【００１０】
本発明の一態様は、コンテンツに対応付けられたキーワードをノードとして、その出現回数及び関連性に応じて階層化することによって得られるキーワードツリーを予め記憶するツリー記憶部を備えるキーワード取得装置が、ユーザによって過去に選択されたコンテンツに対応付けられたキーワードをログとして記録するログ記憶ステップと、前記ログに記録されたあるユーザに対応するログから所定の条件に基づいて複数のキーワードを抽出するキーワード抽出ステップと、抽出された前記キーワードから構成される部分ツリーを前記キーワードツリーから抽出する部分ツリー抽出ステップと、抽出された前記部分ツリーにおいて、下位に他のノードが存在しないノードにおけるキーワードを、前記ユーザの興味に関連したキーワードとして取得するキーワード取得ステップと、を有するキーワード取得方法である。
【００１１】
本発明の一態様は、コンテンツに対応付けられたキーワードをノードとして、その出現回数及び関連性に応じて階層化することによって得られるキーワードツリーを予め記憶するツリー記憶部を備えるコンピュータに対し、ユーザによって過去に選択されたコンテンツに対応付けられたキーワードをログとして記録するログ記憶ステップと、前記ログに記録されたあるユーザに対応するログから所定の条件に基づいて複数のキーワードを抽出するキーワード抽出ステップと、抽出された前記キーワードから構成される部分ツリーを前記キーワードツリーから抽出する部分ツリー抽出ステップと、抽出された前記部分ツリーにおいて、下位に他のノードが存在しないノードにおけるキーワードを、前記ユーザの興味に関連したキーワードとして取得するキーワード取得ステップと、を実行させるためのプログラムである。
【００１２】
本発明の一態様は、コンテンツに対応付けられたキーワードをノードとして、その出現回数及び関連性に応じて階層化することによって得られるキーワードツリーを予め記憶するツリー記憶部と、コンテンツ及びキーワードを対応付けて予め記憶するキーワード記憶部と、を備えたコンテンツ提供システムが、ユーザによって過去に選択されたコンテンツに対応付けられたキーワードをログとして記録するログ記憶ステップと、前記ログ記憶部に記録されたあるユーザに対応するログから所定の条件に基づいて複数のキーワードを抽出するステップと、抽出された前記キーワードから構成される部分ツリーを前記キーワードツリーから抽出する部分ツリー抽出ステップと、抽出された前記部分ツリーにおいて、下位に他のノードが存在しないノードにおけるキーワードを、前記ユーザの興味に関連したキーワードとして取得するキーワード取得ステップと、前記キーワード取得部によって取得された前記キーワードに対応するコンテンツを前記ユーザに提供するコンテンツ提供ステップと、を有するコンテンツ提供方法である。
【発明の効果】
【００１３】
本発明により、ユーザの興味に関連したキーワードを取得することが可能となる。
【図面の簡単な説明】
【００１４】
【図１】コンテンツ提供システム１のシステム構成を表すシステム構成図である。
【図２】タグテーブルの具体例を示す図である。
【図３】タグツリーの具体例を示す図である。
【図４】部分ツリーの具体例を示す図である。
【図５】部分ツリーの階層を表す図である。
【図６】各タグとそのカウント数の具体例を示す図である。
【図７】図６のようなカウント数である場合の各ノードのソートの例を表す図である。
【図８】キーワード取得部３０７の探索順序の具体例を表す図である。
【図９】キーワード取得部３０７によって取得されたタグのみを表した図である。
【図１０】キーワード表示画面の具体例を示す図である。
【図１１】レコメンド表示画面の具体例を示す図である。
【図１２】キーワード取得サーバ３０の動作の流れを表すフローチャートである。
【図１３】動画像再生画面の具体例を示す図である。
【図１４】キーワート取得部が部分ツリーを探索する方法の第１の変形例を示す図である。
【図１５】キーワート取得部が部分ツリーを探索する方法の第２の変形例を示す図である。
【発明を実施するための形態】
【００１５】
図１は、コンテンツ提供システム１のシステム構成を表すシステム構成図である。コンテンツ提供システム１は、ネットワークを介して互いに通信可能に接続されたユーザ端末１０、動画サーバ２０、キーワード取得サーバ３０を備える。図１に示されるコンテンツ提供システム１では、コンテンツの一具体例として動画像のデータが提供される。コンテンツ提供システム１において他のコンテンツを提供する場合には、動画サーバ２０が他のコンテンツを提供するサーバに置き換えられる。
【００１６】
ユーザ端末１０は、携帯電話機、スマートフォン、パーソナルコンピュータ、ゲーム機、テレビ受像機などの情報処理装置である。ユーザ端末１０は、動画サーバ２０からネットワークを介して動画像データを受信し、受信した動画像データを再生する。動画サーバ２０は、メインフレームやワークステーションやパーソナルコンピュータなどの情報処理装置を用いて構成される。動画サーバ２０は、ユーザ端末１０から動画リクエストを受信し、受信した動画リクエストに応じた動画像データをユーザ端末１０へ送信する。キーワード取得サーバ３０は、メインフレームやワークステーションやパーソナルコンピュータなどの情報処理装置を用いて構成される。キーワード取得サーバ３０は、ユーザ端末１０によって過去にリクエストされた動画像データに基づいて、ユーザ端末１０のユーザの興味に関連したキーワードを取得する。
【００１７】
次に各装置の詳細について説明する。
ユーザ端末１０は、バスで接続されたＣＰＵ（Central Processing Unit）やメモリや補助記憶装置などを備え、ユーザ端末用プログラムを実行する。ユーザ端末用プログラムの実行により、ユーザ端末１０は、入力部１０１、表示部１０２、通信部１０３、制御部１０４を備える装置として機能する。なお、ユーザ端末１０の各機能の全て又は一部は、ＡＳＩＣ（Application Specific Integrated Circuit）やＰＬＤ（Programmable Logic Device）やＦＰＧＡ（Field Programmable Gate Array）等のハードウェアを用いて実現されても良い。ユーザ端末用プログラムは、コンピュータ読み取り可能な記録媒体に記録されても良い。コンピュータ読み取り可能な記録媒体とは、例えばフレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置である。また、ユーザ端末用プログラムは、電気通信回線を通じて送受信されても良い。
【００１８】
入力部１０１は、キーボード、ポインティングデバイス（マウス、タブレット等）、ボタン、タッチパネル等の既存の入力装置を用いて構成される。入力部１０１は、ユーザの指示をユーザ端末１０に入力する際にユーザによって操作される。入力部１０１は、入力装置をユーザ端末１０に接続するためのインタフェースであっても良い。この場合、入力部１０１は、入力装置においてユーザの入力に応じ生成された入力信号をユーザ端末１０に入力する。
【００１９】
表示部１０２は、ＣＲＴ（Cathode Ray Tube）ディスプレイ、液晶ディスプレイ、有機ＥＬ（Electro Luminescence）ディスプレイ等の画像表示装置である。表示部１０２は、動画像再生画面やレコメンド表示画面やキーワード表示画面を表示する。表示部１０２は、画像表示装置をユーザ端末１０に接続するためのインタフェースであっても良い。この場合、表示部１０２は、動画像再生画面やレコメンド表示画面やキーワード表示画面を表示するための映像信号を生成し、自身に接続されている画像表示装置に映像信号を出力する。
【００２０】
通信部１０３は、ネットワークカード等の通信装置である。通信部１０３は、ネットワークＮを介して動画サーバ２０や動画取得サーバ３０と通信する。
制御部１０４は、動画像再生画面やレコメンド表示画面を生成し、表示部１０２に出力する。具体的には以下の通りである。制御部１０４は、入力部１０１を介してユーザから動画像データの選択を受け付けると、選択された動画像データを要求するためのデータ（動画リクエスト）を生成する。動画リクエストには、ユーザＩＤ、動画ＩＤが含まれる。ユーザＩＤは、ユーザ端末１０のユーザを示す識別情報である。動画ＩＤは、ユーザによって選択された動画像データを示す識別情報である。制御部１０４は、生成した動画リクエストを動画サーバ２０へ送信する。制御部１０４は、動画リクエストに応じた動画像データを動画サーバ２０から受信すると、動画像データを再生し、動画像再生画面を表示部１０２に出力する。動画像再生画面には、再生された動画像データが表示される。
【００２１】
動画サーバ２０は、バスで接続されたＣＰＵやメモリや補助記憶装置などを備え、動画サーバ用プログラムを実行する。動画サーバ用プログラムの実行により、動画サーバ２０は、通信部２０１、動画像記憶部２０２、タグ記憶部２０３、制御部２０４を備える装置として機能する。なお、動画サーバ２０の各機能の全て又は一部は、ＡＳＩＣやＰＬＤやＦＰＧＡ等のハードウェアを用いて実現されても良い。動画サーバ用プログラムは、コンピュータ読み取り可能な記録媒体に記録されても良い。コンピュータ読み取り可能な記録媒体とは、例えばフレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置である。また、動画サーバ用プログラムは、電気通信回線を通じて送受信されても良い。
【００２２】
通信部２０１は、ネットワークカード等の通信装置である。通信部２０１は、ネットワークＮを介してユーザ端末１０及びキーワード取得サーバ３０と通信する。
動画像記憶部２０２は、磁気ハードディスク装置や半導体記憶装置などの記憶装置を用いて構成される。動画像記憶部２０２は、複数の動画像データを記憶する。
【００２３】
タグ記憶部２０３は、磁気ハードディスク装置や半導体記憶装置などの記憶装置を用いて構成される。タグ記憶部２０３は、タグテーブルを記憶する。図２は、タグテーブルの具体例を示す図である。タグテーブルは、動画ＩＤ毎に１又は複数のタグを記憶する。動画ＩＤは、動画像記憶部２０２に記憶されている動画像データの識別情報である。タグは、動画像データに関連するキーワードを表す文字列情報である。
【００２４】
制御部２０４は、ユーザ端末１０から動画リクエストを受信すると、動画リクエストに含まれる動画ＩＤに対応する動画像データを動画像記憶部２０２から読み出す。そして、制御部２０４は、読み出した動画像データをユーザ端末１０へ送信する。また、制御部２０４は、動画リクエストに含まれる動画ＩＤに対応付けられたタグをタグ記憶部２０３から読み出す。そして、制御部２０４は、読み出したタグを、動画リクエストに含まれるユーザＩＤ及び動画ＩＤとともにキーワード取得サーバ３０に送信する。
制御部２０４は、キーワード取得サーバ３０からタグリクエストを受信すると、タグ記憶部２０３に記憶されているタグテーブルの情報をキーワード取得サーバ３０へ送信する。
【００２５】
キーワード取得サーバ３０は、バスで接続されたＣＰＵやメモリや補助記憶装置などを備え、キーワード取得プログラムを実行する。キーワード取得プログラムの実行により、キーワード取得サーバ３０は、通信部３０１、タグツリー記憶部３０２、タグツリー生成部３０３、ログ記憶部３０４、ログ生成部３０５、部分ツリー生成部３０６、キーワード取得部３０７を備える装置として機能する。なお、キーワード取得サーバ３０の各機能の全て又は一部は、ＡＳＩＣやＰＬＤやＦＰＧＡ等のハードウェアを用いて実現されても良い。キーワード取得プログラムは、コンピュータ読み取り可能な記録媒体に記録されても良い。コンピュータ読み取り可能な記録媒体とは、例えばフレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置である。また、キーワード取得プログラムは、電気通信回線を通じて送受信されても良い。
【００２６】
通信部３０１は、ネットワークカード等の通信装置である。通信部３０１は、ネットワークＮを介してユーザ端末１０や動画サーバ２０と通信する。
タグツリー記憶部３０２は、磁気ハードディスク装置や半導体記憶装置などの記憶装置を用いて構成される。タグツリー記憶部３０２は、タグツリー生成部３０３によって生成されるタグツリーを記憶する。
【００２７】
タグツリー生成部３０３は、所定のタイミングでタグツリー（キーワードツリー）を生成しタグツリー記憶部３０２に記録する。所定のタイミングとは、例えば毎日決まった時刻であっても良いし、動画サーバにおいて新しい動画像データが所定数登録された場合であっても良いし、他のタイミングであっても良い。タグツリーの生成方法の具体的な処理は以下の通りである。タグツリー生成部３０３は、所定のタイミングが到来すると、動画サーバ２０に対してタグリクエストを送信する。タグツリー生成部３０３は、タグテーブルの情報を動画サーバ２０から受信すると、タグテーブルの情報に基づいてタグツリーを生成する。
【００２８】
図３は、タグツリーの具体例を示す図である。タグツリーは、動画像データに対応付けられた１つのタグを１つのノードとして、その出現回数及び関連性に応じて階層化することによって得られるツリー構造のデータである。以下の説明において、ツリー構造について説明する場合には、ノードＡ１、ノードＡ２・・・という文言を使用し、各ノードに対応付けられたタグについて説明する場合には、タグＡ１、タグＡ２・・・という文言を使用する。
図３において、下に位置するノード（例えばＡ１及びＢ１）ほど、より上位の階層のノードであり、上に位置するノード（例えば、Ａ１９及びＡ２０）ほど、より下位の階層のノードである。ノードＡ１〜ノードＡ２０で構成されるタグツリーでは、ノードＡ１が最上位のノードである。ノードＡ１の下位にはノードＡ２，Ａ３，Ａ４が接続されている。以下、図３に示されるようにタグツリーが構成されている。
【００２９】
タグツリーの生成方法について説明する。タグテーブルにおけるタグＸ１の出現回数をＮｘ１とし、タグＸ２の出現回数をＮｘ２とする。出現回数とは、タグテーブル内にそのタグが出現する回数を表し、例えばタグテーブルにおいてそのタグが登録されている動画ＩＤの数であっても良い。タグＸ１とタグＸ２とが、式１によって表される条件（条件１）と式２によって表される条件（条件２）の両方を満たす場合、タグＸ１とタグＸ２とはツリー構造におけるリンクで接続され、タグＸ１がタグＸ２の上位のノードとなる。なお、式２においてＴｈ１は閾値を表す。
【数１】
0005827874.tif 000002
【数２】
0005827874.tif 000003
条件１は、タグＸ１の出現回数（出現頻度）がタグＸ２の出現回数（出現頻度）よりも大きいことを条件としている。条件２は、タグＸ１とタグＸ２共起確率が閾値（Ｔｈ１）以上であることを条件としている。
【００３０】
タグツリー生成部３０３は、全てのタグの組合せについて条件１及び条件２の双方を満たすか否か判定し、タグツリーを生成する。
ログ記憶部３０４は、磁気ハードディスク装置や半導体記憶装置などの記憶装置を用いて構成される。ログ記憶部３０４は、ログ生成部３０５によって生成されるログ情報を蓄積する。
【００３１】
ログ生成部３０５は、ユーザ端末１０のユーザによって過去に選択された動画像データに対応付けられたタグをログとしてログ記憶部３０４に記録する。ログ生成部３０５は、例えば以下のようにしてログを記録する。ログ生成部３０５は、動画サーバ２０から、ユーザによって選択された動画像データに対応するタグと、そのユーザのユーザＩＤと、動画像データの動画ＩＤとを受信する。ログ生成部３０５は、受信したタグと、ユーザＩＤと、動画ＩＤとを対応付けてログ記憶部３０４に記録する。このとき、ログ生成部３０５は、同一のユーザＩＤに対応付けて記録されている動画ＩＤの数が所定数以上であるか否か判定する。所定数以上である場合には、ログ生成部３０５は、最も古いログ（動画ＩＤ、ユーザＩＤ及びタグの組合せ）を破棄し、新しいログ（動画ＩＤ、ユーザＩＤ及びタグの組合せ）を記録する。所定数未満である場合には、ログ生成部３０５は、古いログを破棄することなく新しいログを記録する。
【００３２】
部分ツリー生成部３０６は、タグツリー記憶部３０２に記憶されているタグツリーと、ログ記憶部３０４に記憶されているログとに基づいて、部分ツリーを生成する。部分ツリー生成部３０６が部分ツリーを生成するタイミング（キーワード取得タイミング）は、どのようなタイミングであっても良い。部分ツリーは、タグツリーから、ログに記録されているタグのみを切り出して構成されるツリー構造のデータである。ログに記録されているタグを切り出す際に、そのタグの上位又は下位にもログに記録されているタグが存在する場合には、部分ツリー生成部３０６は、双方のノードを結ぶリンクとともに各ノードを切り出す。
【００３３】
図４は、部分ツリーの具体例を示す図である。破線で描かれた領域（以下、「破線領域」という。）４１〜４４は、それぞれ部分ツリーを表す。以下、各符号４１〜４４は、部分ツリーを示す符号として用いる。部分ツリー４１は、ログにタグＡ２、Ａ５、Ａ６、Ａ１２、Ａ１３が含まれており、ログにタグＡ１、Ａ１９、Ａ２０が含まれていなかったために部分ツリー生成部３０６によって抽出された部分ツリーである。部分ツリー４２は、ログにタグＡ８、Ａ１５が含まれており、ログにタグＡ３が含まれていなかったために部分ツリー生成部３０６によって抽出された部分ツリーである。部分ツリー４３は、ログにタグＡ４が含まれており、ログにタグＡ１、Ａ１０、Ａ１１が含まれていなかったために部分ツリー生成部３０６によって抽出された部分ツリーである。部分ツリー４４は、ログにＢ１〜Ｂ７、Ｂ９、Ｂ１０が含まれており、ログにタグＢ８、Ｂ１１が含まれていなかったために部分ツリー生成部３０６によって抽出された部分ツリーである。
【００３４】
部分ツリー生成部３０６は、生成した部分ツリーをキーワード取得部３０７に出力する。  キーワード取得部３０７は、部分ツリー生成部３０６によって生成された部分ツリーに基づいて、部分ツリー生成部３０６が用いたログに対応するユーザの興味に関連したキーワードを取得する。以下、キーワード取得部３０７の具体的な処理について説明する。
【００３５】
図５は、部分ツリーの階層を表す図である。図５に示されるように、キーワード取得部３０７は、各部分ツリー４１〜４４の最上位のノード（Ａ２、Ａ８、Ａ４、Ｂ１）を同一の階層に置き、各最上位のノードより一つ上の階層のノードとしてルートノードＶＲを置く。
【００３６】
次に、キーワード取得部３０７は、各ノードにおけるタグの数を表すカウント数に基づいて、部分ツリーの各ノードを、同一の上位ノードを有する複数のノード毎にソートする。カウント数とは、各タグが、そのユーザのログにおいて出現する回数を表す値である。図６は、各タグとそのカウント数の具体例を示す図である。例えば、タグＡ２のカウント数が１０であるということは、処理の対象となっているユーザのログにおいてタグＡ２が１０回出現する（１０個の動画ＩＤと対応付けられている）ことを表す。
【００３７】
図７は、図６のようなカウント数である場合の各ノードのソートの例を表す図である。キーワード取得部３０７は、図５に示されているソート前の各部分ツリーを、図６に示されるカウント数に基づいて図７のようにソートする。図７では、同一の上位ノードを有する各ノードにおいて、左側に位置するノードほどカウント数が大きく、右側に位置するノードほどカウント数が小さい。例えば、各部分ツリー４１〜４４の最上位のノードを例に説明する。各部分ツリー４１〜４４の最上位のノードは、いずれも同一の上位ノード（ルートノードＶＲ）を有している。各部分ツリー４１〜４４の最上位のノードのカウント数は、順に１０（ノードＡ２）、１１（ノードＡ８）、１５（ノードＡ４）、８（ノードＢ１）である。これをカウント数が大きい順にソートすると、１５（ノードＡ４）、１１（ノードＡ８）、１０（ノードＡ２）、８（ノードＢ１）となる。そのため、ソート後は、部分ツリー４１〜４４は、部分ツリー４３、４２、４１、４４の順で並ぶ。
【００３８】
また、他の具体例として部分ツリー４１のノードＡ５及びＡ６を例に説明する。これらは、いずれも同一の上位ノード（ノードＡ２）を有している。ノードＡ５のカウント数は５であり、ノードＡ６のカウント数は７である。そのため、これら二つのノードをソートすると、図７に示されるようにノードＡ６、ノードＡ５の順に並ぶ。なお、ノードＡ５及びノードＡ６と同じ階層には、他の部分ツリーに属しているノードＡ１５、Ｂ２〜Ｂ４が存在する。しかしながら、ノードＡ１５、Ｂ２〜Ｂ４は、ノードＡ５及びノードＡ６とは上位ノードが異なる。すなわち、ノードＡ５及びノードＡ６の上位ノードはノードＡ２であるのに対し、ノードＡ１５の上位ノードはＡ８であり、ノードＢ２〜Ｂ４の上位ノードはＢ１であるため、上位ノードが異なる。したがって、キーワード取得部３０７は、ノードＡ５及びノードＡ６に関しては、この二つのノードの間でソートを行う。すなわち、キーワード取得部３０７は、ノードＡ５及びノードＡ６と、ノードＡ１５やノードＢ２〜Ｂ４との間ではソートを行わない。他のノードについても同様である。
【００３９】
図８は、キーワード取得部３０７の探索順序の具体例を表す図である。キーワード取得部３０７は、最上位ノードのカウント数が大きい方から順に部分ツリーを探索することによって所定数のタグを取得する。探索において、キーワード取得部３０７は、下位に他のノードが存在しないノードにおけるタグを、ユーザの興味に関連したキーワードとして取得する。
【００４０】
以下、図８の具体例について説明する。まず、キーワード取得部３０７は、ルートノードＶＲから、最上位ノードのカウント数が最大の部分ツリー４３を探索する（Ｓ１）。キーワード取得部３０７は、到達したノードＡ４の下位に他のノードが存在するか否か判定する。ノードＡ４には下位のノードが存在しない。この場合、キーワード取得部３０７は、ノードＡ４のタグを、ユーザの興味に関連したキーワードとして取得する。このとき、キーワード取得部３０７は、取得したキーワードの数を更新し１とする。そして、キーワード取得部３０７は、取得したキーワードの数が所定数を超えたか否か判定する。本実施形態では、キーワードの数の所定数を７とする。この時点では、取得したキーワードの数は所定数を超えていないため、キーワード取得部３０７は探索を継続する。
【００４１】
部分ツリー４３のノードは全て探索したこととなるため、キーワード取得部３０７は、次の部分ツリー４２の探索を開始する（Ｓ２）。まず、キーワード取得部３０７は、到達したノードＡ８の下位に他のノードが存在するか否か判定する。ノードＡ８には下位のノードＡ１５が存在する。そのため、キーワード取得部３０７は、タグＡ８を取得せずに探索を継続する（Ｓ３）。キーワード取得部３０７は、次に到達したノードＡ１５の下位に他のノードが存在するか否か判定する。ノードＡ１５には下位のノードが存在しない。この場合、キーワード取得部３０７は、ノードＡ１５のタグを、ユーザの興味に関連したキーワードとして取得する。このとき、キーワード取得部３０７は、取得したキーワードの数を更新し２とする。そして、キーワード取得部３０７は、取得したキーワードの数が所定数を超えたか否か判定する。この時点では、取得したキーワードの数は所定数を超えていないため、キーワード取得部３０７は探索を継続する。
【００４２】
部分ツリー４２のノードは全て探索したこととなるため、キーワード取得部３０７は、次の部分ツリー４１の探索を開始する（Ｓ４）。その後、キーワード取得部３０７は、部分ツリー４２を順に探索し（Ｓ５〜Ｓ８）、下位に他のノードが存在しないタグ（タグＡ６、タグＡ１２、タグＡ１３）をキーワードとして取得する。この時点で、取得したキーワードの数は５であり、所定数を超えていないため、キーワード取得部３０７は探索を継続する。
【００４３】
部分ツリー４１のノードは全て探索したこととなるため、キーワード取得部３０７は、次の部分ツリー４４の探索を開始する（Ｓ９）。キーワード取得部３０７は、Ｓ１０〜Ｓ１２の探索を行うことによって、下位に他のノードが存在しないタグ（タグＢ７、タグＢ２）をキーワードとして取得する。この時点で、取得したキーワード数は７であり、所定数と一致する。すなわち、これ以上探索を継続して新たにキーワードを取得すると、取得したキーワード数が所定数を超えてしまう。そのため、キーワード取得部３０７は、この時点で探索を終了する。
【００４４】
図９は、キーワード取得部３０７によって取得されたタグのみを表した図である。図９に示される各タグが、キーワード取得部３０７によって、ユーザの興味に関連したキーワードとして取得された。キーワード取得部３０７によって取得されたキーワードの活用方法として、以下にいくつかの具体例を説明する。
【００４５】
［キーワードの選択］
キーワード取得部３０７は、取得したキーワードを、ユーザＩＤに対応するユーザのユーザ端末１０に送信する。ユーザ端末１０の制御部１０４は、キーワード取得サーバ３０からキーワードを受信すると、キーワード表示画面を表示部１０２に出力する。図１０は、キーワード表示画面の具体例を示す図である。キーワード表示画面には、キーワード取得サーバ３０によって選択された１又は複数のキーワードが、選択候補として表示される。
【００４６】
図１０の具体例では、キーワード表示画面には、「あなたが興味を持ちそうなタグ」という文字列と共に、キーワード取得部３０７によって取得された５つのキーワードが列挙されている。具体的には、「○○名曲リンク」というキーワード５０１、「元気が出るうた」というキーワード５０２、「○○オリジナル曲」というキーワード５０３、「歌わせてみた」というキーワード５０４、「踊ってみた」というキーワード５０５がそれぞれ選択候補として下線とともに所定の間隔で横方向に一列に配列されている。キーワード表示画面に表示されるキーワードの数や配列方法などは図１０の例に限定されない。
ユーザが入力部１０１を操作して選択候補の中からキーワードを選択すると、制御部１０４は選択されたキーワードのキーワードリクエストを生成し動画サーバ２０へ送信する。キーワードリクエストには、ユーザＩＤ、キーワードが含まれる。
【００４７】
動画サーバ２０の制御部２０４は、ユーザ端末１０からキーワードリクエストを受信すると、タグテーブル及びキーワードに基づいて１又は複数の動画像データを選択する。例えば、制御部２０４は、受信したキーワードと一致するタグに対応付けられた動画像データを選択しても良い。例えば、制御部２０４は、受信したキーワードと一致する所定数以上のタグと対応付けられた動画像データを選択しても良い。制御部２０４は、選択した動画像データを、ユーザＩＤに対応するユーザのユーザ端末１０に送信する。ユーザ端末１０の制御部１０４は、受信した動画像データを再生する。
【００４８】
［動画のレコメンド］
キーワード取得部３０７は、取得したキーワードをユーザＩＤと対応付けて動画サーバ２０に送信する。動画サーバ２０の制御部２０４は、キーワード取得サーバ３０からキーワード及びユーザＩＤを受信すると、タグテーブル及びキーワードに基づいて１又は複数の動画像データを選択する。例えば、制御部２０４は、受信したキーワードと一致するタグに対応付けられた動画像データを選択しても良い。例えば、制御部２０４は、受信したキーワードと一致する所定数以上のタグと対応付けられた動画像データを選択しても良い。制御部２０４は、選択した動画像データをユーザに紹介するためのデータ（レコメンドデータ）を生成する。そして、制御部２０４は、ユーザＩＤに対応するユーザのユーザ端末１０にレコメンドデータを送信する。
【００４９】
ユーザ端末１０の制御部１０４は、動画サーバ２０からレコメンドデータを受信すると、レコメンド表示画面を表示部１０２に出力する。図１１は、レコメンド表示画面の具体例を示す図である。レコメンド表示画面には、動画サーバ２０によって選択された１又は複数の動画像データと、キーワード取得サーバ３０によって取得された１又は複数のキーワードとが、選択候補として表示される。
【００５０】
図１１の具体例では、レコメンド表示画面には、「あなたが興味を持ちそうなタグ」という文字列と共に、キーワード取得部３０７によって取得された５つのキーワードが列挙されている。さらに、レコメンド表示画面には、「あなたにおすすめの動画一覧」という文字列と共に、動画サーバ２０によって選択された動画像データの紹介情報６０１〜６０３が表示される。キーワードの列挙については、図１０を用いて説明したとおりなので説明を省略する。「あなたにおすすめの動画一覧」の表示について具体的に説明する。
【００５１】
紹介情報には、動画像データに関する情報が含まれている。例えば、動画像データのサムネイル画像、投稿日時、動画像データの題名、動画像データの再生回数、動画像データに対して投稿されたコメントの数、動画像データがマイリストに登録された数、動画像データを選択した際に用いられたキーワード、などが紹介情報に含まれる。
【００５２】
紹介情報６０１を例に紹介情報を説明する。最も左側には、サムネイル画像が表示される。サムネイル画像の右側には、残る紹介情報が文字によって表示される。投稿日時として、「２００７年１０月１５日０７：００投稿」という文字が表示される。動画像データの題名として、「１月の雪」という文字が表示される。動画像データの再生回数として、「再生：１８００」という文字が表示される。動画像データに対して投稿されたコメントの数として、「コメ：０」という文字が表示される。動画像データがマイリストに登録された数として、「マイ：１」という文字が表示される。動画像データを選択した際に用いられたキーワードとして「タグ：○○名曲リンクに興味がありそうなあなたにおすすめします」という文字が表示される。「○○名曲リンク」という文字列に下線が付されている。下線が付された文字列が、キーワード取得サーバ３０によって取得されたキーワードであることを表す。例えば、「○○名曲リンク」というキーワードは、キーワード５０１として画面上部に表示されている。レコメンド表示画面に表示される紹介情報の数や配列方法などは図１１の例に限定されない。
【００５３】
ユーザが入力部１０１を操作して選択候補の中から動画像データを選択すると、制御部１０４は選択された動画像データの動画リクエストを生成し動画サーバ２０へ送信する。
動画サーバ２０の制御部２０４は、ユーザ端末１０から動画リクエストを受信すると、上述したように動画リクエストに応じた動画像データをユーザ端末に送信する。ユーザ端末１０の制御部１０４は、受信した動画像データを再生する。
【００５４】
図１２は、キーワード取得サーバ３０の動作の流れを表すフローチャートである。なお、図１２に示される処理の前処理として、タグツリー生成部３０３は所定のタイミングでタグツリーを生成し記録する。ログ生成部３０５は、ユーザによって選択された動画像データに対応するタグと、そのユーザのユーザＩＤと、動画像データの動画ＩＤとを受信すると、受信した情報に基づいてログを生成しログ記憶部３０４に記録する（ステップＳ１０１）。このとき、ユーザによって選択された動画像データ及び動画像データに対応付けられたタグは、動画サーバ２０によってユーザ端末１０へ送信され、ユーザ端末１０に表示される。図１３は、動画像再生画面の具体例を示す図である。動画像再生画面は、タグを表示するタグ表示領域６００と、動画像を再生する動画像再生領域７００と、を有する。タグ表示領域６００には、動画再生領域７００において再生される動画像データに対応付けられたタグが表示される。動画再生領域７００には、ユーザによって選択された動画像データが再生される。また、動画像再生領域７００には、再生中の動画像データに対して投稿されたコメント７０１が表示される。
【００５５】
キーワード取得サーバ３０の処理の説明に戻る。ログ記憶部３０４にログが記録された後、キーワード取得タイミングが到来するまでＳ１０１の処理が繰り返し実行される。キーワード取得タイミングになると（ステップＳ１０２−ＹＥＳ）、部分ツリー生成部３０６が部分ツリーを生成する（ステップＳ１０３）。次に、キーワード取得部３０７が部分ツリーに対してソート処理を行う（ステップＳ１０４）。そして、キーワード取得部３０７がソート後の部分ツリーに基づいて所定数のキーワードを取得する（ステップＳ１０５）。
【００５６】
このように構成されたキーワード取得サーバ３０では、予め出現回数及び関連性に基づいてタグツリーが生成されている。そして、ユーザによって過去に選択されたコンテンツ（動画像データ）に対応するタグを含む部分ツリーが生成される。そして、部分ツリーを構成するノードの中から下位に他のノードが接続されていないノードが、そのユーザの興味に関連したキーワードとして取得される。このように、ユーザ以外の他者が選択したログではなく、ユーザ本人のログに基づいてキーワードが取得されるため、より精度良くユーザの興味に関連したキーワードを取得することが可能となる。
【００５７】
＜変形例＞
キーワード取得部３０７は、部分ツリーについてソート処理を行うことなく、下位に他のノードが接続されていない各ノードを、ユーザの興味に関連したキーワードとして取得しても良い。
（（条件２））
タグツリー生成部３０３がタグツリーを生成する際に用いる条件２は、式２によって表される条件に限定される必要は無い。条件２は、共起確率が閾値以上であることが条件となれば、他の式によって表された条件であっても良い。例えば、条件２は、以下に示す式３によって表される条件であっても良い。
【数３】
0005827874.tif 000004
式３において、Ｔｈ２は閾値を表す。
【００５８】
（（重み付け））
キーワード取得部３０７は、取得した複数のキーワードに対して重み付けを行っても良い。例えば、キーワード取得部３０７は以下のような処理によって重み付けを行っても良い。
【００５９】
まず、キーワード取得部３０７は、部分ツリー４１〜４４毎に、最上位ノードのカウント数を、その部分ツリーで取得されたノード数で除算する。さらに、キーワード取得部３０７は、除算によって得られた値を、全ての部分ツリー４１〜４４の最上位ノードのカウント数の合計値で除算する。キーワード取得部３０７は、この除算によって得られた値を、各部分ツリー４１〜４４において取得された各ノード（キーワード）に対して重みとして付与する。
なお、キーワード取得部３０７は、カウント数に基づいた演算であれば、どのような演算によって各キーワードの重みを決定しても良い。
【００６０】
（（重み付けに応じた動画像データ選択））
キーワード取得部３０７が上記のように各キーワードに重み付けをする場合、動画サーバ２０の制御部２０４は以下のようにレコメンドデータを生成しても良い。まず、制御部２０４は、所定数の推薦枠に対して一つずつキーワードを割り付ける。このとき、制御部２０４は、例えば各キーワードの重み付けに応じて割り付けを行う。より具体的には、制御部２０４は、重みが大きいキーワードほど多くの推薦枠に割り付け、重みが小さいキーワードほど少ない推薦枠に割り付ける。例えば、所定数が１０であり、キーワードＡ、キーワードＢ、キーワードＣそれぞれの重みが０．５、０．３、０．２である場合、キーワードＡは５つの推薦枠に割り付けられ、キーワードＢは３つの推薦枠に割り付けられ、キーワードＣは２つの推薦枠に割り付けられる。
【００６１】
次に、制御部２０４は、キーワード毎に、そのキーワードと一致するタグに対応付けられた動画像データを、推薦枠の所定数分ずつ選択する。例えば、制御部２０４は、キーワードＡと一致するタグに対応付けられた動画像データを１０選択し、キーワードＢと一致するタグに対応付けられた動画像データを１０選択し、キーワードＣと一致するタグに対応付けられた動画像データを１０選択する。
【００６２】
次に、制御部２０４は、各推薦枠に対し、割り付けられたキーワードについて選択された動画像データの中からランダムに一つの動画像データを割り当てる。このような処理によって、所定数の推薦枠それぞれに対して動画像データが割り当てられる。制御部２０４は、この割り当て結果に基づいてレコメンドデータを生成し、ユーザ端末１０へ送信する。例えば、図１１に示されるような画面のレコメンドデータを生成する場合には、推薦枠が三つとなる。すなわち、レコメンド表示画面に表示される紹介情報の数が推薦枠の数となる。
【００６３】
（（動画像データのスコア））
制御部２０４は、各動画像データに対してスコアを付与しても良い。スコアは、例えば以下のように算出される。
制御部２０４は、各動画像データについて、マイリストに登録しているユーザの数（マイリスト数）を取得する。マイリストとは、お気に入り機能であり、ユーザが自身の気に入った動画像データをお気に入りとして登録できる機能である。ユーザは、お気に入りとして動画像データを登録することにより、自身専用のサイトなどから容易にお気に入りの動画像データにアクセスすることが可能となる。ユーザがユーザ端末１０を操作して動画像データをお気に入り登録すると、ユーザ端末１０の制御部１０４はお気に入り登録された動画ＩＤとユーザＩＤとを動画サーバ２０へ送信する。動画サーバ２０の制御部２０４は、受信した動画ＩＤとユーザＩＤとを対応付けて、お気に入りテーブルに登録する。制御部２０４は、このお気に入りテーブルを参照することによって、各動画像データのマイリスト数を取得する。
【００６４】
また、制御部２０４は、各動画像データについて、動画サーバ２０に登録されてから経過した時間（投稿経過時間）を取得する。制御部２０４は、例えば動画像記憶部２０２にたいして動画像データを登録する際にその日時を登録しておくことによって、各動画像データの投稿経過時間を取得できる。
【００６５】
制御部２０４は、動画像データ毎にマイリスト／投稿経過時間をスコアとして算出する。制御部２０４は、スコアが大きい方から順に、動画像データを選択する。例えば、上述したように、推薦枠の所定数分の動画像データを選択する際に、制御部２０４は、各キーワードに一致するタグに対応付けられた動画像データの中から、スコアが大きい順に所定数分の動画像データを選択する。
【００６６】
（（部分ツリー探索方法））
キーワード取得部３０７が部分ツリーを探索する方法は、上述したものに限定される必要は無い。図１４は、キーワード取得部３０７が部分ツリーを探索する方法の第１の変形例を示す図である。各部分ツリーの一つの階層における取得キーワード数が所定数に制限されても良い。図１４の例では、部分ツリーの一つの階層における取得キーワード数は１に制限されている。以下、図１４の処理の流れについて、図８と異なる部分について説明する。
【００６７】
キーワード取得部３０７は、部分ツリー４１を探索し、ノードＡ１２に到達すると（Ｓ７）、到達したノードＡ１２の下位に他のノードが存在するか否か判定する。ノードＡ１２には下位のノードが存在しない。ここで、キーワード取得部３０７は、部分ツリー４１の第３階層で取得したキーワード数を０から１に更新する。キーワード取得部３０７は、同一部分ツリーの同一階層で取得したキーワード数が所定数（１）より大きいか否か判定する。この場合、部分ツリー４１の第３階層で取得したキーワード数は所定数（１）より大きくはない（同値）である。そのため、キーワード取得部３０７は、ノードＡ１２のタグを、ユーザの興味に関連したキーワードとして取得する。このとき、キーワード取得部３０７は、取得したキーワードの数を更新し４とする。そして、キーワード取得部３０７は、取得したキーワードの数が所定数を超えたか否か判定する。この時点では、取得したキーワードの数は所定数を超えていないため、キーワード取得部３０７は探索を継続する。
【００６８】
次に、キーワード取得部３０７は、部分ツリー４１の探索を継続し、ノードＡ１３に到達する（Ｓ８）。キーワード取得部３０７は、到達したノードＡ１３の下位に他のノードが存在するか否か判定する。ノードＡ１３には下位のノードが存在しない。ここで、キーワード取得部３０７は、部分ツリー４１の第３階層で取得したキーワード数を１から２に更新する。キーワード取得部３０７は、同一部分ツリーの同一階層で取得したキーワード数が所定数（１）より大きいか否か判定する。この場合、部分ツリー４１の第３階層で取得したキーワード数は所定数（１）より大きい２であるため、キーワード取得部３０７は、ノードＡ１３のタグを、ユーザの興味に関連したキーワードとして取得しない。そして、キーワード取得部３０７は、次のノードへ移動して探索を継続する。
【００６９】
図１５は、キーワード取得部３０７が部分ツリーを探索する方法の第２の変形例を示す図である。各部分ツリーにおける取得キーワード数が所定数に制限されても良い。図１５の例では、一つの部分ツリーにおける取得キーワード数は２に制限されている。以下、図１５の処理の流れについて、図８と異なる部分について説明する。
【００７０】
キーワード取得部３０７は、部分ツリー４１を探索し、ノードＡ６に到達すると（Ｓ５）、到達したノードＡ６の下位に他のノードが存在するか否か判定する。ノードＡ６には下位のノードが存在しない。そのため、キーワード取得部３０７は、ノードＡ６のタグを、ユーザの興味に関連したキーワードとして取得する。このとき、キーワード取得部３０７は、取得したキーワードの数を更新し３とする。そして、キーワード取得部３０７は、取得したキーワードの数が所定数を超えたか否か判定する。この時点では、取得したキーワードの数は所定数を超えていないため、キーワード取得部３０７は探索を継続する。さらに、キーワード取得部３０７は、部分ツリー４１で取得したキーワード数を０から１に更新する。キーワード取得部３０７は、同一部分ツリーで取得したキーワード数が所定数（２）に到達したか否か判定する。この場合、部分ツリー４１で取得したキーワード数は所定数（２）に到達していない。そのため、キーワード取得部３０７は、部分ツリー４１の探索を継続する。
【００７１】
キーワード取得部３０７は、部分ツリー４１を探索し、ノードＡ５を経由してノードＡ１２に到達すると（Ｓ６、Ｓ７）、到達したノードＡ１２の下位に他のノードが存在するか否か判定する。ノードＡ１２には下位のノードが存在しない。そのため、キーワード取得部３０７は、ノードＡ１２のタグを、ユーザの興味に関連したキーワードとして取得する。このとき、キーワード取得部３０７は、取得したキーワードの数を更新し４とする。そして、キーワード取得部３０７は、取得したキーワードの数が所定数を超えたか否か判定する。この時点では、取得したキーワードの数は所定数を超えていないため、キーワード取得部３０７は探索を継続する。さらに、キーワード取得部３０７は、部分ツリー４１で取得したキーワード数を１から２に更新する。キーワード取得部３０７は、同一部分ツリーで取得したキーワード数が所定数（２）に到達したか否か判定する。この場合、部分ツリー４１で取得したキーワード数は所定数（２）に到達している。そのため、キーワード取得部３０７は、部分ツリー４１の探索を終了し、次の部分ツリー４４の探索を開始する（Ｓ８）。
なお、図８、図１４、図１５を用いてキーワード取得部３０７の部分ツリー探索方法について説明したが、これらの複数の方法を組み合わせて部分ツリーの探索を行っても良い。
【００７２】
（（広告））
コンテンツとして、動画像データではなく広告に関するデータ（文字、静止画像、動画像など：以下、「広告データ」という。）がユーザ端末１０に提供されても良い。例えば、キーワード表示画面でユーザによって選択されたキーワードに対応付けられている広告データが、広告サーバによって提供されても良い。この場合、広告サーバは、動画サーバ２０と同様に構成され、動画像データに代えて広告データが、動画ＩＤに変えて広告ＩＤが用いられる。詳細な動作は、上記のキーワードの選択で説明したとおりである。
【００７３】
また、キーワード取得サーバ３０によって取得されたキーワードに応じた広告データが、ユーザに対して提供されても良い。この場合、広告サーバは、動画サーバ２０と同様に構成され、動画像データに代えて広告データが、動画ＩＤに変えて広告ＩＤが、推薦枠に変えて広告表示枠が用いられる。詳細な動作は、上記の動画のレコメンドで説明したとおりである。
【００７４】
（（その他））
ログ生成部３０５は、同一の動画ＩＤのログを重複してログ記憶部３０４に記録しないように構成されても良い。具体的には、ログ生成部３０５は以下のように構成されても良い。まず、ログ生成部３０５は、新たにログを生成して記録する際に、新たなログの動画ＩＤが、既に記録されているログの動画ＩＤと一致しているか否か判定する。一致していない場合には、ログ生成部３０５は、上述したように新たなログをログ記憶部３０４に記録する。一方、一致している場合には、ログ生成部３０５は、新たなログを破棄し、ログ記憶部３０４には記録しない。
【００７５】
ログ生成部３０５が生成するログには、動画ＩＤが含まれることは必須ではない。ログ生成部３０５は、動画ＩＤに変えて、他の識別情報と対応付けてタグ及びユーザＩＤをログとして記録しても良い。また、ログ生成部３０５は、動画ＩＤに変えて、記録するタグの数と、タグと、ユーザＩＤとを対応付けてログとして記録しても良い。このように構成されることによって、動画ＩＤをログとして記録しなくとも、ログの数が所定数を越えた場合に適切に削除対象となる最も古いログのタグ及びユーザＩＤを識別することが可能となる。
【００７６】
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【符号の説明】
【００７７】
１０…ユーザ端末，  １０１…入力部，  １０２…表示部，  １０３…通信部，  １０４…制御部，  ２０…動画サーバ，  ２０１…通信部，  ２０２…動画像記憶部，  ２０３…タグ記憶部，  ２０４…制御部，  ３０…キーワード取得サーバ，  ３０１…通信部，  ３０２…タグツリー記憶部，  ３０３…タグツリー生成部，  ３０４…ログ記憶部，  ３０５…ログ生成部，  ３０６…部分ツリー生成部，  ３０７…キーワード取得部
【図１】
0005827874.tif 000005
【図２】
0005827874.tif 000006
【図３】
0005827874.tif 000007
【図４】
0005827874.tif 000008
【図５】
0005827874.tif 000009
【図６】
0005827874.tif 000010
【図７】
0005827874.tif 000011
【図８】
0005827874.tif 000012
【図９】
0005827874.tif 000013
【図１０】
0005827874.tif 000014
【図１１】
0005827874.tif 000015
【図１２】
0005827874.tif 000016
【図１３】
0005827874.tif 000017
【図１４】
0005827874.tif 000018
【図１５】
0005827874.tif 000019