WO2017062179A1 - Procédé et dispositif de recommandation - Google Patents
Procédé et dispositif de recommandation Download PDFInfo
- Publication number
- WO2017062179A1 WO2017062179A1 PCT/US2016/052985 US2016052985W WO2017062179A1 WO 2017062179 A1 WO2017062179 A1 WO 2017062179A1 US 2016052985 W US2016052985 W US 2016052985W WO 2017062179 A1 WO2017062179 A1 WO 2017062179A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- users
- network
- network objects
- rating
- objects
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0201—Market modelling; Market analysis; Collecting market data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
- G06Q30/0601—Electronic shopping [e-shopping]
- G06Q30/0631—Item recommendations
Definitions
- the present disclosure relates to the field of Internet technologies, and in particular to a recommendation method and device.
- Multiple aspects of the present disclosure provide a real-time recommendation method and device, which are used for increasing recommendation accuracy and improving the effect such recommendations have on user behavior through making recommendations more timely and relevant, which increases user engagement and yields improvements in the fields of search, social networking and e-commerce, to name a few technologies, that are reliant upon recommendations as a key component of any service offering.
- One aspect of the present disclosure provides a recommendation method, which includes:
- the updating comprising modifying the user ratings in accordance with the realtime acquired user behavior data to obtain current user rating data of the users currently interacting with the network system; determining based upon the current user rating data, one or more similarities chosen from a group of similarities consisting of similarities between the users on the network, similarities between the network objects rated by the users, and between similarities between the users and the network objects; and sending recommendations for new recommended network objects to users according to one or more of the determined similarities, the recommendations being sent to users while the users are currently interacting with the network system.
- updating existing rating data of the users includes the execution of at least one of the following operations:
- the real-time user behavior data comprises real-time behavior data of new users on new network objects, generating, by the processor, rating data of the new users on the new network objects according to the real-time behavior data of the new users on the new network objects, and adding the rating data of the new users on the new network objects into the rating data of the users on the network objects in the network system or other network systems;
- the real-time user behavior data comprises the real-time behavior data of new users on existing network obj ects
- the real-time user behavior data comprises real-time behavior data of existing users on new network objects, generating, by the processor, rating data of the existing users on the new network objects according to the real-time behavior data of the new users on
- determining one or more similarities chosen from a group of similarities includes: organizing, by the processor, the current user rating data based on one or more of dimensions of the users and one or more dimensions of the network objects to generate one or more of rating vectors of the users and one or more rating vectors of the network objects; and calculating, by the processor, one or more of similarities between the users, between the network objects, and between the users and the network objects based on one or more of the rating vectors of the users and the rating vectors of the network objects.
- organizing the current user rating data of the users on the network objects includes: executing data structure reorganization on the current user rating data to generate a plurality of first key -value pairs, a key in each first key-value pair being an identifier of a user, and a value being an identifier of a network object and the rating data of the user identified by the identifier of the user on the network object identified by the identifier of the network object; correlating the first key-value pairs with a first key to generate rating vectors of users identified by the first key; reversing the first key-value pairs to generate a plurality of second key-value pairs, a second key-value pair key of each second key -value pair being an identifier of a network object, and a second-key -value pair value being an identifier of a user and the rating data of the user identified by the identifier of the user on the network object identified by the identifier of the network object; and the second key-value pairs with a second
- calculating one or more of similarities between the users, between the network objects, and between the users and the network objects according to the one or more of the rating vectors of the users and the rating vectors of the network objects includes at least one of the following operations: calculating, by the processor, similarity between every two of the network objects according to the rating vectors of the network objects; calculating, by the processor, similarity between every two of the users according to the rating vectors of the users; and calculating, by the processor, similarity between any one of the users and any one of the network objects according to the rating vectors of the users and the rating vectors of the network objects.
- calculating similarity between every two of the network objects according to the rating vectors of the network objects includes: obtaining network objects having been rated by a same user to generate a network object subset;
- calculating a similarity between every two of the users according to the rating vectors of the users includes: obtaining users having rated a same network object to generate a user subset; correlating the rating vectors of every two of the users in the user subset, and correlating the rating vectors of every two of uncorrelated users among the users according to the correlation between every two of the users in the user subset to generate a correlation feature vector between every two of the users; and calculating similarity between every two of the users according to the correlation feature vector between every two of the users; [0015] calculating a similarity between any one of the users and any one of the network objects according to the rating vectors of the users and the rating vectors of the network objects includes:
- sending recommendations to users for new recommended network objects according to one or more of the determined similarities includes at least one of the following recommendation operations: obtaining network objects with similarities to the network objects currently operated by the user requiring one or more network objects that meet a first preset condition as candidate objects from the network objects according to the similarities between the network objects and recommending network objects to the users requiring one or more network objects from the candidate objects;
- [0018] obtaining users with similarities to the users requiring one or more network objects that meet a second preset condition as candidate users from the users according to the similarities between the users and recommending network objects to the users requiring one or more network objects from the network objects having been rated by the candidate users; and obtaining network objects with the similarities to the users requiring one or more network objects that meet a third preset condition as candidate objects from the network objects according to the similarities between the users and the network objects, and recommending network objects to the users requiring one or more network objects from the candidate objects.
- the network objects are at least one of commodity objects and service objects; and the user behavior data comprises data about user behaviors selected from a group of behaviors consisting of: browsing, adding to favorites, adding to shopping cart, purchasing, paying, and reviewing.
- a recommendation device which comprises: acquisition logic executed by the processor for acquiring current user behavior in a currently operating network system in real time to obtain user behavior data of users on the network, the current user behavior data representing currently occurring user rating activities of the users on the network; update logic executed by the processor for updating existing rating data of the users, the existing rating data representing user ratings of network objects made by the users during prior interactions with the network system or other network systems, the updating comprising modifying the user ratings in accordance with the real time acquired user behavior data to obtain current user rating data of the users currently interacting with the network system; similarity processing logic executed by the processor for determining, based upon the current user rating data, one or more of similarities chosen from a group of similarities consisting of similarities between the users, between the network objects rated by the user, and between the users and the network objects; and
- recommendation logic executed by the processor for sending to users recommendations for new recommended network objects to users according to the one or more of the determined similarities, the recommendations being sent to users while the users are currently interacting with the network system.
- the update logic further comprises logic for executing at least one of the following operations: if the user behavior data comprises behavior data of new users on new network objects, generating rating data of the new users on the new network objects according to the behavior data of the new users on the new network objects, and adding the rating data of the new users on newly added network objects into the rating data of the users on the network objects in the network system or other network systems;
- the user behavior data comprises the behavior data of new users on existing network objects, generating rating data of the new users on the existing network objects according to the behavior data of the new users on the existing network objects, and adding the rating data of the new users on the existing network objects into the rating data of the users on the network objects in the network system or other network systems;
- the real-time user behavior data comprises real-time behavior data of existing users on the new network objects, generating rating data of the existing users on the new network objects according to the real-time behavior data of the existing users on the new network objects, and adding the rating data of the existing users on the new network objects into the rating data of the users on the network objects in the network system or other network systems;
- the real-time user behavior data comprises real-time behavior data of the existing users on the existing network objects, generating rating data increments of the existing users on the existing network objects according to the real-time behavior data of the existing users on the existing network objects, and updating the rating data of the existing users on the existing network objects in the network system or other network systems based on the rating data increments.
- the similarity processing logic further comprises logic for: organizing logic executed by the processor for organizing the current user rating data based on one or more of dimensions of the users and dimensions of the network objects to generate one or more of rating vectors of the users and rating vectors of the network objects; and calculating one or more of similarities between the users, between the network objects and between the users and the network objects based on one or more of the rating vectors of the users and the rating vectors of the network objects.
- the similarity processing logic further comprises data structure reorganization logic executed by the processor for: executing data structure reorganization on the current user rating data to generate a plurality of first key -value pairs, a key in each first key -value pair being an identifier of a user, and a value being an identifier of a network object and the rating data of the user identified by the identifier of the user on the network object identified by the identifier of the network object; correlating the first key- value pairs with the same key to generate rating vectors of the users identified by the key; reversing the first key-value pairs to generate a plurality of second key -value pairs, a second key-value pair key of each second key-value pair being an identifier of a network object, and a second key-value pair value being an identifier of a user and the rating data of the user identified by the identifier of the user on the network object identified by the identifier of the network object; and correlating the second key-value
- the similarity processing logic is specifically configured to execute, by the processor, at least one of the following operations: calculating similarity between every two of the network objects according to the rating vectors of the network objects; calculating similarity between every two of the users according to the rating vectors of the users; and calculating similarity between any one of the users and any one of the network objects according to the rating vectors of the users and the rating vectors of the network objects.
- the similarity processing logic is further configured to: obtain network objects having been rated by a same user to generate a network object subset; correlate rating vectors of every two of the network objects in the network object subset, and correlate rating vectors of every two of uncorrelated network objects among the network objects according to the correlation between every two of the network objects in the network object subset to generate a correlation feature vector between every two of the network objects; and calculate a similarity between every two of the network objects according to the correlation feature vector between every two of the network objects;
- the similarity processing module is specifically configured to, in one embodiment: obtain users having rated a same network object to generate a user subset; correlate the rating vectors of every two of the users in the user subset, and correlate the rating vectors of every two of uncorrelated users among the users according to the correlation between every two of the users in the user subset to generate a correlation feature vector between every two of the users; and obtain similarity between every two of the users according to the correlation feature vector between every two of the users;
- the similarity processing module is specifically configured to: for any one of the users, correlate the rating vector of the user and the rating vector of any one of the network objects to generate a correlation feature vector between the user and any one of the network objects, and calculate a similarity between the user and any one of the network objects according to the correlation feature vector between the user and any one of the network objects.
- the recommendation logic is specifically configured to execute at least one of the following operations: obtaining network objects with the similarities to the network objects currently operated by the users requiring one or more network objects that meet a first preset condition as candidate objects from the network objects according to the similarities between the network objects, and recommending network objects to the users requiring one or more network objects from the candidate objects;
- the network objects are at least one of commodity objects and service objects;
- the user behavior data comprises data about user behavior selected from the group of behaviors consisting of: browsing, adding to favorites, adding to shopping cart, purchasing, paying and reviewing.
- user behavior in a network system is acquired in real time to obtain real-time user behavior data; rating data of users on network objects in the previous network systems is updated according to the real-time user behavior data to obtain rating data of the users on the network objects in the current network system; similarities between the users, between the network objects and between the users and the network objects are calculated according to the rating data of the users on the network objects in the current network system; network objects are recommended to users requiring one or more network objects according to the similarities between the users, between the network objects and between the users and the network objects, thereby the purpose of recommendation is achieved.
- the present application combines real-time user behavior data with off-line data, by utilizing the real-time user behavior data to supplement the off-line data, the accuracy of recommendation can be increased, the effect of recommendation can be improved, thereby the requirement of application scenarios requiring real-time collaboration and fast response can be met.
- Figure 1 is a flow diagram of a recommendation method provided by one embodiment of the present disclosure
- Figure 2 is a schematic diagram of a system architecture of a recommendation method provided by one embodiment of the present disclosure.
- Figure 3 is a structure diagram of a recommendation device provided by one embodiment of the present disclosure.
- Figure 1 is a flow diagram of a recommendation method provided by one embodiment of the present disclosure. As shown in Figure 1, the method includes, in one embodiment:
- Step 101 Acquire user behavior in a network system in real time to obtain real-time user behavior data.
- Step 102 Update rating data of users on network objects in the previous network systems according to the real-time user behavior data to obtain rating data of the users on the network objects in the current network system.
- Step 103 Calculate similarities between the users, between the network objects and between the users and the network objects according to the rating data of the users on the network objects in the current network system.
- Step 104 Recommend network objects to users requiring one or more network objects according to the similarities between the users, between the network objects and between the users and the network objects.
- the embodiment provides a recommendation method, the flow of which can be executed by a recommendation device.
- the method provided by the embodiment can be used by any application scenario based on the Internet to recommend information. For example, when a user shops on an E-commerce website, the E-commerce website can recommend commodities to the user by adopting the method provided by the steps of Figure 1. For another example, when a user wants to download a video resource from a resource downloading website, the resource downloading website can recommend related video resources to the user. For another example, when a user orders takeout food via a takeout client application, the takeout client application can recommend related takeout commodities and the like to the user.
- the network system and user behavior and network objects in the network system in the embodiment are different.
- the embodiment does not limit the forms of the network system and user behavior and network objects in the network system.
- the network system can be a network system with every e-commerce website as a primary component.
- the network objects in the network system can be commodity objects, and the user behavior in the network system can include any one of browsing, adding to favorites, adding to shopping cart, purchasing, paying, and reviewing.
- the network system can be a network system with a resource downloading website as a primary component.
- the network objects in the network system can be downloadable resources, such as audio, video, or text resources, and the user behavior in the network system can include any one of previewing,
- the network objects of the embodiment can also be Internet-based service objects, and the service objects can be, e.g., a car washing service, maintenance service, massage service, cleaning service, door-to-door cooking service, housekeeping service, tutoring service, entertainment service, dining service, travel service, hotel service, car rental service, etc.
- the service objects can be, e.g., a car washing service, maintenance service, massage service, cleaning service, door-to-door cooking service, housekeeping service, tutoring service, entertainment service, dining service, travel service, hotel service, car rental service, etc.
- the network system includes a collection of data, such as users, user behavior, network objects and rating data of users on network objects. Operational behavior of every user in the network system is referred to as user behavior in the network system.
- the recommendation device for executing the flow of the method shown in the steps of Figure 1 can be put into practice as a functional module in every website or client, or can also be independent from every website or client, but can communicate with every website or client to cooperate with every website or client to carry out the recommendation.
- the recommendation device acquires user behavior in the network system in real time to obtain real-time user behavior data, and combines the real-time user behavior data with historical data to recommend the network objects.
- the recommendation device can deploy a message streaming component at the front end, such as MetaQ (Metamorphosis), Notify or Kafka, to acquire user behavior in the network system in the form of real-time flow and output real-time user behavior data.
- MetaQ Metalmorphosis
- Notify Notify
- Kafka real-time user behavior data
- the recommendation device can acquire part of the user behavior in the network system in real time, and can also acquire all the user behavior in the network system in real time.
- User behavior of different users can be the same or different. For example, as a user A browses a certain network object in the network system, a user B may be executing the operation of adding the network object to the shopping cart, while a user C may be browsing the network object as well. User behavior of the same user at different times can be the same or different.
- the user A was browsing a certain network object in the network system one minute ago, and one minute later, the user A is executing the operation of paying for the network object; or the user A was browsing a certain network object in the network system one minute ago, and two minutes later, the user A is still browsing the network object.
- Real-time user behavior data acquired by the recommendation device includes log data, which is generated by various operations executed by the users on the network objects, such as browsing, adding to favorites, adding to shopping cart, purchasing, downloading, and playing.
- the recommendation device can perform one or more preprocessing procedures on the real-time user behavior data, such as cleaning of the data.
- historical data used in combination with real-time user behavior data can mean rating data of users on network objects in the previous network system.
- rating data of users on network objects can mean rating results obtained after the network objects are rated according to user behavior of the users on the network objects. For example, a weight function corresponding to each type of user behavior can be set in advance, then the weight functions corresponding to the various user behavior of a user on a network obj ect can be summed, so that the rating data of the user on the network obj ect is obtained.
- the user k can be referred to as a user rating the network object /
- the network obj ect / can be referred to as a network object rated by the user k .
- the weight function corresponding to each user behavior can be given in advance according to experience, or can be obtained by machine learning.
- the rating data of the users on the network object can be initialized as 0, but is not necessarily limited to 0.
- the recommendation device can acquire the user behavior of the users on the network object, then obtain the weight functions corresponding to the user behavior, and add up the weight functions corresponding to the current user behavior, thereby obtaining new rating data of the users on the network object.
- rating data of users on network objects embodies operation behavior of the users on the network objects
- similarities between the network obj ects, between the users or between the users and the network objects can be mined or discovered by means of the rating data of the users on the network objects, and then network objects are recommended on the basis of these similarities.
- the recommendation device obtains real-time user behavior data
- the rating data of the users on the network objects in the previous network systems can be updated according to the real-time user behavior data, thus rating data of the users on the network objects in the current network system is obtained.
- similarities between the users, between the network objects and/or between the users and the network objects are obtained; and according to the similarities between the users, between the network objects and/or between the users and the network objects, network objects are recommended to users requiring or more network objects.
- some cold start scenarios e.g., a scenario when the network system has no previous data about the users or network objects
- scenarios relating to new network objects, new users, etc. exist.
- real-time user behavior data is different, so modes of updating the rating data of the users on the network objects in the previous network system are also different according to the realtime user behavior data.
- the user behavior can be divided into the following four types: behavior of existing users on existing network objects, behavior of new users on existing network objects, behavior of existing users on new network objects, and behavior of new users on new network objects. This means that user behavior acquired in real time may include one or more of the four types of behavior.
- updating rating data of users on network objects in the previous network systems according to real-time user behavior data to obtain rating data of the users on the network objects in the current network system includes the execution of at least one of the following operations:
- the real-time user behavior data includes real-time behavior data of new users on new network objects, generating rating data of the new users on the new network objects according to the real-time behavior data of the new users on the new network objects, and adding the rating data of the new users on the newly added network objects into the rating data of the users on the network objects in the previous network systems; [0062] if the real-time user behavior data includes the real-time behavior data of the new users on existing network objects, generating rating data of the new users on the existing network objects according to the real-time behavior data of the new users on the existing network objects, and adding the rating data of the new users on the existing network objects into the rating data of the users on the network objects in the previous network systems;
- the real-time user behavior data includes real-time behavior data of existing users on the new network objects, generating rating data of the existing users on the new network objects according to the behavior data of the existing users on the new network objects, and adding the rating data of the existing users on the new network objects into the rating data of the users on the network objects in the previous network systems;
- the real-time user behavior data includes real-time behavior data of the existing users on the existing network objects, generating rating data increments of the existing users on the existing network objects according to the real-time behavior data of the existing users on the existing network objects, and updating the rating data of the existing users on the existing network objects in the previous network system according to the rating data increments.
- the recommendation device can adopt any modes to maintain and manage rating data of users on network objects in the network system.
- an implementation form can store rating data of users on network objects.
- the recommendation device can also store the rating data of the users on the network objects in an organized manner according to one or more rules.
- the rating data of the users on the network objects can be stored and managed from maintenance of the users or the network objects.
- the recommendation device can organize the rating data of the users on the network objects in the current network system from the dimensions of the users and/or the network objects to generate rating vectors of the users and/or rating vectors of the network objects, and this specifically means generating a rating vector of each user in the current network system and/or a rating vector of each network object in the current network system. It should be noted that for the rating vectors of the users or the network objects which do not need to be updated, rating vectors of the corresponding users or network objects in the previous network systems can be directly used as rating vectors of the corresponding users or network objects in the current network system.
- the recommendation device obtains similarities between the users, between the network objects and/or between the users and the network objects according to the rating vectors of the users and/or the rating vectors of the network objects. Specifically, according to the rating vectors of the users, the similarities between the users are calculated; according to the rating vectors of the network objects, the similarities between the network objects are calculated; according to the rating vectors of the users and the rating vectors of the network objects, the similarities between the users and the network objects are calculated.
- the above-mentioned process of generating the rating vectors of the users and the rating vectors of the network objects can be implemented in the process of obtaining the rating data of the users on the network objects in the current network system or after the rating data of the users on the network objects in the current network system is obtained.
- the rating vectors of the users and the rating vectors of the network objects are generated together. Consequently, various similarities (such as similarities between the users, between the network objects and/or between the users and the network objects) can be calculated flexibly and conveniently, compatibility is high, and application scenarios are more flexible. [0070] Then, the above-mentioned process of organizing the rating data of the users on the network objects in the current network system from the dimensions of the users and the network objects to generate rating vectors of the users and rating vectors of the network objects includes:
- obtaining similarities between the users, between the network objects and/or between the users and the network objects according to the rating vectors of the users and/or the rating vectors of the network objects includes at least one of the following operations:
- an embodiment of calculating similarity between every two (or more) of the network objects according to rating vectors of the network objects includes: obtaining network objects having been rated by the same user to generate a network object subset; correlating the rating vectors of every two (or more) of the network objects in the network object subset, correlating the rating vectors of every two (or more) of the uncorrected network objects among the network objects according to the correlation between every two (or more) of the network objects in the network object subset to generate a correlation feature vector between every two (or more) of the network objects, and calculating similarity between every two (or more) of the network objects according to the correlation feature vector between every two (or more) of the network objects.
- the network object A, the network object B and the network object C form a network object subset, and accordingly, the network object B, the network object C and the network object D form a network object subset.
- the rating vectors of every two (or more) of the network objects in the network object subset are correlated to generate a correlation feature vector between every two (or more) of the network objects.
- the rating vectors of the network object A and the network object B can be correlated to generate a correlation feature vector between the network object A and the network object B
- the rating vectors of the network object A and the network object C can be correlated to generate a correlation feature vector between the network object A and the network object C
- the rating vectors of the network object B and the network object C can be correlated to generate a correlation feature vector between the network object B and the network object C.
- the rating vectors of the network object B and the network object C can be correlated to generate a correlation feature vector between the network object B and the network object C
- the rating vectors of the network object B and the network object D can be correlated to generate a correlation feature vector between the network object B and the network object D
- the rating vectors of the network object C and the network object D can be correlated to generate a correlation feature vector between the network object C and the network object D.
- an embodiment of calculating similarity between every two (or more) of the users according to rating vectors of the users includes: obtaining users having rated the same network object to generate a user subset; correlating the rating vectors of every two of the users in the user subset, correlating the rating vectors of every two (or more) of the uncorrelated users among the users according to the correlation between every two (or more) of the users in the user subset to generate a correlation feature vector between every two (or more) of the users, and calculating similarity between every two (or more) of the users according to the correlation feature vector between every two (or more) of the users.
- the first user, the second user and the third user can form a user subset
- the first user, the third user and the fourth user can form a user subset.
- the rating vectors of every two (or more) of the users in the user subset are correlated to generate a correlation feature vector between every two (or more) of the users in the user subset.
- the rating vectors of the first user and the second user are correlated to generate a correlation feature vector between the first user and the second user
- the rating vectors of the first user and the third user are correlated to generate a correlation feature vector between the first user and the third user
- the rating vectors of the second user and the third user are correlated to generate a correlation feature vector between the second user and the third user.
- the rating vectors of the first user and the third user are correlated to generate a correlation feature vector between the first user and the third user
- the rating vectors of the first user and the fourth user are correlated to generate a correlation feature vector between the first user and the fourth user
- the rating vectors of the third user and the fourth user are correlated to generate a correlation feature vector between the third user and the fourth user.
- uncorrelated users among the users such as the second user and the fourth user
- the rating vectors of the uncorrelated users among the users are correlated according to the correlation between every two (or more) of the users in the two (or more) user subsets.
- the rating vectors of the second user and the fourth user are correlated to generate a correlation feature vector between the second user and the fourth user.
- calculating similarity between any one of the users and any one of the network objects according to rating vectors of the users and the rating vectors of the network objects includes: for any one of the users, the rating vector of the user and the rating vector of any one of the network objects are correlated to generate a correlation feature vector between the user and any one of the network objects, and calculating similarity between the user and any one of the network objects according to the correlation feature vector between the user and any one of the network objects.
- the rating vector of a first user can be respectively correlated with the rating vectors of the network object A, the network object B and the network object C to generate correlation feature vectors between the first user and the network object A, the network object B and the network object C.
- the rating vector of the first user and the rating vector of the network object A are correlated to generate a correlation feature vector between the first user and the network object A
- the rating vector of the first user and the rating vector of the network object B are correlated to generate a correlation feature vector between the first user and the network object B
- the rating vector of the first user and the rating vector of the network object C are correlated to generate a correlation feature vector between the first user and the network object C.
- the correlation feature vector between any one of the users and any one of the network objects can be generated according to the correlation feature vector between every two (or more) of the users and/or the correlation feature vector between every two (or more) of the network objects.
- the correlation between any one of the users and any one of the network objects can be established according to the correlation between every two (or more) of the users, and/or the correlation between any one of the users and any one of the network objects can be established according to the correlation between every two (or more) of the network objects.
- any one of the network objects is a network object rated by the users, not including new network objects.
- any one of the users is a user who has rated the network objects (for example, having issued reviews), not including new users.
- the similarity between the two (or more) does not need to be recalculated, but it is not limited to this. In another embodiment, the similarity can be recalculated.
- the recommendation device can adopt a JStorm Job stream framework, a Flink flow framework or a Spark flow framework to implement the method flow after acquisition of real-time user behavior data.
- a JStorm Job stream framework a Flink flow framework or a Spark flow framework to implement the method flow after acquisition of real-time user behavior data.
- FIG. 2 is an embodiment of a schematic diagram of a system architecture of a recommendation method provided by an embodiment of the present disclosure.
- the system architecture includes, in one embodiment: a real-time acquisition module or logic 205 implemented by, e.g., MetaQ, an on-line cache module or logic 210
- HBase is a high-performance, scalable distributed storage system based on NoSQL and columns, and is a distributed real-time on-line storage framework.
- HBase carries out storage in the form of data tables, an HBase table is an HTable, each HTable contains a plurality of rows, and each row contains a Row key and one or more Columns storing corresponding values.
- Each HBase column exists in a Column Family, and is identified by a Column Qualifier, each Column Family consists of a series of columns and corresponding values, and a TimeStamp stores the writing time of each record.
- Table 1 The form of the HBase table is shown in Table 1 below:
- the embodiment is preferably based on, but not limited to, HBase to carry out on-line caching.
- the HBase-based on-line cache module comprises a cache part for storing rating vectors of users 220, a cache part for storing rating vectors of network objects 225, a cache part for storing correlation feature vectors 230 and a cache part for storing similarities 235.
- the real-time acquisition module can be used for, e.g., acquiring user behavior in the network system in real time and providing real-time user behavior data for JStorm Job.
- JStorm Job is started normally, first-level Spouts of JStorm read the real-time user behavior data from MetaQ, rating data of users on network objects in the previous network system is updated according to the read real-time user behavior data, and rating vectors of the users are constructed.
- the specific principle is as follows:
- r is used for representing the rating data of a user on network objects
- the rating data of the user k on the first network object is represented by r kl
- a rating vector of the user k is generated according to the rating data of the user k on the n network objects, and is represented by U k
- U k ⁇ r kl , r k2 , ..., r kn > .
- the rating data is organized here from the perspective of the users.
- the user behavior data acquired in real time by MetaQ may include one or more of behavior of the existing users on the existing network objects, behavior of the new users on the existing network objects, behavior of the existing users on the new network objects and behavior of the new users on the new network objects. Because the behavior of the new users on the existing network objects, the behavior of the existing users on the new network objects and the behavior of the new users on the new network objects result in, in one embodiment, generation of new rating data, these three cases are described as a first case here, and the behavior of the existing users on the existing network objects is described as a second case.
- the first-level Spouts update the rating data of the users on the network objects in the previous network system according to the read real-time user behavior data, and construct rating vectors of the users, and the specific process is as follows: [0098] the first-level Spouts generate new rating data represented by r kl according to the
- the u represents the rating data of the user on a network
- the first-level Spouts add the new rating data kl into the k
- the first-level Spouts update the rating data of the users on the network objects in the previous network system according to the read real-time user behavior data, and construct rating vectors of the users, and the specific process is as follows:
- the first-level Spouts 260 will gradually obtain a rating vector of each user 240 in the network system, and can store the rating vectors into the precreated cache part for storing rating vectors of users, such as the HTables.
- the form of an HTable is shown in Table 2:
- Row Key is identifiers (user id) of users, and value is information, such as rating data of the users on network objects 245, identifiers (item_id) of the network objects and times of user behavior of the users on the network objects.
- value is information, such as rating data of the users on network objects 245, identifiers (item_id) of the network objects and times of user behavior of the users on the network objects.
- the first-level Spouts construct key-value pairs with identifiers of users as keys and rating data of the users on network objects as main values, the key-value pairs here are referred to as first key -value pairs in order to facilitate differentiation; taking rating data of the user k on the new network object / as an example, the generated key -value pair is (u k ,i l , r a ,t kl ) , wherein t u represents the time of a user behavior of the user k on the network object / , this is adopted as data structures of arrays (tuple) which will be distributed in parallel to second-level Bolts by the first-level Spouts of JStorm, and the processes of distribution to the second-level Bolts by the first-level Spouts are grouped according to the identifier of the user, that is, the data structures corresponding to the identifier of the same user are sent together.
- the second- level Bolts 265 correlate the second key-value pairs with the identifier of the same network object as a key, so that a rating vector of the network object is generated, and taking the network object / as an example, the rating vector of the network object is
- the second-level Bolts 265 will gradually obtain a rating vector of each network object 245 in the network system, and can store the rating vectors into the precreated cache part for storing rating vectors of network objects 225, such as the HTables.
- the form of an HTable is shown in Table 3:
- us er_id rating: time; ... f r byte
- Row Key is identifiers (item id) of network objects, and value is mainly information, such as identifiers of users, rating data of the users on the network objects and times of user behavior of the users on the network objects.
- value is mainly information, such as identifiers of users, rating data of the users on the network objects and times of user behavior of the users on the network objects.
- all the columns are stored in a Column Family.
- second-level Bolts 265 create rating vectors of the network objects
- second key -value pairs with the identifiers of the network objects as keys will be constructed or updated out, for example, (i l , u k , r lk ' , t lk ) serves as tuple data structures which will be simultaneously distributed in parallel to third-level Bolts 270 by the second-level Bolts 265 of JStorm, and the processes of distribution are grouped according to the identifiers of the network obj ects.
- the third-level Bolts 270 of JStorm parse out the second key-value pairs with the identifiers of the network objects as the keys from the tuple data structures distributed by the second-level Bolts, such as (i l , u k , r lk ' , t lk ) , the network objects having been rated by the same user form a network object subset, the rating vectors of every two (or more) of the network objects in the network object subsets are correlated, and according to the correlations between the network objects in each network object subset, the rating vectors of the network objects not correlated in the network object subsets among the network objects are correlated, so that a correlation feature vector between every two (or more) of the network objects is generated.
- ⁇ I P > ⁇ ..., (i p , i, , u k , r lk , t lk ), ...
- the third-level Bolts 270 can gradually obtain a correlation feature vector between any two (or more) network objects in the network system, and can store the correlation feature vectors 250 into the precreated cache part for storing correlation feature vectors 230, such as the HTables.
- the form of an HTable is shown in Table 4:
- Row key is a combination of identifiers of two correlated network objects (item _idp- item idl), and value is information, such as identifiers of users having rated the two (or more) network objects, rating data of the users on the two (or more) network objects and times of user behavior of the users on the two (or more) network objects.
- value is information, such as identifiers of users having rated the two (or more) network objects, rating data of the users on the two (or more) network objects and times of user behavior of the users on the two (or more) network objects.
- the columns are stored in a Column Family.
- the similarity between the two (or more) is calculated, and if the rating data of both network objects is not changed, then the previous similarity can be directly adopted as current similarity. If the network object p and the network object / are correlated and the rating data of the network object / is new, then similarity between the network object p and the network object / is calculated.
- the Jarcard similarity coefficient can be adopted to calculate the similarity between the network object p and the network object / .
- the intersection is represented by:
- Inter(I p ) U represents a user set having rated the two (or more) network objects, and u represents users in the user set. Then, according to the intersection and the union, Jarcard similarity is obtained, and is represented by:
- cosine similarity can also be adopted to calculate the similarity between the network object p and the network object / as follows: (min(r , r ul ) + ⁇ min(r , r ul ))
- the fourth-level Bolts can gradually obtain similarity between any two (or more) network objects in the network system, and can store the similarities into the precreated cache part for storing similarities between network objects, such as the HTables.
- the form of an HTable is shown in Table 5:
- the fourth-level Bolts 275 can carry out recommendation according to the similarity between two (or more) network objects.
- user behavior data is effective only within a certain period of time of collaboration.
- the periods of time are different, and usually, under the case of E-commerce shopping, the period of time can be generally set as, e.g., several days or a week in order to cover main behavior demands of users.
- a user usually operates hundreds of network objects, but only k(top-k) most similar network objects among the network objects are network objects which need be considered to be recommended.
- a similarity condition which the network objects need to meet can be set as a first condition.
- the network objects with similarities to the network objects currently operated by the users requiring one or more network objects that meet the first condition are obtained as candidate objects from the network objects in the current network system according to the similarities between the network objects, and network objects are recommended to the users requiring one or more network objects from the candidate objects.
- the candidate objects can be sequenced, and one or more of the highest ranked network objects are recommended to the users.
- the first condition can be a minimum value of the similarities between the first top-k network objects in the latest period of time, which is represented by y , and then, for n network objects, a given threshold ⁇ needs to ensure that the following equality holds, that is, it needs to be ensured that the probability that the similarity between a network object m and a network object n is less than y is ⁇ :
- the network objects which are not among the top-k most similar network objects can be filtered out by the given probability threshold in order to ensure that network objects are recommended from the top-k most similar network objects, thereby the accuracy and effectiveness of a
- the given threshold ⁇ can be simulated by common probability distribution, such as Poisson distribution and Gaussian distribution, and can also serve as a real-time message stream filtering mechanism on the basis of the Hoeffding boundary by referring to the realtime stream data mining field.
- sim(i m ,i n ) is represented by x
- x has w observed values which are independent from one another, is a mean value of the observed values, and with the probability from 1 to ⁇ , the Hoeffding boundary ensures that a true observed value of the random variable is ⁇ + ⁇ at most, thus ensuring that the following probability equality holds:
- a similarity condition which the users need to meet can be set as a second condition.
- the users with similarities to the users requiring one or more network objects that meet the second condition can be obtained as candidate users from the users in the current network system according to the similarities between the users, and network objects are recommended to the users requiring one or more network objects from the network objects having been rated by the candidate users.
- a similarity condition which the users and the network objects need to meet can be set as a third condition.
- the network objects with similarities to the users requiring one or more network objects that meet the third condition can be obtained as candidate objects from the network objects in the current network system according to the similarities between the users and the network objects, and network objects are recommended to the users requiring one or more network objects from the candidate objects.
- the candidate objects can be sequenced, and one or more of the highest ranked network objects are recommended to the users.
- the embodiment adopts a sliding window mechanism to manage data which need to be stored in the process of recommendation.
- the production of each behavior data of a user is regarded as a session, one session corresponds to one sliding window, and produced data are stored in a cache space corresponding to a sliding window.
- the magnitude of a sliding window threshold needs to be optimized according to multiple factors, such as numbers of all users and network objects within the number of optimal periods of time or sessions, data calculation time of an algorithm model and space complexity.
- a following backoff coverage design can be adopted to implement the sliding window mechanisms:
- a threshold of backtracking backoff is w min
- the number of sessions eliminated by backtracking is w wx -w ⁇ in total
- the elimination criteria can be a time decay -related function, a behavior sequence model or the like, and is determined according to recommendation effects of specific application scenarios.
- the adoption of the mechanism not only can ensure the dynamic growth of data is within a controllable range, but can also ensure the accuracy of stream recommendation.
- the present disclosure combines real-time user behavior data with off-line data, by utilizing the real-time user behavior data to supplement the off-line data, the accuracy of recommendation can be increased, the effect of recommendation can be improved, thereby the requirement of application scenarios requiring real-time collaboration and fast response can be met.
- a module is a software, hardware, or firmware (or combinations thereof) system, process or functionality, or component thereof, that performs or facilitates the processes, features, and/or functions described herein (with or without human interaction or augmentation).
- a module can include sub-modules.
- Software components of a module may be stored on a computer readable medium for execution by a processor. Modules may be integral to one or more servers, or be loaded and executed by one or more servers. One or more modules may be grouped into an engine or an application.
- FIG 3 is a structure diagram of a recommendation device provided by another embodiment of the present application.
- the recommendation device comprises an acquisition module 31 , an update module 32, a similarity processing module 33 and a recommendation module 34.
- the acquisition module 31 is configured to acquire user behavior in a network system in real time to obtain real-time user behavior data.
- the update module 32 is configured to update rating data of users on network objects in the previous network systems according to the real-time user behavior data obtained by the acquisition module 31 to obtain rating data of the users on the network objects in the current network system.
- the similarity processing module 33 is configured to obtain similarities between the users, between the network objects and/or between the users and the network objects according to the rating data of the users on the network objects in the current network system obtained by the update module 32.
- the recommendation module 34 is configured to recommend network objects to users requiring one or more network objects according to the similarities between the users, between the network objects and/or between the users and the network objects obtained by the similarity processing module 33.
- the update module 32 when updating rating data of users on network objects in the previous network systems according to the real-time user behavior data obtained by the acquisition module 31 to obtain rating data of the users on the network objects in the current network system, is specifically configured to execute at least one of the following operations: [0137] if the real-time user behavior data includes real-time behavior data of new users on new network objects, generating rating data of the new users on the new network objects according to the real-time behavior data of the new users on the new network objects, and adding the rating data of the new users on the newly added network objects into the rating data of the users on the network objects in the previous network systems;
- the real-time user behavior data includes the real-time behavior data of the new users on existing network objects, generating rating data of the new users on the existing network objects according to the real-time behavior data of the new users on the existing network objects, and adding the rating data of the new users on the existing network objects into the rating data of the users on the network objects in the previous network systems;
- the real-time user behavior data includes real-time behavior data of existing users on the new network objects, generating rating data of the existing users on the new network objects according to the real-time behavior data of the existing users on the new network objects, and adding the rating data of the existing users on the new network objects into the rating data of the users on the network objects in the previous network systems;
- the real-time user behavior data includes real-time behavior data of the existing users on the existing network objects, generating rating data increments of the existing users on the existing network objects according to the real-time behavior data of the existing users on the existing network objects, and updating the rating data of the existing users on the existing network objects in the previous network systems according to the rating data increments.
- the similarity processing module 33 when obtaining similarities between users, between network objects and/or between the users and the network objects according to rating data of the users on the network objects in the current network system, is configured to:
- [0142] organize the rating data of the users on the network objects in the current network system from the dimensions of the users and/or the network objects to generate rating vectors of the users and/or rating vectors of the network objects; and [0143] calculate similarities between the users, between the network objects and/or between the users and the network objects according to the rating vectors of the users and/or the rating vectors of the network objects.
- the similarity processing module 33 is specifically configured to:
- [0145] carry out data structure reorganization on the rating data of the users on the network objects in the current network system to generate a plurality of first key-value pairs, the key in each first key-value pair being an identifier of a user, and the value being an identifier of a network object and the rating data of the user identified by the identifier of the user on the network object identified by the identifier of the network object;
- [0148] correlate the second key-value pairs with the same key to generate rating vectors of the network objects identified by the key.
- the similarity processing module 33 is specifically configured to execute at least one of the following operations:
- the similarity processing module 33 when calculating similarity between every two of the network objects according to the rating vectors of the network objects, is configured to: obtain network objects having been rated by the same user to generate a network object subset; correlate the rating vectors of every two of the network objects in the network object subset, correlate the rating vectors of every two of the uncorrelated network objects among the network objects according to the correlation between every two of the network objects in the network object subset to generate a correlation feature vector between every two of the network objects, and calculate similarity between every two of the network objects according to the correlation feature vector between every two of the network objects.
- the network object A, the network object B and the network object C form a network object subset.
- the network object B, the network object C and the network object D form a network object subset.
- the rating vectors of every two (or more) of the network objects in the network object subset are correlated to generate a correlation feature vector between every two (or more) of the network objects.
- the rating vectors of the network object A and the network object B can be correlated to generate a correlation feature vector between the network object A and the network object B
- the rating vectors of the network object A and the network object C can be correlated to generate a correlation feature vector between the network object A and the network object C
- the rating vectors of the network object B and the network object C can be correlated to generate a correlation feature vector between the network object B and the network object C.
- the rating vectors of the network object B and the network object C can be correlated to generate a correlation feature vector between the network object B and the network object C
- the rating vectors of the network object B and the network object D can be correlated to generate a correlation feature vector between the network object B and the network object D
- the rating vectors of the network object C and the network object D can be correlated to generate a correlation feature vector between the network object C and the network object D.
- uncorrelated network objects among the network objects such as the network object A and the network object D
- the rating vectors of the uncorrelated network objects among the network objects are correlated according to the correlation between every two (or more) of the network objects in the two (or more) network object subsets, that is, the rating vectors of the network object A and the network object D are correlated to generate a correlation feature vector between the network object A and the network object D.
- the similarity processing module 33 when calculating similarity between every two (or more) of the users according to the rating vectors of the users, is configured to: obtain users having rated the same network object to generate a user subset; correlate the rating vectors of every two (or more) of the users in the user subset, correlating the rating vectors of every two (or more) of the uncorrelated users among the users according to the correlation between every two (or more) of the users in the user subset to generate a correlation feature vector between every two (or more) of the users, and calculate similarity between every two (or more) of the users according to the correlation feature vector between every two (or more) of the users.
- the first user, the second user and the third user can form a user subset
- the first user, the third user and the fourth user can form a user subset.
- the rating vectors of every two (or more) of the users in the user subset are correlated to generate a correlation feature vector between every two (or more) of the users in the user subset.
- the rating vectors of the first user and the second user are correlated to generate a correlation feature vector between the first user and the second user
- the rating vectors of the first user and the third user are correlated to generate a correlation feature vector between the first user and the third user
- the rating vectors of the second user and the third user are correlated to generate a correlation feature vector between the second user and the third user.
- the rating vectors of the first user and the third user are correlated to generate a correlation feature vector between the first user and the third user
- the rating vectors of the first user and the fourth user are correlated to generate a correlation feature vector between the first user and the fourth user
- the rating vectors of the third user and the fourth user are correlated to generate a correlation feature vector between the third user and the fourth user.
- uncorrelated users among the users such as the second user and the fourth user
- the rating vectors of the uncorrelated users among the users are correlated according to the correlation between every two (or more) of the users in the two user subsets, that is, the rating vectors of the second user and the fourth user are correlated to generate a correlation feature vector between the second user and the fourth user.
- the similarity processing module 33 when calculating similarity between any one of the users and any one of the network objects according to the rating vectors of the users and the rating vectors of the network objects, is configured to: for any one of the users, correlate the rating vector of the user and the rating vector of any one of the network objects to generate a correlation feature vector between the user and any one of the network objects, and obtain similarity between the user and any one of the network objects according to the correlation feature vector between the user and any one of the network objects.
- the rating vector of a first user can be respectively correlated with the rating vectors of the network object A, the network object B and the network object C to generate correlation feature vectors between the first user and the network object A, the network object B and the network object C.
- the rating vector of the first user and the rating vector of the network object A are correlated to generate a correlation feature vector between the first user and the network object A
- the rating vector of the first user and the rating vector of the network object B are correlated to generate a correlation feature vector between the first user and the network object B
- the rating vector of the first user and the rating vector of the network object C are correlated to generate a correlation feature vector between the first user and the network object C.
- the recommendation module 34 is configured to execute at least one of the following operations:
- the network objects can be at least one of commodity objects and service objects, but are not limited to these.
- the service objects can be a car washing service, maintenance service, massage service, cleaning service, door-to-door cook service, housekeeping service, tutoring service, entertainment service, dining service, travel service, hotel service, car rental service, etc.
- the user behavior include at least one of browsing, adding to favorites, adding to shopping cart, purchasing, paying and reviewing.
- the deployment of the modules in the recommendation device of the embodiment can be distributed, and a deployment
- MetaQ can be implemented by the acquisition module 31, and the functions of the update module 32, the similarity processing module 33 and the recommendation module 34 can be implemented by a JStorm Job topology. Because the recommendation device provided by the embodiment can combine real-time user behavior data with off-line data, by utilizing the real-time user behavior data to supplement the off-line data, the accuracy of recommendation can be increased, and the effect of recommendation can be improved, thereby the requirement of application scenarios requiring real-time collaboration and fast response can be met.
- the disclosed systems, device and methods can be implemented in other ways.
- the device embodiment described above is merely schematic, for example, the division of the units is merely a logical function division, but there can be other division methods in practical implementation, for example, a plurality of units or components can be combined or can be integrated into another system, or some features can be ignored, or not executed.
- the displayed or discussed intercoupling or direct coupling or communication connection can depend on some interfaces, and the indirect coupling or communication connection of the device or the units can be electrical, mechanical or other forms.
- the units described as separate parts may or may not be physically separate, and the parts shown as units may or may not be physical units, and not only can be located in one place, but can also be distributed onto a plurality of network units. Part or all of the units can be chosen to implement the purpose of the embodiment schemes according to actual requirements.
- respective function units in respective embodiments of the present application can be integrated into one processing unit, or respective units can physically exist alone, or two or more units can be integrated into one unit.
- the integrated unit can be put into practice in the form of hardware or in the form of hardware coupled with a software function unit.
- the integrated unit which is put into practice in the form of the software function unit can be stored in an accessible storage medium for computers.
- the software function unit stored in the storage medium includes a number of instructions to make a computer device (such as a personal computer, a server or a network device) or a processor to execute part of the steps of the method described by each embodiment of the present application.
- the foregoing storage medium can be various media capable of storing program codes, such as a USB flash disk, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a disk or a compact disk.
- Functionality may also be, in whole or in part, distributed among multiple components, in manners now known or to become known.
Landscapes
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Strategic Management (AREA)
- Development Economics (AREA)
- Engineering & Computer Science (AREA)
- General Business, Economics & Management (AREA)
- Physics & Mathematics (AREA)
- Marketing (AREA)
- General Physics & Mathematics (AREA)
- Economics (AREA)
- Theoretical Computer Science (AREA)
- Entrepreneurship & Innovation (AREA)
- Data Mining & Analysis (AREA)
- Game Theory and Decision Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
L'invention concerne un procédé et un dispositif de recommandation. Le procédé et le dispositif de recommandation font intervenir les étapes consistant à: acquérir des données actuelles de comportement d'utilisateur dans un système de réseau actuellement en fonctionnement en temps réel pour obtenir des données de comportement d'utilisateur en temps réel d'utilisateurs sur le réseau, les données actuelles de comportement d'utilisateur représentant des activités de notation par les utilisateurs actuellement en cours des utilisateurs sur le réseau; mettre à jour des données existantes de notation des utilisateurs, les données existantes de notation représentant des notations par les utilisateurs d'objets de réseau réalisés par les utilisateurs au cours d' interactions antérieures avec le système de réseau ou d'autres systèmes de réseau, la mise à jour comportant la modification des notations d'utilisateurs en fonction des données de comportement d'utilisateur acquises en temps réel pour obtenir des données actuelles de notation d'utilisateurs des utilisateurs interagissant actuellement avec le système de réseau.
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510648588.6 | 2015-10-09 | ||
CN201510648588.6A CN106570008B (zh) | 2015-10-09 | 2015-10-09 | 推荐方法及装置 |
US15/272,365 US10489471B2 (en) | 2015-10-09 | 2016-09-21 | Recommendation method and device |
US15/272,365 | 2016-09-21 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2017062179A1 true WO2017062179A1 (fr) | 2017-04-13 |
Family
ID=58488335
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/US2016/052985 WO2017062179A1 (fr) | 2015-10-09 | 2016-09-22 | Procédé et dispositif de recommandation |
Country Status (1)
Country | Link |
---|---|
WO (1) | WO2017062179A1 (fr) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120311139A1 (en) * | 2004-12-29 | 2012-12-06 | Baynote, Inc. | Method and Apparatus for Context-Based Content Recommendation |
US20130151540A1 (en) * | 2011-12-08 | 2013-06-13 | Palo Alto Research Center Incorporated | Privacy-preserving collaborative filtering |
-
2016
- 2016-09-22 WO PCT/US2016/052985 patent/WO2017062179A1/fr active Application Filing
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120311139A1 (en) * | 2004-12-29 | 2012-12-06 | Baynote, Inc. | Method and Apparatus for Context-Based Content Recommendation |
US20130151540A1 (en) * | 2011-12-08 | 2013-06-13 | Palo Alto Research Center Incorporated | Privacy-preserving collaborative filtering |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10489471B2 (en) | Recommendation method and device | |
KR102233805B1 (ko) | 미인지된 및 새로운 유저들에 대한 향상된 유저 경험 | |
US8661124B2 (en) | Organizing social activity information on a site | |
US9600530B2 (en) | Updating a search index used to facilitate application searches | |
US20170060993A1 (en) | Creating a Training Data Set Based on Unlabeled Textual Data | |
US20120246302A1 (en) | System and methodology for creating and using contextual user profiles | |
US20150120722A1 (en) | Method and system for providing multimedia content recommendations | |
US9152709B2 (en) | Cross-domain topic space | |
US20140363075A1 (en) | Image-based faceted system and method | |
US10311362B1 (en) | Identification of trending content using social network activity and user interests | |
WO2017087441A1 (fr) | Procédé et dispositif de recommandation | |
EP3625748B1 (fr) | Grappe de noeuds distribués pour établir un point de contact numérique sur de multiples dispositifs sur un réseau de communication numérique | |
CN111246257B (zh) | 视频推荐方法、装置、设备及存储介质 | |
US11290551B1 (en) | Method and system for implementing circle of trust in a social network | |
US10990620B2 (en) | Aiding composition of themed articles about popular and novel topics and offering users a navigable experience of associated content | |
US20150310529A1 (en) | Web-behavior-augmented recommendations | |
US9430572B2 (en) | Method and system for user profiling via mapping third party interests to a universal interest space | |
US9660880B2 (en) | Non-committal visitor stitching | |
US10460373B2 (en) | Recommendation method and apparatus | |
Gonzalez et al. | Net2Vec: Deep learning for the network | |
US20170177337A1 (en) | Weighted pseudo - random digital content selection | |
WO2017062179A1 (fr) | Procédé et dispositif de recommandation | |
US9473556B1 (en) | Content discovery using description sequences | |
Rodrigues et al. | A Cloud-based recommendation system | |
US20240193465A1 (en) | Systems and methods for generating improved process management using a bifurcated model to generate synthetic sets of processing steps |
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: 16854069 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: 16854069 Country of ref document: EP Kind code of ref document: A1 |