説明

情報推薦装置,方法,およびプログラム

【課題】 ユーザの嗜好に応じてアイテムを推薦する情報推薦装置を提供することを目的とする。
【解決手段】 情報推薦装置1は,ユーザのアイテムに対する評価履歴を記憶する評価履歴記憶部3と,未評価の複数のアイテムデータを記憶するアイテムデータ記憶部4と,評価履歴をもとに,評価済みのアイテムを高評価アイテムと低評価アイテムに分類し,スカイラインを形成する高評価アイテムが最多数となるように,アイテムに与えられた各属性で設定されている複数の属性値の優劣を示す順序関係を学習する属性値順序学習部11と,アイテムデータ記憶部4の未評価のアイテムについて,各属性の属性値の順序関係にもとづいてスカイラインアイテム集合を抽出して推薦データ5として出力するスカイライン問合せ部13を備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は,ユーザの嗜好を,事物や事柄に対する評価や関心の有無などの情報をもとに学習し,学習結果にもとづいてユーザが評価または関心が高いと予測される事物や事柄を推薦する情報処理技術に関する。
【背景技術】
【0002】
商品やサービスに対する評価や関心の有無などの情報を収集してユーザの嗜好を学習し,未評価のものに関する情報を推薦情報として提供する情報推薦が知られている。
【0003】
情報推薦は,EC(電子商取引)サイトやコンテンツ共有サイトなどに導入され,ユーザに推薦する商品やコンテンツなどのアイテムを提示する処理技術である。ユーザの嗜好をアイテムが持つ属性で表現し,ユーザの嗜好とアイテムが有する属性とを照合することによって,ユーザに提示するべきアイテムを選別する。例えば,アイテムがDVDである場合に,ジャンル,制作年,出演者などの属性を示す属性値をアイテムに与え,ユーザの評価や関心が高い属性とアイテムが持つ属性とを照合して,より合致するアイテムを選別して推薦する。
【0004】
情報推薦の従来手法として,ユーザがアイテムに対して高い評価値を与えた場合に,そのアイテムが持つ属性値に高い重みを与え,得られた属性値の重みの総和を,未評価アイテムへの予測評価とする処理が知られている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2007−43471号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
上述の従来手法の場合に,ユーザが高く評価したアイテムと同じ属性値を持つアイテムが高く評価される。そのため,同じような属性値を持つアイテム群が高評価と予測され,相互に類似するアイテムばかりが推薦されてしまうという問題がある。
【0007】
この問題を,図32を用いて,DVDについてユーザの嗜好にあったものを推薦する場合を例に説明する。
【0008】
DVDには,属性として「ジャンル」,「制作年」が与えられる。ジャンルには「SF,アクション,コメディ,ホラー」,制作年代には「60年代(60s),70年代(70s),80年代(80s),90年代(90s)」という属性値がそれぞれ設定されていると想定する。
【0009】
図32(A)に,ユーザが過去に行ったアイテムに対する評価例を示す。図32(A)に示す評価例から,属性ごとに属性値の重みが算出される。例えば,ジャンルの各属性値「SF,アクション,コメディ,ホラー」の重みが「4.5,10,4.5,2」であり,制作年の各属性値「60年代,70年代,80年代,90年代」の重みが,「7,7,2,6」とする。
【0010】
この属性値の重みの平均をもとに,ユーザ嗜好を示す属性の組合せに対する重みを算出する。図32(B)に,属性の組合せの重み例を示す。ここで,属性の組合せの重みは,「SF,60年代(重み=17)」,「SF,70年代(重み=17)」,「SF,90年代(重み=16)」,「SF,80年代(重み=12)」,「アクション,60年代(重み=11.5)」,…,となる。
【0011】
図32(C)に算出した重みから選択された推薦アイテム例を示す。属性の重み値をもとに未評価DVDの評価を予測した推薦アイテムの上位は,ジャンルにおいて重みが大きい属性値「SF」で占められ,推薦対象となるべき「アクション」や「コメディ」のものは下位に埋もれてしまうという問題がある。
【0012】
ところで,推薦対象が類似するアイテムとなることを解消する手法として,スカイライン問合せが知られている。
【0013】
スカイライン問合せは,アイテムが複数の属性によって特徴づけられ,さらに,各属性の属性値の間に順序関係(例えば優劣関係)が与えられている場合に,「全ての属性において属性値が自身の属性値と同じか上位(優位)となり,かつ,そのうちの1つ以上の属性値が自己の属性値より上位(優位)である他アイテムが存在しない」という条件を満たすアイテムのみを,スカイラインアイテムとして抽出する。
【0014】
図33は,スカイライン問合せを,ホテルについてユーザ嗜好に応じて推薦する場合の例を説明するための図である。
【0015】
図33(A)に,推薦対象を示すホテルデータの例を示す。ホテルには,最寄り駅からの距離(distance)と料金(price)という属性が与えられているとする。
【0016】
図33(B)に,図33(A)のホテルデータの各ホテルを,距離と料金の2次元グラフ上に配置した例を示す。
【0017】
図33(C)に,図33(A)に示すホテルデータに対してスカイライン問合せを行うクエリ(スカイラインクエリ)を,SQLを用いて表現したものを示す。スカイラインクエリは,「2つの属性の属性値が,自身のそれ以下であり(5,6行目),かつ,そのうち1つ以上の属性値がより小さい(7,8行目)という他のホテル」が存在しないホテルの集合を要求することを表す。
【0018】
図33(D)に,スカイラインクエリの結果例を示す。スカイラインクエリの結果では,スカイラインアイテムに該当するアイテムとしてホテルa,b,cが抽出される。抽出されたホテルは,距離または料金において属性値が劣位となる他のホテルがないようなホテルが抽出される。
【0019】
したがって,「ユーザは,他より優れている点があるようなアイテムを高評価する」というモデルにもとづく情報推薦において,スカイライン問合せを採用することにより,各属性での評価が高いアイテムを偏りなく推薦することが可能となる。
【0020】
ホテルの評価のように,属性「距離,料金」における属性値の優劣の順序関係が一意に決定する,すなわち,より近い距離かつより安い料金のホテルがより高く評価されるようなアイテムを対象として推薦する場合に,スカイライン問合せは有用である。しかし,ユーザの嗜好に応じてアイテムを推薦する場合には,各属性での属性値の優劣の順序はユーザごとに変化するため,スカイライン問合せをそのまま採用することができない。
【0021】
本発明の目的は,ユーザ嗜好に応じて情報推薦する場合に,スカイライン問合せにユーザ嗜好を反映させ,属性に偏りがないアイテムを推薦できる技術を提供することである。
【課題を解決するための手段】
【0022】
本願において開示される情報推薦装置は,複数の属性が与えられたアイテムデータを,ユーザの嗜好にもとづいて推薦する情報推薦装置であって,アイテムデータに対する評価を示す評価履歴を記憶する評価履歴記憶部と,推薦対象となる未評価の複数のアイテムデータを記憶するアイテムデータ記憶部と,前記評価履歴をもとに,アイテムデータを,前記アイテムデータに対する評価と所定の閾値により高評価アイテムと低評価アイテムに分類し,全ての属性において評価が自身に対する評価と同じか優位であり,かつ,そのうちの1つ以上の評価が自身に対する評価より優位である他アイテムが存在しない条件を満たすスカイラインを形成する前記高評価アイテムが最多数となる場合における,前記アイテムデータに与えられた各属性で設定されている複数の属性値の優劣を示す順序関係を学習する属性値順序学習部と,前記アイテムデータ記憶部に記憶されている未評価のアイテムデータについて,前記属性値順序学習部で学習された各属性の属性値の順序関係にもとづいて,前記スカイラインを形成するアイテム集合を抽出し,抽出したアイテムデータを推薦アイテムとするスカイライン問合せ部とを,備える。
【発明の効果】
【0023】
上記の開示される情報推薦装置によれば,ユーザ嗜好にもとづいて情報推薦する場合に,スカイライン問合せにユーザ嗜好を反映させ,属性に偏りがないアイテムを推薦することが可能となる。
【図面の簡単な説明】
【0024】
【図1】本発明の一態様として開示する情報推薦装置の一実施形態における構成例を示す図である。
【図2】一実施形態におけるアイテム属性記憶部に記憶されているアイテム属性の例を示す図である。
【図3】一実施形態におけるアイテムデータ記憶部に記憶されているアイテムデータの例を示す図である。
【図4】一実施形態における情報推薦装置の処理の流れを示す図である。
【図5】ステップS1の処理の,より詳細な処理フロー例を示す図(その1)である。
【図6】ステップS1の処理の,より詳細な処理フロー例を示す図(その2)である。
【図7】一実施形態における高評価アイテム表および低評価アイテム表の例を示す図である。
【図8】一実施形態における属性値順序表の例を示す図である。
【図9】属性値順序組合せ表の例を示す図である。
【図10】取り出された属性値順序組合せにおけるアイテムの2次元グラフ上での配置例を示す図である。
【図11】一実施形態における高評価スカイラインアイテム表の例を示す図である。
【図12】処理ループにおける高評価スカイラインアイテム表の例を示す図である。
【図13】取り出された属性値順序組合せにおけるアイテムの2次元グラフ上での配置例を示す図である。
【図14】処理ループが完了した後の高評価スカイラインアイテム表の例を示す図である。
【図15】一実施形態における属性値スコア表の例を示す図である。
【図16】一実施形態における属性値順序スコア計算表の例を示す図である。
【図17】高評価スカイラインアイテム表のスコア欄の記入例を示す図である。
【図18】処理のループにおける属性値スコア表および属性値順序スコア計算表の例を示す図である。
【図19】処理のループにおける高評価スカイラインアイテム表の例を示す図である。
【図20】処理ループが完了した後の高評価スカイラインアイテム表の例を示す図である。
【図21】一実施形態における,別の処理手法による,属性値順序生成処理の処理フロー例を示す図である。
【図22】一実施形態における属性値分類表の例を示す図である。
【図23】一実施形態における属性値順序表の例を示す図
【図24】一実施形態における属性値分類表の例を示す図である。
【図25】一実施形態における属性値順序表の例を示す図である。
【図26】一実施形態におけるスカイラインクエリの例を示す図である。
【図27】一実施形態における属性値スコア表の例を示す図である。
【図28】一実施形態における問合せ結果表の例を示す図である。
【図29】問合せ結果表におけるアイテムの2次元グラフ上での配置例を示す図である。
【図30】一実施形態におけるスカイラインクエリの実行結果例を示す図である。
【図31】一実施形態における情報推薦装置のハードウェア構成例を示す図である。
【図32】従来手法のユーザ嗜好による推薦の問題を説明するための図である。
【図33】スカイライン問合せを説明するための図である。
【発明を実施するための形態】
【0025】
図1は,本発明の一態様として開示する情報推薦装置の一実施形態における構成例を示す図である。
【0026】
本実施形態において,情報推薦装置1は,ユーザの嗜好にもとづいてアイテムの優劣を推定し,優位のアイテムを示す推薦情報を出力する装置である。
【0027】
情報推薦装置1は,属性値順序学習部11,スカイライン問合せ部13,アイテム属性記憶部2,評価履歴記憶部3,およびアイテムデータ記憶部4を備える。
【0028】
属性値順序学習部11は,アイテムに与えられる複数の属性について,ユーザの評価をもとに,高評価のアイテムの多数がスカイラインアイテムとなるように,各属性に設定されている属性値の優劣を示す順序関係を学習する。
【0029】
スカイラインアイテムは,スカイラインを形成する要素となるアイテムである。すなわち,スカイラインアイテムは,アイテムが複数の属性によって特徴づけられ,さらに,各属性の属性値の間に順序関係(例えば優劣関係)が与えられている場合に,「全ての属性において属性値が自身の属性値と同じか上位(優位)となり,かつ,そのうちの1つ以上の属性値が自身の属性値より上位(優位)である他アイテムが存在しない」という条件を満たすアイテムである。
【0030】
属性値順序学習部11は,各属性での属性値の様々な順序(属性値の並び)の組合せのうち,スカイラインアイテムとなる高評価のアイテムが最多数となるような属性値の順序の組合せを求め,求めた組合せでの各属性の属性値の順序を,スカイライン問合せ部に渡す。
【0031】
属性値順序学習部11は,各属性の属性値の順序関係を学習する際に,他の条件により学習することができる。例えば,属性値順序学習部11は,アイテムに与えられた属性のうち,「1つの属性の属性値のみが異なるアイテム同士が高評価と低評価とに分かれる場合に,その異なる属性において高評価となったアイテムが持つ属性値を優位とする」という条件を満たす属性値の順序関係を学習することができる。
【0032】
また,属性値順序学習部11は,上記の学習により得られた順序関係において,さらに,高評価のアイテムが持つ属性値をより優位とするような順序関係を特定してもよい。例えば,属性値順序学習部11は,アイテムの評価にもとづくスコア(優位であるほどスコア値が小さいとする)と,アイテムの持つ各属性値の順位(優位であるほど値が小さいとする)の和の積を最小とするような順序関係を求めることができる。
【0033】
スカイライン問合せ部13は,属性値順序学習部11で決定された属性値の順序関係を,スカイラインアイテムを要求するクエリ(スカイラインクエリ)に与えて,未評価のアイテムからスカイラインアイテムを抽出する。抽出されたスカイラインアイテムは,推薦データ5として抽出され,ユーザに提示される。
【0034】
アイテム属性記憶部2は,アイテムに与えられる複数の属性と,各属性に設定される属性値を示すアイテム属性を記憶する。
【0035】
評価履歴記憶部3は,ユーザが過去に行ったアイテムに対する評価を示す評価履歴を記憶する。
【0036】
アイテムデータ記憶部4は,推薦対象となる,ユーザによる評価がされていないアイテムに関するデータ(アイテムデータ)を記憶する。アイテムデータ記憶部4は,データベースとして実施されてもよい。
【0037】
本実施例で,情報推薦装置1は,DVD(デジタルバーサタイルディスク)で提供されるデジタルコンテンツを推薦対象であるアイテムとし,以下の説明では,アイテムまたは単にDVDと記す。
【0038】
図2に,アイテム属性記憶部2に記憶されているアイテム属性の例を示す。
【0039】
アイテム属性として,「ジャンル」,「制作年」が設定される。また,ジャンルの属性値として「アクション,SF,コメディ,ホラー」が,制作年の属性値として「60年第,70年代,80年代,90年代」が,それぞれ設定される。
【0040】
評価履歴記憶部3に記憶される評価履歴は,図32(A)に例示するようなデータ項目を有する。すなわち,評価履歴は,各DVDの属性とユーザ評価とが対応付けられて記憶される。図32(A)の評価履歴で,評価は,値が大きいほど評価が高いことを示す。
【0041】
図3に,アイテムデータ記憶部4に記憶されるアイテムデータの例を示す。
【0042】
アイテムデータは,各DVDを識別する識別情報および複数の属性についての属性値が含まれる。
【0043】
図4は,情報推薦装置1の処理の流れを示す図である。
【0044】
ステップS1: 情報推薦装置1の属性値順序学習部11は,アイテム属性記憶部2のアイテム属性および評価履歴記憶部3の評価履歴をもとに,各属性における属性値の順序関係を学習する。
【0045】
ステップS2: スカイライン問合せ部13は,学習された属性値順序をもとに,アイテムデータ記憶部4に対してスカイラインクエリを実行する。
【0046】
ステップS3: スカイライン問合せ部13は,スカイラインクエリで抽出したスカイラインアイテムを推薦データ5として出力する。
【0047】
図5および図6は,ステップS1の処理の,より詳細な処理フロー例を示す図である。
【0048】
属性値順序学習部11は,評価履歴記憶部3から評価履歴を取り出し,アイテムを評価のレベルで区分けして,評価が高いアイテムを設定した高評価アイテム表と,評価の低いアイテムを設定した低評価アイテム表を作成する(ステップS101)。
【0049】
図7(A)は,高評価アイテム表の例,図7(B)は低評価アイテム表の例を示す図である。
【0050】
図32(A)の履歴評価から,属性値順序学習部11は,ユーザの平均評価(=5)を計算し,平均評価を上回るDVDa,b,cを高評価アイテム表に設定し,平均評価以下のDVDx,y,zを低評価アイテム表に設定する。
【0051】
属性値順序学習部11は,アイテム属性記憶部2からアイテム属性を取り出し,各属性について,可能な全ての属性値順序を列挙し,属性値順序を作成する(ステップS102)。
【0052】
属性値順序学習部11は,例えば,属性「ジャンル」の4つの属性値を要素とする属性値集合について,重複のない順列を展開し,順列の要素(属性値)間の「区切り(,)」を「<」で置き換えて,24通りの属性値順序を生成する。
【0053】
属性値をつなぐ「<」は,属性値間の優劣関係を表し,「<」の左辺の属性値が右辺の属性値より優れている(評価が高い)ことを表す。
【0054】
図8は,属性値順序表の例を示す図である。図8(A)は,属性「ジャンル」の属性値順序表の例を,図8(B)は,属性「制作年」の属性値順序表の例を示す。
【0055】
図8(A)に示す(アクション<SF<コメディ<ホラー)は,属性「ジャンル」の1つの属性値順序を示し,図8(B)に示す(60s<70s<80s<90s)は,属性「制作年」の1つの属性値順序を示す。
【0056】
属性値順序学習部11は,さらに,各属性の属性順序1つずつの組合せを全て列挙し,属性値順序組合せ表を作成する(ステップS103)。
【0057】
図9は,属性値順序組合せ表の例を示す図である。
【0058】
属性値順序学習部11は,ジャンルと制作年の2つの属性の属性値順序の組合せ,例えば,{(アクション<SF<コメディ<ホラー),(60s<70s<80s<90s)}を生成する。ステップS102の処理で,各属性について24通りの属性値順序から,576通りの属性値順序組合せを列挙して属性値順序組合せ表に設定する。
【0059】
属性値順序学習部11は,高評価スカイラインアイテム最大数Mを0で初期化し(ステップS104),属性値順序組合せ表から1行(1属性値順序組合せ)ずつ取り出して,以下のステップS106〜S111の処理を行う(ステップS105)。
【0060】
属性値順序学習部11は,属性値順序組合せ表の全ての行を処理していない限り(ステップS106のN),ステップS107の処理へ進む。
【0061】
属性値順序学習部11は,取り出した行(属性値順序組合せ)におけるスカイラインアイテムSを取得し(ステップS107),スカイラインアイテムSのうち,高評価アイテム表に含まれるアイテムを,高評価スカイラインアイテムTとし,その数Nを算出する(ステップS108)。
【0062】
属性値順序学習部11は,属性値順序組合せ{(アクション<SF<コメディ<ホラー),(60s<70s<80s<90s)}を取り出した場合に,図10に示す,属性値順序組合せにおけるアイテムの2次元グラフ上の配置例からもわかるように,スカイラインアイテムは{b}となる。DVDbは,高評価アイテム表に含まれるので,高評価スカイラインアイテム数N=1となる。
【0063】
属性値順序学習部11は,高評価スカイラインアイテム数Nと高評価スカイラインアイテム最大数Mとを比較する(ステップS109),N<Mであれば,ステップS105の処理へ戻り,N>MであればステップS110の処理へ進み,N=MであればステップS111の処理へ進む。
【0064】
ステップS110では,属性値順序学習部11は,最大数Mを,アイテム数Nで更新し,高評価スカイラインアイテム表を全てクリアする。
【0065】
ステップS111では,属性値順序学習部11は,図11に示すように,処理中の属性値順序組合せ,スカイラインアイテムS,高評価スカイラインアイテムTを高評価スカイラインアイテム表に追加し,アイテム数Nを更新する。
【0066】
属性値順序学習部11は,ステップS105の処理で,属性値順序組合せ表から次の1行(1属性値順序組合せ)を取り出し,全ての行を取り出していなければ(ステップS106のN),2ループ目のステップS106〜S111の処理を行う。
【0067】
属性値順序学習部11は,属性値順序組合せ表の全ての行が処理されるまで,ステップS106〜S111の処理を繰り返し,576ループの処理により,全ての行を処理した場合に(ステップS106のY),ステップS121の処理へ進む。
【0068】
図12(A)は,2ループ目が終了した場合の,高評価スカイラインアイテム表の例を示す図,図12(B)は,7ループ目が終了した場合の,高評価スカイラインアイテム表の例を示す図である。
【0069】
2ループ目の処理では,ステップS108で,高評価スカイラインアイテムT={b},アイテム数N=1となるので(図10参照),N=Mとなることから(ステップS108),ステップS111へ進み,図12(A)に示すように,処理中の属性値順序組合せ,スカイラインアイテムS,高評価スカイラインアイテムTが追加され,アイテム数Nが更新される。
【0070】
7ループ目の処理では,図13に示す,属性値順序組合せにおけるアイテムの2次元グラフ上の配置例からもわかるように,スカイラインアイテムが{b,c}となる。DVDb,cは,高評価アイテム表に含まれるので,高評価スカイラインアイテム数N=2となり,N>Mとなり(最大数M=1),高評価スカイラインアイテム表がクリアされ,最大数M=2に更新される(ステップS110)。
【0071】
図14は,属性値順序組合せ表の全ての行を処理した後,すなわちステップS106〜S111の処理ループを576回繰り返した後の高評価スカイラインアイテム表の例を示す図である。
【0072】
次に,属性値順序学習部11は,高評価スカイラインアイテム表から1行(1属性値順序組合せ)ずつ取り出し(図6:ステップS121),以下のステップS122〜S126の処理を繰り返す。
【0073】
属性値順序学習部11は,高評価スカイラインアイテム表の全ての行を処理していなければ(ステップS122のN),ステップS123の処理へ進む。
【0074】
ステップS123では,属性値順序学習部11は,属性値順序組合せ欄の各属性値の並びを参照し,属性値スコアを作成する。属性値のスコアは,属性値順序組合せでの属性値の並び順序に対応して,先頭から,1,2,3,…と定義する。
【0075】
例えば,処理対象が属性値順序組合せ{(アクション<SF<コメディ<ホラー),(70s<90s<60s<80s)}である場合に,図15の属性値スコア表の例に示すように,アクション=1,SF=2,コメディ=3,ホラー=4,60s=3,70s=1,80s=4,90s=2となる。ここで,属性値に対するスコアは,値が小さい程,評価が優れることを示し,属性値の順序関係において,より原点に近い位置となることを意味する。
【0076】
属性値順序学習部11は,属性値順序スコア計算表を全てクリアし(ステップS124),評価履歴および属性値スコア表を参照して,属性値順序スコア計算表のセルに値を設定する(ステップS125)。次に,属性値順序学習部11は,属性値順序スコア計算表の合計欄を計算し,その値を,高評価スカイラインアイテム表のスコア欄に記入する(ステップS126)。
【0077】
例えば,図16の属性値順序スコア計算表の例に示すように,属性値順序学習部11は,高評価アイテムのDVDaの属性値に対応するスコアを,属性値スコア表から求めて,属性値順序スコア計算表のDVDaのジャンル(SF)=2,制作年(90s)=2のように設定し,合計(=4)を計算する。他のDVDb,DVDcについても同様に処理する。そして,属性値順序学習部11は,図16に示す属性値順序スコア計算表において,DVDa,b,cのジャンルのスコアの合計を計算し,合計した値(=12)を,図17に示すように,高評価スカイラインアイテム表の対応する属性値順序のスコア欄に記入する。
【0078】
属性値順序学習部11は,ステップS121の処理で,高評価スカイラインアイテム表から次の1行(1属性値順序組合せ)を取り出し,2ループ目のステップS122〜S126の処理を繰り返す。
【0079】
図18(A)は,2ループ目のS123の処理において生成される属性値スコア表の例を示す図,図18(B)は,2ループ目のS125の処理において計算される属性値順序スコア計算表の合計の例を示す図である。図19は,2ループ目が終了した場合の,高評価スカイラインアイテム表の例を示す図である。
【0080】
図19の上から2行目の属性値順序組合せに対するスコアとして,図18に示す属性値順序スコア計算表で計算されたスコアの合計値(=13)が設定されている。
【0081】
図20は,高評価スカイラインアイテム表の全ての行を処理した後,すなわちステップS121〜S126の処理ループを20回繰り返した後の高評価スカイラインアイテム表の例を示す図である。
【0082】
属性値順序学習部11は,高評価スカイラインアイテム表の全ての行を処理した場合に(ステップS122のY),ステップS127の処理へ進む。
【0083】
ステップS127で,属性値順序学習部11は,高評価スカイラインアイテム表のスコアが最小値である属性値順序組合せを出力する。例えば,属性値順序学習部11は,図20に示す高評価スカイラインアイテム表から,スコアの値=12である属性値順序組合せ{(アクション<SF<コメディ<ホラー),(70s<90s<60s<80s)}を出力する。
【0084】
上述の処理例では,図5に示すステップS102の処理で,アイテム属性をもとに全ての属性値順序を生成したが,属性値順序学習部11は,別の処理手法で属性値順序を生成することができる。
【0085】
図21は,別の処理手法による,属性値順序生成処理の処理フロー例を示す図である。
【0086】
属性値順序学習部11は,アイテム属性から属性を1つ選択し,その属性の空の属性値分類表と属性値順序表とを作成する(ステップS201)。
【0087】
属性値順序学習部11は,高評価アイテム表に設定されたアイテム(高評価アイテム)のみが持つ属性値を,高評価属性値に分類し,属性値分類表の高評価属性値欄に記入する(ステップS202)。さらに,属性値順序学習部11は,低評価アイテム表に設定されたアイテム(低評価アイテム)のみが持つ属性値を,低評価属性値に分類し,属性値分類表の低評価属性値欄に記入する(ステップS203)。さらに,属性値順序学習部11は,ステップS201,S202で設定されなかったそれ以外の属性値を,中立属性値に分類し,属性値分類表の中立評価属性値欄に記入する(ステップS204)。
【0088】
図22は,属性値分類表の例を示す図である。図22の属性値分類表では,属性「ジャンル」の属性値が,高評価,低評価,中立の3分類に分類されていることを示す。
【0089】
次に,属性値順序学習部11は,(高評価属性値<低評価属性値<中立属性値)となる属性値順序を列挙し,属性値順序表に追加する(ステップS205)。さらに,属性値順序学習部11は,(高評価属性値<中立属性値<低評価属性値)となる属性値順序を列挙し,属性値順序表に追加する(ステップS206)。さらに,属性値順序学習部11は,(中立属性値<高評価属性値<低評価属性値)となる属性値順序を列挙し,属性値順序表に追加する(ステップS207)。
【0090】
図23は,属性値順序表の例を示す図である。図23(A)は,図22に示す属性値分類表をもとに,属性値順序表に,(高評価属性値<低評価属性値<中立属性値)となる2つの属性値順序(SF<ホラー<アクション<コメディ),(SF<ホラー<コメディ<アクション)が追加されたことを示す。図23(B)は,属性値順序表に,さらに(高評価属性値<中立属性値<低評価属性値)となる属性値順序(SF<アクション<コメディ<ホラー),(SF<コメディ<アクション<ホラー)が追加されたことを示す。図23(C)は,さらに,属性値順序表に,(中立属性値<高評価属性値<低評価属性値)となる属性値順序(アクション<コメディ<SF<ホラー),(コメディ<アクション<SF<ホラー)が追加されたことを示す。
【0091】
属性値順序学習部11が,アイテム属性の全ての属性を処理していなければ(ステップS208のN),ステップS201〜S207の処理を繰り返す。
【0092】
図24は,属性値分類表の例を示す図であり,属性「制作年」の属性値が,高評価,低評価,中立の3分類に分類されていることを示す。
【0093】
図25は,ステップS201〜S207の処理の終了後,属性「制作年」についての属性値順序表の例を示す図である。
【0094】
属性値順序学習部11が,アイテム属性の全ての属性を処理していれば(ステップS208のY),処理が終了され,図5のステップS103の処理が実行されることになる。
【0095】
図21に示す処理によれば,列挙する属性値順序を限定して,各属性の属性値順序のデータサイズを小さくすることができる。よって,全ての属性値順序を作成する場合に比べて,処理時間を短縮することができる。
【0096】
属性値順序学習部11が上述の処理により出力した属性値順序組合せ{(アクション<SF<コメディ<ホラー),(70s<90s<60s<80s)}は,スカイライン問合せ部13に渡される。
【0097】
スカイライン問合せ部13は,スカイラインクエリを,アイテムデータ記憶部4に対して実行する。
【0098】
スカイライン問合せ部13は,属性値順序組合せの属性「ジャンル」の属性値の順序(アクション<SF<コメディ<ホラー)と属性「制作年」の属性値の順序(70s<90s<60s<80s)にもとづいて,アイテムデータの各属性値に,その順序関係に応じたスコアを与え,スカイラインアイテムを特定する。
【0099】
図26および図27を用いて,スカイライン問合せ部13のより具体的な処理例を説明する。
【0100】
図26は,スカイライン問合せ部13が,アイテムデータ記憶部4に対して行うスカイラインクエリの例を示す図である。
【0101】
スカイライン問合せ部13は,図26に示すスカイラインクエリの実行の前に,図3に示すアイテムデータ記憶部4のアイテムデータをもとに,各属性の属性値のスコアが付与される列(grank列,erank列)を有する問合せ結果表(ビューテーブル)を作成する。問合せ結果表(テーブル名:joined_dvds)には,属性値に対する評価が格納される。
【0102】
スカイライン問合せ部13は,属性値順序学習部11が出力した属性値順序組合せをもとに,各属性の属性値の順序に対応するスコアを設定したテーブルを作成する。
【0103】
図27(A)は,ジャンルの属性値スコア表(テーブル名:genre_rank)の例を示す図であり,図27(B)は,ジャンルの属性値スコア表(テーブル名:era_rank)の例を示す図である。図28は,問合せ結果表(テーブル名:joined_dvds)の例を示す図である。
【0104】
スカイライン問合せ部13は,図27の属性値スコア表を参照して,図28に示す問合せ結果表のgrank,erankに対応スコアを記入する。
【0105】
図29は,図28に示す問合せ結果表における各DVDの2次元グラフ上での配置例を示す図である。
【0106】
図26に示すスカイラインクエリでは,grank,erankの値を用いてアイテムの優劣が比較される。具体的には,「属性値に対するスコアgrank,erankの値が,自身の値以下であり(図26のクエリの11,12行目),かつ,そのうちの1つ以上の属性値がより小さい値である(図26のクエリの13,14行目)である他のDVD」が存在しないDVD(スカイラインアイテム)が要求される。
【0107】
図29に示すように,DVDk,j,oがスカイラインアイテムとなる。スカイライン問合せ部13は,スカイラインクエリによる出力結果(スカイラインアイテム集合{k,j,o})を出力する。
【0108】
図30は,スカイラインクエリの実行結果例を示す図である。
【0109】
図30に示すように,実行結果として,DVDj(SF,60s),DVDk(アクション,80s),DVDo(ホラー,70s)のDVD群(スカイラインアイテム集合)が抽出され,多様な属性のアイテムが抽出されることがわかる。図30に示す実行結果のDVDj,k,oが,推薦データ5として出力される。
【0110】
図31は,情報推薦装置1のハードウェア構成例を示す図である。
【0111】
情報推薦装置1は,演算装置(CPU)101,一時記憶装置(DRAM,フラッシュメモリ等)102,永続性記憶装置(HDD,フラッシュメモリ等)103を有するコンピュータと,入力装置(キーボード,マウス等)120および出力装置(ディスプレイ,・プリンタ等)130とによって実施することができる。また,情報推薦装置1は,このコンピュータ100が実行可能なプログラムによっても実施することができる。この場合に,情報推薦装置1が有すべき機能の処理内容を記述したプログラムが提供される。提供されたプログラムをコンピュータ100が実行することによって,上記説明した情報推薦装置1の処理機能がコンピュータ100上で実現される。
【0112】
なお,コンピュータ100は,可搬型記録媒体から直接プログラムを読み取り,そのプログラムに従った処理を実行することもできる。さらに,上記プログラムは,コンピュータで読み取り可能な記録媒体に記録しておくことができる。
【0113】
以上説明したように,開示する情報推薦装置1によれば,スカイライン問合せ処理をユーザ嗜好に応じた情報推薦に利用することが可能となり,相互に類似するようなアイテムが高評価となって推薦されることを解消することができる。また,他のアイテムとの比較において優れた点があるアイテムのみを推薦することが可能となり,よりユーザが望む推薦結果を出力することができる。
【符号の説明】
【0114】
1 情報推薦装置
11 属性値順序学習部
13 スカイライン問合せ部
2 アイテム属性記憶部
3 評価履歴記憶部
4 アイテムデータ記憶部
5 推薦データ

【特許請求の範囲】
【請求項1】
複数の属性が与えられたアイテムデータを,ユーザの嗜好にもとづいて推薦する情報推薦装置であって,
アイテムデータに対する評価を示す評価履歴を記憶する評価履歴記憶部と,
推薦対象となる未評価の複数のアイテムデータを記憶するアイテムデータ記憶部と,
前記評価履歴をもとに,アイテムデータを,前記アイテムデータに対する評価と所定の閾値により高評価アイテムと低評価アイテムに分類し,全ての属性において評価が自身に対する評価と同じか優位であり,かつ,そのうちの1つ以上の評価が自身に対する評価より優位である他アイテムが存在しない条件を満たすスカイラインを形成する前記高評価アイテムが最多数となる場合における,前記アイテムデータに与えられた各属性で設定されている複数の属性値の優劣を示す順序関係を学習する属性値順序学習部と,
前記アイテムデータ記憶部に記憶されている未評価のアイテムデータについて,前記属性値順序学習部で学習された各属性の属性値の順序関係にもとづいて,前記スカイラインを形成するアイテム集合を抽出し,抽出したアイテムデータを推薦アイテムとするスカイライン問合せ部とを,備える
ことを特徴とする情報推薦装置。
【請求項2】
前記属性値順序学習部は,前記属性のうち1つの属性の属性値のみが異なるアイテムデータが高評価アイテムと低評価アイテムとに分類される場合に,該異なる属性において,前記高評価アイテムが持つ属性値を優位とする条件を備えて,前記条件を満たす属性値の順序関係を学習する
ことを特徴とする請求項1に記載の情報推薦装置。
【請求項3】
複数の属性が与えられたアイテムデータを,ユーザの嗜好にもとづいて推薦する情報推薦方法であって,
評価履歴記憶部とアイテムデータ記憶部とを備えるコンピュータが,
前記評価履歴記憶部に記憶された,アイテムデータに対する評価を示す評価履歴をもとに,アイテムデータを,前記アイテムデータに対する評価と所定の閾値により高評価アイテムと低評価アイテムに分類し,全ての属性において評価が自身に対する評価と同じか優位であり,かつ,そのうちの1つ以上の評価が自身に対する評価より優位である他アイテムが存在しない条件を満たすスカイラインを形成する前記高評価アイテムが最多数となる場合における,前記アイテムデータに与えられた各属性で設定されている複数の属性値の優劣を示す順序関係を学習する処理ステップと,
前記アイテムデータ記憶部に記憶されている未評価のアイテムデータについて,前記学習された各属性の属性値の順序関係にもとづいて,前記スカイラインを形成するアイテム集合を抽出し,抽出したアイテムデータを推薦アイテムとする処理ステップとを実行する
ことを特徴とする情報推薦方法。
【請求項4】
複数の属性が与えられたアイテムデータを,ユーザの嗜好にもとづいて推薦する情報推薦プログラムであって,
評価履歴記憶部とアイテムデータ記憶部とを備えるコンピュータに,
前記評価履歴記憶部に記憶された,アイテムデータに対する評価を示す評価履歴をもとに,アイテムデータを,前記アイテムデータに対する評価と所定の閾値により高評価アイテムと低評価アイテムに分類し,全ての属性において評価が自身に対する評価と同じか優位であり,かつ,そのうちの1つ以上の評価が自身に対する評価より優位である他アイテムが存在しない条件を満たすスカイラインを形成する前記高評価アイテムが最多数となる場合における,前記アイテムデータに与えられた各属性で設定されている複数の属性値の優劣を示す順序関係を学習する処理と,
前記アイテムデータ記憶部に記憶されている未評価のアイテムデータについて,前記学習された各属性の属性値の順序関係にもとづいて,前記スカイラインを形成するアイテム集合を抽出し,抽出したアイテムデータを推薦アイテムとする処理とを実行させるためのものである
ことを特徴とする情報推薦プログラム。


【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate

【図25】
image rotate

【図26】
image rotate

【図27】
image rotate

【図28】
image rotate

【図29】
image rotate

【図30】
image rotate

【図31】
image rotate

【図32】
image rotate

【図33】
image rotate


【公開番号】特開2012−128706(P2012−128706A)
【公開日】平成24年7月5日(2012.7.5)
【国際特許分類】
【出願番号】特願2010−280100(P2010−280100)
【出願日】平成22年12月16日(2010.12.16)
【出願人】(000005223)富士通株式会社 (25,993)
【Fターム(参考)】