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

Selection device, selection method and selection program Download PDF

Info

Publication number
JP2017215647A
JP2017215647A JP2016107281A JP2016107281A JP2017215647A JP 2017215647 A JP2017215647 A JP 2017215647A JP 2016107281 A JP2016107281 A JP 2016107281A JP 2016107281 A JP2016107281 A JP 2016107281A JP 2017215647 A JP2017215647 A JP 2017215647A
Authority
JP
Japan
Prior art keywords
matrix
user
product
proposal
information indicating
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.)
Granted
Application number
JP2016107281A
Other languages
Japanese (ja)
Other versions
JP6679415B2 (en
Inventor
諒 五十嵐
Ryo Igarashi
諒 五十嵐
洋太朗 鈴木
Yotaro Suzuki
洋太朗 鈴木
今井 健次
Kenji Imai
健次 今井
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

Landscapes

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

Abstract

PROBLEM TO BE SOLVED: To prevent increase in calculation cost when estimating evaluation of a user.SOLUTION: A selection device 10 comprises: an acquisition part which acquires a fourth matrix M30 in which the component value is set in such a manner that a product of a first matrix M20, the fourth matrix M30 and a second matrix M40 becomes a third matrix M10, with respect to the fourth matrix M30 calculated from the first matrix M20 including information indicating features of a user, the second matrix M40 including information indicating features of a proposal object and the third matrix M10 including information indicating evaluation of the user with respect to the proposal object; a retrieval part which defines information indicating features of a user to be a proposal destination of the proposal object as a query, defines a value of a product of the fourth matrix M30 and the second matrix M40 as a score of each proposal object and retrieves a predetermined number of proposal objects successively from a highest value among inner product values that are calculated from the query and the scores; and a selection part which selects a proposal object to be proposed to the user on the basis of a result of the retrieval by the retrieval part.SELECTED DRAWING: Figure 1

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, proposals are made to users from various contents such as voice, moving images, news, blogs, etc. that are to be distributed and products that are subject to transactions in online shopping malls, etc. 2. Description of the Related Art A technique for selecting a target to be performed (hereinafter referred to as “proposed target”) and notifying a user of the selected proposed target is known.

このような提案対象を選択する手法として、MF(Matrix Factorization)と呼ばれる手法が知られている。例えば、MFを用いて提案対象を選択するサーバは、一部のコンテンツや商品等に対する利用者の評価を含む評価値行列から、評価値行列を再現する2つの潜在行列を生成する。また、サーバは、生成した2つの潜在行列から、評価値行列を再計算することで、未評価の提案対象に対する利用者の評価を推定する。そして、サーバは、推定結果に基づいて、提案対象を選択する。   As a method for selecting such a proposal target, a method called MF (Matrix Factorization) is known. For example, a server that selects a proposal target using MF generates two latent matrices that reproduce an evaluation value matrix from an evaluation value matrix that includes a user's evaluation of some contents, products, and the like. In addition, the server estimates the evaluation of the user for 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号公報Japanese Patent Laying-Open No. 2015-060330

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

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

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

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

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

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

[実施形態]
〔1.選択装置の一例〕
まず、図1を用いて、選択装置が実行する選択処理の一例について説明する。図1は、実施形態に係る選択装置が実行する選択処理の一例を示す図である。図1では、選択装置10は、インターネット等の所定のネットワークNを介して、利用者U01が使用する利用者端末100と通信可能である。
[Embodiment]
[1. Example of selection device)
First, an example of selection processing 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 that can communicate with an arbitrary server device via a wireless communication network such as 3G (3rd Generation) or LTE (Long Term Evolution). It is. Note that the user terminal 100 may be not only a smart device but also an information processing apparatus such as a desktop PC or a notebook PC.

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

なお、選択装置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 perform distribution of arbitrary information as long as information selection processing for distributing information to the user terminal 100 is executed.

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

〔1−1.MFについて〕
ここで、利用者に提案する情報を選択する手法として、MFと呼ばれる手法が知られている。以下、MFを用いて利用者に提案する情報を選択するサーバ装置が実行する処理の一例について説明する。なお、以下の説明では、動画像等のコンテンツのうち、利用者に対して提案するコンテンツを選択する処理の一例について説明する。
[1-1. About MF]
Here, as a method for selecting information to be proposed to the user, a method called MF is known. Hereinafter, an example of processing executed by the server device that selects information to be proposed to the user using MF will be described. In the following description, an example of processing for 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 for 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 evaluation values of each user for each content are stored. To get. In general, since not all users are evaluating all contents, 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. 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 a restoration matrix R ′.

このようにして算出された復元行列R’には、評価値行列Rに入力されていた成分のみならず、評価値行列Rに入力されていなかった成分が含まれることとなる。すなわち、復元行列R’には、各コンテンツに対する利用者の評価の予測値が含まれることとなる。そこで、サーバ装置は、復元行列R’を用いて、各コンテンツに対する利用者の評価を予測し、予測結果に基づいて、利用者に対して提案するコンテンツを選択する。   The restoration matrix R ′ calculated in this way includes not only the component input to the evaluation value matrix R but also the component that has not been input to the evaluation value matrix R. That is, the restoration matrix R ′ includes predicted values of user evaluation for each content. Therefore, the server device predicts the user's evaluation for each content 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 MF technique described above, when the user's evaluation for each content changes, that is, when the component of the evaluation value matrix R changes, the latent matrix P that reproduces the changed evaluation value matrix R and the latent matrix The matrix Q needs to be calculated again. Further, when a new user or content is added, the number of rows and the number of columns of the evaluation value matrix R changes, so that a new latent matrix P and latent matrix Q that reproduce the new evaluation value matrix R are obtained. It is necessary to calculate again. As a result, the above-described MF technique may increase the calculation cost. Especially in services where the user's evaluation of content changes instantaneously, such as news recommendations and product recommendations, compared to services such as movie distribution services where the user evaluation of content does not change much. The update frequency of the latent matrix P and the latent matrix Q is increased.

〔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 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. The fourth matrix calculated from the above is acquired, and the fourth matrix is set such that the product of the first matrix, the fourth matrix, and the second matrix is the third matrix. Further, the selection device 10 uses the information indicating the feature of the user who is the proposal target of the proposal target as a query, and sets the value of the product of the fourth matrix and the second matrix as the score of each proposal target for the user feature, A predetermined number of proposal targets are searched from a higher inner product value calculated from the query and the score. And the selection apparatus 10 selects the proposal object proposed with respect to a user based on the search result by a search part.

〔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 generates a latent element matrix W that reproduces the evaluation value matrix R using a technique called IMC. For example, the selection device 10 acquires a user feature matrix X in which user features are arranged in the row direction as the first matrix, and arranges information indicating the feature of the product to be proposed in the column direction as the second matrix. The obtained product feature matrix Y is acquired. Moreover, the selection apparatus 10 acquires the evaluation value matrix R which has arrange | positioned the information which shows the user's evaluation with respect to goods in a row direction as a 3rd matrix.

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

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

より具体的には、選択装置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 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 (that is, R≈X × U × V × Y). The latent element matrix U and the latent element matrix V are generated using ALS (Alternating Least Squares) or the like. Then, the selection device 10 calculates the product of the generated latent element matrix U and the latent element matrix V as a latent element matrix W. Then, the selection device 10 calculates a restoration matrix R ′ from the product of the user feature matrix X, the latent element matrix W, and the product feature matrix Y, and based on the calculated component values of the restoration matrix R ′, Select a product to be proposed 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 for the product, but a latent element for estimating the user's evaluation for the product from the relationship between the user's characteristics and the product characteristics. It becomes the information which shows. For this reason, since the selection device 10 can specify the attributes of a new user or a new product even when a new user is added or a new product is added. If there is, the evaluation value can be calculated without updating the latent element matrix W. As a result, when the latent element matrix W is generated, the selection device 10 prevents an increase in calculation cost for updating the latent element matrix W even when a user or a product is added. I can do it.

〔1−4.復元行列R’の算出について〕
ここで、選択装置10は、復元行列R’を算出する場合には、商品の提案先となる利用者の特徴を配置した行と、潜在要素行列Wと、商品特徴行列Yとの積を算出する。より具体的には、選択装置10は、利用者から商品の検索リクエストを受付けた場合や、利用者から商品の提案リクエストを受け付けた場合等、利用者からの各種リクエストを受付けた場合には、その利用者の特徴を配置した行と、潜在要素行列Wと、商品特徴行列Yとの積を算出する。
[1-4. Regarding 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 feature of the user as the product proposal destination is arranged, the latent element matrix W, and the product feature matrix Y. To do. More specifically, when the selection device 10 receives various requests from a user, such as when a search request for a product is received from a user or when a proposal request for a product is received from a user, The product of the row in which the feature of the user is 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 as the proposal destination, the selection device 10 extracts a row including the feature of the user as the proposal destination from the user feature matrix X. Then, the selection device 10 integrates the extracted row, the latent element matrix W, and the product feature matrix Y, so that the restoration matrix R ′ includes a row that includes an evaluation of each product by the user as a 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 feature of the user who is the proposal destination, the selection device 10 displays the characteristics of the new user. Is generated. Such a row does not have to include all the features that can be acquired. For example, a predetermined initial value may be included as a component. And the selection apparatus 10 calculates the row | line | column containing the evaluation to each goods by the user who becomes a proposal destination by integrating the produced | generated row | line | column, 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 a row indicating the feature 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 integrating W and the product feature matrix Y, a row including evaluations of each product by the user as a proposal destination may be calculated in the restoration matrix R ′.

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

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

〔1−5.WANDについて〕
ここで、利用者が興味を有していると予測される商品の提案を行う場合、選択装置10は、以下の処理を実行する。まず、選択装置10は、提案先となる利用者の特徴を示す行と潜在要素行列Wと商品特徴行列Yとを積算することで、提案先となる利用者による各商品への評価を示す値を算出する。そして、選択装置10は、算出した値が高い方から所定の数の商品を提案対象として選択し、選択した商品に関する情報を利用者に配信する。しかしながら、電子商取引の対象となる商品の数によっては、迅速に提案対象となる商品を検索できない場合がある。例えば、電子商取引の対象となる商品が億のオーダーで存在する場合等には、提案対象を検索する際の計算コストが増大してしまう。
[1-5. About WAND]
Here, when a product that is predicted to be of interest to a user is proposed, the selection device 10 executes the following process. First, the selection device 10 accumulates the row indicating the feature of the user who is the proposal destination, the latent element matrix W, and the product feature matrix Y, thereby indicating a value indicating the evaluation of each product by the user who is the proposal destination. Is calculated. And the selection apparatus 10 selects a predetermined number of goods as a proposal object from the one where the calculated value is higher, and delivers the information regarding the selected goods to a 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, when a product to be subject to electronic commerce exists in an order of 100 million, the calculation cost for searching for a proposal target increases.

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

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

〔1−6.選択処理の適用対象について〕
なお、上述した例では、選択装置10は、電子商取引の対象となる商品の特徴を示す商品特徴行列Yと、電子商取引の対象となる商品に対する各利用者の評価を示す評価値行列Rとを用いて、潜在要素行列Wを生成し、生成した潜在要素行列Wを用いて、提案先となる利用者の各商品に対する評価値を算出した。すなわち、選択装置10は、電子商取引の対象となる商品を提案対象とした。しかしながら、実施形態は、これに限定されるものではない。
[1-6. (Applicable selection process)
In the above-described example, the selection device 10 obtains a product feature matrix Y that indicates the characteristics of the product that is the object of electronic commerce, and an evaluation value matrix R that indicates the evaluation of each user for the product that is the object of electronic commerce. Thus, the latent element matrix W was generated, and the evaluation value for each product of the user who is the proposal destination was calculated using the generated latent element matrix W. In other words, the selection device 10 selects a product that is an object of electronic commerce as a proposal. 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, and microblogs. More specifically, the selection device 10 uses an evaluation value matrix R including a user's evaluation for each content to be distributed, a user feature matrix X, and a product feature matrix Y including content features, A latent element matrix W is generated, the user feature matrix X, the latent element matrix W, and the product feature matrix Y are used to estimate the evaluation of each content of the user who is the content proposal destination, and based on the estimation result Thus, the content to be proposed to the user may be selected. As described above, the selection device 10 may implement the content recommendation for the user by applying the selection process described above to the selection of the content.

〔1−7.選択処理の一例について〕
次に、図1を用いて、選択装置10が実行する選択処理の一例について説明する。まず、選択装置10は、IMCを用いて、スパースな評価値行列Rと、ユーザ特徴行列Xと、商品特徴行列Yとに基づいて、潜在要素行列Wを算出する(ステップS1)。
[1-7. (Example of selection process)
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 the IMC to calculate a 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 including evaluation values for the products 1 to 5 of the users 1 to 5. For example, in the example illustrated in FIG. 1, the matrix M10 indicates that the evaluation of the “user 1” for the product B is “5” and the evaluation for the “product D” is “2”. Further, the selection device 10 acquires a matrix M20 including values indicating the characteristics of “users 1 to 5” as the user feature matrix X. For example, in the example illustrated in FIG. 1, in the matrix M <b> 20, “users 1 to 5” are associated with each row, user characteristics are associated with each column, and each user is associated with each row. Among these, “1” is stored in a 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 “female” in “20's” and uses “PC (Personal Computer)” as the user terminal 100. . 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 is “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 such a matrix M10, M20, M40 is acquired, the selection device 10 determines the value of each component of the matrix M30 so that the product of the matrix M20, the matrix M30, and the matrix M40 is the matrix M10. Is calculated. More specifically, the selection device 10 calculates the value of each component of the matrix M30 using a technique 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 becomes an integration matrix WY from the latent element matrix W and the product feature matrix Y (step S2). That is, the selection apparatus 10 calculates in advance 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). Note that 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 has received 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 specify a product that is estimated to have a high evaluation value by the user U01 (step S4). For example, the selection device 10 extracts, from the user feature matrix X, a row associated with the user U01 (for example, a row including information indicating the feature of “user 2”). In addition, the selection device 10 uses a row extracted from the user feature matrix X as a query, and uses the integration matrix WY as an index of a product (step S5). Here, considering that the product of the user feature matrix X and the integration matrix WY becomes an evaluation value matrix R (restoration matrix R ′), the integration matrix WY includes, for each feature of the user, the user's feature. 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 identify a predetermined number of products from 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 for a product with a high evaluation value, that is, an advertisement for “product C” and “product B”, to the user terminal 100 together with the product search result, and displays the advertisement (step S7). ). As a result, the selection device 10 can provide the user U01 with an advertisement for a product that is estimated to have a high evaluation of the user U01 using the IMC.

〔2.選択装置の構成〕
以下、上記した選択処理を実現する選択装置10が有する機能構成の一例について説明する。図2は、実施形態に係る選択装置の構成例を示す図である。図2に示すように、選択装置10は、通信部20、記憶部30、および制御部40を有する。
[2. Configuration of selection device)
Hereinafter, an example of the functional configuration of the selection device 10 that realizes 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 illustrated 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). The communication unit 20 is connected to the network N by wire or wireless, 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, 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. In the product database 31, each component of the product feature matrix Y is registered. For example, FIG. 3 is a diagram illustrating an example of information registered in the product database according to the embodiment. As shown in FIG. 3, in the product database 31, “product attributes”, which are characteristics of products targeted for electronic commerce, are associated with each row, and “product ID (Identifier)”, which is a product identifier, is stored. 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 illustrated in FIG. 3, in the product database 31, among the columns associated with the product ID “A”, the product attributes “sale”, “category 2”, and “tax included” are associated with the cells. “0” is stored, and “1” is stored in the cell associated with the product attributes “category 1” and “free shipping”. 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には、各利用者が各商品に対して行った評価の内容を示す値が対応するセルに登録されている。   In the evaluation value database 32, each component of the evaluation value matrix R is registered. For example, FIG. 4 is a diagram illustrating 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, “user ID” for identifying each user is associated with each row, and “product ID” is associated with each column. In the evaluation value database 32, values indicating the contents of evaluation performed by each user on each product are registered in the corresponding cells.

例えば、図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, “5” is registered in the cell associated with the product ID “B” in the evaluation value database 32 in the row associated with the user ID “1”. “2” is registered in the cell associated with the product ID “D”. In such information, the user indicated by the user ID “1” assigns an evaluation value “5” to the product indicated by the product ID “B”, and assigns an evaluation value “2” to the product indicated by the product ID “D”. It shows that it did. In the evaluation value database 32, no evaluation value is registered in a cell corresponding to a product that is not evaluated by the user.

ユーザデータベース33は、ユーザ特徴行列Xの各成分が登録されている。例えば、図5は、実施形態に係るユーザデータベースに登録される情報の一例を示す図である。図5に示すように、ユーザデータベース33には、各利用者を識別する「利用者ID」が各行に対応付けられており、「男」や「女」等といった利用者の属性である「利用者属性」が各列に対応付けられている。そして、ユーザデータベース33には、各利用者が有する特徴と対応するセルに、成分「1」が登録されている。   In the user database 33, each component of the user feature matrix X is registered. For example, FIG. 5 is a diagram illustrating an example of information registered in the user database according to the embodiment. As shown in FIG. 5, in the user database 33, “user ID” for identifying each user is associated with each row, and “user” is an attribute of the user such as “male” or “female”. "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 attributes “female”, “20s”, and “PC” are associated with the user database 33 among the rows associated with the user ID “1”. “1” is registered in the cell, and “0” is registered in other cells. Such information indicates that the user indicated by the user ID “1” is a woman in his 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, values of components of the latent element matrix W generated from the user feature matrix X, the product feature matrix Y, and the evaluation value matrix R are registered. For example, FIG. 6 is a diagram illustrating 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. In the latent element database 34, values “value # 1” to “value # 11” of each component calculated from the user feature matrix X, the product feature 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 actually, 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 product value of the user feature matrix X, the latent element matrix W, and the product feature matrix Y has values 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, for each user attribute, a score value indicating the relevance of each product to the user attribute is registered in the index database 35. For example, data in a format such as “User Feature ID 1: <Item ID, Score>,...” Is registered in the index database 35. Here, “User Feature ID 1” is information indicating a user attribute. “ItemID1” is a product identifier. “Score” is a score value indicating the relevance of the product indicated by the identifier of the associated product 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. For example, various programs stored in a storage device inside the selection device 10 are stored in a RAM or the like by a processor such as a CPU (Central Processing Unit) or an MPU (Micro Processing Unit). This 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 illustrated 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 reception unit 41 receives a search query for a product desired by the user U01. In such a case, the request reception unit 41 searches the product database 31 for a product that matches the search query, and generates a web page indicating the search result.

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

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

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

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

後述する説明で明らかとなるように、WANDアルゴリズムを用いて、クエリとスコアとから算出される内積値の値が高い方から所定の数の提案対象を検索する場合、計算対象となるクエリとスコアとの値が、候補として保持した内積値の値よりも少ない場合は、内積値の計算をスキップすることとなる。このため、検索部44は、WANDアルゴリズムを用いて、クエリとスコアとから算出される内積値の値が、候補として保持した内積値の値よりも大きくなると判断した場合にのみ、算出部43に内積値の算出を行わせる。この結果、算出部43、検索部44は、各商品に対する評価を示す値を算出するための計算コストを削減することができる。   As will be apparent from the description to be described later, when searching for a predetermined number of proposal targets from the higher inner product value calculated from the query and score using the WAND algorithm, the query and score to be calculated Is smaller than the inner product value held as a candidate, the calculation of the inner product value is skipped. Therefore, the search unit 44 uses the WAND algorithm only when the inner product value calculated from the query and the score is determined to be larger than the inner product value held as a candidate. The inner product value is calculated. As a result, the calculation unit 43 and the search unit 44 can reduce the calculation cost for calculating a value indicating 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 notification of a predetermined number of products from the search unit 44 from the higher inner product value calculated from the query and the score. In such a case, the selection unit 45 selects a product to be actually delivered 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 for proposing the selected product to the user U01, that is, an advertisement for 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 for a product that is likely to be liked by the user U01.

生成部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 a latent element matrix W in which the values of the components are set so that the product of the user feature matrix X, the latent element matrix W, and the product feature matrix Y approaches the evaluation value matrix R. . For example, the generation unit 47 acquires a value indicating the user's evaluation for each product from a log server or the like, and generates an 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. Further, the generation unit 47 collects user features from a management server (not shown) or the like, and generates a user feature matrix X based on the collected features. Then, the generation unit 47 registers the generated user feature matrix X in the user database 33. In addition, the generation unit 47 collects product features from a management server or the like that manages the products that are subject to electronic commerce, and generates a product feature matrix Y based on the collected features. Then, the generation unit 47 registers the generated product feature matrix Y in the product database 31.

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

例えば、利用者の特徴の数を「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 user features is “d1” and the number of product features 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. Hesitate. 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 a 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, an example of processing for estimating an evaluation value for each product of a user when a new user is added will be described with reference to FIG. 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 a user indicated by the user ID “6” is added, the evaluation value matrix R includes a row corresponding to the user indicated by the user ID “6”. A row M11 in which no component value is input is added. In addition, a row M21 into which a component indicating a user attribute indicated by the user ID “6” is input is added to the user feature matrix X as a row corresponding to the user indicated by the user ID “6”. It will be.

そして、選択装置10は、利用者ID「6」が示す利用者から商品の検索要求を受信した場合には、ユーザ特徴行列Xのうち、利用者ID「6」が示す利用者と対応する行M21と、潜在要素行列Wと、商品特徴行列Yとの積を算出することで、評価値行列Rのうち、利用者ID「6」が示す利用者と対応する行M11に入力されることとなる値を算出する。そして、選択装置10は、算出した値に基づいて、利用者ID「6」が示す利用者に対して提案する商品を選択し、選択した商品の広告を検索結果とともに配信する。   When the selection device 10 receives a product search request from the user indicated by the user ID “6”, the selection device 10 includes a 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, the evaluation value matrix R is input to the row M11 corresponding to the user indicated by the user ID “6”. Is calculated. And the selection apparatus 10 selects the goods proposed with respect to the user which user ID "6" shows based on the calculated value, and distributes the advertisement of the selected goods with a search result.

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

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

ここで、選択装置10は、利用者ID「3」が示す利用者から商品の検索要求を受信した場合には、ユーザ特徴行列Xのうち、利用者ID「3」が示す利用者と対応する行M22を抽出する。そして、選択装置10は、抽出した行M22と、潜在要素行列Wと、列M41を追加した商品特徴行列Yとの積を算出することで、利用者ID「3」が示す利用者の各商品に対する評価値を含む行M12の各要素の値を推定する。   Here, when receiving a 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. Row M22 is extracted. Then, the selection device 10 calculates each product of the user indicated by the user ID “3” by calculating 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. The value of each element in the row M12 including the evaluation value for is estimated.

ここで、潜在要素行列Wには、利用者の属性と商品の属性との関連性に基づいて、利用者の各商品に対する評価値を算出するための値が含まれることとなる。このため、選択装置10は、商品特徴行列Yに新たな商品が登録された場合であっても、その商品の属性を特定することが出来るのであれば、利用者の属性と、既存の潜在要素行列Wと、商品特徴行列Yとから、新たな商品に対する評価値を算出することができる。この結果、選択装置10は、商品の追加が行われた場合にも、潜在要素行列Wの再計算を不要とするので、計算コストの増大を防ぐことができる。   Here, the latent element matrix W includes values for calculating an evaluation value for each product of the user based on the relationship between the user attribute and the product attribute. For this reason, even if a new product is registered in the product feature matrix Y, the selection device 10 can identify the attributes of the product and the existing latent elements as long as the product attribute 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, since the selection device 10 does not need to recalculate the latent element matrix W even when a product is added, 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, an example of processing for selecting a predetermined number of products having a high user evaluation value from among products using the WAND algorithm will be described with reference to FIGS. FIG. 10 is a first diagram illustrating an example of processing for selecting a product with a high evaluation value using the WAND algorithm. FIG. 11 is a second diagram illustrating an example of processing for selecting a product having a high evaluation value using the WAND algorithm. FIG. 12 is a third diagram illustrating an example of processing for selecting a product having a high evaluation value using the WAND algorithm. In addition, in the example shown in FIGS. 10-12, it described about an example of the process which selects two goods from the one where the value of evaluation value is higher.

例えば、選択装置10は、ユーザ特徴行列Xのうち、提案先となる利用者の特徴を示す情報を含む行と、積算行列WYとの積を算出することで、提案先となる利用者の各商品に対する評価値の値を算出することが出来る。ここで、積算行列WYには、利用者の特徴ごとに、その特徴に対する各商品のスコアが登録されているとみなすことができる。このため、ユーザ特徴行列Xのうち、提案先となる利用者の特徴を示す情報を含む行をクエリと見做し、積算行列WYを商品のインデックスとみなした場合には、提案先となる利用者の各商品に対する評価値の値は、クエリと、そのクエリに対応する商品のインデックスのスコアとの内積値となる。すると、評価値が高い方から所定の数の商品を選択する処理は、クエリに対応するスコアが高いドキュメントをOR検索する処理に落とし込むことが出来る。   For example, the selection device 10 calculates each product of the user as the proposal destination by calculating the product of the row including the information indicating the feature of the user as the proposal destination in the user feature matrix X and the integration matrix WY. The value of the evaluation value for the product can be calculated. Here, in the integration matrix WY, for each feature of the user, it can be considered that the score of each product for that feature is registered. For this reason, in the user feature matrix X, when the row including information indicating the feature of the user who is the proposal destination is regarded as a query, and the integration matrix WY is regarded as the product index, the use as the proposal destination The value of the evaluation value for each product of the person 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 higher evaluation value can be put into the process of performing an OR search for 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 apparatus 10 regards a row including information indicating the feature of the user as a proposal destination in the user feature matrix X as a query, regards the integration matrix WY as a product index, and uses the WAND algorithm. A predetermined number of products are selected from those with higher evaluation values. For example, it is assumed that the user attributes “U_id_1”, “U_id_2”, and “U_id_3” are included in the features of the user as the proposal destination. In such a case, the selection device 10 extracts a combination of a product and a score associated with each of the user attributes “U_id_1”, “U_id_2”, and “U_id_3” from the integration matrix WY. In the following description, a combination 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)” from the integration matrix WY as a pair of a product and a score associated with the user attribute “U_id_1”. In addition, the selection device 10 determines “(2, 3), (3, 3), (5, 1)” as a set of products and scores associated with the user attribute “U_id_2” from the integration matrix WY. To extract. In addition, the selection device 10 determines, from the integration matrix WY, “(1, 1), (2, 2), (4, 2),” as a set of products and scores associated with the user attribute “U_id_3”. (5, 1) "is extracted. Moreover, the selection apparatus 10 arranges data in order of product ID.

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

また、選択装置10は、図10中(A)〜(C)に示すように、利用者属性ごとに、先頭のデータにポインタを設定する。そして、選択装置10は、ポインタが示すデータのうち、同じ商品IDを含むデータを特定し、特定したデータに含まれるスコアの合計を、特定したデータに含まれる商品IDが示す商品のポイントとしてAccumulatorに保持する。例えば、図10に示す例では、選択装置10は、商品ID「1」を含むデータとして、図10中(A)のポインタが示すデータ「(1、6)」と、図10中(C)のポインタが示すデータ「(1、1)」とを特定し、特定したデータに含まれるスコアの合計「7」をポイントとして算出する。そして、選択装置10は、図10中(D)に示すように、商品ID「1」とポイント「7」とを含むデータ「(1、7)」をAccumulatorに保持する。   In addition, as illustrated in FIGS. 10A to 10C, the selection device 10 sets a pointer to the top data for each user attribute. Then, the selection device 10 identifies data including the same product ID among the data indicated by the pointer, and uses the total of the scores included in the specified data as the points of the product indicated by the product ID included in the specified data. Hold on. For example, in the example illustrated in FIG. 10, the selection device 10 includes data “(1, 6)” indicated by the pointer (A) in FIG. 10 and data (C) in FIG. 10 as data including the product ID “1”. The data “(1, 1)” indicated by the pointer is identified, and the total score “7” included in the identified data is calculated as a point. Then, as illustrated in (D) in FIG. 10, the selection device 10 holds 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, 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 that shown in FIG. For example, in the example illustrated in FIG. 11, the selection device 10 includes data “(2, 3)” indicated by the pointer (A) in FIG. 11 and data (B) in FIG. 11 as data including the product ID “2”. The 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 illustrated in FIG. 11C, the selection device 10 holds 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 point of each data registered in Accumulator, the lowest value is the point “5” of the product ID “2”. On the other hand, in consideration of the highest score corresponding to each user attribute, in order for the point of a product to exceed the value of the point “5” of the product ID “2”, data including the product ID of the product is included. , At least the user attribute “U_id_1” needs to be associated with another user attribute. 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 the points corresponds to the user attribute “U_id_2”. The sum of the highest score value “3” and the user attribute “U_id — 2” and the corresponding highest score value “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」については、ポイントの算出を行わずとも、候補から除外することが出来る。   Accordingly, as illustrated in FIGS. 12A and 12B, 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 points.

そして、選択装置10は、図12に示す例では、各ポインタが示すデータ、すなわち、商品ID「5」のスコアの合計「6」をポイントとして算出する。そして、選択装置10は、図12中(C)に示すように、商品ID「5」とポイント「6」とを含むデータ「(5、6)」をAccumulatorに保持する。この結果、選択装置10は、内積値が高い方から2つの商品の商品IDとして、商品ID「1」、商品ID「5」を特定することが出来る。   In the example illustrated 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 FIG. 12C, the selection device 10 holds 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 from the higher inner product value.

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

そして、選択装置10は、ALSを用いて、ユーザ特徴行列Xと、商品特徴行列Yと、評価値行列Rとから、潜在要素行列Wを生成する(ステップS104)。その後、選択装置10は、潜在要素行列Wと、商品特徴行列Yとの積をインデックスとして、インデックスデータベース35に保持し(ステップS105)、処理を終了する。   And the selection apparatus 10 produces | generates the latent element matrix W from the user feature matrix X, the goods feature matrix Y, and the evaluation value matrix R using ALS (step S104). Thereafter, the selection device 10 stores 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)、処理を終了する。   Subsequently, an example of the flow of a selection process for selecting a process proposed by the selection device 10 to the user will be described with reference to FIG. FIG. 14 is a flowchart illustrating an example of the flow of selection processing executed by the selection device according to the embodiment. First, the selection device 10 determines whether or not a request such as a search request for a product has been received from the user (step S201). If the request has not been received (step S201: No), the selection device 10 waits until it is received. When the selection device 10 accepts the request (step S201: Yes), the selection device 10 extracts the request source user row from the user feature matrix X (step S202). Subsequently, the selection device 10 uses the user attribute 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 inner product value. It specifies using WAND (step S204). The selection device 10 sets the specified product as a recommendation target for the user (step S205), proposes the recommended target product to the user together with the search result corresponding to the request (step S206), and performs processing. finish.

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

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

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

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

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

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

また、選択装置10は、利用者に対して配信する広告を選択する際に、上述した選択処理を適用してもよい。例えば、選択装置10は、商品特徴行列Yと同様に、各広告の特徴を示す情報を含む広告特徴行列Y’’を取得する。また、選択装置10は、ユーザ特徴行列Xと、広告特徴行列Y’’と、各広告に対する利用者の評価を示す評価値行列Rとから潜在要素行列Wを取得する。そして、選択装置10は、利用者の特徴を示す情報を含む行と、潜在要素行列Wと、広告特徴行列Y’’とから、各広告に対する利用者の評価を推定し、推定結果に基づいて、利用者に配信する広告を選択してもよい。   The selection device 10 may apply the selection process described above when selecting an advertisement to be distributed to the user. For example, similarly to the product feature matrix Y, the selection device 10 acquires an advertisement feature matrix Y ″ including information indicating the feature of each advertisement. 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 evaluation of the user for each advertisement. Then, the selection device 10 estimates the user's evaluation for each advertisement from the row including information indicating the user's characteristics, the latent element matrix W, and the advertisement feature matrix Y ″, and based on the estimation result An 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 connected to be able to communicate with an arbitrary 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 input items. In such a case, the request receiving 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 are arranged. The generation unit 47 and the like are arranged. Further, the databases 31 to 35 stored in the storage unit 30 may be stored not in the selection device 10 but in, for example, an external storage server.

〔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 items may be used as long as they are items indicating user characteristics or items indicating product characteristics. Item can be adopted.

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

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

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

〔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 embodiment described above is realized by a computer 1000 having a configuration as shown in FIG. 15, for example. FIG. 15 is a diagram illustrating an example of a 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 via a bus 1090. Have

演算装置1030は、一次記憶装置1040や二次記憶装置1050に格納されたプログラムや入力装置1020から読み出したプログラム等に基づいて動作し、各種の処理を実行する。一次記憶装置1040は、RAM等、演算装置1030が各種の演算に用いるデータを一次的に記憶するメモリ装置である。また、二次記憶装置1050は、演算装置1030が各種の演算に用いるデータや、各種のデータベースが登録される記憶装置であり、ROM(Read Only Memory)、HDD、フラッシュメモリ等により実現される。   The arithmetic device 1030 operates based on a program stored in the primary storage device 1040 and the secondary storage device 1050, a program read from the input device 1020, and 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 arithmetic operations. The secondary storage device 1050 is a storage device in which data used for various calculations by the calculation device 1030 and various databases are registered, and is realized by a ROM (Read Only Memory), HDD, 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 types of information such as a monitor and a printer. For example, USB (Universal Serial Bus), DVI (Digital Visual Interface), This is realized by a standard connector 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, a USB.

なお、入力装置1020は、例えば、CD(Compact Disc)、DVD(Digital Versatile Disc)、PD(Phase change rewritable Disk)等の光学記録媒体、MO(Magneto-Optical disk)等の光磁気記録媒体、テープ媒体、磁気記録媒体、または半導体メモリ等から情報を読み出す装置であってもよい。また、入力装置1020は、USBメモリ等の外付け記憶媒体であってもよい。   The input device 1020 includes, 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 be an external storage medium such as a USB memory.

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

演算装置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 a 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 feature matrix X including information indicating the features of the user, the product feature matrix Y including information indicating the features of the proposal target, and information indicating the evaluation of the user with respect to the proposal target. The component value is set such that the product of the user feature matrix X, the latent element matrix W, and the product feature matrix Y becomes the evaluation value matrix R. The obtained latent element matrix W is obtained. Then, the selection device 10 uses the information indicating the user's feature as a query, and uses the product of the latent element matrix W and the product feature matrix Y as the score of each proposal target for the user's feature, from the query and the score. A predetermined number of proposal targets are searched from the higher inner product value calculated. Then, the selection apparatus 10 selects the proposal object proposed with respect to a user based on a search result.

このように、選択装置10は、IMCを用いて算出された潜在要素行列Wから、提案対象に対する利用者の評価を算出する。このため、選択装置10は、利用者の追加や商品の追加等が行われた場合や、利用者の評価が更新された場合等における潜在要素行列Wの再計算の頻度を少なくすることができるので、計算コストの増大を防ぐことができる。また、選択装置10は、配信先となる利用者の特徴から、提案対象に対する利用者の評価を容易に算出することができるので、利用者からの要求時に、提案対象の選択をランタイムで行うことができる。   As described above, the selection device 10 calculates the evaluation of the user with respect to the proposal target from the latent element matrix W calculated using the IMC. For this reason, 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 a user evaluation is updated. Therefore, increase in calculation cost can be prevented. In addition, 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 as the distribution destination, the selection target can be selected at runtime when requested by the user. Can do.

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

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

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

このように、選択装置10は、IMCを用いて算出された潜在要素行列Wから、提案対象に対する利用者の評価を算出する。このため、選択装置10は、提案対象の提案先となる利用者の属性を示す行と、潜在要素行列Wと、商品特徴行列Yとの積を算出するだけで、提案対象の提案先となる利用者の各提案対象に対する評価を容易に取得することが出来る。   As described above, the selection device 10 calculates the evaluation of the user with respect to the proposal target from the latent element matrix W calculated using the IMC. For this reason, the selection apparatus 10 becomes the proposal target proposal destination 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. It is possible to easily obtain an evaluation for each proposal target of the user.

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

また、選択装置10は、電子商取引の対象となる商品または役務の特徴を示す情報が列方向に配置された商品特徴行列Yと、商品または役務に対する各利用者の評価を示す情報を行方向に配置した評価値行列Rとから算出される潜在要素行列Wを取得する。また、選択装置10は、商品または役務の提案先となる利用者の特徴を示す情報を含む行と、潜在要素行列Wと、商品特徴行列Yとの積から、利用者の商品または役務に対する評価を示す値を算出する。そして、選択装置10は、算出結果に基づいて、利用者に対して提案する商品または役務を選択する。このため、選択装置10は、提案対象となる商品や役務の選択をランタイムで行うことができる。   In addition, the selection device 10 includes, in the row direction, a product feature matrix Y in which information indicating the characteristics of the product or service that is the object of the electronic commerce is arranged in the column direction, and information indicating the evaluation of each user for the product or service in the row direction. 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 the row including the information indicating the user's feature that is the proposal destination of the product or service, the latent element matrix W, and the product feature matrix Y. A value indicating is calculated. And the selection apparatus 10 selects the goods or service proposed with respect to a user based on a calculation result. For this reason, the selection apparatus 10 can perform selection of the goods and service used as proposal object at runtime.

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

このように、選択装置10は、IMCを用いて算出された潜在要素行列Wから、配信対象となるコンテンツに対する利用者の評価を算出し、算出結果に応じて、提案対象となるコンテンツを選択する。このため、選択装置10は、利用者の追加や商品の追加等が行われた場合や、利用者の評価が更新された場合等における潜在要素行列Wの再計算の頻度を少なくすることができるので、計算コストの増大を防ぐことができる。   As described above, the selection device 10 calculates the evaluation of the user for the content to be distributed from the latent element matrix W calculated using the IMC, and selects the content to be proposed according to the calculation result. . For this reason, 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 a user evaluation is updated. Therefore, increase in calculation cost can be prevented.

また、選択装置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 a latent element matrix W in which the values of the respective components are set so that the product of the user feature matrix X, the latent element matrix W, and the product feature matrix Y approaches the evaluation value matrix R. More specifically, the selection device 10 includes the latent element matrix U having the same number of rows as the number of columns of the user feature matrix X and the latent element matrix V having the same number of columns as the number of rows of the product feature 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 latent element matrix V as a latent element matrix W. For this reason, the selection apparatus 10 can generate the latent element matrix W using a technique such as ALS, for example.

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

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

10 選択装置
20 通信部
30 記憶部
31 商品データベース
32 評価値データベース
33 ユーザデータベース
34 潜在要素データベース
35 インデックスデータベース
40 制御部
41 要求受付部
42 取得部
43 算出部
44 検索部
45 選択部
46 配信部
47 生成部
100 利用者端末
DESCRIPTION OF SYMBOLS 10 Selection apparatus 20 Communication part 30 Storage part 31 Goods database 32 Evaluation value database 33 User database 34 Latent element database 35 Index database 40 Control part 41 Request reception part 42 Acquisition part 43 Calculation part 44 Search part 45 Selection part 46 Distribution part 47 Generation | occurrence | production Department 100 User terminal

Claims (15)

利用者の特徴を示す情報を含む第1行列と、提案対象の特徴を示す情報を含む第2行列と、前記提案対象に対する前記利用者の評価を示す情報を含む第3行列とから算出される第4行列であって、前記第1行列と前記第4行列と前記第2行列との積が前記第3行列となるように成分の値が設定された第4行列を取得する取得部と、
前記提案対象の提案先となる利用者の特徴を示す情報をクエリとし、前記第4行列と前記第2行列との積の値を前記利用者の特徴に対する各提案対象のスコアとして、当該クエリと当該スコアとから算出される内積値の値が高い方から所定の数の提案対象を検索する検索部と、
前記検索部による検索結果に基づいて、前記利用者に対して提案する提案対象を選択する選択部と
を有することを特徴とする選択装置。
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 for acquiring a fourth matrix, wherein a value of a component is set such that a product of the first matrix, the fourth matrix, and the second matrix is the third matrix;
The information indicating the feature of the user who is the proposal target 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 with respect to the feature of the user. A search unit for searching for a predetermined number of proposal targets from a higher inner product value calculated from the score;
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 according to claim 1, wherein the search unit searches for a predetermined number of proposal targets from a higher inner product value calculated from the query and the score using a WAND algorithm. apparatus.
前記取得部は、前記利用者に対して提案する提案対象として、電子商取引の対象となる商品または役務の特徴を示す情報を含む第2行列と、前記商品または役務に対する前記利用者の評価を示す情報を含む第3行列とから算出される第4行列を取得し、
前記検索部は、前記商品または役務の提案先となる利用者の特徴を示す情報をクエリとし、前記第4行列と前記第2行列との積の値を前記利用者の特徴に対する前記商品または役務のスコアとして、当該クエリと当該スコアとから算出される内積値の値が高い方から所定の数の前記商品または役務を検索し、
前記選択部は、前記検索部による検索結果に基づいて、前記利用者に対して提案する商品または役務を選択する
ことを特徴とする請求項1または2に記載の選択装置。
The acquisition unit indicates a second matrix including information indicating characteristics of a product or service that is an object of electronic commerce as a proposal target to be proposed to the user, and an evaluation of the user with respect to the product or service Obtaining a fourth matrix calculated from the third matrix including information;
The search unit uses, as a query, information indicating a feature of a user who is a proposal destination of the product or service, and uses the product of the fourth matrix and the second matrix as the product or service for the user feature. As a score of, search for a predetermined number of the products or services from the higher inner product value calculated from the query and the score,
The selection device according to claim 1, 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 features of the user is arranged in the row direction, a second matrix in which information indicating the features of the proposal target is arranged in the column direction, and information indicating the evaluation of the user with respect to the proposal target in the row direction The fourth matrix calculated from the arranged third matrix, and the value of the component is set so that the product of the first matrix, the fourth matrix, and the second matrix becomes the third matrix An acquisition unit for acquiring a fourth matrix;
For each proposal target of the user who is the proposal target of the proposal target from the product of the row including the information indicating the characteristics of the user who is the proposal target of the proposal target, the fourth matrix, and the second matrix A calculation unit for calculating a value indicating evaluation;
And 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 a product of the extracted row, the fourth matrix, and the second matrix The value which shows the evaluation with respect to each proposal object of the user who becomes a proposal destination of the proposal object is calculated from. The selection device according to claim 4 characterized by things.
前記取得部は、前記利用者に対して提案する提案対象として、電子商取引の対象となる商品または役務の特徴を示す情報が列方向に配置された第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 characteristics of a product or service that is an object of electronic commerce is arranged in a column direction, and each use for the product or service A fourth matrix calculated from the third matrix in which information indicating the evaluation of the person is arranged in the row direction,
The calculation unit calculates the product or service for the user from the product of the row including information indicating the characteristics of the user to whom the product or service is proposed, the fourth matrix, and the second matrix. Calculate a 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 the characteristics of the user, a second matrix including information indicating the characteristics of the content, and a third matrix including information indicating the evaluation of the user with respect to the content. An acquisition unit that acquires a fourth matrix, the value of which is set so that a product of the first matrix, the fourth matrix, and the second matrix is the third matrix;
An estimation unit that estimates an evaluation of the content of the user who is the content proposal destination by using information indicating characteristics of the user who is the content proposal destination, the fourth matrix, and the second matrix When,
And a selection unit that selects content to be proposed to the user based on a result of estimation by the estimation unit.
前記第1行列と前記第4行列と前記第2行列との積が前記第3行列に近づくように、各成分の値が設定された前記第4行列を生成する生成部
を有することを特徴とする請求項1〜7のうちいずれか1つに記載の選択装置。
A generating unit configured to generate the fourth matrix in which values of each component are set so that a 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 generation 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 a number of columns equal to the number of rows of the second matrix, wherein the first matrix and the fifth matrix And the sixth matrix and the second matrix generate the fifth matrix and the sixth matrix so that the product of the third matrix is reproduced, 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 a selection device, comprising:
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, wherein a value of a component is set such that a product of the first matrix, the fourth matrix, and the second matrix is the third matrix;
The information indicating the feature of the user who is the proposal target 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 with respect to the feature of the user. A search step of searching for a predetermined number of proposal targets from the higher inner product value calculated from the score;
And a selection step of selecting a proposal target to be proposed to the user based on a search result obtained by the search step.
選択装置が実行する選択方法であって、
利用者の特徴を示す情報を行方向に配置した第1行列と、提案対象の特徴を示す情報を列方向に配置した第2行列と、提案対象に対する利用者の評価を示す情報を行方向に配置した第3行列とから算出される第4行列であって、前記第1行列と前記第4行列と前記第2行列との積が前記第3行列となるように成分の値が設定された第4行列を取得する取得工程と、
前記提案対象の提案先となる利用者の特徴を示す情報を含む行と、前記第4行列と、前記第2行列との積から、前記提案対象の提案先となる利用者の各提案対象に対する評価を示す値を算出する算出工程と、
前記算出工程によって算出された値に基づいて、前記利用者に対して提案する提案対象を選択する選択工程と
を含むことを特徴とする選択方法。
A selection method performed by a selection device, comprising:
A first matrix in which information indicating the features of the user is arranged in the row direction, a second matrix in which information indicating the features of the proposal target is arranged in the column direction, and information indicating the evaluation of the user with respect to the proposal target in the row direction The fourth matrix calculated from the arranged third matrix, and the value of the component is set so 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;
For each proposal target of the user who is the proposal target of the proposal target from the product of the row including the information indicating the characteristics of the user who is the proposal target of the proposal target, the fourth matrix, and the second matrix A calculation step of calculating a value indicating evaluation;
And 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 a selection device, comprising:
A fourth matrix calculated from a first matrix including information indicating the characteristics of the user, a second matrix including information indicating the characteristics of the content, and a third matrix including information indicating the evaluation of the user with respect to the content. An acquisition step of acquiring a fourth matrix, the value of which is set so that a product of the first matrix, the fourth matrix, and the second matrix is the third matrix;
An estimation step of estimating evaluation of the content of the user who is the content proposal destination using information indicating the characteristics of the user who is the content proposal destination, the fourth matrix, and the second matrix When,
And 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行列との積の値を前記利用者の特徴に対する各提案対象のスコアとして、当該クエリと当該スコアとから算出される内積値の値が高い方から所定の数の提案対象を検索する検索手順と、
前記検索手順による検索結果に基づいて、前記利用者に対して提案する提案対象を選択する選択手順と
をコンピュータに実行させるための選択プログラム。
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 for acquiring a fourth matrix, wherein a value of a component is set such that a product of the first matrix, the fourth matrix, and the second matrix is the third matrix;
The information indicating the feature of the user who is the proposal target 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 with respect to the feature of the user. A search procedure for searching for a predetermined number of proposal targets from the higher inner product value calculated from the score,
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 a search result obtained by the search procedure.
利用者の特徴を示す情報を行方向に配置した第1行列と、提案対象の特徴を示す情報を列方向に配置した第2行列と、提案対象に対する利用者の評価を示す情報を行方向に配置した第3行列とから算出される第4行列であって、前記第1行列と前記第4行列と前記第2行列との積が前記第3行列となるように成分の値が設定された第4行列を取得する取得手順と、
前記提案対象の提案先となる利用者の特徴を示す情報を含む行と、前記第4行列と、前記第2行列との積から、前記提案対象の提案先となる利用者の各提案対象に対する評価を示す値を算出する算出手順と、
前記算出手順によって算出された値に基づいて、前記利用者に対して提案する提案対象を選択する選択手順と
をコンピュータに実行させるための選択プログラム。
A first matrix in which information indicating the features of the user is arranged in the row direction, a second matrix in which information indicating the features of the proposal target is arranged in the column direction, and information indicating the evaluation of the user with respect to the proposal target in the row direction The fourth matrix calculated from the arranged third matrix, and the value of the component is set so that the product of the first matrix, the fourth matrix, and the second matrix becomes the third matrix An acquisition procedure for acquiring a fourth matrix;
For each proposal target of the user who is the proposal target of the proposal target from the product of the row including the information indicating the characteristics of the user who is the proposal target of the proposal target, the fourth matrix, and the second matrix A calculation procedure for calculating a value indicating 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 a 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 the characteristics of the user, a second matrix including information indicating the characteristics of the content, and a third matrix including information indicating the evaluation of the user with respect to the content. An acquisition procedure for acquiring a fourth matrix, the component values of which are set such that a product of the first matrix, the fourth matrix, and the second matrix is the third matrix;
An estimation procedure for estimating the evaluation of the content of the user who is the content proposal destination by using the information indicating the characteristics of the user who is the content proposal destination, 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 an estimation result obtained by 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 true JP2017215647A (en) 2017-12-07
JP6679415B2 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)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020119091A (en) * 2019-01-21 2020-08-06 Kddi株式会社 Learning device, learning method and learning program
JP2021508395A (en) * 2017-12-22 2021-03-04 華為技術有限公司Huawei Technologies Co.,Ltd. Client, server, and client-server systems adapted to generate personalized recommendations

Citations (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

Patent Citations (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

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021508395A (en) * 2017-12-22 2021-03-04 華為技術有限公司Huawei Technologies Co.,Ltd. Client, server, and client-server systems adapted to generate personalized recommendations
JP2020119091A (en) * 2019-01-21 2020-08-06 Kddi株式会社 Learning device, learning method and learning program
JP7017528B2 (en) 2019-01-21 2022-02-08 Kddi株式会社 Learning equipment, learning methods and learning programs

Also Published As

Publication number Publication date
JP6679415B2 (en) 2020-04-15

Similar Documents

Publication Publication Date Title
JP5881153B2 (en) Recommendation of correlated information
JP6872851B2 (en) Information selection device, information selection method and information selection program
JP6254733B1 (en) Calculation device, calculation method, and calculation program
JP6827305B2 (en) Selection device, selection method and selection program
JP2009129458A (en) Content recommendation device and method
JP2015046010A (en) Evaluation calculation device, evaluation calculation method, and evaluation calculation program
CN104765758A (en) Systems and Methods for Search Results Targeting
JP2018045553A (en) Selection device, selection method, and selection program
JP2016177649A (en) Information processing device, information processing program, and information processing method
JP2018101339A (en) Estimation device, estimation method, and estimation program
JP2018045505A (en) Determination device, determination method, and determination program
JP6679415B2 (en) Selection device, selection method, and selection program
US10096045B2 (en) Tying objective ratings to online items
JP6527276B2 (en) INFORMATION PROCESSING APPARATUS, INFORMATION PROCESSING PROGRAM, AND INFORMATION PROCESSING METHOD
JP2021022403A (en) Information selection device, information selection method, and information selection program
JP6695228B2 (en) Determination device, determination method, and determination program
JP2020091816A (en) Information processing device, information processing method and information processing program
JP2019139722A (en) Determination device, determination method, and determination program
JP5632506B1 (en) Information recommendation device, information recommendation method, and information recommendation program
JP7303855B2 (en) Information processing device, information processing method and information processing program
JP7407779B2 (en) Information processing device, information processing method, and information processing program
JP2019149035A (en) Provision device, provision method, and provision program
JP6664600B2 (en) Provision device, provision method and provision program
JP7164683B1 (en) Information processing device, information processing method, and information processing program
JP2019053525A (en) Generation device, generation method, and generation 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