図1は、本発明に係わるキーワード拡張装置の構成例を示すブロック図であって、1は本発明に係わるキーワード拡張装置、2は関係抽出処理部、3は拡張処理部、4は入力処理部、5は出力処理部、6は利用履歴データ格納部、7はキーワード関係抽出結果格納部、8は実行契機処理部、9は設定ファイル、10は利用履歴データ、11は入力キーワードである。
本例のキーワード拡張装置1は、CPU(Central Processing Unit)や主メモリ、表示装置、入力装置、外部記憶装置からなるコンピュータ処理を行うものであり、光ディスク駆動装置等を介してCD−ROM等の記憶媒体に記録されたプログラムやデータを外部記憶装置内にインストールした後、この外部記憶装置から主メモリに読み込みCPUで処理することにより、入力されたキーワードに関連性のあるキーワードを選出し拡張キーワードとして出力するための各処理部の機能を実行する。
すなわち、キーワード拡張装置1は、利用履歴データ格納部6により、各ユーザが利用したコンテンツに関連するキーワードと当該ユーザの識別情報とが対応付けられた利用履歴データを記憶装置に格納し、関係抽出処理部2において、まず、利用履歴データ読み込み処理部2aにより、利用履歴データ格納部6で格納した利用履歴データを読み出し、関係抽出演算部2bにより、設定ファイル9に基づき相互に関連性のあるキーワード同士を特定するための所定の演算処理を行い、相互に関連する各キーワードを抽出してグループ分けし、その結果を、抽出結果データとして、抽出結果の格納処理部2cにより、キーワード関係抽出結果格納部7を介して記憶装置に格納する。
尚、このような関係抽出処理部2による処理は実行契機処理部8からの指示に基づき実行される。この実行契機処理部8では、内蔵するタイマ機能に基づき例えば予め設定された時間の経過を監視し、所定の時間間隔で、関係抽出処理部2に対する実行指示を出力する。これにより、キーワード関係抽出結果格納部7を介して記憶装置に格納される抽出結果データは所定時間間隔で動的に更新される。
また、実行契機処理部8による関係抽出処理部2に対する実行指示契機としては、タイマ周期の他に、利用履歴データの更新契機、利用履歴データの更新回数、利用履歴データのデータサイズ、入力部への入力契機、入力への入力回数などの情報を用いることも可能である。
このように、動的に更新される抽出結果データを用いて、拡張処理部3において、入力処理部4を介して入力された入力キーワード11に対する拡張キーワードを取得する。すなわち、入力処理部4を介して入力キーワード11が入力されると、拡張処理部3は、キーワード関係抽出結果読み込み処理部3aにより、キーワード関係抽出結果格納部7で格納したキーワード関係抽出結果を読み込み、拡張キーワード取得部3bにより、入力キーワードと同じグループに属するキーワードを拡張キーワードとして特定する。
そして、キーワード拡張装置1は、出力処理部5を介して、拡張処理部3において特定した拡張キーワード12を出力する。この出力処理部5では、拡張キーワードのみを出力するだけでなく、それぞれの重み値を算出して合わせて出力することも可能である。また出力先を、CRT等の表示装置の画面や他の装置の入力手段や一時記憶装置やデータベースなどとすることも可能である。
以下、図2から図5を用いて、関係抽出処理部2における関係抽出演算部2bとして、クラスタリング処理を行う機能を設けたキーワード拡張装置1について説明する。
図2は、クラスタリング処理機能を有する関係抽出処理部の構成例を示すブロック図であり、図3は、図2における関係抽出処理部が読み込む利用履歴データ例を示す説明図、図4は、図2における関係抽出処理部から出力されるキーワード関係抽出結果例を示す説明図、図5は、図4におけるキーワード関係抽出結果に基づく拡張処理部の動作例を示す説明図である。
図2に示すように、関係抽出処理部22は、図1における関係抽出演算部2bとしてクラスタリングエンジン22bを具備し、このクラスタリングエンジン22bにおいて、実行契機処理部28からの指示で起動された利用履歴データ読み込み処理部22aが読み出した、利用データ格納部26で格納された利用履歴データに対して、設定ファイル29に設定されている条件に従ってクラスタリング処理を行い、キーワード集合のクラスタを生成し、各キーワード集合を抽出結果データとして、クラスタリング結果格納処理部22cによりキーワード関係抽出結果格納部27を介して記憶装置に格納する。
この際、関係抽出処理部22は、利用履歴データに対するクラスタリング処理を行う際に得られる、同じグループに含まれるキーワード間の関係を表すパラメータ値を、抽出結果データにおける当該グループに対応付けて付与する。
例えば、クラスタリング演算を実施した結果で得られるパラメータ値、あるいは算出可能なパラメータ値としては、「距離尺度(クラスタ核平均距離、クラスタ間の距離)」、「クラスタの特徴値(核との分散値、偏差値)」等があり、それらのパラメータ値を、重み付けの係数として用いることができる。
また、クラスタリングエンジン22bにおけるクラスタリング処理としては、k−means法(K平均法)や階層的クラスタリング手法あるいはISODATA法等を用いることができる。
一般的なクラスタリング手法である階層的クラスタリング手法の場合、アイテムそれぞれにべクトル値が付与されており、複数のアイテムをクラスタに分ける場合、そのアイテムのベクトル同士の距離を算出し、最も距離が短いアイテム同士をクラスタにする。さらに、アイテムとクラスタ、クラスタ同士を結合する処理を行う。これら処理を予め設定した数のクラスタになるまで繰り返すことでクラスタを生成することができる。
尚、クラスタリング手法に応じて、クラスタリング演算を行う際に必要な情報は、予めハードコーディングしておくか、設定ファイル29で記述することが可能である。例えば、設定ファイル29にて、「生成するクラスタの数(生成クラスタ数=n個等の定義や、生成クラスタ数=全キーワードのn%等の割合や、生成クラスタ数=f(全キーワード数)のような関数などがある)」、「正規化手法(重み値の正規化手法:ユーザ毎に正規化、キーワード毎に正規化など)」、「クラスタリング演算繰り返し回数」、「類似度のしきい値範囲」などの記述をする。
図3に、関係抽出処理部22にクラスタリング処理を用いる場合の利用履歴データの例を示しており、この利用履歴データ31において、キーワードK01,K02,K03,…のそれぞれにユーザA,B,C,…による重み値が付与されたキーワードベクトルが対応付けられており、例えば、キーワードK01に関しては、ユーザAの重み値が「10」、ユーザBの重み値が「2」、ユーザCの重み値が「4」、ユーザDの重み値が「5」、ユーザEの重み値が「6」…となっている。
尚、このような利用履歴データは、コンテンツに付与されたキーワードとユーザ毎のキーワード利用回数情報を基にして作成することが可能である。
このような利用履歴データ31に基づき、関係抽出処理部22においてクラスタリング処理することで取得されるキーワード関係抽出結果は、図4に示す内容となり、このキーワード関係抽出結果データ41においては、クラスタリング処理の結果で得られたクラスタ(分類番号)と、そこに含まれるキーワード集合とが対応付けて示されている。すなわち、生成されたクラスタC1,C2,C3,C4,…ごとに、同一クラスタに分類された各キーワードが格納されている。
例えば、クラスタ(分類番号)C1として、キーワードK01とキーワードK03が分類されている。これは、図3における利用履歴データ31において、キーワードK01とキーワードK03に関しての各ユーザA,B,C,D,E,…における重み値に関係があり、本クラスタリング処理を行った結果、同じグループに分類されたものである。
また、図4におけるキーワード関係抽出結果データ41においては、クラスタ生成の際に得られるクラスタ毎の分散値が記録されている。
このようなキーワード関係抽出結果データ41に基づく拡張処理部の動作を図5を用いて説明する。例えば、入力キーワード511として、入力処理部54を介してK01、K15の2つの入力キーワードが入力された場合、拡張処理部53は、キーワード関係抽出結果読み込み処理部53aにより、キーワード関係抽出結果格納部57で格納された、キーワード関係抽出結果データ(41)を読み込み、拡張キーワード取得部53bにより、キーワードK01と同じ分類(C1)に入っているキーワードK03と、キーワードK15と同じ分類(C2)に入っているK02,K08,K12の各キーワードを取得する。
取得した各キーワード(K03,K02,K08,K12)を入力キーワード511(K01,K15)と共に、出力処理部55を介して拡張キーワード512として出力する。このようにして、入力キーワード511(K01,K15)に対するキーワード数の増加(拡張)を実現できる。
また、これらの拡張キーワード512の生成に、例えば出力処理部55において、入力キーワード511のそれぞれに対する重み値を反映させることも可能である。例えば、入力処理部54を介して入力されたキーワードK01,K15に、それぞれ重み値「0.11」、「0.15」が付与されていた場合、キーワードK01によって拡張されたキーワードK03の重み値をK01と同じ「0.11」に、K15によって拡張されたキーワードK02,K08,K12の重み値をK15と同じ「0.15」にすることが考えられる。
また、キーワード関係抽出結果を用いて拡張キーワードに重み付けをすることも可能である。例えば、キーワード関係抽出結果格納部57で格納された図4のキーワード関係抽出結果データ41に示すように、クラスタの分散値がキーワード関係抽出結果に格納されている場合、その分散値を用いて重み付けすることができる。
具体的には、入力されたキーワードK01,K15にそれぞれ重み値「0.11」、「0.15」が付与されており、キーワードK03がキーワードK01によって拡張され、キーワードK02,K08,K12がK15によって拡張された場合、キーワードK03の重み値は、「キーワードK01の重み値×(1−キーワードK01が属する分類番号C1の分散値)」=「0.11×(1−0.05)」=「0.1045」として算出され、また、キーワードK02,K08,K12の並み値は「キーワードK15の重み値×(1−キーワードK15が属する分類番号C2の分散値)」=「0.15×(1−0.09)」=「0.1365」として算出される。
次に、図6から図9を用いて、図1の関係抽出処理部2における関係抽出演算部2bとして、データマイニング処理を行う機能を設けたキーワード拡張装置1について説明する。
図6は、データマイニング処理機能を有する関係抽出処理部の構成例を示すブロック図であり、図7は、図6における関係抽出処理部が読み込む利用履歴データ例を示す説明図、図8は、図6における関係抽出処理部から出力されるキーワード関係抽出結果例を示す説明図、図9は、図8におけるキーワード関係抽出結果に基づく拡張処理部の動作例を示す説明図である。
図6に示すように、関係抽出処理部62は、図1における関係抽出演算部2bとしてデータマイニング処理を行う相関ルール分析エンジン62bを具備し、この相関ルール分析エンジン62bにおいて、実行契機処理部68からの指示で起動された利用履歴データ読み込み処理部62aが読み出した、利用データ格納部66で格納された利用履歴データに対して、設定ファイル69に設定されている条件に従って相関ルール分析処理を行い、キーワード集合別のルールを生成し、各キーワード集合を抽出結果データとして、クラスタリング結果格納処理部62cによりキーワード関係抽出結果格納部67を介して記憶装置に格納する。
相関ルール分析エンジン62bにおいてルール抽出演算を行う際に必要なパラメータは、ルール抽出手法に応じて、予めハードコーティングしておくか、設定ファイル69で記述しておく。例えば、相関ルール抽出の場合、「利用履歴データとエンジン入力データとの対応付け」、「確信度の範囲」、「支持度の範囲」、「リフトの範囲」、「UpConfの範囲」、「最大ルール長さの範囲」、「抽出ルール数の範囲」、「抽出ルールのソートキー(リフト、支持度、確信度)などの定義が必要である。
例えば、「喜連川 優 "データマイニングにおける相関ルール抽出技法" 人工知能学会誌 Vol.12 No.4,pp.513−520(1997)」においては、「相関ルール分析時の用語」として、「ヘッド・ボディ」、「指示回数」、「支持度(サポート)」、「確信度(コンフィデンス)」、「リフト」、「UpConf」などが記載されている。
具体的には、「ヘッド・ボディ」に関しては、「Aならば同時にBも満たす(確率が高い)」というルールの場合、Aをルールのボディ(条件部)、Bをルールのヘッド(結果)と言う」と記載され、「指示回数」に関しては、「条件を満たすデータ数、アイテムの指示回数、ルールの指示回数など」と記載され、「支持度(サポート)」に関しては、「指示回数を全データ数で割ったもので、ある関連購買における支持率を表す。例えば砂糖について卵の関連購買で支持度が20%の場合、砂糖と卵を一緒に購入する顧客(ユーザ)が顧客全体の20%という意味である」と記載され、「確信度(コンフィデンス)」に関しては、「ルールの指示回数をルールのボディの指示回数で割ったもので、ある関連購買における信頼度を表す。例えば卵について砂糖の関連購買で確信度が60%の場合、卵購入者のうち60%が一緒に砂糖を購入する傾向があることを示す」と記載され、「リフト」に関しては、「ルールの確信度をルールのヘッドの支持度で割ったもの、つまり、ルールの支持度をルールのボディとヘッダの支持度で割ったものであり、アイテム間の関連の強さ(関連購買傾向の比率)を表す」と記載され、「UpConf」に関しては、「ボディが2つ以上あるルールにのみ定義でき、ボディが1つ少ないルールの確信度と比較したときのルールの確信度の上昇率を示す指標で、無駄に長いルールを抑制できる」と記載されている。
また、キーワード関連ルール抽出の手法として、時系列分析やデルタ分析手法を用いることも可能である。時系列分析やデルタ分析手法を用いる場合は利用履歴データに時刻に関する項目が必要となる。さらに、設定ファイル69もしくはハードコーディングにおいて、前述の相関ルール分析の場合に加えて、「利用履歴データのうち時刻情報の対応付け」、「分析時の時間窓の範囲」の定義も必要となる。
尚、このような相関ルール分析のアルゴリズムに関しては、「R.Agrawal, T.Imielinski, and A.Swami:Mining Associations between Sets of Items in Massive Databases. In Proceedings of ACM SIGMOD(1993)」に、また、時系列分析のアルゴリズムに関しては、「R.Agrawal and R.Srikant Mining Sequential Patterns. Proceedings of the Eleventh IEEE inter−national Conference on Data Engineering(1995)」に、また、デルタ分析のアルゴリズムに関しては、「Mariko Yoshida,Tetsuya Iizuka,Hisako Shiohara,Masanori Ishiguro:"Mining sequential patterns including time intervals,"SPIE2000, Orland U.S.A., pp.213−220(2000)」に記載されている。
図7に、関係抽出処理部62に相関ルール分析処理を用いる場合の利用履歴データの例を示しており、この利用履歴データ71においては、コンテンツの利用履歴として、コンテンツを利用したユーザID(ユーザA,B,C,D,…)と、そのコンテンツに付与されたキーワード(K01,K02,K03,…)、および、その時刻に対応付けて逐次記録されている。尚、この時刻項目は、ルール抽出に相関ルール分析手法を用いる場合には不要であるが、時系列分析やデルタ分析手法を用いる場合は必要である。
このような利用履歴データ71に基づき、関係抽出処理部62においてデータマイニング処理(相関ルール分析、時系列分析、デルタ分析)を行う相関ルール分析エンジン62bを用いたルール抽出処理の結果で取得されるキーワード関係抽出結果は、図8に示すキーワード関係抽出結果データ81の内容となり、このキーワード関係抽出結果データ81においては、ルール抽出処理の結果で抽出されたキーワード間の関連が、各ルール番号(1,2,…)別に、ボディとなるキーワード、ヘッドとなるキーワード、ならびに、「支持度」、「確信度」が対応付けて示されている。
このように、データマイニング手法(相関ルール分析、時系列分析、デルタ分析)を用いたルール抽出処理の結果、抽出されたキーワード間の関連として、図8に示すキーワード関係抽出結果データ81においては、例えば、ルール(1)に関しては、「ボディとなるキーワードK01」ならば「ヘッドとなるキーワードK03」というルール(1)の「ルールの支持度は0.1%」、「ルールの確信度は0.25%」というルールが得られた結果が示されている。尚、ルール(2),(3),(5),(6)において示すように、「ボディとなるキーワード」として複数のキーワードが選出される場合もある。これらのルールは、設定によって単数もしくは複数抽出される。
このようにして抽出されたルール(キーワード関係抽出結果データ81)は、キーワード関係抽出結果として、分析結果格納処理部62cによりキーワード関係抽出結果格納部67を介して記憶装置に保存される。尚、「ルールのリフト」等の値も得ることができれば、図8のキーワード関係抽出結果データ81において、「支持度」、「確信度」と同様に記録しておくこともできる。
このようなキーワード関係抽出結果データ81に基づく拡張処理部の動作を図9を用いて説明する。図9における拡張処理部93は、入力処理部94を介して入力された入力キーワード911に対し、キーワード関係抽出結果格納部97で格納された図8に示すキーワード関係抽出結果データ81に基づき、キーワード拡張を行う。
この際、例えば、入力キーワードが、(a)「ボディ」か「ヘッド」、(b)「ボディのみ」、(c)「ヘッドのみ」に含まれるルールが単数もしくは複数見つかった場合、そのルールにおける(A)「ボディ」か「ヘッド」、(B)「ボディのみ」、(C)「ヘッドのみ」に含まれるキーワードによって拡張する方法が考えられる。また、拡張されるキーワードに同一のキーワードが重複して含まれる場合は、1つだけ用いるなどの解決が可能である。尚、上述の(a)〜(c)、(A)〜(C)のどれを用いるかは、装置の設計にゆだねる。
以下、入力キーワードが「ボディ」か「ヘッド」に含まれるルールが見つかった場合、そのルールにおける「ボディ]か「ヘッド」に含まれるキーワードで拡張する場合の例を説明する。
入力処理部94からK01、K09の2つの入力キーワードが入力された場合、拡張処理部93は、キーワード関係抽出結果読み込み処理部93aにより、キーワード関係抽出結果格納部97で格納された図8に示すキーワード関係抽出結果データ81を読み込み、拡張キーワード取得部93bにより、キーワード関係抽出結果データ(81)を参照し、「ボディ」か「ヘッド」に入力キーワードK01を含んでいるルール(ルール番号1)を見つけ、そのルール(1)に含まれているキーワードK03を拡張キーワードとして取得する。
同様に、「ボディ」か「ヘッド」に入力キーワードK09を含んでいるルール(ルール番号4)を見つけ、そのルール(4)に含まれているキーワードK23を拡張キーワードとして取得する。このようにして取得した拡張キーワード912は出力処理部95を介して外部に出力する。
また、入力処理部94から入力される入力キーワード911が複数のルールに含まれている場合には、拡張処理部93は、拡張キーワード取得部93bにおいて、関係抽出結果読み込み処理部93aにより読み込んだキーワード関係抽出結果データ(81)を参照し、「ボディ」か「ヘッド」に入力キーワードK08を含んでいるルール(ルール番号2とルール番号6)を見つけ、そのルール番号2においてK08と同じルールに含まれているキーワードK02,K12と、ルール番号6においてK08と同じルールに含まれているキーワードK15,K12を拡張キーワードとして取得する。ただし、キーワードK12は重複しているため1つだけ用いることとし、結果的に、拡張されるキーワードはK05,K12,K15となる。
これらの拡張されるキーワードに対して、例えば出力処理部95において重みをつけることも可能である。例えば、入力されたキーワードが、(a)「ボディ」か「ヘッド」、(b)「ボディのみ」、(c)「ヘッドのみ」に含まれるルールが単数もしくは複数見つかった場合、そのルールにおける(A)「ボディ」か「ヘッド」、(B)「ボディのみ」、(C)「ヘッドのみ」に含まれるキーワードによって拡張し、その拡張するキーワードを、(1)「入力キーワードの重み値に関連した値で重み付けをする」、(2)「ルールの『支持度』や『確信度』や『リフト』等の、分析で得られた値を用いて重み付けをする等が考えられる。そして、上記(a)〜(c)、(A)〜(C)、(1)〜(2)、を組み合わせることで目的に応じて装置を設計、調整することができる。
上記(1)の重み値を付与する例では、入力処理部94に入力されたキーワードK01,K15にそれぞれ重み値「0.11」,「0.15」が付与されていた場合、キーワードK01によって拡張されたキーワードK03の重み値をK01と同じ「0.11」に、また、キーワードK15によって拡張されたキーワードK08,K12の重み値をキーワードK15と同じ「0.15」にすることも可能である。
また、上記(2)の重み値を付与する例として、拡張されたキーワードを「確信度」を用いて重み付けする場合、キーワードK01によって拡張されたキーワードK03の重み値は、「=K01が属するルール番号1の確信度=0.25」とし、キーワードK15によって拡張されたキーワードK08,K12の重み値は、「=キーワードK15が属するルール番号6の確信度=0.27」とすることができる。
それ以外の例として、拡張キーワードの重み値を、入力キーワードの重み値で倍数処理することも考えられる。例えば、入力キーワードK01の重み値が「0.11」、キーワードK15の重み値が「0.15」の場合、キーワードK01によって拡張されたキーワードK03の重み値は、「=K01が属するルール番号(1)の確信度×キーワードK01の重み値=0.25×0.11=0.0275」、キーワードK15によって拡張されたキーワードK08,K12の重み値は、「=キーワードK15が属するルール番号(6)の確信度×キーワードK15の重み値=0.27×0.15=0.0405」とすることができる。
このように実装条件やシステムの特性に応じて、それぞれの値に倍率をかけたり、数値の正規化や増減演算を行ったり、関数をかけるなど、重み付け方法を設定することは容易に類推できる。ただし、上記(2)の例で重み付けをする場合、拡張するキーワードが、複数のルールから取得された場合は一意に重み付けするルールの「支持度」や「確信度」や「リフト」が得られない場合がある。
その場合、(i)「一番大きい「支持度」や「確信度」や「リフト」に関連した値で重み付けをする」方法や、(ii)「支持度」や「確信度」や「リフト」の平均値で重み付けをするなどを例とした方法で重み付けすることが考えられる。
例えば、K08のキーワードが入力された場合、拡張処理部93は、キーワード関係抽出結果格納部97で格納されたキーワード関係抽出結果データを参照し、「ボディ」か「ヘッド」にキーワードK08を含んでいるルール(ルール番号2とルール番号6)を見つける。そして、ルール番号2においてキーワードK08と同じルールに含まれているキーワードK02,K12と、ルール番号6においてキーワードK08と同じルールに含まれているキーワードK12,K15とによってキーワードを拡張する。
ここで、前記(i)一番大きい「支持度」や「確信度」や「リフト」に関連した値で重み付けをすることによって、拡張されたキーワードをルールの確信度で重み付けした場合、ルール番号2の確信度は、「0.75」で、キーワードK02,K12が含まれ、ルール番号6の確信度は、「0.27」で、キーワードK12,K15が含まれるため、キーワードK02の重み値はルール番号2の確信度「0.75」、キーワードK12の重み値はルール番号2、6のうち、確信度が大きいルール番号2の確信度「0.75」、キーワードK15の重み値はルール番号6の確信度「0.27」とする。
このように、同一のキーワードが複数のルールに該当していた場合であっても、実装条件やシステムの特性に応じて容易に対応することができる。
次に、図1で示すキーワード拡張装置1をコンテンツ検索システムに導入した例について図10と図11を用いて説明する。
図10は、本発明に係わるコンテンツ検索システムの構成例を示すブロック図であり、図11は、図10におけるコンテンツ検索システムの処理動作例を示す説明図である。
図10に示したコンテンツ検索システムは、ユーザの嗜好に合うコンテンツを検索して推薦するものであり、図1から図9で説明したキーワード拡張装置101とコンテンツ推薦装置1030とを有し、ユーザが行うコンテンツの「視聴履歴」、「操作履歴」、「入力履歴」、「取得履歴」、「利用履歴」、あるいは「行動履歴」といったユーザの活動履歴データ1001〜1006から書式変換手段a1010,b1011,c102などによって利用履歴データ106を生成し、コンテンツ推薦装置1030が、コンテンツDB(データベース)1031のコンテンツ情報(キーワード集合)と嗜好DB(データベース)1032を基に、ユーザ1033にコンテンツを推薦する際、必要に応じてキーワード拡張装置101によってコンテンツ情報(キーワード情報)を拡張し、拡張したキーワードに基づきコンテンツを検索して、当該ユーザに対して推薦するシステムである。
まず、利用履歴データ106の生成に必要な「履歴データ」の取得例について、それぞれ説明する。
視聴履歴に関しては、例えば、ユーザ情報と、そのユーザAが視聴している番組やコンテンツを取得可能なリモコン装置や、セットトップボックス装置などによって、視聴者、視聴番組、視聴時間などを取得して、インターネットやデータ放送から、番組名や出演者やテレビ局名や製作者に関するデータを取得して、これらを履歴データ1001として記録する。
尚、このような視聴履歴の生成技術に関しては、例えば文献「土井,塩原,石黒:放送コンテンツの視聴スタイルによる嗜好情報生成,電子情報通信学会全国大会,A−15−18,2002.3」において、視聴履歴から、番組のジャンル、出演者、タイトル名、テレビ局名などをキーワードとして、視聴時間や視聴スタイル毎に重み付け方式を変えた履歴データを作成し、主観評価値と履歴データとの相関について実験した結果が示されている。
換作履歴に関しては、例えば、ユーザBがPC(パーソナルコンピュータ)や携帯電話に保存されている映像や音楽などのコンテンツおよびそのショートカットアイコンや、「VisionMark」等のコンテンツの存在を示すオブジェクトに対する削除操作や保護操作と、その操作を行ったユーザを取得して、その操作対象となったコンテンツ名やコンテンツの説明文から得たキーワードを履歴データ1002として記録することができる。
尚、「VisionMark」については、例えば文献「宮奥、重吉、阿久津、外村:VisionMark:情報伝達メディアとインターネットの協調に向けたメディア連携方式,電子情報通信学会論文誌,D−I, Vol.J86−D−I, No.6, pp421−430, 2003.6」に記されている。
入力履歴に関しては、例えば、ユーザCがパソコンや携帯電話などで、インターネットの検索サイトにおいて、入力キーワードとその入力者であるユーザ情報とを履歴データ1003として記録することができる。尚、ユーザ情報は予め登録サイトで登録した情報を「cookie」としてパソコンで記憶する技術などがある。
取得履歴に関しては、例えば、ユーザDが電子透かしで情報が埋め込まれているポスターを撮影して取得した、透かしで埋め込まれていた情報や、RFID(Radio Frequency IDentification)タグを情報ポスターに近づけて取得したポスターに関する情報と、そのユーザ情報が取得できれば、それらを履歴データ1004として記録することができる。
利用履歴に関しては、例えば、ユーザAがパソコンを用いてインターネットに接続してWebを閲覧している際、その閲覧している文面とそのユーザ情報とが取得できれば、閲覧ページの文面を形態素解析してキーワードを生成し、これらを履歴データ1005として記録することができる。ユーザ情報は予め登録サイトで登録した情報を「cookie」としてパソコンで記憶する技術などがある。
行動履歴に関しては、例えば、RFIDチップが埋め込まれた服を着たユーザCが本を持って、東京駅の自動改札機を出場した場合、その時刻や場所、ユーザ情報、所持品情報、行動についての情報を得ることが可能である。このように、自動改札機やゲートセンサに近づいたり、通過する際に、その場所とそのユーザ情報と所持品などを特定できる情報が取得することで、これらの情報を履歴データ1006として記録する。
尚、各履歴データ1001〜1006は、ネットワーク上の記憶装置に保存する場合や、端末上に記憶する場合であっても構わない。
上記のように、異なる複数のメディアの履歴データ1001〜1006であっても、データの書式や、ユーザ情報が共通していれば、それぞれの履歴データを結合することが可能である。例えば、ユーザ情報が、RFIDチップのIDであったり、ユーザが自主的に入力するユーザIDであったり、Webブラウザが覚えている「cookie」のIDであったりと、メディアによって異なる場合でも、対応表などでユーザが一意に得ることが可能であれば結合することが可能である。
また、ユーザ情報は、操作の度に得られなくとも、利用履歴データとして転送する時などに付与しても構わない。
次に、履歴データ1001〜1006からキーワード拡張装置101が用いる利用履歴データ106を生成する際について説明する。
それぞれのメディアによって、履歴データ1001〜1006の書式、意味付けや重み値の度合いが異なっている場合は、それぞれの履歴データ1001〜1006を書式変換手段11012によって変換処理を行う。この変換処理を経て、書式や意味付けや重み値の度合いに違いが無い履歴データ同士は結合して利用履歴データ106とすることが可能である。
書式変換手段c1012においては、次のような変換処理が考えられる。すなわち、「履歴データの書式の変更」、「キーワードの重み付けの調整、正規化」、「複数の履歴データの結合」、「履歴データの切り出し(ユーザ毎、期間毎など)」、「履歴データの間引き処理」、「コンテンツ利用開始・利用終了時刻が記録されている履歴データの場合、利用時間を取得して、その時間に応じた重み付け」、特願2003−181218号に記載のように「ログの新旧によった重み付け」、「ユーザの住所、氏名、年齢、職業、嗜好情報等が記録されたユーザプロファイル1020と履歴データとの合成」、「年齢や性別、住所、ユーザプロファイルが、ある条件に合致したデータのみの抽出」、「利用回数や利用時間、利用頻度による重み付け」、「TF−IDF法などによる重み値の変換」、「操作(削除操作、保存操作など)や視聴スタイル(最後まで視聴、途中で視聴中断など)に応じた重み付け」などが可能である。
書式変換手段c1012には、目的に応じて機能の異なる専用的な書式変換手段を用いても良いし、汎用的な書式変換手段でも良い。さらに、書式変換手段a1010,b1011のように多段で利用しても、複数回用いてもよい。
また、キーワード拡張装置101で用いる利用履歴データ106は、単数であっても、目的やユーザプロファイル1020別に複数用いても良い。複数用いる場合としては、「書式が異なった利用履歴データ」、「ユーザプロファイル1020別に生成した利用履歴データ」、「基となる履歴データに異なる重み付けを行って生成した利用履歴データ」などがあげられる。
次に、図11に基づき、図10におけるコンテンツ検索システムの処理動作説明する。図11に示す処理は、ユーザaにコンテンツXを推薦するか否かを判断する例である。まず、コンテンツ推薦装置1030では、コンテンツDB1031からコンテンツXのコンテンツ情報をキーワード集合として取得する(ステップS1101)。
次に、嗜好DB1032からユーザaさんの嗜好情報をキーワード集合として取得し、コンテンツXのキーワード集合とユーザaのキーワード集合との類似度を計算する(ステップS1102)。この類似度の計算は、キーワード集合をそれぞれ大きさ「1」のキーワードベクトルとして考えてキーワードベクトル同士の内積演算や余弦演算によって求めることができる。
計算結果の類似度が予め設定しているしきい値を下回る場合は(ステップS1103)、コンテンツXのキーワード集合の拡張を図る。コンテンツXのキーワード集合を拡張する場合は、キーワード拡張装置101の入力処理部104にコンテンツXのキーワードを送信し、出力処理部105からの拡張されたキーワード集合を得る。
このようにして、キーワード拡張装置101によって拡張されたコンテンツXのキーワード集合と、嗜好DB1032におけるユーザaのキーワード集合との類似度を算出する(ステップS1104)。算出した結果、類似度がしきい値を越えた場合は(ステップS1105)、ユーザaにコンテンツXをリコメンド(推薦)し(ステップS1106)、そうでない場合はリコメンドしない(ステップS1107)。
以上の手順によって、コンテンツ推薦装置1030はコンテンツのリコメンドが可能となる。尚、コンテンツXのコンテンツ情報やユーザaの嗜好情報は、キーワード集合であっても、キーワードにそれぞれ重み値がついたキーワード集合(キーワードベクトル)であってもかまわない。
以上、図1〜図9を用いて説明した本例の技術では、入力されたキーワードに対してコンピュータ処理を行い、入力されたキーワードに関連性のあるキーワードを選出し拡張キーワードとして出力するキーワード拡張装置において、各ユーザが利用したコンテンツに関連するキーワードと当該ユーザの識別情報とが対応付けられた利用履歴データを記憶装置に格納すると共に、記憶装置から利用履歴データを読み出し、相互に関連性のあるキーワード同士を特定するための所定の演算処理を行い、相互に関連する各キーワードを抽出してグループ分けし抽出結果データとして記憶装置に格納し、入力されたキーワードと同じグループのキーワードを、抽出結果データを参照することで拡張キーワードとして特定する手順を実行することを特徴としている。
尚、このキーワード拡張手順において、予め設定された時間で、利用履歴データの読み出しと所定の演算処理に基づく抽出結果データの取得と格納を行い、抽出結果データを更新する。また、所定の演算処理として、クラスタリング処理、もしくは、データマイニング処理を行う。さらに、所定の演算処理を行う際に得られる、同じグループに含まれるキーワード間の関係を表すパラメータ値を、抽出結果データにおける当該グループに対応付けて付与すると共に、拡張キーワードに対して、同グループに付与されたパラメータ値を用いて重み付けを行うことを特徴とする。
このことにより、コンテンツをキーワードの集合として記述し、そのキーワードを基に適したユーザにコンテンツを推薦する際、そのキーワード数が不足していたため、適したユーザに推薦できない場合や、インターネット上の検索エンジンに入力する検索キーワードが足りないため目的の検索結果が得られない場合においても、複数の利用者が利用したコンテンツ等の利用履歴情報に基づいてキーワード同士の関連性の抽出を行い、抽出したキーワードの関連性から、拡張するキーワードを決定することができ、適切なキーワードを追加もしくは置換することが可能となる。
尚、本発明のキーワード拡張技術は、図1〜図11を用いて説明した例に限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能である。例えば、図10,11においては、キーワード拡張装置をコンテンツを推薦する検索システムに導入した例を示したが、次のようなシステムへの適応が可能である。
入力キーワード補充システムにキーワード拡張装置を導入することで、例えば特許検索やインターネットのページ検索、書籍検索などに入力するキーワードを、本キーワード拡張装置を用いてキーワードを補填することで、従来の方式では検索結果として得られなかった結果を得ることが可能となる。
キーワード関連性レポートシステムにキーワード拡張装置を導入することで、キーワード関係抽出結果に格納されているキーワードの関連と、関係抽出処理時に得られた値(分散値や支持度、確信度、リフトなど)をレポートにするサービスへの応用が可能である。また入力されたキーワードと拡張されたキーワードとその重み値をレポートにする応用も可能である。
ユーザプロファイルの違いによるキーワード関連性レポートシステムにキーワード拡張装置を導入することで、前記キーワード関連性レポートにおいて、利用履歴データから年齢や性別、住所、さらにアンケート結果等から得られたユーザプロファイルごとに、キーワード関係抽出結果を生成し、ユーザプロファイルの違いによって生成されるキーワード関係抽出結果の違いや、拡張されるキーワードの違いをレポートにするとの応用も可能である。
次に、このようなキーワード拡張技術の応用例を図12から図24を用いて説明する。ここでは、上述のキーワード拡張技術を用いて、ユーザに、嗜好にあったテレビ番組等のコンテンツを気づかせることができるようにすると共に、いままでユーザが知らなかった意外なコンテンツ(例えばテレビ番組)も推薦して、ユーザに新しい視聴を行わせることも可能とするのに好適なコンテンツ情報提供技術に関して説明する。
本例では、ユーザにとって意外かつ有益なコンテンツ情報(ここではテレビ番組情報を例として説明する)を得るために、ユーザが登録したキーワードに対し、他のユーザが登録したキーワードを反映したキーワード拡張を実施し、その拡張後の登録キーワードを含む番組情報を提示してユーザに推薦する。
以下、図に示す実施例に基づいて詳しく説明する。尚、番組情報をユーザに提示するための端末装置としては、携帯電話やPDA(Personal Digital Assistance)、パソコン等があり、また、情報の伝達に用いるネットワークとしては、インターネットや公衆回線、LAN(Local Area Network)、無線LAN、携帯電話のバケット通信網、ケーブル接続等があり、番組としては、ラジオ放送番組、テレビ放送番組、インターネット放送番組等のスケジュールに則って放送されるコンテンツ等があり、その番組情報としては、番組のタイトル、出演者、製作者、解説文といった番組に関する情報であり、EPG(Electric Program Guide)等、ネットワークや電波、記憶媒体によって取得可能である。また、キーワードとしては、出演者名や番組情報に含まれる単語をはじめとした文字列があり、拡張キーワード情報としては、ユーザが端末装置に登録したキーワードを拡張するためのキーワード集合であり、複数のキーワード集合(グループ)で構成することも可能である。
尚、上述したキーワード拡張技術における各部と本番組情報提供技術における各部との対応付けを、次のようにして説明を行う。すなわち、「拡張処理部」は「キーワード拡張手段」に、「関係抽出処理部」は「拡張キーワード生成手段」に、「キーワード関係抽出結果格納部」は「拡張キーワード情報記憶装置」に、「キーワード関係抽出結果」は「拡張キーワード情報」に、「利用履歴データ格納部」は「フィードバック情報記憶手段」に相当する。
図12は、本発明に係わる番組情報提供システムの構成例を示すブロック図であり、図13は、図12における番組情報提供システムで用いる番組情報提供端末装置の第1の内部構成例を示すブロック図、図14は、図12における番組情報提供システムで用いる番組情報提供端末装置の第2の内部構成例を示すブロック図、図15は、図12における拡張機生成センタ装置の内部構成例を示すブロック図、図16は、番組情報提供端末装置の操作表示部の構成例を示す説明図、図17は、番組情報提供端末装置の表示部の第1の表示例を示す説明図、図18は、番組情報提供端末装置の表示部の第2の表示例を示す説明図、図19は、番組情報提供端末装置の表示部の第3の表示例を示す説明図、図20は、番組情報提供端末装置の表示部の第3の表示例を示す説明図、図21は、番組情報提供端末装置の表示部の第4の表示例を示す説明図、図22は、図12における番組情報記憶装置で記憶している番組情報の構成例を示す説明図、図23は、図12における拡張キーワード生成センタ装置で記憶しているフィードバック情報の構成例を示す説明図、図24は、図12における拡張キーワード情報記憶装置で記憶している拡張キーワード情報の構成例を示す説明図である。
図12において、1200a〜1200cはユーザ、1201a〜1201cは番組情報提供端末装置(図中および以下「端末装置」と記載)、1202はネットワーク、1203は番組情報記憶装置、1204は拡張キーワード情報記憶装置、1205は拡張キーワード生成センタ装置であり、端末装置1201a〜1201c、番組情報記憶装置1203、拡張キーワード情報記憶装置1204、拡張キーワード生成センタ装置1205のそれぞれはプログラムに基づき動作するコンピュータ処理機能を有している。
このような構成において、ユーザ1200aが、端末装置1201aにキーワードを登録すると(ステップS1201)、端末装置1201aは、ネットワーク1202を介して、番組情報記憶装置1203から、番組情報を取得する(ステップS1202)。
また、端末装置1201aは、ネットワーク1202を介して、拡張キーワード情報記憶装置1204から、拡張キーワード情報を取得して、ユーザが登録したキーワードを、取得した拡張キーワード情報を用いて拡張する(ステップS1203)。そして、拡張後の登録キーワードと、番組情報とを用いて、ユーザ1200aに推薦する番組情報を、画面表示する(ステップS1204)。尚、キーワード拡張技術に関しては、図13〜15で説明する。
さらに、端末装置1201aは、ユーザ1200aが登録したキーワードを、ネットワーク1202を介して、拡張キーワード生成センタ装置1205に送信する(ステップS1205)。
拡張キーワード生成センタ装置1205は、端末装置1201aから送信されてきたキーワードを受信し、拡張キーワード情報を生成し、拡張キーワード情報記憶装置1204に格納する。尚、拡張キーワードを生成する技術については、図13〜15での説明で示す。
端末装置1201aは複数あり(1201b,1201c)、それぞれ異なるユーザ(1200b,1200c)が用いることができる。この端末装置1201a,1201b,1201cの詳細について、図13を用いて説明する。
図13に示す端末装置1301は、入力手段1301a、キーワード記憶手段1301b、拡張キーワード情報取得手段1301c、拡張キーワード情報記憶手段1301d、キーワード拡張手段1301e、番組情報取得手段1301f、番組情報記憶手段1301g、番組情報選択手段1301h、類似度算出手段1301i、表示内容生成手段1301j、表示手段1301kを有する。
ユーザ1300は端末装置1301の入力手段1301aにおいて、キーワードを登録する。この端末装置1301における表示手段1301kでのキーワード追加登録画面例を図19に示す。このように入力手段1301aで登録されたキーワードは、キーワード記憶手段1301bにおいて記憶される。
拡張キーワード情報取得手段1301cは、ネットワーク(1202)を介して、拡張キーワード情報記憶装置1304から、図24に例示する拡張キーワード情報を取得する。拡張キーワード情報取得手段1301cで拡張キーワード情報を取得する契機は、予め設定しておいた時刻でも、ユーザの操作による契機でも、周期的でも良い。また、拡張キーワード情報ヘアクセスするためのアドレスは予め端末装置1301で設定することが可能である。
拡張キーワード情報取得手段1301cで所得した拡張キーワード情報は、拡張キーワード情報記憶手段1301dで格納する。
キーワード拡張手段1301eは、キーワード記憶手段1301bに格納されている登録キーワードを、拡張キーワード情報記憶手段1301dに格納されている拡張キーワード情報を用いて拡張する。このキーワード拡張例の詳細は後述する。
番組情報取得手段1301fは、ネットワーク(1202)を介して、番組情報記憶装置1303から、複数もしくは単数の番組情報を取得する。この番組情報を、図22に例示する。取得する番組情報は、放送日時などが予め設定しておいた条件に合致する番組情報であったり、取得可能な全ての番組情報であってもよい。
また、番組情報を取得する契機は、予め設定しておいた時刻でも、ユーザの操作による契機でも、周期的でも良い。また、番組情報ヘアクセスするためのアドレス(URL:Uniform Resource Locator等)は予め端末装置で設定することが可能である。
番組情報記憶手段1301gは、番組情報取得手段101fが取得した、複数もしくは単数の番組情報を記憶する。
番組情報選択手段1301hは、現在の時刻などを参照して、表示手段1301kに表示する番組情報として適したものを選択する。例えば、現在時刻からある時間以内に放送される番組情報のみ選択する場合や、ユーザの場所や年齢、契約している放送局によって、視聴可能な番組のみ選択する場合、ユーザが指定したジャンルの番組のみ選択する場合などがある。
番組情報選択手段1301hで選択された番組情報は、表示手段1301kで表示される番組の候補となる。番組情報選択手段1301hが選択する条件を、別途ユーザが登録しておくことも可能である。
類似度算出手段1301iは、番組情報選択手段1301hで選択された番組情報と、キーワード拡張手段1301eによって拡張された登録キーワードとの類似度を算出する。この類似度算出例は後述する。
表示内容生成手段1301jは、番組情報と登録キーワードとの類似度の大きさから表示手段1301kに表示する内容やその場所、アラートの有無を決定する。例えば、「類似度の大きいものだけを表示する」、「現在から1時間以内に放送され、かつ、類似度の大きい番組情報を画面上部に表示する」、「類似度の大きさに応じて所定の印を表示する」と言った表示内容の生成を実施する。
表示手段1301kは、表示内容生成手段1301jが生成した画面を例えば図16に示す内容で表示する。
図14に示す端末装置1401においては、キーワード記憶手段1401bおよび送信可能情報格納手段1401nに記憶された情報を、送信手段1401mにより、ネットワークを介して、拡張キーワード生成センタ装置1405に送信する。
送信手段1401mが、キーワード記憶手段1401bに記憶されている登録キーワードを拡張キーワード生成センタ装置1405に送信する契機は、予め設定しておいた時刻でも、ユーザの操作による契機でも、周期的でも良い。
この送信手段1401mから送信する情報をフィードバック情報と呼び、このフィードバック情報として、ユーザID、端末IDなど、ユーザや端末を一意に識別するためのコードを拡張キーワード生成センタ装置へ送信しても良い。さらに、フィードバック情報として、ユーザ属性、設定地域、契約放送局名などを送信することも可能である。
送信可能なフィードバック情報は、しかるべき手段によって送信可能情報記憶手段に格納されている。
図15においては、拡張キーワード生成センタ装置1505の詳細図を示しており、拡張キーワード生成センタ装置1505は、受信手段1505a、フィードバック情報記憶手段1505b、拡張キーワード生成手段1505cを具備している。
受信手段1505aでは、端末装置1501から送信されたフィードバック情報を受信する。フィードバック情報記憶手段1505bでは、受信手段1505aで端末装置1501から受信したフィードバック情報を記憶する。
フィードバック情報として、登録キーワード以外にユーザID、端末IDといったユーザや端末を一意に識別するためのコードを受信した場合、それらと受信した登録キーワードとを関連付けてフィードバック情報記憶手段1505bに格納する。格納技術の一例として、ユーザID毎に、受信した登録キーワードを記憶する技術がある。
また、フィードバック情報記憶手段1505bに格納されている該当ユーザIDの場所に、既に登録キーワードが格納されている場合、一旦格納されている登録キーワードを削除し、受信した登録キーワードで更新する技術がある。
他にも受信したフィードバック情報のうち、ユーザ属性、地域、契約放送局名などを格納することが可能である。図23において、フィードバック情報記憶手段1505bに格納している情報の例を示す。
拡張キーワード生成手段1505cは、フィードバック情報記憶手段1505bに格納されているフィードバック情報から、拡張キーワード情報を生成する。この拡張キーワード情報は、フィードバック情報記憶手段1505bに格納されているフィードバック情報において、何らかの関連があるキーワード同士をグループ化したものである。
この拡張キーワード生成手段1505cの拡張キーワード情報の生成は、タイマや予め設定した時間周期、フィードバック情報記憶手段1505bに格納された契機、フィードバック情報記憶手段1505bに格納されたデータの量といった、しかるべき契機で実行される。
また、拡張キーワード情報は、ユーザ属性(年齢や性別、地域など)ごとに生成するように設計することも可能である。このような拡張キーワード情報生成の詳細例は後述する。
このようにして拡張キーワード生成手段1505cで生成された拡張キーワード情報は、拡張キーワード情報記憶装置1504に格納される。尚、ユーザ属性(年齢や性別、地域など)ごとに生成された拡張キーワード情報を、ユーザ属性毎に拡張キーワード情報記憶装置1504に格納するように設計することも可能である。また、ユーザ属性毎に生成された拡張キーワード情報が生成されている場合、ユーザは自分と同じ属性のユーザからのフィードバック情報から生成した拡張キーワード情報を取得することも可能である。
図16から図21においては、端末画面表示例を示している。図16においては、端末装置1601の外形とその画面表示例を示しており、図13における表示内容生成手段1301jが生成した、現在放送中もしくはまもなく放送され番組情報との類似度が大きい番組情報が3つ表示されている。尚、図中の星印の数によって類似度の大きさを表している。尚、現在放送中の番組情報を表示することも可能である。
図17では、メニュー画面例を示しており、このメニュー画面1701では、キーワードの追加登録、キーワードの削除、キーワード拡張機能設定、フィードバック、地域選択、終了などが、ユーザの操作によって選択できる。
地域選択では、ユーザの地域を選択することによって、視聴可能なテレビ放送局を判別する。キーワード削除では、既にユーザが登録した登録キーワードを削除することができる。
図18では、番組詳細情報表示例を示しており、ユーザが、この画面1801に表示された番組情報を選択することで、さらに詳細な情報が表示される。また「キーワード追加登録」をユーザが選択することで、表示されている番組情報のキーワードを一括して登録することが可能である。
尚、番組情報が文書などで、キーワードになっていない場合は、キーワードに分解する必要がある。文書をキーワードに分解する手法として、形態素解析を行い名詞のみ用いるといった処理がある。
図19では、キーワード追加登録画面例を示しており、ユーザは、この画面1901に表示されているメニューからキーワード追加登録を選択することで、ユーザが登録したい任意のキーワードを追加登録できる。
図20では、フィードバック画面例を示しており、ユーザは、この画面2001に表示されているメニューからフィードバックを選択することで、ユーザが登録したキーワードを拡張キーワード生成センタ装置(1205)に送信することができる。
図21では、キーワード拡張機能の選択画面例を示しており、ユーザは、この画面2101に表示されているメニューからキーワード拡張機能設定を選択すると、キーワード拡張機能の有効/無効を設定できる。キーワード拡張機能を無効にした場合、拡張キーワード情報を取得し、キーワード拡張手段1301eで登録キーワードを拡張する処理はスキップされる。
図22においては、図12における番組情報記憶装置1203で記憶されている番組情報の例を示しており、番組情報2201には、放送局名、放送日時、タイトル名、説明文などが記述されている。尚、この番組情報記憶装置1203に格納されている番組情報2201は、ファイルの形態であってもWebページの形態であっても、またデータベースの形態であっても良い。
図22に示す例では、「2ch」という放送局が、「2004年1月16日18時30分から19時00分」に「ニュース1830」というタイトルの番組を放送するという番組情報である。その次の行の文は、その番組の解説文となっている。
図23においては、図15におけるフィードバック情報記憶手段1505bに記憶されている情報例を示しており、この情報2301では、ユーザID毎にフィードバック情報として送信された登録キーワードを記憶している。
図24においては、図12における拡張キーワード情報記憶装置1204で記憶されている拡張キーワード情報の例を示しており、本例の拡張キーワード情報2401は、4つのグループのキーワード集合が格納されている。
以下、図16から図24に示された具体手的な例を用いて、各手段における処理動作例を説明する。
まず、図13におけるキーワード拡張手段1301eによるキーワード拡張動作例を説明する。尚、このキーワード拡張方法には複数あり、ここでは、拡張方法の一例を示す。
キーワード記憶手段1301bに格納されているキーワードが「アニメ」であり、図24における拡張キーワード情報2401に格納されているキーワードで「アニメ」を含むキーワードグループに含まれる他のキーワードが「名探偵」、「ボケモンキー」の場合、それらのキーワードを付与した、「アニメ」、「名探偵」、「ボケモンキー」を拡張後の登録キーワードとする。
また、キーワード拡張手段1301eによるキーワード拡張処理例としては、図1〜図11で説明したキーワード拡張装置と方法およびコンテンツ検索システムによる処理を用いて、キーワードを拡張することが可能である。
以上に例示した手法によって、登録キーワードを拡張することが可能である。次に、図13における類似度算出手段1301iによる類似度算出例を説明する。
「類似度R=(番組情報に含まれる、登録キーワードの数)*100/(番組情報の文字列長*登録キーワード数)」と定義した場合、図22における番組情報2201が「ニュース1830 : 山本アナ・温泉特集・名探偵ご紹介・地震の備えは大丈夫?関東の天気」であり、上述のキーワード拡張手段1301eで拡張された登録キーワードが「アニメ」、「名探偵」、「ボケモンキー」であり、この場合、番組情報に含まれる、「登録キーワードの数=1」、「番組情報の文字列長=78バイト」、「登録キーワード数=3」のため、「類似度R=(1*100)/(78*3)=0.427」となる。
次に、図15における拡張キーワード生成手段1505cによる拡張キーワード情報生成例を説明する。
拡張キーワード情報を生成する技術としては、キーワード拡張手段1301eによるキーワード拡張処理例でも述べたように、図1〜図11で説明したキーワード拡張装置と方法およびコンテンツ検索システムによる処理、特に、関係抽出処理部の処理を用いることが可能である。
まず、第1の例を説明する。図15におけるフィードバック情報記憶手段1505bに格納されている(図23に例示される情報2301参照)ユーザID毎の登録キーワードを、それぞれのキーワードに「1」の重みが付与されたキーワードベクトルとする。
例えば、ユーザIDがUSER1の登録キーワードが、「ニュース」、「温泉」、「旅行」、「ぶらり」、「高級」、「レストラン」の場合、ユーザIDがUSER1のキーワードベクトルV(USER1)は、「V(USER1)=(ニュース=1,温泉=1,旅行=1,ぶらり=1,高級=1,レストラン=1)となる。
同様にして、各ユーザIDごとのキーワードベクトルを求める。そして、クラスタリング手法を用いて、各キーワードをクラスタに分ける。例えば、K−Means法を用いてクラスタリングする場合、生成するクラスタの数を指定する。キーワードが複数グループのキーワード集合にクラスタリングされると、その結果を拡張キーワード情報として用いる。
次に、第2の例として、デークマイニングの相関ルール分析を用いて、キーワード同士の関係を抽出し、抽出されたキーワードをグループ化して、拡張キーワード情報とする技術を説明する。
この技術では、フィードバック情報記憶手段1505bに格納されている(図23に例示される情報2301参照)ユーザID毎の登録キーワードの情報をデークマイニングの相関ルール分析の入力データとして用いる。この際、ユーザIDをトランザクションIDとして用いることが可能である。尚、相関ルール分析の条件として支持度・確信度・リフト・最大ルール長さなどを設定することが必要である。
相関ルール分析についての概要や関連文献については、「喜連川優,デークマイニングにおける相関ルール抽出技法,人工知能学会誌 Vol.12 No.4(1997)」に記されている。また、相関ルール分析のアルゴリズムの一例として、「R.Agrawal,T.Imielinski,and A.Swami : Mining Associations between Sets of Items in Massive Databases. In Proceedings of ACM SIGMOD (1993)」があげられる。
以上に例示した技術によって生成した拡張キーワード情報は、図24に示すようにして図15における拡張キーワード情報記憶装置1504に格納される。
以上、図12から図24を用いて説明したように、本例の番組情報提供技術では、端末装置にユーザが登録した登録キーワードを、拡張キーワード情報を用いてキーワード拡張手段によって拡張し、類似度算出手段によって、拡張後の登録キーワードと、複数もしくは単数の番組情報との類似度を算出し、表示内容生成手段によって、算出した類似度の値の大きさによって表示する番組情報の内容を生成し、表示手段によってユーザにお薦めの番組情報を表示する。
他の複数のユーザの登録キーワードを拡張キーワード情報の生成に反映するには、送信手段によって、登録されている登録キーワードやユーザ属性等の送信可能情報をフィードバック情報として拡張キーワード生成センタに送信し、受信手段で受信したフィードバック情報から拡張キーワード生成手段によって、関連性のあるキーワードの集合を抽出し、それをグループにして、拡張キーワード情報として格納する。
これにより、ユーザに、嗜好にあった番組を気づかせることができるようにすると共に、いままでユーザが知らなかった意外な番組も推薦して、ユーザに新しい視聴を行わせることが可能となる。
すなわち、拡張キーワード情報は、複数のユーザからのフィードバック情報から生成しているため、拡張後の登録キーワードに、他のユーザの好みに関する情報が含まれる。そのため、いままで知らなかった意外な番組も推薦される可能性があり、ユーザに新しい視聴を行わせることが可能となる。
さらに、拡張キーワード情報を用いて登録したキーワードを拡張することができるため、登録した好みの番組に関するキーワードに一致していない番組でも、拡張後の登録キーワードでは一致する可能性があり、キーワードが少ない為に番組が推薦されないという点を防ぐことができる。
また、ユーザ自身が、登録したキーワードをセンタに送信する「フィードバック」操作を行わずとも、他のユーザの誰かがフィードバックすれば、サービスを受けることが可能となる。
また、登録したキーワードに一致した番組を表示して、番組とユーザとの好みの類似度の大きさに応じて、端末装置にて音を鳴らす、画面表示を行うといったを気づかせの動作を行い、好みの番組の視聴を逃さないようにすることができる。
尚、図12〜図24で示した例では、テレビ番組情報すなわちテレビ番組コンテンツへの適応例を説明したが、本発明はこれに限定されるものではなく、映像や音楽、出版、ゲームをはじめとしたコンテンツに関しても同様にして適応可能である。
次に、図25〜図29を用いて、キーワードの集合の求め方(グループ分け、相関ルール抽出)に関しての説明を行う。すなわち、上述したキーワード拡張装置等においては、例えば、図3,7に示される利用履歴データ31,71を用いて、相互に関連する各キーワードを抽出して集合化(図4,図8のキーワード関係抽出結果データ41,81)を行っているが、この際、クラスタリング手法では、図1,2の設定ファイル9,29において設定された「生成するクラスタの数」や「正規化手法」、「クラスタリング演算繰り返し回数」、「類似度のしきい値範囲」等の各条件に基づきグループ分けを行っており、また、データマイニング処理では、図6の設定ファイル69において設定された「確信度の範囲」や「支持度の範囲」、「リフトの範囲」、「UpConfの範囲」、「最大ルール長さの範囲」、「抽出ルール数の範囲」等の各条件に基づき、相関ルール抽出を行っている。
また、例えば、論文『土井俊介、吉田由紀、東野豪「RUI−Filtering:利用履歴のアイテムの類似度関係を反映した協調フィルタリング方式」、DEWS2004(電子情報通信学会第15回データ工学ワークショップ)I−7−06』に記載のように、ユーザのキーワードベクトルとコンテンツのキーワードベクトル同士の類似度を、キーワードグループを介して求め、求めた類似度の大きさに応じて、ユーザに推薦するコンテンツを特定する技術においても、クラスタリングを用いる際に、生成するキーワードグループの数(クラスタ数)を条件として指定している。
このようなキーワードグループを生成する際の条件は、例えば、コンテンツを推薦するサービスの内容や、ユーザの数、コンテンツに付与されたメタデータ(キーワード)の量などによって、最適な条件が異なり、精度良くコンテンツの推薦を行うための最適な条件を設定することが必要である。
図25〜図29においては、このようなキーワードの集合化に用いる「最適な条件」を求める技術を説明する。ここでは、ユーザのキーワードベクトルとコンテンツのキーワードベクトル同士の類似度を、キーワードグループを介して算出し、算出した類似度に応じて、ユーザにコンテンツを推薦するシステムを例に、そのキーワードグループを生成する際の最適なグループ化条件を決定する技術を説明する。
図25は、本発明に係わるキーワードグループ化条件決定装置を具備したコンテンツ推薦システムの構成例を示すブロック図であり、図26は、本発明に係わるキーワードグループ化条件決定装置の構成例を示すブロック図、図27は、図26における蓄積記録手段に蓄積されたデータ例を示す説明図、図28は、図26におけるユーザのキーワードベクトルのデータ例を示す説明図、図29は、図26における類似度算出実行手段の処理動作例を示す説明図である。
図25において、2501はグループ化条件決定装置、2502はキーワードグループを用いてコンテンツを推薦する装置、2503は利用履歴、2504はユーザのキーワードベクトル、2505はコンテンツのキーワードベクトル、2506は最適なグループ化条件である。
利用履歴2503は、コンテンツの識別情報(コンテンツID)と当該コンテンツを利用したユーザの識別情報(ユーザID)とを対応付けた情報であり、ユーザのキーワードベクトル2504は、利用履歴2503を基に生成され、ユーザの(当該ユーザが過去に評価を行ったコンテンツの内容を解析して得られる)プロファイル情報であり、コンテンツのキーワードベクトル2505は、コンテンツのメタ情報であり、それぞれ記憶装置に記憶されている。
ユーザのキーワードベクトル2504は、図3の利用履歴データ31や図7の利用履歴データ71に相当するものであり、また、図28に例示されるものである。図28においては、ユーザID(1,2,3,4)の各ユーザがコンテンツを利用した結果、そのコンテンツに含まれたメタ情報(キーワード)A,B,C,Dの出現回数が登録されている。
キーワードグループを用いてコンテンツを推薦する装置2502は、複数ユーザのキーワードベクトル(2504)からキーワードをグループ化してキーワードグループを生成し、このキーワードグループを介して、コンテンツのキーワードベクトル2505とユーザのキーワードベクトル2504同士の類似度を算出し、類似度の大きさに応じてユーザにコンテンツを推薦する。
図28に示す例でのキーワードのグループ化においては、例えば、前述のK−Means法、階層的クラスタリング法、ISODATA法などを用いてキーワードを2つのグループ(キーワードグループ)にクラスタリングした場合、キーワードの出現回数から、「グループ1={キーワードA,C}」、「グループ2={キーワードB,D}」等とグループ化される。この場合、「2つのグループ」が「グループ化条件」となる。尚、キーワードのグループ化(集合化)にデータマイニング処理を用いることでも良い。
このようにして生成した各キーワードグループを介してユーザのキーワードベクトル2504とコンテンツのキーワードベクトル2505との類似度を算出する際、前述の論文に記載のように、内積や余弦・相関係数を用いて算出することができ、キーワードグループ(集合)同士の類似度は、大きさ1のキーワードベクトルとして算出可能である。
このような類似度の算出を、図29を例に説明する。ここでは「キーワードグループ1〜3」の3つのキーワードグループを介してユーザAとコンテンツCとの類似度の算出を例示している。
まず、ユーザAとキーワードグループ(1)との類似度p(A,1)を算出し、また、コンテンツCとキーワードグループ(1)との類似度p(1,C)を算出する。次に、ユーザAとキーワードグループ(2)との類似度p(A,2)を算出し、また、コンテンツCとキーワードグループ(2)との類似度p(2,C)を算出する。
さらに、ユーザAとキーワードグループ(3)との類似度p(A,3)を算出し、また、コンテンツCとキーワードグループ(3)との類似度p(3,C)を算出する。そして、「P(A,C)={p(A,1)*p(1,C)}+{p(A,2)*p(2,C)}+{p(A,3)*p(3,C)}」の計算を行うことで、キーワードグループを介した、ユーザAとコンテンツCとの類似度P(A,C)を求めることができる。
また、図1〜図11で示したように、キーワードグループを用いてキーワード拡張した後に、キーワードベクトルの類似度演算(内積・余弦・相関係数)を行って類似度を算出することもできる。
この場合、まず、ユーザAの嗜好を表すキーワードが複数記述されたキーワード集合を、キーワードグループを用いて拡張(キーワード拡張)する。次に、コンテンツCの内容を表すキーワードが複数記述されたキーワード集合を、キーワードグループを用いて拡張する。そして、内積や余弦・相関係数を用いて、拡張後のキーワード集合同士の類似度P(A,C)を算出する。ここで、キーワード集合同士の類似度は、大きさ1のキーワードベクトルとして算出可能である。
このように、図25のキーワードグループを用いてコンテンツを推薦する装置2502においては、ユーザのキーワードベクトル2504と、コンテンツのキーワードベクトル2505を参照し、しかるべき演算(クラスタリング、データマイニング等)を行って、キーワードグループを算出し、キーワードグループを介した、ユーザAとコンテンツCとの類似度P(A,C)を求めて、類似度に応じてコンテンツの推薦を行うが、制度の高いコンテンツ推薦を行うためには、キーワードグループの算出に用いるグループ化条件を最適なものとする必要があり、本例では、キーワードグループ化条件決定装置2501において、そのような最適なグループ化条件2506を算出する。
すなわち、キーワードグループを生成する際の最適なグループ化条件2506を決定するために、キーワードグループ化条件決定装置2501においては、まず、グループ化する条件を暫定的に設定し、その条件に従って、複数のユーザのキーワードベクトル(2504)から関係があるキーワードのグループを生成する。
次に、利用履歴2503において利用実績があるユーザIDとコンテンツIDとを、利用履歴2503から取得して設定し、設定したユーザIDのキーワードベクトルと、設定したコンテンツIDのキーワードベクトルと、先に生成したキーワードグループとを用いて、キーワードグループを用いてコンテンツを推薦する装置2502での処理と同様に、クラスタリング等のしかるべき演算を行って、設定したユーザIDのユーザのキーワードベクトルと、設定したコンテンツIDのコンテンツのキーワードベクトル同士の類似度を算出する。
さらに、設定したユーザIDと、設定したコンテンツIDと、設定したグループ化条件と、算出した類似度とを1つのレコードとして関連付けて、記憶装置に記憶する。
そして、グループ化する条件の暫定的な設定、キーワードのグループの生成、キーワードグループを介してのユーザのキーワードベクトルとコンテンツのキーワードベクトル同士の類似度の算出、設定したユーザIDと設定したコンテンツIDと設定したグループ化条件と算出した類似度とからなるレコードの記憶装置への記憶を、予め定められた条件に従って繰り返し実行した後、記憶装置に記録されたレコードを参照し、しかるべき演算によって最適なグループ化条件2506を決定する。
このしかるべき演算としては、例えば、記憶装置から、類似度の大きい順に、予め指定された数のレコードを、ユーザID、コンテンツIDの組ごとに抽出し、その抽出した各レコードに関連付けられている「グループ化条件」の値の平均値または頻出値またはそれらに関係する値を、最適なグループ化条件2506とする等がある。
以下、このような最適なグループ化条件2605を算出するためのキーワードグループ化条件決定装置2501の詳細な構成を、図26に示す。
図26に示す例では、キーワードグループ化条件決定装置2501には、グループ化条件設定手段2601と、キーワードグループ化手段2602、類似度算出対象設定手段2603、類似度算出手段2604、算出結果追加記録手段2605、類似度算出対象繰り返し手段2606、グループ化条件繰り返し手段2607、蓄積記録手段2608、グループ化条件決定手段2609が設けられている。
グループ化条件設定手段2601では、生成するキーワードグループ数等のグループ化条件を暫定的に設定する。例えば、「生成するキーワードグループ数=10個」、といった条件を設定する。尚、このグループ化条件は、図1,2,6における設定ファイル9,29,69などで記述することが可能である。
設定するグループ数は、繰り返しごとに異なる値を設定することができる。例えば、1回目の繰り返しでは「キーワードグループ数=10個」、「2回目の繰り返しではキーワードグループ数=15個」、「3回目の繰り返しではキーワードグループ数=20個」と言った具合に設定できる。
また、設定ファイルによる指定ではなく、繰り返しごとに自動的にキーワードグループ数をインクリメントして設定することも可能である。
キーワードグループ化手段2602は、グループ化条件設定手段2601で設定したグループ化条件に従って、複数ユーザのキーワードベクトル2504から、クラスタリング等のしかるべき演算を実施して、キーワードのグループ集合(キーワードグループ2610)を生成する。
類似度算出対象設定手段2603は、利用履歴2503から、利用実績があるユーザIDとコンテンツIDの組み合わせを設定する。このユーザIDとコンテンツIDの組み合わせの選出条件を定義することが可能である。例えば、類似度算出対象繰り返し手段2606によって類似度算出対象設定手段2603が複数回実行された場合、一度設定されたユーザIDとコンテンツIDの組み合わせはグループ化条件が変わるまで用いない、といった場合や、ランダムにユーザIDとコンテンツIDを選択する、といった場合がある。
類似度算出実行手段2604では、類似度算出対象設定手段2603で設定したユーザIDおよびコンテンツIDのそれぞれのキーワードベクトル情報と、キーワードグループ2610とを用いて、上述のしかるべき演算を実施して、ユーザとコンテンツ間の類似度を算出する。
算出結果追加記録手段2605は、類似度算出実行手段2604で算出した類似度を蓄積記録手段2608に格納する。格納の際は、ユーザID、コンテンツID、キーワードグループ数、類似度とを関連付けてレコードとして格納する。
類似度算出対象繰り返し手段2606は、類似度算出対象設定手段2603、類似度算出実行手段2604、算出結果追加記録手段2605による各処理を、予め定めた条件を満たすまで繰り返し実行させる。
さらに、グループ化条件繰り返し手段2607は、グループ化条件設定手段2601、キーワードグループ化手段2602、類似度算出対象設定手段2603、類似度算出実行手段2604、算出結果追加記録手段2605、類似度算出対象繰り返し手段2606による各処理を、予め定めた条件を満たすまで繰り返し実行させる。
このようにして、設定された各キーワードグループ化条件で、利用実績があるユーザID、コンテンツIDの組み合わせにおける、類似度を算出し、その結果が蓄積記録手段2608に格納される。
そして、グループ化条件決定手段2609は、蓄積記録手段2608に格納されているユーザIDとコンテンツIDとそのキーワードグループ数、類似度から、所定の演算によって、キーワードグループ数を決定する。
例えば、蓄積記録手段2608に格納された複数のユーザIDとコンテンツIDとそのキーワードグループ数、類似度のレコードから、ユーザIDとコンテンツIDの組み合わせ毎に類似度が一番大きいレコードを抽出し、その抽出レコードにおけるグループ数の平均値や、頻度の多いグループ数を、グループ化条件として決定する演算技術がある。
尚、本例の類似度算出実行手段2604での処理に関する計算方式として、前述の論文に記載のものを用いても良い。
図27に示すように、蓄積記憶手段2608には、キーワードグループ生成条件、ユーザID、コンテンツID、類似度が各レコードとして、レコード番号(NO)で関連付けられて格納されている。
図27においては、利用履歴において、「ユーザID=U001」が「コンテンツID=C001」、「ユーザID=U005」が「コンテンツID=C002」、「ユーザID=U007がコンテンツID=C001」を利用した実績がある場合の例を示しており、グループ化条件設定手段2601において、生成するキーワードグループの数を、繰り返し毎に10,15,20個とした場合の例である。
ここで、グループ化条件決定手段2609において、図27に例示する各レコードから、それぞれのユーザID、コンテンツIDとの組み合わせごとで類似度が一番大きい時点のレコードを抽出すると、「U001とC001」は、レコードNO.0007(キーワードグループ生成条件=20個)、「U005とC002」は、レコードNO.0005(キーワードグループ生成条件=15個)、「U007とC001」は、レコードNO.0006(キーワードグループ生成条件=20個)となる。
ここで、グループ化条件として、例えば、一番頻度の多いキーワードグループ生成条件を用いた場合、上記3つの抽出結果のうち、2つが該当する「キーワードグループ数=20個」がグループ化条件として出力される。
また、グループ化条件として、キーワードグループ数の平均を用いた場合、「(20+15+20)/3≒18.33…」となり、一番近い整数である「キーワードグループ数=18個」がグループ化条件として出力される。
以上、図25〜図29を用いて示した本例では、利用実績があるユーザIDとコンテンツID間の組み合わせにおいて、複数のグループ化条件を設定し、その条件から生成したキーワードグループを用いてそれぞれユーザ・コンテンツ間類似度を算出し、その結果から最適なグループ化条件を取得する。これにより、キーワードをグループ化するための最適な条件を容易に取得できる。そして、取得した最適グループ化条件を用いることで、コンテンツ推薦の精度が高まる。
また、グループ化条件決定装置2501を、図1〜図11で説明した各キーワード拡張装置や、図12〜図24で説明した各拡張キーワード生成センタ・装置・手段に設けることができ、例えば、図10に示すキーワード拡張装置101にグループ化条件決定装置2501を設け、キーワード拡張装置101の設定ファイルに、グループ化条件決定装置2501で算出した最適なグループ化条件2506を設定することで、図10におけるコンテンツ推薦装置1030でのコンテンツ推薦を高精度化することができる。
尚、本例では、各グループ化条件毎に、各処理を繰り返して図27に示すレコードを求めているが、類似度算出対象設定手段2603により、利用履歴から一度に複数の利用実績のあるユーザIDとコンテンツIDの組を読み込み、類似度算出実行手段2604において、それらの類似度を順次に算出し、算出結果追加記録手段2605により、蓄積記録手段2608にまとめて記録することでも良い。
また、本例では、グループ化条件として「グループの数」を例示しているが、クラスタリングにおける「クラスタリング演算繰り返し回数」や「類似度のしきい値範囲」等、また、データマイニング処理における「確信度の範囲」や「支持度の範囲」、「リフトの範囲」、「UpConfの範囲」、「最大ルール長さの範囲」、「抽出ルール数の範囲」等を用いることでも良い。
1,101:キーワード拡張装置、2,22,62:関係抽出処理部、2a,22a,62a:利用履歴データ読み込み処理部、2b:関係抽出演算部、2c:抽出結果の格納処理部、3,53,93:拡張処理部、3a,53a,93a:キーワード関係抽出結果読み込み処理部、3b,53b,93b:拡張キーワード取得部、4,54,94:入力処理部、5,55,95:出力処理部、6,26,66:利用履歴データ格納部、7,27,57,67,97:キーワード関係抽出結果格納部、8,28,68:実行契機処理部、9,29,69:設定ファイル、10:利用履歴データ、11,511,911:入力キーワード、12,512,912:拡張キーワード、22b:クラスタリングエンジン、22c:クラスタリング結果格納処理部、31,71:利用履歴データ、41,81:キーワード関係抽出結果データ、62b:相関ルール分析エンジン、62c:分析結果格納処理部、1001〜1006:履歴データ、1010〜1012:書式変換手段(a〜c)、1020:ユーザプロファイル、1030:コンテンツ推薦装置、1031:コンテンツDB、1032:嗜好DB、1033:ユーザ、1200a〜1200c:ユーザ、1201a〜1201c:端末装置、1202:ネットワーク、1203,1303:番組情報記憶装置、1204,1304:拡張キーワード情報記憶装置(キーワード関係抽出結果格納部)、1205,1405:拡張キーワード生成センタ装置、1300:端末装置、1301a:入力手段、1301b:キーワード記憶手段、1301c:拡張キーワード情報取得手段、1301d:拡張キーワード情報記憶手段、1301e:キーワード拡張手段(拡張処理部)、1301f:番組情報取得手段、1301g:番組情報記憶手段、1301h:番組情報選択手段、1301i:類似度算出手段、1301j:表示内容生成手段、1301k:表示手段、1401:端末装置、1401b:キーワード記憶手段、1401m:送信手段、1401n:送信可能情報格納手段、1501:端末装置、1504:拡張キーワード情報記憶装置(キーワード関係抽出結果)、1505:拡張キーワード生成センタ装置、1505a:受信手段、1505b:フィードバック情報記憶手段(利用履歴データ格納部)、1505c:拡張キーワード生成手段(関係抽出処理部)、1601:端末装置、1701,1801,1901,2001,2101:画面、2201:番組情報、2301:情報(フィードバック情報)、2401:拡張キーワード情報、2501:グループ化条件決定装置、2502:キーワードグループを用いてコンテンツを推薦する装置、2503:利用履歴、2504:ユーザのキーワードベクトル、2505:コンテンツのキーワードベクトル、2506:最適なグループ化条件、2507:推薦結果、2601:グループ化条件設定手段、2602:キーワードグループ化手段、2603:類似度算出対象設定手段、2604:類似度算出手段、2605:算出結果追加記録手段、2606:類似度算出対象繰り返し手段、2607:グループ化条件繰り返し手段、2608:蓄積記録手段、2609:グループ化条件決定手段、2610:キーワードグループ。