(57)【特許請求の範囲】
【請求項１】
検索に用いる語句である検索語のリストを示す一次クエリデータを取得する取得部と、
同一の話題が異なる表記により記述され得る複数のコーパスデータから検索語候補の語句を抽出する検索語候補抽出部と、
前記検索語候補の語句の中から、前記一次クエリデータに含まれるいずれかの前記検索語との類似度が所定条件よりも高く、かつ、前記所定条件よりも高い前記類似度を得た前記検索語とは異なる前記検索語のいずれかと前記コーパスデータにおいて共起する検索語候補の語句を選択して前記検索語に追加するクエリ拡張部と、
前記一次クエリデータに含まれる前記検索語と、前記クエリ拡張部が追加した前記検索語とを用いてコンテンツを検索する検索部と、
を備えることを特徴とするコンテンツ推薦装置。
【請求項２】
前記検索語候補抽出部は、所定期間内の前記コーパスデータから前記検索語候補の語句を抽出する、
ことを特徴とする請求項１に記載のコンテンツ推薦装置。
【請求項３】
前記取得部は、ユーザが視聴したコンテンツに関するテキスト情報から抽出した語句からなる一次クエリデータを取得する、
ことを特徴とする請求項１または請求項２に記載のコンテンツ推薦装置。
【請求項４】
前記取得部は、ユーザが再生したコンテンツの部分に関するテキスト情報から抽出した語句からなる一次クエリデータを取得する、
ことを特徴とする請求項１から請求項３のいずれか１項に記載のコンテンツ推薦装置。
【請求項５】
前記検索語候補抽出部は、前記コーパスデータのタグまたは本文から前記検索語候補の語句を抽出する、
ことを特徴とする請求項１から請求項４のいずれか１項に記載のコンテンツ推薦装置。
【請求項６】
コンピュータを、
検索に用いる語句である検索語のリストを示す一次クエリデータを取得する取得手段と、
同一の話題が異なる表記により記述され得る複数のコーパスデータから検索語候補の語句を抽出する検索語候補抽出手段と、
前記検索語候補の語句の中から、前記一次クエリデータに含まれるいずれかの前記検索語との類似度が所定条件よりも高く、かつ、前記所定条件よりも高い前記類似度を得た前記検索語とは異なる前記検索語のいずれかと前記コーパスデータにおいて共起する検索語候補の語句を選択して前記検索語に追加するクエリ拡張手段と、
前記一次クエリデータに含まれる前記検索語と、前記クエリ拡張手段が追加した前記検索語とを用いてコンテンツを検索する検索手段と、
を具備するコンテンツ推薦装置として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンテンツ推薦装置、及びプログラムに関する。
【背景技術】
【０００２】
テレビ番組などのコンテンツを視聴するためのコンテンツ処理装置には、コンテンツ推薦機能を備えたものが存在する（例えば、特許文献１、特許文献２参照）。このコンテンツ推薦機能によって、ユーザは自分の視聴したいコンテンツを簡便に見つけられるという利点がある。コンテンツ推薦機能は、何らかの手段によって構築したコンテンツ再生環境において、個々のユーザの視聴履歴を解析して処理することにより実現される。
【０００３】
例えば、特許文献２のコンテンツ処理装置は、個々のユーザのコンテンツ再生開始時間及びコンテンツ再生終了時間と、視聴したコンテンツを特定するコンテンツＩＤとからなる視聴ログ情報を蓄積する。コンテンツ処理装置は、蓄積した視聴ログ情報の集合の中から、システム設計者があらかじめプログラミングしたヒューリスティックなルールを用いて、個々のユーザの嗜好を反映した視聴ログ情報を機械的に抽出する。コンテンツ処理装置は、抽出した視聴ログ情報に対応する言語情報から、個々の視聴行動の要因となった話題を表す語句（クエリ）を何らかの手段によって取り出す。視聴ログ情報に対応する言語情報は、ユーザが視聴したコンテンツの字幕テキスト、または、視聴したコンテンツに付随する電子番組表（EPG：Electronic Program Guide）から得られる番組概要文などのメタデータである。
【０００４】
一方、ツイッターなどの不特定多数のユーザによるソーシャルメディア上での膨大な発言記録を解析するソーシャルデータ・マイニングという技術がある（例えば、非特許文献１参照）。ソーシャルデータ・マイニングでは、世間一般の人々の日々の関心事や、社会生活における多種多様な話題を、具体的な言語表現をともなう形で抽出することが可能である。また、ソーシャルデータにおける発言の対象がどのコンテンツに対して発せられたものであるかを自動的に判定する技術がある（例えば、非特許文献２参照）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００５-３４８２５３号公報
【特許文献２】特開２０１２-０６５１１９号公報
【非特許文献】
【０００６】
【非特許文献１】M. A. Russell，「入門ソーシャルデータ  データマイニング、分析、可視化のテクニック」,オライリー・ジャパン，２０１１年
【非特許文献２】平野真理子、神戸喬輔、小早川健，「ツイート対象番組の自動検出−網羅的・継続的な検出のために―」，２０１３年映像情報メディア学会冬季大会講演予稿集，一般社団法人映像情報メディア学会，２０１３年，３−７
【発明の概要】
【発明が解決しようとする課題】
【０００７】
コンテンツ検索の条件として用いる語句の集合であるクエリの設定においては、表記の多様性を考慮する必要がある。これは、ある特定の話題を表すクエリは唯一の表記をとるとは限らないためである。例えば、「サッカー」と「フットボール」は多くの文脈において同一の球技種目を指し示す。同じ話題を表す異なる表記のうち、いずれか一方の表記のみをクエリとして設定した場合には、他方の表記によって記述されたコンテンツを検索することは原理的には困難である。そこで、コンテンツの検索を行う装置において、表層的な表記（記述）は異なるものの、指し示す内容がユーザの意図するコンテンツの内容と合致していると想定される語句をクエリに用いることもある。しかし、装置が想定した語句が、ユーザの意図するコンテンツの内容と異なっていれば、その想定した語句をクエリに用いても、ユーザの意図に該当するコンテンツを正しく特定することは原理的に困難である。結果、ユーザに提示すべきコンテンツの一部あるは大部分が推薦リストから欠落する危険性が生じる。
【０００８】
上述したように、コンテンツ推薦に用いるクエリは、表記の多様性を考慮した上で設定されなければならない。しかし、クエリの表記の多様性を、いかにしてクエリの設定の手順に組み込むかという技術的課題に対して、特許文献１、２は何ら具体的な解決方法を示していない。
【０００９】
一方、非特許文献１の技術によれば、ソーシャルデータ・マイニングによって、世間一般の人々の日々の関心事や、社会生活における多種多様な話題を、具体的な言語表現をともなう形で抽出することが可能である。このように抽出された言語的表現は、コンテンツの検索を行う際のクエリに追加すべき検索語の候補となる。また、非特許文献２の技術では、発言の対象がどのコンテンツに対して発せられたものであるかを自動的に判定している。コンテンツ・サービスを対象としたコンテンツ推薦において、このような技術を、多様性を考慮したクエリ拡張を実現するために利用することが期待される。しかしながら、非特許文献１に記載されたソーシャルデータ・マイニングの技術、及び、非特許文献２に記載されたツイートの対象コンテンツの自動判定の技術は、クエリとなる任意の語句と意味的に関連がある他の語句を特定する具体的手段を定めていない。
【００１０】
本発明は、このような事情を考慮してなされたもので、元となる検索語に、その検索語と意味的な関連が深い他の表記の語句を加えてコンテンツを検索することができるコンテンツ推薦装置、及びプログラムを提供する。
【課題を解決するための手段】
【００１１】
本発明の一態様は、検索に用いる語句である検索語のリストを示す一次クエリデータを取得する取得部と、同一の話題が異なる表記により記述され得る複数のコーパスデータから検索語候補の語句を抽出する検索語候補抽出部と、前記検索語候補の語句の中から、前記一次クエリデータに含まれるいずれかの前記検索語との類似度が所定条件よりも高く、かつ、前記所定条件よりも高い前記類似度を得た前記検索語とは異なる前記検索語のいずれかと前記コーパスデータにおいて共起する検索語候補の語句を選択して前記検索語に追加するクエリ拡張部と、前記一次クエリデータに含まれる前記検索語と、前記クエリ拡張部が追加した前記検索語とを用いてコンテンツを検索する検索部と、を備えることを特徴とするコンテンツ推薦装置である。
この発明によれば、コンテンツ推薦装置は、同一の話題が異なる表記により記述され得る複数のコーパスデータから検索語候補となる語句を取得する。コンテンツ推薦装置は、検索語候補の語句の中から、元の検索語との類似度が所定条件よりも高く、かつ、類似度が所定条件よりも高いと判断したときに用いた元の検索語とは異なる元の検索語とコーパスデータにおいて共起する語句を、検索語に追加する。コンテンツ推薦装置は、元の検索語と追加した検索語とを用いてコンテンツを検索する。
これにより、コンテンツ推薦装置は、元となる検索語に、その検索語と意味的な関連が深い他の表記の語句を加えてコンテンツを検索し、推薦することができる。
【００１２】
本発明の一態様は、上述したコンテンツ推薦装置であって、前記検索語候補抽出部は、所定期間内の前記コーパスデータから前記検索語候補の語句を抽出する、ことを特徴とする。
この発明によれば、コンテンツ推薦装置は、所定期間のコーパスデータから抽出した検索語候補の語句の中から検索語として追加する語句を選択する。
これにより、コンテンツ推薦装置は、元となる検索語に、その検索語と意味的な関連が深く、時事性を反映した他の表記の語句を加えてコンテンツを検索し、推薦することができる。
【００１３】
本発明の一態様は、上述したコンテンツ推薦装置であって、前記取得部は、ユーザが視聴したコンテンツに関するテキスト情報から抽出した語句からなる一次クエリデータを取得する、ことを特徴とする。
この発明によれば、コンテンツ推薦装置は、ユーザが視聴したコンテンツの履歴に基づいて、ユーザの嗜好を表す元の検索語を取得する。
これにより、コンテンツ推薦装置は、ユーザが視聴したコンテンツの履歴から、ユーザの嗜好に合った他のコンテンツを検索し、提示することができる。
【００１４】
本発明の一態様は、上述したコンテンツ推薦装置であって、前記取得部は、ユーザが再生したコンテンツの部分に関するテキスト情報から抽出した語句からなる一次クエリデータを取得する、ことを特徴とする。
この発明によれば、コンテンツ推薦装置は、ユーザが再生したコンテンツの部分の内容を表すテキスト情報から検索語を取得する。
これにより、コンテンツ推薦装置は、ユーザの嗜好をよく表した検索語を取得することができるため、ユーザの求める内容により則したコンテンツを推薦することができる。
【００１５】
本発明の一態様は、上述したコンテンツ推薦装置であって、前記検索語候補抽出部は、前記コーパスデータのタグまたは本文から前記検索語候補の語句を抽出する、ことを特徴とする。
この発明によれば、コンテンツ推薦装置は、コーパスデータのタグまたは本文から検索語候補となる語句を抽出する。
これにより、コンテンツ推薦装置は、コーパスデータに含まれるタグを利用することにより、処理の負荷を抑えつつ、コーパスデータの本文の内容を良く表した語句を検索語候補として抽出することができる。また、コンテンツ推薦装置は、タグが利用できない場合でも、コーパスデータの本文の内容から検索語候補の語句を抽出することができる。
【００１６】
本発明の一態様は、コンピュータを、検索に用いる語句である検索語のリストを示す一次クエリデータを取得する取得手段と、同一の話題が異なる表記により記述され得る複数のコーパスデータから検索語候補の語句を抽出する検索語候補抽出手段と、前記検索語候補の語句の中から、前記一次クエリデータに含まれるいずれかの前記検索語との類似度が所定条件よりも高く、かつ、前記所定条件よりも高い前記類似度を得た前記検索語とは異なる前記検索語のいずれかと前記コーパスデータにおいて共起する検索語候補の語句を選択して前記検索語に追加するクエリ拡張手段と、前記一次クエリデータに含まれる前記検索語と、前記クエリ拡張手段が追加した前記検索語とを用いてコンテンツを検索する検索手段と、を具備するコンテンツ推薦装置として機能させるためのプログラムである。
【発明の効果】
【００１７】
本発明によれば、元となる検索語に、その検索語と意味的な関連が深い他の表記の語句を加えてコンテンツを検索することができる。
【図面の簡単な説明】
【００１８】
【図１】本発明の一実施形態によるコンテンツ推薦システムの構成を示す機能ブロック図である。
【図２】同実施形態のコンテンツ推薦装置によるコンテンツ推薦処理の処理フローを示す図である。
【図３】同実施形態の視聴履歴解析部による一次クエリ生成処理の処理フローを示す図である。
【図４】同実施形態のクエリ拡張部による二次クエリ選定処理の処理フローを示す図である。
【図５】同実施形態の推薦リスト生成部による推薦コンテンツ選択処理の処理フローを示す図である。
【図６】同実施形態の視聴履歴記録部が出力するユーザ視聴履歴情報の例を示す図である。
【図７】同実施形態の未視聴コンテンツ情報記録部が出力する未視聴コンテンツ情報の例を示す図である。
【図８】同実施形態の視聴履歴解析部が出力する一次クエリデータの例を示す図である。
【図９】同実施形態のソーシャルデータ記録部が保存するソーシャルデータの例を示す図である。
【図１０】同実施形態のソーシャルデータ解析部が出力する二次クエリ候補リストデータの例を示す図である。
【図１１】同実施形態のクエリ拡張部が生成する拡張クエリデータの例を示す図である。
【図１２】同実施形態の拡張クエリと未視聴コンテンツ情報との関係を示す図である。
【図１３】同実施形態の推薦リスト生成部が出力する推薦コンテンツリストデータの例を示す図である。
【図１４】同実施形態の推薦コンテンツ提示部がコンテンツ表示装置に表示させる推薦コンテンツ提示画面の例を示す図である。
【発明を実施するための形態】
【００１９】
以下、図面を参照しながら本発明の実施形態を詳細に説明する。
本実施形態のコンテンツ推薦装置は、ユーザの嗜好をキーワードなどの言語的手段によって記述した検索語の集合を一次クエリとし、一次クエリと内容が関連する他の表記の語句の集合である二次クエリを新たに一次クエリに追加して拡張クエリを生成する。二次クエリは、元の検索語と意味的な関連が深い語句の集合である。すなわち、二次クエリは、ユーザの嗜好を間接的に表現した補助的な検索語の集合である。本実施形態のコンテンツ推薦装置は、生成した拡張クエリを用いて、ユーザに推薦するコンテンツ（以下、「推薦コンテンツ」とも記載する。）を検索する。
このように、本実施形態のコンテンツ推薦装置は、ユーザの嗜好を表す元の検索語と、元の検索語に意味的な関連が深い他の検索語とを併用してユーザに推薦すべきコンテンツを検索する。従って、本実施形態のコンテンツ推薦装置は、ユーザの潜在的な嗜好や話題の関連性を考慮した高度なコンテンツ推薦を可能にする。
【００２０】
また、ユーザの嗜好を構成する個々の概念（すなわち、話題）は、しばしば時事の出来事やその他の社会的情勢に影響され、日々変化すると考えられる。従って、クエリの設定においては、コンテンツ推薦を行う時期に応じた話題の時事性を十分に考慮する必要がある。例えば、芸能の話題や、事件・事故のニュースなど、ユーザの興味がごく短期間に限定した一過性の話題にあるときには、ユーザの長期的な嗜好に加えて、ユーザが新たに興味を示す可能性の高い、時事の話題を反映した検索語をクエリに反映させる必要がある。そこで、本実施形態のコンテンツ推薦装置は、推薦コンテンツの検索に用いる上述の拡張クエリを、表記の多様性に加え、時事性をさらに考慮して設定する。これにより、本実施形態のコンテンツ推薦装置は、ユーザの潜在的な嗜好に加え、日々新たに出現する時事の話題をも反映した、ユーザの求める内容により則したコンテンツ推薦を実現することができる。よって、本実施形態のコンテンツ推薦装置は、例えば、スポーツ中継などの専門性が高いコンテンツや、ニュース番組ならびにドキュメンタリー番組などの時事性が高いコンテンツを多く扱う放送サービスなどに好適である。
【００２１】
図１は、本発明の一実施形態によるコンテンツ推薦システムの構成を示す機能ブロック図であり、本実施形態と関係する機能ブロックのみを抽出して示してある。同図に示すように、コンテンツ推薦システムは、コンテンツ推薦装置１とコンテンツ表示装置３とを備えて構成される。コンテンツ推薦装置１とコンテンツ表示装置３とは、ＩＰ（Internet Protocol）ネットワークなどのネットワーク９を介して接続される。また、ネットワーク９には、ソーシャルメディアサービス提供装置５が接続される。同図においては、コンテンツ表示装置３及びソーシャルメディアサービス提供装置５をそれぞれ１台のみ示しているが、複数台ずつが存在し得る。
【００２２】
コンテンツ推薦装置１は、例えば、１台以上のコンピュータ装置により実現される。コンテンツ推薦装置１は、視聴履歴記録部１１と、未視聴コンテンツ情報記録部１２と、視聴履歴解析部１３（取得部）と、ソーシャルデータ記録部１４と、ソーシャルデータ解析部１５（検索語候補抽出部）と、クエリ拡張部１６と、推薦リスト生成部１７（検索部）と、推薦コンテンツ提示部１８と、記憶部１９とを備えて構成される。例えば、コンテンツ推薦装置１がネットワークにより接続される複数台のコンピュータ装置により実現される場合、いずれのコンピュータ装置がいずれの機能部を実現するかについては任意とすることができる。
【００２３】
視聴履歴記録部１１は、ユーザ視聴履歴情報を取得し、記録する。ユーザ視聴履歴情報は、コンテンツ推薦装置１が処理対象としているコンテンツ・サービスにおいて、ユーザが視聴したコンテンツの履歴を示す。ユーザ視聴履歴情報は、ユーザが視聴したコンテンツの識別情報と、そのコンテンツに関するテキスト情報とを含む。コンテンツは、テレビ番組、動画、静止画、ウェブページ、文書、テキスト、電子書籍など任意のコンテンツデータとすることができる。例えば、視聴履歴記録部１１は、記録するユーザ視聴履歴情報を、コンテンツ表示装置３から受信したコンテンツ視聴情報に基づいて取得する。
【００２４】
未視聴コンテンツ情報記録部１２は、未視聴コンテンツ情報を取得し、記録する。未視聴コンテンツ情報は、コンテンツ・サービスにおいてユーザに提供可能なコンテンツのうち、ユーザが未視聴のコンテンツに関するテキスト情報を含む。ユーザが未視聴のコンテンツを、「未視聴コンテンツ」とも記載する。未視聴コンテンツは、テレビ番組、動画、静止画、ウェブページ、文書、テキスト、電子書籍など任意のコンテンツデータとすることができる。
【００２５】
視聴履歴解析部１３は、視聴履歴記録部１１に記録されているユーザ視聴履歴情報を解析し、一次的な検索語となる語句の集合を示す一次クエリデータを生成する。一次クエリデータが示す語句集合の要素となる語句（検索語）を、「一次クエリの語句」と記載する。
【００２６】
ソーシャルデータ記録部１４は、不特定多数の投稿者がソーシャルメディア上に投稿したソーシャルデータをソーシャルメディアサービス提供装置５から取得して記録する。ソーシャルメディアの一例は、ツイッター（Twitter）である。ソーシャルデータは、例えばインターネットによりアクセス可能なソーシャルメディア上で公開されているデータであり、投稿者の発言内容を示すテキスト情報と、発言内容を公開（投稿）した日時の情報とを含む。不特定多数の投稿者の発言内容を示すソーシャルデータでは、同一の話題が異なる表記の語句により記述され得る。
【００２７】
ソーシャルデータ解析部１５は、ソーシャルデータ記録部１４に記録されているソーシャルデータを解析し、二次クエリ候補の語句の集合を示す二次クエリ候補リストデータを生成する。二次クエリ候補とは、二次クエリの要素とすべき語句の候補である。二次クエリは、一次クエリの語句と意味的な関連が深く、一次クエリに追加する検索語となる語句の集合である。つまり、二次クエリ候補の語句は、検索語候補の語句である。
【００２８】
クエリ拡張部１６は、一次クエリデータに含まれる一次クエリの語句と、二次クエリ候補リストデータに含まれる二次クエリ候補の語句とを比較して、二次クエリ候補の語句の中から一次クエリの語句と意味的な関係が深い語句を、二次クエリの語句として抽出する。クエリ拡張部１６は、抽出した二次クエリの語句を一次クエリの語句に追加した検索語の集合である拡張クエリデータを生成する。
【００２９】
推薦リスト生成部１７は、未視聴コンテンツ情報が示す未視聴コンテンツに関するテキスト情報と、拡張クエリデータとを用いてマッチングスコアを算出する。推薦リスト生成部１７は、算出したマッチングスコアに応じて各々の未視聴コンテンツに順位を付け、未視聴コンテンツの中から順位に基づいて推薦コンテンツを選択する。推薦リスト生成部１７は、選択した推薦コンテンツを特定する情報を列挙した推薦コンテンツリストデータを生成する。
【００３０】
推薦コンテンツ提示部１８は、推薦コンテンツリストデータが示す各々の推薦コンテンツに関する情報を提示する。つまり、推薦コンテンツ提示部１８は、推薦コンテンツに関する情報を設定した推薦コンテンツ提示情報を、ユーザのコンテンツ表示装置３に送信して表示させる。
【００３１】
記憶部１９は、各コンテンツに関するテキスト情報を記憶する。また、記憶部１９は、コンテンツ・サービスにおいて各ユーザに提供可能なコンテンツの情報を記憶する。
【００３２】
コンテンツ表示装置３は、例えば、ユーザのパーソナルコンピュータ、スマートフォン、タブレット端末、テレビジョン受信機などである。コンテンツ表示装置３は、操作部３１、取得部３２、出力部３３、通知部３４、及び受信部３５を備えて構成される。操作部３１は、ユーザによる操作を受ける。操作部３１は、例えば、キーやボタン、マウス、タッチパネルに配されたタッチセンサ、リモートコントローラによる操作を受信する装置である。取得部３２は、ユーザが利用可能なコンテンツ・サービスにおいて提供されるコンテンツの中から、操作部３１が受けたユーザの操作により選択されたコンテンツを取得する。出力部３３は、ディスプレイやスピーカーであり、取得部３２が取得したコンテンツを出力する。通知部３４は、ユーザが視聴したコンテンツを示すコンテンツ視聴情報をコンテンツ推薦装置１に通知する。受信部３５は、コンテンツ推薦装置１から推薦コンテンツ提示情報を受信し、出力部３３に表示させる。
【００３３】
続いて、コンテンツ推薦装置１の動作を説明する。以下では、コンテンツがテレビ番組である場合を例に説明する。
視聴履歴記録部１１は、各々のユーザが過去に視聴したコンテンツの履歴を示すユーザ視聴履歴情報を、ユーザの識別情報であるユーザＩＤと対応付けて記録している。具体的には、視聴履歴記録部１１は、コンテンツ表示装置３の通知部３４からユーザが視聴したコンテンツの情報と、ユーザを特定する情報とを設定したコンテンツ視聴情報を受信する。ユーザが視聴したコンテンツは、コンテンツ表示装置３の操作部３１が受けたユーザの操作に基づいて取得部３２が取得し、出力部３３により出力したコンテンツである。視聴履歴記録部１１は、受信したコンテンツ視聴情報に基づいて、ユーザが視聴したコンテンツのコンテンツＩＤと、そのコンテンツの内容を記述したテキスト情報とを含むユーザ視聴履歴情報を、ユーザＩＤと対応付けて記録する。テキスト情報は、例えば、番組概要文などである。記憶部１９は、コンテンツ推薦装置１が受信した放送波から取得した番組概要文を記憶しており、視聴履歴記録部１１は、番組概要文を記憶部１９から読み出す。
【００３４】
上記のように、視聴履歴記録部１１は、ユーザ視聴履歴情報によって、ユーザが視聴したコンテンツの内容を示すテキスト情報を、コンテンツ単位で記録することを基本とする。なお、視聴履歴記録部１１は、特許文献２に記載のように、ユーザがコンテンツを視聴したときの細かな操作履歴を詳細に記録した情報をさらにユーザ視聴履歴情報に設定してもよい。この場合、コンテンツ表示装置３の通知部３４は、ユーザがコンテンツを視聴したときの操作履歴をさらにコンテンツ推薦装置１に通知する。操作履歴は、例えば、コンテンツの再生開始点及び再生終了点などである。
【００３５】
一方、ソーシャルデータ記録部１４は、ネットワーク９を介してソーシャルメディアサービス提供装置５にアクセスする。ソーシャルメディアサービス提供装置５は、不特定多数の投稿者が投稿したソーシャルデータを公開している。ソーシャルデータは、投稿者の発言内容を示すテキスト情報と、そのテキスト情報の投稿日時を示すタイムスタンプとを含む。ソーシャルデータ記録部１４は、不特定多数の投稿者が投稿したソーシャルデータをアクセス先のソーシャルメディアサービス提供装置５から取得し、記録する。
【００３６】
なお、ソーシャルデータ記録部１４は、取得可能な全てのソーシャルデータを取得することを基本とする。つまり、ソーシャルデータ記録部１４は、アクセス可能なソーシャルメディア上の全ての発言記録のデータを収集する。ただし、解析対象のコンテンツを限定したコンテンツ推薦や、時事性をより重視したコンテンツ推薦を実現する用途の場合、ソーシャルデータ記録部１４は、収集対象のソーシャルデータを分類し、選別する処理をさらに行ってよい。収集対象のソーシャルデータの分類や選別には、ソーシャルデータの発言対象を自動判定する既存の技術や、発言の日時を特定可能な補助的手段を利用することができる。ソーシャルデータの発言対象を自動判定する技術としては、非特許文献２の技術が利用可能である。また、発言の日時を特定可能な形態でソーシャルデータを網羅的に取得する技術としては、「橋本翔、“tw  twitter client on Ruby”、［online］、インターネット＜URL:http://shokai.github.io/tw/＞」などが利用可能である。これにより、ソーシャルデータ記録部１４は、タイムスタンプが所定期間内の投稿日時を示すソーシャルデータを収集する。例えば、最近の話題を反映した場合、ソーシャルデータ記録部１４は、例えば、現在から数日、数週間、数か月、あるいは、数年前までの期間のソーシャルデータを収集し、過去の話題を反映したい場合、指定された過去の期間のソーシャルデータを収集する。
【００３７】
図２は、コンテンツ推薦装置１によるコンテンツ推薦処理の処理フローを示す図である。上記の処理により、コンテンツ推薦処理の開始前に、視聴履歴記録部１１には、各々のユーザが視聴したコンテンツのコンテンツＩＤと、そのコンテンツの内容を記述したテキスト情報を含んだユーザ視聴履歴情報が記録されている。コンテンツ推薦装置１は、各ユーザについて、図２に示すコンテンツ推薦処理を実行する。
【００３８】
視聴履歴記録部１１は、コンテンツを推薦するユーザのユーザＩＤが付与されているユーザ視聴履歴情報を未視聴コンテンツ情報記録部１２及び視聴履歴解析部１３に出力する（ステップＳ１１０）。
【００３９】
未視聴コンテンツ情報記録部１２は、視聴履歴記録部１１から受信したユーザ視聴履歴情報に基づいて、コンテンツを推薦するユーザの未視聴コンテンツを検索する。具体的には、未視聴コンテンツ情報記録部１２は、記憶部１９に記憶されている各ユーザに提供可能なコンテンツの情報を参照し、ユーザ視聴履歴情報にコンテンツＩＤが設定されておらず、かつ、ユーザが利用可能なコンテンツを検索し、未視聴コンテンツとする。未視聴コンテンツ情報記録部１２は、未視聴コンテンツの内容を記述したテキスト情報を記憶部１９から読み出す。テキスト情報は、例えば、番組概要文などであり、コンテンツ推薦装置１が放送波から取得して記憶部１９に蓄積しておく。未視聴コンテンツ情報記録部１２は、未視聴コンテンツのテキスト情報のリストである未視聴コンテンツ情報を生成する（ステップＳ１１０）。
【００４０】
上記により、未視聴コンテンツ情報記録部１２は、コンテンツ推薦装置１が処理対象として想定したコンテンツ・サービスにおいてユーザが計算機可読な状態で入手可能な全てのコンテンツの中から、ユーザがまだ視聴していないコンテンツを検索する。入手可能なコンテンツは、例えば、一週間先までの放送予定番組などでもよく、ユーザが契約しているコンテンツ・サービスにおいて現在配信可能なコンテンツなどとしてもよい。なお、ユーザの視聴傾向に明らかな偏りがあることが予めわかっている場合、未視聴コンテンツ情報記録部１２は、ジャンルなどのコンテンツの属性により、未視聴コンテンツとして選択する対象を限定する処理を行ってもよい。
【００４１】
視聴履歴解析部１３は、視聴履歴記録部１１からユーザ視聴履歴情報を受信する。視聴履歴解析部１３は、受信したユーザ視聴履歴情報に記述されている各々の視聴済みコンテンツの内容に関するテキスト情報を解析して、一次的な検索語の集合を示す一次クエリデータを生成する（ステップＳ１１５）。
具体的には、視聴履歴解析部１３は、ユーザ視聴履歴情報に記述されている番組概要文などのテキスト情報を、公知の形態素解析技術を用いて単語単位に分割する。視聴履歴解析部１３は、分割されたそれらの単語の中から、形態素解析の結果として各単語に付与された品詞などの情報に基づいて、検索語となる語句（単語）を選定する。例えば、視聴履歴解析部１３は、固有名詞（例えば、人名）などの意味的に重要な語句（単語）を検索語として選択する。視聴履歴解析部１３は、選択した語句をリストの形式で記述して一次クエリデータとする。
【００４２】
なお、ユーザ視聴履歴情報に操作履歴が設定されている場合、視聴履歴解析部１３は、特許文献２に記載のように、ユーザが視聴したコンテンツの再生区間に対応するテキスト情報を形態素解析の対象に限定してもよい。コンテンツの再生区間は、ユーザ視聴履歴情報に設定されている操作履歴が示すコンテンツの再生開始点及び再生終了点により示される。コンテンツの再生区間に対応するテキスト情報は、例えば、その再生区間におけるコンテンツの字幕のデータである。コンテンツ推薦装置１は、放送波から取得した各コンテンツの字幕の情報を記憶部１９は蓄積しておき、視聴履歴解析部１３は、再生区間におけるコンテンツの字幕のデータを記憶部１９から読み出す。
【００４３】
ソーシャルデータ記録部１４は、記録したソーシャルデータをソーシャルデータ解析部１５に出力する（ステップＳ１２０）。時事性を考慮する場合、ソーシャルデータ記録部１４は、所定の期間のソーシャルデータをソーシャルデータ解析部１５に出力する。また、ソーシャルデータ記録部１４は、所定の発言対象のソーシャルデータをソーシャルデータ解析部１５に出力してもよい。また、ソーシャルデータ記録部１４は、事前にソーシャルデータを収集せず、ステップＳ１１５の処理の後にソーシャルデータを収集し、ソーシャルデータ解析部１５に出力してもよい。この場合、ソーシャルデータ記録部１４は、ステップＳ１１５の処理において得られた一次クエリデータを利用してソーシャルデータを取得し、記録してもよい。
【００４４】
ソーシャルデータ解析部１５は、ソーシャルデータ記録部１４から受信したソーシャルデータを解析し、一次クエリデータに追加する検索語の候補となる二次クエリ候補の語句を抽出する。ソーシャルデータ解析部１５は、抽出した二次クエリ候補の語句を設定した二次クエリ候補リストデータを生成する（ステップＳ１２５）。
【００４５】
ソーシャルデータ解析部１５は、ソーシャルメディアの一つであるツイッターにおけるハッシュタグのように、ソーシャルデータ本体に付与されたラベルが利用可能である場合には、それらラベルの文字列（語句）をそのまま二次クエリ候補の語句として用いることを基本とする。また、ソーシャルデータ解析部１５は、ソーシャルデータの本体を視聴履歴解析部１３と同様の処理により解析し、固有名詞などの重要な語句をそのソーシャルデータの本体から直接抽出する処理を行ってもよい。ソーシャルデータの本体とは、ソーシャルデータにおいて投稿者の発言内容を文字列で記述した本文のデータである。
【００４６】
ソーシャルデータ解析部１５は、取得した二次クエリ候補の各々の語句が、その語句が得られた元のソーシャルデータにおいて二次クエリ候補の他の語句と共起する場合、二次クエリ候補リストデータに、二次クエリ候補の語句に付加して補足情報を記録する。二次クエリ候補の語句の補足情報には、その二次クエリ候補の語句が得られた元のソーシャルデータにおいて共起する二次クエリ候補の他の語句全てが設定される。この補足情報は、次のステップＳ１３０の二次クエリ選定処理において利用される。
【００４７】
クエリ拡張部１６は、上記により一次クエリデータと二次クエリ候補リストデータの両者が生成された後、二次クエリ候補リストデータに設定されている語句の中から、一次クエリの複数の語句に内容的に何らかの関係が存在する語句を抽出する。さらに、クエリ拡張部１６はそれら抽出した二次クエリ候補の語句の中から選択した語句を一次クエリデータに追加し、拡張クエリデータとする（ステップＳ１３０）。
【００４８】
そこでまず、クエリ拡張部１６は、二次クエリ候補リストデータに設定されている二次クエリ候補の各語句と一次クエリデータに設定されている一次クエリの各語句との類似度を何らかの手段により計算する。クエリ拡張部１６は、二次クエリ候補の語句のうち、一次クエリの語句との類似度が所定の閾値を超えた語句に限り、二次クエリとして採用する処理を基本とする。
【００４９】
なお、二次クエリ候補の語句にソーシャルデータにおいて共起した二次クエリ候補の他の語句を記述した補足情報を付加した場合、その補足情報に一次クエリの語句のみを残すようにしてもよい。そして、クエリ拡張部１６は、二次クエリ候補の語句と一次クエリの語句の対のうち、その二次クエリ候補の語句の補足情報に対の一方となっている一次クエリの語句以外の語句が設定されていない対については、類似度計算の対象から除外してもよい。この処理を施すことにより、クエリ拡張部１６は、少なくとも一次クエリのいずれかの語句と意味的な関係が深く、かつ、少なくともひとつの他の一次クエリの語句との間に何らかの意味的なつながりがあることが保証された語句を抽出することが可能となる。すなわち、単一の一次クエリの語句としか意味的なつながりを持たない語句は二次クエリの候補から除外され、複数の一次クエリの語句と意味的なつながりをもった語句のみが二次クエリの語句として抽出される。
【００５０】
語句間の類似度を定量的に計算する技術としては、多階層神経回路網による意味的距離を反映した単語のベクトル表現の技術（例えば、参考文献１参照）がある。また、単語の文書における出現傾向にもとづく特異値の大きさを特徴量の重み付けに用いた単語のクラスタリングの技術（例えば、参考文献２）も利用可能である。しかし、一次クエリデータから取得した任意の語句と、二次クエリ候補リストデータから選んだ任意の語句との対についての意味的な類似度を数値化できる技術であれば、どのような計算方法でもよく、他の技術を用いてもよい。
【００５１】
（参考文献１）西尾泰和，「word2vecによる自然言語処理」，オライリー・ジャパン，２０１４年５月
【００５２】
（参考文献２）平野真理子、神戸喬輔、小早川健，「大規模データの俯瞰とターゲットデータの抽出に対する文書―単語行列の特異値分解と特異値による重み付けの有効性」，言語処理学会，自然言語処理学会論文誌，２０１３年，Ｖｏｌ.２０，ｎｏ．３，ｐ．３３５−３６５
【００５３】
クエリ拡張部１６は、一次クエリの各語句と二次クエリ候補の各語句との論理的に可能な全ての対について、上述したように語句間の類似度を計算し、類似度が所定の閾値以上であるという条件を満たす二次クエリ候補の語句を二次クエリ(検索語）の語句として選択することを基本とする。このとき、クエリ拡張部１６は、選択した二次クエリの各々の語句（検索語）に、類似度の計算結果の値に基づいて別途算出したスコアを付与してもよい。スコアは、例えば、同一の語句同士の類似度が１となるように、類似度を正規化した値を用いることができる。また、スコアとして類似度自体を用いてもよい。このスコアは、次のステップＳ１３５の推薦コンテンツ選択処理において利用される。
【００５４】
推薦リスト生成部１７は、未視聴コンテンツ情報記録部１２から未視聴コンテンツ情報を読み出す。推薦リスト生成部１７は、未視聴コンテンツ情報に記述された未視聴コンテンツのリストの中から、ユーザに提示すべき推薦コンテンツを、拡張クエリデータを用いて選定する。推薦リスト生成部１７は、選定した推薦コンテンツを、拡張クエリデータとマッチする順にリストの形式でまとめる。そこで、推薦リスト生成部１７は、未視聴コンテンツ情報に設定されている各未視聴コンテンツのテキスト情報と、拡張クエリデータに設定されている一次クエリと二次クエリの各語句（拡張クエリデータの各要素）とのペアについてマッチングスコアを算出する。推薦リスト生成部１７は、算出したマッチングスコアに応じて各々の未視聴コンテンツに順位を付け、順位が上位Ｎ個（Ｎは１以上の整数）の未視聴コンテンツのコンテンツＩＤを列挙したリストを示す推薦コンテンツリストデータを生成する（ステップＳ１３５）。
【００５５】
マッチングスコアは、検索語が未視聴コンテンツの内容を記述したテキスト情報に出現した回数などとすることができる。推薦リスト生成部１７は、原則として、一次クエリと二次クエリのそれぞれについてのマッチングスコアを同等に扱う方法を基本とする。具体的には、一次クエリの語句（検索語）および二次クエリの語句（検索語）のそれぞれについて独立にマッチングスコアを計算し、それらのマッチングスコアを同等の重みで扱った和（単純和）をとる。なお、推薦リスト生成部１７は、後者の二次クエリに対するマッチングスコアに何らかの方法により決定した重みを乗じた上で、前者の一次クエリに対するマッチングスコアに加算する重み付けの処理を別途、追加して行ってもよい。
【００５６】
また、二次クエリのマッチングスコアに重みを乗ずる方法の場合、使用する重みは、ヒューリスティックに定めた経験値に固定する方法の他に、一次クエリと二次クエリとの間の類似度を用いる方法が考えられる。後者のクエリ間の類似度を利用する具体的な方法としては、例えば、二次クエリの各語句に付加されているスコアの平均値を重み（０から１の間の数値を持つ重み）とする。二次クエリの各語句に付加されているスコアは、上述したように、一次クエリの語句との類似度に基づいてクエリ拡張部１６が算出したスコアである。推薦コンテンツ提示部１８は、二次クエリの各語句のマッチングスコアを合計し、合計したマッチングスコアに類似度に基づくスコアの平均値を乗算した後、一次クエリに対するマッチングスコアと加算する。
【００５７】
最後に、推薦コンテンツ提示部１８は、推薦コンテンツリストデータに記載された推薦コンテンツの内容をユーザに提示する。つまり、推薦コンテンツ提示情報は、推薦コンテンツリストデータに記述された各々の推薦コンテンツに関する情報を記憶部１９から読み出し、読み出した情報を設定した推薦コンテンツ提示情報を生成する(ステップＳ１４０）。推薦コンテンツ提示部１８は、生成した推薦コンテンツ提示情報をユーザのコンテンツ表示装置に送信する(ステップＳ１４５）。コンテンツ表示装置３の受信部３５は、受信した推薦コンテンツ提示情報を出力部３３に出力させる。
【００５８】
推薦コンテンツ提示情報は、推薦コンテンツリストデータに記述された各推薦コンテンツを特定するためのテキスト情報である。例えば、推薦コンテンツが放送番組である場合、推薦コンテンツ提示情報には、放送番組の放送日、放送開始時刻、番組名などを記述する。また、推薦コンテンツにユーザが直接アクセスするための情報や、推薦コンテンツの映像の一部を切り出したサンプル映像を、記憶部１９あるいはネットワークを介して接続されるコンピュータサーバから取得できる場合には、推薦コンテンツ提示部１８は、それらの情報を補助的情報としてコンテンツ提示情報に設定してもよい。推薦コンテンツにユーザが直接アクセスするための情報には、例えば、インターネット配信コンテンツのリンク情報を利用することができる。また、サンプル映像には、サムネイル画像、ハイライト映像、予告動画などを利用することができる。
【００５９】
推薦コンテンツ提示情報の表示形態は、コンピュータ装置の画面に一覧表示が可能な、テキストベースの静的な表示形式を基本とする。なお、推薦コンテンツのサンプル映像が利用可能である場合には、それら補助的情報（動画像）を画面上の所定の領域に、推薦コンテンツリストデータに記載された順に提示（動作再生）するなど、視覚的な工夫を別途実装してもよい。
【００６０】
なお、図２の処理において、コンテンツ推薦装置１は、ステップＳ１１０の処理、ステップＳ１１５の処理、ならびに、ステップＳ１２０からステップＳ１２５までの処理のうち任意の処理を並行して実行してもよい。
【００６１】
図３は、視聴履歴解析部１３による一次クエリ生成処理の処理フローを示す図であり、図２のステップＳ１１５における一次クエリ生成処理の詳細を示す。
視聴履歴解析部１３は、視聴履歴記録部１１からユーザ視聴履歴情報を受信する(ステップＳ２０５）。基本の方法では、視聴履歴解析部１３は、ユーザ視聴履歴情報から視聴済みコンテンツの内容を表す番組概要などのテキスト情報を取り出す(ステップＳ２１０）。別の方法としては、視聴履歴解析部１３は、特許文献２に記載された方法のように、ユーザ視聴履歴情報に設定されている視聴コンテンツの再生区間に対応する字幕テキストなどのテキスト情報を記憶部１９から取得する。
【００６２】
視聴履歴解析部１３は、ステップＳ２１０において取り出したテキスト情報に対応した文字列に対して形態素解析の処理を施して、品詞情報が付与された語句（形態素）の列に分解する(ステップＳ２１５）。形態素解析の対象となるテキスト情報は、すなわち、視聴コンテンツ全体あるいは視聴コンテンツの再生区間に対応した文字列である。形態素解析の具体的な手段としては、オープンソースの形態素解析ソフトウェアであるMeCabなどの公知の技術が利用可能である。
【００６３】
次に、視聴履歴解析部１３は、ステップＳ２１５の形態素解析により得られた品詞情報付きの語句の列から、視聴コンテンツ全体、あるいは、視聴コンテンツの再生区間にかかる話題を特定可能な語句を選定する(ステップＳ２２０）。例えば、視聴履歴解析部１３は、品詞情報に基づいて、人名や組織名、地域名、商品名などの語句のように、指し示す対象物が限定的な名詞（固有名詞）を選定する。最後に、視聴履歴解析部１３は、選定した語句をリスト形式にまとめて一次クエリデータとして出力する。
【００６４】
図４は、クエリ拡張部１６による二次クエリ選定処理の処理フローを示す図であり、図２のステップＳ１３０における二次クエリ選定処理の詳細を示す。ここでは、二次クエリ候補の語句の中から補足情報を利用して二次クエリの語句を選定する処理の例を示す。
まず、クエリ拡張部１６は、視聴履歴解析部１３から一次クエリデータを受信し、ソーシャルデータ解析部１５から二次クエリ候補リストデータを受信する(ステップＳ３０５）。次に、クエリ拡張部１６は、二次クエリ候補リストデータに記述されたそれぞれの語句について、当該語句が一次クエリデータに記述されている語句であるか否かを判断する。クエリ拡張部１６は、二次クエリ候補リストデータに記述されている二次クエリ候補の語句の中から、一次クエリデータに記述されているいずれかの語句と一致する語句を除外する(ステップＳ３１０）。
【００６５】
次に、クエリ拡張部１６は、ステップＳ３０５において一次クエリの語句を除いた二次クエリ候補の語句それぞれについて、補足情報に含まれる語句が、一次クエリデータに記述されている語句であるか否かを判断する。二次クエリ候補の語句に付加されている補足情報は、その二次クエリ候補の語句とソーシャルデータにおいて共起する他の語句を示す。クエリ拡張部１６は、補足情報が示す語句の中から、一次クエリデータに記述されている語句のいずれとも一致しない語句を除外する(ステップＳ３１５）。これにより、二次クエリ候補の語句の共起の相手の語句から、一次クエリデータに出現しない語句が除外される。
【００６６】
クエリ拡張部１６は、ステップＳ３１５の処理によって二次クエリ候補の補足情報から一次クエリの語句以外の語句を除いた後、二次クエリ候補リストデータに含まれる各語句と、一次クエリデータに含まれる各語句とのそれぞれを、何らかの手段により単語間の意味的距離を反映したベクトル表現に変換する。クエリ拡張部１６は、二次クエリ候補の語句と一次クエリの語句との可能なすべての組み合わせそれぞれについて、何らかの手段により語句間の意味的な類似度を計算する(ステップＳ３２０）。類似度を定量的に評価する具体的な方法は、例えば、上述した参考文献１や参考文献２など、任意の既存の方法を使用することができるが、この限りではない。
【００６７】
二次クエリ候補の語句を語句Ａ、語句Ａとの類似度を算出する対象の一次クエリの語句を語句Ｃとする。クエリ拡張部１６は、いずれか１以上の一次クエリの語句Ｃとの類似度が所定の閾値を超えた二次クエリ候補の全ての語句Ａについて、類似度が所定の閾値を超えた相手の語句Ｃを二次クエリ候補リストデータに上書きして保存する。なお、閾値の設定方法は経験的な値に固定する方法が考えられるが、この限りではない。
【００６８】
次に、クエリ拡張部１６は、二次クエリ候補リストデータから、二次クエリ候補の語句Ａと、その語句Ａと類似度が所定の閾値を超える一次クエリの語句Ｃと、語句Ａが共起する一次クエリの語句Ｂとを読み出す（ステップＳ３２５）。語句Ａが共起する一次クエリの語句Ｂは、語句Ａの補足情報から読み出される。
クエリ拡張部１６は、二次クエリ候補の語句Ａのそれぞれについて、語句Ａが共起する一次クエリの語句Ｂと、語句Ａとの類似度が所定の閾値を超える一次クエリの語句Ｃとが同一であるか否かを判断する。クエリ拡張部１６は、語句Ｂと語句Ｃとが同一である二次クエリ候補の語句Ａについては、二次クエリの語句として選択せず、二次クエリ候補リストデータからその語句Ａに付加されている補足情報及び語句Ｃと共に除外する。クエリ拡張部１６は、語句Ｂと語句Ｃとが異なる二次クエリ候補の語句Ａについては、二次クエリ候補リストデータにそのまま残す（ステップＳ３３０）。
【００６９】
最後に、クエリ拡張部１６は、二次クエリ候補リストデータに残った語句Ａを二次クエリとして採用する。すなわち、クエリ拡張部１６は、類似度が所定の閾値を超える相手の語句が一次クエリデータに存在し、かつ、その相手の語句が共起相手の一次クエリの語句とは異なる二次クエリ候補の語句を、二次クエリの語句として採用する。クエリ拡張部１６は、一次クエリの語句のリストを含む一次クエリデータと、採用した二次クエリの語句のリストとを連結したリストを拡張クエリデータとして出力する（ステップＳ３３５）。
拡張クエリデータには、後述する図１１の拡張クエリデータの具体例に示すように、先の類似度計算で得られた値（二次クエリの語句と一次クエリの語句との間の類似度）を各々の語句に併記してもよいが、これは必須の処理ではない。
【００７０】
図５は、推薦リスト生成部１７による推薦コンテンツ選択処理の処理フローを示す図であり、図３のステップＳ１３５における推薦コンテンツ選択処理の詳細を示す。ここでは、二次クエリのマッチングスコアに重み付け処理を行う場合について示す。
まず、推薦リスト生成部１７は、未視聴コンテンツ情報記録部１２から未視聴コンテンツ情報を受信し、クエリ拡張部１６から拡張クエリデータを受信する（ステップＳ４０５）。推薦リスト生成部１７は、拡張クエリデータの部分集合である一次クエリデータを取得する。推薦リスト生成部１７は、未視聴コンテンツ情報のリストに記述されている各コンテンツについて、そのコンテンツのテキスト情報と一次クエリデータに属する一次クエリの語句とのマッチングスコアを計算し、一次スコアとする（ステップＳ４１０）。一次スコアを計算する具体的な処理としては、例えば、表記レベルで一次クエリの語句と一致する語句の出現頻度を単純に足し上げ、その出現頻度の合計値をそのまま利用する方法が考えられるが、その限りではない。
【００７１】
次に、推薦リスト生成部１７は、拡張クエリデータの残りの部分集合である二次クエリの語句のリストを取得する。推薦リスト生成部１７は、未視聴コンテンツ情報のリストに記述されている各コンテンツについて、そのコンテンツのテキスト情報と二次クエリの語句とのマッチングスコアを計算し、二次スコアとする（ステップＳ４１５）。二次スコアを計算する具体的な処理としては、先に示した一次スコアの計算方法と同様に、表記レベルで二次クエリの語句と一致する語句の出現頻度の累計値をそのまま用いる方法が考えられるが、その限りではない。
【００７２】
次に、推薦リスト生成部１７は、各コンテンツについて算出した一次スコアと二次スコアそれぞれに所定の重みを乗じた後に、それらの和を計算し、その値を当該コンテンツのマッチングスコアとする（ステップＳ４２０）。推薦リスト生成部１７は、各々の未視聴コンテンツについてのマッチングスコアをすべて計算した後に、マッチングスコアの値に基づいてコンテンツを何らかの手段により並べ替える。未視聴コンテンツのリストの並べ替えの具体的な手段としては、たとえば公知の技術であるUNIX（登録商標）コマンドのsortが利用可能であるが、この限りではない。推薦リスト生成部１７は、並べ替えたマッチングスコアの上位Ｎ個の未視聴コンテンツのコンテンツＩＤを推薦コンテンツリストデータに格納し出力する（ステップＳ４２５）。
【００７３】
続いて、具体的なデータ例を用いてコンテンツ推薦装置１の動作例を説明する。
図６は、視聴履歴記録部１１が出力するユーザ視聴履歴情報の具体例を示す図である。ユーザ視聴履歴情報には、ユーザが視聴したコンテンツを特定する情報と、コンテンツの内容を示すテキスト情報とが、コンテンツごとに記述される。解析対象のコンテンツが放送番組である場合、同図に示すように、ユーザ視聴履歴情報には、ユーザが視聴した番組の放送チャンネル名、放送日時、番組名、及び番組概要文が、リスト形式で記述される。なお、これら放送番組に関する各種情報は、SKNET社のMonsterTVなどの商用ソフトウェアを用いることによって、放送波から計算機可読な状態で取得可能である。
【００７４】
図７は、未視聴コンテンツ情報記録部１２が出力する未視聴コンテンツ情報の具体例を示す図である。未視聴コンテンツ情報は、ユーザ視聴履歴情報に含まれず、かつ、ユーザが現在および将来において利用可能なコンテンツに関する情報を、ユーザ視聴履歴情報に準ずる形態で記載したものである。解析対象のコンテンツが放送番組である場合、未視聴コンテンツ情報には、コンテンツ推薦処理の開始から一週間先までの放送予定番組それぞれの番組ＩＤ、放送チャンネル名、放送日時、番組名、及び番組概要文が、リスト形式で記述される。なお、これら放送予定番組に関する各種情報は、上述したSKNET社のMonsterTVなどの商用ソフトウェアを用いることによって、放送波から計算機可読な状態で取得可能である。
【００７５】
図８は、視聴履歴解析部１３が出力する一次クエリデータの具体例を示す図である。一次クエリデータには、ステップＳ１１５において、視聴履歴解析部１３が、ユーザ視聴履歴情報から抽出した語句である検索語がリスト形式で記載される。同図に示す一次クエリデータは、視聴履歴解析部１３が図６に示すユーザ視聴履歴情報から抽出した３つの語句「建築」、「スコットランド」、「政治」からなる検索語の集合を示す。
【００７６】
図９は、ソーシャルデータ記録部１４が保存するソーシャルデータの具体例を示す図である。同図に示すソーシャルデータは、ソーシャルデータ記録部１４が、ツイッターのツイートログ検索画面に、図８に示す一次クエリデータに含まれる一次クエリの語句「建築」、「スコットランド」、「政治」をそれぞれ検索語として入力して得たツイート内容を示す。各々のエントリにおける括弧内の文字列は、ツイートの発言者と発言日時を表す。また、その括弧に続く文字列は、各々のツイートの発言内容を示す。エントリの最後の「＃」記号ではじまる文字列は、ツイートの内容を分類するためのラベル（ハッシュタグ）である。
【００７７】
図１０は、ソーシャルデータ解析部１５が出力する二次クエリ候補リストデータの具体例を示す図である。同図に示す二次クエリ候補リストデータは、ステップＳ１２５においてソーシャルデータ解析部１５が図９に示したソーシャルデータからハッシュタグを利用して抽出した二次クエリ候補の語句のリストを示す。二次クエリ候補の語句「建築」、「スコットランド」、「グラスゴー」、「狭小」、「ミニマル」、「住民投票」、「政治」、「軍歌」のそれぞれの後ろには、その語句がソーシャルデータで共起した他の語句を示す補足情報が括弧書きで記述されている。
【００７８】
クエリ拡張部１６は、図４のステップＳ３１０の処理において、図１０に示す二次クエリ候補リストデータに記述されたそれぞれの語句について、当該語句が一次クエリデータに記述されている語句であるか否かを判断する。クエリ拡張部１６は、二次クエリ候補リストデータに記述されている語句の中から、一次クエリデータに含まれる一次クエリの語句「建築」、「スコットランド」、「政治」を除外する。これにより、二次クエリ候補リストデータには、「グラスゴー（建築，スコットランド）」、「狭小（建築，ミニマル）」、「ミニマル（建築，狭小）」、「ウィスキー（スコットランド）」、「住民投票（スコットランド）」、「軍歌（政治）」が残る。
【００７９】
さらに、クエリ拡張部１６は、ステップＳ３１５の処理において、二次クエリ候補リストデータに設定されている補足情報から一次クエリデータに出現しない語句を除外する。このとき、補足情報に一次クエリデータに出現する語句が含まれない二次クエリ候補の語句も二次クエリ候補リストデータから除外する。これにより、二次クエリ候補リストデータには、「グラスゴー（建築，スコットランド）」、「狭小（建築）」、「ミニマル（建築）」、「ウィスキー（スコットランド）」、「住民投票（スコットランド）」、「軍歌（政治）」が残る。
【００８０】
クエリ拡張部１６は、二次クエリ候補リストデータに残った二次クエリ候補の語句「グラスゴー」、「狭小」、「ミニマル」、「ウィスキー」、「住民投票」、「軍歌」のそれぞれと、一次クエリの語句「建築」、「スコットランド」、「政治」のそれぞれとの類似度を算出する。そして、ステップＳ３２０において、クエリ拡張部１６は、一次クエリの語句「スコットランド」との類似度が所定以上の二次クエリの語句「グラスゴー」と、一次クエリの語句「政治」との類似度が所定以上の二次クエリの語句「住民投票」を選択する。クエリ拡張部１６は、二次クエリ候補リストデータに、二次クエリ候補の語句「グラスゴー」に対応付けて類似度が所定以上の相手の一次クエリの語句「スコットランド」を書き込む。さらに、クエリ拡張部１６は、二次クエリ候補の語句「住民投票」に対応付けて類似度が所定以上の相手の一次クエリの語句「政治」を書き込む。クエリ拡張部１６は、二次クエリ候補リストデータから、一次クエリの語句との類似度が所定より低い二次クエリの語句「狭小」、「ミニマル」、「ウィスキー」、「軍歌」と、それらの語句の補足情報を削除する。
【００８１】
ステップＳ３２５〜ステップＳ３３０において、クエリ拡張部１６は、以下の処理を行う。すなわち、クエリ拡張部１６は、二次クエリ候補リストデータから二次クエリ候補の語句「グラスゴー」と、その語句の補足情報（建築，スコットランド）と、類似度が所定以上の相手の一次クエリの語句「スコットランド」を読み出す。クエリ拡張部１６は、補足情報に、類似度が所定以上の相手の一次クエリの語句「スコットランド」以外の一次クエリの語句「建築」が設定されているため、二次クエリ候補の語句「グラスゴー」を二次クエリの語句として選択する。クエリ拡張部１６は、二次クエリ候補の語句「グラスゴー」を二次クエリ候補リストデータにそのまま残す。
また、クエリ拡張部１６は、二次クエリ候補リストデータから二次クエリ候補の語句「住民投票」と、その語句の補足情報（スコットランド）と、類似度が所定以上の相手の一次クエリの語句「政治」を読み出す。クエリ拡張部１６は、補足情報に、類似度が所定以上の相手の一次クエリの語句「政治」以外の一次クエリの語句「スコットランド」が設定されているため、二次クエリ候補の語句「住民投票」を二次クエリの語句として選択する。クエリ拡張部１６は、二次クエリ候補の語句「住民投票」を二次クエリ候補リストデータにそのまま残す。
【００８２】
図１１は、クエリ拡張部１６が生成する拡張クエリデータの具体例を示す図である。
同図に示す拡張クエリデータに設定されている語句のリストのうち前半の語句「建築」、「スコットランド」、「政治」は、一次クエリデータから引き継がれた語句である。拡張クエリデータに設定されている語句のリストのうち後半の語句「グラスゴー」及び「住民投票」は、ステップＳ３３５において二次クエリ候補の語句の中からクエリ拡張部１６が二次クエリとして採択した語句である。
【００８３】
同図においてそれぞれの語句と併記されている数値は、クエリ拡張部１６が計算したその語句と一次クエリの各語句との類似度のうち最も高い類似度を示す。なお、同じ語句同士の類似度は１．００である。従って、一次クエリデータから引き継がれた語句は、自語句との類似度が最も高いため、１．００となる。
【００８４】
図１２は、拡張クエリの語句と未視聴コンテンツ情報との関係を説明するための図である。同図において円Ｒ１〜Ｒ３の中に記述されている語句はそれぞれ、一次クエリの語句「建築」、「スコットランド」、「政治」である。また、円Ｒ４〜Ｒ５の中に記述されている語句はそれぞれ、二次クエリ候補の語句であり、二次クエリに選択された語句「グラスゴー」、「住民投票」である。円Ｒ４〜Ｒ９の中に記述されている語句はそれぞれ、二次クエリ候補であるが二次クエリには選択されなかった語句「狭小」、「ミニマル」、「ウィスキー」、「軍歌」である。各円の中心位置は、円の中に記述された語句を、ある手段によりその語句の意味的な類似度を反映したベクトル空間に射影した場合の位置を表す。すなわち、同図において近い位置に配置された円の語句同士は、意味的な類似度が大きいことを表す。
【００８５】
各々の円に付けられた矢印は、各々の円の中に記述された語句がソーシャルデータにおいて共起する関係を表す。そして、矢印の元の語句は、その語句が一次クエリデータに存在することを表し、矢印の先の語句は、その語句が二次クエリ候補であることを表す。例えば、二次クエリ候補（二次クエリ）の語句「グラスゴー」は、一次クエリの語句「建築」ならびに「スコットランド」とソーシャルデータにおいて共起の関係にあることを表す。また、二次クエリ候補の語句「狭小」は、一次クエリの語句「建築」とソーシャルデータにおいて共起の関係にあることを表す。
【００８６】
テキスト情報Ｔ１は、一次クエリの語句「スコットランド」及び「建築」と、二次クエリの語句「グラスゴー」にヒットした未視聴コンテンツ情報を示す。また、テキスト情報Ｔ２は、一次クエリの語句「スコットランド」及び二次クエリの語句「住民投票」にヒットした未視聴コンテンツ情報を示す。すなわち、これらは、二次クエリを用いることによって推薦リストの上位にシフトされるコンテンツの具体例である。
【００８７】
コンテンツ推薦装置１は、一次クエリの語句と二次クエリ候補の語句間の共起の関係（矢印）、ならびに、語句間の類似度数（円同士の位置の近さ）の両方の情報を用いて、二次クエリ候補の語句の中からどの語句を二次クエリとして採用するかを決定する。そして、コンテンツ推薦装置１は、採用した二次クエリの語句を一次クエリと併用して未視聴コンテンツのテキスト情報とのマッチングスコアを計算する。これにより、コンテンツ推薦装置１は、ユーザの潜在的な嗜好、ならびに、世間一般の時事の話題をより反映したコンテンツを推薦コンテンツリストの上位に位置づけることができる。
【００８８】
以下、二次クエリの語句の取捨選択の基準について、具体例をあげながら詳しく説明する。上述したように、二次クエリ候補の語句のうち、円Ｒ４、Ｒ５の語句「グラスゴー」、「住民投票」は二次クエリとして採択された語句であり、円Ｒ６〜Ｒ１０の語句「狭小」、「ミニマル」、「ウィスキー」、「軍歌」は二次クエリとして棄却された語句である。二次クエリ候補の語句Ａを二次クエリの語句として採択するか棄却するかの判断基準は、以下の２点である。
【００８９】
（１）二次クエリ候補の語句Ａが、いずれかの一次クエリの語句Ｃと類似度が高いこと。
（２）語句Ａと共起関係にある一次クエリの語句Ｂが、（１）の一次クエリの語句Ｃと異なること。
【００９０】
コンテンツ推薦装置１は、（１）及び（２）の二つの判断基準を満たす二次クエリ候補の語句Ａを二次クエリの語句として採択し、いずれか一方の条件、あるいは、両方の条件を満たさない語句Ａを二次クエリから棄却する。上記の２つの判断基準をともに満たす語句Ａは、ユーザの興味を反映した一次クエリの語句Ｃとの類似度が高く、かつ、語句Ｃとは異なる一次クエリの語句Ｂと、ソーシャルデータ上のある文脈において何らかの関係があることと同義である。つまり、語句Ａが採択されるためには、ソーシャルデータ上での語句Ｂとの共起関係に基づいてユーザの潜在的な興味の対象を指し示すと類推された語句であり、かつ、ユーザの明示的な興味の対象を指し示す語句Ｃと意味が近いことが条件となっている。上記の２つの判断基準を満たす語句Ａは、時事の話題が多く扱われるソーシャルデータにおける一次クエリの語句（ユーザの明示的な興味の対象）との共起関係を利用してコンテンツ推薦装置１が類推した、ユーザの潜在的な興味の対象であり、また、社会一般における時事の話題を反映した検索語（二次クエリ）である可能性が高い。
【００９１】
例えば、図１２に示した二次クエリ候補の語句「グラスゴー」（語句Ａの具体例）は、一次クエリの語句「建築」（語句Ｂの具体例）と共起関係にあり、かつ、「建築」とは異なる別の一次クエリの語句「スコットランド」（語句Ｃの具体例）と意味的に近いため、二次クエリの語句として採択される。同様に、語句「住民投票」（語句Ａの具体例）は、一次クエリの語句「スコットランド」（語句Ｂの具体例）と共起関係にあり、かつ、一次クエリの語句「政治」（語句Ｃの具体例）と意味的に近い関係にあるので、二次クエリの語句として採択される。一方で、語句「狭小」、「ミニマル」、「ウィスキー」、「軍歌」（語句Ａの具体例）については、それぞれの共起の相手「建築」、「スコットランド」、「政治」の他に意味的に近い一次クエリの語句をもたないため、二次クエリの語句として採択されない。仮に、二次クエリ候補の語句「ウィスキー」と意味的に近い語句「酒」が一次クエリに存在するならば、語句「ウィスキー」は二次クエリとして採択される可能性がある。二次クエリとして採択された語句「グラスゴー」、「住民投票」を利用して検索した結果得られたコンテンツは、図１２に示すように、ユーザの潜在的な嗜好（グラスゴーに残る壮麗な建築）や、世間一般の時事の話題（スコットランド独立についての住民投票）を反映したコンテンツである。
【００９２】
図１３は、推薦リスト生成部１７が出力する推薦コンテンツリストデータの例を示す図である。同図に示す推薦コンテンツリストデータは、各推薦コンテンツの番組名、放送日時、番組概要を設定したデータである。
【００９３】
図１４は、推薦コンテンツ提示部１８がコンテンツ表示装置に表示させる推薦コンテンツ提示画面の表示例を示す図である。同図は、図１３に示す推薦コンテンツリストの内容をウェブブラウザにより表示させたＧＵＩ（グラフィック・ユーザ・インタフェース）画面である。なお、推薦コンテンツ提示画面の上部に表示される「今後の放送予定」、「システム設定１」、ならびに「システム設定２」のタブは、それぞれ、未視聴コンテンツの一覧、当該ユーザの拡張クエリの内容の一覧、および、推薦リスト生成部１７において二次スコアに乗ずる重みの設定を表示させるためのオプションである。これらの表示は、本実施形態では必須ではない。
【００９４】
上記実施形態においては、一次クエリの語句をユーザ視聴履歴情報から抽出していたが、一次クエリの語句は、ユーザが入力したキーワードでもよい。
また、上記実施形態においては、ソーシャルデータを利用して二次クエリ候補の語句を取得しているが、他のデータを利用して二次クエリの語句を取得してもよい。ソーシャルデータのように、同じ話題に対して多様な表記が用いられ、話題の対象をタイムスタンプなどの時刻により特定することができる計算機利用可能なコーパスデータであれば、任意のデータを利用することができる。
【００９５】
なお、上記においては、コンテンツ推薦装置１とコンテンツ表示装置３とがネットワークを介して接続される場合について説明したが、コンテンツ表示装置３がコンテンツ推薦装置１を備えるように構成してもよい。また、コンテンツ表示装置３に、コンテンツ推薦装置１の一部の機能部を備える構成としてもよい。例えば、コンテンツ表示装置３にコンテンツ推薦装置１の視聴履歴記録部１１を備えてもよく、さらに、未視聴コンテンツ情報記録部１２や視聴履歴解析部１３を備えてもよい。
【００９６】
上述した実施形態によれば、コンテンツ推薦装置１は、インターネット上で提供されているソーシャルメディアを利用して、ユーザの嗜好を記述した検索語の集合である一次クエリと意味的に関係が深いその他の言語表現を二次クエリの語句として抽出する。コンテンツ推薦装置１は、ユーザの嗜好を記述した検索語の集合である一次クエリデータに、一次クエリの語句に基づいて抽出した二次クエリの語句を検索語として追加する。コンテンツ推薦装置１は、二次クエリの語句が追加された検索語の集合を用いてコンテンツを検索する。これにより、コンテンツ推薦装置１は、ユーザの求める内容により則したコンテンツを推薦することができる。また、二次クエリの語句の抽出に用いるソーシャルメディアの時期を限定することにより、コンテンツ推薦装置１は、ユーザの潜在的な嗜好に加え、日々新たに出現する時事の話題、あるいは、過去の話題を反映したコンテンツを推薦することができる。
【００９７】
以上説明したように、本実施形態のコンテンツ推薦装置１によれば、元の検索語から、語句の多様性や話題の時事性を適切に反映したクエリ（拡張クエリ）を自動的に生成することができる。そして、コンテンツ推薦装置１は、生成したクエリを用いてコンテンツを検索することによって、従来よりもユーザの嗜好により合致したコンテンツ推薦を実現することが可能となる。
また、本実施形態のコンテンツ推薦装置１によれば、元の検索語と意味的な関係が深い語句（拡張クエリ）に基づいた多様性に富んだコンテンツ推薦が可能となる。その結果、元の検索語だけからは見つけ出すことが難しい、ユーザの新たな興味の発掘や発見につながる可能性（セレンディピティ）に富んだコンテンツを推薦することができる。
【００９８】
上述したコンテンツ推薦装置１及びコンテンツ表示装置３は、内部にコンピュータシステムを有している。そして、コンテンツ推薦装置１及びコンテンツ表示装置３の動作の過程は、プログラムの形式でコンピュータ読み取り可能な記録媒体に記憶されており、このプログラムをコンピュータシステムが読み出して実行することによって、上記処理が行われる。ここでいうコンピュータシステムとは、ＣＰＵ及び各種メモリやＯＳ、周辺機器等のハードウェアを含むものである。
【００９９】
また、「コンピュータシステム」は、ＷＷＷシステムを利用している場合であれば、ホームページ提供環境（あるいは表示環境）も含むものとする。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含むものとする。また上記プログラムは、前述した機能の一部を実現するためのものであってもよく、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであってもよい。
【符号の説明】
【０１００】
１  コンテンツ推薦装置
１１  視聴履歴記録部
１２  未視聴コンテンツ情報記録部
１３  視聴履歴解析部
１４  ソーシャルデータ記録部
１５  ソーシャルデータ解析部
１６  クエリ拡張部
１７  推薦リスト生成部
１８  推薦コンテンツ提示部
１９  記憶部
３  コンテンツ表示装置
３１  操作部
３２  取得部
３３  出力部
３４  通知部
３５  受信部
５  ソーシャルメディアサービス提供装置
９  ネットワーク
【図１】
0006429382.tif 000002
【図２】
0006429382.tif 000003
【図３】
0006429382.tif 000004
【図４】
0006429382.tif 000005
【図５】
0006429382.tif 000006
【図６】
0006429382.tif 000007
【図７】
0006429382.tif 000008
【図８】
0006429382.tif 000009
【図９】
0006429382.tif 000010
【図１０】
0006429382.tif 000011
【図１１】
0006429382.tif 000012
【図１２】
0006429382.tif 000013
【図１３】
0006429382.tif 000014
【図１４】
0006429382.tif 000015