[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JP6679415B2 - 選択装置、選択方法および選択プログラム - Google Patents

選択装置、選択方法および選択プログラム Download PDF

Info

Publication number
JP6679415B2
JP6679415B2 JP2016107281A JP2016107281A JP6679415B2 JP 6679415 B2 JP6679415 B2 JP 6679415B2 JP 2016107281 A JP2016107281 A JP 2016107281A JP 2016107281 A JP2016107281 A JP 2016107281A JP 6679415 B2 JP6679415 B2 JP 6679415B2
Authority
JP
Japan
Prior art keywords
matrix
user
product
information indicating
proposal
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.)
Active
Application number
JP2016107281A
Other languages
English (en)
Other versions
JP2017215647A (ja
Inventor
諒 五十嵐
諒 五十嵐
洋太朗 鈴木
洋太朗 鈴木
今井 健次
健次 今井
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.)
Yahoo Japan Corp
Original Assignee
Yahoo Japan 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 Yahoo Japan Corp filed Critical Yahoo Japan Corp
Priority to JP2016107281A priority Critical patent/JP6679415B2/ja
Publication of JP2017215647A publication Critical patent/JP2017215647A/ja
Application granted granted Critical
Publication of JP6679415B2 publication Critical patent/JP6679415B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

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

Description

本発明は、選択装置、選択方法および選択プログラムに関する。
近年、インターネットの飛躍的な普及に伴い、インターネットを介した情報配信が盛んに行われている。このような情報配信の一例として、配信対象となる音声、動画像、ニュース、ブログ等といった各種のコンテンツや、電子商店街等で取引の対象となる商品等の中から、利用者に対して提案する対象(以下、「提案対象」と記載する。)を選択し、選択した提案対象を利用者に対して通知する技術が知られている。
このような提案対象を選択する手法として、MF(Matrix Factorization)と呼ばれる手法が知られている。例えば、MFを用いて提案対象を選択するサーバは、一部のコンテンツや商品等に対する利用者の評価を含む評価値行列から、評価値行列を再現する2つの潜在行列を生成する。また、サーバは、生成した2つの潜在行列から、評価値行列を再計算することで、未評価の提案対象に対する利用者の評価を推定する。そして、サーバは、推定結果に基づいて、提案対象を選択する。
特開2013−218485号公報 特開2015−060330号公報
しかしながら、上述した従来技術では、利用者の評価を推定する際の計算コストが増大する恐れがある。
例えば、上述した従来技術では、利用者が新たな評価を行った場合や利用者が評価を変更した場合、新たな利用者が追加された場合、若しくは提案対象となるコンテンツや商品が追加された場合等、潜在行列の生成元となる評価値行列が変化する度に、潜在行列を計算しなおすこととなる。この結果、従来技術では、潜在行列の算出に伴う計算コストが増大する。
本願は、上記に鑑みてなされたものであって、利用者の評価を推定する際の計算コストの増大を防ぐことを目的とする。
本願に係る選択装置は、利用者の特徴を示す情報を含む第1行列と、提案対象の特徴を示す情報を含む第2行列と、前記提案対象に対する前記利用者の評価を示す情報を含む第3行列とから算出される第4行列であって、前記第1行列と前記第4行列と前記第2行列との積が前記第3行列となるように成分の値が設定された第4行列を取得する取得部と、前記提案対象の提案先となる利用者の特徴を示す情報をクエリとし、前記第4行列と前記第2行列との積の値を前記利用者の特徴に対する各提案対象のスコアとして、当該クエリと当該スコアとから算出される内積値の値が高い方から所定の数の提案対象を検索する検索部と、前記検索部による検索結果に基づいて、前記利用者に対して提案する提案対象を選択する選択部とを有することを特徴とする。
実施形態の一態様によれば、利用者の評価を推定する際の計算コストの増大を防ぐことができる。
図1は、実施形態に係る選択装置が実行する選択処理の一例を示す図である。 図2は、実施形態に係る選択装置の構成例を示す図である。 図3は、実施形態に係る商品データベースに登録される情報の一例を示す図である。 図4は、実施形態に係る評価値データベースに登録される情報の一例を示す図である。 図5は、実施形態に係るユーザデータベースに登録される情報の一例を示す図である。 図6は、実施形態に係る潜在要素データベースに登録される情報の一例を示す図である。 図7は、実施形態にかかる選択装置が潜在要素行列を算出する処理の一例について説明する図である。 図8は、新規利用者の追加時に実行する処理の一例を示す図である。 図9は、商品の追加時に実行する処理の一例を示す図である。 図10は、WANDアルゴリズムを用いて評価値が高い商品を選択する処理の一例を示す第1の図である。 図11は、WANDアルゴリズムを用いて評価値が高い商品を選択する処理の一例を示す第2の図である。 図12は、WANDアルゴリズムを用いて評価値が高い商品を選択する処理の一例を示す第3の図である。 図13は、実施形態に係る選択装置が潜在要素行列を生成する処理の流れの一例を示すフローチャートである。 図14は、実施形態に係る選択装置が実行する選択処理の流れの一例を示すフローチャートである。 図15は、ハードウェア構成の一例を示す図である。
以下に、本願に係る選択装置、選択方法および選択プログラムを実施するための形態(以下、「実施形態」と記載する。)について図面を参照しつつ詳細に説明する。なお、この実施形態により本願に係る選択装置、選択方法および選択プログラムが限定されるものではない。また、以下の各実施形態において同一の部位には同一の符号を付し、重複する説明は省略される。
[実施形態]
〔1.選択装置の一例〕
まず、図1を用いて、選択装置が実行する選択処理の一例について説明する。図1は、実施形態に係る選択装置が実行する選択処理の一例を示す図である。図1では、選択装置10は、インターネット等の所定のネットワークNを介して、利用者U01が使用する利用者端末100と通信可能である。
利用者端末100は、スマートフォンやタブレット等のスマートデバイスであり、3G(3rd Generation)やLTE(Long Term Evolution)等の無線通信網を介して任意のサーバ装置と通信を行うことができる携帯端末装置である。なお、利用者端末100は、スマートデバイスのみならず、デスクトップPCやノートPC等の情報処理装置であってもよい。
選択装置10は、利用者端末100に対して、各種のウェブページを配信する情報処理装置であり、例えば、サーバ装置やクラウドシステム等により実現される。より具体的な例を説明すると、選択装置10は、電子商店街に関する各種のサービスを提供する情報処理装置であり、例えば、電子商取引の対象となる商品や役務(以下、「商品」と総称する。)に関する各種の情報や、商品の購入等を受付けるウェブページの配信を行う。
なお、選択装置10は、音楽や動画像等といった各種のコンテンツを配信する配信装置であってもよい。すなわち、選択装置10は、利用者端末100に対して情報の配信を行う情報配信処理を実行するのであれば、任意の情報の配信を行ってよい。
ここで、選択装置10は、利用者に対して各種のレコメンドを行う。例えば、選択装置10は、各商品に対する利用者の評価に基づいて、利用者が気に入ると予測される商品を選択し、選択した商品の購入を提案する情報、すなわち、利用者が気に入ると予測される商品の広告を利用者に対して配信する。
〔1−1.MFについて〕
ここで、利用者に提案する情報を選択する手法として、MFと呼ばれる手法が知られている。以下、MFを用いて利用者に提案する情報を選択するサーバ装置が実行する処理の一例について説明する。なお、以下の説明では、動画像等のコンテンツのうち、利用者に対して提案するコンテンツを選択する処理の一例について説明する。
例えば、サーバ装置は、各コンテンツに対する利用者の評価を示す評価値行列Rを取得する。より具体的には、サーバ装置は、各行に各利用者を対応付け、各列に各コンテンツを対応付けた行列であって、各コンテンツに対する各利用者の評価値が格納された評価値行列Rを取得する。一般に、全ての利用者が全てのコンテンツに対して評価を行っているわけではないので、このような評価値行列Rは、一部の成分のみが入力されたスパースな行列となる。
ここで、サーバ装置は、評価値行列Rを2つの潜在行列に分解する。例えば、サーバ装置は、評価値行列RがNu×Nj行列である場合、Nu×k行列である潜在行列Pと、k×Nj行列である潜在行列Qとを設定する。また、サーバ装置は、潜在行列Pと潜在行列Qとの成分の初期値として、正規分布に従った値をランダムに設定する。そして、サーバ装置は、潜在行列Pと潜在行列Qとの積と、評価値行列Rとの差分に基づくコスト関数の値が最小化するように、潜在行列Pと潜在行列Qとの成分を更新する。そして、サーバ装置は、コスト関数の値が十分に小さくなった場合は、潜在行列Pと潜在行列Qとの積を、復元行列R’として算出する。
このようにして算出された復元行列R’には、評価値行列Rに入力されていた成分のみならず、評価値行列Rに入力されていなかった成分が含まれることとなる。すなわち、復元行列R’には、各コンテンツに対する利用者の評価の予測値が含まれることとなる。そこで、サーバ装置は、復元行列R’を用いて、各コンテンツに対する利用者の評価を予測し、予測結果に基づいて、利用者に対して提案するコンテンツを選択する。
しかしながら、上述したMFの技術では、各コンテンツに対する利用者の評価が変化した場合、すなわち、評価値行列Rの成分が変化した場合は、変化後の評価値行列Rを再現する潜在行列Pと潜在行列Qを再度算出する必要がある。また、新たな利用者やコンテンツが追加された場合には、評価値行列Rの行数や列数が変化するため、新たな評価値行列Rを再現する新たな潜在行列Pと潜在行列Qを再度算出する必要がある。この結果、上述したMFの技術では、計算コストが増大する恐れがある。特に、ニュースのレコメンドや、商品のレコメンド等、コンテンツに対する利用者の評価が瞬時に変化するようなサービスにおいては、映画の配信サービス等、コンテンツに対する利用者の評価があまり変化しないサービスと比較して、潜在行列Pと潜在行列Qの更新頻度が高くなってしまう。
〔1−2.選択処理について〕
そこで、選択装置10は、以下の処理を実行する。まず、選択装置10は、利用者の特徴を示す情報を含む第1行列と、提案対象の特徴を示す情報を含む第2行列と、提案対象に対する利用者の評価を示す情報を含む第3行列とから算出される第4行列であって、第1行列と第4行列と第2行列との積が第3行列となるように成分の値が設定された第4行列を取得する。また、選択装置10は、提案対象の提案先となる利用者の特徴を示す情報をクエリとし、第4行列と第2行列との積の値を利用者の特徴に対する各提案対象のスコアとして、クエリとスコアとから算出される内積値の値が高い方から所定の数の提案対象を検索する。そして、選択装置10は、検索部による検索結果に基づいて、利用者に対して提案する提案対象を選択する。
〔1−3.IMC(Inductive Matrix Completion)について〕
より具体的には、選択装置10は、IMCと呼ばれる手法を用いて、評価値行列Rを再現する潜在要素行列Wを生成する。例えば、選択装置10は、第1行列として、利用者の特徴を行方向に配置したユーザ特徴行列Xを取得し、第2行列として、提案対象である商品の特徴を示す情報を列方向に配置した商品特徴行列Yを取得する。また、選択装置10は、第3行列として、商品に対する利用者の評価を示す情報を行方向に配置した評価値行列Rを取得する。
なお、利用者の特徴とは、利用者の性別、年代、利用者が使用する利用者端末100の種別、収入、住所、趣味趣向等、利用者の属性を示す各種の情報であるものとする。また、商品の特徴とは、商品がどのカテゴリに属するかや、商品の価格帯等といった商品そのものの属性を示す任意の情報を含むものとする。なお、商品の特徴には、セールの対象商品であるか否か、税込価格が表示されるか、送料無料であるか否か等といった商品の販売手法を示す情報等が含まれていてもよい。
そして、選択装置10は、ユーザ特徴行列Xと、潜在要素行列Wと、商品特徴行列Yとの積が、評価値行列Rを再現するように(すなわち、R≒X×W×Yとなるように)、潜在要素行列Wを第4行列として算出する。すなわち、選択装置10は、利用者の特徴と商品の特徴とに基づいて、評価値行列Rを行列分解する。
より具体的には、選択装置10は、行数がユーザ特徴行列Xの列数と同じ潜在要素行列Uと、列数が商品特徴行列Yの行数と同じ潜在要素行列Vとを設定し、ユーザ特徴行列Xと、潜在要素行列Uと、潜在要素行列Vと、商品特徴行列Yとの積が、評価値行列Rを再現するように(すなわち、R≒X×U×V×Yとなるように)、潜在要素行列Uおよび潜在要素行列VをALS(Alternating Least Squares)等を用いて生成する。そして、選択装置10は、生成した潜在要素行列Uと潜在要素行列Vとの積を潜在要素行列Wとして算出する。そして、選択装置10は、ユーザ特徴行列Xと、潜在要素行列Wと、商品特徴行列Yとの積から、復元行列R’を算出し、算出した復元行列R’の成分の値に基づいて、利用者に対して提案する商品を選択する。
このようにして算出された潜在要素行列Wは、商品に対する利用者の評価を示す情報ではなく、利用者の特徴と商品の特徴との関連性から、商品に対する利用者の評価を推定する潜在要素を示す情報となる。このため、選択装置10は、新たな利用者が追加された場合や、新たな商品が追加された場合等であっても、新たな利用者や新たな商品の属性を特定することが出来るのであれば、潜在要素行列Wを更新せずとも、評価値の算出を行うことが出来る。この結果、選択装置10は、潜在要素行列Wを生成した場合には、利用者のや商品の追加が行われた場合であっても、潜在要素行列Wを更新する計算コストの増大を防ぐことが出来る。
〔1−4.復元行列R’の算出について〕
ここで、選択装置10は、復元行列R’を算出する場合には、商品の提案先となる利用者の特徴を配置した行と、潜在要素行列Wと、商品特徴行列Yとの積を算出する。より具体的には、選択装置10は、利用者から商品の検索リクエストを受付けた場合や、利用者から商品の提案リクエストを受け付けた場合等、利用者からの各種リクエストを受付けた場合には、その利用者の特徴を配置した行と、潜在要素行列Wと、商品特徴行列Yとの積を算出する。
例えば、選択装置10は、ユーザ特徴行列Xに提案先となる利用者の特徴が含まれている場合には、ユーザ特徴行列Xから提案先となる利用者の特徴を含む行を抽出する。そして、選択装置10は、抽出した行と潜在要素行列Wと商品特徴行列Yとを積算することで、復元行列R’のうち、提案先となる利用者による各商品への評価を含む行を算出する。
一方、選択装置10は、新たな利用者が提案先となる場合、すなわち、ユーザ特徴行列Xに提案先となる利用者の特徴が含まれていない場合は、新たな利用者の特徴を示す行を生成する。かかる行には、取得可能な全ての特徴が含まれている必要はなく、例えば、所定の初期値が成分として含まれていてもよい。そして、選択装置10は、生成した行と潜在要素行列Wと商品特徴行列Yとを積算することで、提案先となる利用者による各商品への評価を含む行を算出する。なお、選択装置10は、新たに生成した行をユーザ特徴行列Xに追加し、ユーザ特徴行列Xのうち、提案先となる利用者の特徴を示す行を抽出し、抽出した行と潜在要素行列Wと商品特徴行列Yとを積算することで、復元行列R’のうち、提案先となる利用者による各商品への評価を含む行を算出してもよい。
また、選択装置10は、新たな商品が提案対象に追加された場合は、新たな商品の特徴を示す列を商品特徴行列Yに追加すればよい。このような追加を行った場合であっても、選択装置10は、提案先となる利用者の特徴を示す行と潜在要素行列Wと商品特徴行列Yとを積算することで、復元行列R’のうち、提案先となる利用者による各商品への評価を含む行を算出することが出来る。
このように、選択装置10は、提案先となる利用者の特徴を示す行と、潜在要素行列Wと、商品特徴行列Yとの積として得られる行を、提案先となる利用者による各商品への評価を含む行、すなわち、復元行列R’のうち提案先となる利用者と対応する行として算出する。このため、選択装置10は、利用者の追加や商品の追加があった場合にも、潜在要素行列Wをそのまま使用することが出来る。このため、選択装置10は、利用者の評価を推定する際の計算コストの増大を防ぐことが出来る。
〔1−5.WANDについて〕
ここで、利用者が興味を有していると予測される商品の提案を行う場合、選択装置10は、以下の処理を実行する。まず、選択装置10は、提案先となる利用者の特徴を示す行と潜在要素行列Wと商品特徴行列Yとを積算することで、提案先となる利用者による各商品への評価を示す値を算出する。そして、選択装置10は、算出した値が高い方から所定の数の商品を提案対象として選択し、選択した商品に関する情報を利用者に配信する。しかしながら、電子商取引の対象となる商品の数によっては、迅速に提案対象となる商品を検索できない場合がある。例えば、電子商取引の対象となる商品が億のオーダーで存在する場合等には、提案対象を検索する際の計算コストが増大してしまう。
そこで、選択装置10は、いわゆるWANDアルゴリズムを用いて、提案対象となる商品の検索を行う。具体的には、選択装置10は、潜在要素行列Wと商品特徴行列Yとの積である積算行列WYをあらかじめ算出する。そして、選択装置10は、提供先となる利用者の特徴をクエリとし、積算行列WYの各成分の値をクエリに対する各商品のスコアとして、クエリとスコアとの内積の値が大きい方から順に所定の数の商品を選択する。すなわち、選択装置10は、提案先となる利用者の特徴をクエリと見做し、積算行列WYをインデックスと見做したWANDアルゴリズムを用いて、利用者の興味がより大きいと予測される商品を検索する。
このようなWANDアルゴリズムを採用した場合、それまでに算出された内積値のうち、値が大きいものから所定の数の内積値が候補として保持され、クエリの値とスコアの値とに基づいて、候補に届かない内積値の算出をスキップすることが出来る。このため、選択装置10は、商品に対する利用者の評価値を算出する際の計算コストを削減することができる。なお、選択装置10は、選択対象のクエリに対するスコアを用いて、クエリとスコアとの内積の値が大きい方から順に所定の数の商品を選択するいわゆるTop−k retrievalアルゴリズムであれば、WANDアルゴリズム以外にも、任意のアルゴリズムを採用してよい。
〔1−6.選択処理の適用対象について〕
なお、上述した例では、選択装置10は、電子商取引の対象となる商品の特徴を示す商品特徴行列Yと、電子商取引の対象となる商品に対する各利用者の評価を示す評価値行列Rとを用いて、潜在要素行列Wを生成し、生成した潜在要素行列Wを用いて、提案先となる利用者の各商品に対する評価値を算出した。すなわち、選択装置10は、電子商取引の対象となる商品を提案対象とした。しかしながら、実施形態は、これに限定されるものではない。
例えば、選択装置10は、ニュース、動画像、静止画像、音楽、マイクロブログ等の任意のコンテンツを提案対象としてもよい。より具体的には、選択装置10は、配信対象となる各コンテンツに対する利用者の評価を含む評価値行列Rと、ユーザ特徴行列Xと、コンテンツの特徴を含む商品特徴行列Yとを用いて、潜在要素行列Wを生成し、ユーザ特徴行列Xと、潜在要素行列Wと、商品特徴行列Yとを用いて、コンテンツの提案先となる利用者の各コンテンツに対する評価を推定し、推定結果に基づいて、利用者に対して提案するコンテンツを選択してもよい。このように、選択装置10は、上述した選択処理をコンテンツの選択に適用することで、利用者に対してコンテンツのレコメンドを実現してもよい。
〔1−7.選択処理の一例について〕
次に、図1を用いて、選択装置10が実行する選択処理の一例について説明する。まず、選択装置10は、IMCを用いて、スパースな評価値行列Rと、ユーザ特徴行列Xと、商品特徴行列Yとに基づいて、潜在要素行列Wを算出する(ステップS1)。
例えば、図1に示す例では、選択装置10は、評価値行列Rとして、利用者1〜5の商品A〜Eに対する評価の値が含まれる行列M10を取得する。例えば、図1に示す例では、行列M10は、「利用者1」の商品Bに対する評価が「5」であり、「商品D」に対する評価が「2」である旨を示す。また、選択装置10は、ユーザ特徴行列Xとして、「利用者1〜5」が有する特徴を示す値が含まれる行列M20を取得する。例えば、図1に示す例では、行列M20は、各行に「利用者1〜5」が対応付けられ、各列に利用者の特徴が対応付けられており、各利用者が対応付けられた行のうち、その利用者が有する特徴と対応付けられた列に「1」が格納されている。例えば、図1に示す例では、行列M20は、「利用者1」が「20代」の「女性」であり、利用者端末100として「PC(Personal Computer)」を使用している旨を示す。また、図1に示す例では、選択装置10は、商品特徴行列Yとして、各商品A〜Eの特徴を列方向に並べた行列M40を取得する。例えば、図1に示す例では、行列M40は、「商品A」が「カテゴリ1」に属し、「送料無料」である旨を示す。
このような行列M10、M20、M40を取得した場合には、選択装置10は、行列M20と、行列M30と、行列M40との積が、行列M10となるように、行列M30の各成分の値を算出する。より具体的には、選択装置10は、ALS等の手法を用いて、行列M30の各成分の値を算出する。そして、選択装置10は、算出した行列M30を潜在要素行列Wとする。続いて、選択装置10は、潜在要素行列Wと商品特徴行列Yとから、積算行列WYとなる行列M60をあらかじめ算出する(ステップS2)。すなわち、選択装置10は、潜在要素行列W(行列M30)と、商品特徴行列Y(行列M40)との積となる積算行列WY(行列M60)をあらかじめ算出する。なお、選択装置10は、ユーザ特徴行列Xと、このような積算行列WYとの積を算出することで、復元行列R’を生成することが出来る。
ここで、選択装置10は、利用者U01が使用する利用者端末100から商品の検索要求を受信したものとする(ステップS3)。このような場合、選択装置10は、WANDアルゴリズムを用いて、利用者U01による評価値が高いと推定される商品を特定する(ステップS4)。例えば、選択装置10は、ユーザ特徴行列Xの中から、利用者U01が対応付けられた行(例えば、「利用者2」の特徴を示す情報を含む行)を抽出する。また、選択装置10は、ユーザ特徴行列Xから抽出した行をクエリとし、積算行列WYを商品のインデックスとする(ステップS5)。ここで、ユーザ特徴行列Xと積算行列WYとの積が、評価値行列R(復元行列R’)となることを考えると、積算行列WYには、利用者の特徴ごとに、その利用者の特徴に対する各商品のスコアが含まれていると見做すことができ、評価値の値は、クエリとスコアとの内積値であると見做すことが出来る。
そこで、選択装置10は、WANDアルゴリズムを用いて、クエリとスコアとの内積値が大きい方から所定の数の商品を特定する(ステップS6)。例えば、選択装置10は、「商品A」の内積値が「内積値#1」であり、「商品B」の内積値が「内積値#1」よりも大きい「内積値#2」であり、「商品C」の内積値が「内積値#2」よりも大きい「内積値#3」である場合は、「商品C」と「商品B」とを選択する。そして、選択装置10は、商品の検索結果とともに、評価値が高い商品の広告、すなわち、「商品C」と「商品B」との広告を利用者端末100へと送信し、表示させる(ステップS7)。この結果、選択装置10は、IMCを用いて利用者U01の評価が高いと推定された商品の広告を、利用者U01に対して提供することが出来る。
〔2.選択装置の構成〕
以下、上記した選択処理を実現する選択装置10が有する機能構成の一例について説明する。図2は、実施形態に係る選択装置の構成例を示す図である。図2に示すように、選択装置10は、通信部20、記憶部30、および制御部40を有する。
通信部20は、例えば、NIC(Network Interface Card)等によって実現される。そして、通信部20は、ネットワークNと有線または無線で接続され、利用者端末100との間で情報の送受信を行う。
記憶部30は、例えば、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。また、記憶部30は、商品データベース31、評価値データベース32、ユーザデータベース33、潜在要素データベース34、およびインデックスデータベース35(以下、「各データベース31〜35」と総称する場合がある。)を記憶する。
以下、図3〜図6を用いて、各データベース31〜35に登録される情報の一例について説明する。商品データベース31には、商品特徴行列Yの各成分が登録されている。例えば、図3は、実施形態に係る商品データベースに登録される情報の一例を示す図である。図3に示すように、商品データベース31には、電子商取引の対象となる商品の特性である「商品属性」が各行に対応付けられており、商品の識別子である「商品ID(Identifier)」が各列に対応付けられている。そして、商品データベース31には、各商品が有する特徴と対応するセルに、成分「1」が登録されている。
例えば、図3に示す例では、商品データベース31には、商品ID「A」が対応付けられた列のうち、商品属性「セール」、「カテゴリ2」、「税込」が対応付けられたセルに「0」が格納され、商品属性「カテゴリ1」、「送料無料」が対応付けられたセルに「1」が格納されている。かかる情報は、商品ID「A」が示す商品が、商品属性「カテゴリ1」に属する商品であり、送料が無料である旨を示している。
評価値データベース32は、評価値行列Rの各成分が登録されている。例えば、図4は、実施形態に係る評価値データベースに登録される情報の一例を示す図である。図4に示すように、評価値データベース32には、各利用者を識別する「利用者ID」が各行に対応付けられており、「商品ID」が各列に対応付けられている。そして、評価値データベース32には、各利用者が各商品に対して行った評価の内容を示す値が対応するセルに登録されている。
例えば、図4に示す例では、評価値データベース32には、利用者ID「1」が対応付けられた行のうち、商品ID「B」が対応付けられたセルに「5」が登録され、商品ID「D」が対応付けられたセルに「2」が登録されている。かかる情報は、利用者ID「1」が示す利用者が、商品ID「B」が示す商品に評価値「5」を付与し、商品ID「D」が示す商品に評価値「2」を付与した旨を示す。なお、評価値データベース32のうち、利用者が評価を行っていない商品と対応するセルには、評価値が登録されていない。
ユーザデータベース33は、ユーザ特徴行列Xの各成分が登録されている。例えば、図5は、実施形態に係るユーザデータベースに登録される情報の一例を示す図である。図5に示すように、ユーザデータベース33には、各利用者を識別する「利用者ID」が各行に対応付けられており、「男」や「女」等といった利用者の属性である「利用者属性」が各列に対応付けられている。そして、ユーザデータベース33には、各利用者が有する特徴と対応するセルに、成分「1」が登録されている。
例えば、図5に示す例では、ユーザデータベース33には、利用者ID「1」が対応付けられた行のうち、利用者属性「女」、「20代」、「PC」が対応付けられたセルに「1」が登録され、他のセルに「0」が登録されている。係る情報は、利用者ID「1」が示す利用者が、20代の女性であり、利用者端末100としてPCを使用している旨を示す。
潜在要素データベース34は、ユーザ特徴行列Xと、商品特徴行列Yと、評価値行列Rとから生成された潜在要素行列Wの各成分の値が登録されている。例えば、図6は、実施形態に係る潜在要素データベースに登録される情報の一例を示す図である。図6に示すように、潜在要素データベース34には、「利用者属性」が各行に対応付けられており、「商品属性」が各列に対応付けられている。そして、潜在要素データベース34には、ユーザ特徴行列Xと、商品特徴行列Yと、評価値行列Rとから算出された各成分の値「値#1」〜「値#11」が登録されている。なお、図6に示す例では、「値#1」〜「値#11」といった概念的な値を記載したが、実際には、潜在要素データベース34には、ユーザ特徴行列Xと、商品特徴行列Yと、評価値行列Rとから算出された数値が登録されることとなる。より具体的には、潜在要素データベース34には、ユーザ特徴行列Xと、潜在要素行列Wと、商品特徴行列Yとの積の値が、評価値行列Rを再現するように求められた値が登録されることとなる。
インデックスデータベース35には、積算行列WYの各成分の値が登録されている。すなわち、インデックスデータベース35には、利用者属性ごとに、その利用者属性に対する各商品の関連性を示すスコアの値が登録されることとなる。例えば、インデックスデータベース35には、「User FeatureID1:<ItemID,Score>,…」といった形式のデータが登録されることとなる。ここで、「User FeatureID1」とは、利用者属性を示す情報である。また、「ItemID1」とは、商品の識別子である。また、「Score」とは、対応付けられた利用者属性に対し、対応付けられた商品の識別子が示す商品の関連性を示すスコアの値である。
図2に戻り、説明を続ける。制御部40は、コントローラ(controller)であり、例えば、CPU(Central Processing Unit)、MPU(Micro Processing Unit)等のプロセッサによって、選択装置10内部の記憶装置に記憶されている各種プログラムがRAM等を作業領域として実行されることにより実現される。また、制御部40は、コントローラ(controller)であり、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の集積回路により実現されてもよい。
図2に示すように、制御部40は、要求受付部41、取得部42、算出部43、検索部44、選択部45、配信部46、および生成部47を有する。
要求受付部41は、利用者U01から商品の検索要求を受付ける。より具体的には、要求受付部41は、利用者U01が所望する商品の検索クエリを受付ける。このような場合、要求受付部41は、検索クエリと合致する商品を商品データベース31から検索し、検索結果を示すウェブページを生成する。
取得部42は、利用者の特徴を示す情報を行方向に配置したユーザ特徴行列Xと、電子商取引の対象となる商品の特徴を示す情報を列方向に配置した商品特徴行列Yと、商品に対する利用者の評価を示す情報を行方向に配置した評価値行列Rとから算出される潜在要素行列Wであって、ユーザ特徴行列Xと潜在要素行列Wと商品特徴行列Yとの積が評価値行列Rを再現するように、各成分の値が設定された潜在要素行列Wを取得する。より具体的には、取得部42は、後述する生成部47によって生成された潜在要素行列Wを、潜在要素データベース34から読み出す。
算出部43は、商品の提案先となる利用者U01の特徴を示す情報を含む行と、潜在要素行列Wと、商品特徴行列Yとの積から、利用者U01の各商品に対する評価を示す値を算出する。例えば、算出部43は、利用者U01と対応する行をユーザ特徴行列Xから抽出し、抽出した行と、潜在要素行列Wと、商品特徴行列Yとの積を算出する。すなわち、算出部43は、商品の提案先となる利用者U01の各商品に対する評価を推定する。
ここで、商品の数が多い場合、商品の提案先となる利用者U01の特徴を示す情報を含む行と、潜在要素行列Wと、商品特徴行列Yとの積から、利用者U01の各商品に対する評価を示す値を算出するための計算コストが増大してしまう。そこで、算出部43は、検索部44と連動して動作することで、各商品に対する評価を示す値を算出するための計算コストを削減する。
例えば、算出部43は、潜在要素行列Wと商品特徴行列Yとの積である積算行列WYをあらかじめ算出し、算出した積算行列WYを商品のインデックスとして、インデックスデータベース35に登録する。一方、検索部44は、利用者U01の特徴を示す情報をクエリとし、潜在要素行列Wと商品特徴行列Yとの積の値を、利用者U01の特徴に対する各商品のスコアとして、クエリとスコアとから算出される内積値の値が高い方から所定の数の商品を検索する。より具体的には、検索部44は、WANDアルゴリズムを用いて、クエリとスコアとから算出される内積値の値が高い方から所定の数の提案対象を検索する。
後述する説明で明らかとなるように、WANDアルゴリズムを用いて、クエリとスコアとから算出される内積値の値が高い方から所定の数の提案対象を検索する場合、計算対象となるクエリとスコアとの値が、候補として保持した内積値の値よりも少ない場合は、内積値の計算をスキップすることとなる。このため、検索部44は、WANDアルゴリズムを用いて、クエリとスコアとから算出される内積値の値が、候補として保持した内積値の値よりも大きくなると判断した場合にのみ、算出部43に内積値の算出を行わせる。この結果、算出部43、検索部44は、各商品に対する評価を示す値を算出するための計算コストを削減することができる。
選択部45は、算出部43によって算出された値に基づいて、利用者U01に対して提案する提案対象を選択する。例えば、選択部45は、クエリとスコアから算出される内積値の値が高い方から所定の数の商品の通知を検索部44から受付ける。このような場合、選択部45は、ターゲティング等の技術を用いて、検索部44から受付けた商品の中から、利用者U01に対して実際に配信する商品を選択する。
配信部46は、選択された商品を利用者U01に対して提案する情報、すなわち、選択された商品の広告を利用者U01に対して配信する。例えば、配信部46は、選択部45が選択した商品を広告するための広告を取得する。そして、配信部46は、要求受付部41が生成したウェブページ中に取得した広告を配置し、広告を配置したウェブページを利用者端末100へと送信する。この結果、選択装置10は、利用者U01が気に入る可能性が高い商品の広告を利用者U01へと提供することが出来る。
生成部47は、ユーザ特徴行列Xと、潜在要素行列Wと、商品特徴行列Yとの積が、評価値行列Rに近づくように、各成分の値が設定された潜在要素行列Wを生成する。例えば、生成部47は、ログサーバ等から、各商品に対する利用者の評価を示す値を取得し、取得した値に基づいて評価値行列Rを生成する。そして、生成部47は、生成した評価値行列Rを評価値データベース32に登録する。また、生成部47は、図示を省略した管理サーバ等から、利用者の特徴を収集し、収集した特徴に基づいて、ユーザ特徴行列Xを生成する。そして、生成部47は、生成したユーザ特徴行列Xをユーザデータベース33に登録する。また、生成部47は、電子商取引の対象となる商品を管理する管理サーバ等から、商品の特徴を収集し、収集した特徴に基づいて、商品特徴行列Yを生成する。そして、生成部47は、生成した商品特徴行列Yを商品データベース31に登録する。
また、生成部47は、ALS等のアルゴリズムを用いて、ユーザ特徴行列Xと、商品特徴行列Yと、評価値行列Rとから、潜在要素行列Wを生成する。例えば、図7は、実施形態にかかる選択装置が潜在要素行列を算出する処理の一例について説明する図である。例えば、生成部47は、ALS等のアルゴリズムを用いた場合、潜在要素行列Wを単体で算出するのが困難となる。そこで、生成部47は、図7に示すように、潜在要素行列Wを、潜在要素行列Uと潜在要素行列Vとの積であると見做す。
例えば、利用者の特徴の数を「d1」、商品の特徴の数を「d2」と置いた場合、潜在要素行列Wは、d1×d2行列となる。そこで、生成部47は、潜在要素行列Wを、d1×k行列である行列M31、すなわち潜在要素行列Uと、k×d2行列である行列M32、すなわち潜在要素行列Vとの積であると見做す。ここで、kは、任意の整数である。そして、生成部47は、ALS等のアルゴリズムを用いて、ユーザ特徴行列Xと、潜在要素行列Uと、潜在要素行列Vと、商品特徴行列Yとの積が、評価値行列Rを再現するように、潜在要素行列Uと潜在要素行列Vとの各成分の値を算出する。そして、生成部47は潜在要素行列Uと潜在要素行列Vとの積を、潜在要素行列Wとして算出し、算出した潜在要素行列Wを潜在要素データベース34に登録する。
〔3.選択装置が実行する処理の一例〕
次に、図8を用いて、新たな利用者の追加があった場合に、利用者の各商品に対する評価値を推定する処理の一例について説明する。図8は、新規利用者の追加時に実行する処理の一例を示す図である。例えば、図8に示す例では、利用者ID「6」が示す利用者の追加があった場合、評価値行列Rには、利用者ID「6」が示す利用者と対応する行として、各成分の値が入力されていない行M11が追加される。また、ユーザ特徴行列Xには、利用者ID「6」が示す利用者と対応する行として、利用者ID「6」が示す利用者の属性を示す成分が入力された行M21が追加されることとなる。
そして、選択装置10は、利用者ID「6」が示す利用者から商品の検索要求を受信した場合には、ユーザ特徴行列Xのうち、利用者ID「6」が示す利用者と対応する行M21と、潜在要素行列Wと、商品特徴行列Yとの積を算出することで、評価値行列Rのうち、利用者ID「6」が示す利用者と対応する行M11に入力されることとなる値を算出する。そして、選択装置10は、算出した値に基づいて、利用者ID「6」が示す利用者に対して提案する商品を選択し、選択した商品の広告を検索結果とともに配信する。
このように、選択装置10は、ユーザ特徴行列Xの全体ではなく、商品の提案先となる利用者の特徴を示す行と、潜在要素行列Wと、商品特徴行列Yとの積を算出することで、商品の提案先となる利用者の各商品に対する評価値を推定する。このため、選択装置10は、新たな利用者による各商品への評価値が得られる前であっても、潜在要素行列Wが算出済であり、新たな利用者の属性を特定することが出来るのであれば、商品の提案先となる利用者の各商品に対する評価値を推定することができる。この結果、選択装置10は、利用者の追加が行われた場合にも、潜在要素行列Wの再計算を不要とするので、計算コストの増大を防ぐことができる。
次に、図9を用いて、新たな商品の追加があった場合に、利用者の各商品に対する評価値を推定する処理の一例について説明する。図9は、商品の追加時に実行する処理の一例を示す図である。例えば、図9に示す例では、商品ID「F」が示す商品の追加があった場合、商品特徴行列Yには、商品ID「F」が示す商品の属性を示す成分が入力された列M41が追加されることとなる。
ここで、選択装置10は、利用者ID「3」が示す利用者から商品の検索要求を受信した場合には、ユーザ特徴行列Xのうち、利用者ID「3」が示す利用者と対応する行M22を抽出する。そして、選択装置10は、抽出した行M22と、潜在要素行列Wと、列M41を追加した商品特徴行列Yとの積を算出することで、利用者ID「3」が示す利用者の各商品に対する評価値を含む行M12の各要素の値を推定する。
ここで、潜在要素行列Wには、利用者の属性と商品の属性との関連性に基づいて、利用者の各商品に対する評価値を算出するための値が含まれることとなる。このため、選択装置10は、商品特徴行列Yに新たな商品が登録された場合であっても、その商品の属性を特定することが出来るのであれば、利用者の属性と、既存の潜在要素行列Wと、商品特徴行列Yとから、新たな商品に対する評価値を算出することができる。この結果、選択装置10は、商品の追加が行われた場合にも、潜在要素行列Wの再計算を不要とするので、計算コストの増大を防ぐことができる。
〔4.WANDの一例〕
次に、図10〜図12を用いて、WANDアルゴリズムを用いて、商品の中から利用者の評価値が高い所定の数の商品を選択する処理の一例について説明する。図10は、WANDアルゴリズムを用いて評価値が高い商品を選択する処理の一例を示す第1の図である。図11は、WANDアルゴリズムを用いて評価値が高い商品を選択する処理の一例を示す第2の図である。図12は、WANDアルゴリズムを用いて評価値が高い商品を選択する処理の一例を示す第3の図である。なお、図10〜図12に示す例では、評価値の値が高い方から2つの商品を選択する処理の一例について記載した。
例えば、選択装置10は、ユーザ特徴行列Xのうち、提案先となる利用者の特徴を示す情報を含む行と、積算行列WYとの積を算出することで、提案先となる利用者の各商品に対する評価値の値を算出することが出来る。ここで、積算行列WYには、利用者の特徴ごとに、その特徴に対する各商品のスコアが登録されているとみなすことができる。このため、ユーザ特徴行列Xのうち、提案先となる利用者の特徴を示す情報を含む行をクエリと見做し、積算行列WYを商品のインデックスとみなした場合には、提案先となる利用者の各商品に対する評価値の値は、クエリと、そのクエリに対応する商品のインデックスのスコアとの内積値となる。すると、評価値が高い方から所定の数の商品を選択する処理は、クエリに対応するスコアが高いドキュメントをOR検索する処理に落とし込むことが出来る。
そこで、選択装置10は、ユーザ特徴行列Xのうち、提案先となる利用者の特徴を示す情報を含む行をクエリと見做し、積算行列WYを商品のインデックスとみなして、WANDのアルゴリズムを用いて、評価値が高い方から所定の数の商品を選択する。例えば、提案先となる利用者の特徴に、利用者属性「U_id_1」、「U_id_2」、「U_id_3」が含まれているものとする。このような場合、選択装置10は、積算行列WYから、利用者属性「U_id_1」、「U_id_2」、「U_id_3」のそれぞれと対応付けられた商品とスコアとの組を抽出する。なお、以下の説明では、商品とスコアとの組を「データ」と記載する場合がある。
例えば、選択装置10は、積算行列WYから、利用者属性「U_id_1」と対応付けられた商品とスコアとの組として、「(1、6)、(5、4)」を抽出する。また、選択装置10は、積算行列WYから、利用者属性「U_id_2」と対応付けられた商品とスコアとの組として、「(2、3)、(3、3)、(5、1)」を抽出する。また、選択装置10は、積算行列WYから、利用者属性「U_id_3」と対応付けられた商品とスコアとの組として、「(1、1)、(2、2)、(4、2)、(5、1)」を抽出する。また、選択装置10は、商品ID順にデータを並べておく。
続いて、選択装置10は、各利用者属性と対応するスコアの最高値(max_score)を特定しておく。例えば、選択装置10は、利用者属性「U_id_1」と対応するスコアの最高値「6」を特定し、利用者属性「U_id_2」と対応するスコアの最高値「3」を特定し、利用者属性「U_id_3」と対応するスコアの最高値「2」を特定しておく。なお、係る処理は、積算行列WYの算出時に予め実行されていてもよい。
また、選択装置10は、図10中(A)〜(C)に示すように、利用者属性ごとに、先頭のデータにポインタを設定する。そして、選択装置10は、ポインタが示すデータのうち、同じ商品IDを含むデータを特定し、特定したデータに含まれるスコアの合計を、特定したデータに含まれる商品IDが示す商品のポイントとしてAccumulatorに保持する。例えば、図10に示す例では、選択装置10は、商品ID「1」を含むデータとして、図10中(A)のポインタが示すデータ「(1、6)」と、図10中(C)のポインタが示すデータ「(1、1)」とを特定し、特定したデータに含まれるスコアの合計「7」をポイントとして算出する。そして、選択装置10は、図10中(D)に示すように、商品ID「1」とポイント「7」とを含むデータ「(1、7)」をAccumulatorに保持する。
次に、選択装置10は、使用したデータを示すポインタ、すなわち、図10中(A)、(C)のポインタを1つ移動させる。この結果、各Accumulatorとポインタとの状態は、図11に示す状態に遷移する。そして、選択装置10は、図10に示した処理と同様の処理を繰り返す。例えば、図11に示す例では、選択装置10は、商品ID「2」を含むデータとして、図11中(A)のポインタが示すデータ「(2、3)」と、図11中(B)のポインタが示すデータ「(2,2)」とを特定し、特定したデータに含まれるスコアの合計「5」をポイントとして算出する。そして、選択装置10は、図11中(C)に示すように、商品ID「2」とポイント「5」とを含むデータ「(2、5)」をAccumulatorに保持する。
ここで、Accumulatorに登録された各データのポイントを参照すると、最低値は、商品ID「2」のポイント「5」となる。一方で、各利用者属性と対応するスコアの最高値を考慮すると、ある商品のポイントが、商品ID「2」のポイント「5」の値を超えるには、その商品の商品IDを含むデータが、少なくとも利用者属性「U_id_1」と、他の利用者属性とに対応付けられている必要がある。例えば、その商品の商品IDを含むデータが、利用者属性「U_id_2」および利用者属性「U_id_3」と対応付けられていると仮定すると、ポイントの最大値は、利用者属性「U_id_2」と対応するスコアの最高値「3」と利用者属性「U_id_2」と対応するスコアの最高値「2」との和「5」となり、Accumulatorに登録されたポイントの最低値を更新することができない。
そこで、選択装置10は、図12中(A)および(B)に示すように、利用者属性「U_id_1」のポインタが示すデータの商品ID「5」を含むデータまで、利用者属性「U_id_2」のポインタ、および、利用者属性「U_id_3」のポインタを進めることが出来る。すなわち、選択装置10は、商品ID「3」や商品ID「4」については、ポイントの算出を行わずとも、候補から除外することが出来る。
そして、選択装置10は、図12に示す例では、各ポインタが示すデータ、すなわち、商品ID「5」のスコアの合計「6」をポイントとして算出する。そして、選択装置10は、図12中(C)に示すように、商品ID「5」とポイント「6」とを含むデータ「(5、6)」をAccumulatorに保持する。この結果、選択装置10は、内積値が高い方から2つの商品の商品IDとして、商品ID「1」、商品ID「5」を特定することが出来る。
〔5.選択処理の流れの一例〕
続いて、図13を用いて、選択装置10が潜在要素行列Wを生成する処理の流れについて説明する。図13は、実施形態に係る選択装置が潜在要素行列を生成する処理の流れの一例を示すフローチャートである。例えば、選択装置10は、商品に対するユーザの評価から、評価値行列Rを生成する(ステップS101)。また、選択装置10は、ユーザの特徴から、ユーザ特徴行列Xを生成する(ステップS102)。また、選択装置10は、商品の特徴から、商品特徴行列Yを生成する(ステップS103)。
そして、選択装置10は、ALSを用いて、ユーザ特徴行列Xと、商品特徴行列Yと、評価値行列Rとから、潜在要素行列Wを生成する(ステップS104)。その後、選択装置10は、潜在要素行列Wと、商品特徴行列Yとの積をインデックスとして、インデックスデータベース35に保持し(ステップS105)、処理を終了する。
続いて、図14を用いて、選択装置10が利用者に対して提案する処理を選択する選択処理の流れの一例について説明する。図14は、実施形態に係る選択装置が実行する選択処理の流れの一例を示すフローチャートである。まず、選択装置10は、利用者から商品の検索要求等といったリクエストを受付けたか否かを判定し(ステップS201)、受付けていない場合は(ステップS201:No)、受付けるまで待機する。そして、選択装置10は、リクエストを受付けた場合は(ステップS201:Yes)、ユーザ特徴行列Xから、リクエスト元のユーザの行を抽出する(ステップS202)。続いて、選択装置10は、抽出した行が示す利用者の属性をクエリとし、積算行列WYをインデックスと見做して(ステップS203)、内積値が大きい方から順に所定の数の商品を、WANDを用いて特定する(ステップS204)。また、選択装置10は、特定した商品を利用者に対するレコメンド対象として(ステップS205)、リクエストに対応する検索結果と共に、レコメンド対象とした商品を利用者に対して提案し(ステップS206)、処理を終了する。
〔6.変形例〕
上記では、選択装置10による選択処理の一例について説明した。しかしながら、実施形態は、これに限定されるものではない。以下、選択装置10が実行する選択処理のバリエーションについて説明する。
〔6−1.WANDについて〕
上述した選択装置10は、WANDアルゴリズムを用いて、利用者の評価値の値が高い商品を検索した。しかしながら、実施形態は、これに限定されるものではない。例えば、選択装置10は、Top−k retrievalアルゴリズムであれば、WANDアルゴリズム以外にも、任意のアルゴリズムを用いて、利用者の評価値の値が高い商品を検索してもよい。
また、選択装置10は、単純に、利用者の属性を示す行と、潜在要素行列Wと、商品特徴行列Yとの積を算出することで、利用者の各商品に対する評価値(すなわち、復元行列R’の値)を算出し、算出した評価値が高い方から順に所定の数の商品を選択してもよい。また、選択装置10は、算出した評価値が所定の閾値よりも高い商品を選択してもよく、算出した評価値が所定の範囲内となる商品を選択してもよい。また、選択装置10は、例えば、利用者が評価を行っていない商品の中から、算出された評価値が高い方から順に所定の数の商品を選択し、選択した商品を提案してもよい。また、選択装置10は、提案対象が動画像等のコンテンツである場合には、利用者が閲覧していないコンテンツのうち、算出された評価値が高い方から順に所定の数の商品を選択し、選択した商品を提案してもよい。
なお、上述した選択処理のうち、WANDについては、必須の処理ではない。すなわち、選択装置10は、IMCを用いて生成された潜在要素行列Wを用いて、提案対象に対する利用者の評価値を推定し、推定した評価値に基づいた提案を行うのであれば、上述した処理を任意の処理と組み合わせて実行してもよい。
〔6−2.提案対象について〕
上述した説明では、選択装置10は、電子商取引の対象となる商品を提案対象とし、潜在要素行列Wから算出した利用者の評価値が高い商品を利用者に対して提案した。しかしながら、実施形態は、これに限定されるものではない。例えば、選択装置10は、電子商取引の対象となる商品のみならず、役務等を提案対象としてもよい。
また、選択装置10は、動画像や音楽、ニュース、ウェブページ、ウェブ上に公開された利用者の発言等といったコンテンツを提案対象としてもよい。例えば、選択装置10は、商品特徴行列Yと同様に、各コンテンツの特徴を示す情報を含むコンテンツ特徴行列Y’を取得する。また、選択装置10は、ユーザ特徴行列Xと、コンテンツ特徴行列Y’と、各コンテンツに対する利用者の評価を示す評価値行列Rとから潜在要素行列Wを取得する。そして、選択装置10は、利用者の特徴を示す情報を含む行と、潜在要素行列Wと、コンテンツ特徴行列Y’とから、各コンテンツに対する利用者の評価を推定し、推定結果に基づいて、利用者に提案するコンテンツを選択してもよい。
また、選択装置10は、利用者に対して配信する広告を選択する際に、上述した選択処理を適用してもよい。例えば、選択装置10は、商品特徴行列Yと同様に、各広告の特徴を示す情報を含む広告特徴行列Y’’を取得する。また、選択装置10は、ユーザ特徴行列Xと、広告特徴行列Y’’と、各広告に対する利用者の評価を示す評価値行列Rとから潜在要素行列Wを取得する。そして、選択装置10は、利用者の特徴を示す情報を含む行と、潜在要素行列Wと、広告特徴行列Y’’とから、各広告に対する利用者の評価を推定し、推定結果に基づいて、利用者に配信する広告を選択してもよい。
〔6−3.装置構成〕
選択装置10は、任意の数の利用者端末100と通信可能に接続されていてもよい。また、選択装置10は、利用者端末100と情報のやり取りを行うフロントエンドサーバと、入力項目を選択するバックエンドサーバとにより実現されてもよい。このような場合、フロントエンドサーバには、図2に示す要求受付部41および配信部46が配置され、バックエンドサーバには、取得部42、算出部43、検索部44、選択部45、および生成部47等が配置されることとなる。また、記憶部30に格納された各データベース31〜35は、選択装置10の内部ではなく、例えば、外部のストレージサーバ等に格納されていてもよい。
〔6−4.各データベース項目について〕
なお、上述した説明において、ユーザ特徴行列Xや商品特徴行列Yに含まれる各種の項目は、あくまで一例であり、利用者の特徴を示す項目や、商品の特徴を示す項目であれば、任意の項目が採用可能である。
〔6−5.その他〕
また、上記実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、各図に示した各種情報は、図示した情報に限られない。
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
また、上記してきた各実施形態は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
〔7.プログラム〕
また、上述してきた実施形態に係る選択装置10は、例えば図15に示すような構成のコンピュータ1000によって実現される。図15は、ハードウェア構成の一例を示す図である。コンピュータ1000は、出力装置1010、入力装置1020と接続され、演算装置1030、一次記憶装置1040、二次記憶装置1050、出力IF(Interface)1060、入力IF1070、ネットワークIF1080がバス1090により接続された形態を有する。
演算装置1030は、一次記憶装置1040や二次記憶装置1050に格納されたプログラムや入力装置1020から読み出したプログラム等に基づいて動作し、各種の処理を実行する。一次記憶装置1040は、RAM等、演算装置1030が各種の演算に用いるデータを一次的に記憶するメモリ装置である。また、二次記憶装置1050は、演算装置1030が各種の演算に用いるデータや、各種のデータベースが登録される記憶装置であり、ROM(Read Only Memory)、HDD、フラッシュメモリ等により実現される。
出力IF1060は、モニタやプリンタといった各種の情報を出力する出力装置1010に対し、出力対象となる情報を送信するためのインタフェースであり、例えば、USB(Universal Serial Bus)やDVI(Digital Visual Interface)、HDMI(登録商標)(High Definition Multimedia Interface)といった規格のコネクタにより実現される。また、入力IF1070は、マウス、キーボード、およびスキャナ等といった各種の入力装置1020から情報を受信するためのインタフェースであり、例えば、USB等により実現される。
なお、入力装置1020は、例えば、CD(Compact Disc)、DVD(Digital Versatile Disc)、PD(Phase change rewritable Disk)等の光学記録媒体、MO(Magneto-Optical disk)等の光磁気記録媒体、テープ媒体、磁気記録媒体、または半導体メモリ等から情報を読み出す装置であってもよい。また、入力装置1020は、USBメモリ等の外付け記憶媒体であってもよい。
ネットワークIF1080は、ネットワークNを介して他の機器からデータを受信して演算装置1030へ送り、また、ネットワークNを介して演算装置1030が生成したデータを他の機器へ送信する。
演算装置1030は、出力IF1060や入力IF1070を介して、出力装置1010や入力装置1020の制御を行う。例えば、演算装置1030は、入力装置1020や二次記憶装置1050からプログラムを一次記憶装置1040上にロードし、ロードしたプログラムを実行する。
例えば、コンピュータ1000が選択装置10として機能する場合、コンピュータ1000の演算装置1030は、一次記憶装置1040上にロードされたプログラムを実行することにより、制御部40の機能を実現する。
〔8.効果〕
上述したように、選択装置10は、利用者の特徴を示す情報を含むユーザ特徴行列Xと、提案対象の特徴を示す情報を含む商品特徴行列Yと、提案対象に対する利用者の評価を示す情報を含む評価値行列Rとから算出される潜在要素行列Wであって、ユーザ特徴行列Xと潜在要素行列Wと商品特徴行列Yとの積が評価値行列Rとなるように成分の値が設定された潜在要素行列Wを取得する。そして、選択装置10は、利用者の特徴を示す情報をクエリとし、潜在要素行列Wと商品特徴行列Yとの積の値を利用者の特徴に対する各提案対象のスコアとして、クエリとスコアとから算出される内積値の値が高い方から所定の数の提案対象を検索する。その後、選択装置10は、検索結果に基づいて、利用者に対して提案する提案対象を選択する。
このように、選択装置10は、IMCを用いて算出された潜在要素行列Wから、提案対象に対する利用者の評価を算出する。このため、選択装置10は、利用者の追加や商品の追加等が行われた場合や、利用者の評価が更新された場合等における潜在要素行列Wの再計算の頻度を少なくすることができるので、計算コストの増大を防ぐことができる。また、選択装置10は、配信先となる利用者の特徴から、提案対象に対する利用者の評価を容易に算出することができるので、利用者からの要求時に、提案対象の選択をランタイムで行うことができる。
また、選択装置10は、Top−k retrievalアルゴリズム等を用いて、クエリとスコアとから算出される内積値の値が高い方から所定の数の提案対象を検索する。例えば、選択装置10は、WANDアルゴリズムを用いて、クエリとスコアとから算出される内積値の値が高い方から所定の数の提案対象を検索する。このため、選択装置10は、例えば、電子商取引の対象となる商品等、提案対象の数が膨大に存在する場合であっても、現実的な時間内で、利用者の評価が高いと推定される提案対象を選択することが出来る。このため、選択装置10は、提案対象の選択をランタイムで行うことができる。
また、選択装置10は、利用者に対して提案する提案対象として、電子商取引の対象となる商品または役務の特徴を示す情報を含む商品特徴行列Yと、商品または役務に対する利用者の評価を示す情報を含む評価値行列Rとから算出される潜在要素行列Wを取得する。また、選択装置10は、商品または役務の提案先となる利用者の特徴を示す情報をクエリとし、潜在要素行列Wと商品特徴行列Yとの積の値を利用者の特徴に対する商品または役務のスコアとして、クエリとスコアとから算出される内積値の値が高い方から所定の数の商品または役務を検索する。そして、選択装置10は、検索結果に基づいて、利用者に対して提案する商品または役務を選択する。このため、選択装置10は、提案対象となる商品や役務の選択をランタイムで行うことができる。
また、選択装置10は、利用者の特徴を示す情報を行方向に配置したユーザ特徴行列Xと、提案対象の特徴を示す情報を列方向に配置した商品特徴行列Yと、提案対象に対する利用者の評価を示す情報を行方向に配置した評価値行列Rとから算出される潜在要素行列Wであって、ユーザ特徴行列Xと潜在要素行列Wと商品特徴行列Yとの積が評価値行列Rとなるように成分の値が設定された潜在要素行列Wを取得する。また、選択装置10は、提案対象の提案先となる利用者の特徴を示す情報を含む行と、潜在要素行列Wと、商品特徴行列Yとの積から、提案対象の提案先となる利用者の各提案対象に対する評価を示す値を算出する。そして、選択装置10は、算出された値に基づいて、利用者に対して提案する提案対象を選択する。
このように、選択装置10は、IMCを用いて算出された潜在要素行列Wから、提案対象に対する利用者の評価を算出する。このため、選択装置10は、提案対象の提案先となる利用者の属性を示す行と、潜在要素行列Wと、商品特徴行列Yとの積を算出するだけで、提案対象の提案先となる利用者の各提案対象に対する評価を容易に取得することが出来る。
また、選択装置10は、ユーザ特徴行列Xから提案対象の提案先となる利用者の特徴を示す情報を含む行を抽出し、抽出した行と、潜在要素行列Wと、商品特徴行列Yとの積から、提案対象の提案先となる利用者の各提案対象に対する評価を示す値を算出する。このため、選択装置10は、提案対象の提案先となる利用者の各提案対象に対する評価を算出する際の計算コストの増大を防ぐことができる。
また、選択装置10は、電子商取引の対象となる商品または役務の特徴を示す情報が列方向に配置された商品特徴行列Yと、商品または役務に対する各利用者の評価を示す情報を行方向に配置した評価値行列Rとから算出される潜在要素行列Wを取得する。また、選択装置10は、商品または役務の提案先となる利用者の特徴を示す情報を含む行と、潜在要素行列Wと、商品特徴行列Yとの積から、利用者の商品または役務に対する評価を示す値を算出する。そして、選択装置10は、算出結果に基づいて、利用者に対して提案する商品または役務を選択する。このため、選択装置10は、提案対象となる商品や役務の選択をランタイムで行うことができる。
また、選択装置10は、利用者の特徴を示す情報を含むユーザ特徴行列Xと、コンテンツの特徴を示す情報を含む商品特徴行列Yと、コンテンツに対する利用者の評価を示す情報を含む評価値行列Rとから算出される潜在要素行列Wであって、ユーザ特徴行列Xと潜在要素行列Wと商品特徴行列Yとの積が評価値行列Rとなるように成分の値が設定された潜在要素行列Wを取得する。また、選択装置10は、コンテンツの提案先となる利用者の特徴を示す情報と、潜在要素行列Wと、商品特徴行列Yとを用いて、コンテンツの提案先となる利用者のコンテンツに対する評価を推定する。そして、選択装置10は、推定結果に基づいて、利用者に対して提案するコンテンツを選択する。
このように、選択装置10は、IMCを用いて算出された潜在要素行列Wから、配信対象となるコンテンツに対する利用者の評価を算出し、算出結果に応じて、提案対象となるコンテンツを選択する。このため、選択装置10は、利用者の追加や商品の追加等が行われた場合や、利用者の評価が更新された場合等における潜在要素行列Wの再計算の頻度を少なくすることができるので、計算コストの増大を防ぐことができる。
また、選択装置10は、ユーザ特徴行列Xと潜在要素行列Wと商品特徴行列Yとの積が評価値行列Rに近づくように、各成分の値が設定された潜在要素行列Wを生成する。より具体的には、選択装置10は、行数がユーザ特徴行列Xの列数と同じ潜在要素行列Uと、列数が商品特徴行列Yの行数と同じ潜在要素行列Vであって、ユーザ特徴行列Xと潜在要素行列Uと潜在要素行列Vと商品特徴行列Yとの積が評価値行列Rを再現するように潜在要素行列Uと潜在要素行列Vとを生成する。そして、選択装置10は、生成した潜在要素行列Uと潜在要素行列Vとの積を潜在要素行列Wとする。このため、選択装置10は、例えば、ALS等の手法を用いて、潜在要素行列Wを生成することができる。
以上、本願の実施形態のいくつかを図面に基づいて詳細に説明したが、これらは例示であり、発明の開示の欄に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。
また、上記してきた「部(section、module、unit)」は、「手段」や「回路」などに読み替えることができる。例えば、配信部は、配信手段や配信回路に読み替えることができる。
10 選択装置
20 通信部
30 記憶部
31 商品データベース
32 評価値データベース
33 ユーザデータベース
34 潜在要素データベース
35 インデックスデータベース
40 制御部
41 要求受付部
42 取得部
43 算出部
44 検索部
45 選択部
46 配信部
47 生成部
100 利用者端末

Claims (15)

  1. 利用者の特徴を示す情報を含む第1行列と、提案対象の特徴を示す情報を含む第2行列と、前記提案対象に対する前記利用者の評価を示す情報を含む第3行列とから算出される第4行列であって、前記第1行列と前記第4行列と前記第2行列との積が前記第3行列となるように成分の値が設定された第4行列を取得する取得部と、
    前記提案対象の提案先となる利用者の特徴を示す情報をクエリとし、前記第4行列と前記第2行列との積の値を前記利用者の特徴に対する各提案対象のスコアとして、当該クエリと当該スコアとから算出される内積値の値が高い方から所定の数の提案対象を検索する検索部と、
    前記検索部による検索結果に基づいて、前記利用者に対して提案する提案対象を選択する選択部と
    を有することを特徴とする選択装置。
  2. 前記検索部は、WANDアルゴリズムを用いて、前記クエリと前記スコアとから算出される内積値の値が高い方から所定の数の提案対象を検索する
    ことを特徴とする請求項1に記載の選択装置。
  3. 前記取得部は、前記利用者に対して提案する提案対象として、電子商取引の対象となる商品または役務の特徴を示す情報を含む第2行列と、前記商品または役務に対する前記利用者の評価を示す情報を含む第3行列とから算出される第4行列を取得し、
    前記検索部は、前記商品または役務の提案先となる利用者の特徴を示す情報をクエリとし、前記第4行列と前記第2行列との積の値を前記利用者の特徴に対する前記商品または役務のスコアとして、当該クエリと当該スコアとから算出される内積値の値が高い方から所定の数の前記商品または役務を検索し、
    前記選択部は、前記検索部による検索結果に基づいて、前記利用者に対して提案する商品または役務を選択する
    ことを特徴とする請求項1または2に記載の選択装置。
  4. 利用者の特徴を示す情報を行方向に配置した第1行列と、提案対象の特徴を示す情報を列方向に配置した第2行列と、提案対象に対する利用者の評価を示す情報を行方向に配置した第3行列とから算出される第4行列であって、前記第1行列と前記第4行列と前記第2行列との積が前記第3行列となるように成分の値が設定された第4行列を取得する取得部と、
    前記提案対象の提案先となる利用者の特徴を示す情報を含む行と、前記第4行列と、前記第2行列との積から、前記提案対象の提案先となる利用者の各提案対象に対する評価を示す値を算出する算出部と、
    前記算出部によって算出された値に基づいて、前記利用者に対して提案する提案対象を選択する選択部と
    を有することを特徴とする選択装置。
  5. 前記算出部は、前記第1行列から前記提案対象の提案先となる利用者の特徴を示す情報を含む行を抽出し、抽出した行と、前記第4行列と、前記第2行列との積から、前記提案対象の提案先となる利用者の各提案対象に対する評価を示す値を算出する
    ことを特徴とする請求項4に記載の選択装置。
  6. 前記取得部は、前記利用者に対して提案する提案対象として、電子商取引の対象となる商品または役務の特徴を示す情報が列方向に配置された第2行列と、前記商品または役務に対する各利用者の評価を示す情報を行方向に配置した第3行列とから算出される第4行列を取得し、
    前記算出部は、前記商品または役務の提案先となる利用者の特徴を示す情報を含む行と、前記第4行列と、前記第2行列との積から、当該利用者の前記商品または役務に対する評価を示す値を算出し、
    前記選択部は、前記算出部による算出結果に基づいて、前記利用者に対して提案する商品または役務を選択する
    ことを特徴とする請求項4または5に記載の選択装置。
  7. 利用者の特徴を示す情報を含む第1行列と、コンテンツの特徴を示す情報を含む第2行列と、前記コンテンツに対する前記利用者の評価を示す情報を含む第3行列とから算出される第4行列であって、前記第1行列と前記第4行列と前記第2行列との積が前記第3行列となるように成分の値が設定された第4行列を取得する取得部と、
    前記コンテンツの提案先となる利用者の特徴を示す情報と、前記第4行列と、前記第2行列とを用いて、前記コンテンツの提案先となる利用者の前記コンテンツに対する評価を推定する推定部と、
    前記推定部による推定結果に基づいて、前記利用者に対して提案するコンテンツを選択する選択部と
    を有することを特徴とする選択装置。
  8. 前記第1行列と前記第4行列と前記第2行列との積が前記第3行列に近づくように、各成分の値が設定された前記第4行列を生成する生成部
    を有することを特徴とする請求項1〜7のうちいずれか1つに記載の選択装置。
  9. 前記生成部は、行数が前記第1行列の列数と同じ第5行列と、列数が前記第2行列の行数と同じ第6行列であって、前記第1行列と当該第5行列と当該第6行列と前記第2行列との積が前記第3行列を再現するように第5行列および第6行列を生成し、生成した第5行列および第6行列の積を前記第4行列とする
    ことを特徴とする請求項8に記載の選択装置。
  10. 選択装置が実行する選択方法であって、
    利用者の特徴を示す情報を含む第1行列と、提案対象の特徴を示す情報を含む第2行列と、前記提案対象に対する前記利用者の評価を示す情報を含む第3行列とから算出される第4行列であって、前記第1行列と前記第4行列と前記第2行列との積が前記第3行列となるように成分の値が設定された第4行列を取得する取得工程と、
    前記提案対象の提案先となる利用者の特徴を示す情報をクエリとし、前記第4行列と前記第2行列との積の値を前記利用者の特徴に対する各提案対象のスコアとして、当該クエリと当該スコアとから算出される内積値の値が高い方から所定の数の提案対象を検索する検索工程と、
    前記検索工程による検索結果に基づいて、前記利用者に対して提案する提案対象を選択する選択工程と
    を含むことを特徴とする選択方法。
  11. 選択装置が実行する選択方法であって、
    利用者の特徴を示す情報を行方向に配置した第1行列と、提案対象の特徴を示す情報を列方向に配置した第2行列と、提案対象に対する利用者の評価を示す情報を行方向に配置した第3行列とから算出される第4行列であって、前記第1行列と前記第4行列と前記第2行列との積が前記第3行列となるように成分の値が設定された第4行列を取得する取得工程と、
    前記提案対象の提案先となる利用者の特徴を示す情報を含む行と、前記第4行列と、前記第2行列との積から、前記提案対象の提案先となる利用者の各提案対象に対する評価を示す値を算出する算出工程と、
    前記算出工程によって算出された値に基づいて、前記利用者に対して提案する提案対象を選択する選択工程と
    を含むことを特徴とする選択方法。
  12. 選択装置が実行する選択方法であって、
    利用者の特徴を示す情報を含む第1行列と、コンテンツの特徴を示す情報を含む第2行列と、前記コンテンツに対する前記利用者の評価を示す情報を含む第3行列とから算出される第4行列であって、前記第1行列と前記第4行列と前記第2行列との積が前記第3行列となるように成分の値が設定された第4行列を取得する取得工程と、
    前記コンテンツの提案先となる利用者の特徴を示す情報と、前記第4行列と、前記第2行列とを用いて、前記コンテンツの提案先となる利用者の前記コンテンツに対する評価を推定する推定工程と、
    前記推定工程による推定結果に基づいて、前記利用者に対して提案するコンテンツを選択する選択工程と
    を含むことを特徴とする選択方法。
  13. 利用者の特徴を示す情報を含む第1行列と、提案対象の特徴を示す情報を含む第2行列と、前記提案対象に対する前記利用者の評価を示す情報を含む第3行列とから算出される第4行列であって、前記第1行列と前記第4行列と前記第2行列との積が前記第3行列となるように成分の値が設定された第4行列を取得する取得手順と、
    前記提案対象の提案先となる利用者の特徴を示す情報をクエリとし、前記第4行列と前記第2行列との積の値を前記利用者の特徴に対する各提案対象のスコアとして、当該クエリと当該スコアとから算出される内積値の値が高い方から所定の数の提案対象を検索する検索手順と、
    前記検索手順による検索結果に基づいて、前記利用者に対して提案する提案対象を選択する選択手順と
    をコンピュータに実行させるための選択プログラム。
  14. 利用者の特徴を示す情報を行方向に配置した第1行列と、提案対象の特徴を示す情報を列方向に配置した第2行列と、提案対象に対する利用者の評価を示す情報を行方向に配置した第3行列とから算出される第4行列であって、前記第1行列と前記第4行列と前記第2行列との積が前記第3行列となるように成分の値が設定された第4行列を取得する取得手順と、
    前記提案対象の提案先となる利用者の特徴を示す情報を含む行と、前記第4行列と、前記第2行列との積から、前記提案対象の提案先となる利用者の各提案対象に対する評価を示す値を算出する算出手順と、
    前記算出手順によって算出された値に基づいて、前記利用者に対して提案する提案対象を選択する選択手順と
    をコンピュータに実行させるための選択プログラム。
  15. 利用者の特徴を示す情報を含む第1行列と、コンテンツの特徴を示す情報を含む第2行列と、前記コンテンツに対する前記利用者の評価を示す情報を含む第3行列とから算出される第4行列であって、前記第1行列と前記第4行列と前記第2行列との積が前記第3行列となるように成分の値が設定された第4行列を取得する取得手順と、
    前記コンテンツの提案先となる利用者の特徴を示す情報と、前記第4行列と、前記第2行列とを用いて、前記コンテンツの提案先となる利用者の前記コンテンツに対する評価を推定する推定手順と、
    前記推定手順による推定結果に基づいて、前記利用者に対して提案するコンテンツを選択する選択手順と
    をコンピュータに実行させるための選択プログラム。
JP2016107281A 2016-05-30 2016-05-30 選択装置、選択方法および選択プログラム Active JP6679415B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016107281A JP6679415B2 (ja) 2016-05-30 2016-05-30 選択装置、選択方法および選択プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016107281A JP6679415B2 (ja) 2016-05-30 2016-05-30 選択装置、選択方法および選択プログラム

Publications (2)

Publication Number Publication Date
JP2017215647A JP2017215647A (ja) 2017-12-07
JP6679415B2 true JP6679415B2 (ja) 2020-04-15

Family

ID=60575740

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016107281A Active JP6679415B2 (ja) 2016-05-30 2016-05-30 選択装置、選択方法および選択プログラム

Country Status (1)

Country Link
JP (1) JP6679415B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111492391A (zh) * 2017-12-22 2020-08-04 华为技术有限公司 用于生成个性化推荐的客户端、服务器和客户端-服务器系统
JP7017528B2 (ja) * 2019-01-21 2022-02-08 Kddi株式会社 学習装置、学習方法及び学習プログラム

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007317068A (ja) * 2006-05-29 2007-12-06 Osaka Prefecture Univ リコメンド装置およびリコメンドシステム
JP2012079225A (ja) * 2010-10-05 2012-04-19 Osaka Prefecture Univ 協調フィルタリング処理方法およびプログラム
JP2013228947A (ja) * 2012-04-26 2013-11-07 Sony Corp 端末装置、情報処理装置、推薦システム、情報処理方法、及びプログラム

Also Published As

Publication number Publication date
JP2017215647A (ja) 2017-12-07

Similar Documents

Publication Publication Date Title
JP6254733B1 (ja) 算出装置、算出方法および算出プログラム
JP6827305B2 (ja) 選択装置、選択方法および選択プログラム
JP6780992B2 (ja) 判定装置、判定方法および判定プログラム
CN104765758A (zh) 用于搜索结果定向的系统和方法
JP2018045553A (ja) 選択装置、選択方法および選択プログラム
JP7231317B2 (ja) 推定装置、推定方法及び推定プログラム
JP5893599B2 (ja) 情報抽出装置、情報抽出方法および情報抽出プログラム
JP6679415B2 (ja) 選択装置、選択方法および選択プログラム
US10096045B2 (en) Tying objective ratings to online items
JP2018081584A (ja) 提供装置、提供方法、及び提供プログラム
JP2018045288A (ja) 広告配信プログラム、広告配信システム及び広告配信方法
JP2020154880A (ja) 算出装置、算出方法及び算出プログラム
JP6527276B2 (ja) 情報処理装置、情報処理プログラムおよび情報処理方法
JP6549742B1 (ja) 決定装置、決定方法および決定プログラム
JP6590880B2 (ja) 抽出装置、抽出方法及び抽出プログラム
JP2020091816A (ja) 情報処理装置、情報処理方法、及び情報処理プログラム
JP6695228B2 (ja) 決定装置、決定方法および決定プログラム
JP2017146683A (ja) 生成装置、生成方法、及び生成プログラム
JP6541521B2 (ja) 生成装置、生成方法、生成プログラム、決定装置、決定方法、及び決定プログラム
JP7303855B2 (ja) 情報処理装置、情報処理方法及び情報処理プログラム
JP6664600B2 (ja) 提供装置、提供方法および提供プログラム
JP7453120B2 (ja) 選択装置、選択方法及び選択プログラム
WO2022195844A1 (ja) 情報提供装置、情報提供方法、及びプログラム
JP2023091680A (ja) 情報処理装置、情報処理方法、及び情報処理プログラム
JP2019149035A (ja) 提供装置、提供方法および提供プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190319

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20191101

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20191108

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20200310

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200318

R150 Certificate of patent or registration of utility model

Ref document number: 6679415

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350