(57)【要約】【課題】  テンソル上の未観測値データ（欠損値）を補充し、予測精度を向上させる。【解決手段】  本発明は、複数次元の関係を示す観測データと、各次元の背景知識となるタクソノミを入力として、該観測データと未観測データとの間の関連度を計算する関連性計算手段と、観測データに加えて、未観測データに対し、計算された関連度を用いて、複数次元の関係を表現するテンソルを構築するテンソル構築手段と、テンソルをテンソル分解法により分解及び復元することで、未観測データに対する欠損値を推定する欠損値推定手段と、を有する。【選択図】  図２
2014021797.tif 000002
【特許請求の範囲】
【請求項１】
複数次元のデータ間の関係を表現するテンソルを用いて欠損値を予測する欠損値予測装置であって、
複数次元の関係を示す観測データと、各次元の背景知識となるタクソノミを入力として、該観測データと未観測データとの間の関連度を計算する関連性計算手段と、
前記観測データに加えて、前記未観測データに対し、計算された前記関連度を用いて、複数次元の関係を表現するテンソルを構築するテンソル構築手段と、
前記テンソルをテンソル分解法により分解及び復元することで、前記未観測データに対する欠損値を推定する欠損値推定手段と、
を有することを特徴とする欠損値予測装置。
【請求項２】
複数次元のデータ間の関係を表現するテンソルを用いて欠損値として、ユーザが次に購入する商品を予測する商品推薦装置であって、
ユーザの商品に対する消費頻度からなるユーザの商品の消費履歴を観測データとし、情報源から得られる商品のクラス構造であるタクソノミを入力として、該観測データと該ユーザが購入した商品とは別の商品との関連度を該タクソノミを利用して計算する関連性計算手段と、
前記消費履歴と計算された前記関連度を用いて、ユーザ、商品、クラスからなる3次元のテンソルを構築するテンソル構築手段と、
前記テンソルをテンソル分解法により分解及び復元することで、ユーザが関心を持ちうる商品を推定する商品予測手段と、
を有することを特徴とする商品推薦装置。
【請求項３】
複数次元のデータ間の関係を表現するテンソルを用いて欠損値を予測する欠損値予測方法であって、
関連性計算手段、テンソル構築手段、欠損値推定手段と、を有する装置において、
前記関連性計算手段が、複数次元の関係を示す観測データと、各次元の背景知識となるタクソノミを入力として、該観測データと未観測データとの間の関連性を計算する関連性計算ステップと、
前記テンソル構築手段が、前記観測データに加えて、前記未観測データに対し、計算された前記関連性を用いて、複数次元の関係を表現するテンソルを構築するテンソル構築ステップと、
前記欠損値推定手段が、前記テンソルをテンソル分解法により分解及び復元することで、前記未観測データに対する欠損値を推定する欠損値推定ステップと、
を行うことを特徴とする欠損値予測方法。
【請求項４】
複数次元のデータ間の関係を表現するテンソルを用いて欠損値として、ユーザが次に購入する商品を予測する商品推薦方法であって、
関連性計算手段、テンソル構築手段、商品予測手段と、を有する装置において、
前記関連性計算手段が、ユーザの商品に対する消費頻度からなるユーザの商品の消費履歴を観測データとし、情報源から得られる商品のクラス構造であるタクソノミを入力として、該観測データと該ユーザが購入した商品とは別の商品との関連性を、該タクソノミを利用して計算する関連性計算ステップと、
前記テンソル構築手段が、前記消費履歴と計算された前記関連性を用いて、ユーザ、商品、クラスからなる3次元のテンソルを構築するテンソル構築ステップと、
前記商品予測手段が、前記テンソルをテンソル分解法により分解及び復元することで、ユーザが関心を持ちうる商品を推定する商品予測ステップと、
を行うことを特徴とする商品推薦方法。
【請求項５】
コンピュータを、
請求項１記載の欠損値予測装置または、請求項２記載の商品推薦装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、欠損値予測装置及び商品推薦装置及び方法及びプログラムに係り、特に、タクソノミを用いて観測データを経由したバイアスをテンソルに加えることで、テンソル分解に基づく欠損値の予測精度を向上させるための欠損値予測装置及び商品推薦装置及び方法及びプログラムに関する。
【０００２】
詳しくは、複数次元のデータ間の関係を表現するテンソルを分析し、有用な関係集合などを抽出するテンソル分析においては、各次元をクロスしたデータ間の取り得る関係の数が非常に多いため、観測されているデータ数も少なく、その場合、分析の結果に悪影響を与えることが分かっている。本発明は、そうした関係を予測するという、テンソル分析の精度向上のための、テンソル上の欠損値の予測を扱う技術分野に属する。
【０００３】
また、応用として、協調フィルタリングに基づく商品推薦を行う情報推薦分野にも属する。特に、商品、ユーザの２次元の行列を分解する方法による商品推薦方法を発展させ、商品、ユーザ、ユーザの商品消費コンテクストの３次元からなるテンソルを分解する方法による商品推薦方法を扱う技術分野に属する。
【背景技術】
【０００４】
Web及びネットワーク上において、ユーザによる対象の意味や概念に対する参照要求が大きくなるにつれ、WikiPedia(登録商標)等の体系化された辞書が普及するようになってきている。また、こうしたユーザの要求を人手ではなく、人の代わりにサービスが処理し、ユーザにカスタマイズして提示可能とするための、機械処理可能な概念参照API（Application Program Interface）が急速に普及しており、DBPedia(登録商標)、Word-Net(登録商標)、FreeBase(登録商標)など様々な情報プロバイダが、自身の持つ情報を体系化し、APIを通じ安価または無料で提示するようになってきている（例えば、非特許文献１参照）。
【０００５】
一方、ユーザの興味のある商品を推測し、ユーザに代わりに情報を収集提示するような推薦システムも必要とされ研究されてきた。特に、商品、ユーザの２次元の行列を分解する方法による商品推薦方法が普及しつつあり、特に商品にユーザが与える評点の予測などの分野への応用や実用化が行われるようになってきている。
【０００６】
＜取り組む問題＞
現在、ユーザが商品に与えるタグなどを取り扱い、ユーザ、商品、タグからなる３次元のデータをテンソルで取り扱い、テンソル分解に基づく推薦手法によりテンソルの未観測部分を補完し、その補完値を利用して推薦を決定することで、推薦の精度を上げる研究も行われつつある。ここで、タグはユーザの消費におけるコンテクストを表すものと考えることができる。コンテクストには、ユーザの感情、ユーザの好きなジャンル、ユーザがアイテムを消費した場所などが要素として挙げられる。こうしたコンテクストの要素を踏まえた推薦を行えば、よりユーザが受け入れ易い状況に沿った商品の推薦ができ得るわけであるから、ユーザが推薦を基に商品を新たに消費する可能性は高まると考えられる。
【０００７】
疎なテンソルの補完問題において補完精度を向上させるため、低ランク性の仮定に加えて、データ間の関係性を補助情報として考慮する方法がある。テンソルの低ランク分解にグラフラプラシアンによる正則化項を導入することによってテンソルの補完にデータ間の補助情報を導入した定式化を提案し、これを解くためのアルゴリズムを示す。この補助情報により、補完精度が良くなることを報告している（例えば、非特許文献２参照）
また、Matrix factorizationのフレームにおいて、タクソノミを用い、アーチスト、アルバム、ジャンルにバイアスを掛けて学習することで、予測精度を上げる研究がある（例えば、非特許文献３参照）。図１に、タクソノミの例を示す。タクソノミはクラス、アイテムの階層構造を有するグラフを構成する。
【先行技術文献】
【非特許文献】
【０００８】
【非特許文献１】Linked Open Data Project (http://linkeddata.org/)
【非特許文献２】成田ら，「補助情報を用いたテンソル分解」，信学技報, 2011.
【非特許文献３】Yahoo! Music Recommendations: Modeling Music Ratings with Temporal Dynamics and Item Taxonomy, Gideon, RecSys'11, 2011.
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかし、テンソルの未観測部分の補完は、通常、対象となるテンソルが低ランクであることを仮定することによって行われる。しかし、補完するテンソルの未観測部分の割合が高い場合、すなわち、疎である場合には補完精度が悪くなることが知られている。つまり、ユーザの商品の消費履歴が少ない場合、つまり、テンソル上の実数値が入るカラムが少ない場合に、予測精度が悪くなることが報告されている。また、一般のコンテンツプロバイダでは、ユーザは全てのアイテムを購入・評価しているわけではないため、消費履歴から構築されるテンソルは疎になるという問題がある。
【００１０】
様々な出来事が幾つかの物事同士の関わりによって表される。対象が２種類であれば２次元の配列としての行列によってデータを表すことができるが、より多くの対象が同時に関わってくるのなら、高次元の配列、つまり、テンソルという形で表すことができる。誤差が大きい、または、実験にコストが掛かるために一部しか観測できないなどといった理由で、データに欠損が生じるといった状況は様々に発生する。欠損の生じたデータはそのままでは解析に適さないといった理由で、多くの場合満足に利用することができず、そのまま無駄になってしまうことになる。このような場合には、未知のデータを推定することができれば、初めから一部しか観測を行わないことでコストや手間を軽減することができる。組み合わせの数が膨大なためにそもそも網羅的な観測が不可能な場合であっても、一部の観測から全体像を捉えるといったことも考えられる。そのような目的のためにテンソルを補完する手法が重要になってくる。
【００１１】
本発明は、上記の点に鑑みなされたもので、テンソル上の未観測値データ（欠損値）を補充し、予測精度を向上させることが可能な欠損値予測装置及び商品推薦装置及び方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１２】
上記の課題を解決するため、本発明（請求項１）は、複数次元のデータ間の関係を表現するテンソルを用いて欠損値を予測する欠損値予測装置であって、
複数次元の関係を示す観測データと、各次元の背景知識となるタクソノミを入力として、該観測データと未観測データとの間の関連度を計算する関連性計算手段と、
前記観測データに加えて、前記未観測データに対し、計算された前記関連度を用いて、複数次元の関係を表現するテンソルを構築するテンソル構築手段と、
前記テンソルをテンソル分解法により分解及び復元することで、前記未観測データに対する欠損値を推定する欠損値推定手段と、を有する。
【００１３】
また、本発明（請求項２）は、複数次元のデータ間の関係を表現するテンソルを用いて欠損値として、ユーザが次に購入する商品を予測する商品推薦装置であって、
ユーザの商品に対する消費頻度からなるユーザの商品の消費履歴を観測データとし、情報源から得られる商品のクラス構造であるタクソノミを入力として、該観測データと該ユーザが購入した商品とは別の商品との関連度を該タクソノミを利用して計算する関連性計算手段と、
前記消費履歴と計算された前記関連度を用いて、ユーザ、商品、クラスからなる3次元のテンソルを構築するテンソル構築手段と、
前記テンソルをテンソル分解法により分解及び復元することで、ユーザが関心を持ちうる商品を推定する商品予測手段と、を有する。
【発明の効果】
【００１４】
上述のように、本発明によれば、クラスの背景知識を活用し、テンソル分解に基づく欠損値の予測精度を向上させることが可能となる。広く普及す売るmatlab（登録商標）のtensor tool boxなど既存のツールとの相性もよく、簡易に精度を上げることができるため、今後の産業面での活用が期待できる。
【図面の簡単な説明】
【００１５】
【図１】タクソノミの例である。
【図２】本発明の一実施の形態における欠損予測装置の構成図である。
【図３】本発明の一実施の形態における欠損予測処理のフローチャートである。
【図４】本発明を商品推薦に適用した場合の構成例である。
【発明を実施するための形態】
【００１６】
以下、図面と共に本発明の実施の形態を説明する。
【００１７】
まず、本発明の概要を説明する。
【００１８】
一般的には、疎なテンソル上にある次元（mode）における観測データの背景知識であるタクソノミを用い、観測データと非観測データ間の関係性をpprなどの関連性計測法を用いて計算し、非観測データに与えられた関連性の値を基に、テンソルを密にする。これにより、テンソル分解による欠損値の予測精度を上げる。
【００１９】
推薦システムにて応用すると、商品の背景知識である商品のタクソノミを用い、タクソノミ上の他の商品とのカンレンドをあらかじめ計算する。そして、その値を基にテンソル上の空きカラムに予め値を挿入する。その上で、テンソル分解を実施する。これにより、商品の背景知識を用い、疎なテンソルを密にすることができ、またユーザが消費した商品にタクソノミ上で関連する商品に関連度を入れているため、ユーザの興味を捉えており、結果として商品の予測精度が向上する。
【００２０】
図２は、本発明の一実施の形態における欠損予測装置の構成を示す。
【００２１】
同図に示す欠損予測装置は、ベクトル作成部１、関連性計算部２、テンソル構築部３、欠損値推定部４、及び、各部の途中結果を格納する記憶部５から構成される。
【００２２】
当該欠損予測装置は、複数次元の関係を示す観測データと、各次元の背景知識としてタクソノミ（クラスの階層構造）が入力され、欠損値の推定結果を出力する。
【００２３】
図３は、本発明の一実施の形態における欠損予測装置の動作のフローチャートである。
【００２４】
ステップ１）まず、外部の入力手段から入力された複数次元の関係を示す観測データと、各次元の背景知識としてタクソノミ（クラスの階層構造）を記憶部５に格納するものとする。
【００２５】
ベクトル作成部１は、複数時点の関係を示す観測データのユーザのアイテムへの評価値から、タクソノミ上のクラス、インスタンスへの評価値ベクトルを作成し、記憶部５に格納する。記憶部５は、メモリまたはハードディスク等の記憶媒体である。
【００２６】
ユーザｕのアイテムへの評価ベクトルをruとし、アイテムｉへの評価値をｒu,iとする。
【００２７】
アイテムは複数のクラスに属することがあり、同じアイテムでも異なるクラスに属するアイテムは別のインスタンスとしてタクソノミ上では管理する。なお、同じアイテムに対応するインスタンスは同じ評価値を持つとする。
【００２８】
次に、ユーザｕのタクソノミ上のクラス、インスタンスに対する評価ベクトル
【００２９】
【数１】
2014021797.tif 000003
を計算する。初期状態では、記憶部５上のユーザｕのタクソノミ上のクラスに対する評価値は空であり、インスタンスに対する評価値は対応するアイテムへの評価値をセットした上で、評価値ベクトル
【００３０】
【数２】
2014021797.tif 000004
を
【００３１】
【数３】
2014021797.tif 000005
となるように正規化するように調整した値をセットする。
【００３２】
ステップ２）  関連性計算部２は、記憶部５から取得したタクソノミグラフ上でのpersonalized page rank（グラフ上での値の伝搬方法）に基づき、観測データと未観測データの関連度を計算する。また、アイテムのタクソノミにおいて、クラス、アイテムをノードとし、隣接する行列Ａを記憶部５上に用意する。その上で、以下の式で表されるpersonalized page rankを収束するまで実行する。
【００３３】
【数４】
2014021797.tif 000006
ここで、ｓは定常状態における問い合わせ分布（ｕのアイテムへの評価ベクトルであり、初期ノードセット）
【００３４】
【数５】
2014021797.tif 000007
を基に計算された各ノードへの訪問確率を示す。ｃは初期ノードセットへ戻る確率を示す。
【００３５】
ステップ３）  テンソルの構成：
テンソル構築部３は、ユーザ、インスタンス、クラスの３モードからなるテンソルχを構成する。テンソル上の座標を記憶部５に用意する。ここでテンソル上の座標（ｕ，ｉ，ｃ）にセットする値は、記憶部５からステップ２のpersonalized page rankで計算された値に基づいてセットする。対応する値がない場合は、null値がセットされる。
【００３６】
ステップ４）  欠損値推定部４は、記憶部５から構築されたテンソルχを読み出し、テンソルχの低ランク性を仮定して、テンソル分解の方法としてtucker分解を用いると、下記のようなコアテンソルｇと因子行列Ｕ，Ｖ，Ｗに分解できる。ここで因子行列の列ベクトルは正規直交である。
【００３７】
【数６】
2014021797.tif 000008
ここで、テンソルχのサイズが|ｕ|×|ｉ|×|ｃ|とし、コアテンソルｇのサイズは|ｇ|×|ｇ|×|ｇ|とする。また、因子行列Ｕ，Ｖ，Ｗのそれぞれのサイズは、|ｕ|×|ｇ|，|ｖ|×|ｇ|，|ｗ|×|ｇ|となる。
【００３８】
捕捉であるが、テンソル分解の方法としては、繰り返し最適化による順最適化を行うのが一般的である。基本的には与えられたテンソルを２乗誤差の意味で最適近似するような分解を求める。
【００３９】
【数７】
2014021797.tif 000009
この最適解を求めるのに多く用いられるのは、最小２乗回帰的か特異値分解の繰り返し計算である。特に、tucker分解では、n-mode展開行列を計算し、通常の特異値分解を繰り返し行い、コアテンソルを計算するという手続（HOSVD(Higer Order Singular Value Decomposition)）を取る（例えば、参考文献：森垣潤一、片山薫、http://www.ieice.org/~de/DEWS/DEWS2008/proceedings/files/e10/e10-2.pdf高次特異値分解の画像分類への応用の3.3章参照）。また、復元する際には、分解したものを式（２）の右辺の通り掛け合わせて復元する。
【００４０】
図４に、本発明を商品推薦に適用した例を示す。
【００４１】
図４の商品推薦装置は、上記の欠損値予測方法で求められる欠損値を、ユーザが関心を持つ商品として予測するものである。
【００４２】
商品推薦装置は、ベクトル作成部１、関連性計算部２、テンソル構築部３、商品予測部４、記憶部５から構成され、個人（ユーザ）の商品に対する消費頻度からなるユーザの商品の消費履歴（ユーザ、アイテム、クラス）と、WikiPedia（登録商標）などの情報源から得られる商品のクラス階層構造であるタクソノミが入力され、上記の処理を行うことにより、アイテムと予測値からなる推薦アイテム集合が出力される。
【００４３】
入力されたユーザの商品の消費履歴とタクソノミは記憶部５に格納される。
【００４４】
関連性計算部２は、記憶部５に格納されている消費履歴を参照して、ユーザが購入した商品と、消費履歴にはない別の商品の関連度をタクソノミを用いて計算する。
【００４５】
テンソル構築部３は、入力された消費頻度と関連性計算部２で計算された関連度を基に、ユーザ、商品、クラスからなる３次元のテンソルを構築し、記憶部５に格納する。
【００４６】
商品予測部４は、構築されたテンソルをテンソル分解法により分解及び復元することで、ユーザが関心を持ちうる商品を予測し、推薦結果として出力する。
【００４７】
［実験］
twitter（登録商標）上での音楽視聴履歴をクロールしたデータセットを用いて検証を実施した。７月６日から７月１３日までのデータセットＰを用い、７月１４日から７月２１日のデータセットＲでの視聴を予測した結果を示す。結果として、本発明の手法が、他の場合に比べて精度が大幅に良いことを確認した。比較手法の「２次元行列へ適用した場合：matrix factorization相当」というのは、非特許文献３そのものではないが、近い手法である。非特許文献３は、アーチスト、アルバム、ジャンルへのバイアスの入れ方を学習するものであるが、この実験における方法ではバイアスの入れ方を関連性計測法pprによる方法にしており、本発明とバイアスの入れ方を揃えている分、公平な実験であるといえる。
【００４８】
一般的に協調フィルタリングの検証において用いられている検証基準を採用し、本発明では、Ｐ内のアイテムに対する予測値と実際の評価値との誤差を示す指標であるMean Absolute Error(MAE)を用いる。この指標は以下の式で表される。ここでは、nはＰ内のエントリの数であり、ＰiとＲiはそれぞれ各エントリｉに対する予測値と実際の評価値である。
【００４９】
【数８】
2014021797.tif 000010
１．欠損値埋めない場合（core tensor次元数200）
mae=8.964807573131538e-01
２．pprにより欠損値を埋めた場合(core tensor次元数 200)
mae=6.471668040528389e-01
３．単純にrandom分布をpprで欠損値入れた分だけ、入れてみる(core tensor次元数 200)
mae=9.254317810583369e-01
４．２次元の行列へ適用した場合：matrix factorization 相当（core tensor次元数 20）
mae=8.546303326790184e-01
５．２次元の行列へ適用した場合：matrix factorization相当（core tensor次元数 200）
mae=8.680556911316474e-01
６．２次元の行列へ適用した場合：matrix factorization 相当，pprも実施（core tensor次元数 20）
mae=8.938438340040192e-01
７．２次元の行列へ適用した場合：matrix factorization相当，pprも実施（core tensor次元数 200）
mae=8.980591026316034e-01
＜従来技術との差異＞
本発明と前述の従来技術（非特許文献２，３）との違いは以下の通りである。
【００５０】
非特許文献２は、タクソノミを用いておらず、データ間の関係を訓練データセットから学習する必要がある。そのため、補助情報の学習を可能にするだけのデータセットが少ない場合など、疎なデータセットを扱う場合に精度が劣化する可能性がある。また、補助情報の学習を余分に行う分、計算時間が掛かるという問題がある。
【００５１】
非特許文献３は、matrix factorizationの研究であり、tensor factorizationではない。また、genreを用いている。tensor factorizationではユーザ、アイテムの関係のみでなく、ユーザ、クラスとクラス、アイテムの関係をも用いて、欠損値を埋めるため、これらの関係を用いて実験でも示すように大幅に精度を改善できたと考えられる。
【００５２】
なお、上記の図２の欠損予測装置の構成要素、図４の商品推薦装置の構成要素の動作をプログラムとして構築し、欠損予測装置、商品推薦装置として利用されるコンピュータにインストールして実行させる、または、ネットワークを介して流通させることが可能である。
【００５３】
本発明は、上記の実施の形態に限定されることなく、特許請求の範囲内において、種々変更・応用が可能である。
【符号の説明】
【００５４】
１  ベクトル作成部
２  関連性計算部
３  テンソル構築部
４  欠損値推定部、商品予測部
５  記憶部
【図１】
2014021797.tif 000011
【図２】
2014021797.tif 000012
【図３】
2014021797.tif 000013
【図４】
2014021797.tif 000014