JP6679415B2 - Selection device, selection method, and selection program - Google Patents

Selection device, selection method, and selection program 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
Japanese (ja)
Other versions
JP2017215647A (en
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/en
Publication of JP2017215647A publication Critical patent/JP2017215647A/en
Application granted granted Critical
Publication of JP6679415B2 publication Critical patent/JP6679415B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、選択装置、選択方法および選択プログラムに関する。   The present invention relates to a selection device, a selection method, and a selection program.

近年、インターネットの飛躍的な普及に伴い、インターネットを介した情報配信が盛んに行われている。このような情報配信の一例として、配信対象となる音声、動画像、ニュース、ブログ等といった各種のコンテンツや、電子商店街等で取引の対象となる商品等の中から、利用者に対して提案する対象(以下、「提案対象」と記載する。)を選択し、選択した提案対象を利用者に対して通知する技術が知られている。   In recent years, with the rapid spread of the Internet, information distribution via the Internet has been actively performed. As an example of such information distribution, a proposal is made to the user from various contents such as voices, moving images, news, blogs, etc. to be distributed and products to be traded in the online shopping mall. BACKGROUND ART There is known a technique of selecting a target (hereinafter, referred to as a “proposal target”) to be notified and notifying a user of the selected proposal target.

このような提案対象を選択する手法として、MF(Matrix Factorization)と呼ばれる手法が知られている。例えば、MFを用いて提案対象を選択するサーバは、一部のコンテンツや商品等に対する利用者の評価を含む評価値行列から、評価値行列を再現する2つの潜在行列を生成する。また、サーバは、生成した2つの潜在行列から、評価値行列を再計算することで、未評価の提案対象に対する利用者の評価を推定する。そして、サーバは、推定結果に基づいて、提案対象を選択する。   A method called MF (Matrix Factorization) is known as a method for selecting such a proposal target. For example, a server that selects a proposal target using MF generates two latent matrices that reproduce the evaluation value matrix from the evaluation value matrix that includes the user's evaluation of some contents, products, and the like. In addition, the server estimates the user's evaluation of the unevaluated proposal target by recalculating the evaluation value matrix from the two generated latent matrices. Then, the server selects a proposal target based on the estimation result.

特開2013−218485号公報JP, 2013-218485, A 特開2015−060330号公報JP, 2005-060330, A

しかしながら、上述した従来技術では、利用者の評価を推定する際の計算コストが増大する恐れがある。   However, in the above-mentioned conventional technique, there is a possibility that the calculation cost when estimating the evaluation of the user increases.

例えば、上述した従来技術では、利用者が新たな評価を行った場合や利用者が評価を変更した場合、新たな利用者が追加された場合、若しくは提案対象となるコンテンツや商品が追加された場合等、潜在行列の生成元となる評価値行列が変化する度に、潜在行列を計算しなおすこととなる。この結果、従来技術では、潜在行列の算出に伴う計算コストが増大する。   For example, in the above-mentioned conventional technology, when the user makes a new evaluation, when the user changes the evaluation, when a new user is added, or the content or product to be proposed is added. In each case, the latent matrix is recalculated every time the evaluation value matrix that is the generation source of the latent matrix changes. As a result, in the conventional technique, the calculation cost for calculating the latent matrix increases.

本願は、上記に鑑みてなされたものであって、利用者の評価を推定する際の計算コストの増大を防ぐことを目的とする。   The present application has been made in view of the above, and an object thereof is to prevent an increase in calculation cost when estimating the evaluation of a user.

本願に係る選択装置は、利用者の特徴を示す情報を含む第1行列と、提案対象の特徴を示す情報を含む第2行列と、前記提案対象に対する前記利用者の評価を示す情報を含む第3行列とから算出される第4行列であって、前記第1行列と前記第4行列と前記第2行列との積が前記第3行列となるように成分の値が設定された第4行列を取得する取得部と、前記提案対象の提案先となる利用者の特徴を示す情報をクエリとし、前記第4行列と前記第2行列との積の値を前記利用者の特徴に対する各提案対象のスコアとして、当該クエリと当該スコアとから算出される内積値の値が高い方から所定の数の提案対象を検索する検索部と、前記検索部による検索結果に基づいて、前記利用者に対して提案する提案対象を選択する選択部とを有することを特徴とする。   A selection device according to the present application includes a first matrix including information indicating characteristics of a user, a second matrix including information indicating characteristics of a proposal target, and a second matrix including information indicating an evaluation of the user with respect to the proposal target. A fourth matrix calculated from the third matrix, the fourth matrix having component values set such that the product of the first matrix, the fourth matrix, and the second matrix becomes the third matrix. And an acquisition unit that acquires the characteristics of a user who is a proposal destination of the proposal target as a query, and a value of a product of the fourth matrix and the second matrix is used as a proposal target for each of the characteristics of the user. As a score of, a search unit that searches a predetermined number of proposal targets from a higher inner product value calculated from the query and the score, and based on the search result by the search unit, to the user And a selection unit for selecting a proposal target to be proposed And it features.

実施形態の一態様によれば、利用者の評価を推定する際の計算コストの増大を防ぐことができる。   According to one aspect of the embodiment, it is possible to prevent an increase in calculation cost when estimating the evaluation of the user.

図1は、実施形態に係る選択装置が実行する選択処理の一例を示す図である。FIG. 1 is a diagram illustrating an example of a selection process executed by the selection device according to the embodiment. 図2は、実施形態に係る選択装置の構成例を示す図である。FIG. 2 is a diagram illustrating a configuration example of the selection device according to the embodiment. 図3は、実施形態に係る商品データベースに登録される情報の一例を示す図である。FIG. 3 is a diagram illustrating an example of information registered in the product database according to the embodiment. 図4は、実施形態に係る評価値データベースに登録される情報の一例を示す図である。FIG. 4 is a diagram showing an example of information registered in the evaluation value database according to the embodiment. 図5は、実施形態に係るユーザデータベースに登録される情報の一例を示す図である。FIG. 5 is a diagram showing an example of information registered in the user database according to the embodiment. 図6は、実施形態に係る潜在要素データベースに登録される情報の一例を示す図である。FIG. 6 is a diagram showing an example of information registered in the latent element database according to the embodiment. 図7は、実施形態にかかる選択装置が潜在要素行列を算出する処理の一例について説明する図である。FIG. 7 is a diagram illustrating an example of processing in which the selection device according to the embodiment calculates a latent element matrix. 図8は、新規利用者の追加時に実行する処理の一例を示す図である。FIG. 8 is a diagram illustrating an example of processing executed when a new user is added. 図9は、商品の追加時に実行する処理の一例を示す図である。FIG. 9 is a diagram illustrating an example of processing executed when a product is added. 図10は、WANDアルゴリズムを用いて評価値が高い商品を選択する処理の一例を示す第1の図である。FIG. 10 is a first diagram illustrating an example of a process of selecting a product having a high evaluation value using the WAND algorithm. 図11は、WANDアルゴリズムを用いて評価値が高い商品を選択する処理の一例を示す第2の図である。FIG. 11 is a second diagram illustrating an example of a process of selecting a product having a high evaluation value using the WAND algorithm. 図12は、WANDアルゴリズムを用いて評価値が高い商品を選択する処理の一例を示す第3の図である。FIG. 12 is a third diagram illustrating an example of a process of selecting a product having a high evaluation value using the WAND algorithm. 図13は、実施形態に係る選択装置が潜在要素行列を生成する処理の流れの一例を示すフローチャートである。FIG. 13 is a flowchart showing an example of the flow of processing in which the selection device according to the embodiment generates a latent element matrix. 図14は、実施形態に係る選択装置が実行する選択処理の流れの一例を示すフローチャートである。FIG. 14 is a flowchart showing an example of the flow of a selection process executed by the selection device according to the embodiment. 図15は、ハードウェア構成の一例を示す図である。FIG. 15 is a diagram illustrating an example of the hardware configuration.

以下に、本願に係る選択装置、選択方法および選択プログラムを実施するための形態(以下、「実施形態」と記載する。)について図面を参照しつつ詳細に説明する。なお、この実施形態により本願に係る選択装置、選択方法および選択プログラムが限定されるものではない。また、以下の各実施形態において同一の部位には同一の符号を付し、重複する説明は省略される。   Hereinafter, modes (hereinafter, referred to as “embodiments”) for carrying out a selection device, a selection method, and a selection program according to the present application will be described in detail with reference to the drawings. Note that the selection device, the selection method, and the selection program according to the present application are not limited by this embodiment. Also, in each of the following embodiments, the same parts are designated by the same reference numerals, and duplicated description will be omitted.

[実施形態]
〔1.選択装置の一例〕
まず、図1を用いて、選択装置が実行する選択処理の一例について説明する。図1は、実施形態に係る選択装置が実行する選択処理の一例を示す図である。図1では、選択装置10は、インターネット等の所定のネットワークNを介して、利用者U01が使用する利用者端末100と通信可能である。
[Embodiment]
[1. Example of selection device]
First, an example of the selection process executed by the selection device will be described with reference to FIG. FIG. 1 is a diagram illustrating an example of a selection process executed by the selection device according to the embodiment. In FIG. 1, the selection device 10 can communicate with a user terminal 100 used by a user U01 via a predetermined network N such as the Internet.

利用者端末100は、スマートフォンやタブレット等のスマートデバイスであり、3G(3rd Generation)やLTE(Long Term Evolution)等の無線通信網を介して任意のサーバ装置と通信を行うことができる携帯端末装置である。なお、利用者端末100は、スマートデバイスのみならず、デスクトップPCやノートPC等の情報処理装置であってもよい。   The user terminal 100 is a smart device such as a smartphone or a tablet, and is a mobile terminal device capable of communicating with an arbitrary server device via a wireless communication network such as 3G (3rd Generation) or LTE (Long Term Evolution). Is. The user terminal 100 may be not only a smart device but also an information processing device such as a desktop PC or a notebook PC.

選択装置10は、利用者端末100に対して、各種のウェブページを配信する情報処理装置であり、例えば、サーバ装置やクラウドシステム等により実現される。より具体的な例を説明すると、選択装置10は、電子商店街に関する各種のサービスを提供する情報処理装置であり、例えば、電子商取引の対象となる商品や役務(以下、「商品」と総称する。)に関する各種の情報や、商品の購入等を受付けるウェブページの配信を行う。   The selection device 10 is an information processing device that delivers various web pages to the user terminal 100, and is realized by, for example, a server device or a cloud system. To describe a more specific example, the selection device 10 is an information processing device that provides various services related to an online shopping mall, and, for example, a product or service subject to electronic commerce (hereinafter collectively referred to as “product”). We will deliver various information related to.

なお、選択装置10は、音楽や動画像等といった各種のコンテンツを配信する配信装置であってもよい。すなわち、選択装置10は、利用者端末100に対して情報の配信を行う情報配信処理を実行するのであれば、任意の情報の配信を行ってよい。   The selection device 10 may be a distribution device that distributes various contents such as music and moving images. That is, the selection device 10 may deliver arbitrary information as long as it performs the information delivery process of delivering information to the user terminal 100.

ここで、選択装置10は、利用者に対して各種のレコメンドを行う。例えば、選択装置10は、各商品に対する利用者の評価に基づいて、利用者が気に入ると予測される商品を選択し、選択した商品の購入を提案する情報、すなわち、利用者が気に入ると予測される商品の広告を利用者に対して配信する。   Here, the selection device 10 makes various recommendations to the user. For example, the selection device 10 selects, based on a user's evaluation of each product, a product that the user is expected to like, and proposes to purchase the selected product, that is, the user is expected to like the product. Deliver product advertisements to users.

〔1−1.MFについて〕
ここで、利用者に提案する情報を選択する手法として、MFと呼ばれる手法が知られている。以下、MFを用いて利用者に提案する情報を選択するサーバ装置が実行する処理の一例について説明する。なお、以下の説明では、動画像等のコンテンツのうち、利用者に対して提案するコンテンツを選択する処理の一例について説明する。
[1-1. About MF]
Here, a method called MF is known as a method for selecting information to be proposed to the user. Hereinafter, an example of a process executed by the server device that selects information to be proposed to the user using the MF will be described. It should be noted that in the following description, an example of a process of selecting content to be proposed to the user from content such as moving images will be described.

例えば、サーバ装置は、各コンテンツに対する利用者の評価を示す評価値行列Rを取得する。より具体的には、サーバ装置は、各行に各利用者を対応付け、各列に各コンテンツを対応付けた行列であって、各コンテンツに対する各利用者の評価値が格納された評価値行列Rを取得する。一般に、全ての利用者が全てのコンテンツに対して評価を行っているわけではないので、このような評価値行列Rは、一部の成分のみが入力されたスパースな行列となる。   For example, the server device acquires an evaluation value matrix R indicating the user's evaluation of each content. More specifically, the server device is a matrix in which each user is associated with each row and each content is associated with each column, and an evaluation value matrix R in which the evaluation value of each user for each content is stored. To get. Generally, not all users evaluate all the contents, and thus such an evaluation value matrix R is a sparse matrix in which only some components are input.

ここで、サーバ装置は、評価値行列Rを2つの潜在行列に分解する。例えば、サーバ装置は、評価値行列RがNu×Nj行列である場合、Nu×k行列である潜在行列Pと、k×Nj行列である潜在行列Qとを設定する。また、サーバ装置は、潜在行列Pと潜在行列Qとの成分の初期値として、正規分布に従った値をランダムに設定する。そして、サーバ装置は、潜在行列Pと潜在行列Qとの積と、評価値行列Rとの差分に基づくコスト関数の値が最小化するように、潜在行列Pと潜在行列Qとの成分を更新する。そして、サーバ装置は、コスト関数の値が十分に小さくなった場合は、潜在行列Pと潜在行列Qとの積を、復元行列R’として算出する。   Here, the server device decomposes the evaluation value matrix R into two latent matrices. For example, when the evaluation value matrix R is a Nu × Nj matrix, the server device sets a latent matrix P that is a Nu × k matrix and a latent matrix Q that is a k × Nj matrix. Further, the server device randomly sets values according to the normal distribution as initial values of the components of the latent matrix P and the latent matrix Q. Then, the server device updates the components of the latent matrix P and the latent matrix Q so that the value of the cost function based on the difference between the product of the latent matrix P and the latent matrix Q and the evaluation value matrix R is minimized. To do. Then, when the value of the cost function becomes sufficiently small, the server device calculates the product of the latent matrix P and the latent matrix Q as the restoration matrix R '.

このようにして算出された復元行列R’には、評価値行列Rに入力されていた成分のみならず、評価値行列Rに入力されていなかった成分が含まれることとなる。すなわち、復元行列R’には、各コンテンツに対する利用者の評価の予測値が含まれることとなる。そこで、サーバ装置は、復元行列R’を用いて、各コンテンツに対する利用者の評価を予測し、予測結果に基づいて、利用者に対して提案するコンテンツを選択する。   The restoration matrix R ′ thus calculated includes not only the components input to the evaluation value matrix R but also the components not input to the evaluation value matrix R. That is, the restoration matrix R'includes the predicted value of the user's evaluation of each content. Therefore, the server device predicts the evaluation of the user for each content by using the restoration matrix R ', and selects the content to be proposed to the user based on the prediction result.

しかしながら、上述したMFの技術では、各コンテンツに対する利用者の評価が変化した場合、すなわち、評価値行列Rの成分が変化した場合は、変化後の評価値行列Rを再現する潜在行列Pと潜在行列Qを再度算出する必要がある。また、新たな利用者やコンテンツが追加された場合には、評価値行列Rの行数や列数が変化するため、新たな評価値行列Rを再現する新たな潜在行列Pと潜在行列Qを再度算出する必要がある。この結果、上述したMFの技術では、計算コストが増大する恐れがある。特に、ニュースのレコメンドや、商品のレコメンド等、コンテンツに対する利用者の評価が瞬時に変化するようなサービスにおいては、映画の配信サービス等、コンテンツに対する利用者の評価があまり変化しないサービスと比較して、潜在行列Pと潜在行列Qの更新頻度が高くなってしまう。   However, in the above-described MF technique, when the user's evaluation of each content changes, that is, when the components of the evaluation value matrix R change, the latent matrix P that reproduces the changed evaluation value matrix R and the latent matrix P are reproduced. The matrix Q needs to be calculated again. Also, when a new user or content is added, the number of rows and the number of columns of the evaluation value matrix R change, so that a new latent matrix P and a latent matrix Q that reproduce the new evaluation value matrix R are created. It needs to be calculated again. As a result, the above-mentioned MF technique may increase the calculation cost. Especially in services such as news recommendations and product recommendations where the user's evaluation of the content changes instantly, compared to services such as movie distribution services where the user's evaluation of the content does not change much. , The latent matrix P and the latent matrix Q are frequently updated.

〔1−2.選択処理について〕
そこで、選択装置10は、以下の処理を実行する。まず、選択装置10は、利用者の特徴を示す情報を含む第1行列と、提案対象の特徴を示す情報を含む第2行列と、提案対象に対する利用者の評価を示す情報を含む第3行列とから算出される第4行列であって、第1行列と第4行列と第2行列との積が第3行列となるように成分の値が設定された第4行列を取得する。また、選択装置10は、提案対象の提案先となる利用者の特徴を示す情報をクエリとし、第4行列と第2行列との積の値を利用者の特徴に対する各提案対象のスコアとして、クエリとスコアとから算出される内積値の値が高い方から所定の数の提案対象を検索する。そして、選択装置10は、検索部による検索結果に基づいて、利用者に対して提案する提案対象を選択する。
[1-2. About selection processing]
Therefore, the selection device 10 executes the following processing. First, the selection device 10 includes a first matrix including information indicating characteristics of the user, a second matrix including information indicating characteristics of the proposal target, and a third matrix including information indicating evaluation of the user to the proposal target. A fourth matrix that is calculated from and in which the component values are set such that the product of the first matrix, the fourth matrix, and the second matrix becomes the third matrix is acquired. Further, the selection device 10 uses the information indicating the characteristics of the user who is the proposal destination of the proposal target as a query, and the value of the product of the fourth matrix and the second matrix as the score of each proposal target for the characteristics of the user, A predetermined number of proposal targets are searched from the one having a higher inner product value calculated from the query and the score. Then, the selection device 10 selects a proposal target to be proposed to the user based on the search result by the search unit.

〔1−3.IMC(Inductive Matrix Completion)について〕
より具体的には、選択装置10は、IMCと呼ばれる手法を用いて、評価値行列Rを再現する潜在要素行列Wを生成する。例えば、選択装置10は、第1行列として、利用者の特徴を行方向に配置したユーザ特徴行列Xを取得し、第2行列として、提案対象である商品の特徴を示す情報を列方向に配置した商品特徴行列Yを取得する。また、選択装置10は、第3行列として、商品に対する利用者の評価を示す情報を行方向に配置した評価値行列Rを取得する。
[1-3. About IMC (Inductive Matrix Completion)
More specifically, the selection device 10 uses a method called IMC to generate a latent element matrix W that reproduces the evaluation value matrix R. For example, the selection device 10 acquires, as the first matrix, the user feature matrix X in which the characteristics of the users are arranged in the row direction, and as the second matrix, the information indicating the characteristics of the product to be proposed is arranged in the column direction. The acquired product characteristic matrix Y is acquired. In addition, the selection device 10 acquires, as the third matrix, an evaluation value matrix R in which information indicating the user's evaluation of products is arranged in the row direction.

なお、利用者の特徴とは、利用者の性別、年代、利用者が使用する利用者端末100の種別、収入、住所、趣味趣向等、利用者の属性を示す各種の情報であるものとする。また、商品の特徴とは、商品がどのカテゴリに属するかや、商品の価格帯等といった商品そのものの属性を示す任意の情報を含むものとする。なお、商品の特徴には、セールの対象商品であるか否か、税込価格が表示されるか、送料無料であるか否か等といった商品の販売手法を示す情報等が含まれていてもよい。   The characteristics of the user are various information indicating the attributes of the user, such as the sex of the user, the age, the type of the user terminal 100 used by the user, the income, the address, the taste and the like. . Further, the product characteristics include arbitrary information indicating attributes of the product itself, such as which category the product belongs to, and the price range of the product. It should be noted that the characteristics of the product may include information indicating the sales method of the product such as whether or not the product is for sale, the price including tax is displayed, and whether or not shipping is free. .

そして、選択装置10は、ユーザ特徴行列Xと、潜在要素行列Wと、商品特徴行列Yとの積が、評価値行列Rを再現するように(すなわち、R≒X×W×Yとなるように)、潜在要素行列Wを第4行列として算出する。すなわち、選択装置10は、利用者の特徴と商品の特徴とに基づいて、評価値行列Rを行列分解する。   Then, the selection device 10 reproduces the evaluation value matrix R by the product of the user feature matrix X, the latent element matrix W, and the product feature matrix Y (that is, R≈X × W × Y). In the above), the latent element matrix W is calculated as the fourth matrix. That is, the selection device 10 decomposes the evaluation value matrix R into a matrix based on the characteristics of the user and the characteristics of the product.

より具体的には、選択装置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’の成分の値に基づいて、利用者に対して提案する商品を選択する。   More specifically, the selection device 10 sets a latent element matrix U having the same number of rows as the number of columns of the user feature matrix X and a latent element matrix V having the same number of columns as the number of rows of the product feature matrix Y, The product of the user characteristic matrix X, the latent element matrix U, the latent element matrix V, and the product characteristic matrix Y reproduces the evaluation value matrix R (that is, R≈X × U × V × Y). Thus, the latent element matrix U and the latent element matrix V are generated by using ALS (Alternating Least Squares) or the like. Then, the selection device 10 calculates a product of the generated latent element matrix U and the generated latent element matrix V as a latent element matrix W. Then, the selection device 10 calculates the restoration matrix R ′ from the product of the user characteristic matrix X, the latent element matrix W, and the product characteristic matrix Y, and based on the value of the component of the calculated restoration matrix R ′, Select a product to propose to the user.

このようにして算出された潜在要素行列Wは、商品に対する利用者の評価を示す情報ではなく、利用者の特徴と商品の特徴との関連性から、商品に対する利用者の評価を推定する潜在要素を示す情報となる。このため、選択装置10は、新たな利用者が追加された場合や、新たな商品が追加された場合等であっても、新たな利用者や新たな商品の属性を特定することが出来るのであれば、潜在要素行列Wを更新せずとも、評価値の算出を行うことが出来る。この結果、選択装置10は、潜在要素行列Wを生成した場合には、利用者のや商品の追加が行われた場合であっても、潜在要素行列Wを更新する計算コストの増大を防ぐことが出来る。   The latent element matrix W calculated in this way is not information indicating the user's evaluation of the product, but a latent element for estimating the user's evaluation of the product from the relationship between the user's characteristics and the product's characteristics. Is information indicating. Therefore, the selection device 10 can specify the attributes of a new user and a new product even when a new user is added or a new product is added. If so, the evaluation value can be calculated without updating the latent element matrix W. As a result, when the potential element matrix W is generated, the selection device 10 prevents an increase in the calculation cost for updating the potential element matrix W even if the user or the product is added. Can be done.

〔1−4.復元行列R’の算出について〕
ここで、選択装置10は、復元行列R’を算出する場合には、商品の提案先となる利用者の特徴を配置した行と、潜在要素行列Wと、商品特徴行列Yとの積を算出する。より具体的には、選択装置10は、利用者から商品の検索リクエストを受付けた場合や、利用者から商品の提案リクエストを受け付けた場合等、利用者からの各種リクエストを受付けた場合には、その利用者の特徴を配置した行と、潜在要素行列Wと、商品特徴行列Yとの積を算出する。
[1-4. Calculation of Restoration Matrix R ']
Here, when calculating the restoration matrix R ′, the selection device 10 calculates the product of the row in which the characteristics of the user to whom the product is proposed, the latent element matrix W, and the product characteristic matrix Y are calculated. To do. More specifically, when the selection device 10 receives various requests from the user, such as when receiving a product search request from the user or when receiving a product proposal request from the user, The product of the row in which the features of the user are arranged, the latent element matrix W, and the product feature matrix Y is calculated.

例えば、選択装置10は、ユーザ特徴行列Xに提案先となる利用者の特徴が含まれている場合には、ユーザ特徴行列Xから提案先となる利用者の特徴を含む行を抽出する。そして、選択装置10は、抽出した行と潜在要素行列Wと商品特徴行列Yとを積算することで、復元行列R’のうち、提案先となる利用者による各商品への評価を含む行を算出する。   For example, when the user feature matrix X includes the feature of the user who is the proposal destination, the selection device 10 extracts a row including the feature of the user who is the proposal destination from the user feature matrix X. Then, the selection device 10 integrates the extracted rows, the latent element matrix W, and the product feature matrix Y to obtain a row in the restoration matrix R ′ that includes the evaluation of each product by the user who is the proposal destination. calculate.

一方、選択装置10は、新たな利用者が提案先となる場合、すなわち、ユーザ特徴行列Xに提案先となる利用者の特徴が含まれていない場合は、新たな利用者の特徴を示す行を生成する。かかる行には、取得可能な全ての特徴が含まれている必要はなく、例えば、所定の初期値が成分として含まれていてもよい。そして、選択装置10は、生成した行と潜在要素行列Wと商品特徴行列Yとを積算することで、提案先となる利用者による各商品への評価を含む行を算出する。なお、選択装置10は、新たに生成した行をユーザ特徴行列Xに追加し、ユーザ特徴行列Xのうち、提案先となる利用者の特徴を示す行を抽出し、抽出した行と潜在要素行列Wと商品特徴行列Yとを積算することで、復元行列R’のうち、提案先となる利用者による各商品への評価を含む行を算出してもよい。   On the other hand, when the new user is the proposal destination, that is, when the user feature matrix X does not include the characteristics of the user who is the proposal destination, the selection device 10 displays a line indicating the characteristics of the new user. To generate. Such a line does not need to include all the features that can be acquired, and may include a predetermined initial value as a component, for example. Then, the selection device 10 calculates the row including the evaluation of each product by the user who is the proposal destination by integrating the generated row, the latent element matrix W, and the product feature matrix Y. The selection device 10 adds the newly generated row to the user feature matrix X, extracts the row showing the features of the user who is the proposal destination from the user feature matrix X, and extracts the extracted row and the latent element matrix. By multiplying W and the product feature matrix Y, a row in the restoration matrix R ′ that includes the evaluation of each product by the user who is the proposal destination may be calculated.

また、選択装置10は、新たな商品が提案対象に追加された場合は、新たな商品の特徴を示す列を商品特徴行列Yに追加すればよい。このような追加を行った場合であっても、選択装置10は、提案先となる利用者の特徴を示す行と潜在要素行列Wと商品特徴行列Yとを積算することで、復元行列R’のうち、提案先となる利用者による各商品への評価を含む行を算出することが出来る。   Further, when a new product is added to the proposal target, the selection device 10 may add a column indicating the characteristics of the new product to the product feature matrix Y. Even when such addition is performed, the selection device 10 integrates the row indicating the feature of the user who is the proposal destination, the latent element matrix W, and the product feature matrix Y to obtain the restoration matrix R ′. Among them, the line including the evaluation of each product by the user who is the proposal destination can be calculated.

このように、選択装置10は、提案先となる利用者の特徴を示す行と、潜在要素行列Wと、商品特徴行列Yとの積として得られる行を、提案先となる利用者による各商品への評価を含む行、すなわち、復元行列R’のうち提案先となる利用者と対応する行として算出する。このため、選択装置10は、利用者の追加や商品の追加があった場合にも、潜在要素行列Wをそのまま使用することが出来る。このため、選択装置10は、利用者の評価を推定する際の計算コストの増大を防ぐことが出来る。   In this way, the selection device 10 obtains a row obtained as a product of the feature of the user who is the proposal destination, the latent element matrix W, and the product feature matrix Y by each product of the user who is the proposal destination. Is calculated as a row including the evaluation to, that is, a row corresponding to the user who is the proposal destination in the restoration matrix R ′. Therefore, the selection device 10 can use the latent element matrix W as it is even when a user or a product is added. Therefore, the selection device 10 can prevent an increase in calculation cost when estimating the evaluation of the user.

〔1−5.WANDについて〕
ここで、利用者が興味を有していると予測される商品の提案を行う場合、選択装置10は、以下の処理を実行する。まず、選択装置10は、提案先となる利用者の特徴を示す行と潜在要素行列Wと商品特徴行列Yとを積算することで、提案先となる利用者による各商品への評価を示す値を算出する。そして、選択装置10は、算出した値が高い方から所定の数の商品を提案対象として選択し、選択した商品に関する情報を利用者に配信する。しかしながら、電子商取引の対象となる商品の数によっては、迅速に提案対象となる商品を検索できない場合がある。例えば、電子商取引の対象となる商品が億のオーダーで存在する場合等には、提案対象を検索する際の計算コストが増大してしまう。
[1-5. About WAND]
Here, in the case of proposing a product that the user is expected to be interested in, the selection device 10 executes the following processing. First, the selection device 10 integrates a row indicating the characteristics of the user who is the proposal destination, the latent element matrix W, and the product characteristic matrix Y to obtain a value indicating the evaluation of each product by the user who is the proposal destination. To calculate. Then, the selection device 10 selects a predetermined number of products from the higher calculated value as a proposal target, and distributes information about the selected product to the user. However, depending on the number of products targeted for electronic commerce, it may not be possible to quickly search for products targeted for proposal. For example, if there are hundreds of millions of products for electronic commerce, the calculation cost for searching the proposal target will increase.

そこで、選択装置10は、いわゆるWANDアルゴリズムを用いて、提案対象となる商品の検索を行う。具体的には、選択装置10は、潜在要素行列Wと商品特徴行列Yとの積である積算行列WYをあらかじめ算出する。そして、選択装置10は、提供先となる利用者の特徴をクエリとし、積算行列WYの各成分の値をクエリに対する各商品のスコアとして、クエリとスコアとの内積の値が大きい方から順に所定の数の商品を選択する。すなわち、選択装置10は、提案先となる利用者の特徴をクエリと見做し、積算行列WYをインデックスと見做したWANDアルゴリズムを用いて、利用者の興味がより大きいと予測される商品を検索する。   Therefore, the selection device 10 uses a so-called WAND algorithm to search for products to be proposed. Specifically, the selection device 10 previously calculates an integration matrix WY which is a product of the latent element matrix W and the product feature matrix Y. Then, the selection device 10 determines the characteristics of the user who is the provision destination as a query, and sets the value of each component of the integration matrix WY as the score of each product for the query, and determines the inner product of the query and the score in descending order. Select the number of products. That is, the selection device 10 considers the characteristics of the user who is the proposal destination as a query, and uses the WAND algorithm that considers the integration matrix WY as an index, and selects the product for which the user's interest is predicted to be greater. Search for.

このようなWANDアルゴリズムを採用した場合、それまでに算出された内積値のうち、値が大きいものから所定の数の内積値が候補として保持され、クエリの値とスコアの値とに基づいて、候補に届かない内積値の算出をスキップすることが出来る。このため、選択装置10は、商品に対する利用者の評価値を算出する際の計算コストを削減することができる。なお、選択装置10は、選択対象のクエリに対するスコアを用いて、クエリとスコアとの内積の値が大きい方から順に所定の数の商品を選択するいわゆるTop−k retrievalアルゴリズムであれば、WANDアルゴリズム以外にも、任意のアルゴリズムを採用してよい。   When such a WAND algorithm is adopted, among the inner product values calculated up to that point, a predetermined number of inner product values are retained as candidates, and based on the query value and the score value, It is possible to skip the calculation of the inner product value that does not reach the candidate. Therefore, the selection device 10 can reduce the calculation cost for calculating the evaluation value of the user for the product. Note that the selection device 10 is a WAND algorithm if it is a so-called Top-k retrieval algorithm that selects a predetermined number of products in order from the one with a larger inner product of the query and the score using the score for the query to be selected. Besides, any algorithm may be adopted.

〔1−6.選択処理の適用対象について〕
なお、上述した例では、選択装置10は、電子商取引の対象となる商品の特徴を示す商品特徴行列Yと、電子商取引の対象となる商品に対する各利用者の評価を示す評価値行列Rとを用いて、潜在要素行列Wを生成し、生成した潜在要素行列Wを用いて、提案先となる利用者の各商品に対する評価値を算出した。すなわち、選択装置10は、電子商取引の対象となる商品を提案対象とした。しかしながら、実施形態は、これに限定されるものではない。
[1-6. About the target of selection processing]
In the example described above, the selection device 10 sets the product feature matrix Y indicating the characteristics of the product targeted for electronic commerce and the evaluation value matrix R indicating the evaluation of each user for the product targeted for electronic commerce. The latent element matrix W is generated using the latent element matrix W, and the generated latent element matrix W is used to calculate the evaluation value for each product of the user who is the proposal destination. That is, the selection device 10 targeted the product that is the target of the electronic commerce. However, the embodiment is not limited to this.

例えば、選択装置10は、ニュース、動画像、静止画像、音楽、マイクロブログ等の任意のコンテンツを提案対象としてもよい。より具体的には、選択装置10は、配信対象となる各コンテンツに対する利用者の評価を含む評価値行列Rと、ユーザ特徴行列Xと、コンテンツの特徴を含む商品特徴行列Yとを用いて、潜在要素行列Wを生成し、ユーザ特徴行列Xと、潜在要素行列Wと、商品特徴行列Yとを用いて、コンテンツの提案先となる利用者の各コンテンツに対する評価を推定し、推定結果に基づいて、利用者に対して提案するコンテンツを選択してもよい。このように、選択装置10は、上述した選択処理をコンテンツの選択に適用することで、利用者に対してコンテンツのレコメンドを実現してもよい。   For example, the selection device 10 may target any content such as news, moving images, still images, music, microblogs, etc. More specifically, the selection device 10 uses an evaluation value matrix R including the user's evaluation of each content to be distributed, a user feature matrix X, and a product feature matrix Y including the feature of the content, The latent element matrix W is generated, the user characteristic matrix X, the latent element matrix W, and the product characteristic matrix Y are used to estimate the evaluation of each content of the user to whom the content is proposed, and based on the estimation result. Then, the content to be proposed to the user may be selected. In this way, the selection device 10 may realize the recommendation of the content to the user by applying the selection processing described above to the selection of the content.

〔1−7.選択処理の一例について〕
次に、図1を用いて、選択装置10が実行する選択処理の一例について説明する。まず、選択装置10は、IMCを用いて、スパースな評価値行列Rと、ユーザ特徴行列Xと、商品特徴行列Yとに基づいて、潜在要素行列Wを算出する(ステップS1)。
[1-7. Regarding an example of selection processing]
Next, an example of the selection process executed by the selection device 10 will be described with reference to FIG. First, the selection device 10 uses IMC to calculate the latent element matrix W based on the sparse evaluation value matrix R, the user feature matrix X, and the product feature matrix Y (step 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」に属し、「送料無料」である旨を示す。   For example, in the example illustrated in FIG. 1, the selection device 10 acquires, as the evaluation value matrix R, a matrix M10 that includes evaluation values for the products A to E of the users 1 to 5. For example, in the example shown in FIG. 1, the matrix M10 indicates that “user 1” has an evaluation of “5” for the product B and “2” for the evaluation of the “product D”. Further, the selection device 10 acquires, as the user feature matrix X, a matrix M20 including values indicating the features of “users 1 to 5”. For example, in the example illustrated in FIG. 1, in the matrix M20, “rows 1 to 5” are associated with each row, user characteristics are associated with each column, and each row is associated with each user. Among these, "1" is stored in the column associated with the feature of the user. For example, in the example illustrated in FIG. 1, the matrix M20 indicates that “user 1” is a “female” in the “20s” and that a “PC (Personal Computer)” is used as the user terminal 100. . Further, in the example illustrated in FIG. 1, the selection device 10 acquires, as the product feature matrix Y, a matrix M40 in which the features of the products A to E are arranged in the column direction. For example, in the example illustrated in FIG. 1, the matrix M40 indicates that “product A” belongs to “category 1” and “free shipping”.

このような行列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’を生成することが出来る。   When acquiring such matrices M10, M20, and M40, the selection device 10 sets the values of the respective components of the matrix M30 so that the product of the matrix M20, the matrix M30, and the matrix M40 becomes the matrix M10. To calculate. More specifically, the selection device 10 calculates the value of each component of the matrix M30 using a method such as ALS. Then, the selection device 10 sets the calculated matrix M30 as the latent element matrix W. Subsequently, the selection device 10 calculates in advance a matrix M60 that will be the integration matrix WY from the latent element matrix W and the product feature matrix Y (step S2). That is, the selection device 10 previously calculates an integration matrix WY (matrix M60) that is a product of the latent element matrix W (matrix M30) and the product feature matrix Y (matrix M40). The selection device 10 can generate the restoration matrix R ′ by calculating the product of the user feature matrix X and such an integration matrix WY.

ここで、選択装置10は、利用者U01が使用する利用者端末100から商品の検索要求を受信したものとする(ステップS3)。このような場合、選択装置10は、WANDアルゴリズムを用いて、利用者U01による評価値が高いと推定される商品を特定する(ステップS4)。例えば、選択装置10は、ユーザ特徴行列Xの中から、利用者U01が対応付けられた行(例えば、「利用者2」の特徴を示す情報を含む行)を抽出する。また、選択装置10は、ユーザ特徴行列Xから抽出した行をクエリとし、積算行列WYを商品のインデックスとする(ステップS5)。ここで、ユーザ特徴行列Xと積算行列WYとの積が、評価値行列R(復元行列R’)となることを考えると、積算行列WYには、利用者の特徴ごとに、その利用者の特徴に対する各商品のスコアが含まれていると見做すことができ、評価値の値は、クエリとスコアとの内積値であると見做すことが出来る。   Here, it is assumed that the selection device 10 receives a product search request from the user terminal 100 used by the user U01 (step S3). In such a case, the selection device 10 uses the WAND algorithm to identify the product estimated to have a high evaluation value by the user U01 (step S4). For example, the selection device 10 extracts, from the user characteristic matrix X, a row associated with the user U01 (for example, a row including information indicating characteristics of “user 2”). In addition, the selection device 10 uses the row extracted from the user characteristic matrix X as a query and the integration matrix WY as the product index (step S5). Here, considering that the product of the user feature matrix X and the integration matrix WY is the evaluation value matrix R (reconstruction matrix R ′), the integration matrix WY includes the user's It can be considered that the score of each product for the feature is included, and the value of the evaluation value can be regarded as an inner product value of the query and the score.

そこで、選択装置10は、WANDアルゴリズムを用いて、クエリとスコアとの内積値が大きい方から所定の数の商品を特定する(ステップS6)。例えば、選択装置10は、「商品A」の内積値が「内積値#1」であり、「商品B」の内積値が「内積値#1」よりも大きい「内積値#2」であり、「商品C」の内積値が「内積値#2」よりも大きい「内積値#3」である場合は、「商品C」と「商品B」とを選択する。そして、選択装置10は、商品の検索結果とともに、評価値が高い商品の広告、すなわち、「商品C」と「商品B」との広告を利用者端末100へと送信し、表示させる(ステップS7)。この結果、選択装置10は、IMCを用いて利用者U01の評価が高いと推定された商品の広告を、利用者U01に対して提供することが出来る。   Therefore, the selection device 10 uses the WAND algorithm to specify a predetermined number of products from the one having the larger inner product value of the query and the score (step S6). For example, in the selection device 10, the inner product value of “product A” is “inner product value # 1”, and the inner product value of “product B” is “inner product value # 2” larger than “inner product value # 1”, When the inner product value of "product C" is "inner product value # 3" larger than "inner product value # 2", "product C" and "product B" are selected. Then, the selection device 10 transmits an advertisement of a product having a high evaluation value, that is, an advertisement of “product C” and “product B” together with the search result of the product to the user terminal 100 for display (step S7). ). As a result, the selection device 10 can provide the user U01 with an advertisement of a product estimated to be highly evaluated by the user U01 using the IMC.

〔2.選択装置の構成〕
以下、上記した選択処理を実現する選択装置10が有する機能構成の一例について説明する。図2は、実施形態に係る選択装置の構成例を示す図である。図2に示すように、選択装置10は、通信部20、記憶部30、および制御部40を有する。
[2. Configuration of selection device]
Hereinafter, an example of a functional configuration of the selection device 10 that implements the above selection process will be described. FIG. 2 is a diagram illustrating a configuration example of the selection device according to the embodiment. As shown in FIG. 2, the selection device 10 includes a communication unit 20, a storage unit 30, and a control unit 40.

通信部20は、例えば、NIC(Network Interface Card)等によって実現される。そして、通信部20は、ネットワークNと有線または無線で接続され、利用者端末100との間で情報の送受信を行う。   The communication unit 20 is realized by, for example, a NIC (Network Interface Card) or the like. Then, the communication unit 20 is connected to the network N by wire or wirelessly and transmits / receives information to / from the user terminal 100.

記憶部30は、例えば、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。また、記憶部30は、商品データベース31、評価値データベース32、ユーザデータベース33、潜在要素データベース34、およびインデックスデータベース35(以下、「各データベース31〜35」と総称する場合がある。)を記憶する。   The storage unit 30 is realized by, for example, a semiconductor memory device such as a RAM (Random Access Memory) or a flash memory (Flash Memory), or a storage device such as a hard disk or an optical disk. The storage unit 30 also stores a product database 31, an evaluation value database 32, a user database 33, a latent element database 34, and an index database 35 (hereinafter, may be collectively referred to as “each database 31 to 35”). .

以下、図3〜図6を用いて、各データベース31〜35に登録される情報の一例について説明する。商品データベース31には、商品特徴行列Yの各成分が登録されている。例えば、図3は、実施形態に係る商品データベースに登録される情報の一例を示す図である。図3に示すように、商品データベース31には、電子商取引の対象となる商品の特性である「商品属性」が各行に対応付けられており、商品の識別子である「商品ID(Identifier)」が各列に対応付けられている。そして、商品データベース31には、各商品が有する特徴と対応するセルに、成分「1」が登録されている。   Hereinafter, an example of information registered in each of the databases 31 to 35 will be described with reference to FIGS. 3 to 6. Each component of the product characteristic matrix Y is registered in the product database 31. For example, FIG. 3 is a diagram showing an example of information registered in the product database according to the embodiment. As shown in FIG. 3, in the product database 31, the “product attribute”, which is the characteristic of the product to be electronically traded, is associated with each row, and the “product ID (Identifier)” that is the product identifier is stored. It is associated with each column. In the product database 31, the component “1” is registered in the cell corresponding to the feature of each product.

例えば、図3に示す例では、商品データベース31には、商品ID「A」が対応付けられた列のうち、商品属性「セール」、「カテゴリ2」、「税込」が対応付けられたセルに「0」が格納され、商品属性「カテゴリ1」、「送料無料」が対応付けられたセルに「1」が格納されている。かかる情報は、商品ID「A」が示す商品が、商品属性「カテゴリ1」に属する商品であり、送料が無料である旨を示している。   For example, in the example shown in FIG. 3, in the product database 31, the cells associated with the product attributes “sale”, “category 2”, and “tax included” in the columns associated with the product ID “A”. "0" is stored, and "1" is stored in the cell in which the product attributes "category 1" and "free shipping" are associated. This information indicates that the product indicated by the product ID “A” is a product belonging to the product attribute “category 1” and the shipping fee is free.

評価値データベース32は、評価値行列Rの各成分が登録されている。例えば、図4は、実施形態に係る評価値データベースに登録される情報の一例を示す図である。図4に示すように、評価値データベース32には、各利用者を識別する「利用者ID」が各行に対応付けられており、「商品ID」が各列に対応付けられている。そして、評価値データベース32には、各利用者が各商品に対して行った評価の内容を示す値が対応するセルに登録されている。   Each component of the evaluation value matrix R is registered in the evaluation value database 32. For example, FIG. 4 is a diagram showing an example of information registered in the evaluation value database according to the embodiment. As shown in FIG. 4, in the evaluation value database 32, a "user ID" for identifying each user is associated with each row, and a "product ID" is associated with each column. Then, in the evaluation value database 32, the value indicating the content of the evaluation performed by each user on each product is registered in the corresponding cell.

例えば、図4に示す例では、評価値データベース32には、利用者ID「1」が対応付けられた行のうち、商品ID「B」が対応付けられたセルに「5」が登録され、商品ID「D」が対応付けられたセルに「2」が登録されている。かかる情報は、利用者ID「1」が示す利用者が、商品ID「B」が示す商品に評価値「5」を付与し、商品ID「D」が示す商品に評価値「2」を付与した旨を示す。なお、評価値データベース32のうち、利用者が評価を行っていない商品と対応するセルには、評価値が登録されていない。   For example, in the example illustrated in FIG. 4, in the evaluation value database 32, “5” is registered in the cell associated with the product ID “B” in the row associated with the user ID “1”, “2” is registered in the cell associated with the product ID “D”. In this information, the user indicated by the user ID "1" gives the product indicated by the product ID "B" an evaluation value "5", and the product indicated by the product ID "D" gives the evaluation value "2". It shows that it did. In the evaluation value database 32, the evaluation value is not registered in the cell corresponding to the product not evaluated by the user.

ユーザデータベース33は、ユーザ特徴行列Xの各成分が登録されている。例えば、図5は、実施形態に係るユーザデータベースに登録される情報の一例を示す図である。図5に示すように、ユーザデータベース33には、各利用者を識別する「利用者ID」が各行に対応付けられており、「男」や「女」等といった利用者の属性である「利用者属性」が各列に対応付けられている。そして、ユーザデータベース33には、各利用者が有する特徴と対応するセルに、成分「1」が登録されている。   Each component of the user feature matrix X is registered in the user database 33. For example, FIG. 5 is a diagram showing an example of information registered in the user database according to the embodiment. As shown in FIG. 5, in the user database 33, a "user ID" for identifying each user is associated with each row, and the user attribute "use" such as "male" or "female" is used. Person attribute "is associated with each column. In the user database 33, the component “1” is registered in the cell corresponding to the feature of each user.

例えば、図5に示す例では、ユーザデータベース33には、利用者ID「1」が対応付けられた行のうち、利用者属性「女」、「20代」、「PC」が対応付けられたセルに「1」が登録され、他のセルに「0」が登録されている。係る情報は、利用者ID「1」が示す利用者が、20代の女性であり、利用者端末100としてPCを使用している旨を示す。   For example, in the example shown in FIG. 5, the user database 33 is associated with the user attributes “female”, “20s”, and “PC” among the rows associated with the user ID “1”. "1" is registered in the cell, and "0" is registered in the other cells. The information indicates that the user indicated by the user ID “1” is a woman in her twenties and is using a PC as the user terminal 100.

潜在要素データベース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を再現するように求められた値が登録されることとなる。   In the latent element database 34, the value of each component of the latent element matrix W generated from the user characteristic matrix X, the product characteristic matrix Y, and the evaluation value matrix R is registered. For example, FIG. 6 is a diagram showing an example of information registered in the latent element database according to the embodiment. As shown in FIG. 6, in the latent element database 34, “user attribute” is associated with each row, and “product attribute” is associated with each column. Then, in the latent element database 34, the values “value # 1” to “value # 11” of each component calculated from the user characteristic matrix X, the product characteristic matrix Y, and the evaluation value matrix R are registered. . In the example shown in FIG. 6, conceptual values such as “value # 1” to “value # 11” are described, but in reality, the latent element database 34 includes the user feature matrix X and the product feature matrix. Numerical values calculated from Y and the evaluation value matrix R are registered. More specifically, in the latent element database 34, the value of the product of the user characteristic matrix X, the latent element matrix W, and the product characteristic matrix Y is the value obtained so as to reproduce the evaluation value matrix R. It will be registered.

インデックスデータベース35には、積算行列WYの各成分の値が登録されている。すなわち、インデックスデータベース35には、利用者属性ごとに、その利用者属性に対する各商品の関連性を示すスコアの値が登録されることとなる。例えば、インデックスデータベース35には、「User FeatureID1:<ItemID,Score>,…」といった形式のデータが登録されることとなる。ここで、「User FeatureID1」とは、利用者属性を示す情報である。また、「ItemID1」とは、商品の識別子である。また、「Score」とは、対応付けられた利用者属性に対し、対応付けられた商品の識別子が示す商品の関連性を示すスコアの値である。   In the index database 35, the value of each component of the integration matrix WY is registered. That is, in the index database 35, the value of the score indicating the relevance of each product to the user attribute is registered for each user attribute. For example, in the index database 35, data in a format such as “User Feature ID1: <ItemID, Score>, ...” Is registered. Here, "User Feature ID1" is information indicating a user attribute. Moreover, "ItemID1" is an identifier of a product. Further, “Score” is a score value indicating the relevance of the product indicated by the associated product identifier with respect to the associated user attribute.

図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)等の集積回路により実現されてもよい。   Returning to FIG. 2, the description will be continued. The control unit 40 is a controller, and various programs stored in a storage device inside the selection device 10 include a RAM and the like by a processor such as a CPU (Central Processing Unit) and an MPU (Micro Processing Unit). It is realized by being executed as a work area. The control unit 40 is a controller, and may be realized by an integrated circuit such as an ASIC (Application Specific Integrated Circuit) or an FPGA (Field Programmable Gate Array).

図2に示すように、制御部40は、要求受付部41、取得部42、算出部43、検索部44、選択部45、配信部46、および生成部47を有する。   As shown in FIG. 2, the control unit 40 includes a request reception unit 41, an acquisition unit 42, a calculation unit 43, a search unit 44, a selection unit 45, a distribution unit 46, and a generation unit 47.

要求受付部41は、利用者U01から商品の検索要求を受付ける。より具体的には、要求受付部41は、利用者U01が所望する商品の検索クエリを受付ける。このような場合、要求受付部41は、検索クエリと合致する商品を商品データベース31から検索し、検索結果を示すウェブページを生成する。   The request receiving unit 41 receives a product search request from the user U01. More specifically, the request receiving unit 41 receives a search query for a product desired by the user U01. In such a case, the request receiving unit 41 searches the product database 31 for a product matching the search query, and generates a web page showing the search result.

取得部42は、利用者の特徴を示す情報を行方向に配置したユーザ特徴行列Xと、電子商取引の対象となる商品の特徴を示す情報を列方向に配置した商品特徴行列Yと、商品に対する利用者の評価を示す情報を行方向に配置した評価値行列Rとから算出される潜在要素行列Wであって、ユーザ特徴行列Xと潜在要素行列Wと商品特徴行列Yとの積が評価値行列Rを再現するように、各成分の値が設定された潜在要素行列Wを取得する。より具体的には、取得部42は、後述する生成部47によって生成された潜在要素行列Wを、潜在要素データベース34から読み出す。   The acquisition unit 42 has a user feature matrix X in which information indicating characteristics of users is arranged in a row direction, a product feature matrix Y in which information indicating characteristics of a product to be electronically traded is arranged in a column direction, and A latent element matrix W calculated from an evaluation value matrix R in which information indicating user evaluations is arranged in a row direction, and a product of a user feature matrix X, a latent element matrix W, and a product feature matrix Y is an evaluation value. The latent element matrix W in which the value of each component is set is obtained so as to reproduce the matrix R. More specifically, the acquisition unit 42 reads the latent element matrix W generated by the generation unit 47 described below from the latent element database 34.

算出部43は、商品の提案先となる利用者U01の特徴を示す情報を含む行と、潜在要素行列Wと、商品特徴行列Yとの積から、利用者U01の各商品に対する評価を示す値を算出する。例えば、算出部43は、利用者U01と対応する行をユーザ特徴行列Xから抽出し、抽出した行と、潜在要素行列Wと、商品特徴行列Yとの積を算出する。すなわち、算出部43は、商品の提案先となる利用者U01の各商品に対する評価を推定する。   The calculation unit 43 calculates a value indicating the evaluation of each product of the user U01 from the product of the row including the information indicating the characteristics of the user U01 who is the proposal destination of the product, the latent element matrix W, and the product characteristic matrix Y. To calculate. For example, the calculation unit 43 extracts a row corresponding to the user U01 from the user characteristic matrix X, and calculates the product of the extracted row, the latent element matrix W, and the product characteristic matrix Y. That is, the calculation unit 43 estimates the evaluation of each product by the user U01 who is the proposal destination of the product.

ここで、商品の数が多い場合、商品の提案先となる利用者U01の特徴を示す情報を含む行と、潜在要素行列Wと、商品特徴行列Yとの積から、利用者U01の各商品に対する評価を示す値を算出するための計算コストが増大してしまう。そこで、算出部43は、検索部44と連動して動作することで、各商品に対する評価を示す値を算出するための計算コストを削減する。   Here, when the number of products is large, each product of the user U01 is calculated from the product of the row including the information indicating the characteristics of the user U01 who is the proposal destination of the product, the latent element matrix W, and the product feature matrix Y. Therefore, the calculation cost for calculating the value indicating the evaluation is increased. Therefore, the calculation unit 43 operates in conjunction with the search unit 44 to reduce the calculation cost for calculating the value indicating the evaluation of each product.

例えば、算出部43は、潜在要素行列Wと商品特徴行列Yとの積である積算行列WYをあらかじめ算出し、算出した積算行列WYを商品のインデックスとして、インデックスデータベース35に登録する。一方、検索部44は、利用者U01の特徴を示す情報をクエリとし、潜在要素行列Wと商品特徴行列Yとの積の値を、利用者U01の特徴に対する各商品のスコアとして、クエリとスコアとから算出される内積値の値が高い方から所定の数の商品を検索する。より具体的には、検索部44は、WANDアルゴリズムを用いて、クエリとスコアとから算出される内積値の値が高い方から所定の数の提案対象を検索する。   For example, the calculation unit 43 calculates in advance an integration matrix WY which is the product of the latent element matrix W and the product feature matrix Y, and registers the calculated integration matrix WY in the index database 35 as a product index. On the other hand, the search unit 44 uses the information indicating the characteristics of the user U01 as a query, and the value of the product of the latent element matrix W and the product characteristic matrix Y as the score of each product for the characteristics of the user U01. A predetermined number of products are searched from the one having a higher inner product value calculated from and. More specifically, the search unit 44 uses the WAND algorithm to search for a predetermined number of proposal targets in descending order of the inner product value calculated from the query and the score.

後述する説明で明らかとなるように、WANDアルゴリズムを用いて、クエリとスコアとから算出される内積値の値が高い方から所定の数の提案対象を検索する場合、計算対象となるクエリとスコアとの値が、候補として保持した内積値の値よりも少ない場合は、内積値の計算をスキップすることとなる。このため、検索部44は、WANDアルゴリズムを用いて、クエリとスコアとから算出される内積値の値が、候補として保持した内積値の値よりも大きくなると判断した場合にのみ、算出部43に内積値の算出を行わせる。この結果、算出部43、検索部44は、各商品に対する評価を示す値を算出するための計算コストを削減することができる。   As will be apparent from the description below, when a predetermined number of proposal targets are searched from the higher inner product value calculated from the query and the score using the WAND algorithm, the query and the score to be calculated are calculated. If the values of and are smaller than the value of the inner product value held as a candidate, the calculation of the inner product value will be skipped. For this reason, the search unit 44 uses the WAND algorithm, and only when it determines that the value of the inner product value calculated from the query and the score is larger than the value of the inner product value held as a candidate, the search unit 44 causes the calculation unit 43 to perform the calculation. Let the inner product value be calculated. As a result, the calculation unit 43 and the search unit 44 can reduce the calculation cost for calculating the value indicating the evaluation for each product.

選択部45は、算出部43によって算出された値に基づいて、利用者U01に対して提案する提案対象を選択する。例えば、選択部45は、クエリとスコアから算出される内積値の値が高い方から所定の数の商品の通知を検索部44から受付ける。このような場合、選択部45は、ターゲティング等の技術を用いて、検索部44から受付けた商品の中から、利用者U01に対して実際に配信する商品を選択する。   The selection unit 45 selects a proposal target to be proposed to the user U01 based on the value calculated by the calculation unit 43. For example, the selection unit 45 receives, from the search unit 44, notifications of a predetermined number of products in descending order of the inner product value calculated from the query and the score. In such a case, the selection unit 45 selects a product to be actually distributed to the user U01 from the products received from the search unit 44, using a technique such as targeting.

配信部46は、選択された商品を利用者U01に対して提案する情報、すなわち、選択された商品の広告を利用者U01に対して配信する。例えば、配信部46は、選択部45が選択した商品を広告するための広告を取得する。そして、配信部46は、要求受付部41が生成したウェブページ中に取得した広告を配置し、広告を配置したウェブページを利用者端末100へと送信する。この結果、選択装置10は、利用者U01が気に入る可能性が高い商品の広告を利用者U01へと提供することが出来る。   The distribution unit 46 distributes information that proposes the selected product to the user U01, that is, the advertisement of the selected product to the user U01. For example, the distribution unit 46 acquires an advertisement for advertising the product selected by the selection unit 45. Then, the distribution unit 46 arranges the acquired advertisement in the web page generated by the request reception unit 41 and transmits the web page on which the advertisement is arranged to the user terminal 100. As a result, the selection device 10 can provide the user U01 with an advertisement of a product that the user U01 is likely to like.

生成部47は、ユーザ特徴行列Xと、潜在要素行列Wと、商品特徴行列Yとの積が、評価値行列Rに近づくように、各成分の値が設定された潜在要素行列Wを生成する。例えば、生成部47は、ログサーバ等から、各商品に対する利用者の評価を示す値を取得し、取得した値に基づいて評価値行列Rを生成する。そして、生成部47は、生成した評価値行列Rを評価値データベース32に登録する。また、生成部47は、図示を省略した管理サーバ等から、利用者の特徴を収集し、収集した特徴に基づいて、ユーザ特徴行列Xを生成する。そして、生成部47は、生成したユーザ特徴行列Xをユーザデータベース33に登録する。また、生成部47は、電子商取引の対象となる商品を管理する管理サーバ等から、商品の特徴を収集し、収集した特徴に基づいて、商品特徴行列Yを生成する。そして、生成部47は、生成した商品特徴行列Yを商品データベース31に登録する。   The generation unit 47 generates the latent element matrix W in which the value of each component is set such that the product of the user characteristic matrix X, the latent element matrix W, and the product characteristic matrix Y approaches the evaluation value matrix R. . For example, the generation unit 47 acquires a value indicating the user's evaluation of each product from the log server or the like, and generates the evaluation value matrix R based on the acquired value. Then, the generation unit 47 registers the generated evaluation value matrix R in the evaluation value database 32. In addition, the generation unit 47 collects the characteristics of the user from a management server (not shown) or the like, and generates the user characteristic matrix X based on the collected characteristics. Then, the generation unit 47 registers the generated user characteristic matrix X in the user database 33. Further, the generation unit 47 collects the characteristics of the product from the management server or the like that manages the product that is the target of the electronic commerce, and generates the product characteristic matrix Y based on the collected characteristics. Then, the generation unit 47 registers the generated product characteristic matrix Y in the product database 31.

また、生成部47は、ALS等のアルゴリズムを用いて、ユーザ特徴行列Xと、商品特徴行列Yと、評価値行列Rとから、潜在要素行列Wを生成する。例えば、図7は、実施形態にかかる選択装置が潜在要素行列を算出する処理の一例について説明する図である。例えば、生成部47は、ALS等のアルゴリズムを用いた場合、潜在要素行列Wを単体で算出するのが困難となる。そこで、生成部47は、図7に示すように、潜在要素行列Wを、潜在要素行列Uと潜在要素行列Vとの積であると見做す。   In addition, the generation unit 47 uses an algorithm such as ALS to generate a latent element matrix W from the user characteristic matrix X, the product characteristic matrix Y, and the evaluation value matrix R. For example, FIG. 7 is a diagram illustrating an example of processing in which the selection device according to the embodiment calculates a latent element matrix. For example, when the algorithm such as ALS is used, the generating unit 47 has difficulty calculating the latent element matrix W by itself. Therefore, the generation unit 47 regards the latent element matrix W as the product of the latent element matrix U and the latent element matrix V, as shown in FIG. 7.

例えば、利用者の特徴の数を「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に登録する。   For example, when the number of characteristics of the user is “d1” and the number of characteristics of the product is “d2”, the latent element matrix W is a d1 × d2 matrix. Therefore, the generation unit 47 regards the latent element matrix W as a product of a matrix M31 that is a d1 × k matrix, that is, a latent element matrix U and a matrix M32 that is a k × d2 matrix, that is, a latent element matrix V. I'm sorry. Here, k is an arbitrary integer. Then, the generation unit 47 uses an algorithm such as ALS so that the product of the user feature matrix X, the latent element matrix U, the latent element matrix V, and the product feature matrix Y reproduces the evaluation value matrix R. Then, the value of each component of the latent element matrix U and the latent element matrix V is calculated. Then, the generation unit 47 calculates the product of the latent element matrix U and the latent element matrix V as the latent element matrix W, and registers the calculated latent element matrix W in the latent element database 34.

〔3.選択装置が実行する処理の一例〕
次に、図8を用いて、新たな利用者の追加があった場合に、利用者の各商品に対する評価値を推定する処理の一例について説明する。図8は、新規利用者の追加時に実行する処理の一例を示す図である。例えば、図8に示す例では、利用者ID「6」が示す利用者の追加があった場合、評価値行列Rには、利用者ID「6」が示す利用者と対応する行として、各成分の値が入力されていない行M11が追加される。また、ユーザ特徴行列Xには、利用者ID「6」が示す利用者と対応する行として、利用者ID「6」が示す利用者の属性を示す成分が入力された行M21が追加されることとなる。
[3. Example of processing executed by selection device]
Next, with reference to FIG. 8, an example of a process of estimating the evaluation value of each product of the user when a new user is added will be described. FIG. 8 is a diagram illustrating an example of processing executed when a new user is added. For example, in the example illustrated in FIG. 8, when the user indicated by the user ID “6” is added, the evaluation value matrix R includes rows corresponding to the user indicated by the user ID “6”. A row M11 in which the component value is not input is added. Further, in the user feature matrix X, as a row corresponding to the user indicated by the user ID “6”, a row M21 in which a component indicating the attribute of the user indicated by the user ID “6” is input is added. It will be.

そして、選択装置10は、利用者ID「6」が示す利用者から商品の検索要求を受信した場合には、ユーザ特徴行列Xのうち、利用者ID「6」が示す利用者と対応する行M21と、潜在要素行列Wと、商品特徴行列Yとの積を算出することで、評価値行列Rのうち、利用者ID「6」が示す利用者と対応する行M11に入力されることとなる値を算出する。そして、選択装置10は、算出した値に基づいて、利用者ID「6」が示す利用者に対して提案する商品を選択し、選択した商品の広告を検索結果とともに配信する。   Then, when the selection device 10 receives the product search request from the user indicated by the user ID “6”, the row corresponding to the user indicated by the user ID “6” in the user feature matrix X. By calculating the product of M21, the latent element matrix W, and the product feature matrix Y, it is input to the row M11 corresponding to the user indicated by the user ID “6” in the evaluation value matrix R. Is calculated. Then, the selection device 10 selects a product to be proposed to the user indicated by the user ID “6” based on the calculated value, and delivers the advertisement of the selected product together with the search result.

このように、選択装置10は、ユーザ特徴行列Xの全体ではなく、商品の提案先となる利用者の特徴を示す行と、潜在要素行列Wと、商品特徴行列Yとの積を算出することで、商品の提案先となる利用者の各商品に対する評価値を推定する。このため、選択装置10は、新たな利用者による各商品への評価値が得られる前であっても、潜在要素行列Wが算出済であり、新たな利用者の属性を特定することが出来るのであれば、商品の提案先となる利用者の各商品に対する評価値を推定することができる。この結果、選択装置10は、利用者の追加が行われた場合にも、潜在要素行列Wの再計算を不要とするので、計算コストの増大を防ぐことができる。   In this way, the selection device 10 does not calculate the entire user characteristic matrix X, but calculates the product of the row indicating the characteristic of the user who is the proposal destination of the commodity, the latent element matrix W, and the commodity characteristic matrix Y. Then, the evaluation value for each product of the user to whom the product is proposed is estimated. Therefore, the selection device 10 has already calculated the latent element matrix W even before the evaluation value of each product by the new user is obtained, and can specify the attribute of the new user. In that case, it is possible to estimate the evaluation value for each product of the user to whom the product is proposed. As a result, the selection device 10 does not need to recalculate the latent element matrix W even when a user is added, and thus an increase in calculation cost can be prevented.

次に、図9を用いて、新たな商品の追加があった場合に、利用者の各商品に対する評価値を推定する処理の一例について説明する。図9は、商品の追加時に実行する処理の一例を示す図である。例えば、図9に示す例では、商品ID「F」が示す商品の追加があった場合、商品特徴行列Yには、商品ID「F」が示す商品の属性を示す成分が入力された列M41が追加されることとなる。   Next, with reference to FIG. 9, an example of the process of estimating the evaluation value of each product of the user when a new product is added will be described. FIG. 9 is a diagram illustrating an example of processing executed when a product is added. For example, in the example illustrated in FIG. 9, when the product represented by the product ID “F” is added, the column M41 in which the component indicating the attribute of the product represented by the product ID “F” is input to the product feature matrix Y. Will be added.

ここで、選択装置10は、利用者ID「3」が示す利用者から商品の検索要求を受信した場合には、ユーザ特徴行列Xのうち、利用者ID「3」が示す利用者と対応する行M22を抽出する。そして、選択装置10は、抽出した行M22と、潜在要素行列Wと、列M41を追加した商品特徴行列Yとの積を算出することで、利用者ID「3」が示す利用者の各商品に対する評価値を含む行M12の各要素の値を推定する。   Here, when the selection device 10 receives the product search request from the user indicated by the user ID “3”, the selection device 10 corresponds to the user indicated by the user ID “3” in the user feature matrix X. The row M22 is extracted. Then, the selection device 10 calculates the product of the extracted row M22, the latent element matrix W, and the product feature matrix Y to which the column M41 is added, so that each product of the user indicated by the user ID “3”. Estimate the value of each element of row M12 containing the evaluation value for.

ここで、潜在要素行列Wには、利用者の属性と商品の属性との関連性に基づいて、利用者の各商品に対する評価値を算出するための値が含まれることとなる。このため、選択装置10は、商品特徴行列Yに新たな商品が登録された場合であっても、その商品の属性を特定することが出来るのであれば、利用者の属性と、既存の潜在要素行列Wと、商品特徴行列Yとから、新たな商品に対する評価値を算出することができる。この結果、選択装置10は、商品の追加が行われた場合にも、潜在要素行列Wの再計算を不要とするので、計算コストの増大を防ぐことができる。   Here, the latent element matrix W includes a value for calculating an evaluation value for each product of the user based on the relationship between the user's attribute and the product attribute. Therefore, even if a new product is registered in the product feature matrix Y, the selection device 10 can identify the user's attribute and the existing latent element as long as the attribute of the product can be specified. An evaluation value for a new product can be calculated from the matrix W and the product feature matrix Y. As a result, the selection device 10 does not need to recalculate the latent element matrix W even when a product is added, and thus an increase in calculation cost can be prevented.

〔4.WANDの一例〕
次に、図10〜図12を用いて、WANDアルゴリズムを用いて、商品の中から利用者の評価値が高い所定の数の商品を選択する処理の一例について説明する。図10は、WANDアルゴリズムを用いて評価値が高い商品を選択する処理の一例を示す第1の図である。図11は、WANDアルゴリズムを用いて評価値が高い商品を選択する処理の一例を示す第2の図である。図12は、WANDアルゴリズムを用いて評価値が高い商品を選択する処理の一例を示す第3の図である。なお、図10〜図12に示す例では、評価値の値が高い方から2つの商品を選択する処理の一例について記載した。
[4. Example of WAND]
Next, with reference to FIGS. 10 to 12, an example of processing of selecting a predetermined number of products for which the user's evaluation value is high from the products using the WAND algorithm will be described. FIG. 10 is a first diagram illustrating an example of a process of selecting a product having a high evaluation value using the WAND algorithm. FIG. 11 is a second diagram illustrating an example of a process of selecting a product having a high evaluation value using the WAND algorithm. FIG. 12 is a third diagram illustrating an example of a process of selecting a product having a high evaluation value using the WAND algorithm. In addition, in the example illustrated in FIGS. 10 to 12, an example of the process of selecting two products from the one having the highest evaluation value is described.

例えば、選択装置10は、ユーザ特徴行列Xのうち、提案先となる利用者の特徴を示す情報を含む行と、積算行列WYとの積を算出することで、提案先となる利用者の各商品に対する評価値の値を算出することが出来る。ここで、積算行列WYには、利用者の特徴ごとに、その特徴に対する各商品のスコアが登録されているとみなすことができる。このため、ユーザ特徴行列Xのうち、提案先となる利用者の特徴を示す情報を含む行をクエリと見做し、積算行列WYを商品のインデックスとみなした場合には、提案先となる利用者の各商品に対する評価値の値は、クエリと、そのクエリに対応する商品のインデックスのスコアとの内積値となる。すると、評価値が高い方から所定の数の商品を選択する処理は、クエリに対応するスコアが高いドキュメントをOR検索する処理に落とし込むことが出来る。   For example, the selection device 10 calculates the product of the row including the information indicating the characteristics of the user who is the proposal destination in the user characteristic matrix X and the integration matrix WY, so that each of the users who are the proposal destinations. It is possible to calculate an evaluation value for a product. Here, in the integration matrix WY, it can be considered that, for each feature of the user, the score of each product for that feature is registered. Therefore, in the user feature matrix X, if a row including information indicating the characteristics of a user who is a proposal destination is regarded as a query, and the cumulative matrix WY is regarded as a product index, the usage that becomes a proposal destination is used. The value of the evaluation value of each person's product is the inner product value of the query and the score of the index of the product corresponding to the query. Then, the process of selecting a predetermined number of products from the one having a higher evaluation value can be put into a process of OR-searching a document having a high score corresponding to the query.

そこで、選択装置10は、ユーザ特徴行列Xのうち、提案先となる利用者の特徴を示す情報を含む行をクエリと見做し、積算行列WYを商品のインデックスとみなして、WANDのアルゴリズムを用いて、評価値が高い方から所定の数の商品を選択する。例えば、提案先となる利用者の特徴に、利用者属性「U_id_1」、「U_id_2」、「U_id_3」が含まれているものとする。このような場合、選択装置10は、積算行列WYから、利用者属性「U_id_1」、「U_id_2」、「U_id_3」のそれぞれと対応付けられた商品とスコアとの組を抽出する。なお、以下の説明では、商品とスコアとの組を「データ」と記載する場合がある。   Therefore, the selection device 10 regards the row including the information indicating the characteristics of the user who is the proposal destination as the query in the user characteristic matrix X, regards the integration matrix WY as the product index, and uses the WAND algorithm. A predetermined number of products are selected from the one with the highest evaluation value. For example, it is assumed that the characteristics of the user who is the proposal destination include the user attributes “U_id_1”, “U_id_2”, and “U_id_3”. In such a case, the selection device 10 extracts, from the integration matrix WY, a set of a product and a score associated with each of the user attributes “U_id_1”, “U_id_2”, and “U_id_3”. In addition, in the following description, a set of a product and a score may be described as “data”.

例えば、選択装置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順にデータを並べておく。   For example, the selection device 10 extracts “(1, 6), (5, 4)” as a set of a product and a score associated with the user attribute “U_id_1” from the integration matrix WY. Further, the selection device 10 sets “(2,3), (3,3), (5,1)” as a set of the product and the score associated with the user attribute “U_id_2” from the integration matrix WY. To extract. In addition, the selection device 10 sets “(1, 1), (2, 2), (4, 2), as a set of a product and a score associated with the user attribute“ U_id_3 ”from the integration matrix WY. (5, 1) ”is extracted. The selection device 10 also arranges the data in order of product IDs.

続いて、選択装置10は、各利用者属性と対応するスコアの最高値(max_score)を特定しておく。例えば、選択装置10は、利用者属性「U_id_1」と対応するスコアの最高値「6」を特定し、利用者属性「U_id_2」と対応するスコアの最高値「3」を特定し、利用者属性「U_id_3」と対応するスコアの最高値「2」を特定しておく。なお、係る処理は、積算行列WYの算出時に予め実行されていてもよい。   Then, the selection device 10 specifies the maximum value (max_score) of the score corresponding to each user attribute. For example, the selection device 10 identifies the highest score value “6” corresponding to the user attribute “U_id_1”, identifies the highest score value “3” corresponding to the user attribute “U_id_2”, and determines the user attribute The highest score "2" corresponding to "U_id_3" is specified. The processing may be executed in advance when the integration matrix WY is calculated.

また、選択装置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に保持する。   Further, the selection device 10 sets a pointer to the head data for each user attribute, as shown in (A) to (C) of FIG. Then, the selection device 10 specifies the data including the same product ID among the data indicated by the pointer, and the total score included in the specified data is used as the point of the product indicated by the product ID included in the specified data as the Accumulator. Hold on. For example, in the example shown in FIG. 10, the selection device 10 sets the data “(1, 6)” indicated by the pointer in FIG. Data "(1, 1)" indicated by the pointer is specified, and the total score "7" included in the specified data is calculated as a point. Then, as shown in FIG. 10D, the selection device 10 holds the data “(1, 7)” including the product ID “1” and the point “7” in the 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に保持する。   Next, the selection device 10 moves one pointer indicating the used data, that is, one of the pointers (A) and (C) in FIG. As a result, the state of each Accumulator and pointer changes to the state shown in FIG. Then, the selection device 10 repeats the same processing as the processing shown in FIG. For example, in the example shown in FIG. 11, the selection device 10 sets the data “(2, 3)” indicated by the pointer in FIG. 11A as the data including the product ID “2” and the data in FIG. Data “(2, 2)” indicated by the pointer is specified, and the total score “5” included in the specified data is calculated as a point. Then, as shown in (C) of FIG. 11, the selection device 10 holds the data “(2,5)” including the product ID “2” and the point “5” in the 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に登録されたポイントの最低値を更新することができない。   Here, referring to the points of each data registered in the Accumulator, the lowest value is the point “5” of the product ID “2”. On the other hand, considering the maximum value of the score corresponding to each user attribute, if the point of a certain product exceeds the value of the point “5” of the product ID “2”, the data including the product ID of the product is , At least the user attribute “U_id_1” needs to be associated with other user attributes. For example, assuming that the data including the product ID of the product is associated with the user attribute “U_id_2” and the user attribute “U_id_3”, the maximum value of points corresponds to the user attribute “U_id_2”. The sum of the highest score value "3" and the highest score value "2" corresponding to the user attribute "U_id_2" is "5", and the lowest value of the points registered in the Accumulator cannot be updated.

そこで、選択装置10は、図12中(A)および(B)に示すように、利用者属性「U_id_1」のポインタが示すデータの商品ID「5」を含むデータまで、利用者属性「U_id_2」のポインタ、および、利用者属性「U_id_3」のポインタを進めることが出来る。すなわち、選択装置10は、商品ID「3」や商品ID「4」については、ポイントの算出を行わずとも、候補から除外することが出来る。   Therefore, as shown in (A) and (B) of FIG. 12, the selection device 10 uses the user attribute “U_id_2” up to the data including the product ID “5” of the data indicated by the pointer of the user attribute “U_id_1”. And the pointer of the user attribute “U_id_3” can be advanced. That is, the selection device 10 can exclude the product ID “3” and the product ID “4” from the candidates without calculating the points.

そして、選択装置10は、図12に示す例では、各ポインタが示すデータ、すなわち、商品ID「5」のスコアの合計「6」をポイントとして算出する。そして、選択装置10は、図12中(C)に示すように、商品ID「5」とポイント「6」とを含むデータ「(5、6)」をAccumulatorに保持する。この結果、選択装置10は、内積値が高い方から2つの商品の商品IDとして、商品ID「1」、商品ID「5」を特定することが出来る。   Then, in the example shown in FIG. 12, the selection device 10 calculates the data indicated by each pointer, that is, the total “6” of the scores of the product ID “5” as points. Then, as illustrated in (C) of FIG. 12, the selection device 10 holds the data “(5, 6)” including the product ID “5” and the point “6” in the Accumulator. As a result, the selection device 10 can specify the product ID “1” and the product ID “5” as the product IDs of the two products having the highest inner product value.

〔5.選択処理の流れの一例〕
続いて、図13を用いて、選択装置10が潜在要素行列Wを生成する処理の流れについて説明する。図13は、実施形態に係る選択装置が潜在要素行列を生成する処理の流れの一例を示すフローチャートである。例えば、選択装置10は、商品に対するユーザの評価から、評価値行列Rを生成する(ステップS101)。また、選択装置10は、ユーザの特徴から、ユーザ特徴行列Xを生成する(ステップS102)。また、選択装置10は、商品の特徴から、商品特徴行列Yを生成する(ステップS103)。
[5. Example of flow of selection process]
Subsequently, a flow of processing in which the selection device 10 generates the latent element matrix W will be described with reference to FIG. 13. FIG. 13 is a flowchart showing an example of the flow of processing in which the selection device according to the embodiment generates a latent element matrix. For example, the selection device 10 generates an evaluation value matrix R from the user's evaluation of the product (step S101). The selection device 10 also generates a user feature matrix X from the user features (step S102). The selection device 10 also generates a product feature matrix Y from the product features (step S103).

そして、選択装置10は、ALSを用いて、ユーザ特徴行列Xと、商品特徴行列Yと、評価値行列Rとから、潜在要素行列Wを生成する(ステップS104)。その後、選択装置10は、潜在要素行列Wと、商品特徴行列Yとの積をインデックスとして、インデックスデータベース35に保持し(ステップS105)、処理を終了する。   Then, the selection device 10 uses ALS to generate a latent element matrix W from the user feature matrix X, the product feature matrix Y, and the evaluation value matrix R (step S104). After that, the selection device 10 holds the product of the latent element matrix W and the product feature matrix Y as an index in the index database 35 (step S105), and ends the process.

続いて、図14を用いて、選択装置10が利用者に対して提案する処理を選択する選択処理の流れの一例について説明する。図14は、実施形態に係る選択装置が実行する選択処理の流れの一例を示すフローチャートである。まず、選択装置10は、利用者から商品の検索要求等といったリクエストを受付けたか否かを判定し(ステップS201)、受付けていない場合は(ステップS201:No)、受付けるまで待機する。そして、選択装置10は、リクエストを受付けた場合は(ステップS201:Yes)、ユーザ特徴行列Xから、リクエスト元のユーザの行を抽出する(ステップS202)。続いて、選択装置10は、抽出した行が示す利用者の属性をクエリとし、積算行列WYをインデックスと見做して(ステップS203)、内積値が大きい方から順に所定の数の商品を、WANDを用いて特定する(ステップS204)。また、選択装置10は、特定した商品を利用者に対するレコメンド対象として(ステップS205)、リクエストに対応する検索結果と共に、レコメンド対象とした商品を利用者に対して提案し(ステップS206)、処理を終了する。   Next, with reference to FIG. 14, an example of the flow of a selection process in which the selection device 10 selects a process to be proposed to the user will be described. FIG. 14 is a flowchart showing an example of the flow of a selection process executed by the selection device according to the embodiment. First, the selection device 10 determines whether a request such as a product search request has been received from the user (step S201), and if not received (step S201: No), waits until the request is received. Then, when the selection device 10 receives the request (step S201: Yes), the selection device 10 extracts the row of the request source user from the user feature matrix X (step S202). Subsequently, the selection device 10 uses the attribute of the user indicated by the extracted row as a query, considers the integration matrix WY as an index (step S203), and selects a predetermined number of products in descending order of the inner product value. It is specified using WAND (step S204). Further, the selection device 10 sets the identified product as a recommendation target for the user (step S205), proposes the recommended product to the user together with the search result corresponding to the request (step S206), and executes the process. finish.

〔6.変形例〕
上記では、選択装置10による選択処理の一例について説明した。しかしながら、実施形態は、これに限定されるものではない。以下、選択装置10が実行する選択処理のバリエーションについて説明する。
[6. Modification)
In the above, an example of the selection process by the selection device 10 has been described. However, the embodiment is not limited to this. Hereinafter, variations of the selection process executed by the selection device 10 will be described.

〔6−1.WANDについて〕
上述した選択装置10は、WANDアルゴリズムを用いて、利用者の評価値の値が高い商品を検索した。しかしながら、実施形態は、これに限定されるものではない。例えば、選択装置10は、Top−k retrievalアルゴリズムであれば、WANDアルゴリズム以外にも、任意のアルゴリズムを用いて、利用者の評価値の値が高い商品を検索してもよい。
[6-1. About WAND]
The selection device 10 described above uses the WAND algorithm to search for products with high user evaluation values. However, the embodiment is not limited to this. For example, the selection device 10 may use any algorithm other than the WAND algorithm as long as it is a Top-k retrieval algorithm to search for a product with a high evaluation value of the user.

また、選択装置10は、単純に、利用者の属性を示す行と、潜在要素行列Wと、商品特徴行列Yとの積を算出することで、利用者の各商品に対する評価値(すなわち、復元行列R’の値)を算出し、算出した評価値が高い方から順に所定の数の商品を選択してもよい。また、選択装置10は、算出した評価値が所定の閾値よりも高い商品を選択してもよく、算出した評価値が所定の範囲内となる商品を選択してもよい。また、選択装置10は、例えば、利用者が評価を行っていない商品の中から、算出された評価値が高い方から順に所定の数の商品を選択し、選択した商品を提案してもよい。また、選択装置10は、提案対象が動画像等のコンテンツである場合には、利用者が閲覧していないコンテンツのうち、算出された評価値が高い方から順に所定の数の商品を選択し、選択した商品を提案してもよい。   In addition, the selection device 10 simply calculates the product of the row indicating the attributes of the user, the latent element matrix W, and the product feature matrix Y to obtain the evaluation value (that is, the restoration value) for each product of the user. The value of the matrix R ′) may be calculated, and a predetermined number of products may be selected in descending order of the calculated evaluation value. Further, the selection device 10 may select a product whose calculated evaluation value is higher than a predetermined threshold value, or may select a product whose calculated evaluation value falls within a predetermined range. Further, the selection device 10 may, for example, select a predetermined number of products in descending order of the calculated evaluation value from the products that the user has not evaluated, and propose the selected product. . Further, when the proposal target is a content such as a moving image, the selection device 10 selects a predetermined number of products in descending order of the calculated evaluation value among the content not browsed by the user. , You may propose the selected product.

なお、上述した選択処理のうち、WANDについては、必須の処理ではない。すなわち、選択装置10は、IMCを用いて生成された潜在要素行列Wを用いて、提案対象に対する利用者の評価値を推定し、推定した評価値に基づいた提案を行うのであれば、上述した処理を任意の処理と組み合わせて実行してもよい。   Note that, of the selection processes described above, WAND is not an essential process. That is, if the selection device 10 estimates the evaluation value of the user with respect to the proposal target by using the latent element matrix W generated using IMC, and makes a proposal based on the estimated evaluation value, the selection device 10 has been described above. The processing may be executed in combination with any processing.

〔6−2.提案対象について〕
上述した説明では、選択装置10は、電子商取引の対象となる商品を提案対象とし、潜在要素行列Wから算出した利用者の評価値が高い商品を利用者に対して提案した。しかしながら、実施形態は、これに限定されるものではない。例えば、選択装置10は、電子商取引の対象となる商品のみならず、役務等を提案対象としてもよい。
[6-2. About proposal target]
In the above description, the selection device 10 proposes a product that is a target of electronic commerce, and proposes a product having a high user evaluation value calculated from the latent element matrix W to the user. However, the embodiment is not limited to this. For example, the selection device 10 may target services and the like as well as products targeted for electronic commerce.

また、選択装置10は、動画像や音楽、ニュース、ウェブページ、ウェブ上に公開された利用者の発言等といったコンテンツを提案対象としてもよい。例えば、選択装置10は、商品特徴行列Yと同様に、各コンテンツの特徴を示す情報を含むコンテンツ特徴行列Y’を取得する。また、選択装置10は、ユーザ特徴行列Xと、コンテンツ特徴行列Y’と、各コンテンツに対する利用者の評価を示す評価値行列Rとから潜在要素行列Wを取得する。そして、選択装置10は、利用者の特徴を示す情報を含む行と、潜在要素行列Wと、コンテンツ特徴行列Y’とから、各コンテンツに対する利用者の評価を推定し、推定結果に基づいて、利用者に提案するコンテンツを選択してもよい。   In addition, the selection device 10 may target content such as moving images, music, news, web pages, and user comments published on the web. For example, the selection device 10 acquires the content feature matrix Y ′ including the information indicating the feature of each content, similarly to the product feature matrix Y. Further, the selection device 10 acquires the latent element matrix W from the user characteristic matrix X, the content characteristic matrix Y ', and the evaluation value matrix R indicating the user's evaluation of each content. Then, the selection device 10 estimates the user's evaluation of each content from the row including the information indicating the characteristics of the user, the latent element matrix W, and the content characteristic matrix Y ′, and based on the estimation result, You may select the content to propose to the user.

また、選択装置10は、利用者に対して配信する広告を選択する際に、上述した選択処理を適用してもよい。例えば、選択装置10は、商品特徴行列Yと同様に、各広告の特徴を示す情報を含む広告特徴行列Y’’を取得する。また、選択装置10は、ユーザ特徴行列Xと、広告特徴行列Y’’と、各広告に対する利用者の評価を示す評価値行列Rとから潜在要素行列Wを取得する。そして、選択装置10は、利用者の特徴を示す情報を含む行と、潜在要素行列Wと、広告特徴行列Y’’とから、各広告に対する利用者の評価を推定し、推定結果に基づいて、利用者に配信する広告を選択してもよい。   Moreover, the selection device 10 may apply the above-described selection process when selecting an advertisement to be distributed to the user. For example, the selection device 10 acquires the advertisement feature matrix Y ″ including information indicating the features of each advertisement, similarly to the product feature matrix Y. Further, the selection device 10 acquires the latent element matrix W from the user feature matrix X, the advertisement feature matrix Y ″, and the evaluation value matrix R indicating the user's evaluation of each advertisement. Then, the selection device 10 estimates the evaluation of the user for each advertisement from the row including the information indicating the characteristics of the user, the latent element matrix W, and the advertisement characteristic matrix Y ″, and based on the estimation result. , The advertisement to be distributed to the user may be selected.

〔6−3.装置構成〕
選択装置10は、任意の数の利用者端末100と通信可能に接続されていてもよい。また、選択装置10は、利用者端末100と情報のやり取りを行うフロントエンドサーバと、入力項目を選択するバックエンドサーバとにより実現されてもよい。このような場合、フロントエンドサーバには、図2に示す要求受付部41および配信部46が配置され、バックエンドサーバには、取得部42、算出部43、検索部44、選択部45、および生成部47等が配置されることとなる。また、記憶部30に格納された各データベース31〜35は、選択装置10の内部ではなく、例えば、外部のストレージサーバ等に格納されていてもよい。
[6-3. Device configuration〕
The selection device 10 may be communicatively connected to any number of user terminals 100. The selection device 10 may be realized by a front-end server that exchanges information with the user terminal 100 and a back-end server that selects an input item. In such a case, the request reception unit 41 and the distribution unit 46 shown in FIG. 2 are arranged in the front-end server, and the acquisition unit 42, the calculation unit 43, the search unit 44, the selection unit 45, and the back-end server. The generation unit 47 and the like will be arranged. The databases 31 to 35 stored in the storage unit 30 may be stored not in the selection device 10 but in an external storage server or the like, for example.

〔6−4.各データベース項目について〕
なお、上述した説明において、ユーザ特徴行列Xや商品特徴行列Yに含まれる各種の項目は、あくまで一例であり、利用者の特徴を示す項目や、商品の特徴を示す項目であれば、任意の項目が採用可能である。
[6-4. About each database item]
In the above description, the various items included in the user feature matrix X and the product feature matrix Y are merely examples, and any item that indicates the feature of the user or the item of the product may be used. Items can be adopted.

〔6−5.その他〕
また、上記実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、各図に示した各種情報は、図示した情報に限られない。
[6-5. Other]
Further, of the processes described in the above embodiment, all or part of the processes described as being automatically performed may be manually performed, or the processes described as manually performed may be performed. All or part of the process can be automatically performed by a known method. In addition, the processing procedures, specific names, and information including various data and parameters shown in the above documents and drawings can be arbitrarily changed unless otherwise specified. For example, the various information shown in each drawing is not limited to the information shown.

また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。   Further, each component of each device shown in the drawings is functionally conceptual, and does not necessarily have to be physically configured as shown. That is, the specific form of distribution / integration of each device is not limited to that shown in the figure, and all or a part of the device may be functionally or physically distributed / arranged in arbitrary units according to various loads and usage conditions. It can be integrated and configured.

また、上記してきた各実施形態は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。   Further, the respective embodiments described above can be appropriately combined within a range in which the processing content is not inconsistent.

〔7.プログラム〕
また、上述してきた実施形態に係る選択装置10は、例えば図15に示すような構成のコンピュータ1000によって実現される。図15は、ハードウェア構成の一例を示す図である。コンピュータ1000は、出力装置1010、入力装置1020と接続され、演算装置1030、一次記憶装置1040、二次記憶装置1050、出力IF(Interface)1060、入力IF1070、ネットワークIF1080がバス1090により接続された形態を有する。
[7. program〕
Further, the selection device 10 according to the above-described embodiment is realized by, for example, a computer 1000 configured as shown in FIG. FIG. 15 is a diagram illustrating an example of the hardware configuration. The computer 1000 is connected to an output device 1010 and an input device 1020, and an arithmetic device 1030, a primary storage device 1040, a secondary storage device 1050, an output IF (Interface) 1060, an input IF 1070, and a network IF 1080 are connected by a bus 1090. Have.

演算装置1030は、一次記憶装置1040や二次記憶装置1050に格納されたプログラムや入力装置1020から読み出したプログラム等に基づいて動作し、各種の処理を実行する。一次記憶装置1040は、RAM等、演算装置1030が各種の演算に用いるデータを一次的に記憶するメモリ装置である。また、二次記憶装置1050は、演算装置1030が各種の演算に用いるデータや、各種のデータベースが登録される記憶装置であり、ROM(Read Only Memory)、HDD、フラッシュメモリ等により実現される。   The arithmetic unit 1030 operates based on a program stored in the primary storage device 1040 or the secondary storage device 1050, a program read from the input device 1020, or the like, and executes various processes. The primary storage device 1040 is a memory device such as a RAM that temporarily stores data used by the arithmetic device 1030 for various calculations. The secondary storage device 1050 is a storage device in which data used by the arithmetic device 1030 for various calculations and various databases are registered, and is realized by a ROM (Read Only Memory), an HDD, a flash memory, or the like.

出力IF1060は、モニタやプリンタといった各種の情報を出力する出力装置1010に対し、出力対象となる情報を送信するためのインタフェースであり、例えば、USB(Universal Serial Bus)やDVI(Digital Visual Interface)、HDMI(登録商標)(High Definition Multimedia Interface)といった規格のコネクタにより実現される。また、入力IF1070は、マウス、キーボード、およびスキャナ等といった各種の入力装置1020から情報を受信するためのインタフェースであり、例えば、USB等により実現される。   The output IF 1060 is an interface for transmitting information to be output to an output device 1010 that outputs various kinds of information such as a monitor and a printer. For example, a USB (Universal Serial Bus) or a DVI (Digital Visual Interface), It is realized by a connector of a standard such as HDMI (registered trademark) (High Definition Multimedia Interface). The input IF 1070 is an interface for receiving information from various input devices 1020 such as a mouse, a keyboard, and a scanner, and is realized by, for example, USB.

なお、入力装置1020は、例えば、CD(Compact Disc)、DVD(Digital Versatile Disc)、PD(Phase change rewritable Disk)等の光学記録媒体、MO(Magneto-Optical disk)等の光磁気記録媒体、テープ媒体、磁気記録媒体、または半導体メモリ等から情報を読み出す装置であってもよい。また、入力装置1020は、USBメモリ等の外付け記憶媒体であってもよい。   The input device 1020 is, for example, an optical recording medium such as a CD (Compact Disc), a DVD (Digital Versatile Disc), and a PD (Phase change rewritable Disk), a magneto-optical recording medium such as an MO (Magneto-Optical disk), and a tape. It may be a device that reads information from a medium, a magnetic recording medium, a semiconductor memory, or the like. The input device 1020 may also be an external storage medium such as a USB memory.

ネットワークIF1080は、ネットワークNを介して他の機器からデータを受信して演算装置1030へ送り、また、ネットワークNを介して演算装置1030が生成したデータを他の機器へ送信する。   The network IF 1080 receives data from another device via the network N and sends the data to the arithmetic device 1030, and also transmits the data generated by the arithmetic device 1030 via the network N to another device.

演算装置1030は、出力IF1060や入力IF1070を介して、出力装置1010や入力装置1020の制御を行う。例えば、演算装置1030は、入力装置1020や二次記憶装置1050からプログラムを一次記憶装置1040上にロードし、ロードしたプログラムを実行する。   The arithmetic device 1030 controls the output device 1010 and the input device 1020 via the output IF 1060 and the input IF 1070. For example, the arithmetic device 1030 loads a program from the input device 1020 or the secondary storage device 1050 onto the primary storage device 1040, and executes the loaded program.

例えば、コンピュータ1000が選択装置10として機能する場合、コンピュータ1000の演算装置1030は、一次記憶装置1040上にロードされたプログラムを実行することにより、制御部40の機能を実現する。   For example, when the computer 1000 functions as the selection device 10, the arithmetic device 1030 of the computer 1000 implements the function of the control unit 40 by executing the program loaded on the primary storage device 1040.

〔8.効果〕
上述したように、選択装置10は、利用者の特徴を示す情報を含むユーザ特徴行列Xと、提案対象の特徴を示す情報を含む商品特徴行列Yと、提案対象に対する利用者の評価を示す情報を含む評価値行列Rとから算出される潜在要素行列Wであって、ユーザ特徴行列Xと潜在要素行列Wと商品特徴行列Yとの積が評価値行列Rとなるように成分の値が設定された潜在要素行列Wを取得する。そして、選択装置10は、利用者の特徴を示す情報をクエリとし、潜在要素行列Wと商品特徴行列Yとの積の値を利用者の特徴に対する各提案対象のスコアとして、クエリとスコアとから算出される内積値の値が高い方から所定の数の提案対象を検索する。その後、選択装置10は、検索結果に基づいて、利用者に対して提案する提案対象を選択する。
[8. effect〕
As described above, the selection device 10 includes the user characteristic matrix X including information indicating the characteristics of the user, the product characteristic matrix Y including information indicating the characteristics of the proposal target, and the information indicating the evaluation of the user for the proposal target. Which is a latent element matrix W calculated from an evaluation value matrix R including the evaluation value matrix R, and the component values are set such that the product of the user characteristic matrix X, the latent element matrix W, and the product characteristic matrix Y becomes the evaluation value matrix R. The latent element matrix W thus obtained is acquired. Then, the selection device 10 sets the value of the product of the latent element matrix W and the product feature matrix Y as the score of each suggestion target for the user feature, using the information indicating the user feature as the query, from the query and the score. A predetermined number of proposal targets are searched from the one having a higher calculated inner product value. After that, the selection device 10 selects a proposal target to be proposed to the user based on the search result.

このように、選択装置10は、IMCを用いて算出された潜在要素行列Wから、提案対象に対する利用者の評価を算出する。このため、選択装置10は、利用者の追加や商品の追加等が行われた場合や、利用者の評価が更新された場合等における潜在要素行列Wの再計算の頻度を少なくすることができるので、計算コストの増大を防ぐことができる。また、選択装置10は、配信先となる利用者の特徴から、提案対象に対する利用者の評価を容易に算出することができるので、利用者からの要求時に、提案対象の選択をランタイムで行うことができる。   In this way, the selection device 10 calculates the user's evaluation of the proposal target from the latent element matrix W calculated using the IMC. Therefore, the selection device 10 can reduce the frequency of recalculation of the latent element matrix W when a user is added, a product is added, or when the evaluation of the user is updated. Therefore, it is possible to prevent an increase in calculation cost. Further, since the selection device 10 can easily calculate the evaluation of the user with respect to the proposal target from the characteristics of the user who is the delivery destination, when the user requests, the selection device 10 selects the proposal target at runtime. You can

また、選択装置10は、Top−k retrievalアルゴリズム等を用いて、クエリとスコアとから算出される内積値の値が高い方から所定の数の提案対象を検索する。例えば、選択装置10は、WANDアルゴリズムを用いて、クエリとスコアとから算出される内積値の値が高い方から所定の数の提案対象を検索する。このため、選択装置10は、例えば、電子商取引の対象となる商品等、提案対象の数が膨大に存在する場合であっても、現実的な時間内で、利用者の評価が高いと推定される提案対象を選択することが出来る。このため、選択装置10は、提案対象の選択をランタイムで行うことができる。   In addition, the selection device 10 searches for a predetermined number of proposal targets from the one having a higher inner product value calculated from the query and the score, using the Top-k retrieval algorithm or the like. For example, the selection device 10 uses the WAND algorithm to search for a predetermined number of proposal targets in descending order of the inner product value calculated from the query and the score. Therefore, the selection device 10 is estimated to be highly evaluated by the user within a realistic time even if there are a large number of items to be proposed, such as products to be electronically traded. It is possible to select a proposal target. Therefore, the selection device 10 can perform selection of a proposal target at runtime.

また、選択装置10は、利用者に対して提案する提案対象として、電子商取引の対象となる商品または役務の特徴を示す情報を含む商品特徴行列Yと、商品または役務に対する利用者の評価を示す情報を含む評価値行列Rとから算出される潜在要素行列Wを取得する。また、選択装置10は、商品または役務の提案先となる利用者の特徴を示す情報をクエリとし、潜在要素行列Wと商品特徴行列Yとの積の値を利用者の特徴に対する商品または役務のスコアとして、クエリとスコアとから算出される内積値の値が高い方から所定の数の商品または役務を検索する。そして、選択装置10は、検索結果に基づいて、利用者に対して提案する商品または役務を選択する。このため、選択装置10は、提案対象となる商品や役務の選択をランタイムで行うことができる。   In addition, the selection device 10 indicates a product characteristic matrix Y including information indicating the characteristics of a product or a service targeted for electronic commerce, and a user's evaluation of the product or the service as a proposal target to be proposed to the user. A latent element matrix W calculated from the evaluation value matrix R containing information is acquired. In addition, the selection device 10 uses the information indicating the characteristics of the user who proposes the product or service as a query, and uses the value of the product of the latent element matrix W and the product characteristic matrix Y as the product or service for the characteristic of the user. As the score, a predetermined number of products or services are searched from the one having a higher inner product value calculated from the query and the score. Then, the selection device 10 selects a product or service to be proposed to the user based on the search result. Therefore, the selection device 10 can select the product or service to be proposed at the runtime.

また、選択装置10は、利用者の特徴を示す情報を行方向に配置したユーザ特徴行列Xと、提案対象の特徴を示す情報を列方向に配置した商品特徴行列Yと、提案対象に対する利用者の評価を示す情報を行方向に配置した評価値行列Rとから算出される潜在要素行列Wであって、ユーザ特徴行列Xと潜在要素行列Wと商品特徴行列Yとの積が評価値行列Rとなるように成分の値が設定された潜在要素行列Wを取得する。また、選択装置10は、提案対象の提案先となる利用者の特徴を示す情報を含む行と、潜在要素行列Wと、商品特徴行列Yとの積から、提案対象の提案先となる利用者の各提案対象に対する評価を示す値を算出する。そして、選択装置10は、算出された値に基づいて、利用者に対して提案する提案対象を選択する。   In addition, the selection device 10 includes a user feature matrix X in which information indicating characteristics of users is arranged in a row direction, a product feature matrix Y in which information indicating characteristics of a proposal target is arranged in a column direction, and a user for a proposal target. Which is a latent element matrix W calculated from an evaluation value matrix R in which information indicating the evaluation of items is arranged in the row direction, and the product of the user characteristic matrix X, the latent element matrix W, and the product characteristic matrix Y is the evaluation value matrix R. The latent element matrix W in which the component values are set so that In addition, the selection device 10 determines the user who is the proposal destination of the proposal target from the product of the row including the information indicating the characteristics of the user who is the proposal destination of the proposal target, the latent element matrix W, and the product feature matrix Y. A value indicating the evaluation for each proposed subject is calculated. Then, the selection device 10 selects a proposal target to be proposed to the user based on the calculated value.

このように、選択装置10は、IMCを用いて算出された潜在要素行列Wから、提案対象に対する利用者の評価を算出する。このため、選択装置10は、提案対象の提案先となる利用者の属性を示す行と、潜在要素行列Wと、商品特徴行列Yとの積を算出するだけで、提案対象の提案先となる利用者の各提案対象に対する評価を容易に取得することが出来る。   In this way, the selection device 10 calculates the user's evaluation of the proposal target from the latent element matrix W calculated using the IMC. Therefore, the selection device 10 becomes the proposal target of the proposal target only by calculating the product of the row indicating the attribute of the user who is the proposal target of the proposal target, the latent element matrix W, and the product feature matrix Y. The user's evaluation of each proposal target can be easily acquired.

また、選択装置10は、ユーザ特徴行列Xから提案対象の提案先となる利用者の特徴を示す情報を含む行を抽出し、抽出した行と、潜在要素行列Wと、商品特徴行列Yとの積から、提案対象の提案先となる利用者の各提案対象に対する評価を示す値を算出する。このため、選択装置10は、提案対象の提案先となる利用者の各提案対象に対する評価を算出する際の計算コストの増大を防ぐことができる。   In addition, the selection device 10 extracts a row including information indicating the characteristics of the user who is the proposal target of the proposal from the user characteristic matrix X, and extracts the extracted row, the latent element matrix W, and the product characteristic matrix Y. From the product, a value indicating the evaluation of each proposal target of the user who is the proposal destination of the proposal target is calculated. Therefore, the selection device 10 can prevent an increase in calculation cost when calculating the evaluation of each proposal target of the user who is the proposal destination of the proposal target.

また、選択装置10は、電子商取引の対象となる商品または役務の特徴を示す情報が列方向に配置された商品特徴行列Yと、商品または役務に対する各利用者の評価を示す情報を行方向に配置した評価値行列Rとから算出される潜在要素行列Wを取得する。また、選択装置10は、商品または役務の提案先となる利用者の特徴を示す情報を含む行と、潜在要素行列Wと、商品特徴行列Yとの積から、利用者の商品または役務に対する評価を示す値を算出する。そして、選択装置10は、算出結果に基づいて、利用者に対して提案する商品または役務を選択する。このため、選択装置10は、提案対象となる商品や役務の選択をランタイムで行うことができる。   In addition, the selection device 10 provides, in a row direction, a product feature matrix Y in which information indicating characteristics of products or services subject to electronic commerce is arranged in a column direction, and information indicating evaluation of each user for the products or services. A latent element matrix W calculated from the arranged evaluation value matrix R is acquired. In addition, the selection device 10 evaluates the user's product or service from the product of a row containing information indicating the characteristics of the user who is a proposal destination of the product or service, the latent element matrix W, and the product feature matrix Y. Is calculated. Then, the selection device 10 selects a product or service to be proposed to the user based on the calculation result. Therefore, the selection device 10 can select the product or service to be proposed at the runtime.

また、選択装置10は、利用者の特徴を示す情報を含むユーザ特徴行列Xと、コンテンツの特徴を示す情報を含む商品特徴行列Yと、コンテンツに対する利用者の評価を示す情報を含む評価値行列Rとから算出される潜在要素行列Wであって、ユーザ特徴行列Xと潜在要素行列Wと商品特徴行列Yとの積が評価値行列Rとなるように成分の値が設定された潜在要素行列Wを取得する。また、選択装置10は、コンテンツの提案先となる利用者の特徴を示す情報と、潜在要素行列Wと、商品特徴行列Yとを用いて、コンテンツの提案先となる利用者のコンテンツに対する評価を推定する。そして、選択装置10は、推定結果に基づいて、利用者に対して提案するコンテンツを選択する。   In addition, the selection device 10 includes a user feature matrix X including information indicating user characteristics, a product feature matrix Y including information indicating content characteristics, and an evaluation value matrix including information indicating user evaluation of the content. The latent element matrix W calculated from R and the latent element matrix in which the component values are set such that the product of the user characteristic matrix X, the latent element matrix W, and the product characteristic matrix Y becomes the evaluation value matrix R. Get W. In addition, the selection device 10 uses the information indicating the characteristics of the user who is the content proposal destination, the latent element matrix W, and the product feature matrix Y to evaluate the content of the user who is the content proposal destination. presume. Then, the selection device 10 selects the content to be proposed to the user based on the estimation result.

このように、選択装置10は、IMCを用いて算出された潜在要素行列Wから、配信対象となるコンテンツに対する利用者の評価を算出し、算出結果に応じて、提案対象となるコンテンツを選択する。このため、選択装置10は、利用者の追加や商品の追加等が行われた場合や、利用者の評価が更新された場合等における潜在要素行列Wの再計算の頻度を少なくすることができるので、計算コストの増大を防ぐことができる。   In this way, the selection device 10 calculates the user's evaluation of the content to be distributed from the latent element matrix W calculated using IMC, and selects the content to be proposed according to the calculation result. . Therefore, the selection device 10 can reduce the frequency of recalculation of the latent element matrix W when a user is added, a product is added, or when the evaluation of the user is updated. Therefore, it is possible to prevent an increase in calculation cost.

また、選択装置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を生成することができる。   Further, the selection device 10 generates the latent element matrix W in which the value of each component is set such that the product of the user characteristic matrix X, the latent element matrix W, and the product characteristic matrix Y approaches the evaluation value matrix R. More specifically, the selection device 10 includes a latent element matrix U having the same number of rows as the number of columns of the user characteristic matrix X and a latent element matrix V having the same number of columns as the number of rows of the product characteristic matrix Y, The latent element matrix U and the latent element matrix V are generated so that the product of the feature matrix X, the latent element matrix U, the latent element matrix V, and the product feature matrix Y reproduces the evaluation value matrix R. Then, the selection device 10 sets the product of the generated latent element matrix U and the generated latent element matrix V as the latent element matrix W. Therefore, the selection device 10 can generate the latent element matrix W by using a method such as ALS, for example.

以上、本願の実施形態のいくつかを図面に基づいて詳細に説明したが、これらは例示であり、発明の開示の欄に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。   As described above, some of the embodiments of the present application have been described in detail based on the drawings, but these are examples, and various modifications based on the knowledge of those skilled in the art, including the modes described in the section of the disclosure of the invention, It is possible to implement the present invention in other forms with improvements.

また、上記してきた「部(section、module、unit)」は、「手段」や「回路」などに読み替えることができる。例えば、配信部は、配信手段や配信回路に読み替えることができる。   Further, the above-mentioned "section (module, unit)" can be read as "means" or "circuit". For example, the delivery unit can be read as delivery means or delivery circuit.

10 選択装置
20 通信部
30 記憶部
31 商品データベース
32 評価値データベース
33 ユーザデータベース
34 潜在要素データベース
35 インデックスデータベース
40 制御部
41 要求受付部
42 取得部
43 算出部
44 検索部
45 選択部
46 配信部
47 生成部
100 利用者端末
10 selection device 20 communication unit 30 storage unit 31 product database 32 evaluation value database 33 user database 34 latent element database 35 index database 40 control unit 41 request reception unit 42 acquisition unit 43 calculation unit 44 search unit 45 selection unit 46 distribution unit 47 generation Part 100 User terminal

Claims (15)

利用者の特徴を示す情報を含む第1行列と、提案対象の特徴を示す情報を含む第2行列と、前記提案対象に対する前記利用者の評価を示す情報を含む第3行列とから算出される第4行列であって、前記第1行列と前記第4行列と前記第2行列との積が前記第3行列となるように成分の値が設定された第4行列を取得する取得部と、
前記提案対象の提案先となる利用者の特徴を示す情報をクエリとし、前記第4行列と前記第2行列との積の値を前記利用者の特徴に対する各提案対象のスコアとして、当該クエリと当該スコアとから算出される内積値の値が高い方から所定の数の提案対象を検索する検索部と、
前記検索部による検索結果に基づいて、前記利用者に対して提案する提案対象を選択する選択部と
を有することを特徴とする選択装置。
It is calculated from a first matrix including information indicating the characteristics of the user, a second matrix including information indicating the characteristics of the proposal target, and a third matrix including information indicating the evaluation of the user with respect to the proposal target. An acquisition unit that acquires a fourth matrix, which is a fourth matrix and has a component value set such that the product of the first matrix, the fourth matrix, and the second matrix becomes the third matrix,
The information indicating the characteristics of the user who is the proposal destination of the proposal target is used as a query, and the value of the product of the fourth matrix and the second matrix is used as the score of each proposal target for the characteristics of the user, and the query is used. A search unit that searches for a predetermined number of proposal targets from the one whose inner product value calculated from the score is higher,
A selection unit that selects a proposal target to be proposed to the user based on a search result by the search unit.
前記検索部は、WANDアルゴリズムを用いて、前記クエリと前記スコアとから算出される内積値の値が高い方から所定の数の提案対象を検索する
ことを特徴とする請求項1に記載の選択装置。
The selection unit according to claim 1, wherein the search unit uses a WAND algorithm to search for a predetermined number of proposal targets from a higher inner product value calculated from the query and the score. apparatus.
前記取得部は、前記利用者に対して提案する提案対象として、電子商取引の対象となる商品または役務の特徴を示す情報を含む第2行列と、前記商品または役務に対する前記利用者の評価を示す情報を含む第3行列とから算出される第4行列を取得し、
前記検索部は、前記商品または役務の提案先となる利用者の特徴を示す情報をクエリとし、前記第4行列と前記第2行列との積の値を前記利用者の特徴に対する前記商品または役務のスコアとして、当該クエリと当該スコアとから算出される内積値の値が高い方から所定の数の前記商品または役務を検索し、
前記選択部は、前記検索部による検索結果に基づいて、前記利用者に対して提案する商品または役務を選択する
ことを特徴とする請求項1または2に記載の選択装置。
The acquisition unit indicates, as a proposal target to be proposed to the user, a second matrix including information indicating characteristics of a product or a service targeted for electronic commerce, and an evaluation of the user for the product or the service. Obtain a fourth matrix calculated from the third matrix containing the information,
The search unit uses, as a query, information indicating characteristics of a user who proposes the product or service, and determines a product value of the fourth matrix and the second matrix as the product or service for the characteristic of the user. As a score of, a predetermined number of the products or services are searched for from a higher inner product value calculated from the query and the score,
The selection device according to claim 1 or 2, wherein the selection unit selects a product or service to be proposed to the user based on a search result by the search unit.
利用者の特徴を示す情報を行方向に配置した第1行列と、提案対象の特徴を示す情報を列方向に配置した第2行列と、提案対象に対する利用者の評価を示す情報を行方向に配置した第3行列とから算出される第4行列であって、前記第1行列と前記第4行列と前記第2行列との積が前記第3行列となるように成分の値が設定された第4行列を取得する取得部と、
前記提案対象の提案先となる利用者の特徴を示す情報を含む行と、前記第4行列と、前記第2行列との積から、前記提案対象の提案先となる利用者の各提案対象に対する評価を示す値を算出する算出部と、
前記算出部によって算出された値に基づいて、前記利用者に対して提案する提案対象を選択する選択部と
を有することを特徴とする選択装置。
A first matrix in which information indicating the characteristics of the user is arranged in the row direction, a second matrix in which information indicating the characteristics of the proposal target is arranged in the column direction, and information indicating the evaluation of the user for the proposal target in the row direction. A fourth matrix calculated from the arranged third matrix, wherein component values are set such that the product of the first matrix, the fourth matrix, and the second matrix becomes the third matrix. An acquisition unit for acquiring the fourth matrix,
From the product of a row containing information indicating the characteristics of the user who is the proposal destination of the proposal target, the fourth matrix, and the second matrix, for each proposal target of the user who is the proposal destination of the proposal target A calculation unit that calculates a value indicating the evaluation,
A selection unit that selects a proposal target to be proposed to the user based on the value calculated by the calculation unit.
前記算出部は、前記第1行列から前記提案対象の提案先となる利用者の特徴を示す情報を含む行を抽出し、抽出した行と、前記第4行列と、前記第2行列との積から、前記提案対象の提案先となる利用者の各提案対象に対する評価を示す値を算出する
ことを特徴とする請求項4に記載の選択装置。
The calculation unit extracts a row including information indicating characteristics of a user who is a proposal destination of the proposal target from the first matrix, and calculates a product of the extracted row, the fourth matrix, and the second matrix. From the above, the selection device according to claim 4, which calculates a value indicating an evaluation of each proposal target of a user who is a proposal destination of the proposal target.
前記取得部は、前記利用者に対して提案する提案対象として、電子商取引の対象となる商品または役務の特徴を示す情報が列方向に配置された第2行列と、前記商品または役務に対する各利用者の評価を示す情報を行方向に配置した第3行列とから算出される第4行列を取得し、
前記算出部は、前記商品または役務の提案先となる利用者の特徴を示す情報を含む行と、前記第4行列と、前記第2行列との積から、当該利用者の前記商品または役務に対する評価を示す値を算出し、
前記選択部は、前記算出部による算出結果に基づいて、前記利用者に対して提案する商品または役務を選択する
ことを特徴とする請求項4または5に記載の選択装置。
The acquisition unit, as a proposal target to be proposed to the user, a second matrix in which information indicating the characteristics of a product or service targeted for electronic commerce is arranged in a column direction, and each use for the product or service. Obtain a fourth matrix calculated from the third matrix in which the information indicating the evaluation of the person is arranged in the row direction,
The calculation unit calculates the product or service of the user from the product of a row including information indicating the characteristics of the user who is a proposal destination of the product or service, the fourth matrix, and the second matrix. Calculate the value indicating the evaluation,
The selection device according to claim 4 or 5, wherein the selection unit selects a product or service to be proposed to the user based on a calculation result by the calculation unit.
利用者の特徴を示す情報を含む第1行列と、コンテンツの特徴を示す情報を含む第2行列と、前記コンテンツに対する前記利用者の評価を示す情報を含む第3行列とから算出される第4行列であって、前記第1行列と前記第4行列と前記第2行列との積が前記第3行列となるように成分の値が設定された第4行列を取得する取得部と、
前記コンテンツの提案先となる利用者の特徴を示す情報と、前記第4行列と、前記第2行列とを用いて、前記コンテンツの提案先となる利用者の前記コンテンツに対する評価を推定する推定部と、
前記推定部による推定結果に基づいて、前記利用者に対して提案するコンテンツを選択する選択部と
を有することを特徴とする選択装置。
A fourth matrix calculated from a first matrix including information indicating characteristics of the user, a second matrix including information indicating characteristics of the content, and a third matrix including information indicating evaluation of the user for the content. An acquisition unit that acquires a fourth matrix in which the values of the components are set so that the product of the first matrix, the fourth matrix, and the second matrix becomes the third matrix,
An estimation unit that estimates the evaluation of the content by the user to whom the content is proposed using the information indicating the characteristics of the user to whom the content is proposed, the fourth matrix, and the second matrix. When,
A selection unit that selects content to be proposed to the user based on the estimation result by the estimation unit.
前記第1行列と前記第4行列と前記第2行列との積が前記第3行列に近づくように、各成分の値が設定された前記第4行列を生成する生成部
を有することを特徴とする請求項1〜7のうちいずれか1つに記載の選択装置。
A generator that generates the fourth matrix in which the value of each component is set so that the product of the first matrix, the fourth matrix, and the second matrix approaches the third matrix. The selection device according to any one of claims 1 to 7.
前記生成部は、行数が前記第1行列の列数と同じ第5行列と、列数が前記第2行列の行数と同じ第6行列であって、前記第1行列と当該第5行列と当該第6行列と前記第2行列との積が前記第3行列を再現するように第5行列および第6行列を生成し、生成した第5行列および第6行列の積を前記第4行列とする
ことを特徴とする請求項8に記載の選択装置。
The generating unit includes a fifth matrix having the same number of rows as the number of columns of the first matrix and a sixth matrix having the same number of columns as the number of rows of the second matrix, wherein the first matrix and the fifth matrix are the same. And a fifth matrix and a sixth matrix are generated so that the product of the sixth matrix and the second matrix reproduces the third matrix, and the product of the generated fifth matrix and sixth matrix is the fourth matrix. The selection device according to claim 8, wherein:
選択装置が実行する選択方法であって、
利用者の特徴を示す情報を含む第1行列と、提案対象の特徴を示す情報を含む第2行列と、前記提案対象に対する前記利用者の評価を示す情報を含む第3行列とから算出される第4行列であって、前記第1行列と前記第4行列と前記第2行列との積が前記第3行列となるように成分の値が設定された第4行列を取得する取得工程と、
前記提案対象の提案先となる利用者の特徴を示す情報をクエリとし、前記第4行列と前記第2行列との積の値を前記利用者の特徴に対する各提案対象のスコアとして、当該クエリと当該スコアとから算出される内積値の値が高い方から所定の数の提案対象を検索する検索工程と、
前記検索工程による検索結果に基づいて、前記利用者に対して提案する提案対象を選択する選択工程と
を含むことを特徴とする選択方法。
A selection method performed by the selection device,
It is calculated from a first matrix including information indicating the characteristics of the user, a second matrix including information indicating the characteristics of the proposal target, and a third matrix including information indicating the evaluation of the user with respect to the proposal target. An acquisition step of acquiring a fourth matrix, which is a fourth matrix and in which the value of the component is set such that the product of the first matrix, the fourth matrix, and the second matrix becomes the third matrix;
The information indicating the characteristics of the user who is the proposal destination of the proposal target is used as a query, and the value of the product of the fourth matrix and the second matrix is used as the score of each proposal target for the characteristics of the user, and the query is used. A search step of searching for a predetermined number of proposal targets from the higher inner product value calculated from the score;
A selection step of selecting a proposal target to be proposed to the user based on a search result by the search step.
選択装置が実行する選択方法であって、
利用者の特徴を示す情報を行方向に配置した第1行列と、提案対象の特徴を示す情報を列方向に配置した第2行列と、提案対象に対する利用者の評価を示す情報を行方向に配置した第3行列とから算出される第4行列であって、前記第1行列と前記第4行列と前記第2行列との積が前記第3行列となるように成分の値が設定された第4行列を取得する取得工程と、
前記提案対象の提案先となる利用者の特徴を示す情報を含む行と、前記第4行列と、前記第2行列との積から、前記提案対象の提案先となる利用者の各提案対象に対する評価を示す値を算出する算出工程と、
前記算出工程によって算出された値に基づいて、前記利用者に対して提案する提案対象を選択する選択工程と
を含むことを特徴とする選択方法。
A selection method performed by the selection device,
A first matrix in which information indicating the characteristics of the user is arranged in the row direction, a second matrix in which information indicating the characteristics of the proposal target is arranged in the column direction, and information indicating the evaluation of the user for the proposal target in the row direction. A fourth matrix calculated from the arranged third matrix, wherein component values are set such that the product of the first matrix, the fourth matrix, and the second matrix becomes the third matrix. An acquisition step of acquiring a fourth matrix,
From the product of a row containing information indicating the characteristics of the user who is the proposal destination of the proposal target, the fourth matrix, and the second matrix, for each proposal target of the user who is the proposal destination of the proposal target A calculation step of calculating a value indicating the evaluation,
A selection step of selecting a proposal target to be proposed to the user based on the value calculated by the calculation step.
選択装置が実行する選択方法であって、
利用者の特徴を示す情報を含む第1行列と、コンテンツの特徴を示す情報を含む第2行列と、前記コンテンツに対する前記利用者の評価を示す情報を含む第3行列とから算出される第4行列であって、前記第1行列と前記第4行列と前記第2行列との積が前記第3行列となるように成分の値が設定された第4行列を取得する取得工程と、
前記コンテンツの提案先となる利用者の特徴を示す情報と、前記第4行列と、前記第2行列とを用いて、前記コンテンツの提案先となる利用者の前記コンテンツに対する評価を推定する推定工程と、
前記推定工程による推定結果に基づいて、前記利用者に対して提案するコンテンツを選択する選択工程と
を含むことを特徴とする選択方法。
A selection method performed by the selection device,
A fourth matrix calculated from a first matrix including information indicating characteristics of the user, a second matrix including information indicating characteristics of the content, and a third matrix including information indicating evaluation of the user for the content. An acquisition step of acquiring a fourth matrix in which the values of the components are set so that the product of the first matrix, the fourth matrix, and the second matrix becomes the third matrix,
An estimation step of estimating the evaluation of the content proposed by the user to whom the content is proposed, by using the information indicating the characteristics of the user who is proposed to the content, the fourth matrix, and the second matrix. When,
A selection step of selecting content to be proposed to the user based on the estimation result of the estimation step.
利用者の特徴を示す情報を含む第1行列と、提案対象の特徴を示す情報を含む第2行列と、前記提案対象に対する前記利用者の評価を示す情報を含む第3行列とから算出される第4行列であって、前記第1行列と前記第4行列と前記第2行列との積が前記第3行列となるように成分の値が設定された第4行列を取得する取得手順と、
前記提案対象の提案先となる利用者の特徴を示す情報をクエリとし、前記第4行列と前記第2行列との積の値を前記利用者の特徴に対する各提案対象のスコアとして、当該クエリと当該スコアとから算出される内積値の値が高い方から所定の数の提案対象を検索する検索手順と、
前記検索手順による検索結果に基づいて、前記利用者に対して提案する提案対象を選択する選択手順と
をコンピュータに実行させるための選択プログラム。
It is calculated from a first matrix including information indicating the characteristics of the user, a second matrix including information indicating the characteristics of the proposal target, and a third matrix including information indicating the evaluation of the user with respect to the proposal target. An acquisition procedure of acquiring a fourth matrix, which is a fourth matrix and has a component value set such that a product of the first matrix, the fourth matrix, and the second matrix becomes the third matrix,
The information indicating the characteristics of the user who is the proposal destination of the proposal target is used as a query, and the value of the product of the fourth matrix and the second matrix is used as the score of each proposal target for the characteristics of the user, and the query is used. A search procedure for searching a predetermined number of proposal targets from the higher inner product value calculated from the score,
And a selection procedure for selecting a proposal target to be proposed to the user based on a search result by the search procedure.
利用者の特徴を示す情報を行方向に配置した第1行列と、提案対象の特徴を示す情報を列方向に配置した第2行列と、提案対象に対する利用者の評価を示す情報を行方向に配置した第3行列とから算出される第4行列であって、前記第1行列と前記第4行列と前記第2行列との積が前記第3行列となるように成分の値が設定された第4行列を取得する取得手順と、
前記提案対象の提案先となる利用者の特徴を示す情報を含む行と、前記第4行列と、前記第2行列との積から、前記提案対象の提案先となる利用者の各提案対象に対する評価を示す値を算出する算出手順と、
前記算出手順によって算出された値に基づいて、前記利用者に対して提案する提案対象を選択する選択手順と
をコンピュータに実行させるための選択プログラム。
A first matrix in which information indicating the characteristics of the user is arranged in the row direction, a second matrix in which information indicating the characteristics of the proposal target is arranged in the column direction, and information indicating the evaluation of the user for the proposal target in the row direction. A fourth matrix calculated from the arranged third matrix, wherein component values are set such that the product of the first matrix, the fourth matrix, and the second matrix becomes the third matrix. An acquisition procedure for acquiring the fourth matrix,
From the product of a row containing information indicating the characteristics of the user who is the proposal destination of the proposal target, the fourth matrix, and the second matrix, for each proposal target of the user who is the proposal destination of the proposal target A calculation procedure for calculating a value indicating the evaluation,
A selection program for causing a computer to execute a selection procedure for selecting a proposal target to be proposed to the user based on the value calculated by the calculation procedure.
利用者の特徴を示す情報を含む第1行列と、コンテンツの特徴を示す情報を含む第2行列と、前記コンテンツに対する前記利用者の評価を示す情報を含む第3行列とから算出される第4行列であって、前記第1行列と前記第4行列と前記第2行列との積が前記第3行列となるように成分の値が設定された第4行列を取得する取得手順と、
前記コンテンツの提案先となる利用者の特徴を示す情報と、前記第4行列と、前記第2行列とを用いて、前記コンテンツの提案先となる利用者の前記コンテンツに対する評価を推定する推定手順と、
前記推定手順による推定結果に基づいて、前記利用者に対して提案するコンテンツを選択する選択手順と
をコンピュータに実行させるための選択プログラム。
A fourth matrix calculated from a first matrix including information indicating characteristics of the user, a second matrix including information indicating characteristics of the content, and a third matrix including information indicating evaluation of the user for the content. An acquisition procedure for acquiring a fourth matrix in which the values of the components are set so that the product of the first matrix, the fourth matrix, and the second matrix becomes the third matrix,
An estimation procedure for estimating the evaluation of the content by the user to whom the content is proposed using the information indicating the characteristics of the user to whom the content is proposed, the fourth matrix, and the second matrix. When,
A selection program for causing a computer to execute a selection procedure for selecting content to be proposed to the user based on the estimation result of the estimation procedure.
JP2016107281A 2016-05-30 2016-05-30 Selection device, selection method, and selection program Active JP6679415B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016107281A JP6679415B2 (en) 2016-05-30 2016-05-30 Selection device, selection method, and selection program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016107281A JP6679415B2 (en) 2016-05-30 2016-05-30 Selection device, selection method, and selection program

Publications (2)

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

Family

ID=60575740

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016107281A Active JP6679415B2 (en) 2016-05-30 2016-05-30 Selection device, selection method, and selection program

Country Status (1)

Country Link
JP (1) JP6679415B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111492391A (en) * 2017-12-22 2020-08-04 华为技术有限公司 Client, server and client-server system for generating personalized recommendations
JP7017528B2 (en) * 2019-01-21 2022-02-08 Kddi株式会社 Learning equipment, learning methods and learning programs

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007317068A (en) * 2006-05-29 2007-12-06 Osaka Prefecture Univ Recommending device and recommending system
JP2012079225A (en) * 2010-10-05 2012-04-19 Osaka Prefecture Univ Cooperation filtering processing method and program
JP2013228947A (en) * 2012-04-26 2013-11-07 Sony Corp Terminal device, information processing device, recommendation system, information processing method, and program

Also Published As

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

Similar Documents

Publication Publication Date Title
JP6254733B1 (en) Calculation device, calculation method, and calculation program
JP6827305B2 (en) Selection device, selection method and selection program
CN104765758A (en) Systems and Methods for Search Results Targeting
JP2018045553A (en) Selection device, selection method, and selection program
JP6780992B2 (en) Judgment device, judgment method and judgment program
JP7231317B2 (en) Estimation device, estimation method and estimation program
JP6679415B2 (en) Selection device, selection method, and selection program
JP2015079449A (en) Information extraction device, information extraction method, and information extraction program
JP2016006563A (en) Information processing device and information processing program
US10096045B2 (en) Tying objective ratings to online items
JP2018081584A (en) Providing device, providing method, and providing program
JP2018045288A (en) Advertisement distribution program, advertisement distribution system and advertisement distribution method
JP2020154880A (en) Calculation device, calculation method, and calculation program
JP6527276B2 (en) INFORMATION PROCESSING APPARATUS, INFORMATION PROCESSING PROGRAM, AND INFORMATION PROCESSING METHOD
JP6549742B1 (en) Decision device, decision method and decision program
JP2020091816A (en) Information processing device, information processing method and information processing program
JP2017146683A (en) Generation device, generation method, and generation program
JP6695228B2 (en) Determination device, determination method, and determination program
JP6541521B2 (en) Generation device, generation method, generation program, determination device, determination method, and determination program
JP6664600B2 (en) Provision device, provision method and provision program
JP7303855B2 (en) Information processing device, information processing method and information processing program
JP2019149035A (en) Provision device, provision method, and provision program
JP7453120B2 (en) Selection device, selection method and selection program
WO2022195844A1 (en) Information providing device, information providing method, and program
JP6342027B1 (en) Providing device, providing method, and providing program

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