Few-shot learning for multitask recommendation systems

The recommender system addresses data sparsity and dynamic contexts in B2B scenarios by integrating web crawling, third-party data, and few-shot learning to enhance recommendation accuracy and adaptability.

JP7767193B2Active Publication Date: 2025-11-11ACCENTURE GLOBAL SERVICES LTD
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
JP2022042296
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2021-03-22
Filing Date
2022-03-17
Publication Date
2025-11-11
Estimated Expiration
2042-03-17

AI Technical Summary

Technical Problem

Traditional recommender systems in business-to-business contexts face challenges such as lack of automatic company profiling, data sparseness, cold-start issues, and inability to adapt to dynamic contextual changes, leading to suboptimal recommendations and inaccurate predictions.

Method used

Implementations include a recommender system that utilizes web crawling, third-party data connectors, and few-shot learning to generate latent vectors and context vectors, integrating them through a multi-task loss function to provide entity-specific recommendations, leveraging multimodal embeddings and autoencoders for context integration.

Benefits of technology

The system enhances recommendation accuracy by enriching data, addressing data sparsity and dynamic contexts, enabling effective recommendations even with limited interaction history, and optimizing for multiple objectives.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007767193000001
    Figure 0007767193000001
  • Figure 0007767193000002
    Figure 0007767193000002
  • Figure 0007767193000003
    Figure 0007767193000003
Patent Text Reader

Abstract

To enable rapid integration of recommendation solutions.SOLUTION: A method includes: receiving a set of tuples, each tuple including an entity and a product from a set of products; for each tuple generating, by an embedding module, a total latent vector as input to a recommender network, the total latent vector being generated based on a structural vector, a text vector, and a category vector, each generated based on a product profile of a respective product and an entity profile of the entity; generating, by a context integration module, a latent context vector based on a context vector representative of a context of the entity; inputting the total latent vector and the latent context vector to the recommender network, the recommender network being trained by few-shot learning using a multi-task loss function; and generating, by the recommender network, a prediction including a set of recommendations specific to the entity.SELECTED DRAWING: Figure 7
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] Technical Field This application relates generally to a recommender system that enables rapid integration of recommended solutions and a computer-implemented method for providing recommendations from a computer-implemented recommender system.

[0002] CROSS-REFERENCE TO RELATED APPLICATIONS This application claims priority to U.S. Provisional Patent Application No. 63 / 164,152, filed March 22, 2021, the entire disclosure of which is expressly incorporated herein by reference. [Background technology]

[0003] Businesses conduct business in connected environments that may include networks of multiple businesses and customers. For example, businesses may operate in a business-to-business (B2B) context, where businesses provide goods and / or services to other businesses, among other contexts. Businesses utilize technology to support their ongoing operations. An example technology is a computer-implemented recommender system (also known as a recommendation system) that takes input data and provides output data representing one or more recommendations. For example, a business can utilize a recommender system to identify products and / or services that may be relevant to its business (e.g., in a B2B context, products / services that a business can procure from other businesses). Traditionally, recommender systems are implemented as machine learning (ML) systems that process input data through one or more ML models and provide output data representing one or more recommendations. However, traditional recommender systems suffer from technical shortcomings.

[0004] For example, recommender systems do not support automatic company profiling; instead, they rely on static and incomprehensive third-party data sources. This results in inaccurate ML model performance and suboptimal recommendations. Another example is data sparseness. For example, traditional recommender systems rely on large amounts of training data representing the history of product-customer interactions (i.e., products purchased by customers), but such training data can be scarce, incomplete, and / or noisy. Traditional ML models can be prone to overfitting due to incomplete and noisy training data, resulting in suboptimal predictions. This highlights the so-called cold-start problem: a recommender system cannot draw any inferences about customers or products for which sufficient training data has not yet been collected. Furthermore, B2B recommendation scenarios often involve contextual changes in technical, organizational, and market influences that can significantly affect predictions. ML models in traditional recommender systems do not incorporate this dynamic context, resulting in suboptimal ML models. As yet another example, in a B2B context, requirements are highly dynamic (e.g., brand promotion, product cross-selling / up-selling, etc.), and traditional recommender systems are unable or have limited ability to provide recommendations based on different optimization goals and scenarios (e.g., contribution margin, coverage, revenue, etc.) and / or combinations thereof. Summary of the Invention [Means for solving the problem]

[0005] Implementations of the present disclosure are generally directed to recommender systems that enable rapid integration of recommendation solutions, and in particular, to recommender systems that enable web crawling and utilization of third-party data connectors, perform machine learning (ML) model training, and build ML or deep learning (DL) models for various recommendation use cases in business-to-business (B2B) contexts.

[0006] In some implementations, the actions include receiving a set of tuples, each tuple including an entity and a product from a set of products; generating, for each tuple, by an embedding module, a total latent vector as input to a recommender network, the total latent vector being generated based on a structure vector, a text vector, and a category vector, each generated based on a product profile of the individual product and an entity profile of the entity; generating, by a context integration module, a latent context vector based on a context vector representing a context of the entity; and inputting the total latent vector and the latent context vector to the recommender network, the recommender network being trained using few-shot learning with a multi-task loss function; and generating, by the recommender network, a prediction including a set of entity-specific recommendations. Other implementations of this aspect include corresponding systems, apparatuses, and computer programs configured to perform the actions of the methods and encoded on a computer storage device.

[0007] Each of these and other implementations may optionally include one or more of the following features: the recommender network includes multiple output layers, each output layer corresponding to a distinct task and including parameters optimized for the distinct task during few-shot learning; the multi-task loss function includes a set of loss functions, each loss function corresponding to a distinct task in the set of tasks; the recommender network includes a concatenation layer that concatenates the total latent vector and the latent context vector to provide a concatenation vector that is processed through the set of intermediate layers; the embedding module includes a structural embedding module that generates structural vectors for distinct tuples by processing structural data of the product profile and the entity profile; the embedding module includes a structural embedding module that embeds structural data of the product profile and the entity profile. the embedding module includes an encoding module that generates category vectors for the individual tuples by processing categorical data of the product profile and the entity profile; generating the latent context vector includes inputting the context vector to an autoencoder and outputting the latent context vector from an intermediate layer of the autoencoder; the latent context vector has fewer dimensions than the context vector; and the total latent vector is further based on an offset vector that serves as a baseline representation of the entity.

[0008] It should be understood that methods according to the present disclosure can include any combination of the aspects and features described herein, that is, by way of example, the apparatus and methods according to the present disclosure are not limited to the combinations of aspects and features specifically described herein, but can also include any combination of the aspects and features shown.

[0009] The details of one or more implementations of the disclosure are set forth in the accompanying drawings and the description below. Other features and advantages of the disclosure will become apparent from the description, drawings, and claims. [Brief explanation of the drawings]

[0010] [Figure 1] 1 illustrates an example system in which implementations of the present disclosure can be performed. [Figure 2A] 1 illustrates an example conceptual architecture including a recommender system according to an implementation of the present disclosure. [Figure 2B] 1 illustrates a conceptual representation of few-shot learning according to an implementation of the present disclosure. [Figure 3] 1 illustrates an example conceptual architecture representing multimodal embedding according to implementations of the present disclosure. [Figure 4] 10 illustrates an example representation of a selection of a latent context vector for context integration according to an implementation of the present disclosure. [Figure 5] 1 illustrates a conceptual representation of a multi-task recommender network according to an implementation of the present disclosure. [Figure 6] 1 illustrates a representation of a recommendation workflow according to an implementation of the present disclosure. [Figure 7] 1 illustrates an example process according to an implementation of the present disclosure. DETAILED DESCRIPTION OF THE INVENTION

[0011] The same reference numbers and designations in the various drawings indicate like elements.

[0012] Implementations of the present disclosure are generally directed to recommender systems that enable rapid integration of recommendation solutions. In particular, implementations of the present disclosure are directed to recommender systems that enable web crawling and utilization of third-party data connectors, perform machine learning (ML) model training, and build ML or deep learning (DL) models for various recommendation use cases in business-to-business (B2B) contexts.

[0013] In some implementations, the actions include receiving a set of tuples, each tuple including an entity and a product from a set of products; generating, for each tuple, a total latent vector by an embedding module as input to a recommender network, the total latent vector being generated based on a structural vector, a text vector, and a category vector, each generated based on a product profile of the individual product and an entity profile of the entity; generating a latent context vector by a context integration module based on a context vector representing a context of the entity; and inputting the total latent vector and the latent context vector to the recommender network, the recommender network being trained using few-shot learning using a multi-task loss function; and generating, by the recommender network, a prediction including a set of entity-specific recommendations.

[0014] To provide context for the implementation of the present disclosure, as presented above, businesses conduct business in connected environments that may include networks of multiple businesses and customers. By way of example, businesses may operate in a B2B context, where businesses provide goods and / or services to other businesses, among other contexts. Businesses utilize technology to support their ongoing operations. An example technology is a computer-implemented recommender system (also referred to as a recommendation system) that takes input data and provides output data representing one or more recommendations. By way of example, businesses can utilize a recommender system to identify products and / or services that may be relevant to their business (e.g., in a B2B context, products / services that a business can procure from other businesses). Traditionally, recommender systems are provided as ML systems that process input data through one or more ML models and provide output data representing one or more recommendations. However, traditional recommender systems suffer from technical drawbacks.

[0015] For example, recommender systems do not support automatic company profiling; instead, they rely on static and incomprehensive third-party data sources. This results in inaccurate ML model performance and suboptimal recommendations. Another example is data sparseness. For example, traditional recommender systems rely on large amounts of training data representing the history of product-customer interactions (i.e., products purchased by customers), but such training data can be scarce, incomplete, and / or noisy. Traditional ML models can be prone to overfitting due to incomplete and noisy training data, resulting in suboptimal predictions. This highlights the so-called cold-start problem: a recommender system cannot draw any inferences about customers or products for which sufficient training data has not yet been collected. Furthermore, B2B recommendation scenarios often involve contextual changes in technical, organizational, and market influences that can significantly affect predictions. ML models in traditional recommender systems do not incorporate this dynamic context, resulting in suboptimal ML models. As yet another example, in a B2B context, requirements are highly dynamic (e.g., brand promotion, product cross-selling / up-selling, etc.), and traditional recommender systems are unable or have limited ability to provide recommendations based on different optimization goals and scenarios (e.g., contribution margin, coverage, revenue, etc.) and / or combinations thereof.

[0016] With this in mind, implementations of the present disclosure are directed to a recommender system that enables web crawling and the use of third-party data connectors, performs ML model training, and builds ML / DL models for various recommendation use cases in a B2B context. As described in further detail herein, the recommender system of the present disclosure includes intelligent data enrichment, few-shot learning, multimodal embedding, context integration, and multi-task evaluation. In some examples, intelligent data enrichment is provided using a collection of data enrichment modules that enrich first-party data with industry data, uniform resource locator (URL) fill rates, external dictionaries, crawl data, and the like. In some examples, few-shot learning is used by applying a meta-learning algorithm to learn global parameters of the recommender network, and the (learned) global parameters are used to guide configuration for companies with little past interaction (e.g., sparse data, cold start). In some examples, multimodal learning of embeddings captures the rich semantics of product and customer profiles to improve recommendation quality (e.g., especially in the case of businesses with little or no available transaction history data). In some examples, for context integration, autoencoders are used to learn nonlinear correlations between contextual factors that are provided as input to the recommender network. In some examples, for multi-task evaluation, the loss function in the recommender network is formulated as a weighted multi-objective cost function, optimizing over multiple policies (e.g., contribution margin, revenue, etc.).

[0017] 1 illustrates an example system 100 in which implementations of the present disclosure can be performed. The example system 100 includes a computing device 102, a backend system 108, and a network 106. In some examples, the network 106 includes a local area network (LAN), a wide area network (WAN), the Internet, or a combination thereof, connecting websites, devices (e.g., the computing device 102), and backend systems (e.g., the backend system 108). In some examples, the network 106 is accessible over wired and / or wireless communication links.

[0018] In some examples, computing device 102 may include any suitable type of computing device, such as a desktop computer, a laptop computer, a handheld computer, a tablet computer, a personal digital assistant (PDA), a mobile phone, a network appliance, a camera, a smartphone, an enhanced general packet radio service (EGPRS) mobile phone, a media player, a navigation device, an email device, a gaming console, or any suitable combination of any two or more of these devices or other data processing devices.

[0019] In the illustrated example, the backend system 108 includes at least one server system 112 and a data store 114 (e.g., a database and a knowledge graph structure). In some examples, the at least one server system 112 hosts one or more computer-implemented services with which users can interact using computing devices. As an example, the server system 112 can host a recommender system according to an implementation of the present disclosure.

[0020] Implementations of the present disclosure are described in further detail herein with reference to example use cases, including B2B. In particular, implementations of the present disclosure are described with reference to recommending products (e.g., goods and / or services) of one company (business) for purchase by another company (business). By way of example, a multi-task recommender network of the present disclosure can be used by a supplier to determine one or more products to recommend to a buyer for purchase. However, implementations of the present disclosure are contemplated as applicable in any suitable use case.

[0021] FIG. 2A illustrates an example conceptual architecture 200 including a recommender system according to an implementation of the present disclosure. In FIG. 2, the example conceptual architecture 200 includes a data enrichment module 202 and a few-shot learning module 204. The few-shot learning module 204 includes an embedding module 206, a context integration module 208, and a multi-task recommender network 210. In some examples, the recommender system includes the data enrichment module 202 and the few-shot learning module 204. The example in FIG. 2 illustrates one or more private data sources 220a, one or more public data sources 220b, and one or more entity data sources 220c. In some examples, the recommender system includes the data enrichment module 202, the few-shot learning module 204, and at least one of the data sources 220a, 220b, and 220c.

[0022] According to implementations of the present disclosure, data is acquired from data sources 220a, 220b, and 220c. The acquired data represents various attributes representing customers (e.g., businesses, companies), various attributes representing products, and attributes representing context. Exemplary attributes representing customers may include, but are not limited to, firmographic data (e.g., year of establishment, headquarters location, branch location(s), number of employees, sales revenue, market capitalization, fiscal year, purchasing cycle), and financial health (e.g., credit score, financial runway, last funding date, expenditures). Exemplary attributes representing products may include, but are not limited to, product tier, product category, and the like. Generally, context describes the conditions under which product recommendations occur. Context is dynamic due to changes in the economy, technology, organization, and the like. Such changes affect a company's sales and purchasing forecasts. Exemplary attributes representing context may include, but are not limited to, hiring, layoffs, policy changes, and the like.

[0023] In some examples, each private data source 220a may record private data about one or more entities (e.g., customers). As an example, from a supplier's perspective, a private data source may record data representing inside information about products supplied by a particular company and / or inside information about customers of a particular company. As another example, from a buyer's perspective, a private data source may record data representing product purchases by a particular company and / or data representing suppliers of a particular company. In some examples, access to private data sources is restricted (e.g., buyers can only access their private data sources, and suppliers can only access their private data sources). In some examples, each public data source 220b may record data provided by public data sources. Examples of public data sources include customer websites and news websites. As an example, a customer may have a publicly viewable website that can be crawled using a web crawler to collect data about the customer. As another example, a news organization may have a publicly viewable website that can be crawled using a web crawler to collect data about the customer. As another example, a government agency may maintain a publicly viewable website that can be crawled using a web crawler to gather data about its customers (e.g., United States Patent & Trademark Office (USPTO) listing patents owned by its customers, Securities and Exchange Commission (SEC) filings, court websites). In some examples, each entity data source 220c may record data that is proprietary to the entity that manages the entity data source.As an example, a third-party provider may compile data about customers and make that data available for a fee (e.g., V12 Data Platform).

[0024] In some examples, the data enrichment module 202 generates a customer dataset and a product dataset based on data provided from each of the data sources 220a, 220b, and 220c. By way of example, as presented above, the data can include first-party data, which represents customers and is obtained by crawling websites (e.g., customer product pages, USPTO pages). In some examples, the data enrichment module 202 cleans the first-party data and enriches it with industry data (e.g., from the V12 Data Platform), URL fill rates, external dictionaries, crawl data, and the like. By way of example, dataset descriptions (e.g., of the customer dataset and the product dataset) are provided, and one or more knowledge graphs (KGs) are constructed, as described in further detail herein. In some examples, as described in further detail herein, the embedding module 206 performs multi-modal learning of embeddings (e.g., structural, textual, categorical) that capture the rich semantics of product and customer profiles to improve the quality of recommendations (e.g., particularly in the case of businesses with little or no transaction history data available).

[0025] More specifically, data from each of data sources 220a, 220b, and 220c can be processed to provide structural data, textual data, and categorical data. In some examples, structural data represents entities and relationships between entities recorded in one or more of data sources 220a, 220b, and 220c. The structural data can be recorded in one or more KGs, as described in more detail herein. In some implementations, KGs can be generated and maintained (e.g., periodically updated) to represent companies, relationships between companies, relationships between companies and locations, relationships between companies and industries, relationships between companies and products, relationships between products and descriptions (e.g.,) and / or code names, and other possible relationships. In some examples, textual data includes text (e.g., strings of characters) recorded in one or more of data sources 220a, 220b, and 220c. In some examples, categorical data includes categories represented in one or more of data sources 220a, 220b, and 220c.

[0026] A KG can be described as a collection of data, related based on a schema that represents entities and the relationships between them. Data (whether provided in a tabular format) can be logically described as a graph, where each distinct entity is represented by a separate node and each relationship between a pair of entities is represented by an edge between the nodes. Each edge is associated with a relationship, and the presence of an edge indicates that the associated relationship exists between the nodes connected by that edge. As an example, if node A represents a company called Alpha, node B represents a product called Beta, and edge E is associated with the relationship "is manufactured by," then connecting the nodes in the graph with edge E in the direction from node A to node B indicates that Alpha is the company that manufactures Beta. In some cases, knowledge graphs can be extended with schema-related knowledge (e.g., Alpha is a concept of a company, Charlie is a concept of a company, and "supplies to" is a property or relationship between the two entities / instances of the company concept). The addition of schema-related information supports the evaluation of argumentation results. Knowledge graphs can be represented by any of a variety of physical data structures. For example, a knowledge graph can be represented by triples, each representing two entities in turn and the relationship from the first to the second. For example, [Alpha, Beta, Manufacturer] or [Alpha, Manufacturer, Beta] are alternative ways of expressing the same fact. Each entity and each relationship can be, and typically will be, contained in multiple triples.

[0027] In some examples, once each entity is stored as a node, e.g., as a record or object, it can be linked to all relationships it has and all other entities it is related to through a linked list data structure. More specifically, a knowledge graph can be stored as an adjacency list in which adjacency information contains relationship information. In some examples, each distinct entity and each distinct relationship is represented using a separate unique identifier. The entities represented by a knowledge graph need not be tangible objects or concrete people. Entities can include specific people, places, things, works of art, concepts, events, or other types of entities. Thus, a knowledge graph can include data defining relationships between companies (e.g., suppliers in a supply chain), data defining relationships between companies and objects (e.g., that a particular product is produced by a particular company), data defining relationships between places and objects (e.g., that a particular product comes from a particular geographic location), data defining relationships between companies and places (e.g., that a company is headquartered in a particular city), and other types of relationships between entities.

[0028] In some implementations, each node has a type based on the kind of entity it represents, and each type can have a schema that specifies the kind of data that can be held for entities represented by nodes of that type and how the data should be stored. As an example, a node of a type representing a company could have a schema that defines fields for information such as location, industry, etc. Such information can be represented by fields in a type-specific data structure, or by triples such as a node-relationship-node triple (e.g., [company identifier, is located, in industry]), or any other convenient pre-defined form. In some examples, some or all of the information specified by a type's schema can be represented by links to nodes in a knowledge graph. For example, in [one company identifier, its subsidiary, another company identifier], the identifier of another company is a node in the graph.

[0029] In some examples, the context integration module 208 uses an autoencoder to learn nonlinear correlations between contextual factors provided as input to the recommender network. For example, the autoencoder neural network is trained (e.g., offline) using backpropagation and gradient descent algorithms, e.g., with a mean squared error (MSE) loss function, and a latent context vector, which is a low-dimensional representation of the input to the autoencoder, is extracted from the autoencoder's intermediate layer. In some examples, the multi-task recommender network 210 is trained using few-shot learning. For example, as described in more detail herein, few-shot learning is used by applying a meta-learning algorithm to learn global parameters of the recommender network, and the (learned) global parameters are used to guide configuration for companies with few past interactions (e.g., sparse data, cold start). In some examples, for multi-task evaluation, the loss function in the recommender network is formulated as a weighted multi-objective cost function and optimized over multiple policies (e.g., contribution margin, revenue, etc.).

[0030] 2B illustrates a conceptual representation of few-shot learning according to an implementation of the present disclosure. In the example of FIG. 2, the few-shot learning module 204 of FIG. 2A performs global training 230, which includes task-specific training 232 and task-specific training 234. In the example of FIG. 2B, a training dataset (D S train ) 250 (also called the support set) is used to train the recommender network 210, and the test dataset (D S test ) 252 (also called a query set) is used to test the (trained) recommender network 210 at each iteration of training (few-shot learning). In the example of FIG. 2B, a task-specific loss module 240, a local weight update module 242, a shared task loss module 244, and a global weight update module 246 are provided.

[0031] For training, a set of data (Data total ) is the set of training tasks (T meta-train ) In some cases, each training task (T si ) corresponds to a specific scenario, such as one centered around a particular product or user, or a specific scenario of a higher category. For example: T s ∈T meta-train ,T s ={D S train ,D S test}

[0032] In few-shot learning, we si ) when a gradient step is taken for the task (T si ), where a task is a specific scenario (e.g., company vs. product). The parameters θ3 correspond to the task-specific output layer of the multi-task recommender network being trained. Thus, the goal of few-shot learning is to learn internal features that are broadly applicable to all tasks, rather than a single task. During local updates, the parameters θ3 of the multi-task recommender network are tuned for each support set (set of training data). During global updates, the parameters θ1 of the multi-task recommender network minimize the loss. As shown in Figure 2B, the bolded components represent global updates, while the non-bolded components represent local updates. Thus, Figure 2B illustrates the concept of using double backpropagation (gradient descent) to train a multi-task recommender network, resulting in a multi-task recommender network that is both locally and globally optimized. As shown in Figure 2B, the support set (D S train ) is used to calculate the loss for the local update, and then those weights are used to calculate the loss for the query set (D S test) is used to compute the loss for the global update and further optimize / update these weights.

[0033] Figure 3 illustrates an example conceptual architecture 300 illustrating multimodal embedding according to implementations of the present disclosure. The example in Figure 3 illustrates the operation of the embedding module 206 of Figure 2, which integrates different semantic representations from heterogeneous information networks (e.g., data sources 220a, 220b, 220c) with collaborative filtering, in addition to textual, structural, and categorical content provided by product and company profiles.

[0034] The example conceptual architecture 300 of FIG. 3 includes a structural knowledge module 302, a text knowledge module 304, a category knowledge module 306, a structural embedding module 308, a text embedding module 310, an encoding module 312, and a total latent vector (TLV) module 314.

[0035] In some examples, the structural knowledge module 302 extracts structural data from the product profile 320 and the customer profile 322 and provides the structural data to the structural embedding module 308. By way of example, the structural data can be provided from a KG, which represents entities and relationships between entities using nodes and edges, as described herein. In some examples, the structural embedding module 308 processes the structural data to generate a structural embedding, which is provided as a structural vector (SV) 330. By way of example, and not limitation, the structural embedding module 308 can process the structural data using an embedding technique such as a graph convolution network (GCN). Generally, a GCN receives as input a graph, such as a KG, and generates an embedding as a representation of the structure of the graph, where the embedding is provided as a multidimensional vector, SV 330.

[0036] In some examples, the text knowledge module 304 extracts text data from the product profile 320 and the company profile 322 and provides the text data to the text embedding module 310. In some examples, the text embedding module 310 processes the text data to generate text embeddings, which are provided as textual vectors (TVs) 332. By way of example, and not limitation, the text embedding module 310 can process the structured data using an embedding technique such as Bidirectional Encoder Representations from Transformers (BERT). Generally, a BERT model receives text data as input and generates embeddings as representations of the text data, where the embeddings are provided as TVs 332, which are multidimensional vectors.

[0037] In some examples, the category knowledge module 306 extracts category data from the product profile 320 and the company profile 322 and provides the category data to the encoding module 312. In some examples, the encoding module 312 processes the category data to generate category embeddings, which are provided as categorical vectors (CVs) 334. By way of example, and not limitation, the encoding module 312 may process the category data using an encoding technique such as one-hot encoding. Generally, a one-hot encoder receives the category data as input and generates an encoding as a representation of the category data, where the encoding is provided as a CV 334, which is a multi-dimensional vector.

[0038] Although GCN, BERT, and one-hot encoding are described herein, it is contemplated that any suitable embedding and / or encoding technique can be used to provide the vectors.

[0039] In some examples, the TLV module 314 processes the SV 330, the TV 332, and the CV 334 to provide a total latent vector (TLV) 340. In some examples, processing the SV 330, the TV 332, and the CV 334 includes concatenating the SV 330, the TV 332, and the CV 334. In some cases, the SV 330, the TV 332, and the CV 334 may be of different dimensionality. Therefore, before concatenation, each can be compressed into a dense form of a common dimensionality.

[0040] In some implementations, an offset vector (OV) 336 contributes to the TLV 340 (e.g., is also included in the concatenation). In some examples, the OV 336 is provided from a collaborative matrix decomposition. As an example, a recommendation system can include historical data representing customers and products, with each customer purchasing one or more products. The historical data can be represented as a matrix of customers and products. The matrix can be treated as a logistic regression problem for each customer considering a loss function, with the input being a vector of product descriptions. Minimizing the loss function can provide a customer embedding for each customer. The resulting customer embedding for a particular customer can be provided as the OV 336 for the customer represented in the customer profile 322. Here, the OV 336 serves as a baseline representation of an individual customer based on the historical data, and the OV 336 is augmented by the SV 330, TV 332, and CV 334 in the TLV 340.

[0041] 4 illustrates an example representation of the selection of a latent context vector for context integration according to an implementation of the present disclosure. More specifically, FIG. 4 illustrates the selection of a latent context vector (vector LC t 4 illustrates at least a portion of an autoencoder 400 including a hidden layer 402 that provides a latent context vector (vector LC t2 illustrates the operation of the context integration module 208 of FIG. 2, which provides

[0042] More specifically, as mentioned above, product recommendations can depend on additional contextual grounds, such as, by way of example and not limitation, changing technology infrastructure, financial health, government support, competitive pressures, vendor support, economic changes, and the like. Such contextual factors are often correlated, making it difficult to directly learn their relationship with the final target variable y. With this in mind, implementations of the present disclosure use an autoencoder (e.g., as shown in FIG. 4) to discover correlations between different contextual features and generate a relatively low-dimensional representation, i.e., a latent context vector (vector LC t ) to extract the correlation.

[0043] In general, an autoencoder is a neural network that can be described as an unsupervised learning algorithm that sets the target value equal to the input and applies backpropagation. In the example of Figure 4, the context vector (vector C t ) but X N , which is provided as input to the autoencoder 400. Generally, the context vector can be relatively large in terms of dimensionality (i.e., N is a relatively large number, N≧100). By using an autoencoder, the deep layers reveal correlations and patterns and generate a latent context vector (vector LC t ) is converted into a latent context represented in the vector LC. In some examples, the autoencoder is trained offline separately using backpropagation and gradient descent algorithms and an MSE loss function. t ) is extracted from the hidden layer and is a low-dimensional representation of the input (e.g., lower dimensional than the input).

[0044] FIG. 5 illustrates a conceptual representation 500 of training a multi-task recommender network 502 (e.g., recommender network 210 of FIG. 2 ) according to an implementation of the present disclosure. In the example of FIG. 5 , the conceptual representation 500 also includes an embedding module 504 (e.g., embedding module 206 of FIG. 2 ) and a context integration module 506 (e.g., context integration module 206 of FIG. 2 ). In some implementations, the embedding module 504 processes product profiles 508 and customer profiles 510, respectively, provided from a data enrichment module (e.g., data enrichment module 202 of FIG. 2A ). In some examples, the embedding module 504 provides TLVs (e.g., as described herein with reference to FIG. 3 ) as input to the multi-task recommender network 502. In some examples, the context integration module 506 provides latent context vectors (e.g., as described herein with reference to FIG. 4 ) as input to the multi-task recommender network 502.

[0045] Generally, an ML model is trained iteratively, during which one or more parameters of the ML model are adjusted and an output is generated based on the training data. For each iteration, a loss value is determined based on a loss function. As described in further detail herein, implementations of the present disclosure use multiple loss functions (e.g., embodied in a multi-task loss function). The loss value represents a measure of accuracy of the output of the ML model. The loss value can be explained as a representation of the degree of difference between the output of the ML model and the expected output of the ML model (the expected output is provided from the training data). In some examples, if the loss value does not meet the expected value (e.g., is not equal to zero), the parameters of the ML model are adjusted in further iterations of training. In some cases, this process is repeated until the loss value meets the expected value. Generally, during training, there is a many-to-many relationship between customer profiles and product profiles in the training data. That is, multiple customer profiles and multiple product profiles are used for training.

[0046] In the context of implementations of the present disclosure, training includes training an embedder of the embedding module and training a recommender network. According to implementations of the present disclosure, few-shot learning includes simultaneously training network parameters (e.g., f(θ1)) of the embedding module and training network parameters (e.g., f(θ3)) of the recommender network. In some examples, as depicted in FIG. 2B, the network parameter θ3 is updated during a local update, and the network parameter θ1 and the network parameter θ3 are updated during a global update.

[0047] More specifically, the multi-task recommender network 502 is trained to consider multiple tasks, i.e., optimizations. Example optimizations may include, but are not limited to, product relevance, profit margin maximization, volume maximization, contribution margin, revenue maximization, and minimization of variety (e.g., variety of products recommended to customers). Thus, the multi-task recommender network 502 is trained with the goal of optimizing multiple tasks (optimization objectives). To accomplish this, multiple loss functions are implemented within the multi-task loss function 528, i.e., one for each optimization task. In some examples, the loss functions may include a ranking loss and a similarity-based loss. Example loss functions may include, but are not limited to, margin ranking loss (e.g., product relevance), triplet loss (e.g., similarity), and MSE (e.g., profit margin). While example loss functions are described herein, it should be understood that implementations of the present disclosure can be realized using any suitable loss function. An example multi-task loss function may be defined as follows: L n =minimize(L 1 (θ shared ,θ task1 ),L 2 (θ shared ,θ task2 ),L 3 (θ shared ,θ task3 )) L in the ceremony ncan be a task-specific (i.e., optimization objective-specific) loss function (e.g., pairwise ranking loss function, triplet loss, MSE), and θ shared is a network common to all losses, and θ task is specific to each loss.

[0048] 5, the multi-task recommender network 502 includes a concatenation layer 520, a set of layers 522 (e.g., three layers are shown, but more layers may be included), output layers 524, 526, and a multi-task loss function 528. The concatenation layer 520 receives the TLV (multimodal embedding described herein with reference to FIG. 3) from the embedding module 504 and the latent context vector (vector LC t ) The concatenation module 520 receives the TLV and vector LC t are concatenated to provide a concatenated vector that is input to the set of layers 522. In some examples, the TLV and vector LC t Before concatenating, one or both may be processed to bring their individual values ​​into a range with appropriate dimensionality. In some examples, the preprocessing may include any suitable normalization technique (e.g., MinMaxScaler).

[0049] According to implementations of the present disclosure, the multi-task recommender network 502 includes multiple output layers (e.g., output layers 524, 526 shown in FIG. 5 ), each corresponding to a separate optimization objective. By way of example, output layer 524 can correspond to a first optimization objective (e.g., maximizing profit margin), and output layer 526 can correspond to a second optimization objective (e.g., minimizing product recommendation diversity). Although two output layers are shown in FIG. 5 , it is contemplated that any suitable number of output layers can be provided depending on the number of optimization objectives. As shown in FIG. 5 , each output layer 524, 526 shares the output of the set of layers 522. That is, the output of the last layer in the set of layers 522 is provided as an input to each of the output layers 524, 526. In some examples, each output layer 524, 526 can be any suitable type of output layer depending on the separate optimization objective. Example types of output layers can include, but are not limited to, sigmoid function and linear layers.

[0050] In some implementations, the outputs of the output layers 524, 526 are summed as a weighted sum. That is, a weight is applied to the output of each output layer 524, 526 to provide the weighted sum. In some examples, the weights adjust the influence that individual outputs have in training. That is, for example, not all optimization tasks are considered equal, and some may be considered more important than others. Thus, the weights allow more important optimization goals to have a stronger influence on the resulting loss value than less important optimization goals. For example, maximizing profit variability may be more important than minimizing profit margin. Thus, the weight applied to the output layer corresponding to profit margin may be greater than the weight applied to the output layer corresponding to product variability. In some examples, the multi-task loss function 528 determines an overall loss value for the multi-task recommender network 502 and selectively continues training based on the overall loss value (e.g., performing the next iteration of training to further minimize the overall loss value).

[0051] As presented above, implementations of the present disclosure use few-shot learning to train the multi-task recommender network 502. Generally, few-shot learning can be described as a technique for training an ML model, in this case the multi-task recommender network 502, using a relatively small amount of training data. Few-shot learning can also be described as a type of meta-learning, in which an ML model is trained for several relevant tasks during a meta-training phase. By way of example, during few-shot learning, an ML model is trained to learn representations common to various tasks, and task-specific classifiers are trained on top of the common representations. After training using few-shot learning, the ML model can recognize and classify new data (e.g., data not represented in the training data). Thus, implementations of the present disclosure leverage few-shot learning to address data sparsity (i.e., relatively little available training data) as well as cold starts (i.e., new data not included in the training data).

[0052] Figure 6 shows a representation of a recommendation workflow 600 according to an implementation of the present disclosure. More specifically, the example in Figure 6 depicts the post-training use (i.e., inference phase) of a (trained) multi-task recommender network to provide recommendations. In the example in Figure 6, the representation includes a multi-task recommender module 602, a set of tasks 604, and a ranking module 606.

[0053] The multi-task recommender module 602 runs a (trained) multi-task recommender network (e.g., multi-task recommender network 502 of FIG. 5 after training). In some examples, the multi-task recommender module 602 receives a set of inputs 610, where each input is a customer-product pair (e.g., a customer C1 and a set of products {P1, ..., P n Product P in} i A tuple [C1,P i]). In some examples, the set of products includes all products in the product database that may be available to suggest to customer C1. The multi-task recommender module 602 may generate a set of scores {y task1 ,…,y taskn} and output each score y taski is a distinct tuple [C1,P i ] and is determined by a multi-task loss function. In some examples, each score represents a separate optimization objective. The scores of the individual loss functions are summed to output a total score for each tuple, which is provided to the ranking module 606. A weight (w) can be introduced during the summation to allow different losses to have different impacts on the total score. Thus, each tuple is processed separately by the multi-task recommender module 602, and a separate total score is provided to the ranking module 606. The ranking module 606 sorts and ranks the tuples based on their total scores and provides as output a set of ranked recommendations 620. The set of ranked recommendations represents products that may be recommended to customer C1.

[0054] 7 illustrates an example process 700 that can be performed in implementations of the present disclosure. In some examples, the example process 700 is provided using one or more computer-executable programs executed by one or more computing devices.

[0055] Data is received from multiple data sources (702). By way of example, as described in more detail herein, the data may be received from data sources 220a, 220b, and 220c of FIG. 2A, representing various attributes describing customers (e.g., businesses, companies), various attributes describing products, and attributes describing context. In some examples, each private data source 220a may record private data about one or more entities (e.g., customers), each public data source 220b may record data provided by public data sources, and each entity data source 220c may record data proprietary to the entity managing the entity data source. Data enrichment and KG generation (or update) is performed (704). By way of example, as described in more detail herein, the data enrichment module 202 may generate a customer data set and a product data set based on the data provided by each of the data sources 220a, 220b, and 220c. In some examples, the data enrichment module 202 cleans and enriches the first-party data with industry data (e.g., from the V12 data platform), URL fill rates, external dictionaries, crawl data, and the like. As examples, dataset descriptions (e.g., of customer datasets and product datasets) are provided, and one or more KGs are built and / or updated (e.g., updating existing KGs based on recently received data).

[0056] Few-shot learning is performed to train the multi-task recommender network (706). For example, as described in detail herein, the training includes training an embedder of the embedding module and training a recommender network. According to implementations of the present disclosure, few-shot learning includes simultaneously training network parameters of the embedding module (e.g., f(θ1)) and network parameters of the recommender network (e.g., f(θ3)). In some examples, as depicted in FIG. 2B , the network parameter θ3 is updated during a local update, and the network parameters θ1 and θ3 are updated during a global update. As described herein, the multi-task recommender network is trained to consider multiple tasks, i.e., optimizations. Example optimizations include, but are not limited to, product relevance, profit margin maximization, volume maximization, contribution margin, revenue maximization, and minimizing variety (e.g., variety of products recommended to customers). Thus, the multi-task recommender network is trained with the objective of optimizing multiple tasks (optimization objectives). To achieve this, multiple loss functions are implemented within the multi-task loss function, one for each optimization task.

[0057] The (trained) multi-task recommender network is deployed 708 for production use. By way of example, the multi-task recommender module 602 executes the (trained) multi-task recommender network (e.g., multi-task recommender network 502 of FIG. 5 after training), as described in detail herein. In some examples, the multi-task recommender module 602 receives a set of inputs 610, each input being a customer-product pair (e.g., a customer C1 and a set of products {P1, ..., P n Product P in} i A tuple [C1,P i]). In some examples, each tuple is processed separately by the multi-task recommender module 602 and an individual total score is provided to the ranking module 606. The ranking module 606 sorts and ranks the tuples based on the total score and provides as output a set of ranked recommendations 620. The set of ranked recommendations represents products that may be recommended to customer C1.

[0058] The implementations and all functional operations described herein may be implemented in digital electronic circuitry, or in computer software, firmware, or hardware, including the structures disclosed herein and their structural equivalents, or in one or more combinations thereof. The implementations may be realized as one or more computer program products (i.e., one or more modules of computer program instructions encoded on a computer-readable medium for execution by or control the operation of a data processing apparatus). The computer-readable medium may be a machine-readable storage device, a machine-readable storage substrate, a memory device, an article of matter that provides a machine-readable propagated signal, or a combination of one or more of these. The term "computing system" includes all apparatuses, devices, and machines that process data, including, by way of example, a programmable processor, a computer, or multiple processors or computers. In addition to hardware, an apparatus may include code that creates an execution environment for a subject computer program (e.g., code comprising processor firmware, a protocol stack, a database management system, an operating system, or any suitable combination of one or more of these). A propagated signal is an artificially generated signal (e.g., a machine-generated electrical, optical, or electromagnetic signal) that encodes information to be transmitted to an appropriate receiver apparatus.

[0059] A computer program (also known as a program, software, software application, script, or code) may be written in any suitable form of programming language, including compiled or interpreted languages, and may be deployed in any suitable form, including as a stand-alone program or as a module, component, subroutine, or other unit suitable for use in a computing environment. A computer program does not necessarily correspond to a file in a file system. A program may be stored as part of a file that contains other programs or data (e.g., one or more scripts stored in a markup language document), in a single file dedicated to the program, or in multiple associated files (e.g., multiple files that store one or more modules, subprograms, or portions of code). A computer program may be deployed to be executed on one computer or on multiple computers that are located at one site or distributed across multiple sites and interconnected by a communications network.

[0060] The processes and logic flows described herein may be performed by one or more programmable processors executing one or more computer programs that perform functions by operating on input data and generating output. The processes and logic flows may also be performed by, and apparatus may be implemented as, special purpose logic circuitry (e.g., an FPGA (field programmable gate array) or an ASIC (application specific integrated circuit)).

[0061] Processors suitable for executing a computer program include, by way of example, both general-purpose and special-purpose microprocessors, and any one or more processors of any suitable type of digital computer. Typically, a processor receives instructions and data from a read-only memory or a random-access memory, or both. Components of a computer may include a processor for executing instructions and one or more memory devices for storing instructions and data. Typically, a computer will also include one or more mass storage devices (e.g., magnetic, magneto-optical, or optical disks) for storing data, or be operatively coupled to receive data from or transfer data to, or both. Note that a computer need not have such devices. Furthermore, a computer may be incorporated into another device (e.g., a mobile phone, a personal digital assistant (PDA), a mobile audio player, a Global Positioning System (GPS) receiver). Computer-readable media suitable for storing computer program instructions and data include all forms of non-volatile memory, media, and memory devices, including semiconductor memory devices (e.g., EPROM, EEPROM, and flash memory devices), magnetic disks (e.g., internal hard disks or removable disks), magneto-optical disks, and CD-ROM and DVD-ROM disks. The processor and memory may be supplemented by, or incorporated in, special purpose logic circuitry.

[0062] To provide for user interaction, each implementation may be realized on a computer having a display device (e.g., a cathode ray tube (CRT), liquid crystal display (LCD) monitor) that displays information to the user, as well as a keyboard and pointing device (e.g., a mouse, trackball, touchpad) through which the user may provide input to the computer. Other types of devices may also be used to provide for user interaction. By way of example, feedback provided to the user may be any suitable form of sensory feedback (e.g., visual feedback, auditory feedback, tactile feedback), and input from the user may be received in any suitable form, including acoustic, speech, or tactile input.

[0063] An implementation may be realized in a computing system including back-end components (e.g., as a data server), a computing system including middleware components (e.g., an application server), and / or a computing system including front-end components (e.g., a client computer having a graphical user interface or a web browser through which a user can interact with the implementation), or any suitable combination of one or more such back-end components, middleware components, or front-end components. The components of the system may be interconnected by any suitable form or medium of digital data communication (e.g., a communication network). Examples of communication networks include local area networks ("LANs") and wide area networks ("WANs"), such as the Internet.

[0064] A computing system may include clients and servers. Clients and servers are generally remote from each other and typically interact through a communication network. The relationship of client and server arises by virtue of computer programs running on respective computers and having a client-server relationship to each other.

[0065] While this specification contains numerous details, these should not be construed as limitations on the scope of the disclosure or the claims, but rather as descriptions of features specific to particular implementations. Certain features described herein in the context of separate implementations may also be implemented in combination in a single implementation. Conversely, various features described in the context of a single implementation may also be implemented separately in multiple implementations or in any suitable subcombination. Furthermore, while features may be described above as operating in particular combinations and may even be initially claimed as such, in some cases one or more features of a claimed combination may be deleted from the combination, and the claimed combination may be directed to a subcombination or a variation of a subcombination.

[0066] Similarly, although operations are shown in a particular order in the figures, this should not be understood as requiring that the operations be performed in the particular order or sequence shown, or that all of the operations shown be performed, to achieve desirable results. In certain situations, multitasking and parallel processing may be advantageous. Furthermore, the separation of various system components in the above-described implementations should not be understood as requiring such separation in all implementations, and it should be understood that the program components and systems described may generally be integrated into a single software product or packaged into multiple software products.

[0067] Several implementations have been described. However, it should be understood that various modifications may be made without departing from the spirit and scope of the present disclosure. For example, various forms of the flows shown above may be used, with steps rearranged, added, or removed. Accordingly, other implementations are within the scope of the following claims.

Claims

1. 1. A computer-implemented method for providing recommendations from a computer-implemented recommender system, the method comprising: receiving a set of tuples, each tuple including an entity and a product from a set of products; For each tuple, generating, by an embedding module, a total latent vector as an input to a recommender network, the total latent vector being generated based on a structure vector, a text vector, and a category vector that are generated based on a product profile of an individual product and an entity profile of the entity, respectively; generating a latent context vector by a context integration module based on a context vector representing the context of the entity; and inputting the total latent vector and the latent context vector into the recommender network, the recommender network being trained by few-shot learning using a multi-task loss function; generating a prediction by the recommender network, the prediction including a set of recommendations specific to the entity; A method comprising:

2. 10. The method of claim 1, wherein the recommender network includes multiple output layers, each output layer corresponding to a distinct task and including parameters optimized for the distinct task during few-shot learning.

3. The method of claim 1 , wherein the multi-task loss function comprises a set of loss functions, each loss function corresponding to a distinct task in the set of tasks.

4. The method of claim 1 , wherein the recommender network includes a concatenation layer that concatenates the total latent vector and the latent context vector to provide a concatenated vector that is processed through a set of intermediate layers.

5. The method of claim 1 , wherein the embedding module comprises a structural embedding module that processes structural data of the product profile and the entity profile to generate structural vectors for individual tuples.

6. The method of claim 1 , wherein the embedding module comprises a text embedding module that processes text data of the product profile and the entity profile to generate text vectors for individual tuples.

7. The method of claim 1 , wherein the embedding module includes an encoding module that processes category data of the product profile and the entity profile to generate category vectors for individual tuples.

8. The step of generating a latent context vector includes: inputting the context vector into an autoencoder; outputting the latent context vector from a hidden layer of the autoencoder; The method of claim 1 , comprising:

9. The method of claim 8 , wherein the latent context vector has fewer dimensions than the context vector.

10. The method of claim 1 , wherein the total latent vector is further based on an offset vector that serves as a baseline representation of the entity.

11. one or more non-transitory computer-readable storage media coupled to one or more processors and having instructions stored thereon, the instructions, when executed by the one or more processors, causing the one or more processors to perform operations for providing recommendations from a computer-implemented recommender system, the operations including: receiving a set of tuples, each tuple including an entity and a product from a set of products; For each tuple, generating, by an embedding module, a total latent vector as an input to a recommender network, the total latent vector being generated based on a structure vector, a text vector, and a category vector that are generated based on a product profile of an individual product and an entity profile of the entity, respectively; generating a latent context vector by a context integration module based on a context vector representing a context of the entity; and inputting the total latent vector and the latent context vector into the recommender network, the recommender network being trained by few-shot learning using a multi-task loss function; generating a prediction by the recommender network, the prediction including a set of recommendations specific to the entity; [0023] 1. One or more non-transitory computer-readable storage media, including:

12. 12. The one or more non-transitory computer-readable storage media of claim 11, wherein the recommender network includes multiple output layers, each output layer corresponding to a distinct task and including parameters optimized for the distinct task during few-shot learning.

13. 12. The one or more non-transitory computer-readable storage media of claim 11, wherein the multi-task loss function comprises a set of loss functions, each loss function corresponding to a separate task in the set of tasks.

14. 12. The one or more non-transitory computer-readable storage media of claim 11, wherein the recommender network includes a concatenation layer that concatenates the total latent vector and the latent context vector to provide a concatenated vector that is processed through a set of intermediate layers.

15. 12. The one or more non-transitory computer-readable storage media of claim 11, wherein the embedding module comprises a structural embedding module that processes structural data of the product profile and the entity profile to generate structural vectors for individual tuples.

16. 12. The one or more non-transitory computer-readable storage media of claim 11, wherein the embedding module includes a text embedding module that processes text data of the product profile and the entity profile to generate text vectors for individual tuples.

17. 12. The one or more non-transitory computer-readable storage media of claim 11, wherein the embedding module includes an encoding module that processes category data of the product profile and the entity profile to generate category vectors for individual tuples.

18. Generating a latent context vector involves inputting the context vector into an autoencoder; outputting the latent context vector from the intermediate layer of the autoencoder; 12. The one or more non-transitory computer-readable storage media of claim 11, comprising:

19. 20. The one or more non-transitory computer-readable storage media of claim 18, wherein the latent context vector has fewer dimensions than the context vector.

20. The one or more non-transitory computer-readable storage media of claim 11 , wherein the total latent vector is further based on an offset vector that serves as a baseline representation of the entity.

21. one or more processors; a computer-readable storage device coupled to the one or more processors and having instructions stored thereon; wherein the instructions, when executed by the one or more processors, cause the one or more processors to perform operations for providing recommendations from a computer-implemented recommender system, the operations comprising: receiving a set of tuples, each tuple including an entity and a product from a set of products; For each tuple, generating, by an embedding module, a total latent vector as an input to a recommender network, the total latent vector being generated based on a structure vector, a text vector, and a category vector that are generated based on a product profile of an individual product and an entity profile of the entity, respectively; generating a latent context vector by a context integration module based on a context vector representing a context of the entity; and inputting the total latent vector and the latent context vector into the recommender network, the recommender network being trained by few-shot learning using a multi-task loss function; generating a prediction by the recommender network, the prediction including a set of recommendations specific to the entity; Including, the system.

22. 22. The system of claim 21, wherein the recommender network includes multiple output layers, each output layer corresponding to a distinct task and including parameters optimized for the distinct task during few-shot learning.

23. 22. The system of claim 21, wherein the multitasking loss function comprises a set of loss functions, each loss function corresponding to a separate task in the set of tasks.

24. 22. The system of claim 21, wherein the recommender network includes a concatenation layer that concatenates the total latent vector and the latent context vector to provide a concatenated vector that is processed through a set of intermediate layers.

25. 22. The system of claim 21, wherein the embedding module comprises a structural embedding module that processes structural data of the product profile and the entity profile to generate structural vectors for individual tuples.

26. 22. The system of claim 21, wherein the embedding module includes a text embedding module that processes text data of the product profile and the entity profile to generate text vectors for individual tuples.

27. 22. The system of claim 21, wherein the embedding module includes an encoding module that processes category data of the product profile and the entity profile to generate category vectors for individual tuples.

28. Generating a latent context vector involves inputting the context vector into an autoencoder; outputting the latent context vector from the intermediate layer of the autoencoder; 22. The system of claim 21, comprising:

29. 30. The system of claim 28, wherein the latent context vector has fewer dimensions than the context vector.

30. 22. The system of claim 21, wherein the total latent vector is further based on an offset vector that serves as a baseline representation of the entity.

Citation Information

Patent Citations

  • Designing context-aware recommendation systems, based on latent contexts

    EP3179434A1

  • Information processing device and program

    JP2019053643A

  • On-demand coordinated food item delivery system

    JP2021500684A