(57)【要約】【課題】特徴ベクトルの各次元に複数の特徴語を対応付ける特徴辞書を定義する場合に、特徴語を自動的に且つ適切に特徴ベクトルの各次元に対応付ける。【解決手段】レコメンドサーバは、コンテンツを表すデータから抽出されたユーザ履歴内共起元ワードのそれぞれについて、他のワードとのユーザ履歴内共起強度を算出する処理と、ユーザ履歴内共起強度の強い順に、ユーザ履歴内共起元ワードとユーザ履歴内共起するユーザ履歴内共起先ワードを１つ以上選択し、各次元に対応する特徴語としてまとめて設定する処理と、設定された特徴語で構成された特徴辞書を生成する処理と、を行う。【選択図】図４
2014225091.tif 000002
【特許請求の範囲】
【請求項１】
コンテンツを表すデータから抽出されたユーザ履歴内共起元ワードのそれぞれについて、コンテンツを表すデータから抽出された他のワードとのユーザ履歴内共起強度を算出するユーザ履歴内共起強度算出手段と、
前記ユーザ履歴内共起強度算出手段により算出されたユーザ履歴内共起強度の強い順に、前記ユーザ履歴内共起元ワードとユーザ履歴内共起するユーザ履歴内共起先ワードを１つ以上選択し、前記ユーザ履歴内共起元ワード及び前記選択されたユーザ履歴内共起先ワードを特徴ベクトルの各次元に対応する特徴語としてまとめて設定するユーザ履歴内共起ワード設定手段と、
前記ユーザ履歴内共起ワード設定手段により特徴ベクトルの各次元に対応する特徴語として設定された特徴語で構成された特徴辞書を生成する特徴辞書生成手段と、
を備えるレコメンドサーバ。
【請求項２】
前記ユーザ履歴内共起ワード設定手段により選択されなかったワードであるコンテンツ間共起元ワードのそれぞれについて、他のワードとのコンテンツ間共起強度を算出するコンテンツ間共起強度算出手段と、
前記コンテンツ間共起強度算出手段により算出されたコンテンツ間共起強度の強い順に、前記コンテンツ間共起元ワードとコンテンツ間共起するコンテンツ間共起先ワードを１つ以上選択し、前記コンテンツ間共起元ワード及び前記選択されたコンテンツ間共起先ワードを特徴ベクトルの各次元に対応する特徴語としてまとめて設定するコンテンツ間共起ワード設定手段と、
をさらに備え、
前記特徴辞書生成手段は、前記ユーザ履歴内共起ワード設定手段及び前記コンテンツ間共起ワード設定手段により特徴ベクトルの各次元に対応する特徴語として設定された特徴語で構成された特徴辞書を生成する、請求項１に記載のレコメンドサーバ。
【請求項３】
前記コンテンツ間共起ワード設定手段は、特徴語としてまとめて設定されたコンテンツ間共起元ワード及びコンテンツ間共起先ワードのうち少なくとも１つを、前記コンテンツを表すデータに含むコンテンツの数が所定の閾値以上となるようにコンテンツ間共起元ワード及びコンテンツ間共起先ワードを選択する、
請求項２に記載のレコメンドサーバ。
【請求項４】
前記ユーザ履歴内共起ワード設定手段は、特徴語としてまとめて設定されたユーザ履歴内共起元ワード及びユーザ履歴内共起先ワードのうち少なくとも１つを、前記コンテンツを表すデータに含むコンテンツの数が所定の閾値以上となるようにユーザ履歴内共起元ワード及びユーザ履歴内共起先ワードを選択する、
請求項１〜３の何れか一項に記載のレコメンドサーバ。
【請求項５】
前記ユーザ履歴内共起強度は、前記コンテンツを表すデータに前記ユーザ履歴内共起元ワードが含まれるコンテンツの視聴履歴を有するユーザが視聴したコンテンツのうち、前記コンテンツを表すデータに前記ユーザ履歴内共起先ワードが含まれるコンテンツの個数である、
請求項１〜４の何れか一項に記載のレコメンドサーバ。
【請求項６】
前記ユーザ履歴内共起強度は、前記コンテンツを表すデータに前記ユーザ履歴内共起元ワードが含まれるコンテンツの視聴履歴を有するユーザのうち、前記コンテンツを表すデータに前記ユーザ履歴内共起先ワードが含まれるコンテンツの視聴履歴を有するユーザの数である、
請求項１〜４の何れか一項に記載のレコメンドサーバ。
【請求項７】
レコメンドサーバにより実行される特徴辞書生成方法であって、
コンテンツを表すデータから抽出されたユーザ履歴内共起元ワードのそれぞれについて、コンテンツを表すデータから抽出された他のワードとのユーザ履歴内共起強度を算出するユーザ履歴内共起強度算出ステップと、
前記ユーザ履歴内共起強度算出ステップにより算出されたユーザ履歴内共起強度の強い順に、前記ユーザ履歴内共起元ワードとユーザ履歴内共起するユーザ履歴内共起先ワードを１つ以上選択し、前記ユーザ履歴内共起元ワード及び前記選択されたユーザ履歴内共起先ワードを特徴ベクトルの各次元に対応する特徴語としてまとめて設定するユーザ履歴内共起ワード設定ステップと、
前記ユーザ履歴内共起ワード設定ステップにより特徴ベクトルの各次元に対応する特徴語として設定された特徴語で構成された特徴辞書を生成する特徴辞書生成ステップと、
を備える特徴辞書生成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のユーザ端末に対しレコメンドコンテンツを提供するレコメンドサーバ、及び、レコメンドコンテンツを決定するために使用される特徴辞書を作成する特徴辞書生成方法に関する。なお、以下では、レコメンドコンテンツを提供する対象のユーザを「対象ユーザ」という。
【背景技術】
【０００２】
レコメンデーション技術においては、対象ユーザが過去に利用又は視聴したコンテンツをもとに、個々の対象ユーザの嗜好性を学習し、当該対象ユーザの嗜好性に類似した特徴を有するコンテンツを提供する。これを実現するための技術としては、例えば非特許文献１に記載された技術が用いられる。以下、既存のレコメンデーション技術の一例を説明する。
【０００３】
このレコメンデーション技術は、以下の３ステップの処理を行うことにより、レコメンドコンテンツを提供する。
（ステップ１）コンテンツの特徴をコンテンツ特徴ベクトルとして表現する。
（ステップ２）対象ユーザの視聴履歴に基づき対象ユーザの特徴をユーザ特徴ベクトルとして表現する。
（ステップ３）コンテンツ特徴ベクトルとユーザ特徴ベクトルとの類似度を計算し、類似度の高いコンテンツをレコメンド対象とする。
【０００４】
上記のステップ１においては、コンテンツを特徴づけるためにベクトル化の処理を行う。このベクトル化の処理では、非特許文献１に記載されるように、特徴辞書と呼ばれる情報の集合により、特徴語を定義する。そして、定義された特徴語が、各コンテンツに対応するメタデータ内に出現する頻度を基に数値化し、ベクトル化する。このベクトル化の処理により得られるベクトルを、コンテンツ特徴ベクトルと呼ぶ。
【０００５】
より具体的には、例えば図１に示されるように、特徴ＩＤ「１」〜「５」にそれぞれ特徴語「ドラマ」、「スポーツ」、「街」、「涙」、「演劇」を対応付ける特徴辞書が定義されているとする。
【０００６】
このとき、あるコンテンツ１に付随するメタデータに「ドラマ」という特徴語が１つ、「涙」という特徴語が２つ、「演劇」という特徴語が２つ、それぞれ含まれている場合には、このコンテンツ１のコンテンツ特徴ベクトルは、｛１／３，０，０，２／３，２／３｝となる。コンテンツ特徴ベクトルの各次元の成分は、（メタデータにおける特徴語の出現数）／（ノルム）で計算される。ここで、ノルムは、各特徴語の出現数の２乗値の総和の平方根である。ノルムで除算を行っているのは、コンテンツ特徴ベクトルの長さを１にするための正規化処理である。
【０００７】
また、別のコンテンツ２のメタデータに「街」という特徴語しか含まれない場合には、このコンテンツ２のコンテンツ特徴ベクトルは、｛０，０，１，０，０｝となる。
【０００８】
次のステップ２においては、ユーザの履歴に基づいてユーザの特徴をベクトル化する。このベクトル化の処理により得られるベクトルを、ユーザ特徴ベクトルと呼ぶ。ユーザ特徴ベクトルの計算方法はいくつか提案されているが、一例として、非特許文献２に記載された、ＳＶＭ（Support  Vector  Machine）という手法を用いた計算方法がある。ＳＶＭを用いた計算方法について、以下説明する。
【０００９】
例えば、ユーザＡがコンテンツ１とコンテンツ２とを視聴していた場合には、コンテンツ１のメタデータに含まれる特徴語「ドラマ」及び「涙」に対応する特徴辞書の第１次元及び第４次元、並びにコンテンツ２のメタデータに含まれる特徴語「街」に対応する特徴辞書の第３次元に正の値を有するベクトルとして、ユーザ特徴ベクトル｛０．５８，０，０．５８，０．５８，０｝が得られる。
【００１０】
また、あるユーザＢがコンテンツ２のみを視聴していた時は、コンテンツ２の特徴語「街」に対応する特徴辞書の第３次元のみに正の値を有するベクトルとして、ユーザ特徴ベクトルは｛０，０，１，０，０｝となる。
【００１１】
最後のステップ３において、対象ユーザの特徴に応じてどのコンテンツをレコメンドするかを最終的に決定する。レコメンドされるコンテンツの決定は、対象ユーザのユーザ特徴ベクトルと各コンテンツのコンテンツ特徴ベクトルとの類似度を計算し、類似度の高いコンテンツを選択することにより行われる。類似度の計算は、例えばユーザ特徴ベクトルとコンテンツ特徴ベクトルとの内積を計算することにより行われる。
【先行技術文献】
【非特許文献】
【００１２】
【非特許文献１】脊戸柳昌宏、深澤佑介、野口勝広、宮川聡、高橋良之、「ソーシャルゲームにおけるアイテム形状の類似性に着目したレコメンデーション」、IEICE  SIG  Notes  WI-2011-41,  pp.69-74,  2011
【非特許文献２】Y.  Fukazawa,  M.  Hara,  M.  Onogi,  H.  Ueno、“Automatic  Mobile  Menu  Customization  Based  on  User  Operation  History”,  Mobile  HCI  2009
【発明の概要】
【発明が解決しようとする課題】
【００１３】
ところで、上述のユーザＢに対するレコメンドコンテンツを決定する際に、問題になる場合がある。例えば、レコメンド対象コンテンツのうち、メタデータに「街」という特徴語を含むコンテンツがコンテンツ２しかない場合を考える。ユーザＢのユーザ特徴ベクトルは、上述の通り｛０，０，１，０，０｝である。したがって、類似度の高い（すなわちユーザＢのユーザ特徴ベクトルと、当該コンテンツのコンテンツ特徴ベクトルとの内積が正の値となる）コンテンツは、コンテンツ２しか存在しない。しかしながら、コンテンツ２は、既にユーザＢが視聴したコンテンツであるため、このコンテンツ２をレコメンドするのは、サービス上、効果がない。
【００１４】
このような問題を解決するために、特徴ベクトルの各次元に複数の特徴語を対応付ける方法がある。この方法で定義される特徴辞書を図２に示す。この特徴辞書では、特徴ＩＤ１に特徴語１〜４としてそれぞれ「ドラマ」、「国内」、「海外」、「映画」が対応付けられ、特徴ＩＤ２に特徴語１〜４としてそれぞれ「スポーツ」、「野球」、「バスケ」、「卓球」が対応付けられている。このように特徴辞書を定義することにより、１つの次元に複数の特徴語を対応付けられるため、特徴ベクトルの１次元あたり、より多くのコンテンツの特徴を表現することができる。
【００１５】
しかしながら、従来の方法では、特徴辞書の各次元への特徴語のまとめ方は、似たような言葉をサービス運用者が手作業でまとめて各次元に対応付けるというものであった。この方法では、作業に労力や時間がかかっており、さらに、複数の特徴語をまとめる方法も確立されていなかった。
【００１６】
そこで、本発明は、特徴ベクトルの各次元に複数の特徴語を対応付ける特徴辞書を定義する場合に、特徴語を自動的に且つ適切に特徴ベクトルの各次元に対応付けるレコメンドサーバ及び特徴辞書生成方法を提供することを目的とする。
【課題を解決するための手段】
【００１７】
本発明に係るレコメンドサーバは、コンテンツを表すデータから抽出されたユーザ履歴内共起元ワードのそれぞれについて、コンテンツを表すデータから抽出された他のワードとのユーザ履歴内共起強度を算出するユーザ履歴内共起強度算出手段と、ユーザ履歴内共起強度算出手段により算出されたユーザ履歴内共起強度の強い順に、ユーザ履歴内共起元ワードとユーザ履歴内共起するユーザ履歴内共起先ワードを１つ以上選択し、ユーザ履歴内共起元ワード及び選択されたユーザ履歴内共起先ワードを特徴ベクトルの各次元に対応する特徴語としてまとめて設定するユーザ履歴内共起ワード設定手段と、ユーザ履歴内共起ワード設定手段により特徴ベクトルの各次元に対応する特徴語として設定された特徴語で構成された特徴辞書を生成する特徴辞書生成手段と、を備える。
【００１８】
上記のレコメンドサーバによれば、ユーザ履歴内共起元ワードとユーザ履歴内共起するユーザ履歴内共起先ワードがユーザ履歴内共起強度の強い順に選択され、ユーザ履歴内共起元ワードとともに特徴ベクトルの各次元に対応する特徴語としてまとめて設定される。そして、このように設定された特徴語で構成された特徴辞書が生成される。これにより、関連の強い１つ以上の特徴語をまとめて特徴ベクトルの各次元に対応させた特徴辞書が生成されるため、特徴ベクトルの各次元に複数の特徴語を対応付ける特徴辞書を定義する場合に、特徴語を自動的に且つ適切に定義することができる。そして、このように特徴辞書を生成することにより、コンテンツを表すデータに所定のワードを含むコンテンツを視聴した対象ユーザに、当該所定のワードと関連の強い（すなわちユーザ履歴内共起する）他のワードを含む他のコンテンツをレコメンドすることができ、対象ユーザに対するレコメンドコンテンツのバリエーションが広がる。
【００１９】
上記のレコメンドサーバでは、ユーザ履歴内共起ワード設定手段により選択されなかったワードであるコンテンツ間共起元ワードのそれぞれについて、他のワードとのコンテンツ間共起強度を算出するコンテンツ間共起強度算出手段と、コンテンツ間共起強度算出手段により算出されたコンテンツ間共起強度の強い順に、コンテンツ間共起元ワードとコンテンツ間共起するコンテンツ間共起先ワードを１つ以上選択し、コンテンツ間共起元ワード及び選択されたコンテンツ間共起先ワードを特徴ベクトルの各次元に対応する特徴語としてまとめて設定するコンテンツ間共起ワード設定手段と、をさらに備え、特徴辞書生成手段は、ユーザ履歴内共起ワード設定手段及びコンテンツ間共起ワード設定手段により特徴ベクトルの各次元に対応する特徴語として設定された特徴語で構成された特徴辞書を生成してもよい。この場合、コンテンツを表すデータに所定のワードを含むコンテンツを視聴した対象ユーザに、当該所定のワードと関連の強いワードとして、当該所定のワードとコンテンツ間共起する他のワードを含む他のコンテンツをレコメンドすることもできるようになり、対象ユーザに対するレコメンドコンテンツのバリエーションがさらに広がる。
【００２０】
また、上記のレコメンドサーバでは、コンテンツ間共起ワード設定手段は、特徴語としてまとめて設定されたコンテンツ間共起元ワード及びコンテンツ間共起先ワードのうち少なくとも１つを、コンテンツを表すデータに含むコンテンツの数が所定の閾値以上となるようにコンテンツ間共起元ワード及びコンテンツ間共起先ワードを選択してもよい。この場合、特徴ベクトルの１次元あたりでカバーされるコンテンツの数が所定の閾値以上となるため、特徴ベクトルの１次元あたり、コンテンツの特徴をより多く表現することができる。
【００２１】
また、上記のレコメンドサーバでは、ユーザ履歴内共起ワード設定手段は、特徴語としてまとめて設定されたユーザ履歴内共起元ワード及びユーザ履歴内共起先ワードのうち少なくとも１つを、コンテンツを表すデータに含むコンテンツの数が所定の閾値以上となるようにユーザ履歴内共起元ワード及びユーザ履歴内共起先ワードを選択してもよい。この場合、特徴ベクトルの１次元あたりでカバーされるコンテンツの数が所定の閾値以上となるため、特徴ベクトルの１次元あたり、コンテンツの特徴をより多く表現することができる。
【００２２】
また、上記のレコメンドサーバでは、ユーザ履歴内共起強度は、コンテンツを表すデータにユーザ履歴内共起元ワードが含まれるコンテンツの視聴履歴を有するユーザが視聴したコンテンツのうち、コンテンツを表すデータにユーザ履歴内共起先ワードが含まれるコンテンツの個数であってもよい。この場合、コンテンツを表すデータにユーザ履歴内共起先ワードが含まれるコンテンツの個数が多くなるように、特徴語がまとめて設定される。そのため、特徴ベクトルの１次元あたりでカバーされるコンテンツの数がより多くなるため、より多くのコンテンツをユーザに対してレコメンドすることが可能となる。
【００２３】
また、上記のレコメンドサーバでは、ユーザ履歴内共起強度は、コンテンツを表すデータにユーザ履歴内共起元ワードが含まれるコンテンツの視聴履歴を有するユーザのうち、コンテンツを表すデータにユーザ履歴内共起先ワードが含まれるコンテンツの視聴履歴を有するユーザの数であってもよい。この場合、コンテンツを表すデータにユーザ履歴内共起元ワードを含むコンテンツを視聴し、かつコンテンツを表すデータにユーザ履歴内共起先ワードを含むコンテンツを視聴したユーザの数が多くなるように、特徴語がまとめて設定される。ここで、２つのコンテンツを見ているユーザが多ければ、それらの２つのコンテンツの関連性は、それだけ強いと考えることができる。そのため、上記の構成によれば、より関連性の強いコンテンツをユーザに対してレコメンドすることが可能となる。
【００２４】
また、本発明に係る特徴辞書生成方法は、レコメンドサーバにより実行される特徴辞書生成方法であって、コンテンツを表すデータから抽出されたユーザ履歴内共起元ワードのそれぞれについて、コンテンツを表すデータから抽出された他のワードとのユーザ履歴内共起強度を算出するユーザ履歴内共起強度算出ステップと、ユーザ履歴内共起強度算出ステップにより算出されたユーザ履歴内共起強度の強い順に、ユーザ履歴内共起元ワードとユーザ履歴内共起するユーザ履歴内共起先ワードを１つ以上選択し、ユーザ履歴内共起元ワード及び選択されたユーザ履歴内共起先ワードを特徴ベクトルの各次元に対応する特徴語としてまとめて設定するユーザ履歴内共起ワード設定ステップと、ユーザ履歴内共起ワード設定ステップにより特徴ベクトルの各次元に対応する特徴語として設定された特徴語で構成された特徴辞書を生成する特徴辞書生成ステップと、を備える。
【００２５】
なお、本明細書において、共起元ワードと共起先ワードとがユーザ履歴内共起するとは、コンテンツを表すデータに共起元ワードが含まれるコンテンツを視聴したユーザが視聴したコンテンツに共起先ワードが含まれることを意味する。また、共起元ワードと共起先ワードとがコンテンツ間共起するとは、一つのコンテンツについて、当該コンテンツを表すデータに共起元ワード及び共起先ワードの両方が含まれることを意味する。
【発明の効果】
【００２６】
本発明によれば、特徴ベクトルの各次元に複数の特徴語を対応付ける特徴辞書を定義する場合に、特徴語を自動的に且つ適切に特徴ベクトルの各次元に対応付けるレコメンドサーバ及び特徴辞書生成方法が提供される。
【図面の簡単な説明】
【００２７】
【図１】特徴辞書の一例を示す図である。
【図２】各次元に複数の特徴語が対応付けられた特徴辞書の一例を示す図である。
【図３】発明の実施形態に係るレコメンドサーバ及びユーザ端末を含むシステムを示す図である。
【図４】レコメンドサーバの機能ブロック構成図である。
【図５】レコメンドサーバにより実行される処理を示すフローチャートである。
【図６】ユーザ履歴内共起による特徴語選択処理を示す図である。
【図７】コンテンツ間共起による特徴語選択処理を示す図である。
【図８】コンテンツＩＤ・ワード対応表の一例を示す図である。
【図９】視聴ログテーブルの一例を示す図である。
【図１０】ユーザ履歴内共起コンテンツテーブルの一例を示す図である。
【図１１】ユーザ履歴内共起ワードテーブルの一例を示す図である。
【図１２】ユーザ履歴内に出現しないワードが削除されたユーザ履歴内共起ワードテーブルを示す図である。
【図１３】ソート済みユーザ履歴内共起ワードテーブルを示す図である。
【図１４】同一次元の特徴語としてまとめられる特徴語が決定された後のソート済みユーザ履歴内共起ワードテーブルを示す図である。
【図１５】ユーザ履歴内共起による特徴語選択処理の変形例を示す図である。
【図１６】コンテンツ間共起テーブルの一例を示す図である。
【図１７】レコメンドサーバのハードウェア構成例を示す図である。
【発明を実施するための形態】
【００２８】
以下、図面を参照しながら、本発明に係る実施形態を説明する。以下の実施形態では、図３に示されるように、１つのレコメンドサーバ１００と複数（ここでは一例として８つ）のユーザ端末１１〜１８とが通信する形態を想定する。ユーザ端末１１〜１８のユーザには、それぞれＡ〜ＨのユーザＩＤが予め与えられており、以下、これらのユーザ（ユーザＩＤ＝Ａ〜Ｈのユーザ）を対象ユーザとして説明する。なお、レコメンドサーバ１００とユーザ端末１１〜１８との間の通信は、有線通信ネットワークを介して行われてもよいし、無線通信ネットワークを介して行われてもよい。
【００２９】
［レコメンドサーバの構成］
本実施形態におけるレコメンドサーバ１００の構成を図４に示す。この図４に示すように、レコメンドサーバ１００は、形態素解析部１０１、メタデータ管理部１０２、コンテンツ・ワード対応管理部１０３、ユーザ履歴蓄積部１０４、ユーザ履歴内共起ワード算出部１０５（ユーザ履歴内共起強度算出手段）、ユーザ履歴内共起ワードテーブル作成部１０６（ユーザ履歴内共起ワード設定手段）、コンテンツ間共起ワード算出部１０７（コンテンツ間共起強度算出手段）、コンテンツ間共起ワードテーブル作成部１０８（コンテンツ間共起ワード設定手段）、及び特徴辞書管理部１０９（特徴辞書生成手段）を備える。以下、各部の機能・動作について説明する。
【００３０】
メタデータ管理部１０２は、コンテンツを表すデータであるとともに各コンテンツに対応付けられるデータであるメタデータを保持し、形態素解析部１０１にメタデータを出力する。メタデータは、例えば、コンテンツＩＤ及び当該コンテンツに関する情報（例えばタイトルやジャンル、出演者、コンテンツ内容の詳細情報など）を含む。
【００３１】
形態素解析部１０１は、メタデータ管理部１０２からメタデータを受け取り、受け取ったメタデータに対して形態素解析を行う。そして、形態素解析部１０１は、メタデータに対する形態素解析により抽出されたワードを、当該メタデータに対応するコンテンツのコンテンツＩＤと対応付けてコンテンツ・ワード対応管理部１０３に出力する。
【００３２】
コンテンツ・ワード対応管理部１０３は、形態素解析部１０１から出力されたコンテンツＩＤ及びワードを受け取り、後述のコンテンツＩＤ・ワード対応表を作成し管理する。
【００３３】
ユーザ履歴蓄積部１０４は、各ユーザがどのコンテンツを視聴したかを示すユーザ履歴情報を蓄積しており、ユーザ履歴内共起ワード算出部１０５にユーザ履歴情報を出力する。ユーザ履歴情報は、各ユーザ端末１１〜１８からアップロードされたものであり、各ユーザ端末１１〜１８に対応するユーザＩＤ，及び当該ユーザ端末においてユーザが視聴したコンテンツのコンテンツＩＤを含む。
【００３４】
ユーザ履歴内共起ワード算出部１０５は、コンテンツ・ワード対応管理部１０３からコンテンツＩＤ・ワード対応表を受け取るとともに、ユーザ履歴蓄積部１０４からユーザ履歴情報を受け取る。そして、ユーザ履歴内共起ワード算出部１０５は、各ワードをユーザ履歴内共起元ワードとして、当該ユーザ履歴内共起元ワードをメタデータに含むコンテンツを視聴したユーザにおいて、ユーザ履歴情報に記載されたコンテンツ（すなわち当該ユーザが視聴したコンテンツ）のメタデータが、ユーザ履歴内共起元ワード以外のワードとしてどのようなワードを含んでいるかを調べる。そして、ユーザ履歴内共起元ワードと他のワードとの共起の強さ（ユーザ履歴内共起強度）を算出し、ユーザ履歴内共起ワードテーブル作成部１０６に出力する。
【００３５】
ユーザ履歴内共起ワードテーブル作成部１０６は、ユーザ履歴内共起ワード算出部１０５から、各ワードについてのワード同士のユーザ履歴内共起強度を受け取るとともに、コンテンツ・ワード対応管理部１０３からコンテンツＩＤ・ワード対応表を受け取り、ユーザ履歴内共起強度をテーブルとして整理する。後述のように、本実施形態では、ユーザ履歴内共起強度は、コンテンツの個数で表されるものとする。さらに、ユーザ履歴内共起ワードテーブル作成部１０６は、後述のように、ユーザ履歴内共起元ワードとユーザ履歴内共起するユーザ履歴内共起先ワードを１つ以上選択し、ユーザ履歴内共起ワード及び選択されたユーザ履歴内共起先ワードを、特徴辞書の特徴ベクトルの各次元に対応する特徴語としてまとめて設定する。ユーザ履歴内共起ワードテーブル作成部１０６は、まとめて設定された特徴語を特徴辞書管理部１０９に出力する。
【００３６】
コンテンツ間共起ワード算出部１０７は、ユーザ履歴内共起ワードテーブル作成部１０６によって選択されなかったワード（すなわち、ユーザ履歴内共起の観点から特徴語として選択されなかったワードであり、典型的には、ユーザ履歴情報における出現数の少ないワード）を受け取るとともに、コンテンツ・ワード対応管理部１０３からコンテンツＩＤ・ワード対応表を受け取る。そして、コンテンツ間共起ワード算出部１０７は、ユーザ履歴内共起ワードテーブル作成部１０６から受け取ったワードをコンテンツ間共起元ワードとして、各コンテンツ間共起元ワードについて、コンテンツＩＤ・ワード対応表をもとに他のワードとのコンテンツ間共起強度を算出し、算出結果をコンテンツ間共起ワードテーブル作成部１０８に出力する。ここで、２つのワード間のコンテンツ間共起強度とは、２つのワードの両方をメタデータに含むコンテンツの数を指す。
【００３７】
コンテンツ間共起ワードテーブル作成部１０８は、コンテンツ間共起ワード算出部１０７から各ワードについてのコンテンツ間共起強度を受け取るとともに、コンテンツ・ワード対応管理部１０３からコンテンツＩＤ・ワード対応表を受け取る。そして、コンテンツ間共起強度及びコンテンツＩＤ・ワード対応表に基づいて、コンテンツ間共起強度をテーブルとして整理する。さらに、コンテンツ間共起ワードテーブル作成部１０８は、後述のように、コンテンツ間共起強度の強い順に、コンテンツ間共起元ワードとコンテンツ間共起するコンテンツ間共起先ワードを１つ以上選択し、コンテンツ間共起元ワード及び選択されたコンテンツ間共起先ワードを、特徴辞書の特徴ベクトルの各次元に対応する特徴語としてまとめて設定する。コンテンツ間共起ワードテーブル作成部１０８は、まとめて設定された特徴語を特徴辞書管理部１０９に出力する。
【００３８】
特徴辞書管理部１０９は、ユーザ履歴内共起ワードテーブル作成部１０６及びコンテンツ間共起ワードテーブル作成部１０８により特徴ベクトルの各次元に対応する特徴語として設定された特徴語で構成された特徴辞書を生成し、生成された特徴辞書を管理する。レコメンドサーバ１００は、特徴辞書管理部１０９により生成され管理された特徴辞書に基づいて、ユーザ端末１１〜１８に対してレコメンドコンテンツの情報を提供する。
【００３９】
図１７には、レコメンドサーバ１００のハードウェア構成例を示す。レコメンドサーバ１００には、物理的には、ＣＰＵ１００Ａ、主記憶装置であるＲＡＭ１００Ｂ及びＲＯＭ１００Ｃ、入力デバイスであるキーボード及びマウス等の入力装置１００Ｄ、ディスプレイ等の出力装置１００Ｅ、ネットワークカード等のデータ送受信デバイスである通信モジュール１００Ｆ、ハードディスク等の補助記憶装置１００Ｇなどを含むコンピュータシステムとして構成されている。図４を参照して説明した各部の機能は、図１５に示すＣＰＵ１００Ａ、ＲＡＭ１００Ｂ等のハードウェア上に所定のコンピュータソフトウェアを読み込ませて実行することにより、ＣＰＵ１００Ａの制御のもとで入力装置１００Ｄ、出力装置１００Ｅ、通信モジュール１００Ｆを動作させ、ＲＡＭ１００Ｂや補助記憶装置１００Ｇにおけるデータの読み出し及び書き込みを行うことで実現される。
【００４０】
［特徴辞書の生成］
次に、本実施形態に係るレコメンドサーバ１００により実行される特徴辞書生成方法について説明する。
【００４１】
図５は、特徴辞書生成方法において行われる処理の全体を示すフローチャートである。まず、形態素解析部１０１が、メタデータ管理部１０２に蓄積されたコンテンツのメタデータに対して、形態素解析によるワード抽出処理を行う（ステップＳ１）。この形態素解析によるワード抽出処理では、形態素解析部１０１は、メタデータ管理部１０２から受け取ったメタデータから、形態素解析によって特徴語候補を抽出する。そして、形態素解析部１０１は、形態素解析の対象としたメタデータに対応するコンテンツのコンテンツＩＤと、抽出された特徴語候補であるワードとを対応付ける、図８に示されるコンテンツＩＤ・ワード対応表を作成する。図８の例では、例えば、コンテンツＩＤ＝００１の行において、ワード「野球」の列に丸が付されている。これは、コンテンツＩＤ＝００１のコンテンツのメタデータにワード「野球」が含まれており、他のワードは含まれていないことを意味する。
【００４２】
次に、ユーザ履歴内共起ワード算出部１０５及びユーザ履歴内共起ワードテーブル作成部１０６が、ユーザ履歴内共起による特徴語選択処理を行う（ステップＳ２）。次に、コンテンツ間共起ワード算出部１０７及びコンテンツ間共起ワードテーブル作成部１０８が、コンテンツ間共起による特徴語選択処理を行う（ステップＳ３）。ステップＳ２及びＳ３については、以下で詳述する。
【００４３】
ステップＳ２のユーザ履歴内共起による特徴語選択処理について、図６を参照して説明する。まず、ユーザ履歴蓄積部１０４が、図９で示される視聴ログテーブルとして、ユーザ端末１１〜１８におけるユーザの視聴履歴を蓄積する（ステップＳ１１）。図９の例では、例えば、ユーザＩＤ＝Ａのユーザ（すなわちユーザ端末１１のユーザ）は、コンテンツＩＤ＝００１，００３，００４の３つのコンテンツを視聴している。
【００４４】
次に、ユーザ履歴内共起ワード算出部１０５及びユーザ履歴内共起ワードテーブル作成部１０６が、ユーザ履歴内共起ワードテーブルの作成を行う（ステップＳ１２：ユーザ履歴内共起強度算出ステップ）。この処理では、ユーザ履歴の観点から、ワードの互いの共起関係をまとめる処理が行われるとともに、ワード間のユーザ履歴内共起強度が算出される。
【００４５】
ステップＳ１２の処理について、具体例を挙げて説明する。ここでは、まず、コンテンツの共起関係に着目する。図９の視聴ログテーブルから、例えばコンテンツＩＤ＝００１のコンテンツは、ユーザＡの視聴履歴情報内に存在する。このユーザＡは、コンテンツＩＤ＝００３，００４のコンテンツも視聴している。したがって、コンテンツＩＤ＝００１，００３，００４のコンテンツは、ユーザ履歴の観点から共起関係にあることが分かる。言い換えれば、コンテンツＩＤ＝００１のコンテンツをユーザ履歴内共起元コンテンツとし、コンテンツＩＤ＝００１，００３，００４のコンテンツをユーザ履歴内共起先コンテンツとした場合に、これらのユーザ履歴内共起元コンテンツ及びユーザ履歴内共起先コンテンツは共起関係にあるといえる。同様にして、ユーザ履歴内共起元コンテンツとユーザ履歴内共起先コンテンツとの共起関係の有無を調べることにより、ユーザ履歴内共起ワード算出部１０５は、図１０に示されるユーザ履歴内共起コンテンツテーブルを作成する。
【００４６】
ここで、図８に示したコンテンツＩＤ・ワード対応表に記載されたワードのうち、「旅行」というワードに着目する。コンテンツＩＤ・ワード対応表から、「旅行」というワードは、コンテンツＩＤ＝００２，００５のコンテンツのメタデータに含まれる。図９の視聴ログテーブルを参照すると、コンテンツＩＤ＝００２，００５のコンテンツを視聴しているユーザは、ユーザＢ及びユーザＧの２名である。このうち、ユーザＢは、コンテンツＩＤ＝００２，００５のコンテンツを視聴した履歴を有する。図１０のユーザ履歴内共起コンテンツテーブルから、ユーザＢが視聴した２つのコンテンツのうち、コンテンツＩＤ＝００２のコンテンツと共起するコンテンツは、コンテンツＩＤ＝００５のコンテンツである。また、ユーザＢが視聴した２つのコンテンツのうち、コンテンツＩＤ＝００５のコンテンツと共起するコンテンツは、コンテンツＩＤ＝００２，００６，００７のコンテンツである。以上より、ユーザ履歴の観点から「旅行」というワードと共起するコンテンツは、コンテンツＩＤ＝００２，００５，００６，００７の４コンテンツとなる。
【００４７】
図８のコンテンツＩＤ・ワード対応表を参照すると、これらのコンテンツＩＤ＝００２，００５，００６，００７の４コンテンツのうち、コンテンツＩＤ＝００２のコンテンツのメタデータに含まれるワードは「温泉」、「旅行」、「海外」であり、コンテンツＩＤ＝００５のコンテンツのメタデータに含まれるワードは「旅行」、「海外」であり、コンテンツＩＤ＝００６のコンテンツのメタデータに含まれるワードは「海外」、「ニュース」であり、コンテンツＩＤ＝００７のコンテンツのメタデータに含まれるワードは「ミステリー」、「海外」である。これらをまとめると、ユーザ履歴の観点から、ユーザ履歴内共起元ワードである「旅行」と共起するユーザ履歴内共起先ワードは、「旅行」、「温泉」、「海外」、「ニュース」、「ミステリー」である。
【００４８】
次に、ユーザ履歴内共起ワード算出部１０５は、これらのユーザ履歴内共起元ワード及びユーザ履歴内共起先ワードの、ユーザ履歴内共起強度を調べる。ユーザ履歴内共起強度としては、例えば、メタデータにユーザ履歴内共起元ワードが含まれるコンテンツの視聴履歴を有するユーザが視聴したコンテンツのうち、メタデータにユーザ履歴内共起先ワードが含まれるコンテンツの個数が用いられる。先に挙げた具体例を用いて説明すると、ユーザ履歴内共起強度は、「旅行」というユーザ履歴内共起元ワードをメタデータに含むコンテンツとユーザ履歴の観点から共起するコンテンツＩＤ＝００２，００５，００６，００７のコンテンツのメタデータにおいて、ユーザ履歴内共起先ワード「旅行」、「温泉」、「海外」、「ニュース」、「ミステリー」というワードを含むコンテンツの個数である。
【００４９】
図８のコンテンツＩＤ・ワード対応表から、コンテンツＩＤ＝００２，００５，００６，００７のコンテンツのうち、ユーザ履歴内共起先ワード「旅行」がメタデータに含まれるのはコンテンツＩＤ＝００２，００５の２コンテンツであり、ユーザ履歴内共起先ワード「温泉」がメタデータに含まれるのはコンテンツＩＤ＝００２の１コンテンツであり、ユーザ履歴内共起先ワード「海外」がメタデータに含まれるのはコンテンツＩＤ＝００２，００５，００６，００７の４コンテンツであり、ユーザ履歴内共起先ワード「ニュース」がメタデータに含まれるのはコンテンツＩＤ＝００６の１コンテンツであり、ユーザ履歴内共起先ワード「ミステリー」がメタデータに含まれるのはコンテンツＩＤ＝００７の１コンテンツである。以上のようにして、ユーザ履歴内共起ワード算出部１０５は、ユーザ履歴内共起元ワード「旅行」とユーザ履歴内共起先ワード「旅行」、「温泉」、「海外」、「ニュース」、「ミステリー」とのユーザ履歴内共起強度をそれぞれ２，４，１，１，１と計算する。
【００５０】
ユーザ履歴内共起ワード算出部１０５は、上述したユーザ履歴内共起強度の計算を、他のワードをユーザ履歴内共起元ワードとして繰り返し、計算されたユーザ履歴内共起強度をユーザ履歴内共起ワードテーブル作成部１０６に出力する。ユーザ履歴内共起ワードテーブル作成部１０６は、ユーザ履歴内共起ワード算出部１０５から出力されたユーザ履歴内共起強度を、ユーザ履歴内共起元ワード及びユーザ履歴内共起先ワードと対応付けて、図１１に示されるユーザ履歴内共起ワードテーブルを作成する。
【００５１】
そして、ユーザ履歴内共起ワードテーブル作成部１０６は、作成されたユーザ履歴内共起ワードテーブルに基づき、図６に示される処理、すなわちワードを特徴ベクトルの同次元に対応する特徴語にまとめる処理を行う。
【００５２】
まず、ユーザ履歴内共起ワードテーブル作成部１０６は、図１１のユーザ履歴内共起ワードテーブルから、ユーザ履歴に出現しないワードを削除し（ステップＳ１３）、図１２に示されるようにユーザ履歴内共起ワードテーブルを変形する。ユーザ履歴に出現しないワードを削除する理由は、ユーザ履歴に出現しないワードは、ユーザの興味が低いワードであるため、特徴語としての重要度も低いと考えられるからである。図１１のユーザ履歴内共起ワードテーブルの例では、ユーザ履歴内に一度も出現しない特徴語として、「時事」、「釣り」、「フェリー」、「家庭」という４つのワードがある。そこで、ユーザ履歴内共起ワードテーブル作成部１０６は、図１１のユーザ履歴内共起ワードテーブルから、上記４つのワードに対応する行及び列を削除し、図１２に示される変形済みユーザ履歴内共起ワードテーブルを得る。
【００５３】
次に、ユーザ履歴内共起ワードテーブル作成部１０６は、共起元ワードをメタデータに含むコンテンツ数が最も少なくなるように、共起元ワードを選択する（ステップＳ１４）。このステップＳ１４の処理は、例えば、図１２の変形済みユーザ履歴内共起ワードテーブルを、共起元ワードをメタデータに含むコンテンツの数の順にソートすることにより、行うことができる。
【００５４】
具体例で説明すると、例えばワード「野球」は、図８のコンテンツＩＤ・ワード表から、コンテンツＩＤ＝００１，００３のコンテンツのメタデータに含まれているため、当該ワードをメタデータに含むコンテンツの数は２となる。同様に他のコンテンツ内共起元ワードについても、当該コンテンツ内共起元ワードをメタデータに含むコンテンツの数を計算し、コンテンツの数の小さい順にソートすると、図１３に示すソート済みユーザ履歴内共起ワードテーブルが得られる。
【００５５】
以下、ユーザ履歴内共起ワードテーブル作成部１０６は、図１３のソート済みユーザ履歴内共起ワードテーブルをもとに、コンテンツ数の小さいユーザ履歴内共起元ワードから順に特徴語のまとめ処理を行う。コンテンツ数の小さいユーザ履歴内共起元ワードから処理を行う理由は、特徴ベクトルの１つの次元あたりでカバーできるコンテンツの数、すなわち、当該次元に対応する特徴語をメタデータに含むコンテンツの数を増加させることが、レコメンデーション技術においては好ましいからである。
【００５６】
従って、本例では、コンテンツ数が最小である１のユーザ履歴内共起元ワードから順に処理することになる。図１３のソート済みユーザ履歴内共起ワードテーブルでは、ユーザ履歴内共起元ワードをメタデータに含むコンテンツ数が１のユーザ履歴内共起元ワードとして「感動」、「サッカー」、「温泉」があるが、ここでは、「感動」を選択する。
【００５７】
ここで、予め、特徴ベクトルの１次元あたりでカバーするコンテンツの数の最低値を閾値Ｎとして定めておく。本実施形態では、閾値Ｎを５とする。
【００５８】
次に、ユーザ履歴内共起ワードテーブル作成部１０６が、ユーザ履歴内共起元ワードと最もユーザ履歴内共起強度の高いワードを選択する（ステップＳ１５）。そして、ユーザ履歴内共起ワードテーブル作成部１０６が、ユーザ履歴内共起元ワード及びステップＳ１５で選択されたワードをメタデータに含むコンテンツ数が閾値Ｎ以上であるか否かを判定する（ステップＳ１６）。このコンテンツ数が閾値Ｎ以上であれば（ステップＳ１６：ＮＯ）、ユーザ履歴内共起ワードテーブル作成部１０６は、他にユーザ履歴内共起先ワードがあるか否かを判定する（ステップＳ１７）。他にユーザ履歴内共起先ワードがあれば（ステップＳ１７：ＹＥＳ）、ユーザ履歴内共起ワードテーブル作成部１０６は、まだ選択されていないユーザ履歴内共起先ワードのうち、最も共起強度の大きいユーザ履歴内共起先ワードを選択し（ステップＳ１８）、再びステップＳ１６に戻る。
【００５９】
ステップＳ１６において、ユーザ履歴内共起元ワード及びステップＳ１５で選択されたユーザ履歴内共起先ワードをメタデータに含むコンテンツ数が閾値Ｎ以上である場合（ステップＳ１６：ＹＥＳ）、又はステップＳ１７において、他にユーザ履歴内共起先ワードがない場合（ステップＳ１７：ＮＯ）は、ユーザ履歴内共起ワードテーブル作成部１０６が、ここまで選択された特徴語を特徴ベクトルの１次元にまとめ、まとめられたワードをユーザ履歴内共起ワードテーブルから削除する（ステップＳ１９）。そして、ユーザ履歴内共起ワードテーブル作成部１０６が、ユーザ履歴内共起ワードテーブルが空になったか否かを判定する（ステップＳ２０）。ユーザ履歴内共起ワードテーブルが空になっていれば（ステップＳ２０：ＹＥＳ）、ユーザ履歴内共起による特徴語選択処理を終了する。ユーザ履歴内共起ワードテーブルが空になっていなければ（ステップＳ２０：ＮＯ）、再びＳ１４に戻り、他の共起元ワードを選択する。なお、上述のステップＳ１４〜Ｓ２０が、本発明の特徴辞書生成方法におけるユーザ履歴内共起ワード設定ステップに対応する。
【００６０】
ステップＳ１４〜Ｓ２０について、具体例を挙げて説明する。前述の通り、各ユーザ履歴内共起元ワードをメタデータに含むコンテンツ数が１のユーザ履歴内共起元ワードとして「感動」が選択されている。図１３のソート済みユーザ履歴内共起ワードテーブルを参照すると、「感動」というワードと最もユーザ履歴内共起強度の高い共起先ワードは、ユーザ履歴内共起強度が２の「ミステリー」である。図８のコンテンツＩＤ・ワード対応表を参照すると、ワード「感動」及び「ミステリー」でカバーできるコンテンツ（すなわちメタデータに「感動」又は「ミステリー」を含むコンテンツ）は、コンテンツＩＤ＝００７，００８，００９，０１３の４つのコンテンツであることが分かる。しかしながら、このように「感動」と「ミステリー」を１次元にまとめただけでは、この１次元によりカバーできるコンテンツの個数が４であり、閾値５に満たない。そして、図１４を参照すると、他にユーザ履歴内共起元ワード「感動」と共起するユーザ履歴内共起先ワードとして、「ドラマ」、「海外」、「笑い」がある。ここで、図１４に示される通り、ユーザ履歴内共起先ワード「ドラマ」、「海外」、「笑い」のユーザ履歴内共起元ワード「感動」とのユーザ履歴内共起強度は、いずれも１である。したがって、どのユーザ履歴内共起先ワードを選択してもよいが、ここでは「ドラマ」を選択することとする。
【００６１】
図８に示されるコンテンツＩＤ・ワード対応表から、「ドラマ」は、コンテンツＩＤ＝００３，００８，０１３のコンテンツのメタデータに含まれる。このため、ユーザ履歴内共起元ワード「感動」及びこれまでに選択されたユーザ履歴内共起先ワード「ミステリー」に加え、新たに「ドラマ」を選択することにより、ここまで選択されたワード「感動」、「ミステリー」、「ドラマ」により、コンテンツＩＤ＝００３，００７，００８，００９，０１３の５個のコンテンツをカバーできることになる。したがって、カバーされるコンテンツの数が閾値「５」以上となる。このため、ユーザ履歴内共起ワードテーブル作成部１０６は、ユーザ履歴内共起元ワード「感動」とユーザ履歴内共起先ワード「ミステリー」及び「ドラマ」とを、特徴ベクトル上の同一次元の特徴語としてまとめることを決定する。そこで、ユーザ履歴内共起ワードテーブル作成部１０６は、これらの３つのワードの行及び列を図１３に示されるユーザ履歴内共起ワードテーブルから削除する。削除される行及び列は、図１４において、太枠で囲んで示されている。
【００６２】
この時点で、まだユーザ履歴内共起ワードテーブルが空にはなっていない。そこで、再度ステップＳ１４に戻り、処理を続行する。当該ワードをメタデータに含むコンテンツ数が最も少ない、ここでは１のユーザ履歴内共起元ワードとして、「サッカー」を選択する。次に、ステップＳ１５で、ワード「サッカー」と最もユーザ履歴内共起強度の高いワードを選択するが、この場合、図１４から、「サッカー」と共起するワードは「野球」のみである。そこで、「サッカー」及び「野球」を特徴語としてまとめる。これにより、図８から、ユーザ履歴内共起元ワード「サッカー」及びユーザ履歴内共起先ワード「野球」により、コンテンツＩＤ＝００１，００３，００４の３個のコンテンツをカバーできる。このコンテンツの数３は、閾値「５」に達していない。しかしながら、図１４から、削除されていないユーザ履歴内共起先ワードが他に存在しない。そこで、ここまで選択されたワード「サッカー」及び「野球」を、特徴ベクトル上の同一次元の特徴語としてまとめることを決定する。
【００６３】
このようにして各ワードについて処理を繰り返すと、最終的には、特徴ベクトルの各次元に対応する特徴語として、以下のようにワードがまとめられる。
｛感動、ドラマ、ミステリー｝
｛サッカー、野球｝
｛温泉、海外、旅行｝
｛アニメ、笑い｝
｛ニュース｝
【００６４】
そして、特徴辞書管理部１０９は、上記のようにコンテンツ間共起ワードテーブル作成部１０８によりまとめて設定された特徴語で構成された特徴語を生成する（特徴辞書生成ステップ）。
【００６５】
次に、図５のステップＳ３のコンテンツ間共起による特徴語選択処理について、図７を参照して説明する。この処理は、ユーザ履歴に出現しなかったワードを特徴語として選定する処理として行われる。
【００６６】
まず、コンテンツ間共起ワード算出部１０７及びコンテンツ間共起ワードテーブル作成部１０８が、コンテンツ間共起ワードテーブルを作成する（ステップＳ３１）。次に、コンテンツ間共起ワードテーブル作成部１０８が、各ワードをメタデータに含むコンテンツ数の最も少ないワードをコンテンツ間共起元ワードとして選択する（ステップＳ３２：コンテンツ間共起強度算出ステップ）。この処理では、複数のコンテンツ間の関係の観点から、ワードの互いの共起関係をまとめる処理が行われるとともに、ワード間のコンテンツ間共起強度が算出される。
【００６７】
次に、コンテンツ間共起ワードテーブル作成部１０８が、コンテンツ間共起元ワードと最もコンテンツ間共起強度の強いワードをコンテンツ間共起先ワードとして選択する（ステップＳ３３）。ここで、２つのワードの間のコンテンツ間共起強度としては、２つのワードの両方をメタデータに含むコンテンツの数を用いる。
【００６８】
次に、コンテンツ間共起ワードテーブル作成部１０８が、コンテンツ間共起元ワード及びステップＳ３３で選択されたワードをメタデータに含むコンテンツ数が閾値Ｎ以上であるか否かを判定する（ステップＳ３４）。このコンテンツ数が閾値Ｎ以上であれば（ステップＳ３４：ＮＯ）、コンテンツ間共起ワードテーブル作成部１０８は、他にコンテンツ間共起先ワードがあるか否かを判定する（ステップＳ３５）。他にコンテンツ間共起先ワードがあれば（ステップＳ３５：ＹＥＳ）、コンテンツ間共起ワードテーブル作成部１０８は、まだ選択されていないコンテンツ間共起先ワードのうち、最も共起強度の大きいコンテンツ間共起先ワードを選択し（ステップＳ３６）、再びステップＳ３４に戻る。
【００６９】
ステップＳ３４において、コンテンツ間共起元ワード及びステップＳ３３で選択されたコンテンツ間共起先ワードをメタデータに含むコンテンツ数が閾値Ｎ以上である場合（ステップＳ３４：ＹＥＳ）、又はステップＳ３５において、他にコンテンツ間共起先ワードがない場合（ステップＳ３５：ＮＯ）は、コンテンツ間共起ワードテーブル作成部１０８が、ここまで選択された特徴語を特徴ベクトルの１次元にまとめ、まとめられたワードをコンテンツ間共起ワードテーブルから削除する（ステップＳ３７）。そして、コンテンツ間共起ワードテーブル作成部１０８が、コンテンツ間共起ワードテーブルが空になったか否かを判定する（ステップＳ３８）。コンテンツ間共起ワードテーブルが空になっていれば（ステップＳ３８：ＹＥＳ）、コンテンツ間共起による特徴語選択処理を終了する。コンテンツ間共起ワードテーブルが空になっていなければ（ステップＳ３８：ＮＯ）、再びＳ３２に戻り、他の共起元ワードを選択する。なお、上述のステップＳ３４〜Ｓ３８が、本発明の特徴辞書生成方法におけるコンテンツ間共起ワード設定ステップに相当する。
【００７０】
この処理について、具体例を挙げて説明する。本例では、「時事」、「釣り」、「フェリー」、「家庭」というワードが対象となる。
【００７１】
コンテンツ間共起ワード算出部１０７は、次のようにコンテンツ間共起強度を算出する。図８のコンテンツＩＤ・ワード対応表から、ワード「フェリー」は、コンテンツＩＤ＝０１４，０１５の２つのコンテンツのメタデータに含まれる。そして、この２つのコンテンツのいずれのメタデータにも、ワード「家庭」が含まれている。したがって、ワード「フェリー」とワード「家庭」との間のコンテンツ間共起強度は２となる。
【００７２】
同様に、コンテンツ間共起ワード算出部１０７は、ワード「釣り」、「家庭」についてもコンテンツ間共起強度を算出する。そして、コンテンツ間共起ワード算出部１０７は、コンテンツ間共起ワードテーブル作成部１０８に、算出されたコンテンツ間共起強度を出力する。コンテンツ間共起ワードテーブル作成部１０８は、コンテンツ間共起ワード算出部１０７から受け取ったコンテンツ間共起強度に基づいて、図１６に示されるコンテンツ間共起テーブルを作成する。
【００７３】
図８のコンテンツＩＤ・ワード対応表からも分かるように、ワード「釣り」、「フェリー」、「家庭」のうち、当該ワードをメタデータに含むコンテンツの数が最も小さいワードは、「釣り」である。そこで、ワード「釣り」とまとめる特徴語を決定する処理を行う。ワード「釣り」は、「フェリー」、「家庭」を共起する。そして、ワード「釣り」、「フェリー」、「家庭」で、コンテンツＩＤ＝０１０，０１４，０１５の３つのコンテンツをカバーできる。本例では、他のコンテンツ間共起先ワードがないため、「釣り」、「フェリー」、「家庭」を特徴語としてまとめる。これにより、コンテンツ間共起による特徴語選択処理を終了する。
【００７４】
なお、ワード「時事」は、コンテンツＩＤ＝０１０のコンテンツのメタデータのみに含まれる。しかしながら、このコンテンツＩＤ＝０１０のコンテンツのメタデータには、「釣り」、「フェリー」、「家庭」の単語はいずれも含まれない。したがって、「時事」というワードは、コンテンツＩＤ＝０１０のコンテンツしか表現できないため、コンテンツの特徴を示すワードとしての重要度が低いと考えられる。したがって、「時事」は特徴語の候補から外す。
【００７５】
そして、特徴辞書管理部１０９は、以上のようにコンテンツ間共起ワードテーブル作成部１０８によりまとめて設定された特徴語｛釣り、フェリー、家庭｝を特徴辞書に追加する（特徴辞書生成ステップ）。
【００７６】
以上述べたユーザ履歴内共起による特徴語選択処理及びコンテンツ間共起による特徴語選択処理によれば、以下のように特徴ベクトルの各次元に特徴語をまとめた特徴辞書が得られる。
｛感動、ドラマ、ミステリー｝
｛サッカー、野球｝
｛温泉、海外、旅行｝
｛アニメ、笑い｝
｛ニュース｝
｛釣り、フェリー、家庭｝
【００７７】
以上説明した本実施形態によれば、ユーザ履歴内共起元ワードとユーザ履歴内共起するユーザ履歴内共起先ワードがユーザ履歴内共起強度の強い順に選択され、ユーザ履歴内共起元ワードとともに特徴ベクトルの各次元に対応する特徴語としてまとめて設定される。また、コンテンツ間共起元ワードとコンテンツ間共起するコンテンツ間共起先ワードがコンテンツ間共起強度の強い順に選択され、コンテンツ間共起元ワードとともに特徴ベクトルの各次元に対応する特徴語としてまとめて設定される。そして、このように設定された特徴語で構成された特徴辞書が生成される。これにより、関連の強い１つ以上の特徴語をまとめて特徴ベクトルの各次元に対応させた特徴辞書が生成されるため、特徴ベクトルの各次元に複数の特徴語を対応付ける特徴辞書を定義する場合に、特徴語を自動的に且つ適切に定義することができる。そして、このように特徴辞書を生成することにより、メタデータに所定のワードを含むコンテンツを視聴した対象ユーザに、当該所定のワードと関連の強い（すなわちユーザ履歴内共起又はコンテンツ間共起する）他のワードをメタデータに含む他のコンテンツをレコメンドすることができ、対象ユーザに対するレコメンドコンテンツのバリエーションが広がる。
【００７８】
なお、本実施形態において、コンテンツを表すデータとして、メタデータを対象としたが、コンテンツを表すデータは、メタデータには限定されない。例えば、コンテンツがテキストデータである場合には、コンテンツを表すデータは、当該コンテンツ自身、すなわちテキストデータの全文としてもよい。
【００７９】
また、本実施形態のうち、ユーザ履歴内共起による特徴語選択処理において、図１５に示されるように、図６に示した処理において、ステップＳ１７でＮＯと判定してからステップＳ１９に移行する前に、ユーザ履歴内共起元ワードと共起し、かつ、既にユーザ履歴内共起ワードテーブルから削除されたワードをメタデータに含む特徴語と、ユーザ履歴内共起元ワード及び選択されたユーザ履歴内共起先ワードとをまとめてもよい。例えば、本実施形態の説明で示した具体例では、「サッカー」及び「野球」をまとめたところで、ユーザ履歴内共起元ワード「サッカー」に対する処理を終了したが、そのような処理に代えて、次のように処理してもよい。ワード「サッカー」が、図１４の太枠で囲まれた（すなわち削除済みの）ワード「ドラマ」と共起している。そこで、前述の通りまとめられたワード「感動」、「ミステリー」、「ドラマ」の３つに加えて「サッカー」、「野球」の２つを加えて、合計５ワードを特徴ベクトルの同一次元に対応する特徴語としてまとめてもよい。このようにした場合には、図８のコンテンツＩＤ・ワード対応表から、コンテンツＩＤ＝００１，００３，００４，００７，００８，００９，０１３の７つのコンテンツを上記の５ワードによりカバーできる。
【００８０】
このようなステップＳ５１を加えた変形例の処理によれば、特徴ベクトルの１次元あたりでカバーできるコンテンツの数は増える。一方、ステップＳ５１を加えない処理によれば、ワードが１次元にまとめられずに２つの特徴ベクトルの次元に分かれる。したがって、多くの次元でコンテンツを表現することができる。そのため、細やかなレコメンドサービスを実現できる。
【００８１】
また、本実施形態のうち、コンテンツ間共起による特徴語選択処理の具体例において、「釣り」、「フェリー」、「家庭」の３つのワードを１つの次元にまとめた。しかしながら、カバーするコンテンツの閾値を「５」としていたため、この閾値「５」を下回る３つのコンテンツしかカバーできていない。そこで、「釣り」、「フェリー」、「家庭」は、いずれもコンテンツの特徴を表すワードとしての重要性が小さいと考え、これらをいずれも特徴語として採用しないこととしてもよい。
【００８２】
さらに、本実施形態のコンテンツサーバ１００において、コンテンツ間共起ワード算出部１０７及びコンテンツ間共起ワードテーブル１０８を省略してもよい。また、本実施形態の特徴辞書生成方法において、コンテンツ間共起による特徴語選択処理（ステップＳ３（図５参照））を省略してもよい。
【符号の説明】
【００８３】
１００…コンテンツサーバ、１０５…ユーザ履歴内共起ワード算出部（ユーザ履歴内共起強度算出手段）、１０６…ユーザ履歴内共起ワードテーブル作成部（ユーザ履歴内共起ワード設定手段）、１０７…コンテンツ間共起ワード算出部（コンテンツ間共起強度算出手段）、１０８…コンテンツ間共起ワードテーブル作成部（コンテンツ間共起ワード設定手段）、１０９…特徴辞書管理部（特徴辞書生成手段）。
【図１】
2014225091.tif 000003
【図２】
2014225091.tif 000004
【図３】
2014225091.tif 000005
【図４】
2014225091.tif 000006
【図５】
2014225091.tif 000007
【図６】
2014225091.tif 000008
【図７】
2014225091.tif 000009
【図８】
2014225091.tif 000010
【図９】
2014225091.tif 000011
【図１０】
2014225091.tif 000012
【図１１】
2014225091.tif 000013
【図１２】
2014225091.tif 000014
【図１３】
2014225091.tif 000015
【図１４】
2014225091.tif 000016
【図１５】
2014225091.tif 000017
【図１６】
2014225091.tif 000018
【図１７】
2014225091.tif 000019