JP2013228947A - 端末装置、情報処理装置、推薦システム、情報処理方法、及びプログラム - Google Patents

端末装置、情報処理装置、推薦システム、情報処理方法、及びプログラム Download PDF

Info

Publication number
JP2013228947A
JP2013228947A JP2012101605A JP2012101605A JP2013228947A JP 2013228947 A JP2013228947 A JP 2013228947A JP 2012101605 A JP2012101605 A JP 2012101605A JP 2012101605 A JP2012101605 A JP 2012101605A JP 2013228947 A JP2013228947 A JP 2013228947A
Authority
JP
Japan
Prior art keywords
matrix
user
vector
product
content
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2012101605A
Other languages
English (en)
Inventor
Shingo Takamatsu
慎吾 高松
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP2012101605A priority Critical patent/JP2013228947A/ja
Publication of JP2013228947A publication Critical patent/JP2013228947A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】コンテンツの推薦に利用されるパラメータのデータサイズを低減すること。
【解決手段】ユーザi(i=1〜N)によるコンテンツj(j=1〜M)の利用値rijを要素に持つ履歴行列Rが、N行D列の行列UとM行D列の行列Vとの積UVで表現され、前記行列Vが、M行d列(d<D)の行列V'と、d行d列の行列Aと、M行d列の行列V"との積V'AV"で表現される場合に、ユーザiに対応する前記行列Uの要素ベクトルUと、前記行列V"と、前記行列Aとの積UV"AであるベクトルU’を計算する圧縮行列計算部を備え、前記ベクトルU’は、前記ユーザiに対するコンテンツの推薦処理に利用される、情報処理装置が提供される。
【選択図】図3

Description

本技術は、端末装置、情報処理装置、推薦システム、情報処理方法、及びプログラムに関する。
近年、ネットワークを利用したビジネスが急拡大している。例えば、ネットワーク上のオンラインストアで商品を購入するシステムは広く一般に利用されている。こうしたオンラインストアの多くには、ユーザに商品を推薦する仕組みが設けられている。例えば、ある商品の詳細情報をユーザが閲覧すると、その商品に関連する商品の情報が関連商品又は推薦商品としてユーザに提示される。
このような仕組みは、例えば、下記の特許文献1に記載された協調フィルタリング方法などを利用して実現される。この協調フィルタリング方法は、嗜好の似たユーザの購入履歴などを利用して商品を推薦する方法である。また、推薦先となるユーザの購入履歴などを利用して商品を推薦するコンテンツベースフィルタリング方法も知られている。最近では、こうした推薦技術は、商品に限らず、様々なコンテンツの推薦に利用されている。
特開2003−167901号公報
上記のようなコンテンツの推薦を実現するには、ユーザが利用する端末装置と、ユーザの利用履歴などを解析するサーバ装置との間の連携が必要になる。まず、サーバ装置が端末装置からコンテンツの利用履歴などを収集する。このとき、端末装置とサーバ装置との間で通信が発生する。次いで、サーバ装置は、端末装置から収集した利用履歴を用いてコンテンツ推薦用のアルゴリズムを実行し、推薦するコンテンツのリストを生成する。このリストは、サーバ装置から端末装置へと送信される。そして、端末装置は、サーバ装置から受信したリストをディスプレイなどに表示してユーザに提示する。
通信環境が良好な場合、上記の連携方法を用いてコンテンツの推薦を実現することが可能になる。しかし、何らかの事情で端末装置とサーバ装置との間で通信が途絶えてしまった場合、コンテンツの推薦サービスが利用できなくなってしまう。また、通信環境が悪化したり、もともと通信帯域の幅が狭かったりすると、コンテンツの推薦リストがユーザに提示されるまでに長い時間を要してしまう。さらに、上記の連携方法を適用すると、端末装置からサーバ装置へのアクセスが集中してしまう傾向もある。
そのため、通信量や通信頻度を減らしたり、ある程度は端末装置単独でコンテンツの推薦サービスを提供できるようにしたり、サーバ装置における演算負荷を低減できるようにしたりする工夫が求められている。その解決方法として、例えば、端末装置とサーバ装置との間でコンテンツの推薦に用いるパラメータを共有する方法などが考えられる。この方法を利用すると、定期的にパラメータを更新する必要はあるが、更新までの期間は、端末装置がコンテンツ推薦用のアルゴリズムを実行することにより、端末装置単独でコンテンツの推薦サービスを提供することが可能になる。
また、ユーザの利用履歴に関するパラメータについては端末装置自身が更新処理を実行することで利用履歴の変化にも対応することが可能になる。しかしながら、多くの場合、端末装置の演算能力は低く、さらには記憶容量も少ないため、端末装置が、コンテンツの推薦に用いるパラメータを全て保持することや、全てのパラメータを利用してコンテンツ推薦用のアルゴリズムを実行することは難しい。
そこで、本技術は、上記のような事情を受けて考案されたものであり、コンテンツの推薦に利用されるパラメータのデータサイズを低減することが可能な、新規かつ改良された端末装置、情報処理装置、推薦システム、情報処理方法、及びプログラムを提供することを意図している。
本技術のある観点によれば、ユーザi(i=1〜N)によるコンテンツj(j=1〜M)の利用値rijを要素に持つ履歴行列Rが、N行D列の行列UとM行D列の行列Vとの積UVで表現され、前記行列Vが、M行d列(d<D)の行列V'と、d行d列の行列Aと、M行d列の行列V"との積V'AV"で表現される場合に、ユーザk(1≦k≦N)に対応する前記行列Uの要素ベクトルUと、前記行列V"と、前記行列Aとの積UV"AであるベクトルU’を取得する圧縮行列取得部と、前記ユーザkによるコンテンツjの利用値rkjに対する推定値rkj’として、前記ベクトルU’と、コンテンツjに対応する前記行列V’の要素ベクトルV’との積U’Vを算出する推定値算出部と、を備え、前記推定値rkj’は、前記ユーザkに対するコンテンツjの推薦に利用される、端末装置が提供される。
また、本技術の別の観点によれば、ユーザi(i=1〜N)によるコンテンツj(j=1〜M)の利用値rijを要素に持つ履歴行列Rが、N行D列の行列UとM行D列の行列Vとの積UVで表現され、前記行列Vが、M行d列(d<D)の行列V'と、d行d列の行列Aと、M行d列の行列V"との積V'AV"で表現される場合に、ユーザiに対応する前記行列Uの要素ベクトルUと、前記行列V"と、前記行列Aとの積UV"AであるベクトルU’を計算する圧縮行列計算部を備え、前記ベクトルU’は、前記ユーザiに対するコンテンツの推薦処理に利用される、情報処理装置が提供される。
また、本技術の別の観点によれば、ユーザi(i=1〜N)によるコンテンツj(j=1〜M)の利用値rijを要素に持つ履歴行列Rが、N行D列の行列UとM行D列の行列Vとの積UVで表現され、前記行列Vが、M行d列(d<D)の行列V'と、d行d列の行列Aと、M行d列の行列V"との積V'AV"で表現される場合に、ユーザiに対応する前記行列Uの要素ベクトルUと、前記行列V"と、前記行列Aとの積UV"AであるベクトルU’を計算する圧縮行列計算部を有する、情報処理装置と;前記情報処理装置から、ユーザk(1≦k≦N)に対応する前記行列Uの要素ベクトルUと、前記行列V"と、前記行列Aとの積UV"AであるベクトルU’を取得する圧縮行列取得部と、前記ユーザkによるコンテンツjの利用値rkjに対する推定値rkj’として、前記ベクトルU’と、コンテンツjに対応する前記行列V’の要素ベクトルV’との積U’Vを算出する推定値算出部と、を有する、端末装置と;を含み、前記推定値rkj’は、前記ユーザkに対するコンテンツjの推薦に利用される、推薦システムが提供される。
また、本技術の別の観点によれば、ユーザi(i=1〜N)によるコンテンツj(j=1〜M)の利用値rijを要素に持つ履歴行列Rが、N行D列の行列UとM行D列の行列Vとの積UVで表現され、前記行列Vが、M行d列(d<D)の行列V'と、d行d列の行列Aと、M行d列の行列V"との積V'AV"で表現される場合に、ユーザk(1≦k≦N)に対応する前記行列Uの要素ベクトルUと、前記行列V"と、前記行列Aとの積UV"AであるベクトルU’を取得するステップと、前記ユーザkによるコンテンツjの利用値rkjに対する推定値rkj’として、前記ベクトルU’と、コンテンツjに対応する前記行列V’の要素ベクトルV’との積U’Vを算出するステップと、を含み、前記推定値rkj’は、前記ユーザkに対するコンテンツjの推薦に利用される、情報処理方法が提供される。
また、本技術の別の観点によれば、ユーザi(i=1〜N)によるコンテンツj(j=1〜M)の利用値rijを要素に持つ履歴行列Rが、N行D列の行列UとM行D列の行列Vとの積UVで表現され、前記行列Vが、M行d列(d<D)の行列V'と、d行d列の行列Aと、M行d列の行列V"との積V'AV"で表現される場合に、ユーザk(1≦k≦N)に対応する前記行列Uの要素ベクトルUと、前記行列V"と、前記行列Aとの積UV"AであるベクトルU’を取得する圧縮行列取得機能と、前記ユーザkによるコンテンツjの利用値rkjに対する推定値rkj’として、前記ベクトルU’と、コンテンツjに対応する前記行列V’の要素ベクトルV’との積U’Vを算出する推定値算出機能と、をコンピュータに実現させるためのプログラムであり、前記推定値rkj’は、前記ユーザkに対するコンテンツjの推薦に利用される、プログラムが提供される。
また、本技術の別の観点によれば、ユーザi(i=1〜N)によるコンテンツj(j=1〜M)の利用値rijを要素に持つ履歴行列Rが、N行D列の行列UとM行D列の行列Vとの積UVで表現され、前記行列Vが、M行d列(d<D)の行列V'と、d行d列の行列Aと、M行d列の行列V"との積V'AV"で表現される場合に、ユーザiに対応する前記行列Uの要素ベクトルUと、前記行列V"と、前記行列Aとの積UV"AであるベクトルU’を計算するステップを含み、前記ベクトルU’は、前記ユーザiに対するコンテンツの推薦処理に利用される、情報処理方法が提供される。
また、本技術の別の観点によれば、ユーザi(i=1〜N)によるコンテンツj(j=1〜M)の利用値rijを要素に持つ履歴行列Rが、N行D列の行列UとM行D列の行列Vとの積UVで表現され、前記行列Vが、M行d列(d<D)の行列V'と、d行d列の行列Aと、M行d列の行列V"との積V'AV"で表現される場合に、ユーザiに対応する前記行列Uの要素ベクトルUと、前記行列V"と、前記行列Aとの積UV"AであるベクトルU’を計算する圧縮行列計算機能をコンピュータに実現させるためのプログラムであり、前記ベクトルU’は、前記ユーザiに対するコンテンツの推薦処理に利用される、プログラムが提供される。
以上説明したように本技術によれば、コンテンツの推薦に利用されるパラメータのデータサイズを低減することが可能になる。
本技術の一実施形態に係る推薦システムのシステム構成について説明するための説明図である。 同実施形態に係る端末装置の機能構成について説明するための説明図である。 同実施形態に係るサーバ装置の機能構成について説明するための説明図である。 同実施形態に係るサーバ装置の動作について説明するための説明図である。 同実施形態に係るサーバ装置の動作について説明するための説明図である。 同実施形態に係るサーバ装置の動作について説明するための説明図である。 同実施形態に係るサーバ装置の動作について説明するための説明図である。 同実施形態に係るサーバ装置の動作について説明するための説明図である。 同実施形態に係るサーバ装置の動作について説明するための説明図である。 同実施形態に係るサーバ装置の動作について説明するための説明図である。 同実施形態に係るサーバ装置の動作について説明するための説明図である。 同実施形態に係るサーバ装置の動作について説明するための説明図である。 同実施形態に係る端末装置の動作について説明するための説明図である。 同実施形態に係る端末装置及びサーバ装置の機能を実現することが可能なハードウェア構成について説明するための説明図である。
以下に添付図面を参照しながら、本技術に係る好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
[説明の流れについて]
ここで、以下に記載する説明の流れについて簡単に述べる。
まず、図1〜図3を参照しながら、本実施形態に係るシステムの構成について説明する。次いで、図4〜図13を参照しながら、本実施形態に係るシステムの動作について説明する。次いで、図14を参照しながら、本実施形態に係る端末装置10及びサーバ装置20の機能を実現することが可能なハードウェア構成について説明する。最後に、同実施形態の技術的思想について纏め、当該技術的思想から得られる作用効果について簡単に説明する。
(説明項目)
1:システムの構成
1−1:全体構成
1−2:端末装置10の機能構成
1−3:サーバ装置20の機能構成
2:システムの動作
2−1:行列分解方式について
2−2:パラメータ圧縮方式について
3:ハードウェア構成例
4:まとめ
<1:システムの構成>
まず、本実施形態に係る推薦システムのシステム構成について説明する。
[1−1:全体構成]
図1に示すように、本実施形態に係る推薦システムは、端末装置10と、サーバ装置20とにより構成される。端末装置10としては、携帯電話、携帯情報端末、パーソナルコンピュータの他、例えば、ゲーム機、情報家電、カーナビゲーションシステム、撮像装置、録画再生装置、テレビジョン受像機、セットトップボックスなど、様々な情報処理装置が利用可能である。一方、サーバ装置20としては、単独の情報処理装置、ネットワークで接続された複数台の情報処理装置群、クラウドコンピューティングシステムなどが利用可能である。ここではシステム構成の一例を紹介するが、本実施形態に係る技術の適用範囲はこれに限定されない。以下、端末装置10、及びサーバ装置20の構成について、それぞれ説明する。
[1−2:端末装置10の機能構成]
まず、図2を参照しながら、端末装置10の機能構成について説明する。図2は、端末装置10の機能構成について説明するための説明図である。
図2に示すように、端末装置10は、主に、入力部101と、通信部102と、演算部103と、記憶部104と、推薦部105と、出力部106とにより構成される。
入力部101は、ユーザが情報を入力するために用いる入力デバイスである。入力部101としては、例えば、キーボード、マウス、タッチパッド、タッチセンサ、タッチパネル、トラックボール、リモートコントローラ、マイク、カメラなどが利用可能である。ユーザがコンテンツを利用する際に入力部101に入力された情報は、利用履歴として通信部102及び演算部103に入力される。
通信部102は、サーバ装置20と通信するための通信デバイスである。なお、端末装置10とサーバ装置20との間の通信は、有線通信であってもよいし、無線通信であってもよい。例えば、通信部102は、コンテンツの利用履歴に関する情報をサーバ装置20に送信する。なお、通信部102は、コンテンツの利用履歴に関する情報と共に、演算部103による演算結果をサーバ装置20に送信するように構成されていてもよい。また、通信部102は、コンテンツの推薦に利用するパラメータをサーバ装置20から受信する。サーバ装置20から受信したパラメータは、演算部103に入力される。
演算部103は、通信部102を介してサーバ装置20から受信したパラメータを記憶部104に格納する。また、演算部103は、記憶部104に格納されたパタメータを利用して未利用のコンテンツに関する利用値(後述)を推定する。演算部103による利用値の推定結果は、推薦部105に入力される。推薦部105は、未利用のコンテンツに関する利用値の推定結果に基づいて推薦すべきコンテンツのリスト(以下、推薦リスト)を生成する。そして、推薦部105は、出力部106を制御して推薦リストの内容をユーザに提示する。
出力部106としては、LCD(Liquid Crystal Display)やELD(Light−Emitting Diode)ディスプレイなどの表示デバイス、或いは、スピーカやヘッドホンなどの音声出力デバイスが利用可能である。また、記憶部104としては、例えば、磁気記録デバイス、光記録デバイス、光磁気記録デバイス、半導体記録デバイスなどが利用可能である。また、記憶部104は、端末装置10から着脱可能なデバイスであってもよい。
以上、端末装置10の機能構成について説明した。
[1−3:サーバ装置20の機能構成]
次に、図3を参照しながら、サーバ装置20の機能構成について説明する。図3は、サーバ装置20の機能構成について説明するための説明図である。
図3に示すように、サーバ装置30は、主に、通信部201と、演算部202と、記憶部203とにより構成される。
通信部201は、端末装置10と通信するための通信デバイスである。なお、端末装置10とサーバ装置20との間の通信は、有線通信であってもよいし、無線通信であってもよい。例えば、通信部201は、コンテンツの利用履歴に関する情報などを端末装置10から受信する。コンテンツの利用履歴に関する情報は、通信部201から演算部202へと入力される。また、通信部201は、コンテンツの推薦に利用するパラメータを端末装置10に送信する。
演算部202は、通信部201を介して取得したコンテンツの利用履歴に基づいてコンテンツの推薦に利用するパラメータを更新する。また、演算部202は、更新後のパラメータを記憶部203に格納する。さらに、演算部202は、通信部201を介して端末装置10へと送信するパタメータを圧縮する。この圧縮方法については後述する。
以上、サーバ装置20の機能構成について説明した。
上記のように、本実施形態に係る推薦システムは、端末装置10からサーバ装置20へとコンテンツの利用履歴などの情報を送信する工程と、サーバ装置20から端末装置10へとパラメータを送信する工程とを実行する機能を有する。但し、後述するように、端末装置10とサーバ装置20との間で送受信されるパラメータは所定の方法で圧縮される。そのため、通信負荷の低減、端末装置10における演算負荷の低減、端末装置10及びサーバ装置20における記憶容量の低減に寄与する。以下では、本実施形態に係る推薦システムの動作に沿って、パラメータの圧縮方法について詳細に説明する。
<2:システムの動作>
以下、本実施形態に係る推薦システムの動作について説明する。
本実施形態に係る推薦システムは、行列分解によるコンテンツ推薦技術(以下、行列分解方式)を採用する。行列分解方式の特徴は、あるユーザが、あるコンテンツを利用した利用履歴を示す利用値を要素とする行列(以下、利用値行列R;図4を参照)をユーザの区別に依存する行列(以下、ユーザ行列U)と、コンテンツの区別に依存する行列(以下、コンテンツ行列V)との積UVに分解(図5を参照)する点にある。
[2−1:行列分解方式について]
例えば、ユーザiによるコンテンツjの利用履歴が変化した場合、ユーザiの端末装置10は、ユーザiによるコンテンツjの利用履歴を示す利用値rijをサーバ装置20へと送信する。利用値rijとしては、例えば、コンテンツjに対してユーザiが付した評価スコア(5段階評価など)などが利用される。もちろん、購入履歴や、詳細情報の閲覧履歴などを表すスコアを利用値として利用することも可能である。なお、利用値rijは、0〜1の実数値に正規化されているとする。
サーバ装置20には、各ユーザの端末装置10から利用値が集められる。上記の利用値行列Rは、利用値rijをi行目j列目の要素に持つ行列である。なお、ユーザ毎に利用するコンテンツが異なることから、利用値行列Rは、図4に示すように疎な行列となる。例えば、ユーザ数がN、コンテンツ数がMの場合、利用値行列Rのサイズは、N×Mとなる。図4に示した利用値行列Rの空白欄は、該当するユーザが未利用のコンテンツに対応する。コンテンツ推薦アルゴリズムは、この空白欄に入るであろう利用値を予測し、予測値が大きい要素に対応するコンテンツを推薦リストに追加するのである。
行列分解方式の場合、利用値行列Rは、図5に示すように、ランクDの行列U及びVに分解される。具体的には、下記の式(1)に示すように、N×Dの行列Uと、M×Dの行列Vの積UVで利用値行列Rが近似的に表現される(但し、添字のtは行列の転置を表す。)。行列Uのi行目に位置するベクトルUは、ユーザiの嗜好を表すベクトル(以下、ユーザベクトル)である。一方、行列Vのj行目に位置するベクトルVは、コンテンツjに関するベクトル(以下、コンテンツベクトル)である。行列分解方式に係るコンテンツ推薦アルゴリズムは、i行目j列目の要素が未利用であった場合、下記の式(2)に示すようにして利用値rijを推定する。

R≒UV
…(1)

ij←U
…(2)
上記の行列U及びVは、所定の期間毎に更新される。行列U及びVの更新方法については、例えば、「Y. J. Lim and Y. W. Teh, “Variational Bayesian approach to movie rating prediction”. In Proceedings of KDD Cup and Workshop, 2007.」「Ruslan Salakhutdinov and Andriy Mnih, “Probabilistic matrix factorization”. In Advances in Neural Information Processing Systems, volume 20, 2008.」などが参考になる。
(パラメータの更新処理)
具体的には、図6に示すような流れに沿ってサーバ装置20によりパラメータ(行列U及びVなど)の更新処理が実行される。
図6に示すように、サーバ装置20は、U及びVの更新が収束するまで、次の処理を繰り返し実行する(更新ループ)。まず、サーバ装置20は、インデックスiを1ずつインクリメントさせながら、ステップS11の処理を繰り返し実行する。ステップS11において、サーバ装置20は、ベクトルUi以外のパラメータ(例えば、Vなど)を固定してUiを更新する(S11)。
i=1〜NについてステップS11の処理が終了すると、サーバ装置20は、インデックスjを1ずつインクリメントさせながら、ステップS12の処理を繰り返し実行する。ステップS12において、サーバ装置20は、ベクトルVj以外のパラメータ(例えば、Uなど)を固定してVを更新する(S12)。j=1〜MについてステップS11の処理が終了すると、サーバ装置20は、U及びVの更新が収束したか判定し、収束している場合にはパラメータの更新処理を終了する。
(コンテンツの推薦処理)
サーバ装置20においてパラメータが更新されると、更新後のパラメータが各ユーザの端末装置10に送信される。具体的には、ユーザiの端末装置10には、更新後のパラメータとしてユーザベクトルU及び行列Vが送信される。更新後のパラメータを受信した端末装置10は、図7に示すような流れに沿ってコンテンツの推薦処理を実行する。
図7に示すように、まず、端末装置10は、未使用のコンテンツについて利用値を予測する(S21)。利用値の予測は、上記の式(2)に基づいて実行される。次いで、端末装置10は、ステップS21で予測された利用値の降順に、未利用のコンテンツをソートする(S22)。次いで、端末装置10は、利用値が高い順に所定数の未利用のコンテンツを抽出して推薦リストとしてユーザに提示し(S23)、処理を終了する。
(ユーザベクトルの更新処理)
また、新たなコンテンツが利用された場合、端末装置10は、図8に示すような流れに沿ってユーザベクトルUを更新する。このとき、コンテンツベクトルVは更新されない。図8に示すように、端末装置10は、Uの更新が収束するまでステップS31の処理を繰り返し実行する。ステップS31において、端末装置10は、U以外のパラメータ(Vなど)を固定してUを更新する(S31)。その後、端末装置10は、Uの更新が収束したか否かを判定し、収束した場合には処理を終了する。
このように、ユーザベクトルを端末装置10で更新することにより、サーバ装置20にアクセスできない期間でも最新の利用履歴に基づいたコンテンツの推薦が可能になる。また、端末装置10にてユーザベクトルが更新されることから、端末装置10とサーバ装置20との間でパラメータを送受信する頻度を低減させることが可能になり、通信負荷の低減にも寄与する。但し、ユーザベクトルの更新に要する演算負荷はランクDの2乗に比例する。また、通信の頻度が低減しても、U及びVのデータサイズは依然大きい。そこで、パラメータを圧縮する方式(以下、パラメータ圧縮方式)を提案する。
[2−2:パラメータ圧縮方式について]
パラメータ圧縮方式は、図9に示すように、行列Vをさらに分解する方式である。分解方法としては、例えば、特異値分解や確率的行列分解などの方法が利用可能である。ここでは一例として、特異値分解を利用する方法を紹介する。
まず、サーバ装置20は、上記の式(1)に基づいて利用値行列Rから行列U及びVを得る。次いで、サーバ装置20は、図9に示すように、行列Vを特異値分解する。このとき、分解後の行列のランクd(d<D)は、任意に設定可能である。但し、ランクdの値が小さいほど、端末装置10の演算負荷が低減する。また、ランクdの値が小さいほど、端末装置10とサーバ装置20との間の通信負荷が低減する。一方、ランクdの値が大きいほど、近似の精度が高まる。従って、端末装置10の演算能力、通信環境、及び推薦に求められる精度に応じてランクdの値は適切に設定されることが望ましい。
例えば、端末装置10の機器情報に応じてランクdの値が自動的に切り替わる仕組みを推薦システムに設けることも考えられる。具体的には、演算能力の高いパーソナルコンピュータなどの場合にはランクdの値を所定の高い値にし、演算能力の低い携帯情報端末などの場合にはランクdの値を所定の低い値に設定する仕組みなどが考えられる。その他にも、端末装置10の記憶容量に応じてランクdが設定される仕組みなども考えられる。
また、通信環境に応じてランクdの値が自動的に切り替わる仕組みを推薦システムに設けることも考えられる。具体的には、端末装置10が低速な通信回線に接続している場合にはランクdの値を所定の低い値にし、高速な通信回線に接続している場合にはランクdの値を所定の高い値にする仕組みなどが考えられる。上記のような仕組みを実現するためには、機器を判別したり、通信環境を判別したりする仕組みを設け、その判別結果に応じてサーバ装置20がランクdを自動調整する仕組みを追加すればよい。
ランクdを設定すると、サーバ装置20は、特異値の大きい順にdランクを選択し、下記の式(3)に示すように行列分解を実行する(図9を参照)。下記の式(3)において、行列V'は、特異値の大きい順に選択されたd個の特異値に対応する左特異値ベクトルから成るM×d行列である。また、行列Aは、d個の特異値から成るd次元対角行列である。また、行列V"は、d個の特異値に対応する右特異値ベクトルから成るD×d行列である。なお、d<Dの条件下において、下記の式(3)に示す行列分解は近似である。

V≒V'AV"
…(3)
上記のようにして行列Vを分解した後、サーバ装置20は、下記の式(4)に基づいてユーザベクトルUを圧縮する。図10に示すように、下記の式(4)に基づく演算により、ランクDのベクトルUからランクdのベクトルU’へとd/Dのサイズに圧縮される。なお、以下では、圧縮後のユーザベクトルU’を圧縮ユーザベクトルと呼ぶことにする。パラメータ圧縮方式においては、ユーザベクトルUに代えて、圧縮ユーザベクトルU’がサーバ装置20から端末装置10へと送信される。さらに、利用値の推定にも圧縮ユーザベクトルU’が利用される。

’←UV”A
…(4)
上記のように、ユーザベクトルUが圧縮されることで、サーバ装置20から端末装置10へと送信されるパラメータのデータサイズが低減される。また、サーバ装置20及び端末装置10においてパラメータを保持するために確保すべき記憶容量を抑制することができる。さらに、端末装置10における演算負荷が低減される。
ここで、圧縮ユーザベクトルU’を利用した端末装置10によるコンテンツの推薦処理について説明する。
圧縮ユーザベクトルU’を受信した端末装置10は、未利用のコンテンツjについて、下記の式(5)に基づいて利用値の推定値rij’を算出する。但し、V’は、行列V’を構成するj行目のベクトルである。下記の式(5)に上記の式(4)を代入すると、下記の式(6)のようになる。下記の式(6)に示すように、下記の式(5)に示した演算で得られる推定値rij’は、上記の式(2)に示した演算で得られる推定値rijの近似値に他ならない。従って、端末装置10は、推定値rijを利用して推薦リストを生成した場合と同様に、推定値rij’を利用して推薦リストを生成し、コンテンツをユーザに推薦する。

ij’←U’V
…(5)

ij’=UV”AV≒U
…(6)
また、新しいコンテンツが利用された場合、端末装置10は、行列V’を固定したままで、圧縮ユーザベクトルU’を更新する。更新処理についても、上述したユーザベクトルUの更新処理と実質的に同じである。なお、この更新処理の計算量はベクトルのランクの2乗に比例する。そのため、ユーザベクトルUを利用する更新処理の計算量に比べ、圧縮ユーザベクトルU’を利用する更新処理の計算量は、d/Dに低減される。また、サーバ装置20にアクセスできない期間があっても、端末装置10において最新の利用履歴に基づくコンテンツの推薦が可能になる。
また、端末装置10は、利用履歴が変化した場合に、利用履歴の差分と、更新後の圧縮ユーザベクトルU’をサーバ装置20に送信する。サーバ装置20は、更新後の圧縮ユーザベクトルU’を下記の式(7)に従ってD次元のベクトルU”に変換する(図11を参照)。サーバ装置20は、現在の行列Uに含まれるベクトルUとベクトルU”とを置き換え、行列Uを更新する。なお、ベクトルU”は、ユーザベクトルUの近似である。そのため、行列Uの更新は短時間で収束することが期待される。

”←U’A−1V”
…(7)
その後、サーバ装置20は、所定のタイミングで、最新の利用値行列Rに基づいて行列U及びVを更新する。そして、サーバ装置20は、更新後の行列U及びVに基づく圧縮パタメータ(例えば、U’及びV’)を端末装置10に送信する。
ところで、上記説明においては、利用履歴の更新があった場合に端末装置10にて圧縮ユーザベクトルU’を更新する方法について述べた。しかし、通信環境が比較的良好な場合や、端末装置10の演算能力が低い場合、圧縮ユーザベクトルU’の更新処理をサーバ装置20にて実行するような仕組みに変形してもよい。この場合、処理の流れは図12のようになる。
図12に示すように、サーバ装置20は、定期的な処理として、最新の利用値行列Rに基づく行列U及びVの更新処理、及び行列Vの特異値分解を実行する(S101)。次いで、サーバ装置20は、端末装置10からパラメータの更新要求を受信したか否かを確認する(S102)。パラメータの更新要求を受信した場合、サーバ装置20は、処理をステップS103に進める。一方、パラメータの更新要求を受信していない場合、サーバ装置20は、処理をステップS101に進める。
処理をステップS103に進めた場合、サーバ装置20は、端末装置10から取得した利用履歴の差分に基づいて更新後の圧縮ユーザベクトルU’を算出する(S103)。次いで、サーバ装置20は、圧縮ユーザベクトルU’を端末装置10に送信する(更新されている場合にはV’も送信し(S104)、処理をステップS101に進める。
サーバ装置20による上記の処理は繰り返し実行される。一方、この場合における端末装置10の更新処理は図13のようになる。
図13に示すように、端末装置10は、利用履歴が変化したか否かを判定する(S111)。利用履歴が変化した場合、端末装置10は、処理をステップS112に進める。一方、利用履歴が変化していない場合、端末装置10は、処理を再びステップS111に進める。処理をステップS112に進めた場合、端末装置10は、利用履歴の差分をサーバ装置20に送信する(S112)。
次いで、端末装置10は、サーバ装置20から更新後のパラメータを受信する(S113)。次いで、端末装置10は、サーバ装置20から受信した更新後のパラメータにより現在保持している圧縮ユーザベクトルU’を更新する(S114)。次いで、端末装置10は、ユーザからコンテンツ推薦の要求を受けたか否かを判定する(S115)。要求を受けた場合、端末装置10は、処理をステップS116に進める。一方、要求を受けていない場合、端末装置10は、処理をステップS111に進める。
処理をステップS116に進めた場合、端末装置10は、更新後のパラメータを利用して未利用のコンテンツの利用値を推定し、推定した利用値に基づいて推薦リストを生成する。そして、端末装置10は、生成した推薦リストをユーザに提示する(S116)。推薦リストをユーザに提示した後、端末装置10は、処理をステップS111に進める。
以上、本実施形態に係る推薦システムの動作について説明した。
(変形例:確率的行列分解の推定アルゴリズム)
上記の説明においては、特異値分解を利用するアルゴリズムについて述べたが、例えば、確率的行列分解を利用するアルゴリズムを適用することも可能である。ここでは、特異値分解の代わりに確率的行列分解を利用する方法について紹介する。
まず、hランク目(1≦h≦D)の残差行列R(h)=(rij (h))を下記の式(8)により定義する。但し、Iijは、利用者行列Rのi行目j列目の要素が既に利用されていれば1、未利用であれば0となる行列である。また、Uik及びVjkは、それぞれD次元のベクトルU及びVのk番目の要素である。
Figure 2013228947
上記の残差行列R(h)を行列Uのh列目の列ベクトルU・hと、行列Vのh列目の列ベクトルV・hとを利用して、正則化最小二乗法によりR(h)=U・h・h と行列分解する。この処理をh=1からDまで順番に実行することにより、全体の行列分解(つまり、行列U及びVの推定)を実行したことになる。なお、正則化パラメータはクロスバリデーションなどにより適切に設定されているものとする。このような方法を適用することで、確率的行列分解を利用することも可能である。
以上説明したように、本実施形態に係る推薦システムを利用すると、端末装置10からコンテンツの推薦要求を受ける度にサーバ装置20が端末装置10と通信する必要がなくなり、定期的に少ない回数の通信だけで済むため、通信負荷が低減される。また、端末装置10がサーバ装置20と通信できない場合でも、更新後の利用履歴に基づくパラメータの更新を端末装置10が実行できるため、最新の利用履歴に基づくコンテンツの推薦が可能になる。さらに、サーバ装置20へのアクセス集中を緩和することができる。
さらに、パラメータ圧縮方式を採用することで、端末装置10において低い演算負荷でパラメータの更新を実行することが可能になる。また、端末装置10とサーバ装置20との間で送受信されたパタメータのデータ量が削減されるため、通信負荷も低減される。また、パラメータの圧縮率(上記のランクdに対応)を柔軟に変更することができるため、端末装置10の性能や通信環境などに応じたパラメータの圧縮が可能になる。
<3:ハードウェア構成例>
上記の端末装置10、サーバ装置20が有する各構成要素の機能は、例えば、図14に示す情報処理装置のハードウェア構成を用いて実現することが可能である。つまり、当該各構成要素の機能は、コンピュータプログラムを用いて図14に示すハードウェアを制御することにより実現される。なお、このハードウェアの形態は任意であり、例えば、パーソナルコンピュータ、携帯電話、PHS、PDA等の携帯情報端末、ゲーム機、又は種々の情報家電がこれに含まれる。但し、上記のPHSは、Personal Handy−phone Systemの略である。また、上記のPDAは、Personal Digital Assistantの略である。
図14に示すように、このハードウェアは、主に、CPU902と、ROM904と、RAM906と、ホストバス908と、ブリッジ910と、を有する。さらに、このハードウェアは、外部バス912と、インターフェース914と、入力部916と、出力部918と、記憶部920と、ドライブ922と、接続ポート924と、通信部926と、を有する。但し、上記のCPUは、Central Processing Unitの略である。また、上記のROMは、Read Only Memoryの略である。そして、上記のRAMは、Random Access Memoryの略である。
CPU902は、例えば、演算処理装置又は制御装置として機能し、ROM904、RAM906、記憶部920、又はリムーバブル記録媒体928に記録された各種プログラムに基づいて各構成要素の動作全般又はその一部を制御する。ROM904は、CPU902に読み込まれるプログラムや演算に用いるデータ等を格納する手段である。RAM906には、例えば、CPU902に読み込まれるプログラムや、そのプログラムを実行する際に適宜変化する各種パラメータ等が一時的又は永続的に格納される。
これらの構成要素は、例えば、高速なデータ伝送が可能なホストバス908を介して相互に接続される。一方、ホストバス908は、例えば、ブリッジ910を介して比較的データ伝送速度が低速な外部バス912に接続される。また、入力部916としては、例えば、マウス、キーボード、タッチパネル、ボタン、スイッチ、及びレバー等が用いられる。さらに、入力部916としては、赤外線やその他の電波を利用して制御信号を送信することが可能なリモートコントローラ(以下、リモコン)が用いられることもある。
出力部918としては、例えば、CRT、LCD、PDP、又はELD等のディスプレイ装置、スピーカ、ヘッドホン等のオーディオ出力装置、プリンタ、携帯電話、又はファクシミリ等、取得した情報を利用者に対して視覚的又は聴覚的に通知することが可能な装置である。但し、上記のCRTは、Cathode Ray Tubeの略である。また、上記のLCDは、Liquid Crystal Displayの略である。そして、上記のPDPは、Plasma DisplayPanelの略である。さらに、上記のELDは、Electro−Luminescence Displayの略である。
記憶部920は、各種のデータを格納するための装置である。記憶部920としては、例えば、ハードディスクドライブ(HDD)等の磁気記憶デバイス、半導体記憶デバイス、光記憶デバイス、又は光磁気記憶デバイス等が用いられる。但し、上記のHDDは、Hard Disk Driveの略である。
ドライブ922は、例えば、磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリ等のリムーバブル記録媒体928に記録された情報を読み出し、又はリムーバブル記録媒体928に情報を書き込む装置である。リムーバブル記録媒体928は、例えば、DVDメディア、Blu−rayメディア、HD DVDメディア、各種の半導体記憶メディア等である。もちろん、リムーバブル記録媒体928は、例えば、非接触型ICチップを搭載したICカード、又は電子機器等であってもよい。但し、上記のICは、Integrated Circuitの略である。
接続ポート924は、例えば、USBポート、IEEE1394ポート、SCSI、RS−232Cポート、又は光オーディオ端子等のような外部接続機器930を接続するためのポートである。外部接続機器930は、例えば、プリンタ、携帯音楽プレーヤ、デジタルカメラ、デジタルビデオカメラ、又はICレコーダ等である。但し、上記のUSBは、Universal Serial Busの略である。また、上記のSCSIは、Small Computer System Interfaceの略である。
通信部926は、ネットワーク932に接続するための通信デバイスであり、例えば、有線又は無線LAN、Bluetooth(登録商標)、又はWUSB用の通信カード、光通信用のルータ、ADSL用のルータ、又は各種通信用のモデム等である。また、通信部926に接続されるネットワーク932は、有線又は無線により接続されたネットワークにより構成され、例えば、インターネット、家庭内LAN、赤外線通信、可視光通信、放送、又は衛星通信等である。但し、上記のLANは、Local Area Networkの略である。また、上記のWUSBは、Wireless USBの略である。そして、上記のADSLは、Asymmetric Digital Subscriber Lineの略である。
<4:まとめ>
最後に、本実施形態の技術的思想について簡単に纏める。以下に記載する技術的思想は、例えば、PC、携帯電話、携帯ゲーム機、携帯情報端末、情報家電、カーナビゲーションシステム等、種々の端末装置及び情報処理装置などに対して適用することができる。
上記の端末装置、情報処理装置、これらの装置を含む推薦システム、或いは、これらの装置及びシステムに関連する情報処理方法の構成は次のように表現することができる。かかる構成の適用は、コンテンツ推薦の際に演算量の削減に寄与する。また、圧縮行列Ui’だけを保持するように構成すれば、記憶容量を低減することが可能になる。さらに、圧縮行列Ui’をクライアントに送信する際の通信負荷を低減することも可能になる。
(1)
ユーザi(i=1〜N)によるコンテンツj(j=1〜M)の利用値rijを要素に持つ履歴行列Rが、N行D列の行列UとM行D列の行列Vとの積UVで表現され、前記行列Vが、M行d列(d<D)の行列V'と、d行d列の行列Aと、M行d列の行列V"との積V'AV"で表現される場合に、ユーザk(1≦k≦N)に対応する前記行列Uの要素ベクトルUと、前記行列V"と、前記行列Aとの積UV"AであるベクトルU’を取得する圧縮行列取得部と、
前記ユーザkによるコンテンツjの利用値rkjに対する推定値rkj’として、前記ベクトルU’と、コンテンツjに対応する前記行列V’の要素ベクトルV’との積U’Vを算出する推定値算出部と、
を備え、
前記推定値rkj’は、前記ユーザkに対するコンテンツjの推薦に利用される、
端末装置。
(2)
前記ユーザkによるコンテンツの利用値が更新された場合に、更新後の利用値に基づいて前記ベクトルU’を更新するベクトル更新部をさらに備える、
上記(1)に記載の端末装置。
(3)
前記ユーザkによるコンテンツの利用値が更新された場合に、前記更新後の利用値及び前記ベクトル更新部により更新されたベクトルU’を所定のサーバに提供する更新値提供部をさらに備え、
前記圧縮行列取得部は、前記所定のサーバから前記ベクトルU’を取得する、
上記(2)に記載の端末装置。
(4)
前記要素ベクトルVj’が格納された記憶部をさらに備え、
前記推定値算出部は、前記記憶部に格納された前記要素ベクトルV’を用いて前記推定値rkj’を算出する、
上記(1)〜(3)のいずれか1項に記載の端末装置。
(5)
前記行列Vは、特異値分解又は確率的行列分解を利用して前記積V'AV"の形式に表現される、
上記(1)〜(4)のいずれか1項に記載の端末装置。
(6)
ユーザi(i=1〜N)によるコンテンツj(j=1〜M)の利用値rijを要素に持つ履歴行列Rが、N行D列の行列UとM行D列の行列Vとの積UVで表現され、前記行列Vが、M行d列(d<D)の行列V'と、d行d列の行列Aと、M行d列の行列V"との積V'AV"で表現される場合に、ユーザiに対応する前記行列Uの要素ベクトルUと、前記行列V"と、前記行列Aとの積UV"AであるベクトルU’を計算する圧縮行列計算部を備え、
前記ベクトルU’は、前記ユーザiに対するコンテンツの推薦処理に利用される、
情報処理装置。
(7)
前記ベクトルU’と、コンテンツjに対応する前記行列V'の要素ベクトルV’との積U’V=rij’に基づき、ユーザiによるコンテンツjの利用値を推定する利用値推定部をさらに備え、
前記利用値推定部により推定された利用値は、コンテンツの推薦に利用される、
上記(6)に記載の情報処理装置。
(8)
前記ベクトルU’をユーザiの利用端末に提供する圧縮行列提供部をさらに備え、
前記ユーザiの利用端末では、前記ユーザiに対するコンテンツjの推薦処理において、前記ベクトルU’と、コンテンツjに対応する前記行列V'の要素ベクトルV’との積U’V=rij’が用いられる、
上記(6)又は(7)に記載の情報処理装置。
(9)
前記ベクトルU’を保持する圧縮行列保持部をさらに備え、
ユーザiに対するコンテンツjの推薦処理において、前記ベクトルU’と、コンテンツjに対応する前記行列V'の要素ベクトルV’との積U’V=rij’が用いられる、
上記(6)又は(7)に記載の情報処理装置。
(10)
ユーザiによるコンテンツの利用値が更新された場合に、少なくともユーザiの利用端末から送信される更新後の利用値を取得する更新値取得部と、
前記更新後の利用値に基づく前記ベクトルU’と、前記行列Aと、前記行列V"との積U’A−1V”=U”により、前記行列Uの要素ベクトルUを置き換えて当該行列Uを更新する行列更新部と、
をさらに備える、
上記(6)〜(9)のいずれか1項に記載の情報処理装置。
(11)
前記更新値取得部は、前記更新後の利用値に基づいて前記ユーザiの利用端末で算出された前記ベクトルU’を取得する、
上記(10)に記載の情報処理装置。
(12)
前記行列Vは、特異値分解又は確率的行列分解を利用して前記積V'AV"の形式に表現される、
上記(6)〜(11)のいずれか1項に記載の端末装置。
(13)
ユーザi(i=1〜N)によるコンテンツj(j=1〜M)の利用値rijを要素に持つ履歴行列Rが、N行D列の行列UとM行D列の行列Vとの積UVで表現され、前記行列Vが、M行d列(d<D)の行列V'と、d行d列の行列Aと、M行d列の行列V"との積V'AV"で表現される場合に、ユーザiに対応する前記行列Uの要素ベクトルUと、前記行列V"と、前記行列Aとの積UV"AであるベクトルU’を計算する圧縮行列計算部を有する、情報処理装置と;
前記情報処理装置から、ユーザk(1≦k≦N)に対応する前記行列Uの要素ベクトルUと、前記行列V"と、前記行列Aとの積UV"AであるベクトルU’を取得する圧縮行列取得部と、
前記ユーザkによるコンテンツjの利用値rkjに対する推定値rkj’として、前記ベクトルU’と、コンテンツjに対応する前記行列V’の要素ベクトルV’との積U’Vを算出する推定値算出部と、
を有する、端末装置と;
を含み、
前記推定値rkj’は、前記ユーザkに対するコンテンツjの推薦に利用される、
推薦システム。
(14)
ユーザi(i=1〜N)によるコンテンツj(j=1〜M)の利用値rijを要素に持つ履歴行列Rが、N行D列の行列UとM行D列の行列Vとの積UVで表現され、前記行列Vが、M行d列(d<D)の行列V'と、d行d列の行列Aと、M行d列の行列V"との積V'AV"で表現される場合に、ユーザk(1≦k≦N)に対応する前記行列Uの要素ベクトルUと、前記行列V"と、前記行列Aとの積UV"AであるベクトルU’を取得するステップと、
前記ユーザkによるコンテンツjの利用値rkjに対する推定値rkj’として、前記ベクトルU’と、コンテンツjに対応する前記行列V’の要素ベクトルV’との積U’Vを算出するステップと、
を含み、
前記推定値rkj’は、前記ユーザkに対するコンテンツjの推薦に利用される、
情報処理方法。
(15)
ユーザi(i=1〜N)によるコンテンツj(j=1〜M)の利用値rijを要素に持つ履歴行列Rが、N行D列の行列UとM行D列の行列Vとの積UVで表現され、前記行列Vが、M行d列(d<D)の行列V'と、d行d列の行列Aと、M行d列の行列V"との積V'AV"で表現される場合に、ユーザk(1≦k≦N)に対応する前記行列Uの要素ベクトルUと、前記行列V"と、前記行列Aとの積UV"AであるベクトルU’を取得する圧縮行列取得機能と、
前記ユーザkによるコンテンツjの利用値rkjに対する推定値rkj’として、前記ベクトルU’と、コンテンツjに対応する前記行列V’の要素ベクトルV’との積U’Vを算出する推定値算出機能と、
をコンピュータに実現させるためのプログラムであり、
前記推定値rkj’は、前記ユーザkに対するコンテンツjの推薦に利用される、
プログラム。
(16)
ユーザi(i=1〜N)によるコンテンツj(j=1〜M)の利用値rijを要素に持つ履歴行列Rが、N行D列の行列UとM行D列の行列Vとの積UVで表現され、前記行列Vが、M行d列(d<D)の行列V'と、d行d列の行列Aと、M行d列の行列V"との積V'AV"で表現される場合に、ユーザiに対応する前記行列Uの要素ベクトルUと、前記行列V"と、前記行列Aとの積UV"AであるベクトルU’を計算するステップを含み、
前記ベクトルU’は、前記ユーザiに対するコンテンツの推薦処理に利用される、
情報処理方法。
(17)
ユーザi(i=1〜N)によるコンテンツj(j=1〜M)の利用値rijを要素に持つ履歴行列Rが、N行D列の行列UとM行D列の行列Vとの積UVで表現され、前記行列Vが、M行d列(d<D)の行列V'と、d行d列の行列Aと、M行d列の行列V"との積V'AV"で表現される場合に、ユーザiに対応する前記行列Uの要素ベクトルUと、前記行列V"と、前記行列Aとの積UV"AであるベクトルU’を計算する圧縮行列計算機能をコンピュータに実現させるためのプログラムであり、
前記ベクトルU’は、前記ユーザiに対するコンテンツの推薦処理に利用される、
プログラム。
(18)
上記いずれかのプログラムが記録された、コンピュータにより読み取り可能な記録媒体。
(備考)
上記の通信部102は、圧縮行列取得部、更新値提供部の一例である。上記の演算部103は、推定値算出部、ベクトル更新部の一例である。上記のサーバ装置20は、情報処理装置の一例である。上記の演算部202は、圧縮行列計算部、利用値推定部、行列更新部の一例である。上記の通信部201は、圧縮行列提供部、更新値取得部の一例である。上記の記憶部203は、圧縮行列保持部の一例である。
以上、添付図面を参照しながら本技術に係る好適な実施形態について説明したが、本技術はここで開示した構成例に限定されないことは言うまでもない。当業者であれば、特許請求の範囲に記載された範疇内において、各種の変更例又は修正例に想到し得ることは明らかであり、それらについても当然に本技術の技術的範囲に属するものと了解される。
10 端末装置
101 入力部
102 通信部
103 演算部
104 記憶部
105 推薦部
106 出力部
20 サーバ装置
201 通信部
202 演算部
203 記憶部

Claims (17)

  1. ユーザi(i=1〜N)によるコンテンツj(j=1〜M)の利用値rijを要素に持つ履歴行列Rが、N行D列の行列UとM行D列の行列Vとの積UVで表現され、前記行列Vが、M行d列(d<D)の行列V'と、d行d列の行列Aと、M行d列の行列V"との積V'AV"で表現される場合に、ユーザk(1≦k≦N)に対応する前記行列Uの要素ベクトルUと、前記行列V"と、前記行列Aとの積UV"AであるベクトルU’を取得する圧縮行列取得部と、
    前記ユーザkによるコンテンツjの利用値rkjに対する推定値rkj’として、前記ベクトルU’と、コンテンツjに対応する前記行列V’の要素ベクトルV’との積U’Vを算出する推定値算出部と、
    を備え、
    前記推定値rkj’は、前記ユーザkに対するコンテンツjの推薦に利用される、
    端末装置。
  2. 前記ユーザkによるコンテンツの利用値が更新された場合に、更新後の利用値に基づいて前記ベクトルU’を更新するベクトル更新部をさらに備える、
    請求項1に記載の端末装置。
  3. 前記ユーザkによるコンテンツの利用値が更新された場合に、前記更新後の利用値及び前記ベクトル更新部により更新されたベクトルU’を所定のサーバに提供する更新値提供部をさらに備え、
    前記圧縮行列取得部は、前記所定のサーバから前記ベクトルU’を取得する、
    請求項2に記載の端末装置。
  4. 前記要素ベクトルVj’が格納された記憶部をさらに備え、
    前記推定値算出部は、前記記憶部に格納された前記要素ベクトルV’を用いて前記推定値rkj’を算出する、
    請求項1に記載の端末装置。
  5. 前記行列Vは、特異値分解又は確率的行列分解を利用して前記積V'AV"の形式に表現される、
    請求項1に記載の端末装置。
  6. ユーザi(i=1〜N)によるコンテンツj(j=1〜M)の利用値rijを要素に持つ履歴行列Rが、N行D列の行列UとM行D列の行列Vとの積UVで表現され、前記行列Vが、M行d列(d<D)の行列V'と、d行d列の行列Aと、M行d列の行列V"との積V'AV"で表現される場合に、ユーザiに対応する前記行列Uの要素ベクトルUと、前記行列V"と、前記行列Aとの積UV"AであるベクトルU’を計算する圧縮行列計算部を備え、
    前記ベクトルU’は、前記ユーザiに対するコンテンツの推薦処理に利用される、
    情報処理装置。
  7. 前記ベクトルU’と、コンテンツjに対応する前記行列V'の要素ベクトルV’との積U’V=rij’に基づき、ユーザiによるコンテンツjの利用値を推定する利用値推定部をさらに備え、
    前記利用値推定部により推定された利用値は、コンテンツの推薦に利用される、
    請求項6に記載の情報処理装置。
  8. 前記ベクトルU’をユーザiの利用端末に提供する圧縮行列提供部をさらに備え、
    前記ユーザiの利用端末では、前記ユーザiに対するコンテンツjの推薦処理において、前記ベクトルU’と、コンテンツjに対応する前記行列V'の要素ベクトルV’との積U’V=rij’が用いられる、
    請求項6に記載の情報処理装置。
  9. 前記ベクトルU’を保持する圧縮行列保持部をさらに備え、
    ユーザiに対するコンテンツjの推薦処理において、前記ベクトルU’と、コンテンツjに対応する前記行列V'の要素ベクトルV’との積U’V=rij’が用いられる、
    請求項6に記載の情報処理装置。
  10. ユーザiによるコンテンツの利用値が更新された場合に、少なくともユーザiの利用端末から送信される更新後の利用値を取得する更新値取得部と、
    前記更新後の利用値に基づく前記ベクトルU’と、前記行列Aと、前記行列V"との積U’A−1V”=U”により、前記行列Uの要素ベクトルUを置き換えて当該行列Uを更新する行列更新部と、
    をさらに備える、
    請求項6に記載の情報処理装置。
  11. 前記更新値取得部は、前記更新後の利用値に基づいて前記ユーザiの利用端末で算出された前記ベクトルU’を取得する、
    請求項10に記載の情報処理装置。
  12. 前記行列Vは、特異値分解又は確率的行列分解を利用して前記積V'AV"の形式に表現される、
    請求項6に記載の端末装置。
  13. ユーザi(i=1〜N)によるコンテンツj(j=1〜M)の利用値rijを要素に持つ履歴行列Rが、N行D列の行列UとM行D列の行列Vとの積UVで表現され、前記行列Vが、M行d列(d<D)の行列V'と、d行d列の行列Aと、M行d列の行列V"との積V'AV"で表現される場合に、ユーザiに対応する前記行列Uの要素ベクトルUと、前記行列V"と、前記行列Aとの積UV"AであるベクトルU’を計算する圧縮行列計算部を有する、情報処理装置と;
    前記情報処理装置から、ユーザk(1≦k≦N)に対応する前記行列Uの要素ベクトルUと、前記行列V"と、前記行列Aとの積UV"AであるベクトルU’を取得する圧縮行列取得部と、
    前記ユーザkによるコンテンツjの利用値rkjに対する推定値rkj’として、前記ベクトルU’と、コンテンツjに対応する前記行列V’の要素ベクトルV’との積U’Vを算出する推定値算出部と、
    を有する、端末装置と;
    を含み、
    前記推定値rkj’は、前記ユーザkに対するコンテンツjの推薦に利用される、
    推薦システム。
  14. ユーザi(i=1〜N)によるコンテンツj(j=1〜M)の利用値rijを要素に持つ履歴行列Rが、N行D列の行列UとM行D列の行列Vとの積UVで表現され、前記行列Vが、M行d列(d<D)の行列V'と、d行d列の行列Aと、M行d列の行列V"との積V'AV"で表現される場合に、ユーザk(1≦k≦N)に対応する前記行列Uの要素ベクトルUと、前記行列V"と、前記行列Aとの積UV"AであるベクトルU’を取得するステップと、
    前記ユーザkによるコンテンツjの利用値rkjに対する推定値rkj’として、前記ベクトルU’と、コンテンツjに対応する前記行列V’の要素ベクトルV’との積U’Vを算出するステップと、
    を含み、
    前記推定値rkj’は、前記ユーザkに対するコンテンツjの推薦に利用される、
    情報処理方法。
  15. ユーザi(i=1〜N)によるコンテンツj(j=1〜M)の利用値rijを要素に持つ履歴行列Rが、N行D列の行列UとM行D列の行列Vとの積UVで表現され、前記行列Vが、M行d列(d<D)の行列V'と、d行d列の行列Aと、M行d列の行列V"との積V'AV"で表現される場合に、ユーザk(1≦k≦N)に対応する前記行列Uの要素ベクトルUと、前記行列V"と、前記行列Aとの積UV"AであるベクトルU’を取得する圧縮行列取得機能と、
    前記ユーザkによるコンテンツjの利用値rkjに対する推定値rkj’として、前記ベクトルU’と、コンテンツjに対応する前記行列V’の要素ベクトルV’との積U’Vを算出する推定値算出機能と、
    をコンピュータに実現させるためのプログラムであり、
    前記推定値rkj’は、前記ユーザkに対するコンテンツjの推薦に利用される、
    プログラム。
  16. ユーザi(i=1〜N)によるコンテンツj(j=1〜M)の利用値rijを要素に持つ履歴行列Rが、N行D列の行列UとM行D列の行列Vとの積UVで表現され、前記行列Vが、M行d列(d<D)の行列V'と、d行d列の行列Aと、M行d列の行列V"との積V'AV"で表現される場合に、ユーザiに対応する前記行列Uの要素ベクトルUと、前記行列V"と、前記行列Aとの積UV"AであるベクトルU’を計算するステップを含み、
    前記ベクトルU’は、前記ユーザiに対するコンテンツの推薦処理に利用される、
    情報処理方法。
  17. ユーザi(i=1〜N)によるコンテンツj(j=1〜M)の利用値rijを要素に持つ履歴行列Rが、N行D列の行列UとM行D列の行列Vとの積UVで表現され、前記行列Vが、M行d列(d<D)の行列V'と、d行d列の行列Aと、M行d列の行列V"との積V'AV"で表現される場合に、ユーザiに対応する前記行列Uの要素ベクトルUと、前記行列V"と、前記行列Aとの積UV"AであるベクトルU’を計算する圧縮行列計算機能をコンピュータに実現させるためのプログラムであり、
    前記ベクトルU’は、前記ユーザiに対するコンテンツの推薦処理に利用される、
    プログラム。
JP2012101605A 2012-04-26 2012-04-26 端末装置、情報処理装置、推薦システム、情報処理方法、及びプログラム Pending JP2013228947A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012101605A JP2013228947A (ja) 2012-04-26 2012-04-26 端末装置、情報処理装置、推薦システム、情報処理方法、及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012101605A JP2013228947A (ja) 2012-04-26 2012-04-26 端末装置、情報処理装置、推薦システム、情報処理方法、及びプログラム

Publications (1)

Publication Number Publication Date
JP2013228947A true JP2013228947A (ja) 2013-11-07

Family

ID=49676491

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012101605A Pending JP2013228947A (ja) 2012-04-26 2012-04-26 端末装置、情報処理装置、推薦システム、情報処理方法、及びプログラム

Country Status (1)

Country Link
JP (1) JP2013228947A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017215647A (ja) * 2016-05-30 2017-12-07 ヤフー株式会社 選択装置、選択方法および選択プログラム
WO2020071373A1 (ja) * 2018-10-02 2020-04-09 オムロン株式会社 制御システム、サポート装置およびプログラム
JP2021508395A (ja) * 2017-12-22 2021-03-04 華為技術有限公司Huawei Technologies Co.,Ltd. パーソナライズされた推奨を生成するために適合されたクライアント、サーバ、およびクライアント−サーバシステム
KR20210066681A (ko) * 2019-11-28 2021-06-07 숭실대학교산학협력단 행렬 인수분해 기법에 기초한 데이터 확대 방법
JP2022063255A (ja) * 2020-10-09 2022-04-21 楽天グループ株式会社 機械学習に基づくレコメンダシステムにおける入力及びパラメータの同時学習

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017215647A (ja) * 2016-05-30 2017-12-07 ヤフー株式会社 選択装置、選択方法および選択プログラム
JP2021508395A (ja) * 2017-12-22 2021-03-04 華為技術有限公司Huawei Technologies Co.,Ltd. パーソナライズされた推奨を生成するために適合されたクライアント、サーバ、およびクライアント−サーバシステム
WO2020071373A1 (ja) * 2018-10-02 2020-04-09 オムロン株式会社 制御システム、サポート装置およびプログラム
JP2020057209A (ja) * 2018-10-02 2020-04-09 オムロン株式会社 制御システム、サポート装置およびプログラム
EP3862825A4 (en) * 2018-10-02 2022-07-06 Omron Corporation CONTROL SYSTEM, SUPPORT DEVICE AND PROGRAM
JP7172397B2 (ja) 2018-10-02 2022-11-16 オムロン株式会社 制御システム、サポート装置およびプログラム
KR20210066681A (ko) * 2019-11-28 2021-06-07 숭실대학교산학협력단 행렬 인수분해 기법에 기초한 데이터 확대 방법
KR102367181B1 (ko) 2019-11-28 2022-02-25 숭실대학교산학협력단 행렬 인수분해 기법에 기초한 데이터 확대 방법
JP2022063255A (ja) * 2020-10-09 2022-04-21 楽天グループ株式会社 機械学習に基づくレコメンダシステムにおける入力及びパラメータの同時学習
JP7271630B2 (ja) 2020-10-09 2023-05-11 楽天グループ株式会社 機械学習に基づくレコメンダシステムにおける入力及びパラメータの同時学習

Similar Documents

Publication Publication Date Title
US10332015B2 (en) Particle thompson sampling for online matrix factorization recommendation
WO2018086462A1 (zh) 一种业务数据的加载、推送、交互信息的生成方法和装置
Lo et al. An extended matrix factorization approach for QoS prediction in service selection
AU2013315747B2 (en) Time series-based entity behavior classification
US11587143B2 (en) Neural contextual bandit based computational recommendation method and apparatus
WO2016197758A1 (zh) 信息推荐系统、方法及装置
EP3452954A1 (en) Dynamic classifier selection based on class skew
CN110069715B (zh) 一种信息推荐模型训练的方法、信息推荐的方法及装置
CN110268717A (zh) 使用播放统计信息对多表示编码的比特率优化
CN104954354A (zh) 数字内容的上下文感知流式传送
CN111310079A (zh) 评论信息排序方法、装置、存储介质及服务器
JP2013228947A (ja) 端末装置、情報処理装置、推薦システム、情報処理方法、及びプログラム
CN111552888A (zh) 内容推荐方法、装置、设备及存储介质
CN105809558A (zh) 基于社交网络的推荐方法和装置
WO2016015471A1 (zh) 一种预测用户离网的方法及装置
US7991648B2 (en) Opportunity index for identifying a user's unmet needs
WO2021203913A1 (zh) 生成预测信息的方法、装置、电子设备和计算机可读介质
Turkkan et al. GreenABR: energy-aware adaptive bitrate streaming with deep reinforcement learning
CN115841366A (zh) 物品推荐模型训练方法、装置、电子设备及存储介质
CN111090877A (zh) 数据生成、获取方法及对应的装置、存储介质
WO2022001887A1 (zh) 用于训练物品编码模型的方法和装置
JP6680663B2 (ja) 情報処理装置、情報処理方法、予測モデルの生成装置、予測モデルの生成方法、およびプログラム
CN111931075A (zh) 一种内容推荐方法、装置、计算机设备及存储介质
CN116109374A (zh) 资源位展示方法、装置、电子设备和计算机可读介质
CN111988407B (zh) 一种内容推送方法和相关装置