Partner-Based Item Recommendations

The neural network-based recommender system addresses inefficiencies in conventional systems by using historical data to generate user preference scores and ensure category distribution, resulting in more accurate and efficient item recommendations.

WO2026137155A1PCT designated stage Publication Date: 2026-07-02EBAY INC +1

Patent Information

Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
EBAY INC
Filing Date
2024-12-24
Publication Date
2026-07-02

AI Technical Summary

Technical Problem

Conventional recommender systems in online marketplaces struggle to provide accurate and efficient item recommendations due to their inability to consider relevant criteria, leading to time-consuming and inefficient searches for users and partners promoting items.

Method used

A recommender system utilizing a neural network model, including a deep interest network, to analyze historical data for user engagement and item attributes, generating user preference scores and ensuring category distribution for improved relevance and diversity in recommendations.

Benefits of technology

Enhances the accuracy and efficiency of item recommendations by prioritizing relevant items based on user behavior and category distribution, reducing computational resources and improving search efficiency for both users and partners.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2024141709_02072026_PF_FP_ABST
    Figure CN2024141709_02072026_PF_FP_ABST
Patent Text Reader

Abstract

Partner-based item recommendations are described. A computing system receives historical data associated with user engagement and transactions for a set of items. The computing system selects a set of candidate items from the set of items based on a set of categories associated with the set of items, a set of popularity metrics associated with the set of items, and a set of similarity metrics associated with the set of candidate items and the set of items. The computing system generates, for each candidate item, a respective user preference score based on the historical data and using a neural network including an attention mechanism and a weighted loss function. The computing system orders the set of candidate items according to the user preference scores and a category distribution for the set of items. The computing system outputs at least one candidate item based on the ordered set of candidate items.
Need to check novelty before this filing date? Find Prior Art

Description

Partner-Based Item RecommendationsBACKGROUND

[0001] Online marketplace applications are commonly accessed by users to sell and / or buy various items in an online marketplace. To list an item for sale, a seller supplies one or more photos of the item and provides associated information. A buyer can utilize a search function of the online marketplace to find listings of items for purchase. Additionally, buyers can discover and purchase items from the online marketplace via a third party, such as a promoter that includes links to listings on a personal web page, social media post, or the like. However, many online marketplaces have such large quantities of listings that searching for a particular item can be time-consuming and inefficient.SUMMARY

[0002] A recommender system receives historical data associated with user engagement and transactions for multiple items available for purchase from an online marketplace, and selects a set of candidate items from the multiple items based on at least one of a set of categories associated with the multiple items, popularity metrics associated with the multiple items, or similarity metrics associated with the set of candidate items and the multiple items. The recommender system utilizes a neural network to generate, for each candidate item in the set of candidate items, a respective user preference score based on the historical data. In implementations, the neural network includes a local activation unit, a deep interest network, and a weighted loss function. The recommender system orders the set of candidate items according to the respective user preference scores and a category distribution associated with the multiple items and the categories, and outputs at least one candidate item based on the ordering. For instance, the recommender system can display a subset of the candidate items, such as a subset of candidate items having a highest user preference score and representative of the category distribution.

[0003] This Summary introduces a selection of concepts in a simplified form that are further described below in the Detailed Description. As such, this Summary is not intended to identify essential features of the claimed subject matter, nor is it intended to be used as an aid in determining the scope of the claimed subject matter.BRIEF DESCRIPTION OF THE DRAWINGS

[0004] The detailed description is described with reference to the accompanying figures.

[0005] FIG. 1 is an illustration of an environment in an example implementation that is operable to employ techniques described herein.

[0006] FIGs. 2-4 depict neural network architectures in an example implementation of partner-based item recommendations.

[0007] FIG. 5 depicts an example of a user interface in an example implementation of partner-based item recommendations.

[0008] FIGs. 6 and 7 depict a procedure in an example implementation of partner-based item recommendations.

[0009] FIG. 8 illustrates an example of a system that includes an example computing device that is representative of one or more computing systems and / or devices that may implement the various techniques described herein.DETAILED DESCRIPTIONOverview

[0010] An online marketplace application may facilitate the exchange of items between users of the online marketplace application. For example, a seller may input data to the online marketplace application to be included in a listing of an item for sale on the online marketplace application, and a buyer may provide user input to initiate a transaction to purchase the item listed for sale. However, the online marketplace application may include a relatively large numerical quantity of listings of items for sale (e.g., greater than a threshold value, such as millions of items per year) . Searching through so many listings to find a particular item can be time-consuming and inefficient.

[0011] In some examples, to ease the burden of manually searching through so many listings, many online marketplace applications implement a recommender system that suggests potential listings based on historical data. For example, a recommender system may consider a user’s past behavior (e.g., search history, transaction history, browsing patterns) , trend data for the online marketplace (e.g., search trends, views, saves, purchases) , item attributes (e.g., prices, ratings, reviews) , and so forth, to identify items to suggest to the user when browsing the online marketplace. However, conventional recommender systems may not be capable of returning appropriate suggestions in many scenarios. For example, many conventional recommender systems fail to consider criteria that can impact whether an item is relevant to a user.

[0012] Accordingly, the techniques described herein provide for a recommender system that employs a neural network model to analyze data from multiple sources, enabling the recommender system to identify recommended items with improved accuracy, efficiency, and relevance. For example, the recommender system implements one or more neural networks (e.g., machine learning models, artificial intelligence) , such as a deep interest network (DIN) , to identify candidate items from among multiple items available for purchase on the online marketplace and to generate a respective user preference score for each candidate item using historical data. The historical data is associated with user engagement for listed items over a time period, such as click-through rates (CTRs) , conversion rates (CVRs) , transaction counts, popular categories, and the like. Additionally, the recommender system can obtain item-specific historical data from the online marketplace, such as popularity metrics, item attributes, trend data, and so forth, among other examples. Using the historical data to identify the candidate items, as described herein, enables the recommender system to ensure candidate items are selected according to a balance between popularity and relevance.

[0013] The user preference score indicates a weighted average for a likelihood that a link to the candidate item is clicked and that a transaction will occur . In implementations, the one or more neural networks also include a local activation unit configured to model user behavior of the user and a weighted loss function. The local activation unit and the weighted loss function highlight relevant aspects of the historical data for each candidate item, providing increased accuracy in the user preference score. The recommender system ranks the candidate items based on the user preference score. The recommender system then re-ranks the candidate items according to a category distribution based on the historical data and selects a subset of the candidate items to output as recommended items. By re-ranking using the category distribution, the recommender system ensures that the recommended items are appropriately allocated among relevant categories. Thus, the techniques described herein enable the recommender system to ensure diversity across item categories when providing recommendations.

[0014] In some aspects, the techniques described herein relate to a method, including receiving historical data associated with user engagement and transactions for a set of items, selecting a set of candidate items from the set of items based on at least one of a set of categories associated with the set of items, a set of popularity metrics associated with the set of items, or a set of similarity metrics associated with the set of candidate items and the set of items, generating, for each candidate item in the set of candidate items, a respective user preference score based on the historical data and using a neural network that includes an attention mechanism and a weighted loss function, ordering the set of candidate items according to the respective user preference score and a category distribution associated with the set of items, and outputting at least one of the set of candidate items based on the ordered set of candidate items.

[0015] In some aspects, the techniques described herein relate to a method, further including calculating the set of popularity metrics based on the historical data.

[0016] In some aspects, the techniques described herein relate to a method, where selecting the set of candidate items includes selecting the set of categories from a set of categories based on a weighted average of the user engagement and transactions, selecting a subset of items from the set of items based on the set of popularity metrics, each item of the subset of items belonging to a category of the set of categories, and selecting the set of candidate items from the subset of items based on the set of similarity metrics.

[0017] In some aspects, the techniques described herein relate to a method, where the subset of items each have a popularity metric satisfying a popularity threshold.

[0018] In some aspects, the techniques described herein relate to a method, further including obtaining a respective average item embedding for each category of the set of categories, obtaining a respective item feature vector for each item of the subset of items, and calculating a respective similarity metric for each item of the subset of items based on a comparison between the respective item feature vector and the respective average item embedding for the category to which the item belongs.

[0019] In some aspects, the techniques described herein relate to a method, where the subset of items each have a similarity metric satisfying a similarity threshold.

[0020] In some aspects, the techniques described herein relate to a method, where ordering the set of candidate items includes calculating a sampling probability based on the respective user preference score and the category distribution.

[0021] In some aspects, the techniques described herein relate to a method, where outputting the at least one of the set of candidate items includes sampling the ordered set of candidate items according to the sampling probability to obtain the at least one of the set of candidate items.

[0022] In some aspects, the techniques described herein relate to a method, where generating the respective user preference score includes receiving a set of user feature vectors and a set of item feature vectors, each item feature vector corresponding to a candidate item of the set of candidate items, obtaining, from the attention mechanism, a representation of user behavior based on the historical data, and obtaining a set of partner embeddings and a set of item embeddings by concatenating the set of user feature vectors, the set of item feature vectors, and the representation of the user behavior.

[0023] In some aspects, the techniques described herein relate to a method, further including inputting the set of partner embeddings and the set of item embeddings to a deep interest network model of the neural network, and applying the weighted loss function to a result of processing by the deep interest network model to obtain the respective user preference score.

[0024] In some aspects, the techniques described herein relate to a method, where the outputting includes transmitting an indication of the at least one of the set of candidate items to a device for display to a user.

[0025] In some aspects, the techniques described herein relate to a method, where the at least one of the candidate items includes a subset of candidate items each having a respective user preference score above a threshold user preference score.

[0026] In some aspects, the techniques described herein relate to a system, including one or more processors, and a computer-readable storage medium storing instructions that are executable by the one or more processors to perform operations including receiving historical data associated with user engagement and transactions for a set of items, each item of the set of items belonging to a category of a set of categories, selecting a subset of items from the set of items based on a set of popularity metrics associated with the set of items, the subset of items each having a popularity metric satisfying a popularity threshold, calculating a respective similarity metric for each item of the subset of items based on a comparison between the item and an average item embedding of the category to which the item belongs, selecting, from the subset of items, a set of candidate items corresponding to similarity metrics satisfying a similarity threshold, generating, using a neural network that includes an attention mechanism and a weighted loss function, a respective user preference score for each candidate item in the set of candidate items based on the historical data, and ordering the set of candidate items according to the respective user preference score and a category distribution associated with the set of items.

[0027] In some aspects, the techniques described herein relate to a system, where the operations further include transmitting an indication of at least one of the set of candidate items to a device for display to a user.

[0028] In some aspects, the techniques described herein relate to a system, where the at least one of the set of candidate items includes a subset of candidate items each having a respective user preference score above a threshold user preference score.

[0029] In some aspects, the techniques described herein relate to a system, where generating the respective user preference score includes receiving a set of user feature vectors and a set of item feature vectors, each item feature vector corresponding to a candidate item of the set of candidate items, obtaining, from the attention mechanism, a representation of user behavior based on the historical data, and obtaining a set of partner embeddings and a set of item embeddings by concatenating the set of user feature vectors, the set of item feature vectors, and the representation of the user behavior.

[0030] In some aspects, the techniques described herein relate to a system, where the operations further include inputting the set of partner embeddings and the set of item embeddings to a deep interest network model of the neural network, and applying the weighted loss function to a result of processing by the deep interest network model to obtain the user preference score.

[0031] In some aspects, the techniques described herein relate to a system, where the operations further include calculating a sampling probability based on the respective user preference score and the category distribution, and sampling the ordered set of candidate items according to the sampling probability.

[0032] In some aspects, the techniques described herein relate to a system including at least one machine-learning model implemented using one or more processing devices, the at least one machine-learning model having an architecture including a local activation unit configured to model user behavior using an attention mechanism and based on historical user engagement and transaction data for a set of items, a deep neural network model configured to receive a set of partner embeddings associated with the user behavior and a set of item embeddings associated with the set of items, and a weighted loss function applied to a result of processing by the deep neural network model to generate a user preference score for each item in a set of candidate items

[0033] In some aspects, the techniques described herein relate to a system, where the set of item embeddings are indicative of one or more attributes of the set of items.

[0034] In the following discussion, an exemplary environment is first described that may employ the techniques described herein. Examples of implementation details and procedures are then described which may be performed in the exemplary environment as well as other environments. Performance of the exemplary procedures is not limited to the exemplary environment and the exemplary environment is not limited to performance of the exemplary procedures.Example of an Environment

[0035] FIG. 1 is an illustration of an environment 100 in an example implementation that is operable to employ techniques described herein. The environment 100 includes a computing device 102 and a recommender system 104. In some examples, the recommender system 104 includes a neural network manager 106 to train, fine-tune, and / or implement one or more ML models. In one or more implementations, the computing device 102 and the recommender system 104 are communicatively coupled, one to another, via network (s) 108. One example of the network (s) 108 is the Internet, although the computing devices 102 and the recommender system 104 may be communicatively coupled using one or more different connections or different networks (e.g., wireless networks) in various implementations.

[0036] Although the recommender system 104 is depicted in the environment 100 as being separate from the computing device 102, in one or more implementations, an entirety, or various portions, of the recommender system 104 are implemented at or by the computing device 102. In at least one implementation, the recommender system 104 is an example of a computing system that provides infrastructure and resources to support implementing one or more neural networks (e.g., machine learning models) at a computing device 102. For example, the computing device 102 may run an application 110 via the recommender system 104 that implements one or more neural networks. In such examples, at least a portion of the recommender system 104 is implemented by the application 110 of the computing device 102 and / or using various resources of the computing device 102, such as hardware resources, an operating system, firmware, and so forth. Alternatively, or additionally, the recommender system 104 is implemented by server-based storage resources, processing resources, and so on of devices other than the computing device 102. For example, at least a portion of the recommender system 104 is implemented using a third-party service, such as a web services platform that provides one or more hardware and / or other computing resources to support provision of services by web service providers. In variations, an entirety, or various portions, of the recommender system 104 are implemented at or by a device of the user (e.g., a mobile device, a laptop, a wearable device, or any other device) . In some examples, the device of the user is the computing device 102.

[0037] The computing device 102 that implements the environment 100 is configurable in a variety of ways. A computing device 102, for instance, is configurable as a desktop computer, a laptop computer, a mobile device (e.g., assuming a handheld configuration such as a tablet or mobile phone) , an IoT device, a wearable device (e.g., a smart watch, a ring, or smart glasses) , an augmented reality and / or virtual reality device (e.g., the smart glasses) , a server, and so forth. Thus, a computing device 102 ranges from a full resource device with substantial memory and processor resources to a low-resource device with limited memory and / or processing resources. Although in instances in the following discussion reference is made to a computing device 102 in the singular, a computing device 102 may also be representative of multiple different devices, such as multiple servers of a server farm utilized to perform operations “over the cloud” as further described in relation to FIG. 8.

[0038] In at least one implementation, the application 110 supports communication of data across the network (s) 108 between the computing device 102 and the recommender system 104. By supporting such data communication, the application 110 provides a respective user of the computing device 102 (and users of other computing devices 102) access to an online marketplace 112. One example of the application 110 is a browser or other web application that facilitates user interaction with one or more features of the online marketplace 112. Another example of the application 110 is a web-based computer application, such as a mobile application or a desktop application, that facilitates user interaction with one or more features of the online marketplace 112. The application 110 may be configured in different ways, which enable users to interact with the computing device 102 and by extension perform actions to interact with the features of the online marketplace 112, without departing from the spirit or scope of the techniques described herein.

[0039] For example, the application 110 may interface with databases, user interfaces, and other software systems to receive inputs and deliver outputs. Through interaction of a user with the computing device 102, the application 110 receives user input via the computing device 102. Examples of such input include, but are not limited to, receiving touch input in relation to portions of a displayed user interface, receiving one or more voice commands or other audio input, receiving typed input (e.g., via a physical or virtual ( “soft” ) keyboard) , receiving mouse or stylus input, and so forth. Based on the received user input, the application 110 causes various systems of the computing device 102 to output information associated with the online marketplace 112.

[0040] In one or more implementations, users register to obtain respective user accounts with the online marketplace 112. Such registration may include, for instance, providing an email address and establishing a username and password combination. In some examples, registration of a user via the computing device 102 facilitates signing into, or otherwise authenticating to, the user account in various ways, such as by receiving a username and matching password, receiving biometric information (e.g., at least one image captured of a face or information captured of another body part such as a thumb or finger) that suitably matches stored biometric information associated with the user account, and so forth.

[0041] Broadly speaking, the online marketplace 112 is configured to generate listings for items and to expose those listings (e.g., publish them) to the computing device 102. For example, the online marketplace 112 may generate listings for items for sale and expose those listings to computing device 102, such that the users of the computing device 102 can interact with the listings to initiate transactions (e.g., purchases, add to wish lists, share, and so on) in relation to the respective item or items of the listings. Further, the listings can be made available via one or more third party applications or sources, such as links to the listings located on a website, social media post or profile, and the like, that, when clicked, direct traffic back to the online marketplace 112. The online marketplace 112 is configured to generate listings for one or more items of various types of physical goods or property (e.g., components of a device or apparatus, accessories of a device or apparatus, clothing and / or clothing accessories, collectibles, furniture, decorative items, textiles, luxury items, electronics, real property, physical computer-readable storage having one or more video games stored thereon, and so on) , services (e.g., babysitting, dog walking, house cleaning, and so on) , digital items (e.g., digital images, digital music, digital videos) that can be downloaded via the network (s) 108, and blockchain backed assets (e.g., non-fungible tokens (NFTs) ) , to name just a few.

[0042] In the illustrated environment 100, the online marketplace 112 includes storage device 116, which is depicted as storing historical data 118 associated with the online marketplace 112 and users of the online marketplace 112. The historical data 118 includes, but is not limited to, click data, transaction data, category data, popularity metrics, item attributes / features, interaction data (e.g., view counts, save counts, cart additions) , trend data, price data, and so forth. Additionally, or alternatively, the storage device 116 of the online marketplace 112 stores information related to one or more listings of items for sale, including real-time listing data for listings on the online marketplace 112, purchase history and / or transaction data related to purchases of users (e.g., based on a user identifier from a user account, including a username of the account or other identifier) , information input by the user, information inferred about the user based on transaction data, or the like. The storage device 116 may represent one or more databases and / or other types of storage capable of storing the compatibility information. Examples of the storage device 116 include, but are not limited to, mass storage and virtual storage. In one or more implementations, for example, the storage device 116 may be virtualized across multiple data centers and / or cloud-based storage devices. The recommender system 104 may implement the online marketplace 112 by using servers that execute stored instructions to deploy various services of the recommender system 104, such that those services perform numerous computations which are effective to provide the functionality described above and below. It is to be appreciated that the online marketplace 112 may include more, fewer, or different components without departing from the spirit or scope described herein.

[0043] In variations, the computing device 102 may collect user input and provide information to a user using an I / O manager 120. The computing device 102 can receive user input via the I / O manager 120 that causes the computing device 102 to execute instructions, such as to cause the computing device 102 to transmit or receive data to and from the recommender system 104. For example, the computing device 102 can receive user input via one or more input components of the I / O manager 120. The user input may be in response to a request for user input from the computing device 102 and / or may be initiated by a user of the computing device 102. Based on receiving the user input, the I / O manager 120 may trigger the computing device 102 to transmit data to the recommender system 104. The I / O manager 120 may configure the computing device 102 to display, or otherwise present, controls that are selectable by a user to provide user input and / or prompts requesting user input. In some examples, the I / O manager 120 displays the controls and / or prompts to the user via a GUI of the computing device 102. In some other examples, the I / O manager 120 displays the request to the user via a GUI of another device communicatively coupled with the computing device 102 (e.g., another computing device 102 coupled with the computing device 102 via the networks 108) . The I / O manager 120 can visually display the controls and / or the prompts, can emit an audio version of the controls and / or the prompts via an audio output component, or the like. In some examples, the I / O manager 120 can store the information input by the user (e.g., at a local database) for access upon request by the recommender system 104. Additionally, or alternatively, the computing device 102 may transmit the information input by the user to the recommender system 104 for storage at the storage device 116.

[0044] In some examples, the recommender system 104 may store, as part of the historical data 118, item information associated with items currently or previously listed for sale on the online marketplace 112, as well as information associated with users of the online marketplace 112. Users of the online marketplace 112 include buyers, sellers, partners, and the like, among other examples. For example, the historical data 118 may include click data indicative of clicks on listings, items, search terms, and the like, associated with the online marketplace 112, including clicks on links promoted by partners. The click data may indicate quantities of clicks, time periods in which clicks occurred, and categories of clicks, among other examples. As another example, the historical data 118 can include transaction data indicative of completed transactions (e.g., purchases) by users of the online marketplace 112, including transactions resulting from clicks promoted by partners. Additionally, or alternatively, the historical data 118 can include information input by a user with an associated user identifier (e.g., for a user account of the user that input the information) . For example, a user may purchase a television, and the online marketplace 112 may store transaction data indicating that the user (e.g., with an associated user account and / or user identifier) purchased the television, a price for which the item was purchased, time and date information of the transaction, and the like.

[0045] In some examples, the recommender system 104 and the computing device 102 implement a communications manager 122 and a communications manager 124, respectively, to support communication of data across the network (s) 108 between the computing device 102 and the recommender system 104. By supporting such data communication, the communications manager 122 and the communications manager 124 provide for the computing device 102 and the recommender system 104 to exchange data related to the application 110 for processing, storage, and / or distribution. The data can include, but is not limited to, the historical data 118.

[0046] In one or more implementations, the online marketplace 112 is accessible by decentralized computing devices that correspond to “clients” of the online marketplace 112 (e.g., users that have accounts with the online marketplace 112) . In some cases, there may be different types of user accounts registered at the online marketplace 112. For example, the different types of user accounts may include seller user accounts, buyer user accounts, and partner (e.g., promoter) user accounts. A seller user account may provide for a user to input information for listing items for sale via the online marketplace 112. A buyer user account may provide for a user to input transaction information for purchasing an item listed for sale via the online marketplace 112. A partner user account may provide for a user to view recommended listings available to be promoted by the partner.

[0047] For example, listings for the online marketplace 112 can be made available in places other than the online marketplace 112 itself to enable expanded access and convenience. Partners (e.g., promoters, influencers, content creators, price comparison entities, and the like) can include links to listed items on their websites, posts, social media accounts, etc. A partner can earn commission from traffic directed to the online marketplace 112 via such links, such as when a link is clicked and / or a transaction results from the click. To increase traffic, partners may wish to link to relevant listings, such as listings relevant to a topic or category associated with the partner.

[0048] The computing device 102 may display different user interfaces of the online marketplace 112 for a buyer account than for a seller account or a partner account and vice versa. The user interfaces may include different GUI displays for each account type. For a partner display, the computing device 102 may display one or more controls selectable by the user to provide information related to a listing of an item for sale. The controls may include options for the partner to link to the listing. Additionally, the display may include information related to items previously promoted by the partner, such as historical data, performance data, earned commissions, and the like.

[0049] A user may input information via interactable elements of the GUI (e.g., fill in a text element, elect a selectable element, or the like) . For example, the user may be a partner seeking listings for items to promote on a website. The user can browse items listed for sale on the online marketplace 112. The user may click on (i.e., select) a listing to view the item and information associated with the listing, such as a price, a category, related items, or the like. The user can “promote” the listing by including, on a website, social media post, and so forth, a link to the listing. If another user clicks on the promoted link and / or completes a purchase originating from the link, the user can receive a commission.

[0050] Due to the large quantities of available listings on the online marketplace 112, however, it can be difficult for a partner to manually discover and select listings suited for their audience. Further, in some examples, partners may not have access to, or be aware of, criteria that can impact a promoted item’s performance, such as user engagement data. Conventional recommender systems are developed to utilize data from and provide recommendations for buyers, rather than partners. Thus, curating promotable listings that are both relevant and likely to generate traffic can be challenging.

[0051] To improve search efficiency and reduce processing associated with manually searching for items (e.g., promotable items) , the recommender system 104 may implement one or more neural networks to suggest, based on the historical data 118, items listed for sale in the online marketplace 112 that are available to be promoted by the user (e.g., when the user is a partner) . In one or more implementations, the recommender system 104 implements the neural network manager 106 that trains, fine-tunes, and / or implements the one or more neural networks. In one or more implementations, the recommender system 104 implements the neural network manager 106 by using servers that execute stored instructions to deploy various services of the recommender system 104, such that those services perform numerous computations which are effective to provide the functionality described above and below. It is to be appreciated that the neural network manager 106 may include more, fewer, or different components without departing from the spirit or scope described herein.

[0052] In this example, the neural network manager 106 includes, or otherwise has access to, recall logic 126, ranking logic 128, and re-ranking logic 130. The recall logic 126, the ranking logic 128, and the re-ranking logic 130 include or are examples of artificial intelligence models and / or machine learning models, such as neural networks, decision trees, or support vector machines, which can be adapted to handle diverse tasks ranging from natural language processing to image recognition. Example machine learning models include, but are not limited to, large language models (LLMs) and / or conditional generative models. An LLM is a type of artificial intelligence model designed to understand and generate a natural language response to a prompt or other input. In some examples, LLMs are pre-trained on a diverse text data set to learn structure, grammar, and semantics of language. A conditional generative artificial intelligence model is an artificial intelligence model designed to generate an output using one or more input conditions or labels. Machine learning models such as the recall logic 126, the ranking logic 128, and the re-ranking logic 130 may be built using deep learning techniques and may have a greater numerical quantity of parameters than other artificial intelligence models. Unlike conventional artificial intelligence systems that rely on rule-based or deterministic approaches, generative artificial intelligence employs algorithms and models capable of autonomously producing output that closely resembles human-generated content. These algorithms are designed to learn patterns and structures from existing data and then use this learned information to generate new content that is coherent, relevant, and contextually appropriate.

[0053] The neural network manager 106 or another entity (e.g., a third-party computing system) may train aspects of one or more of the recall logic 126, the ranking logic 128, and the re-ranking logic 130 on relatively large datasets (e.g., greater than a threshold amount of data) to establish and / or improve performance of the recall logic 126, the ranking logic 128, and the re-ranking logic 130. The neural network manager 106 can be an example of software (e.g., logic) and / or hardware (e.g., processor and / or memory) that is configured to maintain and implement the recall logic 126, the ranking logic 128, and the re-ranking logic 130.

[0054] The recall logic 126, the ranking logic 128, and the re-ranking logic 130 may each include or be an example of one or more computational algorithms or systems designed to process input data, recognize patterns, and generate outputs or make decisions without being explicitly programmed for a specific task. For example, as described in further detail with reference to FIG. 2, the recall logic 126 includes or is an example of a neural network that retrieves, from the online marketplace 112, available items 132 belonging to categories 134 and implements a selection algorithm 136 to select a set of candidate items 138 from the available items 132. As described in further detail with reference to FIG. 3, the ranking logic 128 includes or is an example of a neural network having an architecture including a local activation unit 140 and a DIN model 142. The ranking logic 128 calculates (e.g., generates, predicts) a respective user preference score 144 for each candidate item 138 based on the historical data 118. As described in further detail with reference to FIG. 4, the re-ranking logic 130 includes or is an example of a neural network that uses the user preference scores 144 and a category distribution 146 to calculate (e.g., generate, predict) a sampling probability 148 for the candidate items 138 and outputs, based on the sampling probability 148, one or more recommended items 150.

[0055] By implementing the neural network manager 106 (and, in turn, the recall logic 126, the ranking logic 128, and the re-ranking logic 130) , the recommender system 104 is able to predict and suggest relevant promotable items for the user according to historical data and user behavior. As a result, the recommender system 104 and the computing device 102 can increase search efficiency and accuracy, which may, in turn, decrease computational resource usage and processing. For example, providing the user with relevant promotable items using the recall logic 126, the ranking logic 128, and the re-ranking logic 130 can enable the user to locate appropriate listings to promote without performing multiple searches, thus eliminating additional processing by the computing device 102 and the recommender system 104.

[0056] For example, to view recommended items to promote, a user may access the online marketplace 112 via the application 110 of the computing device 102. The recommender system 104 may receive user data or other user information from the computing device 102 via the network (s) 108. For instance, the recall logic 126 is configured to receive historical data 118 associated with a set of items previously promoted by the user (referred to herein as “previously-promoted items” ) , such as view counts, interaction data (e.g., saves, cart additions) , transaction data, click data, popularity rankings, item attributes (e.g., price, brand, features, corresponding categories) , and the like. In implementations, the historical data 118 associated with the previously-promoted items is for a time period, such as a period of seven days, three months, etc., immediately preceding the time at which the recommender system 104 is implemented. The recall logic 126 is further configured to receive historical data 118 associated with a set of available items 132 (e.g., items currently listed for sale on the online marketplace 112) , such as view counts, interaction data (e.g., saves, cart additions) , transaction data, click data, popularity rankings, item attributes (e.g., price, brand, features, corresponding categories) , and so forth. The recall logic 126 utilizes the received historical data 118 to implement a selection algorithm 136 to obtain the candidate items 138.

[0057] In implementations, to apply the selection algorithm 136, the recall logic 126 calculates a weighted average (e.g., according to the historical data 118) of clicks and transactions associated with the previously-promoted items to identify which of the previously-promoted items are associated with the highest levels of user engagement, referred to herein as the “top” previously-promoted items. The recall logic 126 identifies a set of categories 134 to which the top previously-promoted items belong and determines average features corresponding to each category 134. For instance, as described with reference to FIG. 2, the recall logic 126 may determine a respective average feature vector (e.g., a d-dimensional feature vector) for each category 134, where an average feature vector includes a set of attributes indicative of average features of items belonging to the category 134.

[0058] Again using the historical data 118, the recall logic 126 identifies, for each category of the set of categories 134, a respective subset of items from among the available items 132 according to one or more popularity metrics. That is, the recall logic 126 identifies a set of the most popular available items 132 per category 134. The recall logic 126 compares the most popular available items 132 per category 134 to the average feature vector for the corresponding category 134 to determine the set of candidate items 138. For instance, the recall logic 126 can determine a similarity metric for each item of the most popular available items 132 per category 134 based on the comparison, where the similarity metric is indicative of a relative similarity between the average feature vector and the item. The recall logic 126 can then select those items with a similarity metric satisfying a similarity threshold as the set of candidate items 138. For example, the set of candidate items 138 includes, for each category 134, one or more of the most popular available items 132 that are, based on the comparison, the most similar to the average feature vector for the corresponding category 134. Put another way, the set of candidate items 138 includes one or more similar items from among the most popular items per category.

[0059] The ranking logic 128 is configured to receive the candidate items 138 output by the recall logic 126, as well as one or more d-dimensional feature vectors corresponding to the user (e.g., the partner) , one or more d-dimensional feature vectors corresponding to each candidate item 138, and the set of previously-promoted items. The local activation unit 140 is configured to receive the set of previously-promoted items and a candidate item 138. For each candidate item 138, the local activation unit 140 calculates similarities between the candidate item 138 and the set of previously-promoted items and dynamically adjusts weights on the previously-promoted items by adapting the weights to the candidate item 138. In this manner, the local activation unit 140 models (e.g., predicts) engagement behavior of other users interacting with the candidate item 138 when the candidate item 138 is promoted by the user. For example, the local activation unit 140 can analyze a candidate item 138 in the context of engagement data and attributes of the set of previously-promoted items and can predict how the candidate item 138 will perform when promoted by the user.

[0060] The ranking logic 128 then concatenates the result of processing by the local activation unit 140 with the user feature vectors and the candidate item 138 feature vectors into a set of partner embeddings and item embeddings. The DIN model 142 is configured to receive and process the set of partner embeddings and item embeddings to obtain a respective user preference score 144 for each candidate item 138. In implementations, the ranking logic 128 applies a weighted loss function to an output of the DIN model 142 to obtain the user preference scores 144. In some examples, the user preference scores 144 include or are an example of CVRs for each candidate item 138. Thus, each user preference score 144 represents a likelihood that promoting the corresponding candidate item 138 will result in a completed transaction.

[0061] The re-ranking logic 130 is configured to receive the user preference scores 144 output by the ranking logic 128. The re-ranking logic 130 determines a category distribution 146 associated with the user based on the historical data 118. The category distribution 146 may correspond to a ratio of traffic for the categories 134 of the previously-promoted items. For example, the user may have a category distribution 146 that is a ratio of one (1) jewelry item to four (4) handbags, where 20%of previously-promoted items are jewelry items and 80%of the previously-promoted items are handbags. The re-ranking logic can then calculate a respective sampling probability 148 for each candidate item 138 of the set of candidate items 138. The sampling probability 148 may be equal to a product of the corresponding user preference score 144 for the candidate item and the category distribution 146 for the user. For instance, if a user preference score 144 for a given candidate item 138 is 0.9 and the category distribution 146 for the user is 0.2, the sampling probability 148 for the candidate item 138 may be equal to 0.18. The sampling probability 148 may represent a likelihood that the candidate item 138 is selected as a recommended item 150 recommended to the user. The sampling probability 148 can also be understood as a weighted user preference score, e.g., as a user preference score 144 that is weighted to account for the category distribution 146.

[0062] The re-ranking logic 130 can order the set of candidate items 138 according to the sampling probabilities 148 and output at least one candidate item 138 as recommended item (s) 150. For instance, the re-ranking logic 130 may output a subset of the candidate items 138, such as a subset of candidate items 138 having sampling probabilities above a threshold sampling probability, as the recommended item (s) 150. By implementing the sampling probability 148 based on the category distribution 146, the recommender system 104 ensures that the recommended item (s) 150 are equally distributed among categories previously shown to drive traffic for the user and, as a result, are relevant to the user’s audience.

[0063] The recommender system 104 can output the recommended item (s) 150 to the user as a set of listings of the online marketplace 112. For instance, the recommender system 104 may cause a user interface of the application 110 to display a list of recommended items 150 to the user via the computing device 102 as described with reference to FIG. 5. For example, the list of recommended items 150, or an indication of the list of recommended items 150, is transmitted via the network (s) 108 to the computing device 102 for display via the user interface. The list of recommended items 150 can include links to listings of each item in the list, as well as additional information such as corresponding user preference scores 144, estimated commission amounts, shareable links that enable the user to display and / or promote the recommended items 150, and so forth.

[0064] In implementations, the list of recommended items 150 includes a subset of the candidate items 138. As an example, the list of recommended items 150 may include a quantity of candidate items 138 that are each associated with a respective user preference score above a threshold user preference score. Additionally, or alternatively, the quantity may be less than or equal to a total quantity of the candidate items 138. For example, the list of recommended items 150 may include a top five candidate items 138 having the highest user preference scores from among the candidate items 138, or may include a quantity of candidate items 138 having user preference scores that are above a threshold user preference score.

[0065] Having considered an example of an environment, consider now a discussion of some example details of the techniques for listwise autocomplete ranking with position debias in accordance with one or more implementations.Partner-Based Item Recommendations

[0066] FIGs. 2, 3, and 4 depict neural network architectures 200, 300, and 400 in an example implementation of partner-based item recommendations. The neural network architectures 200, 300, and 400 can implement, or be implemented by, aspects of the environment 100. For example, the neural network architectures 200, 300, and 400 correspond to a recall logic (e.g., the recall logic 126) , a ranking logic (e.g., the ranking logic 128) , and a re-ranking logic (e.g., the re-ranking logic 130) , respectively, implemented by a recommender system (e.g., a recommender system 104) as described with reference to FIG. 1. The recommender system implements the neural network architectures 200, 300, and 400 in combination, as described herein, to recommend candidate items (e.g., candidate items 138 as described with reference to FIG. 1) to a partner (e.g., a user, such as a partner) according to a user preference score associated with the partner. The neural network architectures 200, 300, and 400 implement or are implemented by one or more machine learning models.

[0067] In the example of FIG. 2, the recall logic having the neural network architecture 200 is configured to receive partner data 202 associated with the partner. The partner data 202 may include or be an example of historical data 118 as described with reference to FIG. 1. For instance, the partner data 202 can include user engagement data associated with a set of items previously promoted by the partner (referred to herein as “previously-promoted items” ) . User engagement may refer to any type of interaction with links to listings of the previously-promoted items, such as view counts, interaction data (e.g., saves, cart additions) , transaction data, click data, popularity rankings, item attributes (e.g., color, type, texture, model, price, brand, features, corresponding categories) , and the like. In implementations, the partner data 202 corresponds to a time period, such as a period of seven days, three months, etc., during which the items were promoted by the partner. For example, the online marketplace 112 may track user engagement activity for promoted items and may store the tracked activity as partner-specific (e.g., associated with a partner identifier) historical data 118 in the storage device 116. The recommender system can retrieve the partner data 202 from the storage device 116 for input to the recall logic.

[0068] The recall logic analyzes the partner data 202 to determine a set of categories 204 corresponding to previously-promoted items having a highest level of user engagement (e.g., have been interacted with the most as compared to other previously-promoted items) . For example, the recall logic can determine which of the previously-promoted items have the highest level of user engagement using a weighted average of clicks and transactions from the partner data 202. The recall logic can then identify categories to which those previously-promoted items belong. In implementations, the set of categories 204 includes a predetermined quantity of categories (e.g., five categories) . The categories may include or be an example of leaf categories (e.g., lowest-level categories in a category hierarchy of the online marketplace 112, such as categories that include listings and have no other subcategories) . Each leaf category is associated with an average item embedding representative of items in the leaf category. The average item embedding may be a d-dimensional vector, created by aggregating item embeddings of items within the category, that captures overall characteristics (e.g., features, attributes) of the category and / or items within the category.

[0069] For each category of the set of categories 204, the recall logic determines a respective set of available items 206 listed in the online marketplace 112 based on a set of popularity metrics associated with the available items. For example, the recall logic can determine a respective popularity metric for each available item that indicates a level of popularity of the available item. In implementations, the recall logic calculates the popularity metrics using the historical data 118, such as using view counts, CTRs, cart addition rates, sales metrics, transaction data, engagement data, trend data, and the like. A greater value for a popularity metric correlates to a more popular item. The recall logic can select a quantity of popular items from each category to form the sets of available items 206. For example, the recall logic may include, in a set of available items 206 for a given category, available items having respective popularity metrics that satisfy a popularity threshold, or a predetermined quantity (e.g., 1000) of available items having the highest respective popularity metrics.

[0070] Using the set of categories 204 and the sets of available items 206, the recall logic calculates a similarity metric 208 for each available item in the sets of available items 206. To calculate a similarity metric for an available item, the recall logic compares an item feature vector (e.g., an item embedding) associated with the available item to the average item embedding for the category to which the available item belongs. In implementations, the recall logic performs the comparison by calculating a cosine similarity between the item feature vector and the average item embedding. A greater value for a similarity metric indicates a greater similarity between the available item and the average item embedding.

[0071] The recall logic selects the candidate items 138 from the sets of available items 206 according to the similarity metrics 208. For instance, the recall logic can select the candidate items 138 as the available items having respective similarity metrics that satisfy a similarity threshold. In implementations, the recall logic selects a predetermined quantity (e.g., 100) of available items to form the candidate items 138.

[0072] For each candidate item 138 output by the recall logic, the recommender system utilizes the ranking logic having the neural network architecture 300 illustrated in the example of FIG. 3 to calculate a respective user preference score 144 (e.g., as described with reference to FIG. 1) . Turning now to FIG. 3, the ranking logic is configured to receive the candidate items 138 output by the recall logic illustrated in FIG. 2. The ranking logic processes each candidate item independently to calculate the respective user preference score 144 for the candidate item.

[0073] In addition to the candidate items 138, the ranking logic receives a quantity n of previously-promoted item embeddings 302, a set of candidate item embeddings corresponding to the candidate items 138, partner features 306, and item features 308. The previously-promoted item embeddings 302 may correspond to a set of n previously-promoted items that were most recently promoted by the partner (e.g., within the time period associated with the historical data 118) . In implementations, the partner features 306 include or are an example of one or more d-dimensional feature vectors representative of partner attributes based on the historical data 118. Such partner attributes can include user engagement and transaction data, historical partner behavior, item types and / or categories typically promoted by the partner, partner types (e.g., content creator, influencer, and the like) , promotion types (e.g., links, social media posts, blog posts, and the like) , and so forth. The item features 308 can include or are examples of one or more d-dimensional feature vectors representative of item attributes, such as a candidate item 138 for which a user preference score 144 is being calculated, a previously-promoted item, or a combination thereof.

[0074] To calculate a user preference score for a candidate item, the ranking logic receives a candidate item embedding 304 corresponding to the candidate item of the candidate items 138. The previously-promoted item embeddings 302 and the candidate item embedding 304 are input to a local activation unit 310, which is configured to model partner behavior using an attention mechanism and based on the historical data 118. For example, the local activation unit 310 can analyze similarities between the previously-promoted item embeddings 302 and the candidate item embedding 304 by dynamically adjusting (e.g., applying) weights associated with user engagement for the previously-promoted item embeddings 302 based on the candidate item embedding 304. As a result, previously-promoted items that are relatively similar to the candidate item are activated when calculating the user preference scores 144. The local activation unit 310 outputs a partner behavior representation 312 indicative of predicted partner behavior when promoting the candidate item (e.g., how the candidate item may perform when promoted by the partner) . The local activation unit 310 thus ensures that previously-promoted items similar to the candidate item are assigned a greater weight, thereby improving accuracy in the user preference scores 144. Additionally, by adjusting weights based on similarity, the local activation unit 310 enables the ranking logic to highlight relevant partner features and reduce extraneous noise.

[0075] The partner behavior representation 312, the partner features 306, and the item features 306 are combined (e.g., concatenated) to create a set of partner embeddings and a set of item embeddings that together form concatenated embeddings 314. The concatenated embeddings 314 are input to a DIN model, such as the DIN model 142 described with reference to FIG. 1. To obtain the user preference score 144 for the candidate item, the ranking logic applies a weighted loss function 316 to an output of processing by the DIN model 142. The weighted loss function 316 can enable the ranking logic to optimize the user preference score 144 for a transaction count. That is, the user preference score 144 can be understood as a representation of a likelihood that a user completes a transaction when clicking on a promoted link for the candidate item. The user preference score 144 may be a value between 0 and 1.

[0076] The ranking logic processes the candidate items 138 to obtain a respective user preference score 144 for each candidate item. Turning now to FIG. 4, the recommender system utilizes the user preference scores 144 output by the ranking logic as inputs to the re-ranking logic having the neural network architecture 400 illustrated in the example of FIG. 4. The re-ranking logic orders the candidate items 138 according to a category distribution and the user preference scores 144. The re-ranking logic is configured to receive, for each candidate item, the respective user preference score 144 and a category popularity score 402 associated with the category to which the candidate item belongs.

[0077] In implementations, the re-ranking logic determines the category popularity score 402 based on the historical data 118 associated with the partner and the category to which the candidate item belongs. The category popularity score 402 may, for example, correspond to a category preference ratio for the partner, such as a category distribution associated with the previously-promoted items. As an example, based on the category distribution, the re-ranking logic may determine that the category popularity score 402 for a first category may be equal to 0.2 and the category popularity score 402 for a second category may be equal to 0.8, indicating that 20%of the previously-promoted items belong to the first category and 80%of the previously-promoted items belong to the second category. Thus, the re-ranking logic weights the user preference scores 144 to match the category distribution of the partner.

[0078] The re-ranking logic calculates the category probability score 402 for the candidate item based on the category to which the candidate item belongs. The re-ranking logic then computes a sampling probability 404 for the candidate item using the user preference score 144 and the category popularity score 402. The sampling probability 404 can be understood as a weighted user preference score, e.g., relative to the category distribution. In some examples, the sampling probability 404 is computed as a product of the user preference score 144 and the category popularity score 402.

[0079] The re-ranking logic then orders the candidate items 138 according to the respective sampling probabilities 404 and outputs at least one candidate item as the recommended item (s) 150 based on the ordering. For example, the re-ranking logic may sample the ordered candidate items according to the sampling probabilities 404 to obtain the recommended item (s) 150. Additionally, or alternatively, the re-ranking logic may select a subset of the ordered candidate items as the recommended item (s) 150, such as a quantity of candidate items having sampling probabilities 404 above a threshold sampling probability, or a quantity of candidate items having weighted user preference scores above a threshold weighted user preference score.

[0080] FIG. 5 depicts an example 500 of a user interface for partner-based item recommendations.

[0081] The example 500 can implement, or be implemented by, aspects of the environment 100. For instance, the example 500 includes displays via a user interface 502 of a computing device 102, which is an example of the corresponding device as described with reference to FIG. 1. The user interface 502 can be an example of a GUI. The computing device 102 can display an instance of an online marketplace application 504. In implementations, the computing device 102 generates the displays for a user account, such as a partner account as described herein. For example, the instance of the online marketplace application 504 may be associated with a user account (e.g., a buyer user account) with a corresponding identifier. The identifier may be a username for the user account (e.g., “User A” ) .

[0082] The example 500 includes previously-promoted items 506 and recommended items 508. As described herein, a recommender system, such as the recommender system 104 described with reference to FIG. 1, generates the recommended items 508 based on the previously-promoted items 506. The computing device 102 obtains the recommended items 508 output from the recommender system. For example, the recommender system can broadcast or otherwise transmit the output to the computing device 102 and / or to a user via the user interface 502. That is, broadcasting and / or transmitting the output can include a transmission of data including the output between physical devices via a network, such as the network (s) 108 as described with reference to FIG. 1. Additionally, or alternatively, broadcasting and / or transmitting the output can include displaying the output via a user interface 502 of a computing device 102. The computing device 102 displays the output via the user interface 502. For example, the computing device 102 displays, via the user interface 502, the recommended items 508.

[0083] In some examples, the user interface 502 includes interactive elements that provide for a user to select a recommended item from among the recommended items 508. When the user selects a recommended item, the user interface 502 generates a shareable link to a listing of the recommended item on the online marketplace. The user can use the sharable link to promote the recommended item. For instance, the user can copy the shareable link to a website, and visitors to the website can click the shareable link to be directed to the listing on the online marketplace.

[0084] Having discussed exemplary details of listwise autocomplete ranking with position debias, consider now some examples of procedures to illustrate additional aspects of the techniques.Example Procedures

[0085] This section describes examples of procedures for partner-based item recommendations. Aspects of the procedures may be implemented in hardware, firmware, or software, or a combination thereof. The procedures are shown as a set of blocks that specify operations performed by one or more devices and are not necessarily limited to the orders shown for performing the operations by the respective blocks.

[0086] FIG. 6 depicts a procedure 600 in an example implementation of partner-based item recommendations.

[0087] At 602, historical data associated with user engagement and transactions for a set of items is received. By way of example, a recommender system accesses data storage to retrieve historical data associated with available items listed on an online marketplace (e.g., a recommender system 104, a storage device 116, historical data 118, available items 132, and an online marketplace 112, as described with reference to FIG. 1) .

[0088] At 604, a set of candidate items is selected from the set of items based on at least one of a set of categories associated with the set of items, a set of popularity metrics associated with the set of items, or a set of similarity metrics associated with the set of candidate items and the set of items. By way of example, a neural network manager implements recall logic to select candidate items from the available items using a selection algorithm and based on categories associated with the available items (e.g., a neural network manager 106, recall logic 126, candidate items 138, a selection algorithm 136, and categories 134, as described with reference to FIG. 1) .

[0089] In variations, a set of popularity metrics is calculated based on the historical data. In some examples, to select the set of candidate items, the set of categories is selected from multiple categories based on a weighted average of the user engagement and transactions, a subset of items is selected from the set of items based on the set of popularity metrics, and the set of candidate items is selected from the subset of items based on the set of similarity metrics, where each item of the subset of items belongs to a category of the set of categories. Additionally, or alternatively, the subset of items each have a popularity metric satisfying a popularity threshold.

[0090] In variations, a respective average item embedding is obtained for each category of the set of categories, a respective item feature vector is obtained for each item of the subset of items, and a respective similarity metric is calculated for each item of the subset of items based on a comparison between the respective item feature vector and the respective average item embedding for the category to which the item belongs. In some examples, the subset of items each have a similarity metric satisfying a similarity threshold.

[0091] At 606, a respective user preference score for each candidate item of the set of candidate items is generated based on the historical data and using a neural network that includes an attention mechanism and a weighted loss function. By way of example, the neural network manager implements ranking logic to generate user preference scores using a local activation unit and a DIN model (e.g., ranking logic 128, user preference scores 144, a local activation unit 140, a DIN model 142, as described with reference to FIG. 1) .

[0092] In variations, to generate the respective user preference scores, a set of user feature vectors and a set of item feature vectors are received, each item feature vector corresponding to a candidate item of the set of candidate items. A representation of user behavior is obtained from the attention mechanism based on the historical data. A set of partner embeddings and a set of item embeddings are obtained by concatenating the set of user feature vectors, the set of item feature vectors, and the representation of the user behavior. In variations, the set of partner embeddings and the set of item embeddings are input to a DIN model of the neural network, and the weighted loss function is applied to a result of processing by the DIN model to obtain the respective user preference scores.

[0093] At 608, the set of candidate items are ordered according to the respective user preference score and a category distribution associated with the set of items. By way of example, the neural network manager implements re-ranking logic based on the user preference scores and a category distribution (e.g., re-ranking logic 130 and a category distribution 146, as described with reference to FIG. 1) . In variations, a sampling probability is calculated based on the respective user preference scores and the category distribution.

[0094] At 610, at least one of the set of candidate items is output based on the ordered set of candidate items. In variations, the ordered set of candidate items is sampled according to the sampling probability to obtain the at least one of the candidate items. In some examples, an indication of the at least one of the candidate items is transmitted to a device for display to a user. In some cases, the at least one of the candidate items includes a subset of candidate items each having a respective user preference score above a threshold user preference score.

[0095] FIG. 7 depicts a procedure 700 in an example implementation of partner-based item recommendations.

[0096] At 702, historical data associated with user engagement and transactions for a set of items is received, each item of the set of items belonging to a category of a set of categories. By way of example, a recommender system accesses data storage to retrieve historical data associated with available items listed on an online marketplace (e.g., a recommender system 104, a storage device 116, historical data 118, available items 132, and an online marketplace 112, as described with reference to FIG. 1) .

[0097] At 704, a subset of items is selected from the plurality of items based on a set of popularity metrics associated with the plurality of items, the subset of items each having a popularity metric satisfying a popularity threshold.

[0098] At 706, a respective similarity metric is calculated for each item of the subset of items based on a comparison between each item and an average item embedding of the category to which the item belongs. By way of example, a neural network manager implements recall logic to analyze available items using a selection algorithm and based on categories associated with the available items (e.g., a neural network manager 106, recall logic 126, available items 132, a selection algorithm 136, and categories 134, as described with reference to FIG. 1) .

[0099] At 708, a set of candidate items is selected from the subset of items, the set of candidate items corresponding to similarity metrics satisfying a similarity threshold. By way of example, the recall logic selects a set of candidate items from the available items (e.g., candidate items 138, as described with reference to FIG. 1) .

[0100] At 710, a respective user preference score is generated for each candidate item in the set of candidate items based on the historical data and using a neural network that includes an attention mechanism and a weighted loss function. By way of example, the neural network manager implements ranking logic to generate user preference scores using a local activation unit and a DIN model (e.g., ranking logic 128, user preference scores 144, a local activation unit 140, a DIN model 142, as described with reference to FIG. 1) .

[0101] In variations, a set of user feature vectors and a set of item feature vectors are received, each item feature vector corresponding to a candidate item of the set of candidate items. A representation of user behavior based on the historical data is obtained from the attention mechanism. A set of partner embeddings and a set of item embeddings are obtained by concatenating the set of user feature vectors, the set of item feature vectors, and the representation of the user behavior. In some examples, the set of partner embeddings and the set of item embeddings are input to a DIN model of the neural network, and the weighted loss function is applied to a result of processing by the DIN model to obtain the respective user preference scores.

[0102] At 712, the set of candidate items is ordered according to the respective user preference score and a category distribution associated with the plurality of items. By way of example, the neural network manager implements re-ranking logic based on the user preference scores and a category distribution (e.g., re-ranking logic 130 and a category distribution 146, as described with reference to FIG. 1) .

[0103] In variations, an indication of at least one of the candidate items is transmitted to a device for display to a user. In some examples, the at least one of the candidate items includes a subset of candidate items each having a respective user preference score above a threshold user preference score. In variations, a sampling probability is calculated based on the respective user preference scores and the category distribution. The ordered set of candidate items are sampled according to the sampling probability.

[0104] Having described examples of procedures in accordance with one or more implementations, consider now an example of a system and device that can be utilized to implement the various techniques described herein.Example System and Device

[0105] FIG. 8 illustrates an example of a system generally at 800 that includes an example of a computing device 802 that is representative of one or more computing systems and / or devices that may implement the various techniques described herein. This is illustrated through inclusion of the application 110 and the recommender system 104. The computing device 802 may be, for example, a server of a service provider, a device associated with a client (e.g., a client device) , an on-chip system, and / or any other suitable computing device or computing system.

[0106] The example computing device 802 as illustrated includes a processing system 804, one or more computer-readable media 806, and one or more I / O interfaces 808 that are communicatively coupled, one to another. Although not shown, the computing device 802 may further include a system bus or other data and command transfer system that couples the various components, one to another. A system bus can include any one or combination of different bus structures, such as a memory bus or memory controller, a peripheral bus, a universal serial bus, and / or a processor or local bus that utilizes any of a variety of bus architectures. A variety of other examples are also contemplated, such as control and data lines.

[0107] The processing system 804 is representative of functionality to perform one or more operations using hardware. Accordingly, the processing system 804 is illustrated as including hardware elements 810 that may be configured as processors, functional blocks, and so forth. This may include implementation in hardware as an application specific integrated circuit or other logic device formed using one or more semiconductors. The hardware elements 810 are not limited by the materials from which they are formed, or the processing mechanisms employed therein. For example, processors may be comprised of semiconductor (s) and / or transistors (e.g., electronic integrated circuits (ICs) ) . In such a context, processor-executable instructions may be electronically executable instructions.

[0108] The computer-readable media 806 is illustrated as including memory / storage 812. The memory / storage 812 represents memory / storage capacity associated with one or more computer-readable media. The memory / storage 812 may include volatile media (such as random-access memory (RAM) ) and / or nonvolatile media (such as read only memory (ROM) , Flash memory, optical disks, magnetic disks, and so forth) . The memory / storage 812 may include fixed media (e.g., RAM, ROM, a fixed hard drive, and so on) as well as removable media (e.g., Flash memory, a removable hard drive, an optical disc, and so forth) . The computer-readable media 806 may be configured in a variety of other ways as further described below.

[0109] Input / output interface (s) 808 are representative of functionality to allow a user to enter commands and information to computing device 802, and also allow information to be presented to the user and / or other components or devices using various input / output devices. Examples of input devices include a keyboard, a cursor control device (e.g., a mouse) , a microphone, a scanner, touch functionality (e.g., capacitive or other sensors that are configured to detect physical touch) , a camera (e.g., which may employ visible or non-visible wavelengths such as infrared frequencies to recognize movement as gestures that do not involve touch) , and so forth. Examples of output devices include a display device (e.g., a monitor or projector) , speakers, a printer, a network card, tactile-response device, and so forth. Thus, the computing device 802 may be configured in a variety of ways as further described below to support user interaction.

[0110] Various techniques may be described herein in the general context of software, hardware elements, or program modules. Generally, such modules include routines, programs, objects, elements, components, data structures, and so forth that perform particular tasks or implement particular abstract data types. The terms “module, ” “functionality, ” and “component” as used herein generally represent software, firmware, hardware, or a combination thereof. The features of the techniques described herein are platform-independent, meaning that the techniques may be implemented on a variety of commercial computing platforms having a variety of processors.

[0111] An implementation of the described modules and techniques may be stored on or transmitted across some form of computer-readable media. The computer-readable media may include a variety of media that may be accessed by the computing device 802. By way of example, and not limitation, computer-readable media may include “computer-readable storage media” and “computer-readable signal media. ”

[0112] “Computer-readable storage media” may refer to media and / or devices that enable persistent and / or non-transitory storage of information in contrast to mere signal transmission, carrier waves, or signals per se. Thus, computer-readable storage media refers to non-signal bearing media. The computer-readable storage media includes hardware such as volatile and non-volatile, removable and non-removable media and / or storage devices implemented in a method or technology suitable for storage of information such as computer readable instructions, data structures, program modules, logic elements / circuits, or other data. Examples of computer-readable storage media may include, but are not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical storage, hard disks, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or other storage device, tangible media, or article of manufacture suitable to store the desired information and which may be accessed by a computer.

[0113] “Computer-readable signal media” may refer to a signal-bearing medium that is configured to transmit instructions to the hardware of the computing device 802, such as via a network. Signal media typically may embody computer readable instructions, data structures, program modules, or other data in a modulated data signal, such as carrier waves, data signals, or other transport mechanism. Signal media also include any information delivery media. The term “modulated data signal” means a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal. By way of example, and not limitation, communication media include wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, RF, infrared, and other wireless media.

[0114] As previously described, hardware elements 810 and computer-readable media 806 are representative of modules, programmable device logic and / or fixed device logic implemented in a hardware form that may be employed in some embodiments to implement at least some aspects of the techniques described herein, such as to perform one or more instructions. Hardware may include components of an integrated circuit or on-chip system, an application-specific integrated circuit (ASIC) , a field-programmable gate array (FPGA) , a complex programmable logic device (CPLD) , and other implementations in silicon or other hardware. In this context, hardware may operate as a processing device that performs program tasks defined by instructions and / or logic embodied by the hardware as well as a hardware utilized to store instructions for execution, e.g., the computer-readable storage media described previously.

[0115] Combinations of the foregoing may also be employed to implement various techniques described herein. Accordingly, software, hardware, or executable modules may be implemented as one or more instructions and / or logic embodied on some form of computer-readable storage media and / or by one or more hardware elements 810. The computing device 802 may be configured to implement particular instructions and / or functions corresponding to the software and / or hardware modules. Accordingly, implementation of a module that is executable by the computing device 802 as software may be achieved at least partially in hardware, e.g., through use of computer-readable storage media and / or hardware elements 810 of the processing system 804. The instructions and / or functions may be executable / operable by one or more articles of manufacture (for example, one or more computing devices 802 and / or processing systems 804) to implement techniques, modules, and examples described herein.

[0116] The techniques described herein may be supported by various configurations of the computing device 802 and are not limited to the specific examples of the techniques described herein. This functionality may also be implemented all or in part through use of a distributed system, such as over a “cloud” 814 via a platform 816 as described below.

[0117] The cloud 814 includes and / or is representative of a platform 816 for resources 818. The platform 816 abstracts underlying functionality of hardware (e.g., servers) and software resources of the cloud 814. The resources 818 may include applications and / or data that can be utilized while computer processing is executed on servers that are remote from the computing device 802. Resources 818 can also include services provided over the Internet and / or through a subscriber network, such as a cellular or Wi-Fi network.

[0118] The platform 816 may abstract resources and functions to connect the computing device 802 with other computing devices. The platform 816 may also serve to abstract scaling of resources to provide a corresponding level of scale to encountered demand for the resources 818 that are implemented via the platform 816. Accordingly, in an interconnected device embodiment, implementation of functionality described herein may be distributed throughout the system 800. For example, the functionality may be implemented in part on the computing device 802 as well as via the platform 816 that abstracts the functionality of the cloud 814.Conclusion

[0119] Although the systems and techniques have been described in language specific to structural features and / or methodological acts, it is to be understood that the systems and techniques defined in the appended claims are not necessarily limited to the specific features or acts described. Rather, the specific features and acts are disclosed as example forms of implementing the claimed subject matter.

Claims

1.A method, comprising:receiving historical data associated with user engagement and transactions for a plurality of items;selecting a set of candidate items from the plurality of items based on at least one of a set of categories associated with the plurality of items, a set of popularity metrics associated with the plurality of items, or a set of similarity metrics associated with the set of candidate items and the plurality of items;generating, for each candidate item in the set of candidate items, a respective user preference score based on the historical data and using a neural network that includes an attention mechanism and a weighted loss function;ordering the set of candidate items according to the respective user preference score and a category distribution associated with the plurality of items; andoutputting at least one of the set of candidate items based on the ordered set of candidate items.2.The method of claim 1, further comprising calculating the set of popularity metrics based on the historical data.3.The method of claim 2, wherein selecting the set of candidate items comprises:selecting the set of categories from a plurality of categories based on a weighted average of the user engagement and transactions;selecting a subset of items from the plurality of items based on the set of popularity metrics, each item of the subset of items belonging to a category of the set of categories; andselecting the set of candidate items from the subset of items based on the set of similarity metrics.4.The method of claim 3, wherein the subset of items each have a popularity metric satisfying a popularity threshold.5.The method of claim 3, further comprising:obtaining a respective average feature vector for each category of the set of categories;obtaining a respective item feature vector for each item of the subset of items; andcalculating a respective similarity metric for each item of the subset of items based on a comparison between the respective item feature vector and the respective average feature vector for the category to which the item belongs.6.The method of claim 5, wherein the subset of items each have a similarity metric satisfying a similarity threshold.7.The method of claim 1, wherein ordering the set of candidate items comprises calculating a sampling probability based on the respective user preference score and the category distribution.8.The method of claim 7, wherein outputting the at least one of the set of candidate items comprises sampling the ordered set of candidate items according to the sampling probability to obtain the at least one of the set of candidate items.9.The method of claim 1, wherein generating the respective user preference score comprises:receiving a set of user feature vectors and a set of item feature vectors, each item feature vector corresponding to a candidate item of the set of candidate items;obtaining, from the attention mechanism, a representation of user behavior based on the historical data; andobtaining a set of partner embeddings and a set of item embeddings by concatenating the set of user feature vectors, the set of item feature vectors, and the representation of the user behavior.10.The method of claim 9, further comprising:inputting the set of partner embeddings and the set of item embeddings to a deep interest network model of the neural network; andapplying the weighted loss function to a result of processing by the deep interest network model to obtain the respective user preference score.11.The method of claim 1, wherein the outputting comprises transmitting an indication of the at least one of the candidate items to a device for display to a user.12.The method of claim 1, wherein the at least one of the set of candidate items includes a subset of candidate items each having a respective user preference score above a threshold user preference score.13.A system, comprising:one or more processors; anda computer-readable storage medium storing instructions that are executable by the one or more processors to perform operations comprising:receiving historical data associated with user engagement and transactions for a plurality of items, each item of the plurality of items belonging to a category of a set of categories;selecting a subset of items from the plurality of items based on a set of popularity metrics associated with the plurality of items, the subset of items each having a popularity metric satisfying a popularity threshold;calculating a respective similarity metric for each item of the subset of items based on a comparison between at least one feature of the item and at least one average feature of the category to which the item belongs;selecting, from the subset of items, a set of candidate items each having a respective similarity metric satisfying a similarity threshold;generating, using a neural network that includes an attention mechanism and a weighted loss function, a respective user preference score for each candidate item in the set of candidate items based on the historical data; andordering the set of candidate items according to the respective user preference score and a category distribution associated with the plurality of items.14.The system of claim 13, the operations further comprising transmitting an indication of at least one of the set of candidate items to a device for display to a user.15.The system of claim 14, wherein the at least one of the candidate items includes a subset of candidate items each having a respective user preference score above a threshold user preference score.16.The system of claim 13, wherein generating the respective user preference score comprises:receiving a set of user feature vectors and a set of item feature vectors, each item feature vector corresponding to a candidate item of the set of candidate items;obtaining, from the attention mechanism, a representation of user behavior based on the historical data; andobtaining a set of partner embeddings and a set of item embeddings by concatenating the set of user feature vectors, the set of item feature vectors, and the representation of the user behavior.17.The system of claim 16, the operations further comprising:inputting the set of partner embeddings and the set of item embeddings to a deep interest network model of the neural network; andapplying the weighted loss function to a result of processing by the deep interest network model to obtain the user preference score.18.The system of claim 13, the operations further comprising:calculating a sampling probability based on the respective user preference score and the category distribution; andsampling the ordered set of candidate items according to the sampling probability.19.A system, comprising:at least one machine-learning model implemented using one or more processing devices, the at least one machine-learning model having an architecture including:a local activation unit configured to model user behavior using an attention mechanism and based on historical user engagement and transaction data for a plurality of items;a deep neural network model configured to receive a set of partner embeddings associated with the user behavior and a set of item embeddings associated with the plurality of items; anda weighted loss function applied to a result of processing by the deep neural network model to generate a user preference score for each item in a set of candidate items.20.The system of claim 19, wherein the set of item embeddings are indicative of one or more attributes of the plurality of items.