WO2018014771A1 - Data object pushing method, device and system - Google Patents
Data object pushing method, device and system Download PDFInfo
- Publication number
- WO2018014771A1 WO2018014771A1 PCT/CN2017/092743 CN2017092743W WO2018014771A1 WO 2018014771 A1 WO2018014771 A1 WO 2018014771A1 CN 2017092743 W CN2017092743 W CN 2017092743W WO 2018014771 A1 WO2018014771 A1 WO 2018014771A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- data object
- user
- data
- feature
- feature vector
- 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.)
- Ceased
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
Definitions
- the present application relates to the field of data processing technologies, and in particular, to a data object push method, a data object push device, and a data object push system.
- Content push is a way to promote specific multimedia content such as advertising content, news content, notification content, audio and video to a specific group of people.
- the technique of targeting people using user tags is a common technique in the field of advertising and other content delivery.
- the technology is a tag for users by data such as the user's historical behavior or the attributes of the user.
- the tag technology based on the user's historical behavior mainly targets the user's browsing, searching, clicking, and historical behaviors such as clicking and converting advertisements or content, and mapping the user to a certain tag. For example, for e-commerce websites, according to the user's search, clicks on products, collections, shopping carts, transactions, and other historical behaviors, the corresponding store customers, new customers, n-day collections of shops / purchases A label for users of store products.
- the user attribute tag is generally the attribute of the user itself, such as the user's gender, age, region, occupation, and the like. It has nothing to do with the specific store.
- tags such as population attributes and user behaviors can meet the crowd division and delivery requirements in some scenarios, but cannot accurately predict the user's actual intentions. It is a tag that is not directly related to the conversion target.
- this user tag-based user content matching strategy is relatively blind in the case of unpredictable future users.
- the technical problem to be solved by the embodiments of the present application is to provide a method for pushing a data object, and pushing the most relevant data object to the user in combination with the actual intention of the user.
- the embodiment of the present application further provides a device for pushing a data object and a system for pushing a data object to ensure implementation and application of the foregoing method.
- the embodiment of the present application discloses a system for pushing a data object, and the system includes:
- One or more processors are One or more processors;
- One or more modules the one or more modules being stored in the memory and configured to be executed by the one or more processors, the one or more modules having the following functions:
- Determining one or more data objects for the access request and determining, from the plurality of data object sets, a target data object set related to the first user;
- the embodiment of the present application further discloses a method for pushing a data object, where the method includes:
- Determining one or more data objects for the access request and determining, from the plurality of data object sets, a target data object set related to the first user;
- the step of determining a target data object set related to the first user from the plurality of data object sets includes:
- the first N data object sets having the largest actual preference value are selected as the target data object set related to the first user, where N is a positive integer and N is smaller than the number of data object sets.
- the step of determining the actual preference values of the first user and the plurality of data object sets respectively comprises:
- the prediction preference value is corrected by using the correlation degree, respectively, to obtain an actual preference value of the first user and the data object set.
- the step of separately obtaining the predicted preference values of the plurality of data object sets comprises:
- the set feature vector and the user feature vector are respectively input into a preset prediction model to obtain a predicted preference value of the data object set.
- the prediction model is established as follows:
- Modeling is performed according to the sample information, the attribute feature vector, and the visitor feature vector to generate a predictive model.
- the step of respectively acquiring the set feature vector of the data object set include:
- the data object includes header information
- the determining the correlation between the first user and the data object set respectively comprises:
- the intent word vector and the similarity of each set word vector are respectively calculated as the degree of correlation between the first user and the corresponding data object set.
- the step of selecting to send the at least one data object to the client from the target data object set and the one or more data objects determined for the access request comprises:
- the first user is a buyer user
- the second user is a seller user
- the data object associated with the second user is an item sold by a seller user
- the data object set has an association in the same store. A combination of goods of a relationship.
- the embodiment of the present application further discloses an apparatus for pushing a data object, where the apparatus includes:
- the access request receiving module is configured to receive a second user-associated data object access request sent by the client corresponding to the first user, where the second user has an associated plurality of data objects, and according to the multiple data a collection of multiple data objects determined by the object;
- a data object determining module for determining one or more data pairs for the access request Elephant
- a target data object set determining module configured to determine, from the plurality of data object sets, a target data object set related to the first user
- a data object sending module configured to select, from the target data object set and the one or more data objects determined for the access request, to send at least one data object to the client.
- the target data object set determining module comprises:
- An actual preference determining submodule configured to respectively determine an actual preference value of the first user and the plurality of data object sets
- a target data object set selection submodule configured to select a top N data object set with the actual actual preference value as a target data object set related to the first user, where N is a positive integer and N is smaller than the data object The number of collections.
- the actual preference determining submodule comprises:
- a prediction preference acquiring unit configured to separately acquire prediction preference values of the plurality of data object sets
- a correlation calculation unit configured to respectively determine a correlation between the first user and the data object set
- a correcting unit configured to correct the predicted preference value by using the correlation degree for each data object set, to obtain an actual preference value of the first user and the data object set.
- the predicted preference obtaining unit comprises:
- a set feature vector obtaining subunit configured to respectively acquire a set feature vector of the data object set
- a user feature vector obtaining sub-unit configured to acquire a feature value of a user feature of the user of the entire network, and determine a corresponding user feature vector according to the feature value of the user feature;
- a prediction preference calculation subunit configured to respectively input the set feature vector and the user feature vector into a preset prediction model to obtain a predicted preference value of the data object set.
- the prediction model is established as follows:
- Modeling is performed according to the sample information, the attribute feature vector, and the visitor feature vector to generate a predictive model.
- the set feature vector obtaining subunit is further configured to:
- the data object includes title information
- the correlation calculation unit includes:
- a set word vector calculation subunit configured to separately calculate a set word vector of the data object set according to a preset word vector model
- An intent word vector calculation subunit configured to acquire a specified number of data objects recently browsed by the first user, and acquire an intent word vector of the first user based on the specified number of data objects;
- the similarity calculation subunit is configured to separately calculate the similarity of the intent word vector and each set word vector as the correlation between the first user and the corresponding data object set.
- the data object sending module includes:
- a data object selection submodule configured to select at least one data object from the target data object set and the one or more data objects determined for the access request
- a target page generating submodule configured to generate a target page according to the selected data object
- the target page returns a sub-module for returning the target page to the client.
- the first user is a buyer user
- the second user is a seller user
- the data object associated with the second user is an item sold by a seller user
- the data object set has an association in the same store. A combination of goods of a relationship.
- the embodiments of the present application include the following advantages:
- the second user may preset one or more data object sets, and when receiving the second user-associated data object access request sent by the client corresponding to the first user, determine one or more for the request.
- Data objects and determining a target data object set associated with the first user from the plurality of data object sets, and selecting from the target data object set and one or more data objects determined for the request.
- the client sends at least one data object, so that the data object obtained by the client corresponding to the first user is more consistent with the first user preference, and the accurate data object push is implemented.
- FIG. 1 is a flow chart showing the steps of a method for pushing a data object according to the present application
- FIG. 1a is a schematic diagram of a target page in an embodiment of a data object push method according to the present application
- FIG. 2 is a structural block diagram of an apparatus for pushing a data object according to the present application
- FIG. 3 is a schematic structural diagram of a server according to an embodiment of the present application.
- FIG. 1 a flow chart of steps of a method for pushing a data object according to the present application is shown. Specifically, the method may include the following steps:
- Step 101 Receive a data object access request associated with the second user sent by the client corresponding to the first user.
- the second user has a plurality of associated data objects, and a plurality of data object sets determined according to the plurality of data objects.
- the user of the embodiment of the present application may include at least a first user and a second user, where the second user is a provider of the data object, and the first user is a pushed party.
- the second user may have an associated plurality of data objects that may be presented in a presentation page of the designated website and/or presented in a page associated with the second user in the designated website.
- the information about the page associated with the second user may also be displayed in the presentation page, for example, page identification information and/or page link information of the page associated with the second user, etc., when clicking on the second user association
- the page associated with the second user may be redirected, and the page associated with the second user may include a plurality of data objects associated with the second user.
- the data object displayed in the presentation page may include link information, and when the data object is selected, may jump to a page corresponding to the link information.
- the page corresponding to the link information may be the The details page of the data object or the page associated with the second user.
- the second user may further combine the associated multiple data objects into a plurality of data object sets, where the data object set may be a set of a plurality of data objects having an association relationship.
- the second user can associate the data objects I1, I2, I3 in one data object set G1, the data objects I4, I5 in the data object set G2, and associate the data objects I6, I7, I8, I9 in the data.
- the object collection is in G3.
- the first user may send a data object access request associated with the second user by using the client corresponding to the first user.
- the client corresponding to the first user may include a client or a browser client that specifies the website.
- the first user may issue an access request by using at least one of the following manners:
- the first user may load a presentation page in the client corresponding to the first user, where the presentation page includes multiple data objects including the data object associated with the second user, and the first user selects the first page in the presentation page.
- the second user associates the data object, it is determined that the first user has issued an access request for the data object associated with the second user.
- the first user may also search for the required second user-related data object in the presentation page by searching, and click the second user association when the search is successful.
- Data object at this point it can be determined that the first user sent An access request for a data object associated with the second user.
- the first user may also invoke an interface provided by the client corresponding to the first user to transmit a link address of the data object associated with the second user to issue an access request for the data object.
- the first user may also invoke an interface provided by the client corresponding to the first user to transmit a link address of the page associated with the second user to issue an access request for the data object.
- the manner in which the client corresponding to the first user sends a data object access request for the second user is only an example of the embodiment of the present application, and the technical person in the field adopts the client corresponding to the first user in other manners. It is possible to issue a data object access request associated with the second user, which is not limited in this embodiment of the present application.
- the embodiment of the present application may be applied to an e-commerce scenario, where the first user may be a buyer user, the second user may be a seller user, and the second user associated page may be a page where the seller user's store is located;
- the data object associated with the second user may be an item sold by a seller user, and the data object set may be a combination of items having an associated relationship in the same store.
- a seller can combine a plurality of related products that are sold in advance to obtain a product combination, for example, a toothbrush, a toothpaste, a cup, or a mobile phone, a mobile phone case, or a mobile phone. Film, headphone cable, charger, and other products related to mobile phones are combined.
- Step 102 Determine one or more data objects for the access request, and determine, from the plurality of data object sets, a target data object set related to the first user;
- one or more corresponding to the real-time access intention of the first user may be determined for the access request.
- Two user-associated data objects Two user-associated data objects.
- the first user issues an access request by selecting a data object associated with the second user in the presentation page and/or a link address of the data object associated with the second user, Then, according to the access request, the corresponding data object can be directly determined.
- the page associated with the second user may be determined according to the access request. And obtaining the data object included in the page associated with the second user as the data object corresponding to the access request.
- the data object set associated with the second user may be determined according to the access request, and Extracting a target data object set from the plurality of data object sets, wherein the target data object set is a most relevant data object set of the first user among the plurality of data object sets.
- the step of determining a target data object set related to the first user from the plurality of data object sets may include the following sub-steps:
- Sub-step S11 respectively determining an actual preference value of the first user and the plurality of data object sets
- the calculation of the actual preference value in the embodiment of the present application needs to consider the access behavior of the first user in real time.
- the sub-step S11 may further include the following sub-steps:
- Sub-step S111 respectively acquiring prediction preference values of the plurality of data object sets
- the predicted preference value may be an offline calculated value, and the calculation of the value may be performed without comprehensive consideration of the user's real-time access behavior, and based on the characteristics of the data object set and the multi-dimensional features in the specified website. The value obtained.
- the sub-step S111 may further include the following sub-steps:
- Sub-step S1111 respectively acquiring a set feature vector of the data object set
- the sub-step S1111 may further include: acquiring feature values and features of attribute features of each data object in the data object set. a vector; summarizing feature values and feature vectors of attribute features of all data objects in the data object set to obtain a set feature vector of the data object set.
- each data object has an attribute feature that reflects an attribute of the data object.
- the corresponding attribute feature may include, but is not limited to, the category, price, sales volume, and location of the product. , efficacy, gender distribution, age distribution, etc. of the user who purchased the product.
- the feature value v j of the attribute feature of the data object (the feature value of the attribute feature of the jth data object) may be first obtained, and the attribute feature vector of the data object is calculated according to the feature value v j
- the feature value of the attribute feature can be obtained according to the interface specified by the call.
- the linearly transformed eigenvector (eigenvector) is a non-degenerate vector whose direction is unchanged under the transformation.
- the calculation method of the feature vector is not limited.
- one or more set feature vectors of the data object set may be acquired according to attribute attribute values and attribute feature vectors of all data objects included in the data object set. Characterize the set of data objects in real time into the same vector space of the data objects.
- the set feature vector of the data object set may be calculated by using the following formula (1):
- the logarithmic function is used to smooth the eigenvalues of the attribute features of the data object. It can be seen that the larger the eigenvalue of the attribute feature of the data object, the data object is The greater the proportion of the data object collection. For example, the larger the sales volume of a product, the greater the proportion of the product in the product combination.
- Sub-step S1112 acquiring feature values of user features of the entire network user, and determining corresponding user feature vectors according to the feature values of the user features;
- the entire network user refers to each guest user in the specified website.
- the user feature may include a behavior feature and/or a population attribute feature, wherein the behavior feature may include, but is not limited to, a user browsing, collecting, and the like of the data object; the demographic attribute feature may include But not limited to: the user's gender, age, occupation, etc.
- the behavior characteristics of the user may be obtained from the log records of the specified website, and the demographic attribute characteristics of the user are obtained from the user database of the specified website, and the user database records information such as the demographic characteristics of each registered user. .
- the feature values of a certain demographic attribute and/or behavior characteristic of all users may be obtained first, and the eigenvalues of all users are aggregated to obtain an average eigenvalue, and then according to the average Eigenvalue calculation user feature vector
- the manner of calculating the feature vector according to the feature value is as described in the foregoing sub-step S1111, and details are not described herein again.
- Sub-step S1113 respectively inputting the set feature vector and the user feature vector into a preset prediction model to obtain a predicted preference value of the data object set.
- the preset prediction model may be a model obtained by offline training.
- the prediction model may be established in the following manner, but it should be understood that the embodiment of the present application is not limited thereto. It is possible for domain technicians to establish predictive models with the same effect in other ways:
- the calculation method of the visitor feature vector is similar to the calculation method of the user feature vector described above, except that the data of the user feature vector is derived from the access behavior of all visitors of the entire network, and the data of the visitor feature vector is derived from all accesses of the second. The visitor's access behavior for the user's associated page.
- the visitor feature vector is obtained according to the visitor feature value, and the visitor feature value is a feature value of the visitor feature, and the visitor feature may include a behavior feature and/or a demographic attribute feature, wherein the behavior feature may include, but is not limited to: a visitor pair The behavior of browsing, collecting, and the like of the data objects associated with the two users; the demographic attribute characteristics may include, but are not limited to, the gender, age, occupation, and the like of the visitor.
- the attribute feature vector of the data object is as described in the above sub-step S1111, and will not be described again here.
- the access behavior data of all the visitors accessing the associated page of the second user in the associated page may be a visitor accessing the data object in the associated page by the visitor of the associated page of the second user, the access behavior may be expressed as (u, i), where u is the visitor identity of the visited associated page, and i is the data object identifier accessed by the visitor in the associated page.
- one (u, i) can be used as a sample information.
- the sample information is a positive sample, otherwise, if u does not perform a specified operation on i, the sample information is a negative sample.
- the sample is a positive sample. Otherwise, if the user browses an item but does not purchase the item, then the sample Is a negative sample.
- the attribute feature vector and the visitor feature vector After determining the sample information, the attribute feature vector and the visitor feature vector, it can be modeled as a parameter and modeled by a preset modeling algorithm to obtain a predictive model.
- the modeling algorithm may be an MPI (Message Passing Interface, which can be used for parallel computing) - GBDT (Gradient Boosting Decision Tree, A machine learning algorithm widely used for classification or regression problems, an iterative decision tree algorithm consisting of multiple decision trees, the conclusions of all trees are added together to make the final answer.
- the algorithm is nonlinear after modeling. Predictive model.
- the function of the prediction model is to estimate the probability that a first user will perform a specified operation on a certain data object according to the historical access data of the visitor of the second user's associated page and the attribute characteristics of the data object in the associated page. For example, based on historical behavior data such as in-store visitors and commodities, the probability that a future user will have a purchase relationship for a certain product is estimated.
- the output user's predicted preference value for each data object set may be expressed as follows:
- Sub-step S112 determining a correlation degree between the first user and the data object set respectively;
- the degree of relevance of the first user to each data object set may also be calculated.
- the sub-step S112 may further include the following sub-steps:
- Sub-step S1121 respectively calculating a set word vector of the data object set according to a preset word vector model
- Word Embedding is a way to mathematicalize words in the language.
- the word vector is used to represent the word vector of each data object.
- the preset word vector model can be generated in the following manner:
- Each data object has title information in the specified website, and the title information of each data object in the specified website is used as a corpus, and the corpus is trained by a neural network-based word vector algorithm to obtain a multi-dimensional word vector model, the word vector.
- the model includes word vectors for multiple data objects.
- the word vector algorithm based on neural network may include a cyclic neural network algorithm, a recurrent neural network algorithm, etc., and the principle of one of the neural network algorithms is shown below.
- C(w) represents the word vector corresponding to the data object w.
- the whole model uses a unique set of word vectors, which exists in the matrix C (matrix of
- the conversion from w to C(w) is to take a row from the matrix.
- the first layer of the network is C(wt-n+1),...,C(wt-2),C(wt-1) These n-1 vectors are joined end to end to form a (n-1)m-dimensional vector, denoted by x below.
- the second layer of the network is calculated directly using d+Hx, and d is an offset term. After that, tanh is used as the activation function.
- the third layer (output layer) of the network has a total of
- ⁇ h matrix) is the parameter of the hidden layer to the output layer.
- ⁇ (n-1)m) The matrix contains the straight edges from the input layer to the output layer (the straight edge is a linear transformation from the input layer directly to the output layer). If you do not need a straight edge, set W to 0.
- the word vector model can be obtained by the stochastic gradient descent rule.
- the word vector model After obtaining the word vector model, the word vector model can also be synchronized to the storage for real-time calculation.
- the set word vector of each data object set can be calculated according to the word vector model and the attribute features of the data object.
- the set word vector can be calculated using the following formula (2)
- v j is the eigenvalue of the attribute feature of the jth data object, and is smoothed by a logarithmic function.
- the word vector for the jth data object is the eigenvalue of the attribute feature of the jth data object, and is smoothed by a logarithmic function.
- Sub-step S1122 acquiring a specified number of data objects that the first user recently browsed, and acquiring an intent word vector of the first user based on the specified number of data objects;
- the real-time intention of the user may be predicted in combination with the historical browsing behavior of the first user. Specifically, a specified number of data objects that the first user recently browsed (for example, 10 items that were recently browsed in the day) may be acquired, and a word vector of the specified number of data objects is obtained, according to the word vector of the specified number of data objects. To get the first user's intent word vector.
- a specified number of data objects that the first user recently browsed for example, 10 items that were recently browsed in the day
- a word vector of the specified number of data objects is obtained, according to the word vector of the specified number of data objects.
- the first user's intent word vector may be calculated using the following formula (3):
- T j is the number of seconds of the data object browsed by the user u from the current time
- ⁇ is the attenuation coefficient
- Sub-step S1123 respectively calculating the intent word vector and the similarity of each set word vector as the degree of relevance of the first user and the corresponding data object set.
- the similarity of the two may be separately calculated, the similarity reflecting the degree of correlation between the first user and the corresponding data object set.
- the intent word vector and the similarity of each set word vector may be calculated using the following formula (4):
- Sub-step S113 for each data object set, correct the predicted preference value by using the correlation degree, respectively, to obtain an actual preference value of the first user and the data object set.
- the first user's intent word vector and each set word vector are obtained.
- the predicted preference value can be corrected according to the degree of correlation, and the actual preference value of the first user and each data object set is obtained.
- the actual preference value can be calculated using equation (5) below:
- ⁇ is the fusion parameter
- Sub-step S12 selecting the first N data object sets with the actual actual preference value as the target data object set related to the first user, where N is a positive integer and N is smaller than the number of data object sets.
- the first N data object sets having the largest actual preference value may be used as the target data object set related to the first user.
- N is a positive integer and N is less than the number of data object sets.
- Step 103 Select to send at least one data object to the client from the target data object set and the one or more data objects determined for the access request.
- At least one data object may be selected and sent to the client to display the selected data object in the client.
- step 103 may further include the following sub-steps:
- Sub-step S21 selecting at least one data object from the target data object set and the one or more data objects determined for the access request;
- Sub-step S22 generating a target page according to the selected data object
- Sub-step S23 returning the target page to the client.
- the plurality of data objects included in the target data object set and one or more data objects corresponding to the access request may be included.
- the manner of selecting may be randomly selected or selected according to a preset priority policy, for example, priority selection.
- Corresponding data objects then select the data objects in the target data collection.
- a target page may be generated according to the selected data object, and the target page is returned to the client to display the target page in the client.
- the target page may be displayed in an application app client of the mobile terminal, or the target page may also be displayed in a browser client of the PC or the mobile terminal.
- the target page 10 displayed by the client a plurality of data objects 20 corresponding to the access request and a plurality of data object sets 30 related to the first user may be included, and each of the data object sets 30 may include a plurality of data objects 20 , so that the content displayed on the target page matches the user's preference.
- the second user may preset one or more data object sets, and when receiving the second user-associated data object access request sent by the client corresponding to the first user, determine one or more for the request.
- Data objects and determining a target data object set associated with the first user from the plurality of data object sets, and selecting from the target data object set and one or more data objects determined for the request.
- the client sends at least one data object, so that the data object obtained by the client corresponding to the first user is more consistent with the first user preference, and the accurate data object push is implemented.
- FIG. 2 a block diagram of a device embodiment of a data object push of the present application is shown, which may include the following modules:
- the access request receiving module 201 is configured to receive a second user-associated data object access request sent by the client corresponding to the first user, where the second user has multiple numbers associated with According to the object, and a plurality of data object sets determined according to the plurality of data objects;
- a data object determining module 202 configured to determine one or more data objects for the access request
- a target data object set determining module 203 configured to determine, from the plurality of data object sets, a target data object set related to the first user
- the data object sending module 204 is configured to select to send the at least one data object to the client from the target data object set and the one or more data objects determined for the access request.
- the target data object set determining module 203 may include the following sub-modules:
- An actual preference determining submodule configured to respectively determine an actual preference value of the first user and the plurality of data object sets
- a target data object set selection submodule configured to select a top N data object set with the actual actual preference value as a target data object set related to the first user, where N is a positive integer and N is smaller than the data object The number of collections.
- the actual preference determining submodule may further include the following units:
- a prediction preference acquiring unit configured to separately acquire prediction preference values of the plurality of data object sets
- a correlation calculation unit configured to respectively determine a correlation between the first user and the data object set
- a correcting unit configured to correct the predicted preference value by using the correlation degree for each data object set, to obtain an actual preference value of the first user and the data object set.
- the prediction preference acquiring unit may further include the following subunits:
- a set feature vector obtaining subunit configured to respectively acquire a set feature vector of the data object set
- a user feature vector obtaining sub-unit configured to acquire a feature value of a user feature of the user of the entire network, and determine a corresponding user feature vector according to the feature value of the user feature;
- a prediction preference calculation subunit configured to respectively input the set feature vector and the user feature vector into a preset prediction model to obtain a predicted preference value of the data object set.
- the prediction model is established as follows:
- Modeling is performed according to the sample information, the attribute feature vector, and the visitor feature vector to generate a predictive model.
- the set feature vector obtaining subunit is further configured to:
- the data object includes header information
- the relevance calculation unit may further include the following subunits:
- a set word vector calculation subunit configured to separately calculate a set word vector of the data object set according to a preset word vector model
- An intent word vector calculation subunit configured to acquire a specified number of data objects recently browsed by the first user, and acquire an intent word vector of the first user based on the specified number of data objects;
- the similarity calculation subunit is configured to separately calculate the similarity of the intent word vector and each set word vector as the correlation between the first user and the corresponding data object set.
- the data object sending module 204 may include the following sub-modules:
- a data object selection submodule configured to select at least one data object from the target data object set and the one or more data objects determined for the access request
- a target page generating submodule configured to generate a target page according to the selected data object
- the target page returns a sub-module for returning the target page to the client.
- the first user is a buyer user
- the second user is a seller user
- the data object associated with the second user is a product sold by the seller user.
- the data object set is a combination of items having an associated relationship in the same store.
- the description is relatively simple, and the relevant parts can be referred to the description of the method embodiment.
- the embodiment of the present application further provides a system for pushing a data object, and the system for pushing the data object may include:
- One or more processors are One or more processors;
- One or more modules the one or more modules being stored in the memory and configured to be executed by one or more processors, wherein the one or more modules have the following functions:
- Determining one or more data objects for the access request and determining, from the plurality of data object sets, a target data object set related to the first user;
- the one or more modules may have the following functions:
- the first N data object sets having the largest actual preference value are selected as the target data object set related to the first user, where N is a positive integer and N is smaller than the number of data object sets.
- the one or more modules may have the following functions:
- the prediction preference value is corrected by using the correlation degree, respectively, to obtain an actual preference value of the first user and the data object set.
- the one or more modules may have the following functions:
- the set feature vector and the user feature vector are respectively input into a preset prediction model to obtain a predicted preference value of the data object set.
- the one or more modules may have the following functions:
- Modeling is performed according to the sample information, the attribute feature vector, and the visitor feature vector to generate a predictive model.
- the one or more modules may have the following functions:
- the one or more modules may have the following functions:
- the intent word vector and the similarity of each set word vector are respectively calculated as the degree of correlation between the first user and the corresponding data object set.
- the one or more modules may have the following functions:
- the first user is a buyer user
- the second user is a seller user
- the data object associated with the second user is an item sold by a seller user
- the data object set is in the same store.
- FIG. 3 is a schematic structural diagram of a server provided by an embodiment of the present application.
- the server 300 can vary considerably depending on configuration or performance, and can include one or more central processing units (CPUs) 322 (eg, one or more processors) and memory 332, one or one
- the above storage medium 330 storing the application 342 or the data 344 (for example, one or one storage device in Shanghai).
- the memory 332 and the storage medium 330 may be temporarily stored or persistently stored.
- the program stored on storage medium 330 may include one or more modules (not shown), each of which may include a series of instruction operations in the server.
- the central processor 322 can be configured to communicate with the storage medium 330 to perform a series of instruction operations in the storage medium 330 on the server 300.
- Server 300 may also include one or more power sources 326, one or more wired or wireless network interfaces 350, one or more input and output interfaces 358, one or more keyboards 356, and/or one or more operating systems 341.
- power sources 326 one or more wired or wireless network interfaces 350
- input and output interfaces 358 one or more input and output interfaces 358
- operating systems 341. Windows ServerTM, Mac OS XTM, UnixTM, LinuxTM, FreeBSDTM, etc.
- central processor 322 can execute instructions on server 300 for:
- Determining one or more data objects for the access request and determining, from the plurality of data object sets, a target data object set related to the first user;
- the central processor 322 can also execute instructions on the server 300 for:
- the first N data object sets having the largest actual preference value are selected as the target data object set related to the first user, where N is a positive integer and N is smaller than the number of data object sets.
- the central processor 322 can also execute instructions on the server 300 for:
- the prediction preference value is corrected by using the correlation degree, respectively, to obtain an actual preference value of the first user and the data object set.
- the central processor 322 can also execute instructions on the server 300 for:
- the set feature vector and the user feature vector are respectively input into a preset prediction model to obtain a predicted preference value of the data object set.
- the central processor 322 can also execute instructions on the server 300 for:
- Modeling is performed according to the sample information, the attribute feature vector, and the visitor feature vector to generate a predictive model.
- the central processor 322 can also execute instructions on the server 300 for:
- the central processor 322 can also execute instructions on the server 300 for:
- the intent word vector and the similarity of each set word vector are respectively calculated as the degree of correlation between the first user and the corresponding data object set.
- the central processor 322 can also execute instructions on the server 300 for:
- the first user is a buyer user
- the second user is a seller user
- the data object associated with the second user is an item sold by a seller user
- the data object set is in the same store.
- embodiments of the embodiments of the present application can be provided as a method, apparatus, or computer program product. Therefore, the embodiments of the present application may take the form of an entirely hardware embodiment, an entirely software embodiment, or an embodiment combining software and hardware. Moreover, embodiments of the present application can take the form of a computer program product embodied on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) including computer usable program code.
- computer-usable storage media including but not limited to disk storage, CD-ROM, optical storage, etc.
- Embodiments of the present application are described with reference to flowcharts and/or block diagrams of methods, terminal devices (systems), and computer program products according to embodiments of the present application. It will be understood that each flow and/or block of the flowchart illustrations and/or FIG.
- These computer program operating instructions may be provided to a processor of a general purpose computer, special purpose computer, embedded processor or other programmable data processing terminal device to produce a machine for execution by a processor of a computer or other programmable data processing terminal device
- the operational instructions generate means for implementing the functions specified in one or more of the flow or in a block or blocks of the flowchart.
- the computer program operating instructions may also be stored in a computer readable memory that can direct a computer or other programmable data processing terminal device to operate in a particular manner, such that operational instructions stored in the computer readable memory produce manufacturing including the operational command device
- the operation instruction means implements the functions specified in one block or a plurality of blocks of a flow or a flow and/or a block diagram of the flowchart.
- These computer program operating instructions can also be loaded onto a computer or other programmable data processing terminal device such that a series of operational steps are performed on the computer or other programmable terminal device to produce computer-implemented processing, such that the computer or other programmable terminal
- the operational instructions executed on the device provide steps for implementing the functions specified in one or more blocks of the flowchart or in a flow or block of the flowchart.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Between Computers (AREA)
Abstract
Description
本申请涉及数据处理技术领域,特别是涉及一种数据对象推送的方法,一种数据对象推送的装置,以及,一种数据对象推送的系统。The present application relates to the field of data processing technologies, and in particular, to a data object push method, a data object push device, and a data object push system.
内容推送即为将特定的广告内容、新闻内容、通知内容、音视频等多媒体资源内容推广给特定人群的一种方式。Content push is a way to promote specific multimedia content such as advertising content, news content, notification content, audio and video to a specific group of people.
在现有技术中,通常采用以下方式进行内容推送:In the prior art, content push is usually performed in the following manner:
采用用户标签对人群进行定向的技术是广告及其他内容投放领域的常用技术,该技术是通过用户的历史行为或用户本身的属性等数据为用户打上的标签。The technique of targeting people using user tags is a common technique in the field of advertising and other content delivery. The technology is a tag for users by data such as the user's historical behavior or the attributes of the user.
基于用户历史行为的标签技术主要针对用户在各个网页的浏览、搜索、点击,对广告或内容的点击、转化等历史行为,将用户映射到某个标签上。例如,对于电商网站来说,可以根据用户的搜索、对商品的点击、收藏、加购物车、成交等历史行为,相应的生成店铺老客、新客、n天收藏过店铺/加购过店铺商品的用户等标签。The tag technology based on the user's historical behavior mainly targets the user's browsing, searching, clicking, and historical behaviors such as clicking and converting advertisements or content, and mapping the user to a certain tag. For example, for e-commerce websites, according to the user's search, clicks on products, collections, shopping carts, transactions, and other historical behaviors, the corresponding store customers, new customers, n-day collections of shops / purchases A label for users of store products.
用户属性标签一般为用户本身的属性,例如用户的性别、年龄、地域、职业等。跟具体的店铺无关。The user attribute tag is generally the attribute of the user itself, such as the user's gender, age, region, occupation, and the like. It has nothing to do with the specific store.
上述人口属性和用户行为等标签,虽然可以在部分场景中满足人群划分和投放需求,但却无法准确预知用户的实际意图,是一种离转化目标不直接相关的标签。同时由于该技术是一种基于历史数据的计算技术,在无法预知未来用户的情况下,这种基于用户标签的用户内容匹配策略也是相对盲目的。The above-mentioned tags such as population attributes and user behaviors can meet the crowd division and delivery requirements in some scenarios, but cannot accurately predict the user's actual intentions. It is a tag that is not directly related to the conversion target. At the same time, because the technology is a computing technology based on historical data, this user tag-based user content matching strategy is relatively blind in the case of unpredictable future users.
因此,目前需要本领域技术人员迫切解决的一个技术问题就是:提出一种数据对象推送的机制,用以结合用户的实际意图向用户推送最相关的数据对象。 Therefore, a technical problem that needs to be solved urgently by those skilled in the art is to propose a mechanism for pushing data objects to push the most relevant data objects to the user in combination with the actual intention of the user.
发明内容Summary of the invention
本申请实施例所要解决的技术问题是提供一种数据对象推送的方法,结合用户的实际意图向用户推送最相关的数据对象。The technical problem to be solved by the embodiments of the present application is to provide a method for pushing a data object, and pushing the most relevant data object to the user in combination with the actual intention of the user.
相应的,本申请实施例还提供了一种数据对象推送的装置以及一种数据对象推送的系统,用以保证上述方法的实现及应用。Correspondingly, the embodiment of the present application further provides a device for pushing a data object and a system for pushing a data object to ensure implementation and application of the foregoing method.
为了解决上述问题,本申请实施例公开了一种数据对象推送的系统,所述系统包括:In order to solve the above problem, the embodiment of the present application discloses a system for pushing a data object, and the system includes:
一个或多个处理器;One or more processors;
存储器;和Memory; and
一个或多个模块,所述一个或多个模块存储于所述存储器中并被配置成由所述一个或多个处理器执行,所述一个或多个模块具有如下功能:One or more modules, the one or more modules being stored in the memory and configured to be executed by the one or more processors, the one or more modules having the following functions:
接收第一用户对应的客户端发送的第二用户关联的数据对象的访问请求,其中,所述第二用户具有关联的多个数据对象,以及,依据所述多个数据对象确定的多个数据对象集合;Receiving, by the client corresponding to the first user, an access request of the data object associated with the second user, where the second user has an associated plurality of data objects, and the plurality of data determined according to the plurality of data objects Object collection
针对所述访问请求确定一个或多个数据对象,以及,从所述多个数据对象集合中,确定与所述第一用户相关的目标数据对象集合;Determining one or more data objects for the access request, and determining, from the plurality of data object sets, a target data object set related to the first user;
从所述目标数据对象集合和所述针对所述访问请求确定的一个或多个数据对象中,选择向所述客户端发送至少一个数据对象。Selecting to transmit at least one data object to the client from the set of target data objects and the one or more data objects determined for the access request.
本申请实施例还公开了一种数据对象推送的方法,所述方法包括:The embodiment of the present application further discloses a method for pushing a data object, where the method includes:
接收第一用户对应的客户端发送的第二用户关联的数据对象访问请求,其中,所述第二用户具有关联的多个数据对象,以及,依据所述多个数据对象确定的多个数据对象集合;Receiving, by the client corresponding to the first user, a data object access request associated with the second user, wherein the second user has an associated plurality of data objects, and the plurality of data objects determined according to the plurality of data objects set;
针对所述访问请求确定一个或多个数据对象,以及,从所述多个数据对象集合中,确定与所述第一用户相关的目标数据对象集合;Determining one or more data objects for the access request, and determining, from the plurality of data object sets, a target data object set related to the first user;
从所述目标数据对象集合和所述针对所述访问请求确定的一个或多个数据对象中,选择向所述客户端发送至少一个数据对象。 Selecting to transmit at least one data object to the client from the set of target data objects and the one or more data objects determined for the access request.
优选地,所述从所述多个数据对象集合中,确定与所述第一用户相关的目标数据对象集合的步骤包括:Preferably, the step of determining a target data object set related to the first user from the plurality of data object sets includes:
分别确定所述第一用户与所述多个数据对象集合的实际偏好值;Determining actual preference values of the first user and the plurality of data object sets respectively;
选取所述实际偏好值最大的前N个数据对象集合,作为与所述第一用户相关的目标数据对象集合,其中,N为正整数且N小于数据对象集合的数量。The first N data object sets having the largest actual preference value are selected as the target data object set related to the first user, where N is a positive integer and N is smaller than the number of data object sets.
优选地,所述分别确定所述第一用户与所述多个数据对象集合的实际偏好值的步骤包括:Preferably, the step of determining the actual preference values of the first user and the plurality of data object sets respectively comprises:
分别获取所述多个数据对象集合的预测偏好值;Obtaining prediction preference values of the plurality of data object sets respectively;
分别确定所述第一用户与所述数据对象集合的相关度;Determining a correlation between the first user and the data object set respectively;
针对每个数据对象集合,分别采用所述相关度对所述预测偏好值进行纠正,得到所述第一用户与所述数据对象集合的实际偏好值。For each data object set, the prediction preference value is corrected by using the correlation degree, respectively, to obtain an actual preference value of the first user and the data object set.
优选地,所述分别获取所述多个数据对象集合的预测偏好值的步骤包括:Preferably, the step of separately obtaining the predicted preference values of the plurality of data object sets comprises:
分别获取所述数据对象集合的集合特征向量;Obtaining a set feature vector of the data object set respectively;
获取全网用户的用户特征的特征值,并依据所述用户特征的特征值确定对应的用户特征向量;Obtaining a feature value of a user feature of the network user, and determining a corresponding user feature vector according to the feature value of the user feature;
分别将所述集合特征向量以及所述用户特征向量输入预置的预测模型,以获得所述数据对象集合的预测偏好值。The set feature vector and the user feature vector are respectively input into a preset prediction model to obtain a predicted preference value of the data object set.
优选地,所述预测模型采用如下方式建立:Preferably, the prediction model is established as follows:
获取所有访问所述第二用户的关联页面的访客在全网的访客特征向量;Obtaining a visitor feature vector of all visitors visiting the associated page of the second user in the entire network;
获取所述第二用户关联的数据对象的属性特征向量;Obtaining an attribute feature vector of the data object associated with the second user;
获取所有访问所述第二用户的关联页面的访客在所述关联页面中的访问行为数据,作为样本信息;Obtaining access behavior data of all visitors accessing the associated page of the second user in the associated page as sample information;
依据所述样本信息、所述属性特征向量以及所述访客特征向量进行建模,生成预测模型。Modeling is performed according to the sample information, the attribute feature vector, and the visitor feature vector to generate a predictive model.
优选地,所述分别获取所述数据对象集合的集合特征向量的步骤包 括:Preferably, the step of respectively acquiring the set feature vector of the data object set include:
获取所述数据对象集合中每个数据对象的属性特征的特征值和特征向量;Obtaining feature values and feature vectors of attribute features of each data object in the data object set;
对所述数据对象集合中所有数据对象的属性特征的特征值和特征向量进行汇总,获得所述数据对象集合的集合特征向量。And summarizing feature values and feature vectors of attribute features of all data objects in the data object set to obtain a set feature vector of the data object set.
优选地,所述数据对象包括标题信息,所述分别确定所述第一用户与所述数据对象集合的相关度的步骤包括:Preferably, the data object includes header information, and the determining the correlation between the first user and the data object set respectively comprises:
根据预置的词向量模型,分别计算所述数据对象集合的集合词向量;Calculating a set word vector of the data object set according to a preset word vector model;
获取第一用户最近浏览的指定数量的数据对象,并基于所述指定数量的数据对象获取所述第一用户的意图词向量;Obtaining a specified number of data objects that the first user recently browsed, and acquiring an intent word vector of the first user based on the specified number of data objects;
分别计算所述意图词向量以及每个集合词向量的相似度,作为所述第一用户与对应的数据对象集合的相关度。The intent word vector and the similarity of each set word vector are respectively calculated as the degree of correlation between the first user and the corresponding data object set.
优选地,所述从所述目标数据对象集合和所述针对所述访问请求确定的一个或多个数据对象中,选择向所述客户端发送至少一个数据对象的步骤包括:Preferably, the step of selecting to send the at least one data object to the client from the target data object set and the one or more data objects determined for the access request comprises:
从所述目标数据对象集合和所述针对所述访问请求确定的一个或多个数据对象中,选择至少一个数据对象;Selecting at least one data object from the set of target data objects and the one or more data objects determined for the access request;
依据所述选择的数据对象生成目标页面;Generating a target page according to the selected data object;
将所述目标页面返回客户端。Return the target page to the client.
优选地,所述第一用户为买家用户,所述第二用户为卖家用户,所述第二用户关联的数据对象为卖家用户所售卖的商品,所述数据对象集合为同一店铺中具有关联关系的商品的组合。Preferably, the first user is a buyer user, the second user is a seller user, the data object associated with the second user is an item sold by a seller user, and the data object set has an association in the same store. A combination of goods of a relationship.
本申请实施例还公开了一种数据对象推送的装置,所述装置包括:The embodiment of the present application further discloses an apparatus for pushing a data object, where the apparatus includes:
访问请求接收模块,用于接收第一用户对应的客户端发送的第二用户关联的数据对象访问请求,其中,所述第二用户具有关联的多个数据对象,以及,依据所述多个数据对象确定的多个数据对象集合;The access request receiving module is configured to receive a second user-associated data object access request sent by the client corresponding to the first user, where the second user has an associated plurality of data objects, and according to the multiple data a collection of multiple data objects determined by the object;
数据对象确定模块,用于针对所述访问请求确定一个或多个数据对 象;a data object determining module for determining one or more data pairs for the access request Elephant
目标数据对象集合确定模块,用于从所述多个数据对象集合中,确定与所述第一用户相关的目标数据对象集合;a target data object set determining module, configured to determine, from the plurality of data object sets, a target data object set related to the first user;
数据对象发送模块,用于从所述目标数据对象集合和所述针对所述访问请求确定的一个或多个数据对象中,选择向所述客户端发送至少一个数据对象。And a data object sending module, configured to select, from the target data object set and the one or more data objects determined for the access request, to send at least one data object to the client.
优选地,所述目标数据对象集合确定模块包括:Preferably, the target data object set determining module comprises:
实际偏好确定子模块,用于分别确定所述第一用户与所述多个数据对象集合的实际偏好值;An actual preference determining submodule, configured to respectively determine an actual preference value of the first user and the plurality of data object sets;
目标数据对象集合选取子模块,用于选取所述实际偏好值最大的前N个数据对象集合,作为与所述第一用户相关的目标数据对象集合,其中,N为正整数且N小于数据对象集合的数量。a target data object set selection submodule, configured to select a top N data object set with the actual actual preference value as a target data object set related to the first user, where N is a positive integer and N is smaller than the data object The number of collections.
优选地,所述实际偏好确定子模块包括:Preferably, the actual preference determining submodule comprises:
预测偏好获取单元,用于分别获取所述多个数据对象集合的预测偏好值;a prediction preference acquiring unit, configured to separately acquire prediction preference values of the plurality of data object sets;
相关度计算单元,用于分别确定所述第一用户与所述数据对象集合的相关度;a correlation calculation unit, configured to respectively determine a correlation between the first user and the data object set;
纠正单元,用于针对每个数据对象集合,分别采用所述相关度对所述预测偏好值进行纠正,得到所述第一用户与所述数据对象集合的实际偏好值。And a correcting unit, configured to correct the predicted preference value by using the correlation degree for each data object set, to obtain an actual preference value of the first user and the data object set.
优选地,所述预测偏好获取单元包括:Preferably, the predicted preference obtaining unit comprises:
集合特征向量获取子单元,用于分别获取所述数据对象集合的集合特征向量;a set feature vector obtaining subunit, configured to respectively acquire a set feature vector of the data object set;
用户特征向量获取子单元,用于获取全网用户的用户特征的特征值,并依据所述用户特征的特征值确定对应的用户特征向量;a user feature vector obtaining sub-unit, configured to acquire a feature value of a user feature of the user of the entire network, and determine a corresponding user feature vector according to the feature value of the user feature;
预测偏好计算子单元,用于分别将所述集合特征向量以及所述用户特征向量输入预置的预测模型,以获得所述数据对象集合的预测偏好值。And a prediction preference calculation subunit, configured to respectively input the set feature vector and the user feature vector into a preset prediction model to obtain a predicted preference value of the data object set.
优选地,所述预测模型采用如下方式建立: Preferably, the prediction model is established as follows:
获取所有访问所述第二用户的关联页面的访客在全网的访客特征向量;Obtaining a visitor feature vector of all visitors visiting the associated page of the second user in the entire network;
获取所述第二用户关联的数据对象的属性特征向量;Obtaining an attribute feature vector of the data object associated with the second user;
获取所有访问所述第二用户的关联页面的访客在所述关联页面中的访问行为数据,作为样本信息;Obtaining access behavior data of all visitors accessing the associated page of the second user in the associated page as sample information;
依据所述样本信息、所述属性特征向量以及所述访客特征向量进行建模,生成预测模型。Modeling is performed according to the sample information, the attribute feature vector, and the visitor feature vector to generate a predictive model.
优选地,所述集合特征向量获取子单元还用于:Preferably, the set feature vector obtaining subunit is further configured to:
获取所述数据对象集合中每个数据对象的属性特征的特征值和特征向量;Obtaining feature values and feature vectors of attribute features of each data object in the data object set;
对所述数据对象集合中所有数据对象的属性特征的特征值和特征向量进行汇总,获得所述数据对象集合的集合特征向量。And summarizing feature values and feature vectors of attribute features of all data objects in the data object set to obtain a set feature vector of the data object set.
优选地,所述数据对象包括标题信息,所述相关度计算单元包括:Preferably, the data object includes title information, and the correlation calculation unit includes:
集合词向量计算子单元,用于根据预置的词向量模型,分别计算所述数据对象集合的集合词向量;a set word vector calculation subunit, configured to separately calculate a set word vector of the data object set according to a preset word vector model;
意图词向量计算子单元,用于获取第一用户最近浏览的指定数量的数据对象,并基于所述指定数量的数据对象获取所述第一用户的意图词向量;An intent word vector calculation subunit, configured to acquire a specified number of data objects recently browsed by the first user, and acquire an intent word vector of the first user based on the specified number of data objects;
相似度计算子单元,用于分别计算所述意图词向量以及每个集合词向量的相似度,作为所述第一用户与对应的数据对象集合的相关度。The similarity calculation subunit is configured to separately calculate the similarity of the intent word vector and each set word vector as the correlation between the first user and the corresponding data object set.
优选地,所述数据对象发送模块包括:Preferably, the data object sending module includes:
数据对象选择子模块,用于从所述目标数据对象集合和所述针对所述访问请求确定的一个或多个数据对象中,选择至少一个数据对象;a data object selection submodule, configured to select at least one data object from the target data object set and the one or more data objects determined for the access request;
目标页面生成子模块,用于依据所述选择的数据对象生成目标页面;a target page generating submodule, configured to generate a target page according to the selected data object;
目标页面返回子模块,用于将所述目标页面返回客户端。The target page returns a sub-module for returning the target page to the client.
优选地,所述第一用户为买家用户,所述第二用户为卖家用户,所述第二用户关联的数据对象为卖家用户所售卖的商品,所述数据对象集合为同一店铺中具有关联关系的商品的组合。 Preferably, the first user is a buyer user, the second user is a seller user, the data object associated with the second user is an item sold by a seller user, and the data object set has an association in the same store. A combination of goods of a relationship.
与背景技术相比,本申请实施例包括以下优点:Compared with the background art, the embodiments of the present application include the following advantages:
在本申请实施例中,第二用户可以预设一个或多个数据对象集合,当接收第一用户对应的客户端发送的第二用户关联的数据对象访问请求时,针对该请求确定一个或多个数据对象,以及,从所述多个数据对象集合中确定与第一用户相关的目标数据对象集合,并从目标数据对象集合和针对所述请求确定的一个或多个数据对象中,选择向客户端发送至少一个数据对象,使得第一用户对应的客户端所获得的数据对象更加符合第一用户偏好,实现精准的数据对象推送。In this embodiment, the second user may preset one or more data object sets, and when receiving the second user-associated data object access request sent by the client corresponding to the first user, determine one or more for the request. Data objects, and determining a target data object set associated with the first user from the plurality of data object sets, and selecting from the target data object set and one or more data objects determined for the request The client sends at least one data object, so that the data object obtained by the client corresponding to the first user is more consistent with the first user preference, and the accurate data object push is implemented.
图1是本申请的一种数据对象推送的方法实施例的步骤流程图;1 is a flow chart showing the steps of a method for pushing a data object according to the present application;
图1a是本申请的一种数据对象推送的方法实施例中的目标页面示意图;1a is a schematic diagram of a target page in an embodiment of a data object push method according to the present application;
图2是本申请的一种数据对象推送的装置实施例的结构框图;2 is a structural block diagram of an apparatus for pushing a data object according to the present application;
图3是本申请实施例的一种服务器结构示意图。FIG. 3 is a schematic structural diagram of a server according to an embodiment of the present application.
为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。The above described objects, features and advantages of the present application will become more apparent and understood.
参照图1,示出了本申请的一种数据对象推送的方法实施例的步骤流程图,具体可以包括如下步骤:Referring to FIG. 1 , a flow chart of steps of a method for pushing a data object according to the present application is shown. Specifically, the method may include the following steps:
步骤101,接收第一用户对应的客户端发送的第二用户关联的数据对象访问请求;Step 101: Receive a data object access request associated with the second user sent by the client corresponding to the first user.
其中,所述第二用户具有关联的多个数据对象,以及,依据所述多个数据对象确定的多个数据对象集合。The second user has a plurality of associated data objects, and a plurality of data object sets determined according to the plurality of data objects.
具体而言,本申请实施例的用户至少可以包括第一用户以及第二用户,其中,第二用户为数据对象的提供方,第一用户为被推送方。 Specifically, the user of the embodiment of the present application may include at least a first user and a second user, where the second user is a provider of the data object, and the first user is a pushed party.
第二用户可以具有关联的多个数据对象,该数据对象可以在指定网站的展现页面中展现和/或在指定网站中第二用户关联的页面中展现。The second user may have an associated plurality of data objects that may be presented in a presentation page of the designated website and/or presented in a page associated with the second user in the designated website.
在实际中,展现页面中还可以展现该第二用户关联的页面的相关信息,例如,该第二用户关联的页面的页面标识信息和/或页面链接信息等,当点击该第二用户关联的页面的相关信息以后,可以跳转至该第二用户关联的页面,其中,第二用户关联的页面中可以包括多个第二用户关联的数据对象。In practice, the information about the page associated with the second user may also be displayed in the presentation page, for example, page identification information and/or page link information of the page associated with the second user, etc., when clicking on the second user association After the related information of the page, the page associated with the second user may be redirected, and the page associated with the second user may include a plurality of data objects associated with the second user.
在具体实现中,展现页面中展现的数据对象中可以包括链接信息,当该数据对象被选中时,可以跳转至链接信息对应的页面,作为一种示例,该链接信息对应的页面可以为该数据对象的详情页面或者为该第二用户关联的页面。In a specific implementation, the data object displayed in the presentation page may include link information, and when the data object is selected, may jump to a page corresponding to the link information. As an example, the page corresponding to the link information may be the The details page of the data object or the page associated with the second user.
进一步地,本申请实施例中第二用户还可以将关联的多个数据对象组合成多个数据对象集合,该数据对象集合可以为具有关联关系的多个数据对象所组合成的集合。例如,第二用户可以将数据对象I1、I2、I3关联在一个数据对象集合G1中,将数据对象I4、I5关联在数据对象集合G2中,将数据对象I6、I7、I8、I9关联在数据对象集合G3中。Further, in the embodiment of the present application, the second user may further combine the associated multiple data objects into a plurality of data object sets, where the data object set may be a set of a plurality of data objects having an association relationship. For example, the second user can associate the data objects I1, I2, I3 in one data object set G1, the data objects I4, I5 in the data object set G2, and associate the data objects I6, I7, I8, I9 in the data. The object collection is in G3.
在本申请实施例中,第一用户可以通过第一用户对应的客户端发送对第二用户关联的数据对象访问请求。其中,作为一种示例,第一用户对应的客户端可以包括指定网站的客户端或浏览器客户端。In the embodiment of the present application, the first user may send a data object access request associated with the second user by using the client corresponding to the first user. Wherein, as an example, the client corresponding to the first user may include a client or a browser client that specifies the website.
在具体实现中,第一用户可以采用如下方式的至少一种发出访问请求:In a specific implementation, the first user may issue an access request by using at least one of the following manners:
(1)第一用户可以在第一用户对应的客户端中加载展现页面,该展现页面中包括第二用户关联的数据对象在内的多个数据对象,当第一用户在展现页面中选中第二用户关联的数据对象时,则判定为第一用户发出了针对该第二用户关联的数据对象的访问请求。(1) The first user may load a presentation page in the client corresponding to the first user, where the presentation page includes multiple data objects including the data object associated with the second user, and the first user selects the first page in the presentation page. When the second user associates the data object, it is determined that the first user has issued an access request for the data object associated with the second user.
(2)若展现页面中展现的数据对象较多,第一用户还可以通过搜索的方式在展现页面中查找所需的第二用户关联的数据对象,在查找成功时,点击该第二用户关联的数据对象,此时可以判定为第一用户发出了 针对该第二用户关联的数据对象的访问请求。(2) If there are more data objects displayed in the presentation page, the first user may also search for the required second user-related data object in the presentation page by searching, and click the second user association when the search is successful. Data object, at this point it can be determined that the first user sent An access request for a data object associated with the second user.
(3)第一用户还可以调用第一用户对应的客户端所提供的接口来传入第二用户关联的数据对象的链接地址,以发出针对该数据对象的访问请求。(3) The first user may also invoke an interface provided by the client corresponding to the first user to transmit a link address of the data object associated with the second user to issue an access request for the data object.
(4)若展现页面中展现第二用户关联的页面的相关信息,若第一用户点击该第二用户关联的页面的相关信息,则可以判定为第一用户发出了针对该第二用户关联的数据对象的访问请求。(4) If the information about the page associated with the second user is displayed on the page, if the first user clicks on the related information of the page associated with the second user, it may be determined that the first user has sent the association for the second user. An access request for a data object.
(5)第一用户还可以调用第一用户对应的客户端所提供的接口来传入第二用户关联的页面的链接地址,以发出针对该数据对象的访问请求。(5) The first user may also invoke an interface provided by the client corresponding to the first user to transmit a link address of the page associated with the second user to issue an access request for the data object.
需要说明的是,上述第一用户对应的客户端发出对第二用户关联的数据对象访问请求的方式仅仅是本申请实施例的示例,本领域技术人员采用其他方式通过第一用户对应的客户端发出对第二用户关联的数据对象访问请求均是可以的,本申请实施例对此不作限定。It should be noted that the manner in which the client corresponding to the first user sends a data object access request for the second user is only an example of the embodiment of the present application, and the technical person in the field adopts the client corresponding to the first user in other manners. It is possible to issue a data object access request associated with the second user, which is not limited in this embodiment of the present application.
本申请实施例可以应用于电子商务的场景中,则该第一用户可以为买家用户,该第二用户可以为卖家用户,该第二用户关联的页面可以为卖家用户的店铺所在的页面;该第二用户关联的数据对象可以为卖家用户所售卖的商品,该数据对象集合可以为同一店铺中具有关联关系的商品的组合。例如,在电商网站中,卖家可以预先将其销售的具有相关性的多个商品组合起来,得到商品组合,如,可以将牙刷、牙膏、杯子组合起来,或者,将手机、手机壳、手机贴膜、耳机线、充电器等与手机相关的商品组合起来。The embodiment of the present application may be applied to an e-commerce scenario, where the first user may be a buyer user, the second user may be a seller user, and the second user associated page may be a page where the seller user's store is located; The data object associated with the second user may be an item sold by a seller user, and the data object set may be a combination of items having an associated relationship in the same store. For example, in an e-commerce website, a seller can combine a plurality of related products that are sold in advance to obtain a product combination, for example, a toothbrush, a toothpaste, a cup, or a mobile phone, a mobile phone case, or a mobile phone. Film, headphone cable, charger, and other products related to mobile phones are combined.
步骤102,针对所述访问请求确定一个或多个数据对象,以及,从所述多个数据对象集合中,确定与所述第一用户相关的目标数据对象集合;Step 102: Determine one or more data objects for the access request, and determine, from the plurality of data object sets, a target data object set related to the first user;
在本申请实施例中,当接收第一用户对应的客户端发送的第二用户关联的数据对象访问请求以后,可以针对该访问请求确定与第一用户的实时访问意图对应的一个或多个第二用户关联的数据对象。In the embodiment of the present application, after receiving the data object access request associated with the second user sent by the client corresponding to the first user, one or more corresponding to the real-time access intention of the first user may be determined for the access request. Two user-associated data objects.
在具体实现中,若第一用户通过在展现页面中选中第二用户关联的数据对象和/或传入第二用户关联的数据对象的链接地址来发出访问请求, 则依据该访问请求可以直接确定对应的数据对象。In a specific implementation, if the first user issues an access request by selecting a data object associated with the second user in the presentation page and/or a link address of the data object associated with the second user, Then, according to the access request, the corresponding data object can be directly determined.
若第一用户通过在展现页面中选中第二用户关联的页面的相关信息和/或传入第二用户关联的页面的链接地址来发出访问请求,则可以根据访问请求确定第二用户关联的页面,从而获得第二用户关联的页面所包含的数据对象作为与访问请求对应的数据对象。If the first user issues an access request by selecting relevant information of the page associated with the second user in the presentation page and/or a link address of the page associated with the second user, the page associated with the second user may be determined according to the access request. And obtaining the data object included in the page associated with the second user as the data object corresponding to the access request.
应用于本申请实施例,当接收第一用户对应的客户端发送的第二用户关联的数据对象访问请求以后,还可以依据该访问请求确定第二用户关联的多个数据对象集合,并从该多个数据对象集合中提取目标数据对象集合,其中,该目标数据对象集合为该多个数据对象集合中与第一用户的最相关的数据对象集合。In the embodiment of the present application, after receiving the data object access request of the second user that is sent by the client corresponding to the first user, the data object set associated with the second user may be determined according to the access request, and Extracting a target data object set from the plurality of data object sets, wherein the target data object set is a most relevant data object set of the first user among the plurality of data object sets.
在本申请实施例的一种优选实施例中,从所述多个数据对象集合中,确定与所述第一用户相关的目标数据对象集合的步骤可以包括如下子步骤:In a preferred embodiment of the embodiments of the present application, the step of determining a target data object set related to the first user from the plurality of data object sets may include the following sub-steps:
子步骤S11,分别确定所述第一用户与所述多个数据对象集合的实际偏好值;Sub-step S11, respectively determining an actual preference value of the first user and the plurality of data object sets;
本申请实施例中实际偏好值的计算需要考虑第一用户实时的访问行为。The calculation of the actual preference value in the embodiment of the present application needs to consider the access behavior of the first user in real time.
在本申请实施例的一种优选实施例中,子步骤S11进一步可以包括如下子步骤:In a preferred embodiment of the embodiment of the present application, the sub-step S11 may further include the following sub-steps:
子步骤S111,分别获取所述多个数据对象集合的预测偏好值;Sub-step S111, respectively acquiring prediction preference values of the plurality of data object sets;
在本申请实施例中,预测偏好值可以为离线计算的数值,该值的计算可以不考虑用户实时的访问行为,而是根据数据对象集合的特征以及指定网站中的多维特征进行综合分析后计算得到的数值。In the embodiment of the present application, the predicted preference value may be an offline calculated value, and the calculation of the value may be performed without comprehensive consideration of the user's real-time access behavior, and based on the characteristics of the data object set and the multi-dimensional features in the specified website. The value obtained.
在本申请实施例的一种优选实施例中,子步骤S111进一步可以包括如下子步骤:In a preferred embodiment of the embodiment of the present application, the sub-step S111 may further include the following sub-steps:
子步骤S1111,分别获取所述数据对象集合的集合特征向量;Sub-step S1111, respectively acquiring a set feature vector of the data object set;
在本申请实施例的一种优选实施例中,子步骤S1111进一步可以包括:获取所述数据对象集合中每个数据对象的属性特征的特征值和特征 向量;对所述数据对象集合中所有数据对象的属性特征的特征值和特征向量进行汇总,获得所述数据对象集合的集合特征向量。In a preferred embodiment of the embodiment of the present application, the sub-step S1111 may further include: acquiring feature values and features of attribute features of each data object in the data object set. a vector; summarizing feature values and feature vectors of attribute features of all data objects in the data object set to obtain a set feature vector of the data object set.
具体而言,每个数据对象均有反映该数据对象的属性的属性特征,例如,若数据对象为商品,则对应的属性特征可以包括但不限于:商品的品类、价格、销量、商品的定位、功效、购买该商品的用户的性别分布、年龄分布等。Specifically, each data object has an attribute feature that reflects an attribute of the data object. For example, if the data object is a commodity, the corresponding attribute feature may include, but is not limited to, the category, price, sales volume, and location of the product. , efficacy, gender distribution, age distribution, etc. of the user who purchased the product.
确定数据对象的属性特征以后,可以首先获取数据对象的属性特征的特征值vj(第j个数据对象的属性特征的特征值),并根据该特征值vj计算该数据对象的属性特征向量 After determining the attribute feature of the data object, the feature value v j of the attribute feature of the data object (the feature value of the attribute feature of the jth data object) may be first obtained, and the attribute feature vector of the data object is calculated according to the feature value v j
属性特征的特征值可以根据调用指定的接口获取。The feature value of the attribute feature can be obtained according to the interface specified by the call.
数学上,线性变换的特征向量(本征向量)是一个非退化的向量,其方向在该变换下不变。该向量在此变换下缩放的比例称为其特征值(本征值)。如果向量v与变换满足Av=λv,则称向量v是变换A的一个特征向量,λ是相应的特征值。Mathematically, the linearly transformed eigenvector (eigenvector) is a non-degenerate vector whose direction is unchanged under the transformation. The scale at which this vector is scaled under this transformation is called its eigenvalue (eigenvalue). If the vector v and the transform satisfy Av = λv, then the vector v is a feature vector of the transform A, and λ is the corresponding feature value.
本申请实施例可以采用通用的根据特征值计算特征向量的方式计算属性特征向量,例如,一旦确定特征值λ,相应的特征向量可以通过求解方程(A-λ1)v=0得到,本申请实施例对特征向量的计算方式不作限定。The embodiment of the present application can calculate the attribute feature vector by using a general method for calculating the feature vector according to the feature value. For example, once the feature value λ is determined, the corresponding feature vector can be obtained by solving the equation (A-λ1) v=0, which is implemented by the present application. The calculation method of the feature vector is not limited.
在本申请实施例中,根据数据对象集合中所包含的所有数据对象的属性特征值和属性特征向量,可以获取该数据对象集合的一个或多个集合特征向量以实时将数据对象集合特征化到数据对象相同的向量空间中。In this embodiment of the present application, one or more set feature vectors of the data object set may be acquired according to attribute attribute values and attribute feature vectors of all data objects included in the data object set. Characterize the set of data objects in real time into the same vector space of the data objects.
在一种实施方式中,可以采用如下公式(1)计算数据对象集合的集合特征向量 In an embodiment, the set feature vector of the data object set may be calculated by using the following formula (1):
在公式(1)中,采用了对数函数对数据对象的属性特征的特征值做了平滑,可以看出,数据对象的属性特征的特征值越大,该数据对象在 数据对象集合中所占的比例越大。例如,商品的销量越大,该商品在商品组合中所占的比例越大。In formula (1), the logarithmic function is used to smooth the eigenvalues of the attribute features of the data object. It can be seen that the larger the eigenvalue of the attribute feature of the data object, the data object is The greater the proportion of the data object collection. For example, the larger the sales volume of a product, the greater the proportion of the product in the product combination.
当然,上述公式(1)仅仅是本申请实施例的一种示例,本领域技术人员还可以采用其他方式计算数据对象集合的集合特征向量,本申请实施例对此不作限定。Of course, the above formula (1) is only an example of the embodiment of the present application, and those skilled in the art may also calculate the set feature vector of the data object set by other methods, which is not limited by the embodiment of the present application.
子步骤S1112,获取全网用户的用户特征的特征值,并依据所述用户特征的特征值确定对应的用户特征向量;Sub-step S1112, acquiring feature values of user features of the entire network user, and determining corresponding user feature vectors according to the feature values of the user features;
具体的,全网用户是指指定网站中每个访客用户。Specifically, the entire network user refers to each guest user in the specified website.
作为本申请实施例的一种优选示例,用户特征可以包括行为特征和/或人口属性特征,其中,行为特征可以包括但不限于:用户对数据对象的浏览、收藏等行为;人口属性特征可以包括但不限于:用户的性别、年龄、职业等。As a preferred example of the embodiment of the present application, the user feature may include a behavior feature and/or a population attribute feature, wherein the behavior feature may include, but is not limited to, a user browsing, collecting, and the like of the data object; the demographic attribute feature may include But not limited to: the user's gender, age, occupation, etc.
在具体实现中,可以从指定网站的日志记录中获取用户的行为特征,以及,从指定网站的用户数据库中获取用户的人口属性特征,该用户数据库记录了每个注册用户的人口属性特征等信息。In a specific implementation, the behavior characteristics of the user may be obtained from the log records of the specified website, and the demographic attribute characteristics of the user are obtained from the user database of the specified website, and the user database records information such as the demographic characteristics of each registered user. .
确定行为特征和/或人口属性特征以后,可以首先获取所有用户的某一人口属性特征和/或行为特征的特征值,对该所有用户的特征值进行汇总后求平均特征值,然后根据该平均特征值计算用户特征向量根据特征值计算特征向量的方式如上述子步骤S1111所述,本申请实施例对此不再赘述。After determining the behavior characteristics and/or the population attribute characteristics, the feature values of a certain demographic attribute and/or behavior characteristic of all users may be obtained first, and the eigenvalues of all users are aggregated to obtain an average eigenvalue, and then according to the average Eigenvalue calculation user feature vector The manner of calculating the feature vector according to the feature value is as described in the foregoing sub-step S1111, and details are not described herein again.
子步骤S1113,分别将所述集合特征向量以及所述用户特征向量输入预置的预测模型,以获得所述数据对象集合的预测偏好值。Sub-step S1113, respectively inputting the set feature vector and the user feature vector into a preset prediction model to obtain a predicted preference value of the data object set.
预置的预测模型可以为离线训练得到的模型,在本申请实施例的一种优选实施例中,预测模型可以采用如下方式建立,但应当理解的是,本申请实施例并不限于此,本领域技术人员采用其他方式建立作用相同的预测模型均是可以的:The preset prediction model may be a model obtained by offline training. In a preferred embodiment of the embodiment of the present application, the prediction model may be established in the following manner, but it should be understood that the embodiment of the present application is not limited thereto. It is possible for domain technicians to establish predictive models with the same effect in other ways:
获取所有访问所述第二用户的关联页面的访客在全网的访客特征向量;获取所述第二用户关联的数据对象的属性特征向量;获取所有访问 所述第二用户的关联页面的访客在所述关联页面中的访问行为数据,作为样本信息;对所述样本信息、所述属性特征向量以及所述访客特征向量进行建模,生成预测模型。Obtaining a visitor feature vector of a visitor of the second user's associated page in the entire network; acquiring an attribute feature vector of the data object associated with the second user; obtaining all accesses The access behavior data of the visitor of the second user's associated page in the associated page as sample information; modeling the sample information, the attribute feature vector, and the visitor feature vector to generate a predictive model.
具体的,访客特征向量的计算方式与上述用户特征向量的计算方式类似,只是用户特征向量的数据来源于全网的所有访客的访问行为,而访客特征向量的数据来源于所有访问所述第二用户的关联页面的访客的访问行为。Specifically, the calculation method of the visitor feature vector is similar to the calculation method of the user feature vector described above, except that the data of the user feature vector is derived from the access behavior of all visitors of the entire network, and the data of the visitor feature vector is derived from all accesses of the second. The visitor's access behavior for the user's associated page.
也即,访客特征向量根据访客特征值获取,而访客特征值为访客特征的特征值,访客特征可以包括包括行为特征和/或人口属性特征,其中,行为特征可以包括但不限于:访客对第二用户相关联的数据对象的浏览、收藏等行为;人口属性特征可以包括但不限于:访客的性别、年龄、职业等。That is, the visitor feature vector is obtained according to the visitor feature value, and the visitor feature value is a feature value of the visitor feature, and the visitor feature may include a behavior feature and/or a demographic attribute feature, wherein the behavior feature may include, but is not limited to: a visitor pair The behavior of browsing, collecting, and the like of the data objects associated with the two users; the demographic attribute characteristics may include, but are not limited to, the gender, age, occupation, and the like of the visitor.
数据对象的属性特征向量如上述子步骤S1111的描述,此处不再赘述了。The attribute feature vector of the data object is as described in the above sub-step S1111, and will not be described again here.
所有访问所述第二用户的关联页面的访客在所述关联页面中的访问行为数据可以为访问第二用户的关联页面的访客对关联页面中的数据对象的访问行为,该访问行为可以表示为(u,i),其中,u为访问关联页面的访客标识,i为该访客在关联页面中访问的数据对象标识。The access behavior data of all the visitors accessing the associated page of the second user in the associated page may be a visitor accessing the data object in the associated page by the visitor of the associated page of the second user, the access behavior may be expressed as (u, i), where u is the visitor identity of the visited associated page, and i is the data object identifier accessed by the visitor in the associated page.
在具体实现中,一条(u,i)可以作为一个样本信息。在该(u,i)中,若u对i执行了指定操作,则该样本信息为正样本,否则,若u对i没有执行指定操作,则该样本信息为负样本。例如,在电子商务应用场景中,如果用户浏览了某个商品并且购买了该商品,则这条样本为一条正样本,否则,如果用户浏览了某个商品但是没有购买该商品,则这条样本为一条负样本。In a specific implementation, one (u, i) can be used as a sample information. In the (u, i), if u performs a specified operation on i, the sample information is a positive sample, otherwise, if u does not perform a specified operation on i, the sample information is a negative sample. For example, in an e-commerce application scenario, if a user browses an item and purchases the item, the sample is a positive sample. Otherwise, if the user browses an item but does not purchase the item, then the sample Is a negative sample.
当确定样本信息、属性特征向量以及访客特征向量以后,可以将其作为建模入参,采用预设的建模算法进行建模,以获得预测模型。作为一种示例,该建模算法可以为MPI(Message Passing Interface,标准消息传递界面,可以用于并行计算)-GBDT(Gradient Boosting Decision Tree, 一种广泛用于分类或回归问题的机器学习算法,一种迭代的决策树算法,该算法由多颗决策树组成,所有树的结论累加起来作最终答案)算法,建模后得到的是非线性的预测模型。After determining the sample information, the attribute feature vector and the visitor feature vector, it can be modeled as a parameter and modeled by a preset modeling algorithm to obtain a predictive model. As an example, the modeling algorithm may be an MPI (Message Passing Interface, which can be used for parallel computing) - GBDT (Gradient Boosting Decision Tree, A machine learning algorithm widely used for classification or regression problems, an iterative decision tree algorithm consisting of multiple decision trees, the conclusions of all trees are added together to make the final answer. The algorithm is nonlinear after modeling. Predictive model.
该预测模型的作用是根据第二用户的关联页面的访客的历史访问数据以及关联页面中的数据对象的属性特征,预估未来第一用户对某一个数据对象发生指定操作的概率。例如,根据店内访客、商品等历史行为数据,预估未来用户对某一个商品产生购买关系的概率。The function of the prediction model is to estimate the probability that a first user will perform a specified operation on a certain data object according to the historical access data of the visitor of the second user's associated page and the attribute characteristics of the data object in the associated page. For example, based on historical behavior data such as in-store visitors and commodities, the probability that a future user will have a purchase relationship for a certain product is estimated.
在本申请实施例的一种优选实施例中,分别将每个集合特征向量以及用户特征向量输入预置的预测模型后,输出的用户对各数据对象集合的预测偏好值可以表示如下: In a preferred embodiment of the embodiment of the present application, after each set feature vector and user feature vector are respectively input into a preset prediction model, the output user's predicted preference value for each data object set may be expressed as follows:
子步骤S112,分别确定所述第一用户与所述数据对象集合的相关度;Sub-step S112, determining a correlation degree between the first user and the data object set respectively;
应用于本申请实施例,还可以计算第一用户与每个数据对象集合的相关度。Applicable to the embodiment of the present application, the degree of relevance of the first user to each data object set may also be calculated.
在本申请实施例的一种优选实施例中,子步骤S112进一步可以包括如下子步骤:In a preferred embodiment of the embodiment of the present application, the sub-step S112 may further include the following sub-steps:
子步骤S1121,根据预置的词向量模型,分别计算所述数据对象集合的集合词向量;Sub-step S1121, respectively calculating a set word vector of the data object set according to a preset word vector model;
要将自然语言交给机器学习中的算法来处理,通常需要首先将语言数学化,词向量(Word Embedding,或称为Word Representation)就是用来将语言中的词进行数学化的一种方式,在本申请实施例中,词向量用于表示每个数据对象的词向量。To hand over natural language to algorithms in machine learning, you usually need to first mathematicalize the language. Word Embedding (or Word Representation) is a way to mathematicalize words in the language. In the embodiment of the present application, the word vector is used to represent the word vector of each data object.
在一种实施方式中,预置的词向量模型可以采用如下方式生成:In one embodiment, the preset word vector model can be generated in the following manner:
每个数据对象在指定网站中具有标题信息,将指定网站中每个数据对象的标题信息作为语料,采用基于神经网络的词向量算法对语料进行训练,得到一个多维的词向量模型,该词向量模型包括多个数据对象的词向量。Each data object has title information in the specified website, and the title information of each data object in the specified website is used as a corpus, and the corpus is trained by a neural network-based word vector algorithm to obtain a multi-dimensional word vector model, the word vector. The model includes word vectors for multiple data objects.
在具体实现中,基于神经网络的词向量算法可以包括循环神经网络算法、递归神经网络算法等,以下对其中一种神经网络算法的原理进行示 例性说明:In a specific implementation, the word vector algorithm based on neural network may include a cyclic neural network algorithm, a recurrent neural network algorithm, etc., and the principle of one of the neural network algorithms is shown below. Example description:
假设语料中前n-1个数据对象分别为wt-n+1,…,wt-2,wt-1,现在需要根据这已知的n-1个数据对象预测下一个数据对象wt。C(w)表示数据对象w所对应的词向量,整个模型中使用的是一套唯一的词向量,存在矩阵C(|V|×m的矩阵)中,其中|V|表示词表的大小(语料中的总词数),m表示词向量的维度。w到C(w)的转化就是从矩阵中取出一行,网络的第一层(输入层)是将C(wt-n+1),…,C(wt-2),C(wt-1)这n-1个向量首尾相接拼起来,形成一个(n-1)m维的向量,下面记为x。网络的第二层(隐藏层)直接使用d+Hx计算得到,d是一个偏置项。在此之后,使用tanh作为激活函数。网络的第三层(输出层)一共有|V|个节点,每个节点yi表示下一个词为i的未归一化log概率。最后使用softmax激活函数将输出值y归一化成概率。最终,y的计算公式为:Assuming that the first n-1 data objects in the corpus are wt-n+1,..., wt-2, wt-1, it is now necessary to predict the next data object wt based on the known n-1 data objects. C(w) represents the word vector corresponding to the data object w. The whole model uses a unique set of word vectors, which exists in the matrix C (matrix of |V|×m), where |V| represents the size of the vocabulary (the total number of words in the corpus), m represents the dimension of the word vector. The conversion from w to C(w) is to take a row from the matrix. The first layer of the network (input layer) is C(wt-n+1),...,C(wt-2),C(wt-1) These n-1 vectors are joined end to end to form a (n-1)m-dimensional vector, denoted by x below. The second layer of the network (hidden layer) is calculated directly using d+Hx, and d is an offset term. After that, tanh is used as the activation function. The third layer (output layer) of the network has a total of |V| nodes, and each node yi represents the unnormalized log probability of the next word i. Finally, the output value y is normalized to a probability using the softmax activation function. Finally, the formula for y is:
y=b+Wx+Utanh(d+Hx)y=b+Wx+Utanh(d+Hx)
其中,U(|V|×h的矩阵)是隐藏层到输出层的参数,整个模型的多数计算集中在U和隐藏层的矩阵乘法中;W(|V|×(n-1)m)矩阵包含了从输入层到输出层的直连边(直连边就是从输入层直接到输出层的一个线性变换),如果不需要直连边的话,将W置为0就可以了。最后,用随机梯度下降法则可以得到词向量模型。Among them, U(|V|×h matrix) is the parameter of the hidden layer to the output layer. Most of the calculation of the whole model is concentrated in the matrix multiplication of U and hidden layer; W(|V|×(n-1)m) The matrix contains the straight edges from the input layer to the output layer (the straight edge is a linear transformation from the input layer directly to the output layer). If you do not need a straight edge, set W to 0. Finally, the word vector model can be obtained by the stochastic gradient descent rule.
得到词向量模型以后,还可以将词向量模型同步到存储中,供实时计算使用。After obtaining the word vector model, the word vector model can also be synchronized to the storage for real-time calculation.
在本申请实施例中,可以根据词向量模型以及数据对象的属性特征计算每个数据对象集合的集合词向量 In the embodiment of the present application, the set word vector of each data object set can be calculated according to the word vector model and the attribute features of the data object.
在一种实施方式中,可以采用下述公式(2)计算集合词向量 In one embodiment, the set word vector can be calculated using the following formula (2)
其中,vj为第j个数据对象的属性特征的特征值,同时采用对数函数做了平滑,为第j个数据对象的词向量。 Where v j is the eigenvalue of the attribute feature of the jth data object, and is smoothed by a logarithmic function. The word vector for the jth data object.
子步骤S1122,获取第一用户最近浏览的指定数量的数据对象,并基于所述指定数量的数据对象获取所述第一用户的意图词向量;Sub-step S1122, acquiring a specified number of data objects that the first user recently browsed, and acquiring an intent word vector of the first user based on the specified number of data objects;
在本申请实施例中,可以结合第一用户的历史浏览行为来预测用户的实时意图。具体的,可以获取第一用户最近浏览的指定数量的数据对象(例如,当天最近浏览的10个商品),并获取该指定数量的数据对象的词向量,根据该指定数量的数据对象的词向量来获取第一用户的意图词向量。In the embodiment of the present application, the real-time intention of the user may be predicted in combination with the historical browsing behavior of the first user. Specifically, a specified number of data objects that the first user recently browsed (for example, 10 items that were recently browsed in the day) may be acquired, and a word vector of the specified number of data objects is obtained, according to the word vector of the specified number of data objects. To get the first user's intent word vector.
在一种实施方式中,可以采用如下公式(3)计算第一用户的意图词向量:In an embodiment, the first user's intent word vector may be calculated using the following formula (3):
其中,Tj为用户u浏览的数据对象距离当前时间的秒数,α为衰减系数。Where T j is the number of seconds of the data object browsed by the user u from the current time, and α is the attenuation coefficient.
从上述公式(3)可知,越是最近浏览的数据对象,对用户当前的意图的预测贡献度越大。It can be seen from the above formula (3) that the more recently viewed the data object, the greater the contribution to the prediction of the user's current intention.
子步骤S1123,分别计算所述意图词向量以及每个集合词向量的相似度,作为所述第一用户与对应的数据对象集合的相关度。Sub-step S1123, respectively calculating the intent word vector and the similarity of each set word vector as the degree of relevance of the first user and the corresponding data object set.
当获得第一用户的意图词向量以及每个数据对象集合的集合词向量以后,可以分别计算两者的相似度,该相似度反映的是第一用户与对应的数据对象集合的相关程度。After obtaining the first user's intent word vector and the collective word vector of each data object set, the similarity of the two may be separately calculated, the similarity reflecting the degree of correlation between the first user and the corresponding data object set.
在一种实施方式中,可以采用如下公式(4)计算意图词向量以及每个集合词向量的相似度:In one embodiment, the intent word vector and the similarity of each set word vector may be calculated using the following formula (4):
子步骤S113,针对每个数据对象集合,分别采用所述相关度对所述预测偏好值进行纠正,得到所述第一用户与所述数据对象集合的实际偏好值。Sub-step S113, for each data object set, correct the predicted preference value by using the correlation degree, respectively, to obtain an actual preference value of the first user and the data object set.
在本申请实施例中,得到第一用户的意图词向量以及每个集合词向量 的相关程度以后,可以根据相关程度对预测偏好值进行纠正,得到第一用户与每个数据对象集合的实际偏好值。In the embodiment of the present application, the first user's intent word vector and each set word vector are obtained. After the degree of correlation, the predicted preference value can be corrected according to the degree of correlation, and the actual preference value of the first user and each data object set is obtained.
在一种实施方式中,可以采用下述公式(5)计算实际偏好值:In one embodiment, the actual preference value can be calculated using equation (5) below:
其中,λ为融合参数。Where λ is the fusion parameter.
子步骤S12,选取所述实际偏好值最大的前N个数据对象集合,作为与所述第一用户相关的目标数据对象集合,其中,N为正整数且N小于数据对象集合的数量。Sub-step S12, selecting the first N data object sets with the actual actual preference value as the target data object set related to the first user, where N is a positive integer and N is smaller than the number of data object sets.
在本申请实施例中,得到第一用户与每个数据对象集合的实际偏好值以后,可以将实际偏好值最大的前N个数据对象集合,作为与所述第一用户相关的目标数据对象集合,其中,N为正整数且N小于数据对象集合的数量。In the embodiment of the present application, after obtaining the actual preference value of the first user and each data object set, the first N data object sets having the largest actual preference value may be used as the target data object set related to the first user. Where N is a positive integer and N is less than the number of data object sets.
步骤103,从所述目标数据对象集合和所述针对所述访问请求确定的一个或多个数据对象中,选择向所述客户端发送至少一个数据对象。Step 103: Select to send at least one data object to the client from the target data object set and the one or more data objects determined for the access request.
在本申请实施例中,根据访问请求确定对应的一个或多个数据对象以及目标数据对象集合以后,可以从中选择至少一个数据对象发送至客户端,以在客户端中展现该选择的数据对象。In the embodiment of the present application, after determining the corresponding one or more data objects and the target data object set according to the access request, at least one data object may be selected and sent to the client to display the selected data object in the client.
在本申请实施例的一种优选实施例中,步骤103进一步可以包括如下子步骤:In a preferred embodiment of the embodiment of the present application,
子步骤S21,从所述目标数据对象集合和所述针对所述访问请求确定的一个或多个数据对象中,选择至少一个数据对象;Sub-step S21, selecting at least one data object from the target data object set and the one or more data objects determined for the access request;
子步骤S22,依据所述选择的数据对象生成目标页面;Sub-step S22, generating a target page according to the selected data object;
子步骤S23,将所述目标页面返回客户端。Sub-step S23, returning the target page to the client.
具体而言,当根据访问请求确定对应的一个或多个数据对象以及确定目标数据对象集合以后,可以从目标数据对象集合所包含的多个数据对象以及访问请求对应的一个或多个数据对象中,选择一个或多个数据对象,作为向第一用户展现的数据对象。在具体实现中,该选择的方式可以为随机选择或者按照预设的优先级策略进行选择,例如,优先选择 对应的数据对象,然后选择目标数据集合中的数据对象。Specifically, after determining the corresponding one or more data objects and determining the target data object set according to the access request, the plurality of data objects included in the target data object set and one or more data objects corresponding to the access request may be included. Select one or more data objects as data objects to be presented to the first user. In a specific implementation, the manner of selecting may be randomly selected or selected according to a preset priority policy, for example, priority selection. Corresponding data objects, then select the data objects in the target data collection.
随后,可以依据该选择的数据对象生成目标页面,并将该目标页面返回客户端,以在客户端中展现该目标页面。Subsequently, a target page may be generated according to the selected data object, and the target page is returned to the client to display the target page in the client.
例如,参考图1a所示的目标页面示意图,其中,该目标页面可以展现在移动终端的应用程序app客户端中,或者,该目标页面还可以展现在PC端或移动终端的浏览器客户端中。在客户端展现的目标页面10中,可以包括多个与访问请求对应的数据对象20以及多个与第一用户相关的数据对象集合30,每个数据对象集合30中可以包括多个数据对象20,使得目标页面展现的内容跟符合用户偏好。For example, refer to the target page diagram shown in FIG. 1a, wherein the target page may be displayed in an application app client of the mobile terminal, or the target page may also be displayed in a browser client of the PC or the mobile terminal. . In the
在本申请实施例中,第二用户可以预设一个或多个数据对象集合,当接收第一用户对应的客户端发送的第二用户关联的数据对象访问请求时,针对该请求确定一个或多个数据对象,以及,从所述多个数据对象集合中确定与第一用户相关的目标数据对象集合,并从目标数据对象集合和针对所述请求确定的一个或多个数据对象中,选择向客户端发送至少一个数据对象,使得第一用户对应的客户端所获得的数据对象更加符合第一用户偏好,实现精准的数据对象推送。In this embodiment, the second user may preset one or more data object sets, and when receiving the second user-associated data object access request sent by the client corresponding to the first user, determine one or more for the request. Data objects, and determining a target data object set associated with the first user from the plurality of data object sets, and selecting from the target data object set and one or more data objects determined for the request The client sends at least one data object, so that the data object obtained by the client corresponding to the first user is more consistent with the first user preference, and the accurate data object push is implemented.
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请实施例并不受所描述的动作顺序的限制,因为依据本申请实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本申请实施例所必须的。It should be noted that, for the method embodiments, for the sake of simple description, they are all expressed as a series of action combinations, but those skilled in the art should understand that the embodiments of the present application are not limited by the described action sequence, because In accordance with embodiments of the present application, certain steps may be performed in other sequences or concurrently. In the following, those skilled in the art should also understand that the embodiments described in the specification are all preferred embodiments, and the actions involved are not necessarily required in the embodiments of the present application.
参照图2,示出了本申请的一种数据对象推送的装置实施例的结构框图,可以包括如下模块:Referring to FIG. 2, a block diagram of a device embodiment of a data object push of the present application is shown, which may include the following modules:
访问请求接收模块201,用于接收第一用户对应的客户端发送的第二用户关联的数据对象访问请求,其中,所述第二用户具有关联的多个数
据对象,以及,依据所述多个数据对象确定的多个数据对象集合;The access
数据对象确定模块202,用于针对所述访问请求确定一个或多个数据对象;a data
目标数据对象集合确定模块203,用于从所述多个数据对象集合中,确定与所述第一用户相关的目标数据对象集合;a target data object set determining
数据对象发送模块204,用于从所述目标数据对象集合和所述针对所述访问请求确定的一个或多个数据对象中,选择向所述客户端发送至少一个数据对象。The data object sending
在本申请实施例的一种优选实施例中,所述目标数据对象集合确定模块203可以包括如下子模块:In a preferred embodiment of the embodiment of the present application, the target data object set determining
实际偏好确定子模块,用于分别确定所述第一用户与所述多个数据对象集合的实际偏好值;An actual preference determining submodule, configured to respectively determine an actual preference value of the first user and the plurality of data object sets;
目标数据对象集合选取子模块,用于选取所述实际偏好值最大的前N个数据对象集合,作为与所述第一用户相关的目标数据对象集合,其中,N为正整数且N小于数据对象集合的数量。a target data object set selection submodule, configured to select a top N data object set with the actual actual preference value as a target data object set related to the first user, where N is a positive integer and N is smaller than the data object The number of collections.
在本申请实施例的一种优选实施例中,所述实际偏好确定子模块进一步可以包括如下单元:In a preferred embodiment of the embodiment of the present application, the actual preference determining submodule may further include the following units:
预测偏好获取单元,用于分别获取所述多个数据对象集合的预测偏好值;a prediction preference acquiring unit, configured to separately acquire prediction preference values of the plurality of data object sets;
相关度计算单元,用于分别确定所述第一用户与所述数据对象集合的相关度;a correlation calculation unit, configured to respectively determine a correlation between the first user and the data object set;
纠正单元,用于针对每个数据对象集合,分别采用所述相关度对所述预测偏好值进行纠正,得到所述第一用户与所述数据对象集合的实际偏好值。And a correcting unit, configured to correct the predicted preference value by using the correlation degree for each data object set, to obtain an actual preference value of the first user and the data object set.
在本申请实施例的一种优选实施例中,所述预测偏好获取单元进一步可以包括如下子单元:In a preferred embodiment of the embodiment of the present application, the prediction preference acquiring unit may further include the following subunits:
集合特征向量获取子单元,用于分别获取所述数据对象集合的集合特征向量; a set feature vector obtaining subunit, configured to respectively acquire a set feature vector of the data object set;
用户特征向量获取子单元,用于获取全网用户的用户特征的特征值,并依据所述用户特征的特征值确定对应的用户特征向量;a user feature vector obtaining sub-unit, configured to acquire a feature value of a user feature of the user of the entire network, and determine a corresponding user feature vector according to the feature value of the user feature;
预测偏好计算子单元,用于分别将所述集合特征向量以及所述用户特征向量输入预置的预测模型,以获得所述数据对象集合的预测偏好值。And a prediction preference calculation subunit, configured to respectively input the set feature vector and the user feature vector into a preset prediction model to obtain a predicted preference value of the data object set.
在本申请实施例的一种优选实施例中,所述预测模型采用如下方式建立:In a preferred embodiment of the embodiment of the present application, the prediction model is established as follows:
获取所有访问所述第二用户的关联页面的访客在全网的访客特征向量;Obtaining a visitor feature vector of all visitors visiting the associated page of the second user in the entire network;
获取所述第二用户关联的数据对象的属性特征向量;Obtaining an attribute feature vector of the data object associated with the second user;
获取所有访问所述第二用户的关联页面的访客在所述关联页面中的访问行为数据,作为样本信息;Obtaining access behavior data of all visitors accessing the associated page of the second user in the associated page as sample information;
依据所述样本信息、所述属性特征向量以及所述访客特征向量进行建模,生成预测模型。Modeling is performed according to the sample information, the attribute feature vector, and the visitor feature vector to generate a predictive model.
在本申请实施例的一种优选实施例中,所述集合特征向量获取子单元还用于:In a preferred embodiment of the embodiment of the present application, the set feature vector obtaining subunit is further configured to:
获取所述数据对象集合中每个数据对象的属性特征的特征值和特征向量;Obtaining feature values and feature vectors of attribute features of each data object in the data object set;
对所述数据对象集合中所有数据对象的属性特征的特征值和特征向量进行汇总,获得所述数据对象集合的集合特征向量。And summarizing feature values and feature vectors of attribute features of all data objects in the data object set to obtain a set feature vector of the data object set.
在本申请实施例的一种优选实施例中,所述数据对象包括标题信息,所述相关度计算单元进一步可以包括如下子单元:In a preferred embodiment of the embodiment of the present application, the data object includes header information, and the relevance calculation unit may further include the following subunits:
集合词向量计算子单元,用于根据预置的词向量模型,分别计算所述数据对象集合的集合词向量;a set word vector calculation subunit, configured to separately calculate a set word vector of the data object set according to a preset word vector model;
意图词向量计算子单元,用于获取第一用户最近浏览的指定数量的数据对象,并基于所述指定数量的数据对象获取所述第一用户的意图词向量;An intent word vector calculation subunit, configured to acquire a specified number of data objects recently browsed by the first user, and acquire an intent word vector of the first user based on the specified number of data objects;
相似度计算子单元,用于分别计算所述意图词向量以及每个集合词向量的相似度,作为所述第一用户与对应的数据对象集合的相关度。 The similarity calculation subunit is configured to separately calculate the similarity of the intent word vector and each set word vector as the correlation between the first user and the corresponding data object set.
在本申请实施例的一种优选实施例中,所述数据对象发送模块204可以包括如下子模块:In a preferred embodiment of the embodiment of the present application, the data object sending
数据对象选择子模块,用于从所述目标数据对象集合和所述针对所述访问请求确定的一个或多个数据对象中,选择至少一个数据对象;a data object selection submodule, configured to select at least one data object from the target data object set and the one or more data objects determined for the access request;
目标页面生成子模块,用于依据所述选择的数据对象生成目标页面;a target page generating submodule, configured to generate a target page according to the selected data object;
目标页面返回子模块,用于将所述目标页面返回客户端。The target page returns a sub-module for returning the target page to the client.
在本申请实施例的一种优选实施例中,所述第一用户为买家用户,所述第二用户为卖家用户,所述第二用户关联的数据对象为卖家用户所售卖的商品,所述数据对象集合为同一店铺中具有关联关系的商品的组合。In a preferred embodiment of the embodiment of the present application, the first user is a buyer user, the second user is a seller user, and the data object associated with the second user is a product sold by the seller user. The data object set is a combination of items having an associated relationship in the same store.
对于装置实施例而言,由于其与上述方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。For the device embodiment, since it is basically similar to the above method embodiment, the description is relatively simple, and the relevant parts can be referred to the description of the method embodiment.
本申请实施例还提供了一种数据对象推送的系统,该数据对象推送的系统可以包括:The embodiment of the present application further provides a system for pushing a data object, and the system for pushing the data object may include:
一个或多个处理器;One or more processors;
存储器;和Memory; and
一个或多个模块,该一个或多个模块存储于存储器中并被配置成由一个或多个处理器执行,其中,该一个或多个模块具有如下功能:One or more modules, the one or more modules being stored in the memory and configured to be executed by one or more processors, wherein the one or more modules have the following functions:
接收第一用户对应的客户端发送的第二用户关联的数据对象访问请求,其中,所述第二用户具有关联的多个数据对象,以及,依据所述多个数据对象确定的多个数据对象集合;Receiving, by the client corresponding to the first user, a data object access request associated with the second user, wherein the second user has an associated plurality of data objects, and the plurality of data objects determined according to the plurality of data objects set;
针对所述访问请求确定一个或多个数据对象,以及,从所述多个数据对象集合中,确定与所述第一用户相关的目标数据对象集合;Determining one or more data objects for the access request, and determining, from the plurality of data object sets, a target data object set related to the first user;
从所述目标数据对象集合和所述针对所述访问请求确定的一个或多个数据对象中,选择向所述客户端发送至少一个数据对象。Selecting to transmit at least one data object to the client from the set of target data objects and the one or more data objects determined for the access request.
可选地,该一个或多个模块可以具有如下功能:Optionally, the one or more modules may have the following functions:
分别确定所述第一用户与所述多个数据对象集合的实际偏好值; Determining actual preference values of the first user and the plurality of data object sets respectively;
选取所述实际偏好值最大的前N个数据对象集合,作为与所述第一用户相关的目标数据对象集合,其中,N为正整数且N小于数据对象集合的数量。The first N data object sets having the largest actual preference value are selected as the target data object set related to the first user, where N is a positive integer and N is smaller than the number of data object sets.
可选地,该一个或多个模块可以具有如下功能:Optionally, the one or more modules may have the following functions:
分别获取所述多个数据对象集合的预测偏好值;Obtaining prediction preference values of the plurality of data object sets respectively;
分别确定所述第一用户与所述数据对象集合的相关度;Determining a correlation between the first user and the data object set respectively;
针对每个数据对象集合,分别采用所述相关度对所述预测偏好值进行纠正,得到所述第一用户与所述数据对象集合的实际偏好值。For each data object set, the prediction preference value is corrected by using the correlation degree, respectively, to obtain an actual preference value of the first user and the data object set.
可选地,该一个或多个模块可以具有如下功能:Optionally, the one or more modules may have the following functions:
分别获取所述数据对象集合的集合特征向量;Obtaining a set feature vector of the data object set respectively;
获取全网用户的用户特征的特征值,并依据所述用户特征的特征值确定对应的用户特征向量;Obtaining a feature value of a user feature of the network user, and determining a corresponding user feature vector according to the feature value of the user feature;
分别将所述集合特征向量以及所述用户特征向量输入预置的预测模型,以获得所述数据对象集合的预测偏好值。The set feature vector and the user feature vector are respectively input into a preset prediction model to obtain a predicted preference value of the data object set.
可选地,该一个或多个模块可以具有如下功能:Optionally, the one or more modules may have the following functions:
获取所有访问所述第二用户的关联页面的访客在全网的访客特征向量;Obtaining a visitor feature vector of all visitors visiting the associated page of the second user in the entire network;
获取所述第二用户关联的数据对象的属性特征向量;Obtaining an attribute feature vector of the data object associated with the second user;
获取所有访问所述第二用户的关联页面的访客在所述关联页面中的访问行为数据,作为样本信息;Obtaining access behavior data of all visitors accessing the associated page of the second user in the associated page as sample information;
依据所述样本信息、所述属性特征向量以及所述访客特征向量进行建模,生成预测模型。Modeling is performed according to the sample information, the attribute feature vector, and the visitor feature vector to generate a predictive model.
可选地,该一个或多个模块可以具有如下功能:Optionally, the one or more modules may have the following functions:
获取所述数据对象集合中每个数据对象的属性特征的特征值和特征向量;Obtaining feature values and feature vectors of attribute features of each data object in the data object set;
对所述数据对象集合中所有数据对象的属性特征的特征值和特征向量进行汇总,获得所述数据对象集合的集合特征向量。And summarizing feature values and feature vectors of attribute features of all data objects in the data object set to obtain a set feature vector of the data object set.
可选地,该一个或多个模块可以具有如下功能: Optionally, the one or more modules may have the following functions:
根据预置的词向量模型,分别计算所述数据对象集合的集合词向量;Calculating a set word vector of the data object set according to a preset word vector model;
获取第一用户最近浏览的指定数量的数据对象,并基于所述指定数量的数据对象获取所述第一用户的意图词向量;Obtaining a specified number of data objects that the first user recently browsed, and acquiring an intent word vector of the first user based on the specified number of data objects;
分别计算所述意图词向量以及每个集合词向量的相似度,作为所述第一用户与对应的数据对象集合的相关度。The intent word vector and the similarity of each set word vector are respectively calculated as the degree of correlation between the first user and the corresponding data object set.
可选地,该一个或多个模块可以具有如下功能:Optionally, the one or more modules may have the following functions:
从所述目标数据对象集合和所述针对所述访问请求确定的一个或多个数据对象中,选择至少一个数据对象;Selecting at least one data object from the set of target data objects and the one or more data objects determined for the access request;
依据所述选择的数据对象生成目标页面;Generating a target page according to the selected data object;
将所述目标页面返回客户端。Return the target page to the client.
可选地,所述第一用户为买家用户,所述第二用户为卖家用户,所述第二用户关联的数据对象为卖家用户所售卖的商品,所述数据对象集合为同一店铺中具有关联关系的商品的组合。Optionally, the first user is a buyer user, the second user is a seller user, and the data object associated with the second user is an item sold by a seller user, and the data object set is in the same store. A combination of items of related relationships.
图3是本申请实施例提供的一种服务器结构示意图。该服务器300可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(central processing units,CPU)322(例如,一个或一个以上处理器)和存储器332,一个或一个以上存储应用程序342或数据344的存储介质330(例如一个或一个以上海量存储设备)。其中,存储器332和存储介质330可以是短暂存储的或持久存储的。存储在存储介质330的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器322可以设置为与存储介质330通信,在服务器300上执行存储介质330中的一系列指令操作。FIG. 3 is a schematic structural diagram of a server provided by an embodiment of the present application. The
服务器300还可以包括一个或一个以上电源326,一个或一个以上有线或无线网络接口350,一个或一个以上输入输出接口358,一个或一个以上键盘356,和/或,一个或一个以上操作系统341,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
一方面,中央处理器322可以在服务器300上执行以下操作的指令:In one aspect,
接收第一用户对应的客户端发送的第二用户关联的数据对象访问请求,其中,所述第二用户具有关联的多个数据对象,以及,依据所述多个数据对象确定的多个数据对象集合;Receiving, by the client corresponding to the first user, a data object access request associated with the second user, wherein the second user has an associated plurality of data objects, and the plurality of data objects determined according to the plurality of data objects set;
针对所述访问请求确定一个或多个数据对象,以及,从所述多个数据对象集合中,确定与所述第一用户相关的目标数据对象集合;Determining one or more data objects for the access request, and determining, from the plurality of data object sets, a target data object set related to the first user;
从所述目标数据对象集合和所述针对所述访问请求确定的一个或多个数据对象中,选择向所述客户端发送至少一个数据对象。Selecting to transmit at least one data object to the client from the set of target data objects and the one or more data objects determined for the access request.
可选地,中央处理器322还可以在服务器300上执行以下操作的指令:Alternatively, the
分别确定所述第一用户与所述多个数据对象集合的实际偏好值;Determining actual preference values of the first user and the plurality of data object sets respectively;
选取所述实际偏好值最大的前N个数据对象集合,作为与所述第一用户相关的目标数据对象集合,其中,N为正整数且N小于数据对象集合的数量。The first N data object sets having the largest actual preference value are selected as the target data object set related to the first user, where N is a positive integer and N is smaller than the number of data object sets.
可选地,中央处理器322还可以在服务器300上执行以下操作的指令:Alternatively, the
分别获取所述多个数据对象集合的预测偏好值;Obtaining prediction preference values of the plurality of data object sets respectively;
分别确定所述第一用户与所述数据对象集合的相关度;Determining a correlation between the first user and the data object set respectively;
针对每个数据对象集合,分别采用所述相关度对所述预测偏好值进行纠正,得到所述第一用户与所述数据对象集合的实际偏好值。For each data object set, the prediction preference value is corrected by using the correlation degree, respectively, to obtain an actual preference value of the first user and the data object set.
可选地,中央处理器322还可以在服务器300上执行以下操作的指令:Alternatively, the
分别获取所述数据对象集合的集合特征向量;Obtaining a set feature vector of the data object set respectively;
获取全网用户的用户特征的特征值,并依据所述用户特征的特征值确定对应的用户特征向量;Obtaining a feature value of a user feature of the network user, and determining a corresponding user feature vector according to the feature value of the user feature;
分别将所述集合特征向量以及所述用户特征向量输入预置的预测模型,以获得所述数据对象集合的预测偏好值。The set feature vector and the user feature vector are respectively input into a preset prediction model to obtain a predicted preference value of the data object set.
可选地,中央处理器322还可以在服务器300上执行以下操作的指令:Alternatively, the
获取所有访问所述第二用户的关联页面的访客在全网的访客特征向量; Obtaining a visitor feature vector of all visitors visiting the associated page of the second user in the entire network;
获取所述第二用户关联的数据对象的属性特征向量;Obtaining an attribute feature vector of the data object associated with the second user;
获取所有访问所述第二用户的关联页面的访客在所述关联页面中的访问行为数据,作为样本信息;Obtaining access behavior data of all visitors accessing the associated page of the second user in the associated page as sample information;
依据所述样本信息、所述属性特征向量以及所述访客特征向量进行建模,生成预测模型。Modeling is performed according to the sample information, the attribute feature vector, and the visitor feature vector to generate a predictive model.
可选地,中央处理器322还可以在服务器300上执行以下操作的指令:Alternatively, the
获取所述数据对象集合中每个数据对象的属性特征的特征值和特征向量;Obtaining feature values and feature vectors of attribute features of each data object in the data object set;
对所述数据对象集合中所有数据对象的属性特征的特征值和特征向量进行汇总,获得所述数据对象集合的集合特征向量。And summarizing feature values and feature vectors of attribute features of all data objects in the data object set to obtain a set feature vector of the data object set.
可选地,中央处理器322还可以在服务器300上执行以下操作的指令:Alternatively, the
根据预置的词向量模型,分别计算所述数据对象集合的集合词向量;Calculating a set word vector of the data object set according to a preset word vector model;
获取第一用户最近浏览的指定数量的数据对象,并基于所述指定数量的数据对象获取所述第一用户的意图词向量;Obtaining a specified number of data objects that the first user recently browsed, and acquiring an intent word vector of the first user based on the specified number of data objects;
分别计算所述意图词向量以及每个集合词向量的相似度,作为所述第一用户与对应的数据对象集合的相关度。The intent word vector and the similarity of each set word vector are respectively calculated as the degree of correlation between the first user and the corresponding data object set.
可选地,中央处理器322还可以在服务器300上执行以下操作的指令:Alternatively, the
从所述目标数据对象集合和所述针对所述访问请求确定的一个或多个数据对象中,选择至少一个数据对象;Selecting at least one data object from the set of target data objects and the one or more data objects determined for the access request;
依据所述选择的数据对象生成目标页面;Generating a target page according to the selected data object;
将所述目标页面返回客户端。Return the target page to the client.
可选地,所述第一用户为买家用户,所述第二用户为卖家用户,所述第二用户关联的数据对象为卖家用户所售卖的商品,所述数据对象集合为同一店铺中具有关联关系的商品的组合。Optionally, the first user is a buyer user, the second user is a seller user, and the data object associated with the second user is an item sold by a seller user, and the data object set is in the same store. A combination of items of related relationships.
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。 The various embodiments in the present specification are described in a progressive manner, and each embodiment focuses on differences from other embodiments, and the same similar parts between the various embodiments can be referred to each other.
本领域内的技术人员应明白,本申请实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本申请实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。Those skilled in the art will appreciate that embodiments of the embodiments of the present application can be provided as a method, apparatus, or computer program product. Therefore, the embodiments of the present application may take the form of an entirely hardware embodiment, an entirely software embodiment, or an embodiment combining software and hardware. Moreover, embodiments of the present application can take the form of a computer program product embodied on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) including computer usable program code.
本申请实施例是参照根据本申请实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序操作指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序操作指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的操作指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。Embodiments of the present application are described with reference to flowcharts and/or block diagrams of methods, terminal devices (systems), and computer program products according to embodiments of the present application. It will be understood that each flow and/or block of the flowchart illustrations and/or FIG. These computer program operating instructions may be provided to a processor of a general purpose computer, special purpose computer, embedded processor or other programmable data processing terminal device to produce a machine for execution by a processor of a computer or other programmable data processing terminal device The operational instructions generate means for implementing the functions specified in one or more of the flow or in a block or blocks of the flowchart.
这些计算机程序操作指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的操作指令产生包括操作指令装置的制造品,该操作指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。The computer program operating instructions may also be stored in a computer readable memory that can direct a computer or other programmable data processing terminal device to operate in a particular manner, such that operational instructions stored in the computer readable memory produce manufacturing including the operational command device The operation instruction means implements the functions specified in one block or a plurality of blocks of a flow or a flow and/or a block diagram of the flowchart.
这些计算机程序操作指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的操作指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。These computer program operating instructions can also be loaded onto a computer or other programmable data processing terminal device such that a series of operational steps are performed on the computer or other programmable terminal device to produce computer-implemented processing, such that the computer or other programmable terminal The operational instructions executed on the device provide steps for implementing the functions specified in one or more blocks of the flowchart or in a flow or block of the flowchart.
尽管已描述了本申请实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请实施例 范围的所有变更和修改。While a preferred embodiment of the embodiments of the present application has been described, those skilled in the art can make further changes and modifications to the embodiments once they are aware of the basic inventive concept. Therefore, the appended claims are intended to be construed as including the preferred embodiments and the embodiments of the present application All changes and modifications to the scope.
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。Finally, it should also be noted that in this context, relational terms such as first and second are used merely to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply these entities. There is any such actual relationship or order between operations. Furthermore, the terms "comprises" or "comprising" or "comprising" or any other variations are intended to encompass a non-exclusive inclusion, such that a process, method, article, or terminal device that includes a plurality of elements includes not only those elements but also Other elements that are included, or include elements inherent to such a process, method, article, or terminal device. An element defined by the phrase "comprising a ..." does not exclude the presence of additional identical elements in the process, method, article, or terminal device that comprises the element, without further limitation.
以上对本申请所提供的一种数据对象推送的方法、装置及系统进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。 The method, device and system for pushing a data object provided by the present application are described in detail above. The principle and implementation manner of the present application are described in the specific examples. The description of the above embodiment is only used to help understanding The method of the present application and its core idea; at the same time, for those of ordinary skill in the art, according to the idea of the present application, there will be changes in the specific implementation manner and application scope. In summary, the content of this specification should not be It is understood to be a limitation on the present application.
Claims (19)
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201610581054.0 | 2016-07-21 | ||
| CN201610581054.0A CN107644036B (en) | 2016-07-21 | 2016-07-21 | Method, device and system for pushing data object |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2018014771A1 true WO2018014771A1 (en) | 2018-01-25 |
Family
ID=60991981
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/CN2017/092743 Ceased WO2018014771A1 (en) | 2016-07-21 | 2017-07-13 | Data object pushing method, device and system |
Country Status (3)
| Country | Link |
|---|---|
| CN (1) | CN107644036B (en) |
| TW (1) | TW201804400A (en) |
| WO (1) | WO2018014771A1 (en) |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN110517099A (en) * | 2018-05-22 | 2019-11-29 | 北京京东尚科信息技术有限公司 | Method and apparatus for determining joint supply side |
| CN110324370B (en) * | 2018-03-29 | 2023-05-30 | 北京京东尚科信息技术有限公司 | Method and device for pushing data to client by server |
| CN116821791A (en) * | 2023-06-14 | 2023-09-29 | 杭州星云智慧科技有限公司 | Label value determining method and device |
Families Citing this family (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN110109901B (en) * | 2018-02-02 | 2024-05-24 | 北京京东尚科信息技术有限公司 | Method and device for screening target object |
| CN108898067B (en) * | 2018-06-06 | 2021-04-30 | 北京京东尚科信息技术有限公司 | Method and device for determining association degree of person and object and computer-readable storage medium |
| CN110147882B (en) * | 2018-09-03 | 2023-02-10 | 腾讯科技(深圳)有限公司 | Neural network model training method, crowd diffusion method, device and equipment |
| CN110032860B (en) * | 2018-12-27 | 2020-07-28 | 阿里巴巴集团控股有限公司 | Login mode pushing and displaying method, device and equipment |
| CN111724221B (en) * | 2019-03-19 | 2024-07-19 | 北京京东尚科信息技术有限公司 | Method, system, electronic device and storage medium for determining commodity matching information |
| CN110378749B (en) * | 2019-07-25 | 2023-09-26 | 深圳前海微众银行股份有限公司 | Client similarity assessment method, device, terminal equipment and storage medium |
| CN113379436B (en) * | 2020-03-09 | 2024-11-01 | 阿里巴巴集团控股有限公司 | Information processing method, device, computing equipment and medium |
| CN112000884B (en) * | 2020-08-13 | 2024-09-10 | 腾讯音乐娱乐科技(深圳)有限公司 | User content recommendation method and device, server and storage medium |
| US11977728B1 (en) * | 2022-12-22 | 2024-05-07 | Lifetrack Medical Systems Private Ltd. | Interface-integrated permissions configuration |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN101408960A (en) * | 2007-10-12 | 2009-04-15 | 阿里巴巴集团控股有限公司 | Method and apparatus for recommendation of personalized information |
| CN102340514A (en) * | 2010-07-15 | 2012-02-01 | 腾讯科技(北京)有限公司 | Network information push method and system |
| US20120253917A1 (en) * | 2011-03-28 | 2012-10-04 | Samsung Electronics Co., Ltd | Method and apparatus for managing and providing user purchase information |
| CN105450586A (en) * | 2014-07-24 | 2016-03-30 | 阿里巴巴集团控股有限公司 | Information pushing method and system, server and client |
| CN105590220A (en) * | 2014-10-24 | 2016-05-18 | 无锡蓝阳谐波科技有限公司 | Push display method and apparatus for internet commodity |
Family Cites Families (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN101853463A (en) * | 2009-03-30 | 2010-10-06 | 北京邮电大学 | Collaborative filtering recommendation method and system based on customer characteristics |
| US8433710B2 (en) * | 2010-09-09 | 2013-04-30 | Ebay Inc. | Sizing content recommendation system |
| CN102663627A (en) * | 2012-04-26 | 2012-09-12 | 焦点科技股份有限公司 | Personalized recommendation method |
| CN103425677B (en) * | 2012-05-18 | 2016-08-24 | 阿里巴巴集团控股有限公司 | Keyword classification model determines method, keyword classification method and device |
| CN104866474B (en) * | 2014-02-20 | 2018-10-09 | 阿里巴巴集团控股有限公司 | Individuation data searching method and device |
| US9817903B2 (en) * | 2014-11-25 | 2017-11-14 | Ebay Inc. | Methods and systems for social network based content recommendations |
-
2016
- 2016-07-21 CN CN201610581054.0A patent/CN107644036B/en active Active
-
2017
- 2017-06-06 TW TW106118715A patent/TW201804400A/en unknown
- 2017-07-13 WO PCT/CN2017/092743 patent/WO2018014771A1/en not_active Ceased
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN101408960A (en) * | 2007-10-12 | 2009-04-15 | 阿里巴巴集团控股有限公司 | Method and apparatus for recommendation of personalized information |
| CN102340514A (en) * | 2010-07-15 | 2012-02-01 | 腾讯科技(北京)有限公司 | Network information push method and system |
| US20120253917A1 (en) * | 2011-03-28 | 2012-10-04 | Samsung Electronics Co., Ltd | Method and apparatus for managing and providing user purchase information |
| CN105450586A (en) * | 2014-07-24 | 2016-03-30 | 阿里巴巴集团控股有限公司 | Information pushing method and system, server and client |
| CN105590220A (en) * | 2014-10-24 | 2016-05-18 | 无锡蓝阳谐波科技有限公司 | Push display method and apparatus for internet commodity |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN110324370B (en) * | 2018-03-29 | 2023-05-30 | 北京京东尚科信息技术有限公司 | Method and device for pushing data to client by server |
| CN110517099A (en) * | 2018-05-22 | 2019-11-29 | 北京京东尚科信息技术有限公司 | Method and apparatus for determining joint supply side |
| CN116821791A (en) * | 2023-06-14 | 2023-09-29 | 杭州星云智慧科技有限公司 | Label value determining method and device |
Also Published As
| Publication number | Publication date |
|---|---|
| CN107644036A (en) | 2018-01-30 |
| CN107644036B (en) | 2021-06-29 |
| TW201804400A (en) | 2018-02-01 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| WO2018014771A1 (en) | Data object pushing method, device and system | |
| US10783361B2 (en) | Predictive analysis of target behaviors utilizing RNN-based user embeddings | |
| US9563705B2 (en) | Re-ranking results in a search | |
| US9767417B1 (en) | Category predictions for user behavior | |
| US12050657B2 (en) | Retrieval of content using link-based search | |
| WO2018196424A1 (en) | Recommendation method and apparatus | |
| US9767204B1 (en) | Category predictions identifying a search frequency | |
| CN111967924A (en) | Commodity recommendation method, commodity recommendation device, computer device, and medium | |
| WO2020221022A1 (en) | Service object recommendation method | |
| CN110264277B (en) | Data processing method and device executed by computing equipment, medium and computing equipment | |
| US10474670B1 (en) | Category predictions with browse node probabilities | |
| US20150278858A1 (en) | Method and system for producing segment indexes | |
| US10387934B1 (en) | Method medium and system for category prediction for a changed shopping mission | |
| US11062371B1 (en) | Determine product relevance | |
| CN111770125A (en) | Method and apparatus for pushing information | |
| CN112070542A (en) | Information conversion rate prediction method, apparatus, device and readable storage medium | |
| JP6865706B2 (en) | Information processing equipment, information processing methods, and information processing programs | |
| TWI639093B (en) | Object set and processing method and device thereof | |
| CN110110199B (en) | Information output method and device | |
| CN116049531B (en) | Method and device for determining associated applications, method and device for determining recommended content | |
| CN116720919A (en) | Article recommendation method, device, equipment and storage medium | |
| CN119295190B (en) | An intelligent product selection management method and system based on machine learning | |
| TWI867783B (en) | Method, apparatus, and recording medium for searching products | |
| JP6007300B1 (en) | Calculation device, calculation method, and calculation program | |
| CN114036389B (en) | Object recommendation method, recommendation model training method and device |
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: 17830405 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: 17830405 Country of ref document: EP Kind code of ref document: A1 |