EP3895032A1 - System and method for obtaining recommendations using scalable cross-domain collaborative filtering - Google Patents
System and method for obtaining recommendations using scalable cross-domain collaborative filteringInfo
- Publication number
- EP3895032A1 EP3895032A1 EP19895759.9A EP19895759A EP3895032A1 EP 3895032 A1 EP3895032 A1 EP 3895032A1 EP 19895759 A EP19895759 A EP 19895759A EP 3895032 A1 EP3895032 A1 EP 3895032A1
- Authority
- EP
- European Patent Office
- Prior art keywords
- recommendation
- user
- recommendation score
- model
- score
- 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.)
- Withdrawn
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9535—Search customisation based on user profiles and personalisation
Definitions
- the present disclosure generally relates to communication devices for generating recommendations, and more specifically, to communication devices that provide user specific recommendations using cross-domain collaborative filtering.
- a user may be provided with a recommendation to donate to a popular cause or charity.
- this type of recommendation is oftentimes not tailored to a user’s interests, likes, purchases, and/or associations. Therefore, in an effort to increase the chance of a user purchase or donation, it would be beneficial to create a system that provides recommendations that are tailored to a user and across domains.
- Figure 1 illustrates systems for presenting a recommendation on a user device.
- Figure 2 illustrates an exemplary diagram illustrating the characterization of information for making recommendations.
- Figures 3A-3C illustrate recommendation scenarios based on varying information.
- Figure 4 illustrates an exemplary system used for making and presenting recommendations.
- Figures 5 illustrates a diagram of the implementation of cross-domain collaborative filtering for making recommendations.
- Figure 6 illustrates a subgraph node representation with users and corresponding peer-to-peer associations used to obtain a recommendation score.
- Figures 7 illustrates table diagram of item-to-item collaborative filtering used to obtain a recommendation score.
- Figure 8 illustrates a flow diagram illustrating operations for determining recommendations using cross-collaborative filtering.
- Figure 9 illustrates a block diagram of a system for determining recommendations using cross-domain filtering.
- Figure 10 illustrates an example block diagram of a computer system suitable for implementing one or more devices of the communication systems of Figures 1-9.
- a system for obtaining a recommendation score.
- the recommendation score may be obtained using one or more models which can include supervised and unsupervised learning as well as a combination of user information and transactions.
- the system is introduced that can provide a total recommendation score and recommendation generated by an ensemble model whose input can include the one or more recommendation scores previously obtained.
- a recommendation may derive from a network 102.
- the network 102 can include any two computers, servers, or other system/device which can be linked together in order to share resources and exchange electronic information.
- the internet, the cloud, a group of servers, a data center, social media may all be considered part of a network 102.
- This network may be access and used for determining a most popular item, product, service, or entity to recommend. For example, social media may be scraped, and the data obtained analyzed to determine that a new smart gadget has been released and is trending. Such smart gadget may therefore be presented to a user on a device 106.
- a natural disaster may have occurred recently and as a result of the media coverage a popular entity providing relief effort may be presented to the user for donation.
- a popular entity providing relief effort may be presented to the user for donation.
- the YMCA, United Way, Red Cross, etc. may be presented based on knowledge and popularity.
- FIG 2 a Venn diagram is provided exemplifying how
- Figure 2 illustrates an exemplary diagram demonstrating the characterization of information for making recommendations. As indicated, it is beneficial to consider various aspects of a user prior to making a
- Figure 2 illustrates an initial aspect that may be considered prior to making a recommendation.
- a first aspect in making a recommendation is considered and can include whether or not a user is or has been a donor.
- prior donors to a charitable cause may be considered and characterizing information defined.
- charactersizing information may be used and shared 206 between prior donors 202 and non-donors 204 for making a recommendation to a charitable cause.
- characterization information which may be used for making a recommendation can include donation history, which could be used and consider for users who have made a previous donation.
- characterization information that may be used and considered for a user without donation history can include user profile information, contacts, merchants, entities, etc. with whom the user may have transacted with, and purchase history and charities associated with the locations where purchases were made.
- other general characterization information which may be used for making a recommendation may include charitable cause popularity, trends, and other relational information.
- Venn diagram 200 is used to illustrated characterization information that may be used for making recommendations based on donor/no-donor status, this characterization information is not limited and is used for exemplary purposes. Other characterization information may also be used and the location within the Venn diagram may vary.
- Figures 3A-3C illustrate recommendation scenarios and use cases based on varying characterization information.
- a first recommendation use case is presented that may use prior donation characterization information for making the charitable cause recommendation.
- the use case considered in Figure 3 A may use a collaborative filter type approach and use case where a user 302c may be presented with a recommendation based on the donations the user 302c made and/or other users 302a, b made.
- This approach consider user 302a. This user 302a has a donation history and as illustrated, user 302a has a donation history with donations made to charitable causes 304-310.
- this user 302b also has a donation history but in this example, donations are focused on a single charitable cause 308.
- user 302c can be characterized as previously donating with donation history support primary focused on two charitable causes 306, 310.
- a charitable cause recommendation may be provided to a user 302c using a collaborative filtering approach.
- an observation, analysis, or correlation can be made such that a similarity is identified between user 302a and user 302b.
- This correlation or similarity 312 can be identified based in part on the observation that user 302c, like user 302a, donated to charitable causes 306 and 308. Therefore, based on this assessment and similarity 312, two new recommendations 314 may be made and surfaced to user 302c.
- FIG. 3B another recommendation scenario and use case is presented based on other varying characterization information.
- transactional information is considered for making a recommendation.
- who a user has transacted with and in particular other peers the user has transacted with e.g., P2P transaction history.
- FIG. 3B is provided.
- user 302d is illustrated as having transacted 320 with user 302e, while user 302e transacts 320 with user 302f.
- user 302e and user 302f have a donation history, with user 302e donating 322 to charitable causes 324 and 326 while user 302f donates 322 to charitable cause 324. Therefore, the known transaction history and donation characterization information may be used to provide user 302d with a recommendation.
- user 302d is recommended 318 charitable causes 318 and 324 based on the charities the user’s 302d contacts are donating to.
- FIG. 3C yet another recommendation scenario is presented.
- the purchase history and charitable relationships are considered as the characterization information.
- user 302g may be provided with a recommendation that is surfaced based on the user’s purchase history.
- charitable cause 328 is presented bases on a purchase 324 of an item 330 by user 302g.
- metadata attributes associated with the purchase item 330 may be extracted. For example, attributes including the item name, category, description, and the like may be extracted. Then, using the extracted metadata attributes, a charitable cause 328 or other recommendation may be presented to the user 302g.
- Figures 3A-3C are provided as exemplary use case scenarios used to illustrate how characterization information can be used to provide a recommendation. Note that other use cases are possible as well as the use of more, less, and alternate characterization information. For example, trends, popularity, relational, and other characterization information may be used, and a use case may be presented. Additionally, the number of donations, recommendations, transactions, and similarities identified may vary determining a recommendation .
- Figure 4 is next illustrated to provide an exemplary architecture that may be used for implementing a system and platform for making recommendations. Note that to continue with the examples throughout, the architecture 400 at Figure 4 is defined for charitable cause recommendations as well. However, this platform and system 400 may be used, updated, and implemented for any recommendation.
- the system may be portioned based on its functions, the left of the dashed line may include modules and interactions mainly applicable to a payment provider application (e.g., PayPal), while the right side may include those modules and interactions considered while performing the analytics.
- a payment provider application e.g., PayPal
- the interaction with the recommendation system 200 will begin with a user 302h interacting with the application at checkout 402.
- the user 302h may be preparing to complete a purchase and may be prompted with the opportunity to make a donation to a charitable cause.
- Checkout 402 at the payment provider may then trigger a communication with a customer engagement platform 404 and a cause module 406.
- the cause module 406 may be triggered immediately and/or be accessed upon checkout and when the user 302h makes a donation where the donation details may be gathered and stored in an elastic storage component 408 available for making future recommendations and/or receiving charitable details from the customer engagement platform 404.
- the customer engagement platform 404 can be a processing unit, operating system, and/or a group of technologies from which the other processes and modules may be developed. For example, at the customer engagement platform technologies, modules, or storage units may exist which store, access, or retrieve user characterization information that may be used for making a recommendation.
- the customer engagement platform 404 can include a personalization, content management, customer profile, tracking, and customer segment modules.
- These modules may be used when extracting customer details during a checkout, for providing characterization information and other relevant details to the cause module 406, for transferring details to a storage/tracking module (e.g., elastic storage component 408, database 410), and/or receive and process entries, updates provided by a secondary user 302i.
- the secondary user 302i may be an internal employee of the payment provider with insight on internal strategy and marketing information such that the content input to the customer engagement platform is useful and relevant. Note that the content input may also be dynamically created or automated such that secondary user 302i may be an external system.
- the details transferred to the storage and tracking modules 408,410 may be used in the analytics portion of the architecture for making a recommendation.
- the content tracked at database 410 may then be processed bidirectionally by a streaming software 412 for use by a recommendation component 414.
- the streaming software 412 e.g., Kafka
- Kafka Kafka
- the customer engagement module 404/database 410 and the recommendation component 414 may be equipped with an intelligent mode that can seamlessly switch between batch and stream by processing the data through the streaming software 412 like Kafka.
- the data at the recommendation component 414 can then be used by a cause model 416 for making predictions. Predictions may be made and the model trained by accessing the details of the user 302i which may be housed in a data warehouse 418.
- the data warehouse can include various repositories with details about the user 302i including but not limited to purchases made by the user, donations, profile information, contact and friends, as well as merchants with whom the user 302i may transact with.
- a combination of the data tracked by the elastic tracking module 408 and manual intervention by another user 302j may occur.
- the another user 302j may be a data scientist who can determine the information relevant for input to the recommendation model 416. Additionally, or alternatively, a system or other component may be used without the need for manual intervention by the another user 302j.
- the data tracked by the elastic tracking module 408 used to input to the cause model 416 may include data obtained using feedback.
- feedback may be used to train the cause model 416 in order to provide continuous tuning of the cause model 416.
- feedback may be used and collected based on user actions based on the suggested charitable causes presented at checkout.
- feedback useful and tracked can include whether the users donated to the suggested charities if the charities are the ones they support, or they are willing to support.
- Other feedback that may be tracked may include whether the users 302 like the suggest charities since generally if a user 302 does not like the charity, they are probably not going to donate to them.
- recommendation architecture 400 provides a system that can continuously track the suggested charities that are being donated (conversion) to, how often the charity may be presented to a user 302j to measure a shown count (impression) from all the products as feedback, and then tune the cause model 416 to provide a better recommendation result.
- a charity score value may be computed by first giving each suggested charity from the cause model 416 with a feedback influence weight (w) value 1. Then, after some observation if the suggested charity surfaced to users 302 does not gain any conversion after a defined time period then, the weight (w) value may be reduced. Ultimately, the weight value can be decreased close to 0 when there is no conversion for N impression times. In such case the probability of recommending a suggested charity to a user 302 lessens.
- the weight value (w) may be reset back to 1 to maximize the suggest charity score value, so that next time this charity will be highly promoted to the user 302.
- continuous collection of the conversion and impressions by a user 302 based on interactions with a charitable cause may be tracked to construct the recommendation, creating a feedback loop tuned to provide an updated recommendation score/suggested charity score value and produce a more accurate result.
- the cause model 416 may include one or more models and machine learning algorithms designed to make recommendations.
- Machine learning algorithms can include those based off supervised and unsupervised learning and can include models such as but not limited to clustering, tree-based, ensemble, random walk, etc.
- the recommendation score may be achieved across multiple models.
- Each model may be personalized to provide a recommended list of charitable causes with a recommendation score provided for each charitable cause. The higher the score, the increase better chance of a correct charitable cause prediction.
- a first technique can include the making a prediction based on the information available. The use of this technique may be appropriate when not all the desired data is available to compute the desired charitable cause for all users at all time. For example, in some instances, user donation history may be missing. In other instances, purchase history may not be available or may be limited. In such instances, from the personalization models available, those with inadequate details may be eliminated or not considered when predicting the list of charitable causes.
- Another technique can include the use and prediction made using a calibration of scoring across models. This technique is adequate where multiple factors exist and are considered when arriving at a recommendation score for a given model. The factors may vary from model to model, as such, these factors may be calibrated across each of the other models in order to achieve a recommendation score that is consistent across the models. Note that the use of such technique may include the use of ranking where the charitable causes are ranked and presented to the user 302 in a ranked order.
- Still another technique can include the use of a round robin method in order to identify the model with the most affinity to the user 302.
- This technique may be useful where, for example some users prefer to use charitable causes to which their friends have donated over other methods. This can be identified by rotating the charities in a round-robin fashion across different model out put in a way that can identify the affinity of users to a particular model.
- Two other techniques can include the scoring of charitable causes recommended by multiple models and the use of a champion technique.
- the technique that uses scoring is useful in instances where the various charitable causes are recommended by multiple models.
- the various charitable causes may obtain a secondary recommendation score based on the probability of selection by the user.
- the champion technique entails the user of multiple models simultaneously.
- the best performing model may be selected as the champion and is selected to produce the recommendation for the user.
- Other models can still challenge the champion with simulation data. Once another model out performs the existing champion, then that other model is used for presenting the recommendation.
- Figure 5 illustrates a diagram of the implementation of cross-domain collaborative filtering 500 for making recommendations.
- the recommendation presented is based on a total recommendation score 510 computed and obtained using an ensemble model 508.
- An ensemble model 508 is a modeling technique or process which uses two or more analytical models to obtain a final result or recommendation.
- the final result or recommendation 510 may be obtained by combining a prediction made by each of the models in order to obtain or generate a more accurate final result.
- the ensemble model 508 may obtain the final result by selecting and using the one or more models which create a best model for the problem considered. For example, in the charity example considered, the ensemble model 508 may obtain a recommendation for one or more best charities by obtaining separate
- a recommendation score may be obtained using a model that entails cross-domain collaborative filtering 502.
- a second model may include the use of random walk technique for determining a
- the first model which includes the use of cross-collaborative filtering 502 is a model designed to consider not only a user and his/her transactions but consider transactions across domains. For example, transactional information about a merchant and a charity are considered.
- one focus of the cross-collaborative filtering model 502 may include making a recommendation based in part on an association or prediction regarding people who made a purchase with a particular merchant and also donated to a particular charity.
- the system is designed to show that users who make purchases at a particular merchant are also likely to make a donation to a specific cause.
- the random walk model 504 is a model that is focused more on transactions and peers associated with a user. For example, consider a user associated with a third-party provider like PayPal. This user may also have separate accounts with Venmo and Xoom (two entities associated with PayPal). Thus, the random walk model 504, may use knowledge of the user’s transactions with PayPal as well as those with Venmo and Xoom. Additionally, the random walk model 504, may also use information regarding who the transactions or what peers the user transacted with. Thus, the random walk model can be generated using a mathematical path that can be generated between transactions across entities and/or with other peers. An illustration of such graph is detailed and described in conjunction with Figure 6 and as described above in use case illustrated by Figure 3B.
- FIG. 6 is used for exemplary purposes and is used to illustrate how a recommendation may be presented to a user (or fed into an ensemble model 510) based in part on the user’s transactions and personal associations including but not limited to contacts, friends, family, organizations, co-workers, etc.
- a cluster model 506 may be used for the determination of a recommendation score.
- the cluster model 506 uses a technique based on grouping objects or dividing a population based on similarities. For example, provided the users are members of a third- party payment provider service (e.g., PayPal) the users may be clustered based on profile data. Thus, in the charity example, a user may be presented with a customized charity or provided a recommendation score based on the cluster the user falls in. The users may therefore be classified into one of n clusters based on a profile data which can include information including but not limited to gender, address, age, marital status, etc. Thus, the focus in using the cluster model 506 may be to present recommendations based on the profile information.
- a third- party payment provider service e.g., PayPal
- all users may be classified into N clusters based on gender and age.
- the clustering may result in a number of clusters including but not limited to (male, age ⁇ 20), (male, 20> age ⁇ 30), (female, age ⁇ 20), (female, 20>age ⁇ 30).
- male, age ⁇ 20 male, 20> age ⁇ 30
- female, age ⁇ 20 male, 20>age ⁇ 30
- the most popular charity in the cluster will be recommended to that user.
- a score for every charity for each user may be calculated and represented by
- the ensemble model 508 may be used to obtain the total
- the ensemble model 508 can include a decision tree model.
- a decision tree model is a tree-like graph that is created based on the possible decisions and outcomes possible.
- a decision tree may be created and used to provide a charity recommendation score.
- Table 1 below, wherein a charity score may be generated based on a merchant’s information and P2P transaction information.
- the ensemble model may be trained for a subset of users and then used for obtaining the recommendations.
- FIG. 6 illustrates an exemplary subgraph node representation 600 with users 302 and corresponding peer-to-peer associations 604a, b used to obtain a recommendation score.
- a recommendation where a user’s peer-to-peer transactions may be considered to provide a recommendation.
- one or more users 302 using a digital wallet, payment application, merchant site, third party payment provider, or the like
- transactions between the users and across platforms are analyzed for making a recommendation.
- subgraph node representation 600 can be created by leveraging the social network data and mapping users and identification information using (fuzzy) logic. Then, using each subgraph generated 302 and 604, algorithms such as random walk and other random processes may be implemented to identify and determine correlations. [0040] In one embodiment, a recommendation or recommendation score may be determined using a random walk 604.
- P2P application e.g., Venmo
- P2P application e.g., Venmo
- user D has participated in P2P transactions however, mostly across applications as illustrated in P2P graphs 604a, 604b.
- subgraph node representation 600 can be created by leveraging the social network data and mapping users and identification information using (fuzzy) logic. Then, using each subgraph generated 302 and 604, algorithms such as random walk and other random processes may be implemented to identify and determine correlations.
- a recommendation or recommendation score may be determined using a random walk 604.
- a transition probability matrix (X) may be constructed.
- Each node is also associated with a self-loop.
- the probability of making a donation is calculated.
- the donation from a node k to a charity C d is considered and based on a user’s 302 transaction history which can be represented as
- a recommendation score may be computed by fc. d
- d is a charity
- k is a customer or user
- m is the number of nodes in the graph.
- a first charity recommendation may be provided to a user based in part on the P2P transactions the user has participated in.
- a similar approach may be taken for other types of recommendations and a charity recommendation score is computed and used for exemplary purposes.
- a recommendation may similarly be made for places to eat, items to purchase, discounts to provide, etc.
- a probability of an action occurring may be computed and thus a recommendation score may be obtained.
- a random walk-based recommendation 504 may not be sufficient to meet a desired criterion or may not provide a desirable recommendation (charity).
- a cluster-based recommendation score may be computed and used.
- an even more personal or tailored recommendation may be desirable.
- a cross-domain based recommendation score may be more appropriate.
- Figure 7 illustrates matrix diagram 700 of item-to-item collaborative filtering used to obtain a recommendation score.
- a charity-merchant similarity matrix or table diagram 700 is computed illustrating such correlations.
- a first approach is to consider a charity (i) and a merchant (j) and identify those instances where a similarity exists between the two.
- a charity 702 and merchant 704 are both examined to determine what similarities exist between the two.
- both charity 7O2 and merchant 704 share some similarities 706 in rows 1, m-2 and m. From these similarities, a similarity value may be computed and used for determining a recommendation score.
- a similarity matrix or matrix diagram 700 may be created based on, for example, co-purchases or other similarity such that
- a prediction may be determined and used in making a recommendation.
- the prediction may be designed to provide a recommendation to a user.
- a charity may be determined and recommended to a user.
- the weighted sums of the similarity score calculated based on the number of purchases completed by the user with merchants may be used. Therefore, the prediction or recommendation of a given charity maybe provided based on the weighted sum of the similarity score.
- a charity having the highest score for a user may then be recommended to the user.
- the top k charities based on the weighted sum of the similarity score are recommended to the user.
- the weighted sum of the similarity score for a user and charity may be calculated based on
- R denotes the number of transactions of a customer with a merchant or charity and the sum is over the top N user merchantsj.
- the top N user merchants for each user may be selected based on the number of transactions a user may have with each merchant, wherein the execution time of the algorithm may be decrease (significantly) if the computation is restricted to the top N merchants when calculating the weighted score for each charity.
- the algorithm is scalable and as such tunable for various values of N.
- the recommendation score may be further analyzed in order to obtain a total recommendation score.
- the recommendation scores may be fed into an ensemble model for further processing and total recommendation score 510 determination.
- process 800 for obtaining a recommendation implemented by a system and method such as that presented above and in conjunction with Figure 4 is presented.
- Figure 8 illustrates a flow diagram illustrating operations for obtaining a recommendation score using cross-domain collaborative filtering is presented.
- process 800 may include one or more of operations 802- 814, which may be implemented, at least in part, in the form of executable code stored on a non-transitory, tangible, machine readable media that, when run on one or more hardware processors, may cause a system to perform one or more of the operations 802-814.
- Process 800 may begin with operation 802, where a system receives or determines that user information is available for processing. The determination can be made in part through a notification by the payment provider application on a user device, via a beacon at a merchant location, based on a communication received by a point-of-sale system, from a site accessed on a user device, etc. that a user is at checkout.
- a trigger can be set to communication with a customer engagement platform and/or other data warehouse where user information and characterization information may be gathered.
- the user information and/or the characterization information can include a user profile, transactional information (including peer-to-peer transactions), charitable contributions, peer associations including but not limited to family, friends, contacts, items purchases and associations with charitable causes, peer donations, and the like.
- process 800 can continue to operation 806 where based in part on the characterization or user information retrieved, a determination is made regarding which model(s) to use for obtaining and presenting a recommendation to the user.
- a random walk, cluster, and cross-domain collaborative model may be used. Additionally, the model(s) used may be further used in conjunction with an ensemble model for determining
- recommendation score(s) for charitable causes may be presented to a user for donation at operation 808.
- a recommendation may be made based in part on an association or prediction regarding people who made a purchase with a particular merchant and also donated to a particular charity.
- the system is designed to show that users who make purchases at a particular merchant are also likely to make a donation to a specific cause.
- the random walk model may include a model that is focused more on transactions and peers associated with a user and may also use information regarding who the transactions or what peers the user transacted with.
- the random walk model can be generated using a mathematical path that can be generated between transactions across entities and/or with other peers to determine a recommendation score.
- the clustering model may be a model that uses a technique based on grouping objects or dividing a population based on similarities. For example, provided the users are members of a third-party payment provider service (e.g., PayPal) the users may be clustered based on profile data. Thus, in the charity example, a user may be presented with a customized charity or provided a recommendation score based on the cluster the user falls in. The users may therefore be classified into one of n clusters based on a profile data which can include information including but not limited to gender, address, age, marital status, etc. As such, the clustering model may be a model that users a user profile information to provide a recommendation score.
- a third-party payment provider service e.g., PayPal
- the ensemble model may be used when it is determined that an input to the ensemble model is necessitated to obtain a recommendation score from a combination of one or more of the models.
- the ensemble model may be used to obtain the recommendation score from the model using cross-domain filtering.
- it may determine that an input to the ensemble model may necessitate the recommendation score from the model using random walk and/or a combination of the crossdomain filtering model.
- it may determine that the input to the ensemble model may necessitate the recommendation score from the model using the crossdomain filtering model, and the random walk model, and/or the clustering model.
- Presentation of the one or more cause to present to a user may occur on the user device over a wireless or other communication network, via a user interface of an application associated with a merchant and/or payment provider when the user is at checkout.
- process 800 continues to operation 814 where as a result of the action taken by the user in response to the recommendation the recommendation model(s) is updated. That is to say, upon transmitting the recommendation to the user, the user may either donate or not to the cause presented. The donation or lack thereof is recorded and feedback to the training model of that future charitable cause recommendations may be presented accordingly and based on the user’s past donation behavior. Thus, the recommendation model is re-trained based on a feedback received, over a communication network, from the user device in response to the recommendation transmitted [0053] Note that although process 800 is described to include the computation a recommendation scores, with the aid of user information, other information and models may be used.
- the order of the models used, analysis of the recommendation scores, and presentation of charitable causes may occur in a varying order and process 800 is presented herein for exemplary purposes.
- the recommendation may be presented to a user on a mobile device, smart phone, laptop, desktop, or other device available to present the recommendation. Details on such device are described below and in conjunction with Figure 10.
- a system comprising: a non-transitory memory storing instructions; and a hardware processor configured to execute the instructions to cause the system to: in response to a notification received that a user is at a checkout, retrieve, from a customer engagement platform, user characterization information; determine, using the user characterization information retrieved, a recommendation model to use for making a recommendation;
- the system can re-train the recommendation model based on a feedback received, over a communication network, from the user device in response to the recommendation transmitted; the at least one recommendation score is computed using one or more recommendation models including at least an ensemble model; the recommendation score is obtained using one of a random walk model and a clustering model; the random walk model uses a combination of user profile information and peer-to-peer transactions from the user characterization information to determine the recommendation score; the clustering model uses profile information from the user characterization information retrieved to determine the recommendation score; the recommendation score is obtained using a cross-domain filtering model; and/or the ensemble model includes a decision tree model and uses one or more recommendation scores to obtain a total recommendation score.
- a method comprising: in response to a notification received that a user is at a checkout, retrieving, from a customer engagement platform, user characterization information; determining, using the user characterization information retrieved, a recommendation model to use for making a recommendation; computing, using the recommendation model determined to obtain at least one recommendation score; analyzing the at least one recommendation score computed to determine which one of a plurality of recommendations present to the user; and transmitting, over a communication network, the one of the plurality of recommendations determined.
- the method can further comprise re training the recommendation model based on a feedback received, over a communication network, from the user device in response to the recommendation transmitted.
- the method can also include that the at least one recommendation score is computed using one or more recommendation models including at least an ensemble model; the recommendation score is obtained using one of a random walk model and a clustering model; the random walk model uses a combination of user profile information and peer-to-peer transactions from the user characterization information to determine the recommendation score; the clustering model uses profile information from the user characterization information retrieved to determine the recommendation score; the recommendation score is obtained using a cross-domain filtering model; and/or the ensemble model includes a decision tree model and uses one or more recommendation scores to obtain a total recommendation score.
- a non-transitory machine-readable medium having instructions stored thereon, the instructions executable to cause performance of operations comprising: in response to a notification received that a user is at a checkout, retrieving, from a customer engagement platform, user characterization information; determining, using the user characterization information retrieved, a recommendation model to use for making a recommendation;
- the non-transitory machine-readable medium can further comprise re-training the
- the recommendation model based on a feedback received, over a communication network, from the user device in response to the recommendation transmitted.
- the at least one recommendation score is computed using one or more recommendation models including at least an ensemble model; and/or the recommendation score is obtained using one of a random walk model and a clustering model.
- a system comprising: a non-transitory memory storing instructions; and a processor configured to execute the instructions to cause the system to: in response to a determination that user information and cross-domain information is available for processing, retrieve a set of data associated with a user; determine, using a first part of the user information retrieved to determine a first recommendation score; determine, using a second part of the user information or cross-domain information retrieved to determine a second recommendation score; analyze the first recommendation score and the second
- recommendation scores to select transfer the selected one or more of the first and second recommendation scores to an ensemble machine learning model; obtain, based in part on the selected one or more recommendation scores transferred, a total recommendation score; and present, a recommendation on a user device based on the total recommendation score obtained.
- the system can also include that the first recommendation score is obtained using one of a random walk model and a clustering model; the random walk model uses a combination of user profile information and peer-to-peer transactions from the user information to determine the first recommendation score; the clustering model uses profile information from the user information retrieved to determine the first recommendation score; the second recommendation score is obtained using a cross-domain filtering model; the crossdomain filtering model uses a combination of a user information and cross-domain information to determine the second recommendation score; the ensemble machine learning model includes a decision tree model and use one or more of the first and second
- recommendation scores to obtain the total recommendation score are obtained using the ensemble machine learning model and a combination of the first recommendation score, the second recommendation score, and a third recommendation score.
- a method comprising: in response to a determination that user information and cross-domain information is available for processing, retrieving a set of data associated with a user; determining, using a first part of the user information retrieved to determine a first recommendation score; determining, using a second part of the user information or crossdomain information retrieved to determine a second recommendation score; analyzing the first recommendation score and the second recommendation score to determine which one or more of the first and second recommendation scores to select and use for further processing; transferring the selected one or more of the first and second recommendation scores to an ensemble machine learning model; obtaining, based in part on the selected one or more recommendation scores transferred, a total recommendation score; and presenting, a recommendation on a user device based on the total recommendation score obtained.
- the method can also include that the first recommendation score is obtained using one of a random walk model and a clustering model; the random walk model uses a combination of user profile information and peer-to-peer transactions from the user information to determine the first recommendation score; the clustering model uses profile information from the user information retrieved to determine the first recommendation score; the second
- recommendation score is obtained using a cross-domain filtering model; the cross-domain filtering model uses a combination of a user information and cross-domain information to determine the second recommendation score; the ensemble machine learning model includes a decision tree model and use one or more of the first and second recommendation scores to obtain the total recommendation score; and/or a total recommendation score is obtained using the ensemble machine learning model and a combination of the first recommendation score, the second recommendation score, and a third recommendation score.
- a non-transitory machine-readable medium having instructions stored thereon, the instructions executable to cause performance of operations comprising: in response to a determination that user information and cross-domain information is available for processing, retrieving a set of data associated with a user; determining, using a first part of the user information retrieved to determine a first recommendation score; determining, using a second part of the user information or cross-domain information retrieved to determine a second recommendation score; analyzing the first recommendation score and the second
- recommendation score to determine which one or more of the first and second recommendation scores to select and use for further processing; transferring the selected one or more of the first and second recommendation scores to an ensemble machine learning model; obtaining, based in part on the selected one or more recommendation scores transferred, a total recommendation score; and presenting, a recommendation on a user device based on the total recommendation score obtained.
- the non-transitory machine- readable medium may also include that the first recommendation score is obtained using one of a random walk model and a clustering model; the random walk model uses a combination of user profile information and peer-to-peer transactions from the user information to determine the first recommendation score; and/or a total recommendation score is obtained using the ensemble machine learning model and a combination of the first recommendation score, the second recommendation score, and a third recommendation score.
- Figure 9 is a block diagram of a networked system 900 for implementing the processes described herein, according to an embodiment.
- Figure 9 illustrates a block diagram of a system 900 for proving recommendations using cross domain filtering.
- system 900 may include or implement a plurality of devices, computers, servers, and/or software components that operate to perform various methodologies in accordance with the described embodiments.
- the devices, computers, and/or servers illustrated in Figure 9 may be deployed differently and that the operations performed, and/or the services provided by such devices, computers, and/or servers may be combined or separated for a given embodiment and may be performed by a greater number or fewer number of devices, computers, and/or servers.
- one or more of the devices, computers, and/or servers may be operated and/or maintained by the same or different entities.
- System 900 includes a merchant/charity device 902, a primary user device 932, a third-party service provider computer 912 in communication over a network 950.
- These devices 902, 932, and 912 are exemplary devices that may interact during a transaction that may result in a charitable contribution.
- the merchant device 902, primary user device 932, and the third-party service provider computer 912 may each include one or more processors, memories, and other appropriate components for executing computer-executable instructions such as program code and/or data.
- the computer-executable instructions may be stored on one or more computer readable mediums or computer readable devices to implement the various applications, data, and steps described herein.
- such instructions may be stored in one or more computer readable media such as memories or data storage devices internal and/or external to various components of system 900, and/or accessible over network 950.
- the merchant device 902 may be implemented as a communication device that may utilize appropriate hardware and software configured for wired and/or wireless communication with the primary user device 932 and third-party service provider computer 912.
- the merchant device 902 may be implemented as a personal computer (PC), a smart phone, laptop/tablet computer, point-of-sale device, wristwatch with appropriate computer hardware resources, eyeglasses with appropriate computer hardware, other type of wearable computing device, implantable communication devices, servers, and/or other types of computing devices capable of transmitting and/or receiving data.
- the merchant device 902 may correspond to and be utilized by a user, such as an employee of a merchant and/or another person authorized by the merchant, or independently as a stand alone system.
- the merchant device 902 may include one or more payment applications 904, other applications 906, a database 908, and a network interface component 910.
- the payment applications 904 and other applications 906 may correspond to executable processes, procedures, and/or applications with associated hardware.
- merchant device 902 may include additional or different components having specialized hardware and/or software to perform operations associated with the payment applications 904 and/or the other applications 906.
- the payment application 904 may facilitate financial transactions corresponding to the sale of goods and/or services offered by the merchant. For example, the payment application 904 may provide an interface for customers to purchase the goods or services, make a contribution, and to receive customer payment information (e.g., customer credit card information). The payment application 904 may further transmit customer payment information to a payment processor (e.g., such as a payment processor corresponding to the third-party service provider computer 912) to process the customer payment information.
- a payment processor e.g., such as a payment processor corresponding to the third-party service provider computer 912
- the payment application 904 may also facilitate other types of financial transactions such as banking, online payments, money transfer, donations, and/or the like.
- the merchant device 902 may execute the other applications 906 to perform various other tasks and/or operations corresponding to the merchant device 902.
- the other applications 906 may include security applications for implementing client-side security features, programmatic client applications for interfacing with appropriate application programming interfaces (APIs) over network 950, or other types of applications.
- the other applications 906 may include social networking applications.
- the other applications 906 may include device interfaces and other display modules that may receive input and/or output information.
- the other applications 906 may include a graphical user interface (GUI) configured to provide an interface to the user.
- the graphical user interface may include a selectable button designed to provide a donation to a charitable cause and/or other applications 906 may be associated with a charitable cause designed for making contributions or donations.
- GUI graphical user interface
- the merchant device 902 may further include a database 908, which may be stored in a memory and/or other storage device of the merchant device 602.
- the database 908 may include, for example, identifiers (IDs) such as operating system registry entries, cookies associated with the payment application 904 and/or other applications 906, IDs associated with hardware of the network interface component 910, IDs used for payment/user/device authentication or identification, and/or other appropriate IDs.
- IDs identifiers
- the database 908 may also include information corresponding to one or purchase transactions of customers who have purchased goods or services from the merchant, browsing histories of the customers, or other types of customer information.
- the merchant device 902 may also include information corresponding to payment tokens, such as payment tokens generated by the third-party service provider computer 912.
- the merchant device 902 may also include at least one network interface component 910 configured to communicate with various other devices such as the primary user device from user 302h, and/or the third-party service provider computer 912.
- network interface component 910 may include a Digital Subscriber Line (DSL) modem, a Public Switched Telephone Network (PTSN) modem, an Ethernet device, a broadband device, a satellite device and/or various other types of wired and/or wireless network communication devices including microwave, radio frequency, infrared,
- the merchant device 902 may include a charitable device designed to receive and transact with a user in making a donation.
- the third-party service provider computer 912 may be maintained, for example, by a third-party service provider, which may provide payment processing services for the merchant.
- the third-party service provider may be provided by PAYPALTM Inc. of San Jose, CA, USA.
- the third-party service provider computer 912 may be associated with a user 302 of the primary device.
- the third-party service provider computer 912 includes one or more payment processing applications 914, which may be configured to process payment information received from the merchant device 902 or from a selection at the primary user device 932.
- the payment application 904 of the merchant device 902 may receive payment information from a customer to purchase a service or good offered by the merchant.
- the payment application 904 may transmit the payment information to the third-party service provider computer 912.
- the payment processing application 914 of the third-party service provider computer 912 may receive and process the payment information.
- the payment application 904 can present a payment code on a display of the user device associated with the merchant. The payment code can be scanned or transmitted to the merchant device 902 for payment processing.
- the payment processing application can present a successful transaction notification on the display of the user device when the application has been authorized and ready for post-processing.
- the third-party service provider computer 912 may execute the other applications 916 to perform various other tasks and/or operations corresponding to the third-party service provider computer 912.
- the other applications 916 may include security applications for implementing client-side security features, programmatic client applications for interfacing with appropriate APIs over the network 950, or and applications associated with making a charitable cause recommendation other types of applications.
- the other applications 916 may also include additional communication applications, such as email, texting, voice, and IM applications that enable communication of emails, calls, texts, and other notifications through the network 950.
- the other applications 916 may include location detection applications, such as a mapping, compass, and/or GPS applications, which may be used to determine a location of the third-party service provider computer 912.
- the other applications 916 may include device interfaces and other display modules that may receive input and/or output information.
- the other applications 916 may include a GUI configured to provide an interface to one or more users.
- the third-party service provider computer 912 may further include a database 918, which may be stored in a memory and/or other storage device of the third-party service provider computer 912.
- the database 918 may include, for example, IDs such as operating system registry entries, cookies associated with the payment processing application 914 and/or other the applications 916, IDs associated with hardware of the network interface component 922, IDs used for payment/user/device authentication or identification, transaction IDs, and/or other appropriate IDs.
- the third-party service provider computer 912 may include a set of payment profiles 920 corresponding to past sales transactions executed by the merchant device with respect to one or more customers of the merchant.
- the third-party service provider computer 912 may include a set of merchant payment profiles corresponding to the payment sources associated to a corresponding merchant.
- a particular payment profile from the set of payment profiles 920 may include payment information corresponding to a particular customer of the merchant and/or a merchant associated with a user.
- the payment information may include credit card information (e.g., encrypted card number, expiration date, security code, card issuer, and/or the like), Automated Clearing House (ACH) information (e.g., encrypted account number, routing number, and/or the like), identification information associated with the particular customer/user (e.g., a customer identifier, name, address, phone number, date of birth, and/or the like), billing information, credit score, and/or any other type of payment information associated with the particular customer.
- other payment profiles of the set of payment profiles 920 may include payment information corresponding to other customers of the merchant and/or other merchants associated with the user.
- the third-party service provider computer 912 may store the set of payment profiles 920 according to a first file format.
- the third-party service provider computer 912 may include a set of donations, contact profiles, user profile information, etc. which may be used in providing recommendations.
- the recommendations may be presented to a user of the primary user device 932 and identified in-part based on the profile information collected and stored.
- the third-party service provider computer 912 may also store a set of payment tokens corresponding to the set of payment profiles 920.
- each payment profile of the set of payment profiles 920 may be associated with a corresponding payment token from the set of payment tokens.
- each payment profile may include a corresponding payment token from the set of payment tokens.
- the set of payment tokens may be particular to the third-party service provider computer 912 (e.g., computers from other service providers may be unable to use the set of payment tokens) and may enable the merchant device 902 to more securely process payment transactions with the third-party service provider computer 912.
- the third-party service provider computer 912 may provide the merchant device 902 with a particular payment token that is different from the credit card number.
- the merchant device 902 may use the particular payment token to process the payment transaction instead of the credit card number.
- the merchant device may store and associate the particular payment token with the particular payment profile instead of the credit card number, thereby protecting the credit card number from being stolen in a potential security breach of the merchant device 902.
- the third-party service provider computer 912 also includes at least one network interface component 922 that is configured to communicate with the merchant device 902 and/or the primary user device 932 via the network 950.
- the third-party provider computer 912 may also include a data classification component 924 that may be used for raw data classification.
- the raw data received by the third-party service provider computer 912 and/or stored in database 918 can be analyzed to identify errors in transaction post-processing, determine cross-domain correlations, determine user specific recommendations, determine a recommendation score, etc.
- the primary user device 932 may be implemented as a communication device that may utilize appropriate hardware and software configured for wired and/or wireless communication with the merchant device 902 and third-party service provider computer 912.
- the primary user device 932 may be a personal computer (PC), a smart phone, laptop/tablet computer, wristwatch with appropriate computer hardware resources, eyeglasses with appropriate computer hardware (e.g. GOOGLE GLASS®), other type of wearable computing device, implantable communication devices, and/or other types of computing devices capable of transmitting and/or receiving data.
- the primary user device 932 may be mobile device communicating with wearable device (or secondary user device), merchant device 902, or directly with the third-party service provider system 912.
- the primary user device 932 may include a payment processing application 926 that may be used as a digital wallet that can communicate with a merchant device 902, a secondary user device, and/or third-party service provider 912 for purchasing and transacting.
- the payment processing application 926 can work jointly with database 930 for retrieving bank account information, user accounts, security codes, tokens that may be associated with various merchant locations, charities, and other relevant causes.
- the payment processing application can also provide access the user profiles for determining which payment method, processing code, and/or recommendation to make and use.
- the primary user device 932 may also include other applications 928 to perform various other tasks and/or operations corresponding to the primary user device 932.
- the other applications 928 may facilitate communication with the merchant device 902, such as to receive an indication, from the merchant device 902, to switch payment processing services from the third-party service provider to the service provider.
- the other applications 928 may include security applications, application that enable designation of a primary interactive device, and applications that allow for web site searches (including access to merchant websites).
- the other applications 928 may also include additional communication applications, such as email, texting, voice, and IM applications that enable communication of emails, calls, texts, and other notifications through the network 950.
- the other applications 928 may include location detection applications, such as a mapping, compass, and/or GPS applications, which may be used to determine a location of the primary user device 932.
- the other applications 928 may include social networking applications.
- the other applications 928 may include device interfaces and other display modules that may receive input and/or output information.
- the other applications 928 may include a GUI configured to provide an interface to one or more users.
- the primary user device 932 may further include a database 930, which may be stored in a memory and/or other storage device of the primary user device 932.
- the database 930 may include, for example, identifiers (IDs) such as operating system registry entries, cookies associated with a web browser and/or the other applications 928, IDs associated with hardware of the network interface component 934, IDs used for payment/user/device authentication or identification, bank information, merchant information, user accounts, and/or other appropriate IDs.
- IDs such as operating system registry entries, cookies associated with a web browser and/or the other applications 928
- IDs associated with hardware of the network interface component 934 IDs used for payment/user/device authentication or identification, bank information, merchant information, user accounts, and/or other appropriate IDs.
- the primary user device 932 may also include at least one network interface component 934 configured to communicate with various other devices such as the merchant device 902 and/or the third-party service provider computer 912.
- Figure 10 illustrates an example computer system 1000 in block diagram format suitable for implementing on one or more devices of the system in Figure 4.
- a device that includes computer system 1000 may comprise a computing device (e.g., a smart or mobile device, a computing tablet, a personal computer, laptop, wearable device, PDA, server, etc.) that is capable of communicating with a network 1026.
- a computing device e.g., a smart or mobile device, a computing tablet, a personal computer, laptop, wearable device, PDA, server, etc.
- a service provider and/or a content provider may utilize a network computing device (e.g., a network server or third-party service provider computer 912) capable of communicating with the network 1026.
- a network computing device e.g., a network server or third-party service provider computer 912
- each of the devices utilized by users, service providers, and content providers may be implemented as computer system 1000 in a manner as follows.
- Computer system 1000 may include a bus 1010 or other communication mechanisms for communicating information data, signals, and information between various components of computer system 1000.
- Components include an input/output (I/O) component 1004 that processes a user action, such as selecting keys from a keypad/keyboard, selecting one or more buttons, links, actuatable elements, etc., and sending a corresponding signal to bus 1010.
- I/O component 1004 may also include an output component, such as a display 1002 and a cursor control 1008 (such as a keyboard, keypad, mouse, touchscreen, etc.).
- I/O component 1004 may include an image sensor for capturing images and/or video, such as a complementary metal oxide semiconductor (CMOS) image sensor, and/or the like.
- CMOS complementary metal oxide semiconductor
- An audio input/output component 1006 may also be included to allow a user to use voice for inputting information by converting audio signals. Audio I/O component 1006 may allow the user to hear audio.
- a transceiver or network interface 1022 transmits and receives signals between computer system 1000 and other devices, such as another user device, a merchant server, an email server, application service provider, web server, a payment provider server, and/or other servers via a network. In various embodiments, such as for many cellular telephone and other mobile device embodiments, this transmission may be wireless, although other transmission mediums and methods may also be suitable.
- a processor 1018 which may be a micro-controller, digital signal processor (DSP), or other processing component, that processes these various signals, such as for display on computer system 1000 or transmission to other devices over a network 1026 via a communication link 1024.
- communication link 1024 may be a wireless communication in some embodiments.
- Processor 1018 may also control transmission of information, such as cookies, IP addresses, images, and/or the like to other devices.
- Components of computer system 1000 also include a system memory component 1012 (e.g., RAM), a static storage component 1014 (e.g., ROM), and/or a disk drive 1016.
- Computer system 1000 performs specific operations by processor 1018 and other components by executing one or more sequences of instructions contained in system memory component 1012.
- Logic may be encoded in a computer readable medium, which may refer to any medium that participates in providing instructions to processor 1018 for execution. Such a medium may take many forms, including but not limited to, non-volatile media, volatile media, and/or transmission media.
- non-volatile media includes optical or magnetic disks
- volatile media includes dynamic memory such as system memory component 1012
- transmission media includes coaxial cables, copper wire, and fiber optics, including wires that comprise bus 1010.
- the logic is encoded in a non-transitory machine-readable medium.
- transmission media may take the form of acoustic or light waves, such as those generated during radio wave, optical, and infrared data communications.
- Computer readable media include, for example, hard disk, magnetic tape, any other magnetic medium, CD-ROM, any other optical medium, RAM, PROM, EPROM, FLASH-EPROM, any other memory chip or cartridge, or any other medium from which a computer is adapted to read.
- Components of computer system 1000 may also include a short-range
- Short range communications interface 1020 may include transceiver circuitry, an antenna, and/or waveguide. Short range communications interface 1020 may use one or more short-range wireless communication technologies, protocols, and/or standards (e.g., WIFI, Bluetooth®, Bluetooth Low Energy (BLE), infrared, NFC, etc.).
- WIFI wireless local area network
- BLE Bluetooth Low Energy
- Short range communications interface 1020 may be configured to detect other devices (e.g., primary user device 1032, merchant device 1002, etc.) with short range communications technology near computer system 1000. Short range communications interface 1020 may create a communication area for detecting other devices with short range communication capabilities. When other devices with short range communications capabilities are placed in the communication area of short range communications interface 1020, short range communications interface 1020 may detect the other devices and exchange data with the other devices. Short range communications interface 1020 may receive identifier data packets from the other devices when in sufficiently close proximity.
- other devices e.g., primary user device 1032, merchant device 1002, etc.
- Short range communications interface 1020 may create a communication area for detecting other devices with short range communication capabilities. When other devices with short range communications capabilities are placed in the communication area of short range communications interface 1020, short range communications interface 1020 may detect the other devices and exchange data with the other devices. Short range communications interface 1020 may receive identifier data packets from the other devices when in sufficiently close proximity.
- the identifier data packets may include one or more identifiers, which may be operating system registry entries, cookies associated with an application, identifiers associated with hardware of the other device, and/or various other appropriate identifiers.
- short range communications interface 1020 may identify a local area network using a short-range communications protocol, such as Wi-Fi, and join the local area network.
- computer system 1000 may discover and/or communicate with other devices that are a part of the local area network using short range communications interface 1020.
- short range communications interface 1020 may further exchange data and information with the other devices that are communicatively coupled with short range communications interface 1020.
- execution of instruction sequences to practice the present disclosure may be performed by computer system 1000.
- a plurality of computer systems 1000 coupled by communication link 1024 to the network may perform instruction sequences to practice the present disclosure in coordination with one another.
- Modules described herein may be embodied in one or more computer readable media or be in communication with one or more processors to execute or process the techniques and algorithms described herein.
- a computer system may transmit and receive messages, data, information and instructions, including one or more programs (i.e., application code) through a
- Received program code may be executed by a processor as received and/or stored in a disk drive component or some other non-volatile storage component for execution.
- various embodiments provided by the present disclosure may be implemented using hardware, software, or combinations of hardware and software. Also, where applicable, the various hardware components and/or software components set forth herein may be combined into composite components comprising software, hardware, and/or both without departing from the spirit of the present disclosure. Where applicable, the various hardware components and/or software components set forth herein may be separated into sub-components comprising software, hardware, or both without departing from the scope of the present disclosure. In addition, where applicable, it is contemplated that software components may be implemented as hardware components and vice-versa.
- Software in accordance with the present disclosure, such as program code and/or data, may be stored on one or more computer readable media. It is also contemplated that software identified herein may be implemented using one or more computers and/or computer systems, networked and/or otherwise. Where applicable, the ordering of various steps described herein may be changed, combined into composite steps, and/or separated into sub-steps to provide features described herein.
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
Claims
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US16/215,808 US11157987B2 (en) | 2018-12-07 | 2018-12-11 | System and method for obtaining recommendations using scalable cross-domain collaborative filtering |
| PCT/US2019/064328 WO2020123209A1 (en) | 2018-12-11 | 2019-12-03 | System and method for obtaining recommendations using scalable cross-domain collaborative filtering |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| EP3895032A1 true EP3895032A1 (en) | 2021-10-20 |
| EP3895032A4 EP3895032A4 (en) | 2022-08-17 |
Family
ID=71076613
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| EP19895759.9A Withdrawn EP3895032A4 (en) | 2018-12-11 | 2019-12-03 | SYSTEM AND METHOD OF OBTAINING RECOMMENDATIONS USING SCALABLE CROSS-AREA COLLABORATIVE FILTERING |
Country Status (4)
| Country | Link |
|---|---|
| EP (1) | EP3895032A4 (en) |
| CN (1) | CN113168424A (en) |
| AU (2) | AU2019395313A1 (en) |
| WO (1) | WO2020123209A1 (en) |
Families Citing this family (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20230029913A1 (en) * | 2021-07-27 | 2023-02-02 | Synchrony Bank | Multi-product platform |
| CN113779380B (en) * | 2021-08-12 | 2023-11-21 | 阿里巴巴(中国)有限公司 | Cross-domain recommendation, content recommendation methods, devices and equipment |
| CN115099890B (en) * | 2022-06-17 | 2025-11-07 | 无线生活(杭州)信息科技有限公司 | APP-based cross-domain recommendation method and device |
Family Cites Families (15)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7630986B1 (en) * | 1999-10-27 | 2009-12-08 | Pinpoint, Incorporated | Secure data interchange |
| US7130807B1 (en) * | 1999-11-22 | 2006-10-31 | Accenture Llp | Technology sharing during demand and supply planning in a network-based supply chain environment |
| US10339538B2 (en) * | 2004-02-26 | 2019-07-02 | Oath Inc. | Method and system for generating recommendations |
| EP2343660A1 (en) * | 2007-03-31 | 2011-07-13 | Sony Deutschland GmbH | Method for content recommendation |
| US20140164172A1 (en) * | 2011-04-19 | 2014-06-12 | Nokia Corporation | Method and apparatus for providing feature-based collaborative filtering |
| CA2825498C (en) * | 2012-08-31 | 2017-05-16 | Accenture Global Services Limited | Hybrid recommendation system |
| US9400994B2 (en) * | 2013-01-29 | 2016-07-26 | Wal-Mart Stores, Inc. | Customized impulse shelves |
| JP5938009B2 (en) * | 2013-05-28 | 2016-06-22 | 日本電信電話株式会社 | Information recommendation device, information recommendation method, and information recommendation program |
| CN103745356A (en) * | 2013-12-23 | 2014-04-23 | 苏州亚安智能科技有限公司 | Orientation electronic-commerce platform based on customer demands |
| US10043205B2 (en) * | 2014-06-30 | 2018-08-07 | Microsoft Technology Licensing, Llc | Lead recommendations |
| US10565615B2 (en) * | 2014-07-01 | 2020-02-18 | Transform Sr Brands Llc | System and method for personalized add-on purchase |
| CN105488216B (en) * | 2015-12-17 | 2020-08-21 | 上海中彦信息科技股份有限公司 | Recommendation system and method based on implicit feedback collaborative filtering algorithm |
| US10339198B2 (en) * | 2015-12-18 | 2019-07-02 | Bitly, Inc. | Systems and methods for benchmarking online activity via encoded links |
| US20170250930A1 (en) * | 2016-02-29 | 2017-08-31 | Outbrain Inc. | Interactive content recommendation personalization assistant |
| CN107743249A (en) * | 2017-11-27 | 2018-02-27 | 四川长虹电器股份有限公司 | A kind of CTR predictor methods based on Model Fusion |
-
2019
- 2019-12-03 CN CN201980082152.1A patent/CN113168424A/en active Pending
- 2019-12-03 AU AU2019395313A patent/AU2019395313A1/en not_active Ceased
- 2019-12-03 EP EP19895759.9A patent/EP3895032A4/en not_active Withdrawn
- 2019-12-03 WO PCT/US2019/064328 patent/WO2020123209A1/en not_active Ceased
-
2023
- 2023-05-17 AU AU2023203082A patent/AU2023203082A1/en not_active Abandoned
Also Published As
| Publication number | Publication date |
|---|---|
| CN113168424A (en) | 2021-07-23 |
| EP3895032A4 (en) | 2022-08-17 |
| AU2019395313A1 (en) | 2021-06-24 |
| AU2023203082A1 (en) | 2023-06-08 |
| WO2020123209A1 (en) | 2020-06-18 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US11157987B2 (en) | System and method for obtaining recommendations using scalable cross-domain collaborative filtering | |
| JP6913241B2 (en) | Systems and methods for issuing loans to consumers who are determined to be creditworthy | |
| US20210406896A1 (en) | Transaction periodicity forecast using machine learning-trained classifier | |
| US10949918B2 (en) | System and method for issuing a loan to a consumer determined to be creditworthy and generating a behavioral profile of that consumer | |
| US20230214696A1 (en) | System and method for obtaining recommendations using scalable cross-domain collaborative filtering | |
| Edwine et al. | Detecting the risk of customer churn in telecom sector: a comparative study | |
| AU2023203082A1 (en) | System and method for obtaining recommendations using scalable cross-domain collaborative filtering | |
| IL261207A (en) | Method and system for searching for entities based on trust score and geography | |
| US11687836B2 (en) | System and method for automatic labeling of clusters created by machine learning methods | |
| EP3433822A1 (en) | Methods and systems for providing payment interface services using a payment platform | |
| US20230252478A1 (en) | Clustering data vectors based on deep neural network embeddings | |
| US20150095146A1 (en) | Smart analytics for audience-appropriate commercial messaging | |
| CN112200382A (en) | Training method and device of risk prediction model | |
| US12299726B2 (en) | System and method for making content-based recommendations using a user profile likelihood model | |
| US20170048348A1 (en) | Processing available user data to determine a user profile for use in anticipating changing user interests | |
| US10713538B2 (en) | System and method for learning from the images of raw data | |
| US11475079B2 (en) | System and method for efficient multi stage statistical website indexing | |
| WO2025072203A1 (en) | Near real-time vector index building and serving solution | |
| US20150051988A1 (en) | Detecting marketing opportunities based on shared account characteristics systems and methods | |
| Jayashree et al. | Spam review detection with Metapath-aggregated graph convolution network | |
| Omelianenko | Beyond Ratings: A Social Graph Approach to Restaurant Recommendation Using Google Maps and Instagram Data |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE INTERNATIONAL PUBLICATION HAS BEEN MADE |
|
| PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: REQUEST FOR EXAMINATION WAS MADE |
|
| 17P | Request for examination filed |
Effective date: 20210611 |
|
| AK | Designated contracting states |
Kind code of ref document: A1 Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR |
|
| DAV | Request for validation of the european patent (deleted) | ||
| DAX | Request for extension of the european patent (deleted) | ||
| REG | Reference to a national code |
Ref country code: DE Ref legal event code: R079 Free format text: PREVIOUS MAIN CLASS: G06F0016000000 Ipc: G06F0016953500 |
|
| A4 | Supplementary search report drawn up and despatched |
Effective date: 20220718 |
|
| RIC1 | Information provided on ipc code assigned before grant |
Ipc: G06F 16/9535 20190101AFI20220712BHEP |
|
| P01 | Opt-out of the competence of the unified patent court (upc) registered |
Effective date: 20230718 |
|
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: EXAMINATION IS IN PROGRESS |
|
| 17Q | First examination report despatched |
Effective date: 20231011 |
|
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN |
|
| 18D | Application deemed to be withdrawn |
Effective date: 20250108 |