WO2017095371A1 - Product recommendations based on selected user and product attributes - Google Patents

Product recommendations based on selected user and product attributes Download PDF

Info

Publication number
WO2017095371A1
WO2017095371A1 PCT/US2015/062969 US2015062969W WO2017095371A1 WO 2017095371 A1 WO2017095371 A1 WO 2017095371A1 US 2015062969 W US2015062969 W US 2015062969W WO 2017095371 A1 WO2017095371 A1 WO 2017095371A1
Authority
WO
WIPO (PCT)
Prior art keywords
product
attributes
user
vectors
products
Prior art date
Application number
PCT/US2015/062969
Other languages
French (fr)
Inventor
Choudur Lakshminarayan
Ram KOSURU
Original Assignee
Hewlett Packard Enterprise Development Lp
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 Hewlett Packard Enterprise Development Lp filed Critical Hewlett Packard Enterprise Development Lp
Priority to PCT/US2015/062969 priority Critical patent/WO2017095371A1/en
Publication of WO2017095371A1 publication Critical patent/WO2017095371A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0241Advertisements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • G06Q30/0631Item recommendations

Definitions

  • Figure 1 is a schematic diagram of a computing apparatus including a product recommender system, according to an example of the present disclosure
  • Figure 2 is a schematic diagram of an attributes filtering component, according to an example of the present disclosure
  • Figure 3 is a schematic diagram of a webpage presentation component, according to an example of the present disclosure.
  • Figure 4 is a flowchart that details a method of providing product recommendations, according to an example of the present disclosure
  • Figure 5 is a flowchart that details a method of dynamically updating a website with product recommendations for a user, according to an example of the present disclosure.
  • Figure 6 shows a computing apparatus including a processor and a computer readable, according to an example of the present disclosure.
  • the present disclosure is described by referring mainly to an example thereof.
  • numerous specific details are set forth in order to provide a thorough understanding of the present disclosure. It will be readily apparent however, that the present disclosure may be practiced without limitation to these specific details. In other instances, some methods and structures have not been described in detail so as not to unnecessarily obscure the present disclosure.
  • the term “includes” means includes but not limited thereto, the term “including” means including but not limited thereto.
  • the term “based on” means based at least in part on.
  • the terms "a” and “an” are intended to denote at least one of a particular element.
  • a system may select a subset of attributes of users and products to generate product recommendations on a website.
  • Mutual information between the subset of user attributes and product attributes may be determined based on a correlation between the users and the products, and affinities of the users with the products may be determined based on the mutual information.
  • Product recommendations may be provided to a user of a website based on the affinities.
  • Ecommerce has led to the development of online retailers, some of which may have millions of users purchasing hundreds or thousands of products.
  • An online user purchase is an event that may be considered a rare occurrence when considering the corpus of log data that is generated as users browse websites, and attributes of website users that can be determined from the log data can also be very large. Predicting the occurrence of a rare event is a challenging task which is further complicated when considering big data where traditional methods of data processing are inadequate.
  • the system may remove or disregard less-relevant user and/or products attributes when estimating the user's affinity for the product thereby not only increasing the rate at which the data is processed but also improving the accuracy of the predictions.
  • Figure 1 is a schematic diagram of a computing apparatus 1 10 comprising one example of a product recommender system 100.
  • the computing apparatus 1 10 includes a processor 120 for executing the product recommender system 100.
  • An I/O interface 130 enables the computing apparatus 1 10 to receive and send data required for generating the product recommendations.
  • the product recommender system 100 can be configured to make the processing more efficient via selection of subsets of user and product attributes.
  • the product recommender system 100 can be further configured to provide recommendations based on the mutual information between the selected subsets of the user and product attributes.
  • An attributes filtering component 102 of the product recommender system 100 accesses respective sets of user attributes 1 12 for a plurality of users.
  • the user attributes 1 12 can be obtained from not only data provided explicitly by the users when signing up for recommendations or making purchases on a website 140 but also data that was implicitly collected from users' activities on the website 140.
  • the user attributes 1 12 can comprise characteristics related to the user that can comprise but are not limited to demographic, location information, personal identifiers such as the user's real name/user name associated with the website 140, social networking data such as the user's contacts on various social networks, the activity history of the users on the website 140 such as their purchase history, wish lists, or their clickstream data.
  • the user attributes include for example, the number of employees, industry segment, state, industry vertical, industry category and the like.
  • the attributes filtering component 102 can receive product attributes 1 14 that describe the various products such as but not limited to their names, models and/or other information peculiar to the particular product such as color/size, SKUs (Stock Keeping Unit), reviews, availability information, and the like.
  • the attributes filtering component 102 selects respective subsets of the user attributes 1 12 and the product attributes 1 14 for each of the plurality of users and products.
  • the subsets of attributes are selected relative to the amount of relevant information they carry or based on the volume of information they carry for making a product recommendation, such as described below, by way of example, with respect to Figure 2. For example, when a user's income, location and age are known, one or more of the attributes can be selected based on their relevance to making a product recommendation. Similarly, not all the product attributes 1 14 need to be selected for making a recommendation. For example, a product barcode or SKU may not be particularly relevant in recommending a product to the user. Therefore, it may not be included in the subsets of selected product attributes.
  • the attributes filtering component 102 can select the subsets of user attributes by projecting the user attributes 1 12 into a coordinate space as will be detailed further infra. Similar procedure can be implemented by the attributes filtering component 102 for selecting the subsets of product attributes 1 14.
  • a subset of selected user attributes may form components of transformed user vectors 1 16.
  • the subset of selected product attributes can be represented as components of transformed product vectors 1 18. It may be noted that the coefficients 122 for generating the transformed user vectors 1 16 and the transformed product vectors 1 18 are initially unknown.
  • the transformed user vectors 1 16 and the transformed product vectors 1 18 are processed at the mutual information calculation component 104 to detect the amount of overlapping information. In one example, a joint entropy between the transformed user and product vectors 1 16, 1 18 under normality assumptions is calculated by the mutual information calculation component 104.
  • the user affinity determination component 106 is configured to optimize sum of squares of deviations (L2-metric with regularization) from the mutual information of user/product affinities as obtained from the mutual information calculation component 104 and a binary valued outcome.
  • the outcome variable can be revenue, profit or any other key performance index (KPI).
  • KPI key performance index
  • the user affinity determination component 106 can optimize the mutual information by minimizing the distance between the joint entropy output by the mutual information calculation component 104 and the outcome variable associated with a KPI (Key Performance Index).
  • the KPI can include information regarding the conversion rate of non-buyers to buyers or the rate at which users converted from merely browsing the website 140 to buyers who purchased products on the website.
  • the conversion rate can be assumed to be normally distributed. Values of the optimized user and product transform coefficients 122 are stored and used for product recommendations. Thus, instead of using raw attribute data which may not be Gaussian, the conversion rate metric which is more Gaussian can be used to predict product recommendations. For example, for a fixed variance, the Gaussian density is that which maximizes the entropy. Hence, a random variable is more or less Gaussian depending on how high its entropy is, relative to the maximum.
  • the webpage presentation component 108 provides product recommendations based on stored optimal values for the transform coefficients 122.
  • the optimal values for example are the transform coefficients 122 determined according to Eq. (9) described below.
  • the computing apparatus 1 10 also hosts the ecommerce website 140 that allows users to purchase various products.
  • the recommender system 100 and the website 140 comprise machine readable instructions to be executed by the processor 120 of the computing apparatus 1 10.
  • the recommender system 100 can retrieve the user's attributes which may be previously stored or which can be gathered as the user browses the website.
  • the recommender system 100 analyzes the user's attributes and those of the products based on the transform coefficients 122.
  • product recommendations are provided to the user via a webpage which is dynamically modified by the webpage presentation component 108 to include the product recommendations.
  • the recommender system 100 and the website 140 can include machine readable instructions to be executed on different computing apparatuses which can be coupled via a communication networks.
  • FIG. 2 is a schematic diagram showing one example of the attributes filtering component 102.
  • the attributes filtering component 102 can include a user component 210 that receives the users' attributes 1 12.
  • the product component 230 can receive attributes 1 14 of the products available for purchase via the website 140.
  • the users' attributes 1 12 can be provided as components of a plurality of user vectors wherein each user vector represents attributes of a respective user.
  • the transformation component 220 receives the user attributes 1 12 and transforms the user vectors associated therewith to a coordinate space of lower dimensions thereby selecting a subset of the user attributes 1 12 for making product recommendations to users.
  • the subset of user attributes are selected based on the amount of information an attribute can contribute towards product recommendations.
  • (Ui , U 2 , ,UN) represent the attribute vectors of the N users.
  • u is the jth feature of the ith user.
  • the transformation can be given as:
  • the transformation component 220 also receives product vectors from the product component 230 for each product associated with the website 104. Let (Ai,
  • a 2 , ,AM represent the attribute vectors of the M products.
  • the vectors Ai, A 2 , A 3 A M corresponding to M products wherein each vector is composed of a attributes of one product can be transformed by the transformation component 220 using the below equation (3): X > ⁇ ⁇ / ⁇ - * -. . ⁇ > -..
  • the k-dimensional user and product attribute vectors are projected into lower- dimensional spaces (k' « k) based on the importance of the original attributes 1 12, 1 14 for efficient computing in upstream analytics.
  • FIG. 3 is a schematic diagram showing one example of the webpage presentation component 108.
  • the webpage presentation component 108 comprises an attributes receiving component 310, inner product estimation component 320 and product selection component 330.
  • the attributes of the user are received by the attributes receiving component 310.
  • the attributes of the user can be obtained by uniquely identifying the user and retrieving stored attributes of the user or the attributes can be implicitly obtained by observing the user's click through data as the user navigates the website 140.
  • a list of inner products 302 thus generated is received by the product selection component 330.
  • a maximum value is identified by the product selection component 330 from the list of inner products 302 generated for the user vector with the product vector of each product associated with the website 140. The maximum value is the largest inner product of the inner products 302, and is referred to as the maximum inner product.
  • the products or product group(s) associated with the maximum inner product are included into a webpage served to the user as product recommendations 322.
  • FIG. 4 is a flowchart 400 that details one example of a method of providing product recommendations by the product recommender system 100.
  • a set of user and product related attributes or features are determined and used as inputs to making a prediction regarding the affinities between the users and products.
  • the user features can be demographic or firmographic depending on the type of prospect (end-user) and the product features depend on the item advertised or promoted.
  • the product recommender system 100 maps the vectors composed of attributes of the users and products into lower dimensional spaces to identify a subset of relevant attributes and correlate to a response variable known as key performance index (KPI) using the idea of mutual information (Ml).
  • KPI key performance index
  • Ml mutual information
  • the KPI can be the conversion rate obtained from the proportion of buyers vs non-buyers, revenues and the like.
  • the method starts at 402 with receiving attributes of the users of the website 140 and the products associated with the website 140.
  • a subset of the user attributes and a subset of the product attributes are selected for making product recommendations.
  • the user vectors and the product vectors are transformed into a lower dimensional coordinate space using coefficients whose values are to be determined as detailed at Eq. (2) and Eq. (3) respectively for the selection of the subset of attributes.
  • the mutual information or the amount of overlap between users and products in the subset of attributes is computed.
  • the joint entropy (mutual information) between the users U and the products A is obtained wherein U and A are random vectors of dimension k.
  • the vectors U and A can be multivariate Gaussian vectors.
  • the entropy H(U,A) is obtained, as shown below. For a user vector:
  • any product vector is:
  • the optimal coefficient values are determined by minimizing the sum of squares of differences between the mutual information (Ml) and an outcome variable associated with a KPI and subjecting the coefficients 122 to constraints.
  • mutual information (Ml) between users and attributes is correlated to the KPI (response) by optimizing sum of squares of deviations (L2- metric with regularization) from the mutual information of user/product affinities and a binary valued outcome.
  • the outcome variable can be revenue, profit or any other key performance index (KPI).
  • the user affinities can be obtained by minimizing the difference of Ml (users, products) and KPI subject to constraints on the coefficients in the projections of users and products.
  • the optimal values of the coefficients L and W are stored at 410.
  • the users' affinities to the various products or a value indicative of the likelihood of an occurrence of a buy event for different users with respect to various products are obtained.
  • the values of L and W are inserted into Eq. (2) and Eq. (3) to determine the values of the transformed user and product vectors.
  • some of the matrix cells may be empty because for some pairs of users and products, there is no corresponding purchase event.
  • a webpage of the website 140 being viewed by a user can be dynamically updated or modified with product recommendations based on the affinity values from the matrix for the user.
  • FIG. 5 is a flowchart 500 that details one example of a method of dynamically updating a website with product recommendations for a user or visitors of the website 140 by the product recommender system 100.
  • users browsing a website are identified and the user's attributes are obtained.
  • stored values of the coefficients of the user and product transformation vectors are accessed wherein the user vectors and the product vectors are each composed of respective users' and products' attributes.
  • the stored coefficient values can be applied to transform the user and product vectors.
  • the user vectors and product vectors are transformed to a lower dimension coordinate space, for example via linear transformation. The transformation of the vectors reduces the number of user and product attributes used for product recommendations which enhances processing efficiency.
  • the inner product or the scalar product is computed for each of the user vectors transformed using the stored coefficients with each of the product vectors which are also transformed using the stored coefficients.
  • the inner or the scalar product is obtained at step 506 for all the products associated with the website 140. For example, for a product set including k products, k inner products and k entropy values are generated at 508. It can be appreciated that the computation of the inner products is shown serially only by the way of illustration and that the inner products of a plurality of user and product combinations can be computed simultaneously in parallel processing in an example.
  • the inner product with the maximum value is selected from a set of k inner products.
  • Each user is assigned at 514 as having affinity to that product for product group for which the inner product for the respective user and the product has the maximum value.
  • a products or product group(s) associated with the maximum values are recommended to the respective users at 516.
  • Figure 6 illustrates a computing apparatus 600 including at least a processor 602 and a non-transitory computer readable storage medium 604, according to an example.
  • the non-transitory computer readable storage medium 604 may be any suitable medium that participates in providing machine readable instructions to the processor 602 for execution.
  • the memory 604 may be non-volatile media, such as an optical or a magnetic disk; volatile media, such as memory.
  • the memory 604 may also store machine readable instructions 614 for product recommendations methods, which, when executed may cause the processor 602 to perform some or all of the methods depicted in FIGS. 4-5.
  • the machine-readable instructions 614 may include instructions 622 to access stored coefficients of transformations for user vectors wherein the user vectors composed of subsets of attributes of respective users browsing a website as shown at step 504 of Figure 5, machine readable instructions 624 to access stored coefficients of transformations for product vectors wherein the product composed of subsets of attributes of respective products as shown at step 504 of Figure 5, machine readable instructions 626 to select maximum values of a set of inner products of the user vectors with each of the product vectors, wherein values of the user vectors and product vectors are based on the stored coefficients of transformation as shown at step 510 of Figure 5 and machine readable instructions 628 to recommend products associated with the maximum values to the respective users as shown at step 514 of Figure 5.

Landscapes

  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Strategic Management (AREA)
  • Development Economics (AREA)
  • Engineering & Computer Science (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Game Theory and Decision Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

Product recommendations are based on selected subsets of user and product attributes. Stored coefficients of transformations of the user vectors composed of subsets of attributes of respective users browsing a website and stored coefficients of transformations for the product vectors composed of subsets of attributes of respective products are accessed. The maximum values of a set of inner products of the user vectors with each of the product vectors are selected. Products associated with the maximum values are recommended to the respective users.

Description

PRODUCT RECOMMENDATIONS BASED ON SELECTED USER AND
PRODUCT ATTRIBUTES
BACKGROUND
[0001] The rise of the Internet led to the development of ecommerce wherein goods and services are sold online by various vendors via their websites. The advent of new data sources ranging from large websites or cloud-based applications to small user devices including smartphones and wearables, has generally made online shopping viable anywhere and at any time.
BRIEF DESCRIPTION OF THE DRAWINGS
[0002] Features of the present disclosure are illustrated by way of example and not limited in the following figure(s), in which like numerals indicate like elements, and in which:
[0003] Figure 1 is a schematic diagram of a computing apparatus including a product recommender system, according to an example of the present disclosure;
[0004] Figure 2 is a schematic diagram of an attributes filtering component, according to an example of the present disclosure;
[0005] Figure 3 is a schematic diagram of a webpage presentation component, according to an example of the present disclosure;
[0006] Figure 4 is a flowchart that details a method of providing product recommendations, according to an example of the present disclosure;
[0007] Figure 5 is a flowchart that details a method of dynamically updating a website with product recommendations for a user, according to an example of the present disclosure; and
[0008] Figure 6 shows a computing apparatus including a processor and a computer readable, according to an example of the present disclosure.
DETAILED DESCRIPTION
[0009] For simplicity and illustrative purposes, the present disclosure is described by referring mainly to an example thereof. In the following description, numerous specific details are set forth in order to provide a thorough understanding of the present disclosure. It will be readily apparent however, that the present disclosure may be practiced without limitation to these specific details. In other instances, some methods and structures have not been described in detail so as not to unnecessarily obscure the present disclosure. In the present disclosure, the term "includes" means includes but not limited thereto, the term "including" means including but not limited thereto. The term "based on" means based at least in part on. In addition, the terms "a" and "an" are intended to denote at least one of a particular element.
[0010] According to an example of the present disclosure, a system may select a subset of attributes of users and products to generate product recommendations on a website. Mutual information between the subset of user attributes and product attributes may be determined based on a correlation between the users and the products, and affinities of the users with the products may be determined based on the mutual information. Product recommendations may be provided to a user of a website based on the affinities.
[0011] Ecommerce has led to the development of online retailers, some of which may have millions of users purchasing hundreds or thousands of products. An online user purchase is an event that may be considered a rare occurrence when considering the corpus of log data that is generated as users browse websites, and attributes of website users that can be determined from the log data can also be very large. Predicting the occurrence of a rare event is a challenging task which is further complicated when considering big data where traditional methods of data processing are inadequate. The system, according to an example of the present disclosure, may remove or disregard less-relevant user and/or products attributes when estimating the user's affinity for the product thereby not only increasing the rate at which the data is processed but also improving the accuracy of the predictions.
[0012] Figure 1 is a schematic diagram of a computing apparatus 1 10 comprising one example of a product recommender system 100. The computing apparatus 1 10 includes a processor 120 for executing the product recommender system 100. An I/O interface 130 enables the computing apparatus 1 10 to receive and send data required for generating the product recommendations. The product recommender system 100 can be configured to make the processing more efficient via selection of subsets of user and product attributes. The product recommender system 100 can be further configured to provide recommendations based on the mutual information between the selected subsets of the user and product attributes.
[0013] An attributes filtering component 102 of the product recommender system 100 accesses respective sets of user attributes 1 12 for a plurality of users. The user attributes 1 12 can be obtained from not only data provided explicitly by the users when signing up for recommendations or making purchases on a website 140 but also data that was implicitly collected from users' activities on the website 140. The user attributes 1 12 can comprise characteristics related to the user that can comprise but are not limited to demographic, location information, personal identifiers such as the user's real name/user name associated with the website 140, social networking data such as the user's contacts on various social networks, the activity history of the users on the website 140 such as their purchase history, wish lists, or their clickstream data. For an enterprise user, the user attributes include for example, the number of employees, industry segment, state, industry vertical, industry category and the like. Similarly, the attributes filtering component 102 can receive product attributes 1 14 that describe the various products such as but not limited to their names, models and/or other information peculiar to the particular product such as color/size, SKUs (Stock Keeping Unit), reviews, availability information, and the like.
[0014] The attributes filtering component 102 selects respective subsets of the user attributes 1 12 and the product attributes 1 14 for each of the plurality of users and products. The subsets of attributes are selected relative to the amount of relevant information they carry or based on the volume of information they carry for making a product recommendation, such as described below, by way of example, with respect to Figure 2. For example, when a user's income, location and age are known, one or more of the attributes can be selected based on their relevance to making a product recommendation. Similarly, not all the product attributes 1 14 need to be selected for making a recommendation. For example, a product barcode or SKU may not be particularly relevant in recommending a product to the user. Therefore, it may not be included in the subsets of selected product attributes. In an example, the attributes filtering component 102 can select the subsets of user attributes by projecting the user attributes 1 12 into a coordinate space as will be detailed further infra. Similar procedure can be implemented by the attributes filtering component 102 for selecting the subsets of product attributes 1 14. In one example, a subset of selected user attributes may form components of transformed user vectors 1 16. Similarly, the subset of selected product attributes can be represented as components of transformed product vectors 1 18. It may be noted that the coefficients 122 for generating the transformed user vectors 1 16 and the transformed product vectors 1 18 are initially unknown. Further processing as detailed infra which includes, minimizing the sum of squares of differences between the Ml (mutual information) of the transformed user vectors 1 16 and the transformed products vectors 1 18 and an outcome variable associated with a KPI subject to the constraints that the L2 norm of the coefficients are equal to 1 , enables determining the values for the transform coefficients 122. [0015] The transformed user vectors 1 16 and the transformed product vectors 1 18 are processed at the mutual information calculation component 104 to detect the amount of overlapping information. In one example, a joint entropy between the transformed user and product vectors 1 16, 1 18 under normality assumptions is calculated by the mutual information calculation component 104. The user affinity determination component 106 is configured to optimize sum of squares of deviations (L2-metric with regularization) from the mutual information of user/product affinities as obtained from the mutual information calculation component 104 and a binary valued outcome. For example binary valued outcomes can include outcomes for purchase events such as BUY=1 , No Buy 0. The outcome variable can be revenue, profit or any other key performance index (KPI). In one example, the user affinity determination component 106 can optimize the mutual information by minimizing the distance between the joint entropy output by the mutual information calculation component 104 and the outcome variable associated with a KPI (Key Performance Index). In one example, the KPI can include information regarding the conversion rate of non-buyers to buyers or the rate at which users converted from merely browsing the website 140 to buyers who purchased products on the website. Furthermore the conversion rate can be assumed to be normally distributed. Values of the optimized user and product transform coefficients 122 are stored and used for product recommendations. Thus, instead of using raw attribute data which may not be Gaussian, the conversion rate metric which is more Gaussian can be used to predict product recommendations. For example, for a fixed variance, the Gaussian density is that which maximizes the entropy. Hence, a random variable is more or less Gaussian depending on how high its entropy is, relative to the maximum.
[0016] The webpage presentation component 108 provides product recommendations based on stored optimal values for the transform coefficients 122. The optimal values for example are the transform coefficients 122 determined according to Eq. (9) described below. In an example, the computing apparatus 1 10 also hosts the ecommerce website 140 that allows users to purchase various products. For example, the recommender system 100 and the website 140 comprise machine readable instructions to be executed by the processor 120 of the computing apparatus 1 10. When a user browses the website 140, the recommender system 100 can retrieve the user's attributes which may be previously stored or which can be gathered as the user browses the website. The recommender system 100 analyzes the user's attributes and those of the products based on the transform coefficients 122. Based on the analysis, product recommendations are provided to the user via a webpage which is dynamically modified by the webpage presentation component 108 to include the product recommendations. In an example, the recommender system 100 and the website 140 can include machine readable instructions to be executed on different computing apparatuses which can be coupled via a communication networks.
[0017] Figure 2 is a schematic diagram showing one example of the attributes filtering component 102. The attributes filtering component 102 can include a user component 210 that receives the users' attributes 1 12. Similarly, the product component 230 can receive attributes 1 14 of the products available for purchase via the website 140. In one example, the users' attributes 1 12 can be provided as components of a plurality of user vectors wherein each user vector represents attributes of a respective user. The transformation component 220 receives the user attributes 1 12 and transforms the user vectors associated therewith to a coordinate space of lower dimensions thereby selecting a subset of the user attributes 1 12 for making product recommendations to users. In one example, the subset of user attributes are selected based on the amount of information an attribute can contribute towards product recommendations. For example, let (Ui , U2, ,UN) represent the attribute vectors of the N users. The attribute vector of the first user as received by the user component 210 is a k dimensional vector Ui = (un ; U12....; uik). In general u is the jth feature of the ith user. The transformation component 220 projects the user vector U,, i = 1 , 2, ...N into another coordinate space by a linear transformation. The transformation can be given as:
Figure imgf000009_0001
therefore, Yi = (u l + U12I21 + : : + Uiklki)- Hence, considering the transform vectors for each of the N users:
Figure imgf000009_0002
Eq. (2)
The transformation component 220 also receives product vectors from the product component 230 for each product associated with the website 104. Let (Ai,
A2, ,AM) represent the attribute vectors of the M products. The attribute vector of the first product is a k dimensional vector A1 = (an , ai2, aik). As described above with the user vectors, the vectors Ai, A2, A3 AM corresponding to M products wherein each vector is composed of a attributes of one product can be transformed by the transformation component 220 using the below equation (3): X > <· · /<- * -. .··· > -..
Figure imgf000010_0001
The k-dimensional user and product attribute vectors are projected into lower- dimensional spaces (k' « k) based on the importance of the original attributes 1 12, 1 14 for efficient computing in upstream analytics.
[0018] Figure 3 is a schematic diagram showing one example of the webpage presentation component 108. The webpage presentation component 108 comprises an attributes receiving component 310, inner product estimation component 320 and product selection component 330. When a user visits the website 140, the attributes of the user are received by the attributes receiving component 310. In one example, the attributes of the user can be obtained by uniquely identifying the user and retrieving stored attributes of the user or the attributes can be implicitly obtained by observing the user's click through data as the user navigates the website 140.
[0019] The inner product estimation component 320 accesses the transform coefficients 122 and applies them to the user's attributes to obtain the inner product (i.e., the scalar product for all the products associated with the website 140). For example, for each user vector U, and a product vector A,, the inner product is given as Uj.Aj = Ui.Aj cos Θ. A list of inner products 302 thus generated is received by the product selection component 330. A maximum value is identified by the product selection component 330 from the list of inner products 302 generated for the user vector with the product vector of each product associated with the website 140. The maximum value is the largest inner product of the inner products 302, and is referred to as the maximum inner product. The products or product group(s) associated with the maximum inner product are included into a webpage served to the user as product recommendations 322.
[0020] Figure 4 is a flowchart 400 that details one example of a method of providing product recommendations by the product recommender system 100. A set of user and product related attributes or features are determined and used as inputs to making a prediction regarding the affinities between the users and products. The user features can be demographic or firmographic depending on the type of prospect (end-user) and the product features depend on the item advertised or promoted. The product recommender system 100 maps the vectors composed of attributes of the users and products into lower dimensional spaces to identify a subset of relevant attributes and correlate to a response variable known as key performance index (KPI) using the idea of mutual information (Ml). The KPI can be the conversion rate obtained from the proportion of buyers vs non-buyers, revenues and the like.
[0021] The method starts at 402 with receiving attributes of the users of the website 140 and the products associated with the website 140. In one example, the user vectors Ui, U2, , UN and product vectors A1; A2, A3 AM are received at 402 wherein each user vector Ui (i = 1 , 2, N) is composed of attributes of a respective user and each product vector Ai (i = 1 , 2, M) is composed of attributes of a respective product. At 404, a subset of the user attributes and a subset of the product attributes are selected for making product recommendations. In one example, the user vectors and the product vectors are transformed into a lower dimensional coordinate space using coefficients whose values are to be determined as detailed at Eq. (2) and Eq. (3) respectively for the selection of the subset of attributes.
[0022] At 406, the mutual information or the amount of overlap between users and products in the subset of attributes is computed. In one example, the joint entropy (mutual information) between the users U and the products A is obtained wherein U and A are random vectors of dimension k. In one example, the vectors U and A can be multivariate Gaussian vectors. The entropy H(U,A) is obtained, as shown below. For a user vector:
Similarly, any product vector is:
/I ·>
Figure imgf000012_0001
The joint entropy between the transformed user and product vectors under normality assumptions is:
Figure imgf000012_0002
where:
Figure imgf000012_0003
[0023] At 408, the optimal coefficient values are determined by minimizing the sum of squares of differences between the mutual information (Ml) and an outcome variable associated with a KPI and subjecting the coefficients 122 to constraints. In one example, mutual information (Ml) between users and attributes is correlated to the KPI (response) by optimizing sum of squares of deviations (L2- metric with regularization) from the mutual information of user/product affinities and a binary valued outcome. For example binary valued outcomes can include outcomes such as BUY=1 , No Buy=0. The outcome variable can be revenue, profit or any other key performance index (KPI). In one example, the user affinities can be obtained by minimizing the difference of Ml (users, products) and KPI subject to constraints on the coefficients in the projections of users and products. The values of the KPI (whether a user purchased a product or conversion) are computed by each product Aj, wherein j = 1, 2, a. The conversion rate for Aj is given by p = n}- I N for all users / = 1, 2, N wherein nj is the number of users who bought the product Aj. Since N is a very large number and p is relatively small, the conversion rate can be assumed to be normally distributed. Since, the conversion rate p for the jth product is asymptotically normal, the differential entropy is given by:
Finally the objective function is minimized as shown in Eq . (9) below subject to the constraints L'L = I and WW = I. The coefficients are therefore constrained to be of unit length such that L'L = I and WW = I, wherein L' is the inverse of L and W is the inverse of W.
Figure imgf000013_0002
The minimization results in optimal values of the coefficients in the projections of users and products L and W respectively.
[0024] The optimal values of the coefficients L and W are stored at 410. At 412, the users' affinities to the various products or a value indicative of the likelihood of an occurrence of a buy event for different users with respect to various products are obtained. In an example, the values of L and W are inserted into Eq. (2) and Eq. (3) to determine the values of the transformed user and product vectors. When users, products and KPI are initially arranged in a two-dimensional matrix, some of the matrix cells may be empty because for some pairs of users and products, there is no corresponding purchase event. By minimizing the difference of Ml(users, products) and the KPI, Xp, which is the sum of squares of difference between the KPI an Ml (users and products), the empty cells of the matrix may be filled in thus establishing affinities for users with respect to products which they have not purchased. At 414, a webpage of the website 140 being viewed by a user can be dynamically updated or modified with product recommendations based on the affinity values from the matrix for the user.
[0025] Figure 5 is a flowchart 500 that details one example of a method of dynamically updating a website with product recommendations for a user or visitors of the website 140 by the product recommender system 100. At 502 users browsing a website are identified and the user's attributes are obtained. At 504 stored values of the coefficients of the user and product transformation vectors are accessed wherein the user vectors and the product vectors are each composed of respective users' and products' attributes. At 506, the stored coefficient values can be applied to transform the user and product vectors. Thus, at 506, the user vectors and product vectors are transformed to a lower dimension coordinate space, for example via linear transformation. The transformation of the vectors reduces the number of user and product attributes used for product recommendations which enhances processing efficiency. At 508, the inner product or the scalar product is computed for each of the user vectors transformed using the stored coefficients with each of the product vectors which are also transformed using the stored coefficients. At 510 it is determined if more products remain for the calculation of the inner product. If yes, the method returns to 508 for computing the inner product between the users and the next product. Thus, the inner or the scalar product is obtained at step 506 for all the products associated with the website 140. For example, for a product set including k products, k inner products and k entropy values are generated at 508. It can be appreciated that the computation of the inner products is shown serially only by the way of illustration and that the inner products of a plurality of user and product combinations can be computed simultaneously in parallel processing in an example. At 512 the inner product with the maximum value is selected from a set of k inner products. Each user is assigned at 514 as having affinity to that product for product group for which the inner product for the respective user and the product has the maximum value. Hence, a products or product group(s) associated with the maximum values are recommended to the respective users at 516.
[0026] Figure 6 illustrates a computing apparatus 600 including at least a processor 602 and a non-transitory computer readable storage medium 604, according to an example. The non-transitory computer readable storage medium 604 may be any suitable medium that participates in providing machine readable instructions to the processor 602 for execution. For example, the memory 604 may be non-volatile media, such as an optical or a magnetic disk; volatile media, such as memory. The memory 604 may also store machine readable instructions 614 for product recommendations methods, which, when executed may cause the processor 602 to perform some or all of the methods depicted in FIGS. 4-5. For example, the machine-readable instructions 614 may include instructions 622 to access stored coefficients of transformations for user vectors wherein the user vectors composed of subsets of attributes of respective users browsing a website as shown at step 504 of Figure 5, machine readable instructions 624 to access stored coefficients of transformations for product vectors wherein the product composed of subsets of attributes of respective products as shown at step 504 of Figure 5, machine readable instructions 626 to select maximum values of a set of inner products of the user vectors with each of the product vectors, wherein values of the user vectors and product vectors are based on the stored coefficients of transformation as shown at step 510 of Figure 5 and machine readable instructions 628 to recommend products associated with the maximum values to the respective users as shown at step 514 of Figure 5. [0027] What has been described and illustrated herein are examples of the disclosure along with some variations. The terms, descriptions and figures used herein are set forth by way of illustration only and are not meant as limitations. Many variations are possible within the scope of the disclosure, which is intended to be defined by the following claims, and their equivalents, in which all terms are meant in their broadest reasonable sense unless otherwise indicated.

Claims

CLAIMS What is claimed is:
1 . A system comprising:
a processor to:
select a subset of attributes of users browsing a website, the selection based on an amount of information the user attributes carry for generating product recommendations;
select a subset of attributes of products associated with the website, the selection based on an amount of information the product attributes carry for generating a product recommendation;
compute mutual information between the subset of user attributes and the subset of the product attributes, the mutual information based on a correlation between the users and the products;
obtain affinities of the users with the products based on the mutual information by optimizing a sum of squares of deviations of the mutual information and a binary valued outcome associated with a key performance index (KPI); and provide product recommendations to the users based on the affinities.
2. The system of claim 1 , wherein the KPI is one of a revenue and a profit.
3. The system of claim 1 , wherein to select the subset of user attributes and the subset of product attributes the processor is to:
transform user vectors that are each composed of attributes of a respective user into a lower dimensional coordinate space using unknown user transform coefficients; transform product vectors that are each composed of attributes of a respective product into the lower dimensional coordinate space using unknown product transform coefficients.
4. The system of claim 3, wherein the processor is to:
determine values of the unknown user transform coefficients and the unknown product transform coefficients via the optimization;
store values of the user transform coefficients and the product transform coefficients upon the optimization.
5. The system of claim 1 , wherein the binary valued outcome is indicative of a purchase event.
6. The system of claim 1 , wherein the processor is to:
modify webpages associated with the website to provide the product recommendations to the users.
7. The system of claim 1 , wherein the subset of attributes of users browsing the website include at least one of location, age, income, purchase history, and wish list.
8. The system of claim 7, wherein to provide the product recommendations, the processor is to:
compute inner product of the received users' attributes and the subset of attributes of the products.
9. The system of claim 8, wherein to provide the product recommendations, the processor is to: select products associated with a respective maximum value of values of the inner products for recommending to each of the users.
10. A method comprising:
identifying users browsing a website that sells products;
accessing stored coefficients of transformations for user vectors composed of respective attributes of respective users and product vectors composed of respective attributes of respective products;
transforming the user vectors and the product vectors using the stored coefficients;
computing respective inner products of the user vectors with each of the product vectors, wherein values of the user vectors and product vectors are based on the stored coefficients of transformation;
selecting a respective maximum value of the respective inner products for each of the users;
assigning products associated with the respective maximum values to the respective users; and
recommending products associated with the maximum values to the respective users.
1 1 . The method of claim 10, wherein recommending the products further comprises:
modifying webpages associated with the website to provide the product recommendations.
12. The method of claim 1 1 , further comprising:
selecting respective subsets of the attributes of the respective users via the transformation of the user vectors.
13. The method of claim 1 1 , further comprising:
selecting respective subsets of the attributes of the respective products via the transformation of the product vectors.
14. A non-transitory computer readable medium, comprising: machine readable instructions executable by at least one processor to:
access stored coefficients of transformations for user vectors, the user vectors composed of subsets of attributes of respective users browsing a website; access stored coefficients of transformations for product vectors, the product composed of subsets of attributes of respective products;
select maximum values of a set of inner products of the user vectors with each of the product vectors, wherein values of the user vectors and product vectors are based on the stored coefficients of transformation;
recommend products associated with the maximum values to the respective users.
15. The non-transitory compute readable medium of claim 14, further comprising machine readable instructions executable by the at least one processor to:
configure webpages being viewed by the respective users to include respective product recommendations.
PCT/US2015/062969 2015-11-30 2015-11-30 Product recommendations based on selected user and product attributes WO2017095371A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/US2015/062969 WO2017095371A1 (en) 2015-11-30 2015-11-30 Product recommendations based on selected user and product attributes

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2015/062969 WO2017095371A1 (en) 2015-11-30 2015-11-30 Product recommendations based on selected user and product attributes

Publications (1)

Publication Number Publication Date
WO2017095371A1 true WO2017095371A1 (en) 2017-06-08

Family

ID=58797589

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2015/062969 WO2017095371A1 (en) 2015-11-30 2015-11-30 Product recommendations based on selected user and product attributes

Country Status (1)

Country Link
WO (1) WO2017095371A1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107515896A (en) * 2017-07-17 2017-12-26 阿里巴巴集团控股有限公司 A kind of resource recommendation method, device and equipment
EP3598373A1 (en) * 2018-07-18 2020-01-22 Seulo Palvelut Oy Determining product relevancy
EP3855259A1 (en) 2020-01-22 2021-07-28 Siemens Aktiengesellschaft Method for testing compatibility of functional modules

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060190225A1 (en) * 2005-02-18 2006-08-24 Brand Matthew E Collaborative filtering using random walks of Markov chains
US20110153598A1 (en) * 2009-12-22 2011-06-23 Kamimaeda Naoki Information Processing Apparatus and Method
US20140244427A1 (en) * 2013-02-28 2014-08-28 Barnesandnoble.Com Llc System for generating user profiles
US20150142785A1 (en) * 2013-11-18 2015-05-21 Palo Alto Research Center Incorporated Generalized graph, rule, and spatial structure based recommendation engine
JP2015108983A (en) * 2013-12-05 2015-06-11 日本電信電話株式会社 Item recommendation device, item recommendation method and item recommendation program

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060190225A1 (en) * 2005-02-18 2006-08-24 Brand Matthew E Collaborative filtering using random walks of Markov chains
US20110153598A1 (en) * 2009-12-22 2011-06-23 Kamimaeda Naoki Information Processing Apparatus and Method
US20140244427A1 (en) * 2013-02-28 2014-08-28 Barnesandnoble.Com Llc System for generating user profiles
US20150142785A1 (en) * 2013-11-18 2015-05-21 Palo Alto Research Center Incorporated Generalized graph, rule, and spatial structure based recommendation engine
JP2015108983A (en) * 2013-12-05 2015-06-11 日本電信電話株式会社 Item recommendation device, item recommendation method and item recommendation program

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107515896A (en) * 2017-07-17 2017-12-26 阿里巴巴集团控股有限公司 A kind of resource recommendation method, device and equipment
EP3598373A1 (en) * 2018-07-18 2020-01-22 Seulo Palvelut Oy Determining product relevancy
WO2020016204A1 (en) * 2018-07-18 2020-01-23 Seulo Palvelut Oy Determining item relevancy
CN112424812A (en) * 2018-07-18 2021-02-26 斯道埃弗斯公司 Calculating user-specific item-related values on an electronic processing platform
CN112437943A (en) * 2018-07-18 2021-03-02 斯道埃弗斯公司 Computing object aim on electronic processing platform
EP3824425A4 (en) * 2018-07-18 2022-06-01 Storeverse Oy Computation of user-specific item-related values on an electronic processing platform
EP3824429A4 (en) * 2018-07-18 2022-06-01 Storeverse Oy Computation of item targeting on an electronic processing platform
EP3855259A1 (en) 2020-01-22 2021-07-28 Siemens Aktiengesellschaft Method for testing compatibility of functional modules

Similar Documents

Publication Publication Date Title
CN110162690B (en) Method and device for determining interest degree of user in item, equipment and storage medium
Guan et al. Matrix factorization with rating completion: An enhanced SVD model for collaborative filtering recommender systems
US10095771B1 (en) Clustering and recommending items based upon keyword analysis
CN108431833B (en) End-to-end depth collaborative filtering
CN107330445B (en) User attribute prediction method and device
US10657574B2 (en) Item recommendation techniques
Panniello et al. Incorporating context into recommender systems: an empirical comparison of context-based approaches
US10354184B1 (en) Joint modeling of user behavior
US20180342004A1 (en) Cumulative success-based recommendations for repeat users
US20150379609A1 (en) Generating recommendations for unfamiliar users by utilizing social side information
CN110008397B (en) Recommendation model training method and device
KR102049777B1 (en) Item recommendation method and apparatus based on user behavior
Wang et al. Exploiting intra-and inter-session dependencies for session-based recommendations
Sun et al. Big data based retail recommender system of non E-commerce
CN113763095B (en) Information recommendation method and device and model training method and device
US20150310529A1 (en) Web-behavior-augmented recommendations
US20210192549A1 (en) Generating analytics tools using a personalized market share
WO2019188102A1 (en) Device, method and program for making recommendations on the basis of customer attribute information
US20200250715A1 (en) Automatic rule generation for recommendation engine using hybrid machine learning
WO2017095371A1 (en) Product recommendations based on selected user and product attributes
CN111339435A (en) Matrix decomposition completion hybrid recommendation method based on potential factors
CA3111094A1 (en) Noise contrastive estimation for collaborative filtering
Guan et al. Enhanced SVD for collaborative filtering
CN111708945A (en) Product recommendation method and device, electronic equipment and computer storage medium
Do et al. Mining revenue-maximizing bundling configuration

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 15909892

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 15909892

Country of ref document: EP

Kind code of ref document: A1