Some embodiments include a method of generating a compatibility score for a grouping of objects based on correlations between attributes of the objects. An example grouping is a pair of user and ad. The method may be implemented using a multi-threaded pipeline architecture that utilizes a learning model to compute the compatibility score. The learning model determines correlations between a first object's attributes (e.g., user's liked pages, user demographics, user's apps installed, pixels visited, etc.) and a second object's attributes (e.g., expressed or implied). Example expressed attributes can be targeting keywords; example implied attributes can be object IDs associated with the ad.
Please help me write a proper abstract based on the patent claims. CLAIM: 1. A computer-implemented method of generating a compatibility score for a grouping of objects based on correlations between attributes of the objects, comprising: receiving multiple datasets including a first dataset and a second dataset, the first dataset including a first attribute associated with a first object, a second attribute associated with a second object, and a label indicative of a correlation between the first and second objects, the second dataset including a third attribute, a fourth attribute, and the label indicative of the correlation between the first and second objects; processing each of the first and second datasets in multiple stages to update weight values of a weight matrix, a selected stage of the multiple stages having a set of data independent processing instances that are capable of parallel execution, thereby enabling the selected stage to be multi-threaded in processing the first and second datasets; and generating the compatibility score for the grouping of the first and second objects based on the weight matrix. 2. The computer-implemented method of claim 1, wherein processing each of the first and second datasets in multiple stages comprises: at each stage, facilitating passing of an output from at least one of the data processing instances by caching the output in a processing queue for access by another data processing operator instance as an input for processing in a next stage of the multiple stages; wherein the output is associated with any of the first dataset or the second dataset that has finished processing by the at least one processing instance. 3. The computer-implemented method of claim 1, wherein at least one weight value of the weight matrix is updated based on any of a function of the first and second attributes in the first dataset or a function of the third and fourth attributes in the second dataset. 4. The computer-implemented method of claim 1, further comprising: prior to receiving the multiple datasets, receiving a first feature vector of attributes associated with the first object, a second feature vector of attributes associated with the second object, and the label; generating the multiple datasets by compiling the first feature vector of attributes, the second feature vector of attributes, and the label into a data structure, wherein each dataset is a data row of the data structure; shuffling the multiple datasets within the data structure; and loading the multiple datasets for generating the compatibility score. 5. The computer-implemented method of claim 1, wherein the first object is a user of a social networking server and the second object is an ad. 6. The computer-implemented method of claim 5, wherein the first attribute is a demographic datum; wherein the second attribute is a targeting keyword associated with the ad; and wherein the first correlation is whether the user with the demographic datum has had an interaction with the targeting keyword associated with the ad. 7. The computer-implemented method of claim 5, wherein the third attribute is a page like; wherein the fourth attribute is an object ID associated with the ad; and wherein the second correlation is whether the user with the page like has had an interaction with the object ID associated with the ad. 8. The computer-implemented method of claim 5, wherein the first attribute comprises any of demographic data, page likes, installed apps, or visited pixels; and wherein the second attribute comprises any of targeting keywords or object IDs associated with the ad. 9. The computer-implemented method of claim 1, wherein the label is a binary value. 10. The computer-implemented method of claim 1, wherein the label is a real value specifying a level of correlation. 11. A system for training a model structure for compatibility prediction between objects, comprising: a first engine having a first set of processors configured to concurrently process multiple datasets associated with a first and second objects, each individual dataset of the multiple datasets including a first attribute associated with the first object, a second attribute associated with the second object, and a label indicative of a correlation between the first and second objects, at least some of the first set of processors configured to generate a resulting output corresponding to a respective individual dataset processed by the processor; and a second engine having a second set of processors configured to: generate a scoring function for determining a compatibility score between the first and second objects based on the multiple datasets; and update weight values of a weight set associated with a scoring function for determining a compatibility score between the first and second objects based on the multiple datasets; wherein the second set of processors is further configured to update the weight values concurrently by processing resulting outputs from the first set of processors; wherein any one resulting output is capable of being processed by any one processor of the second set of processors. 12. The system of claim 11, wherein the first engine comprises a loader engine, a parser engine, and a dictionary engine; and wherein the first set of processors comprises a first subset of processors, a second subset of processors, and a third subset of processors, the first subset of processors corresponding to the loader engine, the second subset of processors corresponding to the parser engine, and the third subset of processors corresponding to the dictionary engine. 13. The system of claim 12, wherein the first subset of processors of the loader engine is configured to: load the multiple datasets from a data warehouse into the system in parallel; and store individual datasets of the multiple datasets in a first processing queue for accessing by the second subset of processors. 14. The system of claim 13, wherein the second subset of processors of the parser engine is configured to: retrieve, in parallel, the individual datasets from the first processing queue; and parse, in parallel, the individual datasets for generating a data structure; wherein any individual dataset is capable of being retrieved, parsed, or stored by any one processor of the second subset of processors; wherein the data structure is stored in a second processing queue. 15. The system of claim 14, wherein the third subset of processors of the dictionary engine is configured to: retrieve, in parallel, individual data instances of the data structure from the second processing queue; and map, in parallel, the individual data instances to dense representations of the first object and the second object, respectively; wherein any one individual data instance is capable of being mapped by any one processor of the third subset of processors; wherein the dense representations are stored in a third processing queue. 16. The system of claim 11, wherein the second engine comprises a learning engine and an evaluation engine; and wherein the second set of processors comprises a fourth subset of processors and a fifth subset of processors, the fourth subset of processors corresponding to the learning engine and the fifth subset of processors corresponding to the evaluation engine. 17. The system of claim 16, wherein the fourth subset of processors of the learning engine is configured to: to compute a gradient associated with the multiple datasets, wherein the gradient is computed as a function of attributes corresponding to the first and second objects, respectively; to update weight values of a weight set associated with the compatibility score based on the gradient, wherein the scoring function is a function of the weight values; and wherein the fifth subset of processors of the evaluation engine is configured to: to evaluate computational losses associated with the scoring function; and to generate the compatibility score using the scoring function with the computational losses. 18. A computer server system, comprising: a memory storage device having executable instructions to implement: a training interface configured to receive multiple datasets including a first feature vector of attributes associated with a first object, a second feature vector of attributes associated with a second object, and a label indicative of a correlation between the first and second objects; wherein the multiple datasets include at least a first dataset and a second dataset, the first dataset including a first attribute associated with the first object, a second attribute associated with the second object, and the label; and a model training system configured to: set initial parameters of a scoring function; iterate, using the scoring function, through the multiple datasets for updating weight values of a weight matrix associated with the attributes corresponding to the first and second feature vectors; and generate a compatibility score between the first object and the second object based on the weight matrix; wherein the first feature vector of attributes is a different type from the second feature vector of attributes. 19. The computer server system of claim 18, wherein the executable instructions further comprise instructions to implement: a production interface configured to receive a third feature vector of attributes associated with a query object, wherein a compatible object corresponding to the query object is unknown to the computer server system; a production engine configured to: analyze the third feature vector of attributes to identify the first object as a correlated object having substantially similar attributes based on a comparison of the first feature vector and the third feature vector; responsive to the first object having the substantially similar attributes, identify the second object as the compatible object for the query object based on the compatibility score between the first object and the second object, and outputting the second object for presentation via the production interface. 20. The computer server system of claim 18, wherein the executable instructions further comprise instructions to implement: a production interface configured to receive a third feature vector of attributes associated with a query object, wherein a compatible object corresponding to the query object is unknown to the computer server system; a production engine configured to: analyze the third feature vector of attributes to identify the first object as a correlated object having substantially similar attributes based on a comparison of the first feature vector and the third feature vector; responsive to the first object having the substantially similar attributes, identify a set of potential objects as potential compatible objects for the query object based on a set of compatibility scores, each compatibility score corresponding to a particular compatibility score generated for the first object and each of the set of potential objects, and rank the set of potential objects based on the set of compatibility scores.