以下に本発明の実施の形態を説明するが、請求項に記載の構成要件と、発明の実施の形態における具体例との対応関係を例示すると、次のようになる。この記載は、請求項に記載されている発明をサポートする具体例が、発明の実施の形態に記載されていることを確認するためのものである。従って、発明の実施の形態中には記載されているが、構成要件に対応するものとして、ここには記載されていない具体例があったとしても、そのことは、その具体例が、その構成要件に対応するものではないことを意味するものではない。逆に、具体例が構成要件に対応するものとしてここに記載されていたとしても、そのことは、その具体例が、その構成要件以外の構成要件には対応しないものであることを意味するものでもない。
さらに、この記載は、発明の実施の形態に記載されている具体例に対応する発明が、請求項に全て記載されていることを意味するものではない。換言すれば、この記載は、発明の実施の形態に記載されている具体例に対応する発明であって、この出願の請求項には記載されていない発明の存在、すなわち、将来、分割出願されたり、補正により追加される発明の存在を否定するものではない。
本発明によれば、情報処理装置が提供される。この情報処理装置(例えば、図1の情報処理装置)、
1以上のコンテンツの集合体であるコンテンツ群をn個(nは、任意の整数値)と、n個の前記コンテンツ群のそれぞれに含まれる前記コンテンツのうちの1以上に関連付けられたメタデータのうちのm個(mは、任意の整数値)とを対象として、n個の前記コンテンツ群のそれぞれ毎に、m個の前記メタデータのそれぞれの重み値を各成分として有するm次元の第1のベクトル(例えば、後述するコンテンツベクトルであって、図4の行列A2や行列Bの各行成分を構成するベクトル)のそれぞれを生成するか、または、m個の前記メタデータのそれぞれ毎に、n個の前記コンテンツ群のそれぞれの重み値を各成分として有するn次元の第2のベクトル(例えば、後述するメタデータベクトルであって、図4の行列A2や行列Bの各列成分を構成するベクトル)を生成する情報処理装置において、
前記第1のベクトルまたは前記第2のベクトルの各成分の中から、処理の対象として注目すべき注目成分を決定し、n個の前記コンテンツ群のうちの前記注目成分に対応する注目すべき注目コンテンツ群と、m個の前記メタデータのうちの前記注目成分に対応する注目すべき注目メタデータとの関連性の強さを考慮するとともに、前記注目メタデータに対する前記注目コンテンツ群の特定性を考慮して、前記注目メタデータまたは前記注目コンテンツ群の重み付けを行い(例えば、後述する式(1)を演算し)、その結果得られる値を、前記注目成分に代入すべき前記重み値(例えば、図4の行列A2の各成分値)として決定する重み付け手段(例えば、図1の重み付け計算部4)
を備えることを特徴とする。
この情報処理装置において、
前記重み付け手段は、さらに、前記注目コンテンツ群に対する前記注目メタデータの特定性を考慮して、前記注目メタデータまたは前記注目コンテンツ群の重み付けを行い(例えば、後述する式(3)を演算し)、その結果得られる値を、前記注目成分に代入すべき前記重み値(例えば、図5の行列A3の各成分値)として決定する
ようにすることができる。
この情報処理装置は、
1以上の前記コンテンツを収集し、収集された1以上の前記コンテンツのそれぞれを、予め設定されたn種類のうちのいずれかの種類に分類し、前記n種類毎に、収集された1以上の前記コンテンツのうちの、対応する種類に分類された前記コンテンツの集合体を前記コンテンツ群としてそれぞれ生成する分類手段(例えば、図1のグループ化処理部3)をさらに設け、
前記重み付け手段は、前記分類手段により生成された、前記n種類のそれぞれに対応するn個の前記コンテンツ群の少なくとも一部を利用して、前記注目メタデータまたは前記注目コンテンツ群の重み付けを行い、その結果得られる値を、前記注目成分に代入すべき前記重み値として決定する
ようにすることができる。
この情報処理装置において、
前記重み付け手段は、さらに、決定された前記重み値のそれぞれを各成分に代入した前記第1のベクトルまたは前記第2のベクトルを生成し、
この情報処理装置は、
前記重み付け手段により生成された前記第1のベクトルまたは前記第2のベクトルを利用して、所定の処理を実行する処理実行手段(例えば、図1のベクトル演算部6や推薦部7)をさらに設ける
ようにすることができる。
本発明によれば、情報処理方法が提供される。この情報処理方法(例えば、図2のフローチャートに対応する情報処理方法)は、
1以上のコンテンツの集合体であるコンテンツ群をn個(nは、任意の整数値)と、n個の前記コンテンツ群のそれぞれに含まれる前記コンテンツのうちの1以上に関連付けられたメタデータのうちのm個(mは、任意の整数値)とを対象として、n個の前記コンテンツ群のそれぞれ毎に、m個の前記メタデータのそれぞれの重み値を各成分として有するm次元の第1のベクトルのそれぞれを生成するか、または、m個の前記メタデータのそれぞれ毎に、n個の前記コンテンツ群のそれぞれの重み値を各成分として有するn次元の第2のベクトルを生成する情報処理装置(例えば、図1の情報処理装置)の情報処理方法であって、
前記第1のベクトルまたは前記第2のベクトルの各成分の中から、処理の対象として注目すべき注目成分を決定し、n個の前記コンテンツ群のうちの前記注目成分に対応する注目すべき注目コンテンツ群と、m個の前記メタデータのうちの前記注目成分に対応する注目すべき注目メタデータとの関連性の強さを考慮するとともに、前記注目メタデータに対する前記注目コンテンツ群の特定性を考慮して、前記注目メタデータまたは前記注目コンテンツ群の重み付けを行い、その結果得られる値を、前記注目成分に代入すべき前記重み値として決定する重み付けステップ(例えば、図2のステップS5の処理)
を含むことを特徴とする。
本発明によれば、プログラムが提供される。このプログラムは、上述した本発明の情報処理方法に対応するプログラムであって、例えば、図6のパーソナルコンピュータにより実行される。
以下、図面を参照して、本発明の実施の形態について説明する。
図1は、本発明が適用される情報処理装置の機能的構成例を表している。
この情報処理装置には、メタデータ取得部1乃至ユーザ呈示部9が設けられている。
メタデータ取得部1乃至ユーザ呈示部9のそれぞれは、構成可能であれば、ハードウエアで構成してもよいし、ソフトウエアで構成してもよいし、或いは、ハードウエアとソフトウエアの組合せで構成してもよい。
メタデータ取得部1は、コンテンツ記憶部8に記憶されている各コンテンツに関連付けられた各種のメタデータを取得し、メタデータ記憶部2に記憶させる。
コンテンツとは、本明細書においては、一般的にコンテンツと称されている、テレビジョン放送番組、映画、写真、楽曲等(動画像、静止画像、若しくは音声、または、それらの組合せ等)の他、文書、商品(物品含)、会話等のユーザが使用可能なソフトウエアまたはハードウエアの全てを指す広い概念である。
ただし、ここでは、説明の簡略上(便宜上)、コンテンツとして、ユーザの私的な文書、例えば、後述するメール自身、あるいは、メールを構成する各文章が採用されているとして説明していく。
また、メタデータとは、本明細書においては、次のような情報を指す。即ち、例えば、ここでは、コンテンツとして、一般的なコンテンツではなく、ユーザの私的な文書(例えば、後述するメール等)が採用されている。従って、本明細書において、メタデータとは、電子番組ガイド(EPG:Electronic Program Guide)情報から抽出される番組メタデータ等の一般的なメタデータを単に指すのではなく、本明細書で言うコンテンツ(幅広い概念のコンテンツ)自身若しくはその一部分、またはそのコンテンツの属性等が単語化された情報(数値も単語化された情報の1つとして捉える)等も指す広い概念である。換言すると、コンテンツの1以上の特徴を示す情報であれば、その情報の全てがメタデータになり得る。
従って、メタデータ取得部1は、コンテンツ自身からメタデータを取得することもあるし、EPG情報等、コンテンツとは別に配信される(供給される)情報から取得することもある。
具体的には、例えば、コンテンツがメールである場合、メタデータ取得部1は、コンテンツ記憶部8に記憶されているコンテンツ(データ)としてのメールを所定の単位(例えば、1文章や1段落等)で区分し、区分された単位毎にその内容を解析して、単語のデータ(後述する図3乃至図5に示されるような、「ラーメン」,「温泉」,「会議」,「LSI」等の単語のデータ)に分解し、それらをメタデータとしてメタデータ記憶部2に記憶させる。
また、コンテンツがメールの場合、メタデータ取得部1は、送信メールの宛先や、受信メールの送り主(元)を特定する情報、例えば、「図1の情報処理装置を利用するユーザにとってのメールの相手」を示す情報も取得し、それをメタデータとしてメタデータ記憶部2に記憶させる。
さらに、メタデータ取得部1は、このようにして取得されたメタデータに対して、どのコンテンツと関連付けられているのかを示すためのインデックスを付与することもある。
メタデータ記憶部2は、このようにしてメタデータ取得部1から供給されたメタデータを記憶している。メタデータ記憶部1に記憶されたメタデータは、上述したように、どのコンテンツと関連付けられているかがインデックス化されていることもあり、任意のアクセスが可能とされている。
グループ化処理部3は、コンテンツ記憶部8に記憶されている(或いは過去に記憶された)1以上のコンテンツのそれぞれを、メタデータ記憶部2に記憶されているメタデータのうちの少なくちも一部に基づいて、予め設定されている幾つかの種類のグループに分類する。
なお、(或いは過去に記憶された)と括弧書きで示しているのは、メタデータ記憶部2に記憶されているメタデータを利用することで、コンテンツのグループ化の処理自体は可能となり、グループ化の処理の時点で、コンテンツ記憶部8にコンテンツ自体が記憶されている必要は必ずしもないからである。
ところで、ここでは、グループ化のための種類(以下、軸と称する)は、例えば、メタデータ記憶部2に記憶されているメタデータのうちの、任意のメタデータ(属性)が使用されるとする。
具体的には、例えば、コンテンツがメールである場合、コンテンツ記憶部8には、ユーザと、各メール相手とのそれぞれの間で、やり取りされた送受信メールが蓄積されることになる。
この場合、具体例については後述するが、送信メールの宛先若しくは受信メールの送り主(元)、即ち、「図1の情報処理装置を利用するユーザにとってのメールの相手」を示すメタデータを、グループ化のための軸とすることができる。具体的には、例えば、bさん、cさん、dさんといった内容を、グループ化のための軸とすることができる。この場合、コンテンツ記憶部8に記憶された各メールのそれぞれは、bさんとやり取りしたメールグループ、cさんとやり取りしたメールグループ、または、dさんとやり取りしたメールグループのうちの、いずれかのグループに分類される。
また、例えば、コンテンツがテレビジョン放送番組である場合、出演者等を示すメタデータを、グループ化のための軸とすることができる。具体的には、例えば、タレントe、タレントfといった内容を、グループ化のための軸とすることができる。この場合、コンテンツ記憶部8に記憶(録画)されたテレビジョン放送番組は、タレントeが出演する番組グループ、またはタレントfが出演する番組グループのうちのいずれかのグループに分類される。
その他、コンテンツとしては、上述したように、単体の文書(任意に分割された文書でもよい)、楽曲、または映画等が考えられ、このようなコンテンツについても、次のように様々な軸を設定することができる。
例えば、単体の文書については、著者、雑誌、文献等を示すメタデータを、グループ化のための軸とすることができる。例えば、楽曲については、アーティスト、曲調、ジャンル等を示すメタデータを、グループ化のための軸とすることができる。例えば、映画等については、その配信元、配信時間、監督、製作者等を示すメタデータを、グループ化のための軸とすることができる。
なお、グループ化処理部3は、1つのコンテンツが複数のグループにまたがる(複数のグループのそれぞれに分類される)、といったグループ化の処理を行ってもよいし、グループ化の処理自身を行わなくてもよい。
また、グループ化処理部3は、コンテンツのメタデータ空間上における統計的性質を利用したクラスタリングなどの手法を用いて、グループ化の処理を行うこともできる。
以上のようにして、グループ化処理部3は、各コンテンツのそれぞれをグループ分けし、その処理結果を重み付け計算部4に供給する。即ち、グループ化処理部3は、各グループ毎に、そのグループに分類された1以上のコンテンツの集合体を、そのグループに対応するコンテンツ群として設定し、その設定結果を重み付け計算部4に供給する。
重み付け計算部4は、メタデータ記憶部2に記憶されている各種メタデータや、グループ化処理部3の処理結果等に基づいて、対象となる各メタデータ毎に、(グループ化された)コンテンツ群のそれぞれを重み付けし、その結果得られる各重み値のそれぞれを各成分として有する特徴ベクトルを生成し、さらに、その特徴ベクトルを行成分または列成分として有する行列を生成する。
なお、以下、説明の簡略上、グループ化処理部3によりグループ化の処理が施されなかったコンテンツ単体も、コンテンツ群に含めるとして説明していく。即ち、コンテンツ群とは、上述したように、1以上のコンテンツからなる集合体であり、以下においても、同様なものとして説明していく。
また、以下、とあるメタデータに対する、各コンテンツ群のそれぞれの重み値を成分として有する特徴ベクトル、即ち、とあるメタデータを特徴付ける特徴ベクトルを、メタデータベクトルと称する。そして、このような1以上のメタデータベクトルを行成分または列成分として有する行列を、以下、コンテンツ群-メタデータ行列Aと称する。
コンテンツ群-メタデータ行列Aについてさらに詳しく説明する。
例えば、グループ化処理部3によりn種類(n個の軸)(nは、1以上の任意の整数値)のコンテンツ群が生成されたとし、n種類のコンテンツ群のそれぞれに対して、符号di(i=0乃至n-1)が付されたとする。また、重み付け計算部4により、メタデータ記憶部2に記憶されたメタデータの中から、m個(mは、1以上の任意の整数値)のメタデータが処理対象として選択され、m個のメタデータのそれぞれに対して、符号tj(j=0乃至m-1)が付されたとする。
なお、m個のメタデータtjのそれぞれは、グループ化処理部3がコンテンツのグループ化に使用したメタデータとは異なるメタデータであるとする。例えば、上述したように、コンテンツがメールであって、そのメールのメタデータのうちの、「ユーザにとってのメール相手」が、コンテンツのグループ化に使用される場合がある。このような場合、メタデータtjのそれぞれは、「ユーザにとってのメール相手」以外のメタデータの中から選択される。
以上のような前提のもと、例えば、メタデータtjに対するコンテンツ群diの重み値をWijと記述すると、メタデータベクトルはTj=(W0j,W1j, ... ,W(n-1)j)といった、n個の成分からなる(n次元の)ベクトルになる。従って、重み付け計算部4は、m個のメタデータtjのそれぞれに対して、n個の成分からなるメタデータベクトルTjのそれぞれを生成し、それらを列ベクトルとして(行列の列成分として)左から符号jの順番(0乃至m-1の順番)で並べて、n行m列の行列を生成する。このn行m列の行列が、コンテンツ群-メタデータ行列Aとなる。
次に、コンテンツ群-メタデータ行列Aの各成分の値Wij、即ち、メタデータベクトルTjの成分でもある、メタデータtjに対するコンテンツ群diの重み値Wijの計算方法(手法)について説明する。
本発明においては、コンテンツ群diとメタデータtjの関連性の強さと、メタデータtjに対するコンテンツ群diの特定性とを考慮した重み付けを行うことができる。さらに、コンテンツ群diとメタデータtjの関連性の強さ、および、メタデータtjに対するコンテンツ群diの特定性に加えて、コンテンツ群diに対するメタデータtjの特定性を考慮した重み付けを行うこともできる。
そこで、以下、はじめに、コンテンツ群diとメタデータtjの関連性の強さと、メタデータtjに対するコンテンツ群diの特定性とを考慮した、コンテンツ群-メタデータ行列Aの各成分の値(重み値)Wijの計算方法(第1の手法)について説明する。次に、コンテンツ群diとメタデータtjの関連性の強さと、メタデータtjに対するコンテンツ群diの特定性とに加えてさらに、コンテンツ群diに対するメタデータtjの特定性も考慮した、コンテンツ群-メタデータ行列Aの各成分の値(重み値)Wijの計算方法(第2の手法)について説明する。
第1の手法においては、次の式(1)のように行列成分の値Wijを演算することができる。なお、式(1)で演算される行列成分の値Wijとは、上述したように、結局、メタデータベクトルTj=(W0j,W1j, ... ,W(n-1)j)の各成分の値、即ち、メタデータtjに対するコンテンツ群diの重み値でもある。
Wij = Ci * TFij * ITF(NTi) ・・・(1)
式(1)において、TFijは、コンテンツ群diとメタデータtjの関連性の強さを示す値を示しており、例えば、次の第1の値乃至第3の値等を適用することが可能である。
即ち、第1の値とは、コンテンツ群diに出現するメタデータtjの単純な頻度、または正規化された頻度(各iにおける最大頻度で除算するで求められる値等)である。
第2の値とは、コンテンツ群diに対するメタデータtjのヒューリスティックに決められた関連性の強さを示す値である。
第3の値とは、コンテンツ群diの中で、メタデータtjを含むコンテンツの個数である。
このように、第1の値乃至第3の値等である値TFijは、コンテンツ群diとメタデータtjの関連性の強さの指標値であると言える。例えば、コンテンツ群が文書の集合体とされ、メタデータが文書中に登場し得る単語とされた場合、とある文書diに特定の単語tjが多く出現していれば、文章diは単語tjを特徴付ける重要な手がかりとなるからである。
また、上述した式(1)において、ITF(NTi)は、コンテンツ群diが含むメタデータの種類数をNTiと記述したとき、種類数NTiが増加するに従い単調減少となる関数を示している。例えば、関数ITF(NTi)として、次の式(2)の右辺に示されるような関数を適用することが可能である。
ITF(NTi) = log(NT/NTi)+1 ・・・(2)
なお、式(2)において、NTは、全てのメタデータの種類数を示している。
このように、関数ITF(NTi)の出力値は、コンテンツ群diが含むメタデータの種類数NTiに対して単調減少となる関数の出力値であるので、メタデータtjに対するコンテンツ群diの特定性の指標値であると言える。
なぜならば、例えば、コンテンツ群がテレビジョン放送番組群(例えば、連続ドラマの各回の集合体等)とされ、メタデータがテレビジョン放送番組の出演者となり得るタレントとされた場合、とあるテレビジョン放送番組群diにおいて出演者の人数(即ち、メタデータの種類数NTi)が少なければ、その出演者の一人であるタレントtjは、そのテレビジョン放送番組群diを特徴付ける有力な手がかりとなるからである。換言すると、タレントtjは、そのテレビジョン放送番組群diにおいてのメイン出演者であると判断することができ、タレントtjを嗜好するユーザにとって、テレビジョン放送番組群diはチェックすべきテレビジョン放送番組群のうちのひとつである可能性が高いからである。なお、この場合、式(2)における、値NTには、テレビジョン放送番組に出演しうるタレントの総数が代入され、値NTiには、テレビジョン放送番組群diにおける出演者数が代入される。
上述した式(1)において、Ciは、コンテンツ群di毎に設定される任意の係数(例えば、重みの時間変化を示す係数等)であって、各コンテンツ群di間の比重を任意に変えることができる係数である。
このように、上述した式(1)で演算される重み値(行列Aの成分)Wijは、即ち、係数Ci、値TFij、および、関数ITF(NTi)の出力値の全てを掛け合わせ、その結果得られる値Wijは、コンテンツ群diとメタデータtjの関連性の強さと、メタデータtjに対するコンテンツ群diの特定性とが考慮された重み値であると言える。
なぜならば、上述したように、コンテンツ群diとメタデータtj自体の結びつきが強くなるほど、値TFijは大きくなり、それに応じて重み値Wijも大きくなることから、コンテンツ群diとメタデータtjの関連性の強さが考慮されているからである。また、コンテンツ群diに関連するメタデータの種類数NTiが少なくなるほど、関数ITF(NTi)の出力値は大きくなり、それに応じて重み値Wijも大きくなることから、メタデータtjに対するコンテンツ群diの特定性、即ち、メタデータtjがコンテンツ群diをどの程度表現できるか(どの程度特定できるのか)の度合が考慮されているからである。
以上、コンテンツ群diとメタデータtjの関連性の強さと、メタデータtjに対するコンテンツ群diの特定性とを考慮した、コンテンツ群-メタデータ行列Aの各成分Wijの値(重み値)の計算方法(第1の手法)について説明した。
次に、コンテンツ群diとメタデータtjの関連性の強さ、メタデータtjに対するコンテンツ群diの特定性、および、コンテンツ群diに対するメタデータtjの特定性を考慮した、コンテンツ群-メタデータ行列Aの各成分Wijの値(重み値)の計算方法(第2の手法)について説明する。
第2の手法においては、次の式(3)のように行列成分の値Wijを演算することができる。
Wij = Ci * TFij * ITF(NTi) * IDF(NDj) ・・・(3)
式(3)において、Ci,TFij,ITF(NTi)のそれぞれの値または関数は、式(1)における対応する値または関数のそれぞれと同一である。
これに対して、式(3)において、IDF(NDj)は、式(1)には存在しない関数であって、メタデータtjを含むコンテンツ群の数をNDjと記述したとき、コンテンツ群の数Ndjが増加するに従い単調減少となる関数を示している。例えば、関数IDF(NDj)として、次の式(4)の右辺に示されるような関数を適用することが可能である。
IDF(NDj) = log(ND/NDj)+1 ・・・(4)
なお、式(4)において、NDは、コンテンツ群の全ての数(総数)を示している。
このように、関数IDF(NDj)の出力値は、メタデータtjを含むコンテンツ群の数をNDjに対して単調減少となる関数の出力値であるので、コンテンツ群diの特定性に対するメタデータtjの特定性の指標値であるといえる。
なぜならば、例えば、コンテンツ群が、ユーザと各メール相手のそれぞれとの間でやり取りされたメール群とされ、メタデータがメールに登場し得る単語とされた場合、とある単語tjが登場するメール群の数(即ち、メタデータtjを含むコンテンツ群の数NDj)が少なくなるほど、メール群diは、単語tjを特徴付けるのに有効なメール群となっていくからである。換言すると、複数のメール相手の中でも特にメール群diをやり取りしたメール相手が、その単語tjを重要視している、ということがわかるからである。なお、この場合、式(4)における、値NDには、例えば、ユーザがこれまでに送受信したメール群の数(メール群がメール相手で分類されている場合、メール相手の人数)が代入され、値NDjには、それらのメール群のうちの、単語tjが登場するメール群(単語tjを含むメールをやり取りしたメール相手の人数)の数が代入される。
このように、上述した式(3)で演算される重み値(行列Aの成分)Wijは、即ち、係数Ci、値TFij、関数ITF(NTi)、および、関数IDF(NDj)の全てを掛け合わせ、その結果得られる値Wijは、コンテンツ群diとメタデータtjの関連性の強さ、メタデータtjに対するコンテンツ群diの特定性、および、コンテンツ群diに対するメタデータtjの特定性がともに考慮された重み値であると言える。
なぜならば、上述したように、コンテンツ群diとメタデータtj自体の結びつきが強くなるほど、値TFijは大きくなり、それに応じて重み値Wijも大きくなることから、コンテンツ群diとメタデータtjの関連性の強さが考慮されているからである。また、コンテンツ群diに関連するメタデータの種類数NTiが少なくなるほど、関数ITF(NTi)の出力値は大きくなり、それに応じて重み値Wijも大きくなることから、メタデータtjに対するコンテンツ群diの特定性、即ち、メタデータtjがコンテンツ群diをどの程度表現できるのか(どの程度特定できるのか)の度合が考慮されているからである。
さらに、これらの考慮に加えて、メタデータtjを含むコンテンツ群の数NDjが少なくなるほど、関数IDF(NDj)の出力値は大きくなり、それに応じて重み値Wijも大きくなることから、コンテンツ群diに対するメタデータtjの特定性、即ち、コンテンツ群diがメタデータtjをどの程度表現できるのか(どの程度特定できるのか)の度合が考慮されているからである。
ところで、上述した式(1)の演算結果である値Wijを、WTijと書き換えると、上述した式(3)は、次の式(5)のように表現することもできる。
Wij = WTij * IDF(NDj) ・・・(5)
また、上述したように、値WTijとは、メタデータベクトルTjの各成分の値、即ち、メタデータtjに対するコンテンツ群diの重み値でもある。
そこで、重み付け計算部4は、対象となるm個のメタデータtj毎に、上述した式(1)を演算して、対象となるn個コンテンツ群diのそれぞれの重み値WTijを算出し、算出された各重み値WTijのそれぞれを対応する成分に代入することで、m個のメタデータベクトルTj(WT0j,WT1j, ... ,WT(n-1)j)のそれぞれを生成する。
そして、重み付け計算部4は、m個のメタデータベクトルTj(WT0j,WT1j, ... ,WT(n-1)j)のそれぞれを列ベクトルとして左から順に並べた行列、即ち、m個のメタデータベクトルTj(WT0j,WT1j, ... ,WT(n-1)j)を列成分として有する行列を、コンテンツ群-メタデータ行列Aとして生成する。
これにより、コンテンツ群-メタデータ行列Aは、コンテンツ群diとメタデータtjの関連性の強さ、および、メタデータtjに対するコンテンツ群diの特定性が考慮された行列となる。
さらに、コンテンツ群diに対するメタデータtjの特定性の考慮が必要な場合、重み付け計算部4は、コンテンツ群-メタデータ行列Aの各成分の値WTijのそれぞれについて、上述した式(5)の演算を施すことで、各成分の値WTijのそれぞれを値Wijのそれぞれに更新する。
これにより、コンテンツ群-メタデータ行列Aは、コンテンツ群diとメタデータtjの関連性の強さ、および、メタデータtjに対するコンテンツ群diの特定性に加えてさらに、コンテンツ群diに対するメタデータtjの特定性も考慮された行列となる。
ところで、上述した例では、コンテンツ群-メタデータ行列Aは、m個のメタデータベクトルTjの集合体であると捉えたが、とあるコンテンツ群diに対するm個のメタデータtjのそれぞれの重み値を成分として有する特徴ベクトル、即ち、とあるコンテンツ群diを特徴付ける特徴ベクトル(以下、コンテンツベクトルCjと称する)がn個集まった集合体であると捉えることもできる。
このように捉えた場合、重み付け計算部4は、次のような処理を実行することで、コンテンツ群-メタデータ行列Aを生成することができる。
即ち、重み付け計算部4は、対象となるn個のコンテンツ群di毎に、例えば、次の式(6)を演算して、対象となるm個のメタデータtjのそれぞれの重み値WDijを算出し、算出された各重み値WDijのそれぞれを対応する成分に代入することで、n個のコンテンツベクトDi(WDi0,WDi1, ... ,WDi(m-1))のそれぞれを生成する。
WDij = Ci * TFij * IDF(NDj) ・・・(6)
そして、重み付け計算部4は、n個のコンテンツベクトDiのそれぞれを行ベクトルとして上から順に並べた行列、即ち、n個のコンテンツベクトルDiを行成分として有する行列を、コンテンツ群-メタデータ行列Aとして生成する。
これにより、コンテンツ群-メタデータ行列Aは、コンテンツ群diとメタデータtjの関連性の強さ、および、コンテンツ群diに対するメタデータtjの特定性が考慮された行列となる。
さらに、重み付け計算部4は、コンテンツ群-メタデータ行列Aの各成分の値WDijのそれぞれについて、例えば、次の式(7)の演算を施すことで、各成分の値WDijのそれぞれを値Wijのそれぞれに更新する。
Wij = WDij * ITF(NTi) ・・・(7)
これにより、コンテンツ群-メタデータ行列Aは、コンテンツ群diとメタデータtjの関連性の強さ、および、コンテンツ群diに対するメタデータtjに加えてさらに、メタデータtjに対するコンテンツ群diの特定性も考慮された行列となる。
以上、コンテンツ群-メタデータ行列Aの生成方法、即ち、コンテンツ群-メタデータ行列Aの各成分の値Wijの決定方法について、2つの方法を説明したが、上述した2つの方法に限定されず、さらに様々な方法を採用することができる。
例えば、重み付け計算部4は、はじめに、コンテンツ群-メタデータ行列Aの1乃至n行のそれぞれに対して、コンテンツ群d0乃至dn-1のそれぞれを割り当て、かつ、コンテンツ群-メタデータ行列Aの1乃至m列のそれぞれに対して、メタデータt0乃至tm-1のそれぞれを割り当てた上で、即ち、コンテンツ群-メタデータ行列Aの構成を予め設定した上で、コンテンツ群-メタデータ行列Aの各成分に、上述した式(3)の演算結果である各値Wijを直接代入してもよい。
即ち、結局のところ、上述した式(3)を演算したのと等価な値(コンテンツ群diに対するメタデータtjの特定性の考慮が不要な場合には式(1)を演算したのと等価な値)である値Wijが、コンテンツ群-メタデータ行列Aの各成分の値として最終的に決定されればよく、それまでの演算過程、即ち、その値Wijの演算方法は特に限定されない。
このようにして、重み付け計算部4により生成されたコンテンツ群-メタデータ行列Aは、行列記憶部5に記憶される。
ベクトル演算部6は、行列記憶部5からコンテンツ群-メタデータ行列Aを取得し、その列成分または行成分である、重み付けがなされた特徴ベクトルを抽出する(コンテンツベクトルとして抽出してもよいし、メタデータベクトルとして抽出してもよい)。そして、ベクトル演算部6は、抽出された特徴ベクトルを用いて各種処理を実行する。例えば、ベクトル演算部6は、ベクトルマッチング、クラスタリング、主成分分析等の処理を実行することができる。
具体的には、例えば、上述したようにして重み付けされたコンテンツ群-メタデータ行列Aにおいは、その列成分であるm個のメタデータベクトルTjのうちの、メタデータベクトルTk(kは、0乃至m-1のうちのいずれか)に着目した場合、そのメタデータベクトルTkの各成分の値(重み値)のそれぞれは、n個のコンテンツ群diのそれぞれの、メタデータtkにとっての重要度を示していることになる。
従って、ベクトル演算部6は、m個のメタデータベクトルTjのうちの少なくとも一部を利用して、次のような第1の処理乃至第4の処理等を実行することができる。
即ち、第1の処理とは、メタデータtkにとっての重要なコンテンツ群を抽出する処理である。第2の処理とは、各メタデータtj(各メタデータベクトルTj)同士の類似度を余弦相関などを用いて求める処理である。第3の処理とは、各メタデータtjのそれぞれを、それらの各成分の値(重み値)に基づいて、2以上の種類に分類する処理(コンテンツ群diに基づいてクラスタリングを行う処理)である。第4の処理とは、各メタデータtjを用いる所定の統計的処理である。具体的には、例えば、第4の処理とは、LSA(Latent Semantic Analysis)などの主成分分析を適用して、射影空間での第1の処理乃至第3の処理の操作やコンテンツ群diの次元を小さくしてコンテンツ群空間を再計算する処理等である。
さらに、ベクトル演算部6は、従来のように、コンテンツ群-メタデータ行列Aの行成分であるn個のコンテンツベクトルDiを利用して、上述した第1の処理乃至第4の処理等を同様に実行することも可能である。
なお、ベクトル演算部6は、ベクトルマッチング等の処理を行う場合、マッチング相手、即ち、例えば、推薦候補となる新たなコンテンツをコンテンツ記憶部8から取得したり、その推薦候補となる新たなコンテンツに関連付けられたメタデータをメタデータ記憶部2から取得することもある。
また、ベクトル演算部6の処理は省略されてもよい。
このようなベクトル演算部6の演算結果は、推薦部7に供給される。
すると、推薦部7は、ベクトル演算部6の演算結果に基づいて、ユーザに推薦すべき情報、例えば、ユーザに推薦すべきコンテンツを示す情報を生成し、ユーザ呈示部9に供給する。
また、推薦部7は、ベクトル演算部6の処理が省略された場合等、行列記憶部5からコンテンツ-メタデータ行列Aを直接取得し、コンテンツ-メタデータ行列Aの特徴、即ち、重み付けがなされたコンテンツベクトルまたはメタデータベクトルの1以上の特徴に基づいて、ユーザに推薦すべき情報、例えば、ユーザに推薦すべきコンテンツを示す情報を生成し、ユーザ呈示部9に供給することもできる。この場合、推薦部7は、必要に応じてコンテンツ記憶部8の記憶内容を参照することもある。
コンテンツ記憶部8は、上述したように、各種コンテンツを記憶しており、必要に応じて、メタデータ取得部1、グループ化処理部3、ベクトル演算部6、推薦部7、または、ユーザ呈示部9等から参照される。
ユーザ呈示部9は、推薦部7から供給される情報や、コンテンツ記憶部8に記憶されているコンテンツ等、各種情報をユーザに呈示する。即ち、ユーザ呈示部9は、ユーザへのインタフェースであり、文字や画像を表示するためのディスプレイや、音楽を再生するためのスピーカなどで構成することが可能である。
なお、上述した説明では、メタデータ取得部1乃至ユーザ呈示部9のそれぞれは、1つの情報処理装置の構成要素であるとしたが、他の情報処理装置の構成要素とされてもよい。
即ち、図1は、情報処理システム、例えば、サーバクライアントシステムの機能的構成例を示していると捉えることができる。このように捉えた場合、ユーザ呈示部9がユーザの間近にある必要がある点を除いては、メタデータ取得部1乃至ユーザ呈示部9のそれぞれの配置場所は、特に限定されず、例えば、図示せぬネットワークを介したサーバクライアントシステムのうちのいずれの場所に配置されても構わない。
換言すると、図1は、X台(Xは、1以上の任意の整数値であって、X=1の場合の例を上述した)の情報処理装置からなる情報処理システムであって、メタデータ取得部1乃至ユーザ呈示部9のそれぞれを、X台の情報処理装置のうちの、任意の1以上の情報処理装置に設けることが可能であるとも言える。例えば、メタデータ記憶部2やコンテンツ記憶部8等は、1台の情報処理装置に設けられる必要は無く、複数台の情報処理装置のそれぞれに設けられてもよい。即ち、コンテンツやメタデータは、一括して管理される必要は無く(一つの場所に保存される必要は無く)、分散管理をしても構わない(様々な場所に分散して保存しても構わない)。
以上、図1の情報処理装置の機能的構成例について説明した。
ここで、繰り返しになるが、図1の情報処理装置のうちの、重み付け計算部4、グループ化処理部3、ベクトル演算部6、および、推薦部7の特徴について再度説明する。
即ち、上述したように、重み付け計算部4は、1以上のコンテンツの集合体であるn個のコンテンツ群と、n個のコンテンツ群のそれぞれに含まれるコンテンツのうちの1以上に関連付けられたメタデータのうちの、m個のコンテンツとを対象として、n個のコンテンツ群のそれぞれ毎に、m個のメタデータのそれぞれの重み値を各成分として有するm次元のコンテンツベクトルのそれぞれを生成するか、または、m個のメタデータのそれぞれ毎に、n個のコンテンツ群のそれぞれの重み値を各成分として有するn次元のメタデータベクトルを生成することができる、という特徴を有している。
この場合、重み付け計算部4は、コンテンツベクトルまたはメタデータベクトルの各成分の中から、処理の対象として注目すべき注目成分を決定し、n個のコンテンツ群のうちの注目成分に対応する注目すべき注目コンテンツ群と、m個のメタデータのうちの注目成分に対応する注目すべき注目メタデータとの関連性の強さを考慮するとともに、注目メタデータに対する注目コンテンツ群の特定性を考慮して、注目メタデータまたは注目コンテンツ群の重み付けを行い(例えば、上述した式(1)を演算し)、その結果得られる値を、注目成分に代入すべき重み値として決定することができる、という特徴も有している。
さらに、重み付け計算部4は、注目コンテンツ群に対する注目メタデータの特定性を考慮して、注目メタデータまたは注目コンテンツ群の重み付けを行い(例えば、上述した式(3)を演算し)、その結果得られる値を、注目成分に代入すべき重み値として決定することもできる、という特徴も有している。
また、グループ化処理部3は、コンテンツ記憶部8に記憶されている1以上のコンテンのそれぞれを、予め設定されたn種類(軸)のうちのいずれかの種類(軸)に分類し、n種類(軸)毎に、1以上のコンテンツのうちの、対応する種類(軸)に分類されたコンテンツの集合体をコンテンツ群としてそれぞれ生成することができる、という特徴を有している。
また、ベクトル演算部6や推薦部7は、重み付け計算部4により生成されたコンテンツベクトルまたはメタデータベクトルを利用して、即ち、ここでは、行列記憶部5に記憶されたコンテンツ群−メタデータ行列Aの各行成分または各列成分を利用して、所定の処理を実行することができる、という特徴を有している。
次に、図2のフローチャートを参照して、図1の情報処理装置が実行する処理のうちの、コンテンツやメタデータを収集し、それらに基づいて上述したコンテンツ群-メタデータ行列Aを生成し、それを用いて所定の処理を実行するまでの一連の処理(以下、行列生成使用処理と称する)について説明する。
はじめに、ステップS1において、情報処理装置は、コンテンツを収集して、コンテンツ記憶部8に記憶させる。
例えば、ここでは、ステップS1の処理でコンテンツとして、送受信メールが収集されるとする。即ち、ステップS1の処理で、情報処理装置が過去に受信した(受信部は図示せず)、その情報処理装置を利用するユーザ宛の受信メールが収集されたり、情報処理装置がユーザ操作に基づいて過去に作成して送信した(操作部、作成部、送信部等は図示せず)、他のユーザ宛の送信メールが収集される。
ステップS2において、メタデータ取得部1は、ステップS1の処理で収集されたコンテンツのそれぞれに関連するメタデータを取得し、メタデータ記憶部2に記憶させる。
具体的には、例えば、いまの場合、送受信メールがコンテンツとされているので、送受信メールに含まれる単語が、メタデータとして抽出されてメタデータ記憶部2に記憶される。さらに、送信メールの場合にはその宛先(ユーザにとってのメール相手)が、受信メールの場合にはその差出人(ユーザにとってのメール相手)が、それぞれメタデータとして取得されてメタデータ記憶部2に記憶される。
ステップS3において、グループ化処理部3は、ステップS1の処理で収集されたコンテンツをグループ化する。即ち、ステップS3の処理で、1以上のコンテンツ群が生成される。
具体的には、例えば、いまの場合、メタデータ記憶部2には、各送受信メールのそれぞれのメタデータのひとつとして、ユーザにとってのメール相手がそれぞれ記憶されているので、グループ化処理部3は、2以上の「ユーザにとってのメール相手」のそれぞれを、グループ化するための軸としてそれぞれ設定することができる。
この場合、グループ化処理部3は、ステップS1の処理で収集された送受信メールのそれぞれを、メタデータ記憶部2に記憶されているメタデータのうちの、対応する送受信メールにおける「ユーザにとっての送信相手」に基づいて、設定された2以上の軸のうちの対応する軸に分類する。
より具体的には、例えば、いま、「ユーザにとってのメール相手」として、bさん、cさん、および、dさんが存在し、bさん、cさん、および、dさんのそれぞれが、異なる3つの軸のそれぞれに対応付けられたとする。
この場合、ステップS1の処理で収集された送受信メールは、bさんの軸、cさんの軸、および、dさんの軸のそれぞれに分類されることになる。
換言すると、次のような第1のコンテンツ群乃至第3のコンテンツ群が生成される。即ち、第1のコンテンツ群とは、ユーザにとってのメール相手がbさんであるメール、即ち、ユーザとbさんとの間でやり取りされたメールの集合体を指す。第2のコンテンツ群とは、ユーザにとってのメール相手がcさんであるメール、即ち、ユーザとcさんとの間でやり取りされたメールの集合体を指す。第3のコンテンツ群とは、ユーザにとってのメール相手がdさんであるメール、即ち、ユーザとdさんとの間でやり取りされたメールの集合体を指す。
なお、以下、第1のコンテンツ群とbさんとを個々に区別する必要が無い場合、第1のコンテンツ群をbさんと称する。換言すると、第1のコンテンツ群の呼称をbさんとする。同様に、以下、第2のコンテンツ群とcさんとを個々に区別する必要が無い場合、第2のコンテンツ群をcさんと称する。換言すると、第2のコンテンツ群の呼称をcさんとする。また、以下、第3のコンテンツ群とdさんとを個々に区別する必要が無い場合、第3のコンテンツ群をdさんと称する。換言すると、第3のコンテンツ群の呼称をdさんとする。
次に、ステップS4において、重み付け計算部4は、ステップS3の処理で生成された各コンテンツ群のそれぞれと、ステップS2の処理で生成された各メタデータのそれぞれとの関係を示す、上述したコンテンツ群−メタデータ行列Aを生成する。
そして、ステップS5において、重み付け計算部4は、上述したような重み付け演算を行い、コンテンツ群−メタデータ行列Aの各成分の値を更新する。
即ち、ステップS5の処理の終了時点において、コンテンツ群−メタデータ行列Aの各成分のそれぞれの値は、上述したように、上述した式(3)の演算結果(コンテンツ群diに対するメタデータtjの特定性の考慮が不要な場合には式(1)の演算結果)と等価な値Wijとなる。
換言すると、ステップS5の処理の終了時点において、コンテンツ群−メタデータ行列Aの各成分のそれぞれの値が、上述した式(3)の演算結果(コンテンツ群diに対するメタデータtjの特定性の考慮が不要な場合には式(1)の演算結果)と等価な値Wijとなってさえいれば、ステップS4の処理で生成されるコンテンツ群−メタデータ行列Aの各成分に代入される初期値や、ステップS5の処理における、各成分の値(初期値)を更新するための重み付けの演算方法は、特に限定されない。
具体的には、例えば、ここでは、上述した他の例とは異なり、ステップS4の処理で、重み付け計算部4は、次のような処理を実行することで、コンテンツ群-メタデータ行列Aを生成するとする。
即ち、重み付け計算部4は、対象となるn個のコンテンツ群di(いまの場合、n=3であり、d0=bさんであり、d1=cさんであり、d2=dさんである)毎に、例えば、次の式(8)を演算することで、対象となるm個のメタデータ(いまの場合、単語)tjのそれぞれの重み値Woijを算出する。次に、重み付け計算部4は、算出された各重み値Woijのそれぞれを対応する成分に代入することで、n(=3)個のコンテンツベクトDi(Woi0,Woi1, ... ,Woi(m-1))のそれぞれを生成する。
Woij = TFij ・・・(8)
なお、ここでは、説明の簡略上、式(8)の右辺の値TFij、即ち、コンテンツ群diとメタデータtjの関連性の強さの指標値TFijは、コンテンツ群diに出現するメタデータtjの単純な頻度とされる。
また、対象となるメタデータtjは、4種類の単語とされ、具体的には、例えば、メタデータt0乃至t4のそれぞれは、「ラーメン」、「温泉」、「会議」、および「LSI」といった4種類の単語のそれぞれとされる。
さらに、ここでは、例えば、bさんの中では(ユーザとbさんとの間でやり取りされた送受信メール群の文章の中では)、「ラーメン」、「温泉」、「会議」、および「LSI」のそれぞれの登場回数が、「2」回、「0」回、「0」回、「0」回であったとする。
また、例えば、cさんの中では(ユーザとcさんとの間でやり取りされた送受信メール群の文章の中では)、「ラーメン」、「温泉」、「会議」、および「LSI」のそれぞれの登場回数が、「0」回、「2」回、「2」回、「1」回であったとする。
また、例えば、dさんの中では(ユーザとdさんとの間でやり取りされた送受信メール群の文章の中では)、「ラーメン」、「温泉」、「会議」、および「LSI」のそれぞれの登場回数が、「2」回、「1」回、「0」回、「3」回であったとする。
このような場合、重み付け計算部4は、bさん(=d0)に対応するコンテンツベクトD0として(2,0,0,0)を、cさん(=d1)に対応するコンテンツベクトD1として(0,2,2,1)を、dさん(=d2)に対応するコンテンツベクトD2として(2,1,0,3)を、それぞれ生成することになる。
そして、重み付け計算部4は、3個ののコンテンツベクトD0乃至D2のそれぞれを、1行目乃至3行目のそれぞれに配置させた(行成分とする)行列、即ち、図3に示されるような行列A1を、コンテンツ群-メタデータ行列Aとして生成する。
この図3のコンテンツ群-メタデータ行列A1では、コンテンツ群diとメタデータtjの関連性の強さが考慮されているが、メタデータtjに対するコンテンツ群diの特定性の強さは考慮されていない(上述した式(8)参照)。
そこで、図3のコンテンツ群-メタデータ行列A1を、コンテンツ群diとメタデータtjの関連性の強さと、メタデータtに対するjコンテンツ群diの特定性とがともに考慮された行列に更新するために、重み付け計算部4は、図2のステップS5の処理で、例えば、図3のコンテンツ群-メタデータ行列A1の各成分Woijのそれぞれについて、次の式(9)の演算を施すことで、各成分の値Woijのそれぞれを、値Wijのそれぞれに更新する。
Wij = Woij * Ci * ITF(NTi) ・・・(9)
ただし、ここでは、説明の簡略上、式(9)における、Ci とITF(NTi)とのそれぞれは、次の式(10)と式(11)で表されるとする。
ITF(NTi) = NT/NTi ・・・(10)
Ci = 1 ・・・(11)
いまの場合、式(10)において、値NTには、全送受信メールでの単語の種類数が代入され、値NTiには、メール群di(いまの場合、d0=bさん、d1=cさん、d2=dさんのそれぞれ)に出現する単語の種類数が代入されることになる。
具体的には、例えば、いまの場合、「ラーメン」、「温泉」、「会議」、および「LSI」の4つ種類の単語が全種類であるとされれば、値NTには4が代入される。
また、bさん(=d0)においては、「ラーメン」、「温泉」、「会議」、および「LSI」の4種類のうちの、「ラーメン」といった1種類が登場しているので、bさん(=d0)に対応する値NT0には、1が代入される。
同様に、cさん(=d1)においては、「ラーメン」、「温泉」、「会議」、および「LSI」の4種類のうちの、「温泉」、「会議」、および「LSI」といった3種類が登場しているので、cさん(=d1)に対応する値NT1には、3が代入される。
dさん(=d2)においては、「ラーメン」、「温泉」、「会議」、および「LSI」の4種類のうちの、「ラーメン」、「温泉」および「LSI」といった3種類が登場しているので、dさん(=d2)に対応する値NT2には、3が代入される。
その結果、式(10)によると、bさん(=d0)に対応するITF(NT0)は4(=4/1)となり、cさん(=d1)に対応するITF(NT1)は4/3となり、dさん(=d2)に対応するITF(NT3)は4/3となる。
従って、式(9)によると、図3のコンテンツ群-メタデータ行列A1のうちの、bさん(=d0)に対応する行成分(第1行目の成分)を構成する各成分、即ち、bさん(=d0)に対応するコンテンツベクトルD0(2,0,0,0)の各成分のそれぞぞれの値2,0,0,0のそれぞれに対して、ITF(NT0)=4が乗じられ、その結果、bさん(=d0)に対応する行成分(第1行目の成分)は、(2,0,0,0)から(8,0,0,0)に更新される。
以下、同様に、図3のコンテンツ群-メタデータ行列A1のうちの、cさん(=d1)に対応する行成分(第2行目の成分)を構成する各成分、即ち、cさん(=d1)に対応するコンテンツベクトルD1(0,2,2,1)の各成分のそれぞぞれの値0,2,2,1のそれぞれに対して、ITF(NT1)=4/3が乗じられ、その結果、cさん(=d1)に対応する行成分(第2行目の成分)は、(0,2,2,1)から(0,8/3,8/3,4/3)に更新される。
図3のコンテンツ群-メタデータ行列A1のうちの、dさん(=d2)に対応する行成分(第3行目の成分)を構成する各成分、即ち、dさん(=d2)に対応するコンテンツベクトルD2(2,1,0,3)の各成分のそれぞぞれのあたい2,1,0,3のそれぞれに対して、ITF(NT2)=4/3が乗じられ、その結果、dさん(=d2)に対応する行成分(第3行目の成分)は、(2,1,0,3)から(8/3,4/3,0,4)に更新される。
以上の結果、いまの場合、ステップS5の処理で、図3のコンテンツ群-メタデータ行列A1は、図4に示されるようなコンテンツ群-メタデータ行列A2に更新されることになる。
このような計算過程で生成された図4のコンテンツ群-メタデータ行列A2も、結局、上述した式(1)の演算結果と等価な値Wijのそれぞれを各成分として有する行列であると言える。従って、図4のコンテンツ群-メタデータ行列A2も、コンテンツ群diとメタデータtjの関連性の強さ、および、メタデータtjに対するコンテンツ群diの特定性が考慮された行列となる。
具体的には、例えば、更新前の図3のコンテンツ群-メタデータ行列A1では、「ラーメン(メタデータt0)」に対するコンテンツ群の特定性は、bさん(コンテンツ群d0)とdさん(コンテンツ群d2)とも同一となっている。それぞれに対応する成分の値Wo00と成分の値Wo20のいずれもが2となっているからである。
これに対して、メタデータtjに対するコンテンツ群diの特定性を考慮することを目的として更新された結果である、図4のコンテンツ群-メタデータ行列A2では、「ラーメン(メタデータt0)」に対するコンテンツ群の特定性は、bさん(コンテンツ群d0)の方が、dさん(コンテンツ群d2)よりも高くなる。bさん(コンテンツ群d0)に対応する成分の値W00が8となっているのに対して、dさん(コンテンツ群d2)に対応する成分の値W20が8/3となっているからである。
即ち、図4のコンテンツ群-メタデータ行列A2は、更新前の図3のコンテンツ群-メタデータ行列A1と比較して、「ラーメン(メタデータt0)」と言えば、即ち、ラーメンの話題と言えば、dさん(コンテンツ群d2)よりも、その「ラーメン」の話題を中心としたメールだけをやり取りしたと推定されるbさん(ユーザとbさんとの間でやり取りされたメールの集合体であるコンテンツ群d0)である、といった判断を行うことが可能な行列であると言える。
ここまでの処理、即ち、図4のコンテンツ群-メタデータ行列A2が生成された段階で、図2のステップS5の処理を終了して、処理を後述するステップS6に進めてもよい。即ち、図4のコンテンツ群-メタデータ行列A2が行列記憶部5に記憶されてもよい。
ただし、上述したように、図4のコンテンツ群-メタデータ行列A2では、コンテンツ群diとメタデータtjの関連性の強さ、および、メタデータtjに対するコンテンツ群diの特定性が考慮されているが、コンテンツ群diに対するメタデータtjの特定性がまだ考慮されていない。
そこで、ステップS5の処理のひとつとして、重み付け計算部4は、図4のコンテンツ群-メタデータ行列A2を生成した後、さらに次のような処理を実行してもよい。
即ち、重み付け計算部4は、図4のコンテンツ群-メタデータ行列A2の各成分の値をWijから上述したWDijと記述し直した場合、コンテンツ群-メタデータ行列A2の各成分の値WDijのそれぞれについて、例えば、上述した式(7)を演算することで、各成分の値を、値WDijのそれぞれから、値Wijのそれぞれに更新する。
ただし、ここでは、例えば、上述した式(7)における関数IDF(NDj)は、次の式(12)の右辺の関数が採用されるとする。
IDF(NDj) = ND/NDj ・・・(12)
また、式(12)において、例えば、値NDには、ユーザにとってのメール送受信相手の数が代入され、値NDjには、単語(メタデータ)tjが出現するメール群(コンテンツ群)diの数が代入される。
具体的には、例えば、いまの場合、ユーザにとってのメール送受信相手が、bさん、cさん、および、dさんの3人であるとすち、値NDには3が代入される。
また、例えば、「ラーメン(=t0)」が出現するのは、bさん(=d0)とdさん(=d2)なので、値ND0には2が代入される。
同様に、例えば、「温泉(=t1)」が出現するのは、cさん(=d1)とdさん(=d2)なので、値ND1には2が代入される。
また、例えば、「会議(=t2)」が出現するのは、cさん(=d1)なので、値ND2には1が代入される。
また、例えば、「LSI(=t3)」が出現するのは、cさん(=d1)とdさん(=d2)なので、値ND3には2が代入される。
重み付け計算部4は、以上の各値(ND,NDj)のそれぞれを、式(12)に代入して関数IDF(NDj)の出力値のそれぞれを演算し、さらに、その関数IDF(NDj)の出力値のそれぞれを上述した式(7)に代入して各成分の値Wijのそれぞれを演算するこ。その結果、図4のコンテンツ群-メタデータ行列A2は、さらに、図5に示されるようなコンテンツ群-メタデータ行列A3に更新されることになる。
このような計算過程で生成された図5のコンテンツ群-メタデータ行列A3も、結局、上述した式(3)の演算結果と等価な値Wijのそれぞれを各成分として有する行列であると言える。従って、図5のコンテンツ群-メタデータ行列A3も、コンテンツ群diとメタデータtjの関連性の強さ、メタデータtjに対するコンテンツ群diの特定性、および、コンテンツ群diに対するメタデータtjの特定性がともに考慮された行列となる。
具体的には、例えば、更新前の図4のコンテンツ群-メタデータ行列A2では、「cさん(ユーザとcさんの間でやり取りされたメールの集合体からなるコンテンツ群d1)」に対するメタデータの特定性は、「温泉(メタデータt1)」と「会議(メタデータt2)」とも同一となっている。それぞれに対応する成分の値WD11と成分の値WD12がいずれも3/8であるからである。
これに対して、コンテンツ群diに対するメタデータtjの特定性を考慮することを目的として更新された結果である、図5のコンテンツ群-メタデータ行列A3では、「cさん(コンテンツ群d1)」に対するメタデータの特定性は、「会議(メタデータt2)」の方が「温泉(メタデータt1)」よりも高くなる。「温泉(メタデータt1)」に対応する成分の値W11が4であるのに対して、「会議(メタデータt2)」に対応する成分の値W12が8であるからである。
換言すると、図5のコンテンツ群-メタデータ行列A3は、更新前の図4のコンテンツ群-メタデータ行列A2と比較して、「cさん(コンテンツ群d1)」と言えば、「温泉(メタデータt1)」よりも「会議(メタデータt2)」の話題を重要視する、といった判断が可能になる行列であると言える。即ち、図5のコンテンツ群-メタデータ行列A3は、他の2人とやりとりしたメール群(bさんであるコンテンツ群d0と、cさんであるコンテンツ群d2)には出現していない「会議(メタデータt2)」という単語の重み(cさん(コンテンツ群d1)にとっての重み)が相対的に上がった行列であると言える。
以上の図2のステップS5の処理の結果、図4のコンテンツ群-メタデータ行列A2または図5のコンテンツ群-メタデータ行列A3等のコンテンツ群-メタデータ行列Aが行列記憶部5に記憶されると、処理はステップS6に進められる。
ステップS6において、ベクトル演算部6と推薦部7(或いは、それらのうちの一方)は、行列記憶部5に記憶されたコンテンツ群-メタデータ行列Aを取得し、その各成分の値Wijに基づいて所定の処理を実行する。
例えば、ベクトル演算部6は、ある単語に関連の深いコンテンツ群を特定することができる。具体的には、例えば、上述したように、図4のコンテンツ群-メタデータ行列A2または図5のコンテンツ群-メタデータ行列A3を利用することで、ベクトル演算部6は、「ラーメン」という単語に関連の深いメール群は、ユーザとcさんとの間でやり取りされていたメール群であると判断することができる。さらに、その結果として、ベクトル演算部6は、「ラーメン」という単語に関連の深い人物はcさんである、といったように、ある単語に関連の深い人物(コンテンツ群に関連する情報)を特定することもできる。
このようなステップS6の処理が終了すると、行列生成使用処理自体も終了となる。
以上、図1の情報処理装置(またはシステム)を例として、本発明が適用される情報処理装置(またはシステム)について説明した。
このような本発明が適用される情報処理装置(またはシステム)は、次のような様々な効果を奏することが可能になる。
即ち、メタデータとコンテンツの関連性の強さと、メタデータに対するコンテンツの特定性とを考慮した、特徴ベクトルの生成や、その特徴ベクトルの各成分の重み付けを実現できる、という効果である。さらには、メタデータとコンテンツの関連性の強さ、メタデータに対するコンテンツの特定性、およびコンテンツに対するメタデータの特定性をともに考慮した、特徴ベクトルの生成や、その特徴ベクトルの各成分の重み付けを実現できる、という効果である。
また、かかる効果を奏することが可能な特徴ベクトルを使用した各種処理、例えば、特定のメタデータにおける重要コンテンツ群の抽出処理、メタデータ同士の類似度の計算やクラスタリングの処理、コンテンツ群の次元の圧縮処理等を実現できる、という効果である。
ところで、上述した一連の処理は、ハードウエアにより実行させることもできるが、ソフトウエアにより実行させることができる。
この場合、図1の情報処理システムは、1台以上の図6に示されるようなパーソナルコンピュータで構成することができる。なお、1台以上としたのは、上述したように、1台の情報処理装置(パーソナルコンピュータ)として構成される形態も、情報処理システムの一形態であると言えるからである。また、後述するように、システムとは、複数の処理部により構成される装置全体も含むからである。
図6において、CPU(Central Processing Unit)101は、ROM(Read Only Memory102に記録されているプログラム、または記憶部108からRAM(Random Access Memory)103にロードされたプログラムに従って各種の処理を実行する。RAM103にはまた、CPU101が各種の処理を実行する上において必要なデータなども適宜記憶される。
CPU101、ROM102、およびRAM103は、バス104を介して相互に接続されている。このバス104にはまた、入出力インタフェース105も接続されている。
入出力インタフェース105には、キーボード、マウスなどよりなる入力部106、ディスプレイなどよりなる出力部107、ハードディスクなどより構成される記憶部108、および、モデム、ターミナルアダプタなどより構成される通信部109が接続されている。通信部109は、インターネットを含むネットワークを介して他の情報処理装置(図示せず)との通信処理を行う。
入出力インタフェース105にはまた、必要に応じてドライブ110が接続され、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどよりなるリムーバブル記録媒体111が適宜装着され、それらから読み出されたコンピュータプログラムが、必要に応じて記憶部108にインストールされる。
一連の処理をソフトウエアにより実行させる場合には、そのソフトウエアを構成するプログラムが、専用のハードウエアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、ネットワークや記録媒体からインストールされる。
このようなプログラムを含む記録媒体は、図6に示されるように、装置本体とは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されている磁気ディスク(フロッピディスクを含む)、光ディスク(CD-ROM(Compact Disk-Read Only Memory),DVD(Digital Versatile Disk)を含む)、光磁気ディスク(MD(Mini-Disk)を含む)、もしくは半導体メモリなどよりなるリムーバブル記録媒体(パッケージメディア)111により構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに提供される、プログラムが記録されているROM102や、記憶部108に含まれるハードディスクなどで構成される。
なお、本明細書において、記録媒体に記録されるプログラムを記述するステップは、その順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
また、本明細書において、システムとは、複数の装置や処理部により構成される装置全体を表すものである。
1 メタデータ取得部, 2 メタデータ記憶部, 3 グループ化部, 4 重み付け計算部, 5 行列記憶部, 6 ベクトル演算部, 7 推薦部, 8 コンテンツ記憶部, 9 ユーザ呈示部