以下、本発明の実施の形態について図を参照して説明する。なお、説明は以下の順序で行う。
1.第1の実施の形態(嗜好情報の作成〜推薦アイテムの提示)
2.第2の実施の形態(アイテムの空間表示)
3.第3の実施の形態(ユーザの空間表示)
4.その他の変形例
<1.第1の実施の形態>
[情報処理システムの構成例]
図1は、本発明を適用した情報処理システムの一実施の形態を示すブロック図である。図1の情報処理システムは、アイテム、アイテムに関する情報、および、情報処理システムのユーザに関する情報などをユーザに提示するシステムである。ここで、アイテムとは、テレビジョン番組、動画、静止画、文書、楽曲、ソフトウェア、情報などの各種のコンテンツ、および、各種の商品(タレント等の人物を含む)などである。情報処理システムは、入出力装置11および情報処理装置12から構成される。
入出力装置11は、ユーザが、情報処理装置12に対して情報や指令を入力したり、情報処理装置12から提供される情報をユーザに提示する場合に用いられる。入出力装置11は、キーボード、マウス、マイクロホンなどからなる入力部21、および、専用のモニタ、または、CE(Consumer Electronics)機器に備えられているディスプレイなどからなる表示部22から構成される。
情報処理装置12は、ユーザ評価取得部31、ユーザ評価保持部32、評価情報抽出部33、評価情報保持部34、リンク情報保持部35、アイテム特徴量保持部36、アイテム特徴量選択部37、評価情報選択部38、嗜好情報作成部39、嗜好情報保持部40、提示部41から構成される。
ユーザ評価取得部31は、入力部21を介してユーザにより入力された、各アイテムに対する評価(以下、ユーザ評価という)を取得し、ユーザ評価保持部32および評価情報抽出部33に供給する。ユーザ評価は、例えば、入力部21としてのキーボードから直接入力されたり、入力部21としてのマイクロホンから入力された音声が音声認識されて得られた文章や、予め用意されていた文書等におけるテキストデータである。また、ユーザ評価は、5段階評価における英数字等であってもよい。
ユーザ評価保持部32は、ユーザ評価取得部31から供給されたユーザ評価を記録(保持)する。ユーザ評価保持部32に記録されているユーザ評価は、必要に応じて、提示部41に供給される。
評価情報抽出部33は、ユーザ評価取得部31から供給されたユーザ評価を解析し、ユーザのアイテムに対する評価を表す評価情報として抽出して、評価情報保持部34に供給する。
例えば、評価情報抽出部33は、ユーザ評価がテキストデータ(自然文)であった場合、例えばN. Kobayashi, “Opinion Mining from Web Documents: Extraction and Structurization”, 人工知能学会論文誌, Vol.22, No.2, pp.227-238, 2007.に開示されている手法により、ユーザ評価から、「好き/嫌い」や「爽やか」等の、アイテムに対するユーザの嗜好を表す単語を、評価情報として抽出し、評価情報保持部34に供給する。さらに、評価情報抽出部33は、ユーザ評価(テキストデータ)から、ユーザの評価対象とされるアイテム(を示す単語)を抽出し、アイテムの属性(評価基準となった側面)等とともに、評価情報として、評価情報保持部34に供給する。
また、評価情報抽出部33は、ユーザ評価が、2以上のアイテムについての評価であった場合、ユーザ評価から、ユーザの評価対象とされる2以上のアイテム(を示す単語)を抽出し、これらを対応付けて、そのアイテムの属性等とともに、リンク情報として、リンク情報保持部35に供給する。
評価情報保持部34は、評価情報抽出部33から供給された評価情報を記録する。評価情報保持部34に記録されている評価情報は、必要に応じて、評価情報選択部38および提示部41に供給される。
リンク情報保持部35は、評価情報抽出部33から供給されたリンク情報を記録する。リンク情報保持部35に記録されているリンク情報は、必要に応じて、提示部41に供給される。
アイテム特徴量保持部36は、アイテムの特徴を表す情報であるアイテム特徴量を記録する。アイテム特徴量は、その具体例については、図8を参照して後述するが、アイテムの一般的なジャンルとしてのアイテム種別、および、そのアイテムを特徴付ける要素である特徴量種別を含むように構成される。アイテム種別は、例えば、曲、アルバム、アーティスト等である。特徴量種別は、そのアイテムが楽曲であればその音楽的な特徴、動画や静止画であればその画像としての特徴、アイテムとしてのコンテンツについて記述された文章またその文章に含まれる単語、関連する人物や国の情報等である。また、特徴量種別には、それぞれ重要度や程度を表す重み(スコア)が定義されてもよい。なお、アイテム特徴量は、アイテム特徴量保持部36に予め記録されていてもよいし、インターネットなどのネットワークを介して取得されてもよい。
アイテム特徴量選択部37は、入力部21を介してユーザにより入力された、所定のアイテム種別についてのアイテム特徴量を選択する指示に基づいて、そのアイテム種別に応じたアイテム特徴量を、アイテム特徴量保持部36において選択し、取得する。アイテム特徴量選択部37は、取得したアイテム特徴量を、嗜好情報作成部39に供給する。
評価情報選択部38は、入力部21を介してユーザにより入力された、所定の評価情報を選択する指示に基づいて、その評価情報を、評価情報保持部34において選択し、取得する。評価情報選択部38は、取得した評価情報を、嗜好情報作成部39に供給する。
嗜好情報作成部39は、アイテム特徴量選択部37から供給されたアイテム特徴量と、評価情報選択部38から供給された評価情報とに基づいて、図9を参照して後述するような嗜好情報を作成する。嗜好情報は、所定のアイテムに対するユーザの嗜好の傾向を表す情報である。嗜好情報作成部39は、作成した嗜好情報を、嗜好情報保持部40に供給する。
嗜好情報保持部40は、嗜好情報作成部39から供給された嗜好情報を記録(保持)する。嗜好情報作成部39に保持されている嗜好情報は、必要に応じて、提示部41に供給される。
提示部41は、入出力装置11の入力部21を介して入力される、各種の情報の提示の指令に基づいて、所定の情報を、ユーザ評価保持部32、リンク情報保持部35、アイテム特徴量保持部36、および嗜好情報保持部40から必要に応じて取得する。さらに、提示部41は、取得した情報に対して、図10以降の図面を参照して後述するような処理を施して、表示部22に供給することにより、ユーザへの各種の情報の提示を行う。
なお、入出力装置11と情報処理装置12とを1つの装置により構成するようにしてもよいし、別個の装置として構成するようにしてもよい。入出力装置11と情報処理装置12が別個の装置により構成される場合、入出力装置11は、例えば、パーソナルコンピュータ、携帯電話機、CE機器などのユーザ端末により構成され、情報処理装置12は、例えば、Webサーバやアプリケーションサーバなどの各種のサーバにより構成される。この場合、図1の情報処理システムにおいては、複数の入出力装置11が、例えば、インターネットなどのネットワークを介して情報処理装置12に接続される。また、情報処理装置12を複数の装置により構成するようにすることも可能である。
なお、以下、入出力装置11がユーザ端末により構成され、情報処理装置12がサーバにより構成される場合の例について説明する。
[情報処理装置の評価情報抽出処理]
次に、図2のフローチャートを参照して、情報処理装置12の評価情報抽出処理について説明する。
ステップS11において、ユーザ評価取得部31は、入力部21を介してユーザにより入力された、図3に示されるようなユーザ評価を取得し、ユーザ評価保持部32および評価情報抽出部33に供給する。さらに、ユーザ評価取得部31は、入力部21から、ユーザ評価とともに、入出力装置11を扱うユーザを表すユーザ名称を取得し、ユーザ評価保持部32および評価情報抽出部33に供給する。なお、ステップS11において、ユーザ評価がユーザ評価保持部32に供給されると、ユーザ評価保持部32は、そのユーザ評価を、ユーザ名称とともに記録する。
図3に示されるように、ユーザ評価は、そのユーザ評価を入力したユーザ(のユーザ名称)に対応付けられている。より具体的には、「この曲Aは爽やかだなぁ」というユーザ評価は、「ユーザ1」に対応付けられており、「アーティストαってかっこよくない!」というユーザ評価もまた、「ユーザ1」に対応付けられている。また、「曲Bのメロディ、実に美しい」というユーザ評価は、「ユーザ2」に対応付けられており、「曲Aは声がちょっと不快なんだよな」というユーザ評価は、「ユーザ3」に対応付けられている。
図2のフローチャートに戻り、ステップS12において、評価情報抽出部33は、ユーザ評価取得部31から供給されたユーザ評価(図3)に対して、形態素解析や構文解析の処理を施し、図4で示されるような評価情報を抽出して、評価情報保持部34に供給する。
図4に示されるように、評価情報は、ユーザ評価を入力したユーザ(のユーザ名称)、ユーザ評価における評価対象としてのアイテム(のアイテム名称)、アイテムの属性、アイテムに対する評価(ユーザの嗜好)の種類を区別する評価種別、評価種別の極性(ポジティブな評価であるかネガティブな評価であるか)を表すP/N(Positive/Negative)、評価種別で表される嗜好の程度を表す強さ、および、評価情報の基となるユーザ評価が入力された時刻を含むように構成される。より具体的には、図4において、一番上には、ユーザが「ユーザ1」であり、アイテムが「曲A」であり、評価種別が「爽やか」であり、P/Nが「P」(ポジティブ)であり、時刻が、2008年12月1日12時00分00秒を表す「2008-12-01 12:00:00」である評価情報が示されている。上から2番目には、ユーザが「ユーザ1」であり、アイテムが「曲A」であり、評価種別が「好き」であり、P/Nが「P」(ポジティブ)であり、時刻が、2008年12月3日10時00分00秒を表す「2008-12-03 10:00:00」である評価情報が示されている。上から3番目には、ユーザが「ユーザ1」であり、アイテムが「アーティストα」であり、属性が「ルックス」であり、評価種別が「かっこいい」であり、P/Nが「P」(ポジティブ)であり、強さが「−3」であり、時刻が、2008年12月10日21時00分00秒を表す「2008-12-10 21:00:00」である評価情報が示されている。上から4番目には、ユーザが「ユーザ2」であり、アイテムが「曲B」であり、属性が「メロディ」であり、評価種別が「美しい」であり、P/Nが「P」(ポジティブ)であり、強さが「5」であり、時刻が、2008年12月15日1時00分00秒を表す「2008-12-15 01:00:00」である評価情報が示されている。そして、上から5番目には、ユーザが「ユーザ3」であり、アイテムが「曲A」であり、属性が「声」であり、評価種別が「不快」であり、P/Nが「N」(ネガティブ)であり、強さが「2」であり、時刻が、2008年12月7日11時00分00秒を表す「2008-12-07 11:00:00」である評価情報が示されている。
なお、図4において、上から1,3,4,5番目の評価情報のそれぞれは、図3において、上から1,2,3,4番目のユーザ評価のそれぞれに対応している。
評価情報抽出部33は、ユーザ評価(図3)に、評価種別に対応する単語(「美しい」や「不快だ」)が示す嗜好の程度を表す語(「実に」や「ちょっと」)が含まれている場合は、図4の評価情報に示されるように、その程度に応じた強さを抽出する。なお、この強さは、ユーザが直接入力するようにしてもよいし、5段階評価によるユーザ評価である場合には、その値をそのまま用いるようにしてもよい。
また、評価情報抽出部33は、ユーザ評価(図3)に、評価種別に対応する単語を否定する表現(「かっこよくない」等の「〜ない」)が含まれている場合は、図4の評価情報に示されるように、評価種別に対して負の強さを抽出する。
なお、評価情報における時刻を、ユーザ評価が入力された時刻としたが、これに限らず、例えば、ユーザ評価に含まれる時刻に関する情報(単語)から類推される時刻を適用するようにしてもよい。例えば、「去年まではアーティストβを好きだったんだけどな」というユーザ評価における「去年」から類推される時刻(現在時刻の1年前の時刻)を、評価情報における時刻とすることができる。
また、図示されないが、評価情報に、確かさを表す確信度を例えば0乃至1の連続値で付加するようにしてもよい。例えば、評価情報抽出部33は、「この人の曲は聞いたことないけど多分好きになると思う」というユーザ評価から、「多分」という確かさに関する単語を抽出し、この「多分」に対して予め設定されている確信度(例えば0.2)を、評価種別が「好き」である評価情報に付加するようにしてもよい。また、評価情報抽出部33は、「アーティストγは下手だ」というユーザ評価から、「〜だ」という確かさ(断定)に関する単語を抽出し、この「〜だ」に対して予め設定されている確信度(例えば1.0等の値)を、評価種別が「下手」である評価情報に付加するようにしてもよい。
また、ステップS12においては、評価情報抽出部33は、ユーザ評価が、2つのアイテムについての評価であった場合、ユーザ評価から、ユーザの評価対象とされる2つのアイテム(アイテム名称)を抽出し、図5に示されるようなリンク情報として、リンク情報保持部35に供給する。より具体的には、例えば、評価情報抽出部33は、「アーティストαとアーティストβは同じようなサウンドだ」というユーザ評価に対して構文解析等を行い、「アーティストα」と「アーティストβ」の並列関係を抽出する。
図5に示されるように、リンク情報は、ユーザ評価を入力したユーザ(のユーザ名称)、ユーザ評価における評価対象としての2つのアイテム1,2(のアイテム名称)、これらのアイテムの属性、および、ユーザ評価から得られるアイテム同士の結びつきの程度を表す強さを含むように構成される。より具体的には、図5において、一番上には、ユーザが「ユーザ1」であり、アイテム1が「アーティストα」であり、アイテム2が「アーティストβ」であり、属性が「サウンド」であり、強さが「3」である評価情報が示されている。上から2番目には、ユーザが「ユーザ1」であり、アイテム1が「曲A」であり、アイテム2が「曲B」であり、強さが「5」である評価情報が示されている。上から3番目には、ユーザが「ユーザ2」であり、アイテム1が「曲A」であり、アイテム2が「曲C」であり、属性が「声」であり、強さが「2」である評価情報が示されている。
なお、リンク情報は、ユーザ評価におけるアイテム同士の並列関係から抽出されるものとしたが、例えば、抽出された評価情報において、同一の評価種別が抽出されたアイテム同士をリンク情報で結び付けることで生成されるようにしてもよい。
図2のフローチャートに戻り、ステップS13において、評価情報保持部34は、ユーザ評価取得部31から供給されたユーザ評価を記録する。
ステップS14において、リンク情報保持部35は、評価情報抽出部33から供給されたリンク情報を記録する。
以上の処理によれば、情報処理装置12は、ユーザ毎の、所定のアイテムに対する評価を評価情報として記録することができる。
[情報処理装置の嗜好情報作成処理]
次に、図6のフローチャートを参照して、情報処理装置12の嗜好情報作成処理について説明する。
ステップS31において、アイテム特徴量選択部37は、入力部21を介してユーザにより入力されたアイテム種別に基づいて、そのアイテム種別に応じたアイテム特徴量を、アイテム特徴量保持部36において選択し、取得する。アイテム特徴量選択部37は、取得したアイテム特徴量を、嗜好情報作成部39に供給する。
ここで、図7を参照して、アイテム特徴量保持部36に記録されているアイテム特徴量の例について説明する。
図7に示されるように、アイテム特徴量は、アイテム(アイテム名称)に、アイテム種別、特徴量種別、および、特徴量種別についての重みを表すスコアが対応付けられて構成される。より具体的には、アイテム「曲A」には、アイテム種別としての「曲」、特徴量種別としての「楽曲特徴量1」および「楽曲特徴量2」が対応付けられている。「曲A」についての「楽曲特徴量1」および「楽曲特徴量2」には、それぞれ「3.1」および「9.3」のスコアが定義されている。アイテム「曲B」には、アイテム種別としての「曲」、特徴量種別としての「楽曲特徴量1」および「楽曲特徴量2」が対応付けられている。「曲B」についての「楽曲特徴量1」および「楽曲特徴量2」には、それぞれ「4.2」および「2.2」のスコアが定義されている。アイテム「アーティストα」には、アイテム種別としての「アーティスト」、特徴量種別としての「キーワード1」が対応付けられている。「アーティストα」についての「キーワード」には、それぞれ「1」のスコアが定義されている。
このようなアイテム特徴量において、同一の特徴量種別が対応付けられているアイテム同士は、一般的な概念や粒度が異なっていても、同一のアイテム種別を対応付けることができる。例えば、曲、アルバム、アーティストのアイテムそれぞれに、特徴量種別としてキーワード1が対応づけられている場合、これらのアイテムには、同一のアイテム種別(例えば、「ミュージック」等)を対応づけることができる。
図6のフローチャートに戻り、ステップS32において、評価情報選択部38は、入力部21を介してユーザにより入力された評価種別に基づいて、その評価種別に応じた評価情報を、評価情報保持部34において選択し、取得する。ユーザによる評価種別の入力がない場合には、例えば、「好き/嫌い」等の評価種別をデフォルトで決めておいてもよい。また、評価情報に確信度が付加されている場合には、確信度が所定の値より大きい評価情報の評価種別を取得するようにしてもよい。評価情報選択部38は、取得した評価情報を、嗜好情報作成部39に供給する。さらに、選択し、取得される評価情報は、複数であってもよい。
ステップS33において、嗜好情報作成部39は、アイテム特徴量選択部37から供給されたアイテム特徴量と、評価情報選択部38から供給された評価情報とに基づいて、嗜好情報を作成し、嗜好情報保持部40に供給する。嗜好情報は、例えば、評価情報の時刻が直近6ヶ月等の所定期間である評価情報に基づいて作成されるようにしてもよい。嗜好情報作成部39は、上述の特許文献1,2における回帰式または判別式の機械学習アルゴリズムを用いて、アイテム特徴量および評価情報の属性に応じて、嗜好情報を作成する。ここで、アイテム特徴量および評価情報の属性とは、アイテム特徴量および評価情報が、数値で表されるか名称で表されるかを示す情報であり、前者を数値属性、後者を名称属性という。すなわち、数値化可能な、楽曲特徴量等の特徴量種別が対応付けられているアイテム特徴量は数値属性であり、数値化されない、キーワード等の特徴量種別が対応付けられているアイテム特徴量は名称属性となる。また、数値化可能な、5段階評価等の評価情報は数値属性であり、数値化されない、「好き/嫌い」等の評価種別が対応付けられている評価情報は名称属性である。
ここで、図8を参照して、アイテム特徴量および評価情報の属性に応じた嗜好情報の作成手法について説明する。
図8に示されるように、評価情報の属性と、アイテム特徴量の属性とに応じて、嗜好情報の作成手法は異なっている。また、図8においては、評価情報は、単一評価情報、複数評価情報、およびリンクに分類され、そのうちの単一評価情報について、属性の区別がされている。
まず、評価情報が単一評価情報であって数値属性である場合、アイテム特徴量の属性によらず、線形回帰によって嗜好情報が作成される。
線形回帰においては、アイテム特徴量を従属変数とし、数値属性である評価情報を目的変数とした多重回帰により、回帰係数を求め、各アイテム特徴量に対応する回帰係数を要素とするベクトル(回帰係数ベクトル)を嗜好情報とする。つまり、yを評価情報、x=(x1,x2,…,xM)(Mはアイテム特徴量の種類数)を特徴量ベクトルとし、y=a0+a1x1+a2x2+…+aMxMとして、線形回帰で近似することで、回帰係数ベクトル(a0,a1,a2,…,aM)が嗜好情報として得られる。なお、図8においては、嗜好情報の形式が括弧<>内に示されている。
これは各アイテム特徴量が、どの程度評価情報に影響を与えているか(アイテム特徴量は予め正規化されているものとする)を示すので、ユーザの嗜好情報として適切である。
次に、単一評価情報が名称属性で、アイテム特徴量が数値属性である場合、フィッシャーの線形判別(FDA)によって、嗜好情報が作成される。
例えば、アイテム特徴量が、テンポや生演奏の度合いなどの楽曲特徴量であり、評価情報(評価種別)が「爽やか」である場合、「爽やか」に対応付けられたアイテムと、「爽やか」に対応付けられていないアイテムとを最適に判別するようなフィッシャーの線形判別(FDA)によって決定される変換ベクトルが、嗜好情報として得られる。この変換ベクトルは、アイテム特徴量と同じ次元数であり、どの特徴量がどの程度評価情報に影響を与えているかを示している。
次に、単一評価情報が名称属性で、アイテム特徴量が名称属性である場合、χ2検定によって、嗜好情報が作成される。
χ2検定においては、ある名称属性(キーワード等)のアイテム特徴量と、評価情報(例えば、「爽やか」であるか「爽やか」でないか)に関連があるか否かが検定される。この検定を各アイテム特徴量について実行することで、アイテム特徴量と同じ次元数で、例えば、有意差があれば1、なければ0を要素の値とする2値ベクトルが、嗜好情報として得られる(χ2統計量を要素の値とする連続値ベクトルであってもよい)。この2値ベクトルから、そのユーザにおいてどの特徴量が評価情報と結びつきが強いかがわかる。
次に、評価情報が複数評価情報である場合、アイテム特徴量の属性によらず、正準相関分析によって、嗜好情報が作成される。
正準相関分析においては、2つの空間の線形変換後の相関が最大になるような正準空間に写像する正準相関ベクトル(の集合)を計算する。正準空間には、各評価情報を次元のそれぞれとする評価情報空間と、アイテム特徴量空間とについての2つの正準相関ベクトルが存在するが、どちらを嗜好情報として用いてもよい。なお、最も相関の高い上位数個の正準相関ベクトルからなる変換行列を用いてもよい。
最後に、評価情報がリンク情報である場合、アイテム特徴量の属性によらず、平均リンク長、または、DML(Distance Metric Learning)によって、嗜好情報が作成される。
平均リンク長とは、リンクが張られたアイテム間の各アイテム特徴量の差の、全リンクについての平均値である。この値が大きい特徴量は、リンクすなわち関連性にあまり寄与していない、つまり、対象ユーザにとってはあまり重要な特徴量ではないことになる。平均リンク長による嗜好情報は、各特徴量の平均リンク長を要素とするベクトルで表現される。リンクが張られたアイテムペア(の特徴量ベクトル)を、(xp11,xp12),(xp21,xp22),…,(xpP1,xpP2)とすると(Pはペアの総数)、嗜好情報を表わすベクトルは、Σi|xpi1−xpi2|/Pで表される。
また、DMLによれば、リンク情報が“リンクが張られているアイテム対は同一クラスに属する”などの学習の制約により、ある目的関数を最適化する、特徴量空間から他の空間への変換行列Aが求められる。複数次元の空間への写像の場合、次元の順番に決定不可能性が入る場合があるので、その時は1次元の空間に写像する変換ベクトルを嗜好情報とする。
なお、嗜好情報の生成手法は、上述した手法に限らず、他の手法であってもよい。
図6のフローチャートに戻り、ステップS34において、嗜好情報保持部40は、嗜好情報作成部39から供給された嗜好情報を記録する。
以上の処理によれば、情報処理装置12は、所定のアイテムに対するユーザの嗜好の傾向を表す嗜好情報を作成し、記録することができる。
ここで、図9を参照して、嗜好情報保持部40に記録される嗜好情報の例について説明する。
図9に示される嗜好情報は、ユーザ(のユーザ名称)に、アイテム種別、評価種別、および特徴量情報が対応付けられて構成される。また、特徴量情報には、特徴量情報によって指定される係数についての重みを表すスコアが与えられている。より具体的には、「ユーザ1」には、アイテム種別としての「曲」、評価種別としての「好き or Not」(=「好き/嫌い」)、特徴量情報としての「楽曲特徴量1の係数」および「楽曲特徴量2の係数」が対応付けられており、「楽曲特徴量1の係数」および「楽曲特徴量2の係数」には、それぞれ「3」および「10.3」のスコアが与えられている。「ユーザ1」には、アイテム種別としての「曲」、評価種別としての「爽やか or Not」、特徴量情報としての「楽曲特徴量1の係数」および「楽曲特徴量2の係数」が対応付けられており、「楽曲特徴量1の係数」および「楽曲特徴量2の係数」には、それぞれ「1.2」および「4.5」のスコアが与えられている。「ユーザ1」には、アイテム種別としての「アーティスト」、評価種別としての「かっこいい」(数値で与えられる)、特徴量情報としての「キーワード1の係数」が対応付けられており、「キーワード1の係数」には、「3.9」のスコアが与えられている。「ユーザ2」には、アイテム種別としての「曲」、評価種別としての「好き or Not」、特徴量情報としての「楽曲特徴量1の係数」および「楽曲特徴量2の係数」が対応付けられており、「楽曲特徴量1の係数」および「楽曲特徴量2の係数」には、それぞれ「6.0」および「-0.5」のスコアが与えられている。「ユーザ3」には、アイテム種別としての「曲」、評価種別としての「好き or Not」、特徴量情報としての「楽曲特徴量1の係数」および「楽曲特徴量2の係数」が対応付けられており、「楽曲特徴量1の係数」および「楽曲特徴量2の係数」には、それぞれ「3.1」および「9.9」のスコアが与えられている。
図9において、評価種別が、「好き or Not」または「爽やか or Not」である嗜好情報は、上述したフィッシャーの線形判別(FDA)によって作成されたものであり、評価種別が、数値で表現可能な「かっこいい」である嗜好情報は、上述した線形回帰によって作成されたものである。
図9に示されたような嗜好情報によれば、ユーザ毎の、アイテムに対する嗜好の傾向を得ることができる。
[アイテムに対する嗜好の傾向を提示する情報処理装置の構成例]
ここで、図10を参照して、嗜好情報によって、ユーザ毎の、アイテムに対する嗜好の傾向を提示する情報処理装置の構成例について説明する。
図10の情報処理装置12は、基本的に、図1の情報処理装置12と同様の機能を有し、図10においては、アイテム特徴量保持部37、嗜好情報保持部40、および提示部41を除く構成は、図示しないものとする。
図10の情報処理装置12において、提示部41は、嗜好情報取得部61およびアイテム嗜好度算出部62を備えている。
嗜好情報取得部61は、入力部21を介してユーザにより入力された、所定の評価種別についての嗜好情報を選択する指示に基づいて、その評価種別に応じた嗜好情報を、嗜好情報保持部40から取得する。嗜好情報取得部61は、取得した嗜好情報を、アイテム嗜好度算出部62に供給する。
アイテム嗜好度算出部62は、嗜好情報取得部61からの嗜好情報のアイテム種別に基づいて、アイテム特徴量をアイテム特徴量保持部37から取得し、ユーザの、アイテムに対する嗜好の度合いを示すアイテム嗜好度を算出する。アイテム嗜好度算出部62は、その算出結果(アイテム嗜好度)に対して所定の処理を施して、表示部22に供給する。
[情報処理装置のアイテム嗜好度リスト提示処理]
次に、図11のフローチャートを参照して、図10の情報処理装置によるアイテム嗜好度リスト提示処理について説明する。
ステップS51において、嗜好情報取得部61は、入力部21を介してユーザにより入力された評価種別に基づいて、その評価種別に応じた嗜好情報を、嗜好情報保持部40から取得し、アイテム嗜好度算出部62に供給する。このとき、嗜好情報取得部61によって取得される嗜好情報は、入出力装置11を操作するユーザについての嗜好情報とする。例えば、ユーザ1が入出力装置11を操作し、入力部21を介して、「爽やか or Not」である評価種別を入力した場合、嗜好情報取得部61は、図9における上から3,4番目の嗜好情報を取得する。
ステップS52において、アイテム嗜好度算出部62は、嗜好情報取得部61からの嗜好情報のアイテム種別に基づいて、アイテム特徴量をアイテム特徴量保持部37から取得する。例えば、アイテム嗜好度算出部62は、嗜好情報取得部61からの、嗜好情報におけるアイテム種別「曲」に基づいて、アイテム種別が「曲」であるアイテム特徴量を、アイテム特徴量保持部37から取得する。
ステップS53において、アイテム嗜好度算出部62は、嗜好情報取得部61からの嗜好情報と、アイテム特徴量保持部37から取得したアイテム特徴量とに基づいて、アイテム嗜好度を算出する。例えば、アイテム嗜好度算出部62は、図9における上から3,4番目の嗜好情報(評価種別=「爽やか or Not」)の「楽曲特徴量1の係数」および「楽曲特徴量2の係数」のスコア「1.2」および「4.5」と、図7における「曲A」のアイテム特徴量の「楽曲特徴量1」および「楽曲特徴量2」のスコア「3.1」および「9.3」とに基づいて、ユーザ1の曲Aに対するアイテム嗜好度45.57(=1.2×3.1+4.5×9.3)を算出する。同様に、アイテム嗜好度算出部62は、図9における上から3,4番目の嗜好情報(評価種別=「爽やか or Not」)の「楽曲特徴量1の係数」および「楽曲特徴量2の係数」のスコア「1.2」および「4.5」と、図7における「曲B」のアイテム特徴量の「楽曲特徴量1」および「楽曲特徴量2」のスコア「4.2」および「2.2」とに基づいて、ユーザ1の曲Bに対するアイテム嗜好度14.94(=1.2×4.2+4.5×2.2)を算出する。
ステップS54において、提示部41は、アイテム嗜好度算出部62によって算出されたアイテム嗜好度を降順にソートしたアイテム嗜好度リストを、表示部22に供給することで提示する。例えば、提示部41は、ユーザ1の「爽やか or Not」である評価種別についてのアイテム嗜好度を、曲Bに対するアイテム嗜好度14.94、曲Aに対するアイテム嗜好度45.57の順に、アイテム嗜好度リストとして提示する。
以上の処理によれば、嗜好情報によって、ユーザの、アイテムに対する嗜好の傾向を提示することができるので、ユーザが過去に評価していないアイテムも含めて、ユーザは、アイテムに対する自分の嗜好の傾向を知ることができる。これにより、例えば、ユーザは、自分の好みのアイテムを検索することができる。
以上においては、嗜好情報によって、ユーザの、アイテムに対する嗜好の傾向を提示するようにしたが、嗜好情報によって、他ユーザとの嗜好の類似度を求め、類似する他ユーザの評価したアイテムを提示(推薦)するようにもできる。
[他ユーザの評価したアイテムを提示する情報処理装置の構成例]
ここで、図12を参照して、他ユーザとの嗜好の類似度を求め、類似する他ユーザの評価したアイテム(推薦アイテム)を提示する情報処理装置の構成例について説明する。なお、以下においては、入出力装置11を操作するユーザを、他ユーザに対して、適宜、自ユーザという。
図12の情報処理装置12は、基本的に、図1の情報処理装置12と同様の機能を有し、図12においては、ユーザ評価保持部32、評価情報保持部34、嗜好情報保持部40、および提示部41を除く構成は、図示しないものとする。
図12の情報処理装置12において、提示部41は、嗜好情報取得部81、ユーザ類似度算出部82、類似ユーザ決定部83、アイテム抽出部84、および送信制御部85を備えている。
嗜好情報取得部81は、入力部21を介してユーザにより入力された、所定の評価種別についての嗜好情報を選択する指示に基づいて、その評価種別に応じた各ユーザの嗜好情報を、嗜好情報保持部40から取得する。嗜好情報取得部81は、取得した嗜好情報を、ユーザ類似度算出部82に供給する。
ユーザ類似度算出部82は、嗜好情報取得部81からの各ユーザについての嗜好情報と、各ユーザに対応する評価情報とに基づいて、自ユーザと他ユーザとの類似度を算出し、類似度を付加した嗜好情報を類似ユーザ決定部83に供給する。
類似ユーザ決定部83は、ユーザ類似度算出部82からの類似度が付加された嗜好情報に基づいて、自ユーザと類似する他ユーザである類似ユーザと、自ユーザと類似しない他ユーザである非類似ユーザとを決定する。類似ユーザ決定部83は、類似ユーザ/非類似ユーザ別の嗜好情報をアイテム抽出部84に供給する。
アイテム抽出部84は、類似ユーザ決定部83からの、類似ユーザ/非類似ユーザ別の嗜好情報に基づいて、他ユーザの評価による評価情報を、評価情報保持部34から抽出するとともに、対応するユーザ評価を、ユーザ評価保持部32から抽出する。アイテム抽出部84は、抽出した評価情報におけるアイテム(アイテム名称)と、対応するユーザ評価を表示部22に供給する。表示部22は、アイテム抽出部84から供給されたアイテム名称とユーザ評価を表示(提示)する。
送信制御部85は、入力部21を介してユーザにより入力された、提示されたアイテムやユーザ評価に対するメッセージ(コメント)を、他ユーザ(例えば、他ユーザが操作する入出力装置11等)に送信させる。
[情報処理装置の推薦アイテム提示処理]
次に、図13のフローチャートを参照して、図12の情報処理装置による推薦アイテム提示処理について説明する。
ステップS71において、嗜好情報取得部81は、入力部21を介してユーザにより入力された評価種別に基づいて、その評価種別に応じた各ユーザの嗜好情報を、嗜好情報保持部40から取得し、ユーザ類似度算出部82に供給する。例えば、ユーザ1が入出力装置11を操作し、入力部21を介して、「好き or Not」である評価種別を入力した場合、嗜好情報取得部61は、図9において、ユーザ1,2,3の、評価種別が「好き or Not」である嗜好情報を、嗜好情報保持部40から取得し、ユーザ類似度算出部82に供給する。
ステップS72において、ユーザ類似度算出部82は、嗜好情報取得部81からの、ユーザに入力された評価種別に対応する、各ユーザについての嗜好情報と、各ユーザに対応する評価情報とに基づいて、自ユーザと他ユーザとの類似度を算出し、類似度を付加した嗜好情報を類似ユーザ決定部83に供給する。
ここで、算出される類似度として、嗜好情報同士の類似度(以下、マクロ類似度という)と、評価情報におけるユーザ間の類似度(以下、ミクロ類似度という)とを考える。
マクロ類似度は、嗜好情報同士の距離を計算することで算出されるが、図14に示されるように、評価種別の組み合わせによって、その計算方法は異なる。
図14に示されるように、評価種別の組み合わせが、同一評価種別(1つの評価種別)であるとき、類似度算出の目的は、特定の評価種別の使用(感じ方)が似ているユーザを探すことになる。評価種別の組み合わせが、同一評価種別群(複数の評価種別)であるとき、類似度算出の目的は、特定の評価種別群の使用(感じ方)が似ているユーザを探すことになる。そして、評価種別の組み合わせが、異評価種別(同一でない評価種別)であるとき、類似度算出の目的は、各ユーザの嗜好情報の間で重なる(同一の)評価種別が少ない場合に似ているユーザを探すことになる。
評価種別の組み合わせが同一評価種別である場合は、単純に、嗜好情報同士の距離を計算することで、類似度が算出される。評価種別の組み合わせが同一評価種別群である場合は、嗜好情報同士の距離を、複数の評価種別それぞれについて計算し、その平均を求めることで、類似度が算出される。評価種別の組み合わせが異評価種別である場合は、評価種別としての単語を、シソーラス等により拡張または置換することで、同一の評価種別とみなし、嗜好情報同士の距離に、シソーラス上での単語同士の距離を加味して計算することで、類似度が算出される。
具体的には、例えば、評価種別の組み合わせが同一評価種別である場合、嗜好情報間の距離は、嗜好情報がベクトルで表現されているときは、例えば、Euclid距離やCos距離とされ、嗜好情報が行列で表現されているときは、例えば、Frobeniusノルム等とされる。
例えば、図9に示される嗜好情報において、評価種別「好き or Not」について、ユーザ1とユーザ2との間のEuclid距離D12は、それぞれの嗜好情報におけるスコアより、D12=√((6.0−3.0)2+(-0.5+10.3)2)≒11.3となる。また、ユーザ1とユーザ3との間のEuclid距離D13は、それぞれの嗜好情報におけるスコアより、D13=√((3.1-3.0)2+(9.9-10.3)2)=0.5となる。さらに、類似度を距離の逆数とすると、ユーザ1とユーザ2の類似度は約0.089となり、ユーザ1とユーザ3の類似度は2となる。
一方、ミクロ類似度は、ユーザ同士の評価情報において、評価対象となったアイテムや評価種別等を比較することで得られる。例えば、ユーザ同士の評価情報において、共通するアイテムに対して同一の評価種別が対応づけられたり、評価種別に関わらず、共通するアイテムに対するP/N(ポジティブかネガティブか)が一致している場合、これらのユーザ同士は類似しているとされる。また、共通のアイテムに対して対応付けられている評価種別が単語(キーワード)である場合、その単語同士のシソーラス上での類似度をミクロ類似度としてもよい。ここで、ミクロ類似度を得る際に注目するアイテムは、ユーザが特に好んでいるアイテムや、ユーザが現在視聴しているアイテム等とされる。
なお、ステップS72においては、ユーザ類似度算出部82は、マクロ類似度およびミクロ類似度の両方を求めてもよいし、いずれか一方を求めるようにしてもよい。
図13のフローチャートに戻り、ステップS73において、類似ユーザ決定部83は、ユーザ類似度算出部82からの類似度が付加された嗜好情報に基づいて、類似ユーザと非類似ユーザとを決定する。類似ユーザ決定部83は、類似ユーザ/非類似ユーザ別の嗜好情報をアイテム抽出部84に供給する。例えば、類似ユーザ決定部83は、マクロ類似度に対して所定の閾値を設定し、マクロ類似度がその閾値を超えた場合、そのユーザを類似ユーザとし、閾値を超えなかった場合、そのユーザを非類似ユーザとする。また、類似度によって類似と非類似を二分するのではなく、単に、類似度でソートするだけでもよい。さらに、マクロ類似度およびミクロ類似度の両方が求められている場合、それぞれの類似度について類似/非類似の組み合わせが考えられる。例えば、マクロ類似度については類似ユーザとされ、ミクロ類似度については非類似ユーザとされた場合、このユーザはマクロ類似・ミクロ非類似ユーザとされる。
ステップS74において、アイテム抽出部84は、類似ユーザ決定部83からの、類似ユーザ/非類似ユーザ別の嗜好情報に基づいて、他ユーザの評価による評価情報を、評価情報保持部34から抽出するとともに、対応するユーザ評価を、ユーザ評価保持部32から抽出する。アイテム抽出部84は、抽出した評価情報におけるアイテム(名称)と、対応するユーザ評価を表示部22に供給する。
ステップS75において、表示部22は、アイテム抽出部84から供給されたアイテムの名称とユーザ評価を表示(提示)する。
例えば、アイテム抽出部84は、類似ユーザの嗜好情報に基づいて、自ユーザは評価(視聴)したことのないアイテムが類似ユーザによって高く評価されている評価情報を、評価情報保持部34から抽出する。さらに、アイテム抽出部84は、抽出した評価情報に対応するユーザ評価を、ユーザ評価保持部32から抽出する。このとき、例えば、非特許文献1に記載されているように、複数の他ユーザの類似・非類似(評価値の相関係数)に基づいて、アイテムの予測評価値を計算し、そのアイテムについての評価情報を抽出するようにしてもよい。また、抽出したユーザ評価に基づいて、他ユーザの評価を集計し、例えば、ポジティブな評価の数とネガティブな評価の数等の統計情報が生成されて、提示されるようにしてもよい。
また、アイテム抽出部84は、自ユーザが評価または視聴したことのある(している)アイテムのうち、他ユーザに評価されているものがあれば、対応するユーザ評価と評価情報とが抽出され、提示される。このとき、例えば、評価情報における確信度が所定の値より小さい場合、対応するユーザ評価を提示しないようにもできる。
さらに、SNS(Social Networking Service)等のネットワーク上でのコミュニティサービスの場においては、他ユーザ(類似/非類似ユーザ)の名称やアイコン等を提示するようにしてもよい。
また、マクロ類似度およびミクロ類似度の両方が求められている場合、他ユーザにおける、それぞれの類似度についての類似/非類似の組み合わせによって、以下のように提示させるようにしてもよい。
a)マクロ類似・ミクロ類似ユーザの場合
上述の通りに、アイテムやユーザ評価を提示する。
b)マクロ類似・ミクロ非類似ユーザの場合
他ユーザがユーザ評価のように評価した対象アイテムの属性を特に強調し、自ユーザに提示する。また、評価情報に極性(P/N)が含まれている場合、評価対象アイテムに対する評価情報であって、自ユーザによる評価情報の極性とは逆の評価情報を提示する。例えば、図9の嗜好情報によれば、ユーザ1とユーザ3とは、マクロ類似度は高いが、図3のユーザ評価によれば、同じ曲Aに対して、ユーザ1は「爽やか」であると評価している反面、ユーザ3は、「声がちょっと不快」であると評価しており、ミクロ類似度は低い。この場合、例えば、「ユーザ3は、『曲Aは声がちょっと不快なんだよな』と言っています」等と提示する。
これにより、ユーザは、アイテムに対する他ユーザの感じ方を知ることができる。
c)マクロ非類似・ミクロ類似ユーザの場合
他ユーザが、どのようにマクロ類似度が低いのかを自ユーザに提示する。具体的には、マクロ非類似・ミクロ類似ユーザの全体像(例えば、好きなジャンルや、そのユーザ(またはユーザ群)にとってのトップ10のアーティスト等)を提示する。例えば、曲Cに対して、ロックミュージックが好きなユーザ1がポジティブな評価をしたが、曲Cに対してポジティブな評価をした他のユーザは主にテクノが好きな場合、ユーザ1に対して、「曲Cを評価している人には、テクノ好きが多いようです」等と提示する。また、同じポジティブな評価であっても、ユーザ1はハイテンポで音が分厚い点を評価したが、他のユーザの多くはエフェクトのかかったボーカルを高く評価している場合、「エフェクトのかかったボーカルを好きな人が多いようです」等と提示する。
これにより、ユーザ1は、過去に評価した曲に対して、新しい観点で評価することができるようになる。
なお、上述した提示パターンは、ユーザによって指定されてもよいし、類似/非類似の組み合わせに応じて決定されてもよい。
図13のフローチャートに戻り、ステップS76において、送信制御部85は、入力部21を介してユーザにより入力された、提示されたアイテムやユーザ評価に対するメッセージ(例えば、「同感だな」)を、他ユーザ(例えば、他ユーザが操作する入出力装置11等)に送信させる。また、送信制御部85は、例えば「同感だな」というメッセージを送信した他ユーザを示す情報をユーザ類似度算出部82に供給し、ユーザ類似度算出部82は、他ユーザに対して新たに類似度を算出するとき、前回算出した類似度を、例えばα倍(α>1)した類似度を算出するようにする。
以上の処理によれば、評価(視聴)したことのないアイテムを知ることができたり、既知のアイテムの新たな側面を発見することができる。また、過去に同一のアイテムを評価していなくても、アイテムの特徴に基づいて、嗜好や感性が似ている類似ユーザを見つけることが可能となる。さらに、類似ユーザ(または非類似ユーザ)の、アイテムに対する具体的な評価を知ることが可能となる。
以上においては、嗜好情報によって、他ユーザとの嗜好の類似度を求め、類似する他ユーザの評価したアイテムを提示するようにしたが、嗜好情報によって、類似する評価種別を提示するようにもできる。
[類似する評価種別を提示する情報処理装置の構成例]
ここで、図15を参照して、類似する評価種別を提示する情報処理装置の構成例について説明する。
図15の情報処理装置12は、基本的に、図1の情報処理装置12と同様の機能を有し、図15においては、嗜好情報保持部40および提示部41を除く構成は、図示しないものとする。
図12の情報処理装置12において、提示部41は、嗜好情報取得部101および評価種別類似度算出部102を備えている。
嗜好情報取得部101は、入力部21を介してユーザにより入力された、複数の評価種別についての嗜好情報を選択する指示に基づいて、その評価種別に応じた複数の嗜好情報を、嗜好情報保持部40から取得する。嗜好情報取得部101は、取得した嗜好情報を、評価種別類似度算出部102に供給する。
評価種別類似度算出部102は、嗜好情報取得部101からの複数の嗜好情報のうちの1つの嗜好情報と他の嗜好情報とについて、評価種別の類似度を算出し、その結果を表示部22に供給する。
[情報処理装置の類似評価種別提示処理]
次に、図16のフローチャートを参照して、図15の情報処理装置による類似評価種別提示処理について説明する。
ステップS91において、嗜好情報取得部101は、入力部21を介してユーザにより入力された複数の評価種別に基づいて、自ユーザの、その評価種別に応じた複数の嗜好情報を、嗜好情報保持部40から取得し、評価種別類似度算出部102に供給する。
ステップS92において、評価種別類似度算出部102は、嗜好情報取得部101からの複数の嗜好情報のうちの1つの嗜好情報と他の嗜好情報とについて、評価種別の類似度を算出し、その結果を表示部22に供給する。例えば、評価種別類似度算出部102は、複数の嗜好情報のうちの、評価種別が「好き or Not」である嗜好情報と、他の嗜好情報とについて、それぞれのスコアによる距離を求めることで、評価種別の類似度を算出する。類似度算出の基準となる評価種別(例えば、「好き or Not」)は、ユーザによって選択されてもよいし、ユーザが頻繁に使用するものとしてもよい。
ステップS93において、表示部22は、評価種別類似度算出部102によって算出された類似度に基づいて、所定の値より大きい類似度となった評価種別(類似評価種別)を表示(提示)する。また、表示部22は、評価種別類似度算出部102によって類似度が算出された評価種別を、類似度の大きい順に表示してもよい。
以上においては、自ユーザについての嗜好情報間の距離に基づいて、1つの評価種別に類似する評価種別を提示させるようにしたが、他ユーザについての嗜好情報間の距離に基づいて、自ユーザにとっては特徴的な評価種別を提示させるようにしてもよい。
例えば、複数(例えば、全て)のユーザについて、所定の評価種別についての嗜好情報(変換ベクトルで表されるものとする)から、平均ベクトルμと共分散行列Σを作成する。作成された平均ベクトルμと共分散行列Σに基づいて、自ユーザの嗜好情報Suが平均ベクトルμからどの程度ずれているかを計算することで、他ユーザの評価種別の違いを提示する。例えば、マハラノビス距離((Su−μ)TΣ(Su−μ))1/2が1以上である場合、その評価種別の使い方(意味の捉え方)が他のユーザと異なっていると考えられるので、「あなたの○○の使い方は他ユーザと少し違っています」等と提示する。なお、提示される評価種別は、例えば、その使用頻度によって決定されるようにできる。
また、使用頻度の高い評価種別については、例えば、「あなたはよく“爽やか”と評価しますね」等と提示させるようにしてもよい。
さらに、類似している評価種別のうち、ユーザによって指定された特徴量や、現在視聴されているコンテンツ(アイテム)において最も特徴的な(全アイテムの平均値からのずれ)特徴量に対応する、嗜好情報におけるスコアが最も大きい評価種別を提示させるようにしてもよい。
また、類似度の算出の際、所定の2つの評価種別からなる評価種別対について、シソーラスを定義する木構造におけるパス長が長く、対応する嗜好情報の間の距離が近い場合、また、パス長が短く、嗜好情報の間の距離が遠い場合、ユーザによるその評価種別対の使い方は、一般的ではないもの判断してもよい。
以上においては、嗜好情報に基づいて、類似ユーザや類似ユーザの評価したアイテムを情報として提示させる構成について説明してきたが、類似ユーザや類似ユーザの評価したアイテムを、空間上に表示させるようにすることもできる。
<2.第2の実施の形態>
ここで、図17乃至31を参照して、アイテムの空間表示(可視化)の例について説明する。アイテムが表示される空間の次元数は任意とされるが、以下では、2次元であるものとして説明する。
[アイテムを空間表示する情報処理装置の構成例]
まず、図17を参照して、アイテムを空間表示する情報処理装置の構成例について説明する。
図17の情報処理装置12は、基本的に、図1の情報処理装置12と同様の機能を有し、図17においては、アイテム特徴量保持部37、嗜好情報保持部40、および提示部41を除く構成は、図示しないものとする。
図17の情報処理装置12において、提示部41は、嗜好情報取得部121、アイテム嗜好度算出部122、および表示制御部123を備えている。
嗜好情報取得部121は、入力部21を介してユーザにより入力された、空間を定義する評価種別についての嗜好情報を取得する指示に基づいて、その評価種別に応じた嗜好情報を、嗜好情報保持部40から取得する。嗜好情報取得部121は、取得した嗜好情報を、アイテム嗜好度算出部122に供給する。
また、嗜好情報取得部121は、座標軸決定部121aを備えている。座標軸決定部121aは、入力部21を介してユーザにより入力された、空間を定義する評価種別についての嗜好情報を取得する指示に基づいて、アイテムが表示される空間を定義するための座標軸を決定し、空間定義情報として、アイテム嗜好度算出部122を介して表示制御部123に供給する。
アイテム嗜好度算出部122は、嗜好情報取得部121からの嗜好情報のアイテム種別に基づいて、アイテム特徴量をアイテム特徴量保持部37から取得し、ユーザの、アイテムに対する嗜好の度合いを示すアイテム嗜好度を算出する。アイテム嗜好度算出部122は、その算出結果に対して所定の処理を施して、表示制御部123に供給する。
表示制御部123は、座標軸決定部121aからの空間定義情報と、アイテム嗜好度算出部122からのアイテム嗜好度とに基づいて、アイテム嗜好度を空間上(2次元平面上)に表示させる。
[情報処理装置のアイテム嗜好度空間表示処理]
次に、図18のフローチャートを参照して、図17の情報処理装置によるアイテム嗜好度空間表示処理について説明する。
ステップS111において、嗜好情報取得部121は、入力部21を介してユーザにより入力された評価種別に基づいて、その評価種別に応じた嗜好情報を、嗜好情報保持部40から取得し、アイテム嗜好度算出部122に供給する。
ステップS112において、座標軸決定部121aは、入力部21を介してユーザにより入力された評価種別に基づいて、座標軸を決定し、空間定義情報として、アイテム嗜好度算出部122を介して表示制御部123に供給する。例えば、座標軸決定部121aは、評価種別「好き」についてのFDAによる変換結果(特徴量ベクトル(アイテム特徴量)と変換ベクトル(嗜好情報)との内積)をx軸、評価種別「爽やか」についてのFDAによる変換結果をy軸とする。
ステップS113において、アイテム嗜好度算出部122は、嗜好情報取得部121からの嗜好情報のアイテム種別に基づいて、アイテム特徴量をアイテム特徴量保持部37から取得する。
ステップS114において、アイテム嗜好度算出部122は、嗜好情報取得部121からの嗜好情報(変換ベクトル)と、アイテム特徴量保持部37から取得したアイテム特徴量(特徴量ベクトル)とに基づいて、アイテム嗜好度を算出し、表示制御部123に供給する。
ステップS115において、表示制御部123は、座標軸決定部121aからの空間定義情報と、アイテム嗜好度算出部122からのアイテム嗜好度とに基づいて、アイテム嗜好度を空間上(2次元平面上)に表示させる。このとき、例えば、図19の左側に示されるように、ユーザにとってアイテムが既知であるか未知であるかに応じて、アイテムを表す点の色を変えてもよい。
図19においては、横軸に評価種別「好き」、縦軸に評価種別「爽やか」が示され、黒丸が既知アイテム、白丸が未知アイテムとして表示されている。空間上におけるアイテムは、図19に示されるような黒丸および白丸に限らず、例えば、アイテムに関連する画像等のアイコンであったり、ユーザの視聴頻度に応じた大きさの丸印であってもよい。
ユーザの視聴頻度や、ユーザにとってアイテムが既知であるか未知であるかは、ユーザのアイテムに対する体験の偏りを表している。そこで、これから体験するアイテムを強調させるために、図19の右側に示されるように、ユーザが体験していないアイテムが多く分布する領域において、例えば、座標軸を指数変換して、空間として広く見せるようにしてもよい。図19の右側においては、空間上(平面上)、左上の領域に未知アイテムが分布しているので、左上の領域を広く見せるようになされている。
また、空間上で分布に特徴のある特徴量を表示するようにしてもよい。嗜好情報は、ある評価種別がどの特徴量と深く関連するか(回帰式であれば回帰係数、FDAの変換ベクトルであればその特徴量に対応する要素の値)に基づいて生成される。そこで、例えば、評価種別「好き」および「爽やか」のFDAによってアイテム嗜好度を空間表示した場合、それぞれの評価種別の変換ベクトルの、要素の値が大きい特徴量の名称を、軸の名称(「好き」,「爽やか」)とともに表示するようにしてもよい。また、嗜好情報によって大きさ(2乗和)が最大となる基底を選択し、図20に示されるように、その特徴量ベクトル(生演奏、テンポ)を空間に重ねて表示するようにしてもよい。例えば、FDAの2×F変換行列(Fは特徴量の数)をT={tij}とすると、空間に重ねて表示される特徴量f1,f2は、以下の式(1)で決定される。
式(1)において、fが下にあるargmax()は、fの範囲での、括弧()内の最大値を表す。
以上の処理によれば、嗜好情報によって、ユーザ毎の、アイテムに対する嗜好の傾向を空間上に表示する(可視化する)ことができるので、ユーザが過去に評価していないアイテムも含めて、ユーザは、アイテムに対する自分の嗜好の傾向を直感的に知ることができる。これにより、例えば、ユーザは、自分の好みのアイテムを効率的に検索することができる。
以上においては、アイテムに対する嗜好の傾向を空間上に表示するようにしたが、嗜好の傾向の分布に応じた名称を、空間上に表示するようにもできる。
[空間名称を表示する情報処理装置の構成例]
ここで、図21を参照して、空間名称を表示する情報処理装置の構成例について説明する。
図21の情報処理装置12は、基本的に、図1の情報処理装置12と同様の機能を有し、図21においては、アイテム特徴量保持部37、嗜好情報保持部40、および提示部41を除く構成は、図示しないものとする。
図21の提示部41において、図17の提示部41に設けられたものと同様の機能を備える構成については、同一名称および符号を付するものとし、その説明は、適宜省略するものとする。
すなわち、図21の提示部41において、図17の提示部41と異なるのは、共分散行列計算部141および空間名称決定部142を新たに設け、表示制御部123に代えて、表示制御部143を設けた点である。
共分散行列計算部141は、アイテム嗜好度が表示された空間において、各評価種別について、その評価種別が与えられたアイテムの、その座標軸での共分散行列を計算する。
空間名称決定部142は、共分散行列計算部141によって計算された共分散行列に基づいて、座標軸に対する評価種別毎の分散を求め、分散が所定の値より小さい評価種別を、空間名称としての表示対象とする。
表示制御部143は、図17の表示制御部123が備えている機能に加え、空間名称決定部142によって決定された空間名称を、空間上に表示させる。
[情報処理装置の空間名称表示処理]
次に、図22のフローチャートを参照して、図21の情報処理装置による空間名称表示処理について説明する。
ステップS131において、共分散行列計算部141は、アイテム嗜好度が表示された空間において、各評価種別について、その評価種別が与えられたアイテムの、その座標軸での共分散行列を計算する。より具体的には、アイテム嗜好度が表示された空間は2次元であるので、評価種別Lに対する共分散行列は、以下の式(2)で表される。
ここで、アイテム嗜好度を算出するのに用いられた(すなわち、座標軸に決定された)評価種別は、共分散行列の計算の対象外となる。
ステップS132において、空間名称決定部142は、共分散行列計算部141によって計算された共分散行列に基づいて、座標軸に対する評価種別毎の分散を求め、分散が所定の値より小さい評価種別を、空間名称としての表示対象とする。より具体的には、空間名称決定部142は、全評価種別の分散(共分散行列の対角要素)の平均値(平均分散μ)を求め、分散が平均分散の所定数倍(例えば、0.5倍)以下の評価種別を表示対象とする。平均分散μは、NLを評価種別の種類数とすると、μ=diag(ΣLA(L)/NL)で表される。ここで、diag()は、行列の対角要素からベクトルを取り出す関数である。したがって、各評価種別Lについて、A(L) ii/μi(2次元の場合、i=1,2)が0.5以下になった評価種別Lが、空間名称として決定される。なお、この条件を、1つの軸に対して満たす評価種別Lを空間名称としてもよいし、全ての軸に対して満たす評価種別Lを空間名称としてもよい。
ステップS133において、表示制御部143は、空間名称決定部142によって決定された空間名称を、例えば、図23に示されるように、空間上に表示させる。図23においては、空間名称として決定された各評価種別(軽やか、すっきり、および爽やか)について、その評価種別が与えられたアイテムの、空間上の平均ベクトルを中心として、各軸(横軸および縦軸)に対する標準偏差を長軸および短軸とする楕円が描かれ、併せて、評価種別の名称が表示される。また、空間名称として決定された各評価種別について、共分散行列を計算することで、アイテムの分布によりフィットした楕円を描くようにしてもよい。
以上においては、空間上に分布するアイテムを評価種別毎に囲む楕円を表示させるようにしたが、図24に示されるように、軸の目盛りとして評価種別を表示させるようにもできる。
評価種別を軸の目盛りとして表示させるには、それぞれの評価種別が軸上で重ならないことが望ましいので、例えば、各評価種別が与えられたアイテムの、軸上の平均値の分散が大きい(目盛りの間隔が広い)軸に対して目盛りが表示される。例えば、評価種別Lが与えられたアイテムの2次元空間上での平均ベクトルをμL=(μL1,μL2)とすると、図24において、「好き」軸上の平均値の分散は、v1=var(μ11,μ21,…μNL1)となる。ここで、var(x)は、xの分散を求める関数である。また、「かっこいい」軸上の平均値の分散は、v2=var(μ21,μ22,…μNL2)となる。この分散v1,v2が所定の閾値より大きい軸について、目盛りとして評価種別を表示させる。図24においては、「好き」軸上の分散v1が所定の閾値より大きいとされ、目盛りとして、軽やか、すっきり、および爽やかの評価種別が表示されている。
また、例えば、各評価種別が与えられたアイテムの、間隔の分散が小さい(一定間隔で目盛りが振られる)軸に対して目盛りが表示されるようにしてもよい。
以上の処理によれば、アイテムに対する嗜好の傾向が表示された空間上に、他の嗜好についての情報を表示する(可視化する)ことができるので、ユーザは、アイテムに対する自分の嗜好の傾向を、より直感的に知ることができる。これにより、例えば、ユーザは、自分の好みのアイテムをより効率的に検索することができる。
以上においては、アイテムに対する嗜好の傾向を空間上に表示したり、嗜好の傾向の分布に応じた名称を、空間上に表示する構成について説明してきたが、特定のアイテムが空間の中心になるように表示させるようにもできる。
[特定のアイテムを空間の中心に表示させる情報処理装置の構成例]
ここで、図25を参照して、特定のアイテムを空間の中心に表示させる情報処理装置の構成例について説明する。
図25の情報処理装置12は、基本的に、図1の情報処理装置12と同様の機能を有し、図25においては、アイテム特徴量保持部37、嗜好情報保持部40、および提示部41を除く構成は、図示しないものとする。
図25の提示部41において、図17の提示部41に設けられたものと同様の機能を備える構成については、同一名称および符号を付するものとし、その説明は、適宜省略するものとする。
すなわち、図25の提示部41において、図17の提示部41と異なるのは、部分空間作成部161および平均ベクトル算出部162を新たに設け、表示制御部123に代えて、表示制御部163を設けた点である。
部分空間作成部161は、嗜好情報からなる部分空間(全ての嗜好情報のうちの数個の嗜好情報からなる空間)を複数作成する。
平均ベクトル算出部162は、部分空間作成部161によって作成されたそれぞれの部分空間において、アイテム嗜好度の平均ベクトルを求める。
表示制御部163は、図17の表示制御部123が備えている機能に加え、指定されたアイテムが、平均ベクトル算出部162によって求められた平均ベクトルに最も近い部分空間を表示させる。
[情報処理装置のアイテム嗜好度表示空間表示座標軸変更処理]
次に、図26のフローチャートを参照して、図25の情報処理装置によるアイテム嗜好度表示空間表示座標軸変更処理について説明する。
ステップS151において、部分空間作成部161は、嗜好情報からなる部分空間を複数作成する。例えば、嗜好情報が5個あって、2次元の部分空間を作成する場合、部分空間作成部161は、5C2=10個の部分空間を作成する。
ステップS152において、平均ベクトル算出部162は、部分空間作成部161によって作成されたそれぞれの部分空間において、アイテム嗜好度の平均ベクトルを求める。
ステップS153において、表示制御部163は、例えば、ユーザによって指定されたアイテムが、平均ベクトル算出部162によって求められた平均ベクトルに、Euclid距離等で最も近い部分空間を表示させる。アイテムは、ユーザによって指定される他、現在視聴しているアイテムが自動的に選択されるようにしてもよい。
以上の処理によれば、アイテム嗜好度が表示されている空間において、特定のアイテムが空間の中心になるように表示することができる。
以上においては、特定の1アイテムが空間の中心になるように表示する構成について説明してきたが、特定のアイテム群が最もよくクラスタリングされるように表示させるようにもできる。
[特定のアイテム群をクラスタリングする情報処理装置の構成例]
ここで、図27を参照して、特定のアイテム群をクラスタリングする情報処理装置の構成例について説明する。
図27の情報処理装置12は、基本的に、図1の情報処理装置12と同様の機能を有し、図27においては、アイテム特徴量保持部37、嗜好情報保持部40、および提示部41を除く構成は、図示しないものとする。
図27の提示部41において、図17の提示部41に設けられたものと同様の機能を備える構成については、同一名称および符号を付するものとし、その説明は、適宜省略するものとする。
すなわち、図27の提示部41において、図17の提示部41と異なるのは、部分空間作成部181、クラスタリング部182、および指定クラスタ決定部183を新たに設け、表示制御部123に代えて、表示制御部184を設けた点である。
部分空間作成部181は、嗜好情報からなる部分空間(全ての嗜好情報のうちの数個の嗜好情報からなる空間)を複数作成する。
クラスタリング部182は、部分空間作成部181によって作成されたそれぞれの部分空間において、アイテム嗜好度をクラスタリングする。
指定クラスタ決定部183は、それぞれの部分空間において、指定されたアイテム群が属するクラスタを求める。
表示制御部184は、図17の表示制御部123が備えている機能に加え、指定されたアイテム群が最も多く含まれるクラスタに対応する部分空間を表示させる。
[情報処理装置のアイテム嗜好度表示空間表示座標軸変更処理]
次に、図28のフローチャートを参照して、図27の情報処理装置によるアイテム嗜好度表示空間表示座標軸変更処理について説明する。
ステップS171において、部分空間作成部181は、嗜好情報からなる部分空間を複数作成する。例えば、嗜好情報が5個あって、2次元の部分空間を作成する場合、部分空間作成部181は、5C2=10個の部分空間を作成する。
ステップS172において、クラスタリング部182は、部分空間作成部181によって作成されたそれぞれの部分空間において、アイテム嗜好度を、k-means法等を用いてクラスタリングする。
ステップS173において、指定クラスタ決定部183は、それぞれの部分空間において、例えば、ユーザによって指定されたアイテム群が属するクラスタを求める。このとき、同一クラスタに含まれる指定されたアイテム群の最大値を充足度とする。アイテム群は、ユーザによって指定される他、現在視聴しているアイテムと関連の強いアイテムを自動的に選択するようにしてもよい。
ステップS174において、表示制御部184は、指定されたアイテム群が最も多く含まれるクラスタに対応する部分空間を表示させる。すなわち、充足度が最も大きい部分空間が表示される。充足度が最も大きい部分空間は、指定されたアイテム群のまとまりを最もよく表していると考えることができる。
以上の処理によれば、アイテム嗜好度が表示されている空間において、特定のアイテム群が最もよくクラスタリングされるように表示することができる。
以上においては、自ユーザの嗜好情報に基づいて、空間上にアイテム嗜好度を表示する構成について説明してきたが、他ユーザの嗜好情報に基づいて、空間上にアイテム嗜好度を表示するようにしてもよい。このとき、他ユーザとして類似ユーザを選択することで、アイテムの評価に対する新たな発見を期待することができる。
また、以上においては、嗜好情報に基づいて、アイテムに対する嗜好の傾向を表示するようにしてきたが、リンク情報に基づいて、複数のアイテムに対する嗜好の関連性を表示するようにもできる。
[複数のアイテムに対する嗜好の関連性を表示する情報処理装置の構成例]
ここで、図29を参照して、複数のアイテムに対する嗜好の関連性を表示する情報処理装置の構成例について説明する。
図29の情報処理装置12は、基本的に、図1の情報処理装置12と同様の機能を有し、図29においては、ユーザ評価保持部32、リンク情報保持部35、アイテム特徴量保持部37、および提示部41を除く構成は、図示しないものとする。
図29の情報処理装置12において、提示部41は、座標軸決定部201、および表示制御部202を備えている。
座標軸決定部201は、入力部21を介してユーザにより入力された、座標軸を決定する旨の指示に基づいて、アイテムが表示される空間を定義するための座標軸を決定し、空間定義情報として、表示制御部202に供給する。
また、座標軸決定部201は、平均リンク長算出部201aを備えている。平均リンク長算出部201aは、リンク情報保持部35に記録されているリンク情報と、アイテム特徴量保持部37に記録されているアイテム特徴量とに基づいて、特徴量種別毎の、リンク情報に対応するアイテムのアイテム特徴量間の距離の平均(平均リンク長)を算出する。
表示制御部202は、リンク情報で対応付けられているアイテムのアイテム特徴量を、空間上(2次元平面上)に表示させる。
[情報処理装置のリンク情報表示処理]
次に、図30のフローチャートを参照して、図29の情報処理装置によるリンク情報表示処理について説明する。
ステップS191において、平均リンク長算出部201aは、入力部21から、座標軸を決定する旨の指示が供給されると、入出力装置11のユーザが付与したリンク情報について、各アイテム特徴量における平均リンク長(以下、ユーザ平均リンク長lfという)を計算する。例えば、平均リンク長算出部201aは、ユーザ1が付与した、曲Aと曲Bとを対応付けたリンク情報(図5)について、対応するアイテム特徴量(図7)における楽曲特徴量1,2に基づいたアイテム特徴量間の距離を求める。平均リンク長算出部201aは、リンク情報に対応する他のアイテム(曲)についても、アイテム特徴量間の距離を求め、その平均を平均リンク長とする。
ステップS192において、平均リンク長算出部201aは、入出力装置11のユーザとは異なる他ユーザが付与したリンク情報について、ステップS191の処理と同様にして、各アイテム特徴量における平均リンク長(以下、他ユーザ平均リンク長lfuという)を計算する。
ステップS193において、座標軸決定部201は、ユーザ平均リンク長lfが比較的大きな値となり、他ユーザ平均リンク長lfuが比較的小さな値となる特徴量(特徴量種別)を2個選択し、座標軸として決定して、空間定義情報として、表示制御部202に供給する。より具体的には、座標軸決定部201は、lfu/lfが最小となる特徴量を選択し、座標軸とする。
ステップS194において、表示制御部202は、座標軸決定部201からの空間定義情報に基づいて、アイテムを、図31に示されるような、座標軸決定部201により選択された特徴量を座標軸とする空間(2次元平面)上に表示させる。
図31においては、他ユーザによって対応付けられた(リンクが張られた)アイテムが、2次元平面上に表示されている。図31の2次元平面は、横軸がリズムバリエーション(特徴量5)で、縦軸が音の密度(特徴量4)とされる。そして、図31の2次元平面上には、ユーザ3によってリンクが張られたアイテムのペアが2つ存在している。図中、右側のペアは、リズムバリエーション(横軸)について距離が近く、ユーザ3によって、「曲A、曲Bともにリズムが目まぐるしく変わって面白い」というユーザ評価が与えられている。ユーザ評価は、表示制御部202によって、ユーザ評価保持部32から、適宜、読み出される。また、図中、左側のペアは、音の密度(縦軸)について距離が近く、ユーザ3によって、「曲Cの音の厚みは曲Dを思い出させる」というユーザ評価が与えられている。
以上の処理によれば、リンク情報で対応付けられたアイテムを空間上に表示することができる。したがって、自ユーザは、自分では関連性のないと思っていたアイテム同士について、他ユーザの評価を知ることができ、新たな発見を得ることができる。
以上においては、リンク情報で対応付けられたアイテムを空間上に表示させるようにしたが、例えば、同一の評価種別が与えられているアイテムについてもリンクが張られているものとして、リンク情報と合わせて、Sugiyama, K., Misue, K., “Graph Drawing by the Magnetic-Spring model”, Journal of Visual Languages and Computing, 6(3), pp.217-231, 1995.に開示されているようなばねモデルにより、アイテム間のネットワーク構造を2次元空間上に表示するようにしてもよい。
<3.第3の実施の形態>
また、以上においては、アイテムの空間表示(可視化)の例について説明してきたが、以下では、図32乃至42を参照して、ユーザの空間表示(可視化)の例について説明する。なお、ユーザが表示される空間の次元数も任意とされるが、以下では、2次元であるものとして説明する。
[ユーザを空間表示する情報処理装置の構成例]
まず、図32を参照して、ユーザを空間表示する情報処理装置の構成例について説明する。
図32の情報処理装置12は、基本的に、図1の情報処理装置12と同様の機能を有し、図32においては、ユーザ評価保持部32、嗜好情報保持部40、および提示部41を除く構成は、図示しないものとする。
図32の情報処理装置12において、提示部41は、ユーザ選択部221、嗜好情報取得部222、ユーザ特徴量行列作成部223、空間作成部224、および表示制御部225を備えている。
ユーザ選択部221は、入力部21を介してユーザにより入力された、空間表示するユーザ(ユーザ群)を選択する指示に基づいて、空間表示するユーザ群を選択し、そのユーザ群を示す情報を、嗜好情報取得部222に供給する。
嗜好情報取得部222は、入力部21を介してユーザにより入力された、所定の評価種別についての嗜好情報を取得する指示に基づいて、その評価種別に応じた、ユーザ選択部221からの情報で示されるユーザの嗜好情報を、嗜好情報保持部40から取得する。嗜好情報取得部222は、取得した嗜好情報を、ユーザ特徴量行列作成部223に供給する。
ユーザ特徴量行列作成部223は、嗜好情報取得部222からの嗜好情報に基づいて、ユーザ−特徴量行列を作成し、空間作成部224に供給する。
空間作成部224は、ユーザ特徴量行列作成部223からのユーザ−特徴量行列を圧縮し、空間を作成する。
表示制御部225は、空間作成部224によって作成された空間上に、ユーザを表示させる。
[情報処理装置のユーザ空間表示処理]
次に、図33のフローチャートを参照して、図32の情報処理装置によるユーザ空間表示処理について説明する。
ステップS211において、ユーザ選択部221は、入力部21を介してユーザにより入力された、空間表示するユーザ(ユーザ群)を選択する指示に基づいて、空間表示するユーザ群を選択し、そのユーザ群を示す情報を、嗜好情報取得部222に供給する。ここで選択されたユーザ群(集合)をUとする。
ステップS212において、嗜好情報取得部222は、ユーザ選択部221によって選択されたユーザ集合Uの各ユーザについて、入力部21を介してユーザにより入力された評価種別Lに基づいて、対応する嗜好情報を、嗜好情報保持部40から取得する。ステップS211で、ユーザが選択されなかった場合、入力された評価種別Lに対応付けられている全ユーザについての嗜好情報を取得するようにしてもよい。なお、ここで取得される嗜好情報は、例えば、FDAの変換ベクトルであり、ユーザu(u∈U)についての変換ベクトルをtuとする。嗜好情報取得部222は、取得した嗜好情報(変換ベクトルtu)を、ユーザ特徴量行列作成部223に供給する。
ステップS213において、ユーザ特徴量行列作成部223は、嗜好情報取得部222からの変換ベクトルtuを行とし、ユーザ集合Uの各ユーザuについて並べることで、ユーザ−特徴量行列を作成し、空間作成部224に供給する。
ステップS214において、空間作成部224は、ユーザ特徴量行列作成部223からのユーザ−特徴量行列を、例えば、主成分分析(PCA:Principal Component Analysis)により圧縮することで、2次元空間を作成する。
ステップS215において、表示制御部225は、図34に示されるように、空間作成部224によって作成された2次元空間上に、ユーザを表示させる。
図34においては、2次元平面上に、丸印で示される各ユーザが配置され、表示されている。原点(横軸と縦軸の交点)には、自ユーザである“あなた”が表示され、他ユーザである、ユーザ3、ユーザ5、ユーザ8、ユーザ12、およびその他のユーザが表示されている。図34においては、自ユーザが原点に配置されることで、他ユーザとの距離を把握しやすくなるが、必ずしも自ユーザが原点に配置される必要はなく、適宜、回転や平行移動される。また、表示部22上で、マウスのポインタを、ユーザ3を表す丸に合わせることで、入力された評価種別を付与したアイテムの名称(曲A)や、対応するユーザ評価(「曲Aは声がちょっと不快なんだよな」)表示するようにしてもよい。さらに、主成分分析により生成された固有ベクトルの要素の値が大きい2つの特徴量をその固有ベクトルに対応する軸の名称としてもよい。例えば、図34においては、横軸の名称が、特徴量としての“テンポ”とされ、縦軸の名称が、特徴量としての“生演奏の度合い”とされる。
以上の処理によれば、所定の評価種別について、嗜好情報に基づいて、ユーザを空間上に表示する(可視化する)ことができるので、同じ評価種別であっても、他ユーザの評価と異なる点を知ることができる。
[ユーザを空間表示する情報処理装置の他の構成例]
次に、図35を参照して、ユーザを空間表示する情報処理装置の他の構成例について説明する。
図35の情報処理装置12は、基本的に、図1の情報処理装置12と同様の機能を有し、図35においては、ユーザ評価保持部32、評価情報保持部34、および提示部41を除く構成は、図示しないものとする。
図35の情報処理装置12において、提示部41は、ユーザ選択部241、評価情報取得部242、ユーザアイテム行列作成部243、空間作成部244、および表示制御部245を備えている。
なお、図35のユーザ選択部241は、図32のユーザ選択部221と同様の機能を有するので、その説明は省略する。
評価情報取得部242は、入力部21を介してユーザにより入力された、所定の評価種別についての評価情報を選択する指示に基づいて、その評価種別に応じた、ユーザ選択部221からの情報で示されるユーザの評価情報を、評価情報保持部34から取得する。評価情報取得部242は、取得した評価情報を、ユーザアイテム行列作成部243に供給する。
ユーザアイテム行列作成部243は、評価情報取得部242からのユーザ毎の評価情報に基づいて、ユーザ−アイテム行列を作成し、空間作成部244に供給する。
空間作成部244は、ユーザアイテム行列作成部243からのユーザ−アイテム行列を圧縮し、空間を作成する。
表示制御部245は、空間作成部244によって作成された空間上に、ユーザを表示させる。
[情報処理装置のユーザ空間表示処理]
次に、図36のフローチャートを参照して、図35の情報処理装置によるユーザ空間表示処理について説明する。
ステップS231において、ユーザ選択部241は、入力部21を介してユーザにより入力された、空間表示するユーザ(ユーザ群)を選択する指示に基づいて、空間表示するユーザ群を選択し、そのユーザ群を示す情報を、評価情報取得部242に供給する。ここで選択されたユーザ群(集合)をUとする。
ステップS232において、評価情報取得部242は、ユーザ選択部241によって選択されたユーザ集合Uの各ユーザについて、入力部21を介してユーザにより入力された評価種別Lに基づいて、対応する評価情報を、評価情報保持部34から取得する。ステップS231で、ユーザが選択されなかった場合、入力された評価種別Lが対応付けられている全ユーザについての評価情報を取得するようにしてもよい。なお、ここで取得されるユーザ毎の評価情報は、アイテムの数を次元数とし、強さを要素の値とするベクトルであり、ユーザu(u∈U)についてのアイテムベクトルをruとする。嗜好情報取得部242は、取得した評価情報(アイテムベクトルru)を、ユーザアイテム行列作成部243に供給する。
ステップS233において、ユーザアイテム行列作成部243は、評価情報取得部242からのアイテムベクトルruを行とし、ユーザ集合Uの各ユーザuについて並べることで、ユーザ−アイテム行列を作成し、空間作成部244に供給する。
ステップS234において、空間作成部244は、ユーザアイテム行列作成部243からのユーザ−アイテム行列を、例えば、S. C. Deerwester, S. T. Dumais, T. K. Landauer, G. W. Furnas, and R. A. Harshman. “Indexing by latent semantic analysis.” Journal of the American Society of Information Science, 41 (6):391-407, 1990.で開示されている潜在的意味分析(LSA:Latent Semantic Analysis)などにより圧縮することで、2次元空間を作成する。
ステップS235において、表示制御部245は、空間作成部244によって作成された2次元空間上に、ユーザを表示させる。
以上の処理によれば、所定の評価種別について、評価情報に基づいてユーザを空間上に表示する(可視化する)ことができる。
[ユーザを空間表示する情報処理装置のさらに他の構成例]
次に、図37を参照して、ユーザを空間表示する情報処理装置のさらに他の構成例について説明する。
図37の情報処理装置12は、基本的に、図1の情報処理装置12と同様の機能を有し、図37においては、ユーザ評価保持部32、嗜好情報保持部40、および提示部41を除く構成は、図示しないものとする。
図37の情報処理装置12において、提示部41は、ユーザ選択部261、嗜好情報取得部262、ユーザ間距離行列作成部263、低次元空間作成部264、および表示制御部265を備えている。
なお、図37のユーザ選択部261および嗜好情報取得部262は、図32のユーザ選択部221および嗜好情報取得部222のそれぞれと同様の機能を有するので、その説明は省略する。
ユーザ間距離行列作成部263は、嗜好情報取得部262からのユーザ毎の嗜好情報に基づいて、ユーザ間距離行列を作成し、低次元空間作成部264に供給する。
低次元空間作成部264は、ユーザ間距離行列作成部263からのユーザ間距離行列を圧縮し、低次元空間を作成する。
表示制御部265は、低次元空間作成部264によって作成された空間上に、ユーザを表示させる。
[情報処理装置のユーザ空間表示処理]
次に、図38のフローチャートを参照して、図37の情報処理装置によるユーザ空間表示処理について説明する。
ステップS251において、ユーザ選択部261は、入力部21を介してユーザにより入力された、空間表示するユーザ(ユーザ群)を選択する指示に基づいて、空間表示するユーザ群を選択し、そのユーザ群を示す情報を、嗜好情報取得部262に供給する。
ステップS252において、嗜好情報取得部262は、ユーザ選択部261によって選択されたユーザ群の各ユーザについて、入力部21を介してユーザにより入力された評価種別に基づいて、対応する嗜好情報を、嗜好情報保持部40から取得する。ステップS251で、ユーザが選択されなかった場合、入力された評価種別に対応付けられている全ユーザについての嗜好情報を取得するようにしてもよい。嗜好情報取得部262は、取得した嗜好情報を、ユーザ間距離行列作成部263に供給する。ここで、ユーザによって入力される評価種別は、1個であってもよいし、複数個であってもよい。
ステップS253において、ユーザ間距離行列作成部263は、ユーザ群の全ての組み合わせについて、嗜好情報取得部262からの嗜好情報間の距離を算出することで、ユーザ間距離行列を作成し、低次元空間作成部264に供給する。
ステップS254において、低次元空間作成部264は、ユーザ間距離行列作成部263からのユーザ間距離行列を基に、例えば、多次元尺度構成法(MDS:Multi Dimensional Scaling)を用いて、ユーザそれぞれを表す低次元ベクトル(2次元ベクトル)が配置される2次元空間を作成する。
ステップS255において、表示制御部265は、低次元空間作成部264によって作成された2次元空間上に、ユーザ(ユーザそれぞれを表す2次元ベクトル)を表示させる。
以上の処理によれば、複数個の評価種別についても、評価情報に基づいてユーザを空間上に表示する(可視化する)ことができる。
[ユーザを空間表示する情報処理装置のさらに他の構成例]
次に、図39を参照して、ユーザを空間表示する情報処理装置のさらに他の構成例について説明する。
図39の情報処理装置12は、基本的に、図1の情報処理装置12と同様の機能を有し、図39においては、ユーザ評価保持部32、嗜好情報保持部40、および提示部41を除く構成は、図示しないものとする。
図39の情報処理装置12において、提示部41は、コーパス保持部281、平均的意味空間作成部282、平均的キーワード間距離行列作成部283、低次元空間作成部284、ユーザキーワード間距離行列作成部285、キャリブレーション実行部286、キーワード選択部287、および表示制御部288を備えている。
コーパス保持部281は、電子化された自然言語の文章からなる巨大なテキストデータ(コーパス)を記録している。
平均的意味空間作成部282は、コーパス保持部281が記録しているコーパスを用いて、一般的な単語であって、所定の意味空間における、評価種別に対応する情報である識別情報としての所定の単語(キーワード)の意味的な空間上の配置(ベクトル)を得ることで、平均的意味空間を作成する。なお、以下においては、識別情報は単語であるものとして説明するが、これに限らず、例えば、ユーザがコンテンツを評価する際にコンテンツに付与される、人間の笑い顔や泣き顔等を表す各種のアイコン等、それぞれが他と区別できる情報であればよい。この場合、平均的意味空間作成部282は、所定のデータベースに記録されている所定のアイコンについてのメタ情報の空間上の配置を得ることで、平均的意味空間を作成する。また、平均的意味空間作成部282は、1または複数のユーザがコンテンツに対してアイコンを付与した頻度に基づいたコンテンツ−アイコン行列を次元圧縮した、そのアイコンの空間上の配置を得ることで、平均的意味空間を作成するようにしてもよい。
平均的キーワード間距離行列作成部283は、平均的意味空間作成部282によって作成された平均的意味空間において、キーワード間の距離を算出することで、平均的キーワード間距離行列を作成し、低次元空間作成部284に供給する。
低次元空間作成部284は、平均的キーワード間距離行列作成部283からの平均的キーワード間距離行列、および、ユーザキーワード間距離行列作成部285からのユーザ間距離行列を圧縮し、それぞれについての低次元空間を作成する。
ユーザキーワード間距離行列作成部285は、平均的意味空間作成部282に用いられた所定のキーワードと、そのキーワードについてのユーザ毎の嗜好情報とに基づいて、ユーザ視点でのキーワード間の距離を算出することで、ユーザキーワード間距離行列を作成する。ユーザキーワード間距離行列作成部285は、作成したユーザキーワード間距離行列を、低次元空間作成部284に供給する。
キャリブレーション実行部286は、低次元空間作成部284によって作成された平均的キーワード間距離行列についての低次元空間(平均的低次元空間)と、ユーザキーワード間距離行列についての低次元空間(ユーザ低次元空間)とを揃えるためにキャリブレーションを実行する。
キーワード選択部287は、入力部21を介してユーザにより入力された、キーワードを選択する指示に基づいて、キーワードを選択し、表示制御部288に供給する。
表示制御部288は、キーワード選択部287によって選択されたキーワードについての低次元空間を、キャリブレーション実行部286によってキャリブレーションされた空間(キャリブレーション空間)上に、ユーザを表示させる。
[情報処理装置のユーザ空間表示処理]
次に、図40のフローチャートを参照して、図39の情報処理装置によるユーザ空間表示処理について説明する。
ステップS271において、平均的意味空間作成部282は、コーパス保持部281が記録しているコーパスを用いて、所定の文書−単語行列をLSA等により次元圧縮したその単語(キーワード)の意味的な空間上の配置(ベクトル)を得ることで、平均的意味空間を作成する。
ステップS272において、平均的キーワード間距離行列作成部283は、平均的意味空間作成部282によって作成された平均的意味空間において、キーワード間の距離(Euclid距離やCos距離等)を算出することで、平均的キーワード間距離行列を作成し、低次元空間作成部284に供給する。
ステップS273において、低次元空間作成部284は、平均的キーワード間距離行列作成部283からの平均的キーワード間距離行列を基に、例えば、MDSを用いて、キーワードそれぞれを表す低次元ベクトルが配置される平均的低次元空間を作成し、各キーワードの平均的低次元空間上の位置を求める。
ステップS274において、ユーザキーワード間距離行列作成部285は、平均的意味空間作成部282に用いられた所定のキーワードと、そのキーワードについてのユーザ毎の嗜好情報とに基づいて、ユーザ視点でのキーワード間の距離を算出し、ユーザキーワード間距離行列を作成する。より具体的には、ユーザキーワード間距離行列作成部285は、キーワードについての嗜好情報の、特徴量係数を要素とする特徴量空間上のベクトル(FDAの最上位ベクトル)を基に、ユーザキーワード間距離行列を作成する。ユーザキーワード間距離行列作成部285は、作成したユーザキーワード間距離行列を、低次元空間作成部284に供給する。
ステップS275において、低次元空間作成部284は、ユーザキーワード間距離行列作成部285からのユーザキーワード間距離行列を基に、例えば、MDSを用いて、ユーザ視点でのキーワードそれぞれを表す低次元ベクトルが配置されるユーザ低次元空間を作成し、各キーワードのユーザ低次元空間上の位置を求める。
ステップS276において、キャリブレーション実行部286は、低次元空間作成部284によって作成された平均的低次元空間とユーザ低次元空間とを揃えるためにキャリブレーションを実行する。より具体的には、キャリブレーション実行部286は、平均的低次元空間とユーザ低次元空間とを揃えるための回転行列を求める。このとき、キャリブレーション実行部286は、キャリブレーションに用いるキーワード(ユーザによって意味が変わらないような単語。例えば、一般的な名詞)を1つ選択する。キャリブレーション実行部286は、選択したキーワードの、平均的低次元空間上での位置(平均的低次元空間ベクトルm)と、ユーザ低次元空間上での位置(ユーザ低次元空間ベクトルsu)とから、m−Ausuを最小にするような回転行列Auを求める。キャリブレーション実行部286は、求めた回転行列Auを、キーワード選択部287を介して表示制御部288に供給する。
ステップS277において、キーワード選択部287は、入力部21を介してユーザにより入力された、キーワードを選択する指示に基づいて、キーワードを選択し、表示制御部288に供給する。キーワードがユーザによって選択されなかった場合、例えば、ユーザ低次元空間で分散が最も大きいキーワードを自動的に選択するようにもできる。
ステップS278において、表示制御部288は、キーワード選択部287によって選択されたキーワードについての低次元空間(例えば、2次元空間)を、キャリブレーション実行部286からの回転行列に基づいてキャリブレーションしたキャリブレーション空間上に、ユーザ(ユーザそれぞれを表す2次元ベクトル)を表示させる。このとき、原点に、平均的低次元空間におけるキーワードのベクトルを配置するようにしてもよい。
以上の処理によれば、一般的な言葉(キーワード)に対しても、自ユーザは、他ユーザの感じ方がどのように異なるのかを知ることができる。
[ユーザを空間表示する情報処理装置のさらに他の構成例]
次に、図41を参照して、ユーザを空間表示する情報処理装置のさらに他の構成例について説明する。
図41の情報処理装置12は、基本的に、図1の情報処理装置12と同様の機能を有し、図41においては、ユーザ評価保持部32、嗜好情報保持部40、および提示部41を除く構成は、図示しないものとする。
図41の情報処理装置12において、提示部41は、嗜好情報取得部301、近傍ユーザリンク設定部302、低次元空間作成部303、および表示制御部304を備えている。
嗜好情報取得部301は、入力部21を介してユーザにより入力された、所定の評価種別についての嗜好情報を選択する指示に基づいて、その評価種別に応じた、ユーザ毎の嗜好情報を、嗜好情報保持部40から取得する。嗜好情報取得部301は、取得した嗜好情報を、近傍ユーザリンク設定部302に供給する。
近傍ユーザリンク設定部302は、嗜好情報取得部301からの嗜好情報に基づいて、近傍のユーザに対してリンクを設定する。
低次元空間作成部303は、近傍ユーザリンク設定部302によって設定されたリンクに基づいて、低次元空間を作成する。
表示制御部304は、低次元空間作成部303によって作成された空間上に、ユーザを表示させる。
[情報処理装置のユーザ空間表示処理]
次に、図42のフローチャートを参照して、図41の情報処理装置によるユーザ空間表示処理について説明する。
ステップS291において、嗜好情報取得部301は、各ユーザについて、入力部21を介してユーザにより入力された評価種別に基づいて、その評価種別に応じた嗜好情報を、嗜好情報保持部40から取得する。嗜好情報取得部301は、取得した嗜好情報を、近傍ユーザリンク設定部302に供給する。
ステップS292において、近傍ユーザリンク設定部302は、嗜好情報取得部301からの各ユーザの嗜好情報間の距離を求めて、k近傍法(k-NN:k-Nearest Neighbor Algorithm)により、距離の小さい上位k人のユーザに対してリンクを設定する。
ステップS293において、低次元空間作成部303は、近傍ユーザリンク設定部302によって設定されたリンクに基づいて、ばねモデルや、例えば、Tenenbaum J.,et al., “A global geometric framework for nonlinear dimensionality reduction”, Science, 290(5500):2319-2323, 2000.に開示されているIsomapにより、低次元空間を作成する。
ステップS294において、表示制御部304は、低次元空間作成部303によって作成された空間上に、ユーザを表示させる。
以上の処理によれば、特に、距離の近いユーザについて、空間上に表示することができる。
以上のように、嗜好情報等に基づいて、自ユーザと他ユーザとを空間上に表示する(可視化する)ようにしたので、他ユーザの嗜好の詳細をわかりやすく提示することが可能となった。これによって、ユーザは、自分が他ユーザに対してどのような位置付けにあるのか、また、自分に類似したユーザは誰なのかを直感的に理解することが可能となる。
<4.その他の変形例>
以上においては、個々のユーザについての嗜好情報に基づいた処理について説明してきたが、複数のユーザからなるユーザグループについての嗜好情報を作成するようにもできる。
[ユーザグループについての嗜好情報を作成する情報処理装置の構成例]
ここで、図43を参照して、複数のユーザからなるユーザグループについての嗜好情報を作成する情報処理装置の構成例について説明する。
図43の情報処理装置12は、基本的に、図1の情報処理装置12と同様の機能を有し、図43においては、評価情報保持部34、提示部41、および、新たに追加されたユーザ情報保持部321を除く構成は、図示しないものとする。
ユーザ情報保持部321は、ユーザの属性を表すユーザ情報を記録している。ユーザ情報は、必要に応じて、提示部41に供給される。
図43の情報処理装置12において、提示部41は、ユーザグループ作成部322およびグループ嗜好情報作成部323を備えている。
ユーザグループ作成部322は、入力部21を介してユーザにより入力された、ユーザグループの作成の指示に基づいて、ユーザ情報保持部321からユーザ情報を読み出し、ユーザグループを作成する。ユーザグループ作成部322は、ユーザグループを表す情報を、グループ嗜好情報作成部323に供給する。
グループ嗜好情報作成部323は、ユーザグループ作成部322からのユーザグループを表す情報を基に、グループ内のユーザの嗜好情報に基づいて、所定のアイテムに対するユーザグループの嗜好の傾向を表す情報であるグループ嗜好情報を作成する。
[情報処理装置のグループ嗜好情報作成処理]
次に、図44のフローチャートを参照して、図43の情報処理装置によるグループ嗜好情報作成処理について説明する。
ステップS311において、ユーザグループ作成部322は、入力部21を介してユーザにより入力された、ユーザグループの作成の指示に基づいて、ユーザ情報保持部321から、図45に示されるようなユーザ情報を読み出し、ユーザグループを作成する。
図45に示されるように、ユーザ情報は、ユーザ(ユーザ名称)、ユーザの属性の種別を表すユーザ情報種別、および、ユーザ情報種別の値から構成される。
図45によれば、ユーザ1の性別は、女性であり、ユーザ1の居住地域は、東京であり、ユーザ1の現在位置は、北緯35.623304°、東経139.733187°である。また、ユーザ2の現在位置は、北緯43.068261°、東経141.351428°であり、ユーザ3の現在位置は、北緯35.634279°、東経139.716718°であり、ユーザ4の現在位置は、北緯35.658691°、東経139.701719°であり、ユーザ5の現在位置は、北緯43.768971°、東経142.482258°である。
例えば、ユーザグループ作成部322は、ユーザの現在位置に基づいて、緯度および経度を2次元平面上の座標軸に設定することで、ユーザ1乃至5を、ユーザ1,3,4からなるユーザグループと、ユーザ2,5からなるユーザグループとにグループ分けする。
また、ユーザグループ作成部322によるグループ分けは、ユーザ情報に基づいたものに限らず、ユーザ毎の嗜好情報間の距離や、ユーザのコンテクスト(位置情報や天気、発汗・動作のセンシング情報等)によってクラスタリング(グループ分け)するようにしてもよい。
ステップS312において、グループ嗜好情報作成部323は、ユーザグループを表す情報を基に、グループ内のユーザの評価情報に基づいて、グループ嗜好情報を作成する。例えば、グループ嗜好情報作成部323は、グループ内の各ユーザについての評価情報を読み出し、FDAによって嗜好情報(変換ベクトル)を作成し、その平均ベクトルをグループ嗜好情報とする。また、例えば、グループ嗜好情報作成部323は、グループ内のユーザ全ての評価情報の集合を1ユーザの評価情報とみなすことで、嗜好情報を作成し、グループ嗜好情報とする。このとき、グループ内の各ユーザについての評価情報における、あるアイテムに対する評価種別について、3人のユーザが「爽やか」(ポジティブな評価)を付与し、2人のユーザが「不快」(ネガティブな評価)を付与しているといった、矛盾した状態になった場合、多数決で「爽やか」を1ユーザの評価種別とする。また、多数決の差が大きいほど、その評価種別に対応する強さの値を大きくしてもよい。
ステップS313において、グループ嗜好情報作成部323は、作成したグループ嗜好情報を、嗜好情報保持部40に供給し、記録させる。
以上の処理によれば、ユーザグループ毎の嗜好情報を作成することができるので、ユーザグループ毎のアイテムに対する嗜好の傾向を提示できるようになり、他グループのアイテムに対する具体的な評価を知ることが可能となる。
すなわち、例えば、図13のフローチャートを参照して説明したような、アイテム推薦処理を、ユーザグループについて行うことが可能となる。この場合、例えば、提示部41は、他グループ内のユーザの評価情報を集計し、図46に示されるように、他グループのアイテムに対する評価を提示するようにしてもよい。
図46においては、他グループの推薦するアイテムの1つとして、アーティストαによる曲Aが挙げられており、東京在住女性であるユーザグループによる評価であることが示されている。また、東京在住女性であるユーザグループ内のユーザのうち、48人がポジティブな評価をし、21人がネガティブな評価をしており、また、12人が「爽やか」と評価し、5人が「気持ちいい」と評価していることが示されている。
また、他グループの推薦するアイテムの他の1つとして、アーティストβによる曲Bが挙げられており、スポーツをしながら聴いていた人であるユーザグループによる評価であることが示されている。また、スポーツをしながら聴いていた人であるユーザグループ内のユーザのうち、83人がポジティブな評価をし、11人がネガティブな評価をしており、また、43人が「ノリノリ」と評価し、39人が「元気」と評価していることが示されている。
なお、ユーザグループについての処理は、アイテム推薦処理に限らず、上述してきた個々のユーザについての処理と同様にして実行することが可能である。
以上においては、ユーザの評価について、時間的な変化は考慮されていなかったが、時間的に変化するユーザの評価に対応するようにもできる。
[時間的に変化するユーザの評価に対応する情報処理装置の構成例]
ここで、図47を参照して、時間的に変化するユーザの評価に対応する情報処理装置の構成例について説明する。
図47の情報処理装置12は、基本的に、図1の情報処理装置12と同様の機能を有し、図47においては、ユーザ評価保持部32、評価情報保持部34、嗜好情報作成部39、嗜好情報保持部40、および提示部41を除く構成は、図示しないものとする。
図47の情報処理装置12において、嗜好情報作成部39は、図9で説明した嗜好情報に、時刻を表す時刻情報を付与することにより、時間的に変化するユーザの嗜好に対応した嗜好情報を作成する。
また、図47の情報処理装置12において、提示部41は、嗜好情報取得部341、同一ユーザ類似度算出部342、変化点特定部343、変化アイテム取得部344、およびリマインド機能部345を備えている。
嗜好情報取得部341は、入力部21を介してユーザにより入力された、所定のユーザについての嗜好情報を選択する指示に基づいて、そのユーザの、時刻情報が付与された嗜好情報を、嗜好情報保持部40から取得する。嗜好情報取得部341は、取得した嗜好情報を、同一ユーザ類似度算出部342に供給する。
同一ユーザ類似度算出部342は、図12のユーザ類似度算出部82と同様にして、嗜好情報取得部341からの同一ユーザについての嗜好情報と、対応する評価情報とに基づいて、同一ユーザの、異なる時刻の嗜好情報の類似度を算出し、類似度を付加した嗜好情報を類似ユーザ決定部83に供給する。
変化点特定部343は、同一ユーザ類似度算出部342からの、類似度が付加された異なる時刻の嗜好情報に基づいて、嗜好情報の類似度の変化点(変化時刻)を特定し、その変化点に対応する時刻を、変化アイテム取得部344に供給する。
変化アイテム取得部344は、変化点特定部343からの変化点に対応する時刻に基づいて、その変化点に対応するアイテムに関する情報を取得し、表示部22およびリマインド機能部345に供給する。
リマインド機能部345は、変化アイテム取得部344からアイテムに関する情報が供給されてから所定の期間が経過したときに、そのアイテムに関する情報を表示部22に供給する。
[情報処理装置の変化点アイテム提示処理]
次に、図48のフローチャートを参照して、図47の情報処理装置による変化点アイテム提示処理について説明する。
ステップS331において、嗜好情報取得部341は、入力部21を介してユーザにより入力された、所定のユーザについての嗜好情報を選択する指示に基づいて、そのユーザの、時刻情報が付与された嗜好情報を、嗜好情報保持部40から取得する。嗜好情報取得部341は、取得した嗜好情報を、同一ユーザ類似度算出部342に供給する。
ここで、図49を参照して、時刻情報が付与された嗜好情報について説明する。
図49に示される嗜好情報は、図9を参照して説明した嗜好情報に、嗜好情報が作成された時刻を表す時刻情報が付与されている。具体的には、図49において、ユーザ1の、上側2つの嗜好情報には、「2008年12月1日12時00分00秒」を表す時刻情報が付与され、下側2つの嗜好情報には、「2008年12月10日11時00分00秒」を表す時刻情報が付与されている。
このように、嗜好情報に時刻情報が付与されることにより、評価情報が上書きされないようになる。
ステップS332において、同一ユーザ類似度算出部342は、嗜好情報取得部341からの同一ユーザについての嗜好情報と、対応する評価情報とに基づいて、同一ユーザの、異なる時刻の嗜好情報の類似度を算出し、類似度を付加した嗜好情報を類似ユーザ決定部83に供給する。
ステップS333において、変化点特定部343は、同一ユーザ類似度算出部342からの、類似度が付加された異なる時刻の嗜好情報に基づいて、嗜好情報の類似度の変化点(変化時刻)を特定し、その変化点に対応する時刻を、変化アイテム取得部344に供給する。例えば、変化点特定部343は、嗜好情報間の類似度が、その平均の1/α倍(α>1)より小さくなったとき、嗜好情報の変化が大きいと判断し、変化点とする。より具体的には、連続する時刻1乃至5の時刻情報が付与された嗜好情報について、時刻1の嗜好情報と時刻2の嗜好情報の類似度が0.8で、時刻2の嗜好情報と時刻3の嗜好情報の類似度が0.91で、時刻3の嗜好情報と時刻4の嗜好情報の類似度が0.85で、時刻4の嗜好情報と時刻5の嗜好情報の類似度が0.93である場合、その平均は、0.8725となる。そこで、時刻5の嗜好情報と時刻6の嗜好情報の類似度が0.35で、変化の判断基準が平均類似度の1/2倍(α=2)であるとすると、0.35は0.8725×(1/2)=0.43625より小さいので、時刻5と時刻6の間で、嗜好情報に変化があったと判断される。
ステップS334において、変化アイテム取得部344は、変化点特定部343からの変化点に対応する時刻に基づいて、その時刻に視聴頻度の高かったアイテムや、評価情報の強さの高かったアイテムに対応する評価情報を取得し、例えば、そのアイテムの名称を表示部22に供給する。
ステップS335において、表示部22は、変化アイテム取得部344からのアイテムの名称を提示するとともに、そのアイテムが嗜好情報の変化のきっかけになったか否かの問いをユーザに対して提示する。これに対して、ユーザから、そのアイテムが嗜好情報の変化のきっかけになった旨の入力があった場合、変化アイテム取得部344は、このアイテムを、嗜好情報の変化のきっかけとなったインパクトアイテムとする。このとき、ユーザからの自然文やユーザに関するコンテクスト情報等を保存するようにしてもよい。また、インパクトアイテムは、ユーザによって直接入力されるようにしてもよい。
さらに、インパクトアイテムは、ユーザの嗜好を大きく変更させたアイテムであるので、他ユーザに対するアイテム推薦処理において、優先的に提示させるようにしてもよい。例えば、図13のステップS75において、アイテムの予測評価値を計算する際、インパクトアイテムについては、予測評価値をβ倍(β>1)とする。また、インパクトアイテムを提示する際に、「あるユーザに衝撃を与えたアイテムです」等といったコメントを合わせて提示するようにしてもよい。
また、リマインド機能部345は、ユーザから、所定のアイテムが嗜好情報の変化のきっかけになった旨の入力があってから一定期間の後(例えば、3年後)に、インパクトアイテム、自然文やその当時のコンテクスト情報、その他の情報を提示する。なお、ユーザがインパクトアイテム(または、その類似アイテム)を視聴しなくなってから一定期間の後に、インパクトアイテムを提示するようにしてもよい。これにより、ユーザのインパクトアイテムに対する記憶や関心を、定期的に回復させることができる。
以上の処理によれば、ユーザの嗜好の変化のタイミングがわかるので、そのときユーザが視聴していたアイテムを、大きな変化を引き起こすアイテムとして推薦することが可能になる。
以上においては、主に、嗜好情報に基づいて、自ユーザと他ユーザとの嗜好の違いを提示する構成について説明してきたが、リンク情報に基づいて、自ユーザと他ユーザとの嗜好の違いを提示するようにもできる。
[リンク情報に基づいてユーザの特徴を提示する情報処理装置の構成例]
ここで、図50を参照して、リンク情報に基づいて、ユーザの特徴を提示する情報処理装置の構成例について説明する。
図50の情報処理装置12は、基本的に、図1の情報処理装置12と同様の機能を有し、図50においては、リンク情報保持部35、アイテム特徴量保持部37、および提示部41を除く構成は、図示しないものとする。
図50の情報処理装置12において、提示部41は、リンクアイテム距離算出部361、相関算出部362、およびクラス間リンク頻度算出部363を備えている。
リンクアイテム距離算出部361は、アイテム特徴量保持部37のアイテム特徴量を用いて、リンク情報保持部35のリンク情報で対応付けられている(リンクが張られている)アイテム間の距離(リンクアイテム距離)を算出し、相関算出部362に供給する。
相関算出部362は、リンクアイテム距離算出部361からのリンクアイテム距離と、リンク情報における強さ(以下、リンク強度ともいう)との相関を求め、その結果を表示部22に供給する。
クラス間リンク頻度算出部363は、リンク情報で対応付けられている(リンクが張られている)アイテムペアにおいて、それぞれのアイテムのクラスが異なる頻度(クラス間リンク頻度)を算出する。ここで、アイテムのクラスとは、例えば、それぞれのアイテムに同一のキーワードが付与されている、同一アーティストによる曲である等の、離散的な情報である。例えば、クラスは、名称属性のアイテム特徴量における特徴量種別とされる。クラス間リンク頻度算出部363は、算出したアイテム間クラス頻度が、所定の閾値より大きい場合、そのアイテム間クラス間頻度に対応するアイテムペアにおけるそれぞれのアイテムのクラスを同一のものとする。
[情報処理装置の特徴量適切度提示処理]
次に、図51のフローチャートを参照して、図50の情報処理装置による、アイテム特徴量の適切さを表す特徴量適切度提示処理について説明する。
ステップS351において、リンクアイテム距離算出部361は、アイテム特徴量保持部37のアイテム特徴量を用いて、ユーザ毎のリンク情報で対応付けられているアイテム間のリンクアイテム距離を算出し、相関算出部362に供給する。リンクアイテム距離は、例えば、アイテム特徴量の特徴量種別による特徴量空間におけるEuclid距離とされ、全ての特徴量種別について算出されてもよいし、部分空間(少なくとも1特徴量)について算出されてもよい。リンクアイテム距離算出部361は、算出したリンクアイテム距離を、相関算出部362に供給する。
ステップS352において、相関算出部362は、リンクアイテム距離算出部361からのリンクアイテム距離と、リンク情報におけるリンク強度との相関を求め、その結果としての相関値を、表示部22に供給する。
ステップS353において、表示部22は、相関算出部362からの相関値に基づいて、ユーザにとっての既存のアイテム特徴量の適切さを提示する。相関算出部362からの相関値が、例えば、所定の閾値より小さい場合、リンクが張られたアイテム間の距離と、強さとが伴っていないと考えられるので、表示部22は、既存のアイテム特徴量における特徴量種別のスコアがあまり適切でないことを提示する。
また、ここで、リンクアイテム距離算出部361が、ユーザ毎に、全てのリンクアイテム距離を合計したものを、リンク数で除した値を表示部22に供給し、提示させるようにしてもよい。この値が、他ユーザと比べて大きい場合、1リンクについてのリンクアイテム距離が他ユーザより大きいことになるので、その自ユーザにとって、既存のアイテム特徴量における特徴量種別のスコアがあまり適切でないと考えることができる。このような場合、ユーザは、他ユーザがアイテムペアに付与した評価種別を用いるようにしたり、アイテム特徴量において新たな特徴量種別を追加すればよい。
以上の処理によれば、ユーザは、既存のアイテム特徴量における特徴量種別のスコアが自身にとって適切であるかを把握することができる。
[情報処理装置のクラス間リンク頻度算出処理]
次に、図52のフローチャートを参照して、図50の情報処理装置によるクラス間リンク頻度算出処理について説明する。
ステップS371において、クラス間リンク頻度算出部363は、リンク情報で対応付けられている(リンクが張られている)アイテムペアにおいて、それぞれのアイテムのクラスが異なる頻度(クラス間リンク頻度)を算出する。
ここで、図53を参照して、アイテム間クラス頻度の算出の例について説明する。
図53においては、特徴量1および特徴量2からなる特徴量空間上に、黒丸と白丸で示される、2種類の異なるクラスのアイテムが分布している。また、図中、点線で結ばれているアイテムは、リンクが張られているアイテムである。図53に示される特徴量空間において、全リンク数は6であり、全リンクのうちクラスが異なるリンク数は4である。このとき、クラス間リンク頻度算出部363は、アイテム間クラス頻度を、(全リンクのうちクラスが異なるリンク数)/(全リンク数)=4/6=0.67として算出する。
ステップS372において、クラス間リンク頻度算出部363は、算出したアイテム間クラス頻度が、所定の閾値より大きい場合、そのアイテム間クラス間頻度に対応するアイテムペアにおけるそれぞれのアイテムのクラスを同一のものとする。例えば、クラス間リンク頻度算出部363は、アイテム間クラス頻度が0.5より大きい場合に、そのクラスを同一のものとする。図53に示されるアイテムにおいては、アイテム間クラス頻度が0.67で、0.5より大きいので、黒丸と白丸で示される2種類のクラスは同一のクラスとされる。
以上の処理によれば、異なるクラスのアイテムであっても、ユーザによって多くのリンクが張られているクラスは同一のクラスとされるので、異なるクラスのアイテムを同様に検索でき、新たな観点でアイテムを検索することができる。また、異なるクラスのアイテムを、同じように同一のクラスとしている他ユーザを提示するようにもできるので、他ユーザとの新たな類似性を発見することができる。
以上においては、クラスをまたがったリンクの頻度を算出する処理について説明したが、部分空間毎にアイテムをクラスタリングし、そのクラスタをまたがったリンクの頻度を算出するようにもできる。
[クラスタ間のリンク頻度を算出する情報処理装置の構成例]
ここで、図54を参照して、クラスタ間のリンク頻度を算出する情報処理装置の構成例について説明する。
図54の情報処理装置12は、基本的に、図1の情報処理装置12と同様の機能を有し、図54においては、リンク情報保持部35、アイテム特徴量保持部37、および提示部41を除く構成は、図示しないものとする。
図54の情報処理装置12において、提示部41は、部分空間作成部381、クラスタリング部382、クラスタ間リンク頻度算出部383、および表示制御部384を備えている。
部分空間作成部381は、アイテム特徴量からなる部分空間(全てのアイテム特徴量のうちの数個のアイテム特徴量からなる空間)を複数作成する。
クラスタリング部382は、部分空間作成部381によって作成されたそれぞれの部分空間において、アイテム(アイテム特徴量)をクラスタリングする。
クラスタ間リンク頻度算出部383は、部分空間作成部381によって作成されたそれぞれの部分空間において、リンク情報で対応付けられている(リンクが張られている)アイテムペアにおいて、それぞれのアイテムが含まれるクラスタが異なる頻度(クラスタ間リンク頻度)を算出する。
表示制御部384は、クラスタ間リンク頻度算出部383によって、クラスタ間リンク頻度が算出された部分空間のうちの、クラスタ間リンク頻度が最も小さい部分空間を表示部22に表示させる。
[情報処理装置のクラスタ間リンク頻度算出処理]
次に、図55のフローチャートを参照して、図54の情報処理装置によるクラスタ間リンク頻度算出処理について説明する。
ステップS371において、部分空間作成部381は、アイテム特徴量からなる部分空間を複数作成する。例えば、嗜好情報が5個あって、2次元の部分空間を作成する場合、部分空間作成部381は、5C2=10個の部分空間を作成する。
ステップS372において、クラスタリング部382は、部分空間作成部381によって作成されたそれぞれの部分空間において、アイテムを、k-means法等を用いてクラスタリングする。
ステップS373において、クラスタ間リンク頻度算出部383は、部分空間作成部381によって作成されたそれぞれの部分空間において、リンク情報で対応付けられているアイテムペアにおいて、クラスタ間リンク頻度を算出する。より具体的には、クラスタ間リンク頻度算出部383は、部分空間ごとに、全てのリンク数に対する、クラスタをまたがったリンク数を、クラスタ間リンク頻度として算出する。
ステップS374において、表示制御部384は、クラスタ間リンク頻度算出部383によって、クラスタ間リンク頻度が算出された部分空間のうちの、クラスタ間リンク頻度が最も小さい部分空間を表示部22に表示させる。
以上の処理によれば、クラスタ間リンク頻度が最も小さい部分空間が表示されるので、ユーザは、ユーザが評価したアイテムのまとまり(クラスタ)のうち、ユーザの嗜好に添ったアイテムのまとまりを知ることができる。
ところで、上述した一連の処理は、ハードウェアにより実行させることもできるが、ソフトウェアにより実行させることもできる。一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、記録媒体からインストールされる。
図56は、汎用のパーソナルコンピュータの構成例を示している。このパーソナルコンピュータは、CPU(Central Processing Unit)901を内蔵している。CPU901にはバス904を介して、入出力インタフェース905が接続されている。バス904には、ROM(Read Only Memory)902およびRAM(Random Access Memory)903が接続されている。
入出力インタフェース905には、ユーザが操作コマンドを入力するキーボード、マウスなどの入力デバイスよりなる入力部906、処理操作画面や処理結果の画像を表示デバイスに出力する出力部907、プログラムや各種データを格納するハードディスクドライブなどよりなる記憶部908、LAN(Local Area Network)アダプタなどよりなり、インターネットに代表されるネットワークを介した通信処理を実行する通信部909が接続されている。また、磁気ディスク(フレキシブルディスクを含む)、光ディスク(CD-ROM(Compact Disc-Read Only Memory)、DVD(Digital Versatile Disc)を含む)、光磁気ディスク(MD(Mini Disc)を含む)、もしくは半導体メモリなどのリムーバブルメディア911に対してデータを読み書きするドライブ910が接続されている。
CPU901は、ROM902に記憶されているプログラム、または磁気ディスク、光ディスク、光磁気ディスク、もしくは半導体メモリ等のリムーバブルメディア911から読み出されて記憶部908にインストールされ、記憶部908からRAM903にロードされたプログラムに従って各種の処理を実行する。RAM903には、CPU901が各種の処理を実行する上において必要なデータなども適宜記憶される。
尚、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理は、もちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理を含むものである。