Cascade category recommender

By using a candidate category model and category embedding technology in a cascaded category recommender, the problems of negative sample selection and accuracy in category-level recommendation are solved, achieving accurate recommendations for user category preferences, especially high-precision recommendations for cold-start users.

CN120974016APending Publication Date: 2025-11-18EBAY INC +1
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510626472.6
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2025-03-13
Filing Date
2025-05-15
Publication Date
2025-11-18

AI Technical Summary

Technical Problem

Existing recommender systems face challenges in category-level recommendations, including difficulty in selecting negative samples, lossy category inference, and high-precision recommendation, especially for cold-start users and those with limited interaction history, making it difficult to effectively distinguish user preferences.

Method used

A cascaded category recommender, comprising a candidate category model, a per-user category encoder, and a category prediction model, is employed to address the issues of negative sample selection and spurious samples by generating user-specific category embeddings and an accurate loss function, thereby improving recommendation accuracy.

Benefits of technology

It effectively distinguishes the category-level preferences of different users, improving the accuracy and precision of category-level recommendations. In particular, it reduces the occurrence of false negative and false positive samples for users with limited interaction history.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120974016A_ABST
    Figure CN120974016A_ABST
Patent Text Reader

Abstract

Some aspects relate to techniques for category recommendation for a list platform using cascaded category recommenders. The cascaded category recommender includes a candidate category model, a per-user category encoder, and a category prediction model. Given a sequence of interaction categories of the user, the candidate category model selects candidate categories from a set of categories that set categories of the list of items on the list platform. A per-user category encoder generates a category embedding for each interaction category based on the interaction items of the user corresponding to each interaction category. A category prediction model selects a category for recommendation using candidate categories, a sequence of interactive categories, and category embedding.
Need to check novelty before this filing date? Find Prior Art

Description

Cross-references to related applications

[0001] This application claims priority to U.S. Provisional Application No. 63 / 649,168, filed May 17, 2024, and U.S. Non-Provisional Application No. 19 / 078,705, filed March 13, 2025, which are incorporated herein by reference in their entirety. Technical Field

[0002] Some aspects involve techniques for category recommendation on list platforms that use cascaded category recommenders. Background Technology

[0003] Listing platforms (e.g., e-commerce websites) are online platforms that offer users products, services, digital content (e.g., music, videos, etc.), or other items. These platforms typically offer a vast number of items. While some items are relevant to any given user, most are not. Therefore, item retrieval on listing platforms presents a specific, internet-centric problem that has proven difficult to fully solve. Specifically, given the large number of items available on a listing platform, the question is: which items should be retrieved and presented to the user, and in what order?

[0004] Given a vast number of available items, listing platforms include features such as search and recommendations to help users find items of interest on the platform. For example, listing platforms typically offer search capabilities that receive user queries and return search results identifying items relevant to the user's query.

[0005] Listing platforms also frequently utilize recommender systems (often referred to as recommender systems or recommenders). Many conventional recommender systems focus on recommending specific sets of items, but some listing platforms have begun exploring user interests at the category level. Among other things, category-level recommendations allow listing platforms to foster user engagement by extending user interests to different types of items. Furthermore, category-level recommendations complement item-level recommendations when item-level recommendations are extremely challenging for users with limited information and little prior interaction (i.e., the cold start problem). Additionally, category-level recommendations facilitate item-level recommendations by helping to explore item-level preferences. Summary of the Invention

[0006] Among other things, some aspects of this technology relate to category-level recommendation for list platforms using a cascaded category recommender. The cascaded category recommender comprises a candidate category model, a per-user category encoder, and a category prediction model. Given a user's sequence of interaction categories, the candidate category model selects candidate categories from a set of categories that define the categories of the list of items on the list platform. The candidate categories provide negative and positive samples cascaded into the candidate category model. The per-user category encoder generates a category embedding for each interaction category based on the user's interaction items corresponding to each interaction category. Thus, the encoder provides user-specific category embeddings that encode item-level information and, in some respects, user characteristics. The category prediction model uses the candidate categories, the sequence of interaction categories, and the category embeddings to select the category for recommendation. During training, the category prediction model learns to separate negative and positive samples from the candidate category model.

[0007] This summary is provided to describe in simplified form the selection of concepts further described below in the detailed description. This summary is not intended to identify key or essential features of the claimed subject matter, nor is it intended to help determine the scope of the claimed subject matter. Attached Figure Description

[0008] Embodiments of the present technology are described in detail below with reference to the accompanying drawings, in which:

[0009] Figure 1 This is a block diagram illustrating an exemplary system according to some embodiments of the present disclosure;

[0010] Figure 2 This is a block diagram illustrating an example model architecture of a cascaded category recommender according to some embodiments of the present disclosure;

[0011] Figure 3 This is a block diagram illustrating an example candidate category model according to some embodiments of the present disclosure;

[0012] Figure 4 This is a block diagram illustrating an example per-user category encoder according to some embodiments of the present disclosure;

[0013] Figure 5 This is a block diagram illustrating an example category prediction model according to some embodiments of the present disclosure;

[0014] Figure 6 This is a flowchart illustrating a method for training a category prediction model for a cascaded category recommender according to some embodiments of the present disclosure;

[0015] Figure 7 This is a flowchart illustrating a method for generating category recommendations using a cascaded category recommender according to some embodiments of the present disclosure; and

[0016] Figure 8 This is a block diagram of an exemplary computing environment suitable for use in embodiments of this disclosure. Detailed Implementation Overview

[0017] Existing recommender systems primarily focus on recommending specific sets of items, but there has been a growing interest in category-level recommendations. In category-level recommendations, instead of directly recommending items, the categories of those items are recommended.

[0018] Traditionally, category-based recommendations have been explored to aid item recommendation. These works leverage category-level preferences (or "intents") to improve item-level recommendations, particularly for new users facing the cold-start problem. Category-level preferences are generally more stable and less volatile than item-level interests because users, despite being interested in a wide range of items, typically explore within a narrower range of categories. Unlike the more volatile item-level interactions, this stability makes category-level signals more reliable, reducing the likelihood of overlooking preferred categories. Furthermore, a smaller pool of candidate categories simplifies the recommendation process for users with limited interaction history, making it more feasible than recommending a large number of individual items. Fundamentally, focusing on a few relevant categories is more practical and user-friendly than overwhelming users with too many choices.

[0019] However, in many emerging scenarios, category recommendation itself is important for various applications. Despite the recognized advantages of category-level recommendation systems, this system remains relatively underdeveloped. Previous methods primarily adapted approaches designed for item-level recommendation to category-level prediction. In other words, these methods simply treated categories as items and ignored all item-level information.

[0020] Several technical challenges exist in training machine learning models for category-level recommendations. First, the categories inferred from user interactions with items on a list platform can conflict, making it difficult to select a negative category for training. For example, suppose a user has interacted with a first phone call (Phone 1) but not a second phone call (Phone 2). For item-level recommendations, Phone 1 acts as a positive sample for the user, and Phone 2 acts as a negative sample. However, in the case of category-level recommendations, the inferred category for both items is the same (i.e., phone), and it cannot be its own negative category.

[0021] Secondly, the inferred categories can be lossy, making it impossible to distinguish users based on their category history. This is especially evident for less experienced users with limited interaction history. For example, two different users may have the same past interactions with certain categories, but the specific items they interacted with in those categories may differ, and the users may have different future interests. In this case, relying solely on category interactions makes the two users indistinguishable.

[0022] Third, the goal of recommending a concise set of categories presents the challenge of maintaining high accuracy within these limited category recommendations. This makes it unsuitable for direct adaptation to item-level recommendations, as item-level recommendations primarily focus on high recall from a large number of predicted items.

[0023] The technology described in this paper addresses shortcomings in existing recommendation technologies, including the aforementioned technical challenges, by providing a cascaded category recommender that generates category-level recommendations for list platforms. This cascaded category recommender comprises three components: a candidate category model, a per-user category encoder, and a category prediction model. As will be described in further detail, given a user's sequence of interaction categories, the candidate category model selects candidate categories from a set of categories that define the categories of the list of items on the list platform. The per-user category encoder generates a category embedding for each interaction category based on the user's interaction items corresponding to each interaction category. The category prediction model uses the candidate categories, the sequence of interaction categories, and the category embeddings to select the category for recommendation.

[0024] The cascaded category recommender described in this paper addresses the first challenge mentioned above by providing strong negative samples through comprehensive inference of user preferences. Since item-level preferences can lead to false negatives if used alone, the aspect described in this paper aggregates them at the category level by ignoring their item-level differences. Specifically, given a user's sequence of interactive items (i.e., a list of items on a list platform with which the user interacts), interactive items are mapped to their corresponding categories to provide the user's sequence of interactive categories. During model training, each user's sequence of interactive categories is divided into two separate sequences. The first sequence, referred to in this paper as the past interactive category sequence, is used as input to the recommender for category prediction. The second sequence appears after the first sequence and is referred to in this paper as the future interactive category sequence. The second sequence serves as the base facts for training purposes. More specifically, given a user's past interactive category sequence, the candidate category model generates a list of candidate categories for downstream processing by the category prediction model. Any candidate category that does not appear within the user's future interactive categories is considered a negative sample for training the category prediction model.

[0025] The cascaded category recommender described in this paper addresses the second challenge mentioned above by using item-dependent category embeddings. Specifically, a per-user category encoder generates user-specific category embeddings, thus distinguishing different users who are similar at the category level. For a given user, the user's item-level interactions with each category (and in some cases, user features such as demographic information) are provided as input to the per-user category encoder. In some aspects, the per-user category encoder aims to reconstruct the input information such that the encoder output can be viewed as an embedding of each category interacted with by the given user. Therefore, user-dependent and item-dependent category embeddings are generated for each category with which the user interacts. Thus, for two different users, the same category can have different category embeddings. This provides a means to distinguish users who are the same at the category level. Furthermore, the category embeddings can be enriched by providing more item-level information.

[0026] Cascaded category recommenders address the third challenge mentioned above by applying a precise center loss function (proportional to the probability of a negative sample being incorrect). Limiting the size of the output is equivalent to avoiding false positive samples. In other words, in addition to optimizing recall, the goal is also to achieve high precision. The candidate category model is used to provide candidate categories that are more likely to be true positive samples. Therefore, if these candidate categories do indeed become false positive samples, it provides false positive samples. The higher the probability scores of candidate categories from the candidate category model, the larger the penalty of the loss function.

[0027] Furthermore, the outputs of the candidate class model and the per-user class encoder are used to construct the class prediction model to perform the final class prediction. The candidate class model is trained using a two-part loss function. The first part aims to correct errors in the candidate class model and avoid false positives. The second part penalizes false negatives predicted by the class prediction model. To fully train the model, a continuous loss function is designed to combine these two factors. Example system for cascaded category recommenders

[0028] Now refer to the attached diagram, Figure 1This is a block diagram illustrating an exemplary system 100 for training and deploying a cascaded category recommender according to embodiments of the present disclosure. It should be understood that the arrangements and other arrangements described herein are illustrative only. Other arrangements and elements (e.g., machines, interfaces, functions, commands, and groupings of functions) may be used to supplement or replace the shown arrangements and elements, and some elements may be omitted entirely. Furthermore, many of the elements described herein are functional entities that can be implemented as discrete or distributed components or in combination with other components, and implemented in any suitable combination and location. The various functions performed by one or more entities described herein can be performed by hardware, firmware, and / or software. For example, various functions can be performed by a processor that executes instructions stored in memory.

[0029] System 100 is an example of a suitable architecture for implementing some aspects of this disclosure. In addition to other components not shown, system 100 includes user equipment 102, a list platform 104, and a recommendation system 106. Figure 1 Each of the user device 102, list platform 104, and recommender system 106 shown may include one or more computer devices, such as those discussed below. Figure 8 The computing device 800. For example... Figure 1 As shown, user equipment 102, list platform 104, and recommendation system 106 can communicate via network 110, which may include, but is not limited to, one or more local area networks (LANs) and / or wide area networks (WANs). Such network environments are common in offices, enterprise-wide computer networks, intranets, and the Internet. It should be understood that, within the scope of this technology, any number of user equipment and servers can be used within system 100. Each can include a single device or multiple devices collaborating in a distributed environment. For example, list platform 104 and recommendation system 106 can each be provided by multiple server devices that collectively provide the functionality of list platform 104 and recommendation system 106 as described herein. Furthermore, other components not shown may also be included within the network environment.

[0030] User device 102 may be a client device on the client side of operating environment 100, while list platform 104 and recommendation system 106 may be on the server side of operating environment 100. List platform 104 and / or recommendation system 106 may each include server-side software designed to work in conjunction with the client-side software on user device 102 to implement any combination of features and functionalities discussed in this disclosure. For example, user device 102 may include application 108 for interacting with list platform 104 and / or recommendation system 106. Application 108 may be, for example, a web browser or a dedicated application for providing functionality such as that described herein. This division of operating environment 100 is provided to illustrate an example of a suitable environment, and it is not required for any combination of list platform 104 and recommendation system 106 to remain separate entities for each implementation. For example, in some aspects, recommendation system 106 is part of list platform 104. Although operating environment 100 illustrates a configuration with separate user devices, list platforms, and recommendation systems in a networked environment, it should be understood that other configurations in which various components are combined may be adopted.

[0031] User equipment 102 may include any type of computing device that a user can use. For example, in one aspect, the user equipment may be what is described herein as... Figure 8 The computing device 800 is of the type described. By way of example and not limitation, user device 102 may be a personal computer (PC), laptop computer, mobile phone or mobile device, smartphone, tablet computer, smartwatch, wearable computer, personal digital assistant (PDA), MP3 player, global positioning system (GPS) or device, video player, handheld communication device, gaming device or system, entertainment system, in-vehicle computer system, embedded system controller, remote control, electrical appliance, consumer electronics device, workstation, or any combination of these described devices, or any other suitable device. A user can associate with user device 102 and can interact with list platform 104 and / or recommendation system 106 via user device 102.

[0032] Listing platform 104 can be implemented using one or more server devices, one or more platforms with corresponding application programming interfaces, cloud infrastructure, etc. Listing platform 104 typically provides user devices, such as user device 102, with a list of items describing (physical or digital) items that can be purchased, rented, streamed, downloaded, etc. For example, listing platform 104 may include an e-commerce platform where listed products or services are available for purchase by a user of user device 102 when navigating to listing platform 104. As other examples, listing platform 104 may include a rental platform listing various items for rent (e.g., equipment, tools, real estate, vehicles, contractors) or a media platform listing digital content items (e.g., digital content for streaming / downloading).

[0033] The listing platform 104 provides an interface that presents a list of items to users of the listing platform 104. The list of items available for sale / rental / consumption via the listing platform 104 is stored by the item list data storage device 112. Each item list may include a description associated with the item, including one or more of the following: price in currency, reviews, item image, shipping options, rating, item condition, item size, item color, etc. In some respects, each item list is associated with one or more categories in a category set defined by the listing platform 104. The category set defines the category scope of the listing platform 104 and may include meta-categories and leaf categories. For example, meta-categories may each be divided into subcategories (or branch categories), while leaf categories may not be divided.

[0034] The list platform 104 also tracks information about user interactions with items and stores this information in the user interaction data storage device 114. Among other information, the user interaction data storage device 114 can store information for each user interaction, identifying: the user performing the interaction (e.g., via a user identifier), the item the user interacted with (e.g., via an item identifier), the action performed by the user on the item (e.g., viewing, adding to cart, adding to wishlist, purchasing, etc.), and a timestamp indicating the point in time when the user interaction occurred.

[0035] Recommendation system 106 generates category-level recommendations for users of list platform 104. For example... Figure 1 As shown, the recommender system 106 includes a data input component 116, a cascading category recommender 118, and a user interface component 120. The components of recommender system 106 can be components other than those providing additional functionality beyond the features described herein. Recommender system 106 can be implemented using one or more server devices, one or more platforms with corresponding application programming interfaces, cloud infrastructure, etc. Although in Figure 1In this configuration, the recommendation system 106 is shown as separate from the list platform 104 and user device 102; however, it should be understood that in other configurations, some functionality of the recommendation system 106 may be provided on the list platform 104 and / or user device 102. Furthermore, while these components are shown as part of the recommendation system 106, in other configurations, one or more components may be provided by the list platform 104 or... Figure 1 Other locations not shown in the diagram may be provided. These components may be provided by a single entity or multiple entities.

[0036] In some aspects, the functions performed by the components of recommender system 106 are associated with one or more applications, services, or routines. Specifically, such applications, services, or routines may run on one or more user devices or servers, may be distributed across one or more user devices and servers, or may be implemented in the cloud. Furthermore, in some aspects, these components of recommender system 106 may be distributed across a network (including one or more servers and client devices), in the cloud, and / or may reside on user devices. Additionally, these components, the functions performed by these components, or the services implemented by these components may be implemented at an appropriate abstraction layer of the computing system (e.g., operating system layer, application layer, hardware layer, etc.). Alternatively or additionally, the functions of these components and / or the technical aspects described herein may be performed at least in part by one or more hardware logic components. Examples of hardware logic components that may be used, such as but not limited to, include field-programmable gate arrays (FPGAs), application-specific integrated circuits (ASICs), application-specific standard products (ASSPs), system-on-a-chip (SoCs), complex programmable logic devices (CPLDs), etc. Furthermore, although the functions are described herein with reference to the specific components shown in example system 100, it is conceivable that, in some aspects, the functions of these components may be shared or distributed across other components.

[0037] Data input component 116 accesses data used for training the cascaded category recommender 118 and for model inference (i.e., using the trained cascaded category recommender 118 to predict categories as recommendations to users). Among other data, data input component 116 accesses information from user interaction data storage device 114 regarding user interactions with the list of items. For each user on list platform 104, the accessed information may include a sequence of interacting items. A given user's sequence of interacting items identifies the list of items that the user interacted with in the order they interacted with the list of items on list platform 104.

[0038] For each user, the data input component 116 also accesses an interaction category sequence, which is a sequence of categories corresponding to the user's sequence of interaction items. A given user's interaction category sequence can be obtained by mapping each interaction item in the user's sequence of interaction items to a corresponding category. For example, the data stored for each item list may include an identifier for the corresponding category, and the interaction category sequence can be obtained by mapping each interaction item to the corresponding category identified in its item list data.

[0039] During training, a given sequence of user interaction categories is divided into two sequences. The first sequence, referred to herein as the past interaction category sequence, serves as the input to the category prediction model. The second sequence follows the first sequence and is referred to herein as the future interaction category sequence, serving as the basis facts for model training. For example, a user's interaction category sequence could span a three-month period and could be divided into a past interaction category sequence from the first two months and a future interaction category sequence from the third month. In other words, the future interaction category is considered to be the "future" that is temporally related to the past interaction category. As will be described in further detail below, the past interaction category sequence serves as the model's input for predicting categories based on that sequence, and the future interaction category sequence serves as the basis facts for comparison with the predicted categories. Similarly, a sequence of interaction items can be divided into a past interaction item sequence and a future interaction item sequence.

[0040] In some respects, the data input component 116 also accesses user characteristics for each user. User characteristics include information describing each user, such as user demographics (e.g., age, gender, location, etc.) and user device characteristics (e.g., device type, operating system, etc.).

[0041] Cascaded Category Recommender 118 is a machine learning model trained to predict categories for a user based on the user's item interactions (and in some respects, also based on the user's user characteristics). Figure 1 As shown, the cascaded category recommender 118 comprises three components: a candidate category model 122, a per-user category encoder 124, and a category prediction model 126. Each of these components 122, 124, and 126 may include a neural network (also referred to as an artificial neural network). As used herein, a neural network comprises multiple operational layers. For example, in some cases, a neural network may include an input layer and an output layer, as well as any number of hidden layers between the input and output layers. Each layer comprises neurons. Different types of layers and networks connect neurons in different ways. A neuron has weights, an activation function that defines the neuron's output given an input (including the weights), and an output. Weights are adjustable parameters that enable the network to produce the correct output.

[0042] Candidate category model 122 takes the user's interaction category sequence as input and selects candidate categories for downstream processing by category prediction model 126. In some aspects, given the user's interaction category sequence, candidate category model 122 generates probability scores for each category in a defined category set of list platform 104. This category set sets the categories of all lists of items on list platform 104. The category with the highest probability score is selected as a candidate category. This may, for example, include selecting the top N (where N is configurable) categories. In some aspects, candidate category model 122 includes a model architecture (e.g., a transformer-based model or a Long Short-Term Memory (LSTM)-based model) that utilizes information about the sequence of user interactions with the interaction categories.

[0043] The per-user category encoder 124 generates a category embedding for each category based on the user's sequence of interaction categories. For a given interaction category, the per-user category encoder 124 takes the interaction category, the user's items in the sequence of interaction items that fall within that interaction category, and (in some respects) the user's user characteristics as input. Given these inputs, the per-user category encoder 124 generates a category embedding for the interaction category. In this way, the per-user category encoder 124 generates user-specific category embeddings based on each user's item interactions and, in some cases, their user characteristics.

[0044] The category prediction model 126 takes as input the category embedding generated by the per-user category encoder 124, the user's interaction category sequence, and the candidate categories identified by the candidate category model 122. Given these inputs, the category prediction model 126 generates a probability score for each candidate category.

[0045] During training, as previously shown, user interaction categories can be divided into a sequence of past interaction categories and a sequence of future interaction categories. User interaction items can be similarly divided. The sequence of past interaction categories and the sequence of past interaction items are used as input, while the sequence of future interaction categories is used as the basic facts for model training.

[0046] In some respects, two loss functions can be used to update the parameters (e.g., weights) of the category prediction model 126 (e.g., via backpropagation). The first loss function addresses the error of the candidate category model 122 by comparing the probability scores of candidate categories from the candidate category model 122 with the future interaction category sequence. Thus, the first loss function takes into account candidate categories with high probability scores that do not appear in the future interaction category sequence. Such candidate categories are considered false positives or negatives used to train the category prediction model 126. The second loss function addresses the error of the category prediction model 126 by comparing the probability scores of candidate categories from the category prediction model 126 with the future interaction category sequence. Thus, the second loss function penalizes false negatives—that is, candidate categories from the category prediction model 126 with low probability scores that appear in the future interaction category sequence.

[0047] During inference, the system accesses a sequence of interaction categories, a sequence of interaction items, and user characteristics in some aspects for a given user. Given the sequence of interaction categories, candidate category model 122 selects certain categories as candidate categories from the category set of list platform 104. Furthermore, per-user category encoder 124 generates a category embedding for each interaction category of the user based on the sequence of interaction items and, in some cases, the user's user characteristics. The category embeddings, the sequence of interaction categories, and the candidate categories are provided as input to category prediction model 126, which generates a probability score for each candidate category. Based on the probability scores from category prediction model 126, one or more categories are selected for category-level recommendations to the user.

[0048] The following is for reference. Figures 2 to 5 Additional details regarding the cascaded category recommender 118 and its components, based on some aspects of this technology, are provided.

[0049] The recommender system 106 also includes a user interface component 120, which provides one or more user interfaces for interacting with the list platform 104 and / or the recommender system 106. Although shown as Figure 1The user interface component 120 is part of the recommendation system 106, but in some configurations, it may be part of the list platform 104. The user interface component 120 provides one or more user interfaces to a user device (e.g., user device 102). In some cases, the user interface may be presented on user device 102 via application 108, which may be a web browser or a dedicated application for interacting with list platform 104 and / or recommendation system 106. For example, among other things, user interface component 120 may provide a user interface for providing category-level recommendations to a user based on category predictions made by cascaded category recommenders 118. By way of example and not limitation, when a user visits a website provided by list platform 104 (e.g., via application 108 on user device 102), the user's category recommendations may be presented on the website's homepage or other web pages.

[0050] Now for reference Figure 2 It provides a cascaded category recommender (which can correspond to...) Figure 1 A block diagram of an example model architecture for a cascading category recommender (e.g., a cascading category recommender). Figure 2 As shown, the model architecture includes candidate category model 208 (which can correspond to...) Figure 1 Candidate category model 122), per-user category encoder 212 (which can correspond to Figure 1 The per-user category encoder 124), and the category prediction model 216 (which can correspond to Figure 1 Category prediction model 126).

[0051] For descriptive purposes, the following symbols will be used in this article. Let... It is a user set, and It is an itemset. Given a set of categories. Mapping function Indicates the category of each item. For example, g(book1) = book. Each user has some known user characteristics. .set up It is a collection of past interaction sequences between users and projects. In other words, for each user... There exists a sequence of past interactive items. .For example, ={Phone 1, Office 1}. In some respects, it is assumed that each user will have at most k known interaction categories. In other words, For any user Given the user's characteristics And in the past at the project level and category level The goal of a cascading category recommender is to predict which categories a user is likely to interact with in the future. For example, for , Table 1 shows an overview of the symbols. Table 1

[0052] like Figure 2 As shown, for a given user t, the input to the cascaded recommender includes a sequence of 202 past interaction items (…). ), Past Interaction Category Sequence 204 ( ), and user feature 206 ( Therefore, this demonstrates model training.

[0053] First, refer to candidate class model 208, which aims to provide negative samples that satisfy two objectives: generating strong negative samples and avoiding false negative samples. Candidate class model 208 is used to infer the probability distribution of future classes for at least two reasons: (1) to comprehensively explore user interests at the class level; and (2) to provide negative samples to train class prediction model 216. Candidate class model 208 acts as a candidate list generator and also provides negative samples. In some respects, the task of candidate generation is treated as a classification problem. Item-level negative samples are not suitable for class-level negative sampling, therefore candidate class model 208 ignores item-level interactions ( Therefore, as Figure 2 As shown, the input to the candidate category model 208 is the user's past interaction category sequence 204. Given this input, the candidate category model 208 generates a probability distribution of categories in the category set. This probability distribution provides a probability score for each category in the category set, and candidate categories are selected based on the corresponding probability scores to provide a candidate category list 210. Negative samples include any category from category list 210 that has not yet been included in the user's future interaction category sequence (i.e., - Furthermore, because these negative samples have high scores in the probability model, they may result in high losses when adjusting the class prediction model 216.

[0054] The selection of negative samples may seem overly confident, but in the context of category recommendation, their use minimizes the risk of false negatives. Due to the potential similarity between items and the instability of user interests, selecting highly probable items from the model can lead to a high false negative rate. Conversely, to a certain predefined degree, categories are inherently dissimilar; otherwise, they would have been merged into a broader category long ago. Given the significant differences between categories, class transitions are much more difficult. Utilizing these significant differences within categories allows for the selection of stronger negative samples, thus contributing to improved model fine-tuning.

[0055] The per-user category encoder 212 generates category embeddings for each category based on the user's past interaction category sequence. These category embeddings 214 ( This is used as input to the category prediction model 216. One goal of this method is to distinguish users who exhibit similarity at the category level. To achieve this, the per-user category encoder 212 takes as input a combination of the user's item-level interactions within each category in the sequence of past interaction items 202 and the user's user features 206. The per-user category encoder 212 is designed to reconstruct this input information, where the output from the encoder serves as the category embedding for each category the user has interacted with. Therefore, depending on the user and the interaction items within each category, this produces different category embeddings for each of the user's past interaction categories. It should be noted that although Figure 2 The diagram illustrates a configuration for generating category embeddings based on a combination of user characteristics and interactive items within each category. However, in other respects, category embeddings can be generated based on interactive items within each category without using user characteristics.

[0056] A loss function is used to train the category prediction model 216 for category prediction, which leverages the insights of the candidate category model 208. The objectives of training the category prediction model 216 include avoiding false negatives (i.e., not recommending categories of genuine interest) and minimizing false positives (i.e., recommending items that are not attractive to the user). To achieve this, in some respects, the model focuses primarily on optimizing precision rather than recall, to differentiate it from item-level recommenders. As discussed further in detail below, the category prediction model 216 is trained using a dedicated differentiable loss function that adjusts the penalty based on the output from the candidate category model 208. This trains the category prediction model 216 to avoid the errors made by the candidate category model 208, which are incorrect categories that receive high probability scores from the candidate category model 208 (i.e., categories that do not appear in the user's future interaction category sequence). In some respects, this additional loss function grows quadratically relative to the output from the candidate category model 208.

[0057] Figure 3 Example model architecture 300 based on candidate category models is provided. Model architecture 300 includes a transformer-based model. However, it should be noted that model architecture 300 is provided only as an example, and other model architectures utilizing sequence information can also be used to provide candidate category models. Figure 3 As shown, the model architecture 300 includes an embedding layer 304 (E1), a position encoder 306 (PE), a transformer encoder 308 (T), a maximum likelihood estimator 312 (MLE) (which may include two fully connected layers), and a LogSoftMax layer 316.

[0058] First, provide the user's past interaction category sequence 302 ( As input to embedding layer 304, to obtain a representation of each past interaction category. Assume... If the embedding dimension is MLE, then the embedding sequence is Where k is the maximum length of the interaction sequence. A sequence encoding 310 (e.g., embedding) for the entire sequence is generated using a transformer-like method by encoding each past interaction category. In addition to the category encoding from the embedding layer 304, positional information is also learned by the position encoder 306 through multi-head attention. The sequence encoding from the embedding layer 304 and the output from the position encoder are then utilized. Transformer T provides sequence encoding 310. Then, the output from the transformer is used... To train MLE 312 to provide dimensions The probability vector 314 provides a probability score for each category in the category set of the list platform. Finally, the LogSoftMax layer 316 uses this probability vector 314 to provide a list of categories with high probability scores. ).

[0059] Because the number of categories is typically much smaller than the number of items, some aspects treat this recommendation problem as a classification problem. Each user will be classified into... In one or more of the categories, it indicates the user's future preferences in the corresponding category. In some respects, negative log-likelihood loss (NLLLoss) is used as the loss function for training MLE 312. As shown below:

[0060]

[0061] A list of categories with high probability scores is formed. This list will be used in the category prediction model. During training, in addition to this list of categories, their corresponding probability vectors are also included. It is also passed to the category prediction model to calculate the loss for false positives, as will be described in further detail below.

[0062] Figure 4 A sample model architecture 400 for a per-user category encoder based on some aspects is provided. It should be noted that model architecture 400 is provided only as an example, and other model architectures may also be used to provide a per-user category encoder.

[0063] A specific challenge is that not all users like the same kinds of products within a category. This means that even if two users interact with a category, they might pick completely different items from that category. This choice difference highlights the challenge of using only category-level data to understand what users like, as it misses the specific details of each user's preferences. To address this issue, some aspects utilize data related to the items each user interacts with within certain categories, and in some configurations, also use user characteristics such as demographic information (e.g., age or gender). By doing so, per-user representations (i.e., embeddings) of categories can be generated that take into account these finer details of what different users prefer.

[0064] Figure 4 The configuration uses a variational autoencoder (VAE) to learn these detailed category embeddings. Category embeddings are generated for each of the user's past interaction categories. For a given user t and that user's given past interaction categories... The model takes 408 concatenated input vectors. It consists of the following items: (User characteristic 402); (The user's past interaction items have past interaction categories) (projects); and (Representation of past interaction categories 406). This vector 408 is processed by two multilayer perceptron (MLP) units, producing two outputs: the mean of the latent distribution. 410 and logarithmic variance 412. By using parameters and The hidden representation is obtained by sampling from this distribution. 414, then decode it to reconstruct the input. 416. This process ensures that the category embedding obtained in the case of past interaction categories is accurate. 414 accurately encapsulates item-level preferences tailored to user demographics. This process is performed for each of the user's past interaction categories to provide a category embedding for each past interaction category.

[0065] VAEs are employed in several aspects for several reasons. First, VAEs excel at learning complex high-dimensional data distributions, making them well-suited for capturing the intricate relationships between users, their characteristics, and their interactions with items within categories. Furthermore, the probabilistic nature of VAEs allows for the generation of continuous, smooth category embeddings, which can effectively interpolate subtle user preferences. Additionally, the reconstruction objectives of VAEs ensure that the learned embeddings maintain strong connections to the original data, thus preserving the integrity of user preferences while also facilitating the discovery of underlying structures within the data.

[0066] Figure 5 Example model architecture 500 for a category prediction model based on some aspects is provided. It should be noted that model architecture 500 is provided only as an example, and other model architectures can also be used to provide category prediction models.

[0067] The category prediction model uses the output from the candidate category model and the per-user category embedder to perform fine-grained category predictions. For example... Figure 5 As shown, the category prediction model obtains category embeddings from a per-user category encoder and processes them using an MLP 508 (e.g., a two-layer fully connected network) to provide embeddings 510. Furthermore, the embedding layer... Learning the embeddings of past interaction categories 514 and each individual candidate category The embeddings are 516. For each candidate category, all these embeddings are concatenated together as input to MLP 508, which outputs each candidate category for that user. The probability score is 520. .

[0068] In some respects, the category prediction model is trained using a loss function comprising two parts: a first loss function that penalizes false positives from the candidate category model; and a second loss function that handles false negatives from the category prediction model. Thus, the candidate prediction model is trained to correct errors made by the candidate category model and avoid false positives. The first loss function is designed to yield a higher loss for candidate categories with high probability scores but not appearing in the user's future interaction category sequence. On the other hand, it should cause zero loss if a candidate category from the candidate category model is indeed a true positive (i.e., a category that appears in the user's future interaction category sequence). In some respects, the first loss function is defined by the following differentiable loss function:

[0069]

[0070] in, It indicates the source from the candidate category model. Each candidate category The sequence of probability scores, and It is an instruction Each candidate category A sequence of basic facts, wherein the category appears in the user's future interaction category sequence if and only if the category appears in the sequence of categories (i.e., At that time, the first The element is 1.

[0071] As mentioned above, the second loss function penalizes false negative samples from the candidate prediction model. In some respects, the second loss function is defined by the following mean squared error function:

[0072]

[0073] in, It indicates the data from the category prediction model. Each candidate category The sequence of probability scores, and It is an instruction Each candidate category A sequence of basic facts, wherein the category appears in the user's future interaction category sequence if and only if the category appears in the sequence of categories (i.e., At that time, the first The element is 1.

[0074] Therefore, in some respects, the total loss function used to train the category prediction model is provided as follows:

[0075] Example methods for cascaded category recommenders

[0076] Now for reference Figure 6 A flowchart illustrating a method 600 for training a category prediction model for a cascaded category recommender, based on several aspects, is provided. Method 600 can, for example, be at least partially derived from... Figure 1 The recommendation system 106 is used to perform this. Each block of method 600 and any other method described herein includes a computational process performed using any combination of hardware, firmware, and / or software. For example, various functions can be performed by a processor that executes instructions stored in memory. These methods can also be embodied as computer-usable instructions stored on a computer storage medium. To name just a few, these methods can be provided by standalone applications, services, or managed services (standalone or in combination with another managed service) or plug-ins to other products.

[0077] Method 600 presents a process for a single user. It should be understood that in practice, Method 600 can be iterated over multiple different users to train the category prediction model. As shown in box 602, a user is selected, and as shown in box 604, the user interaction data of the selected user is accessed. The user interaction data may include a sequence of the user's past interaction categories, a sequence of past interaction items, and a sequence of future interaction categories. In some aspects, interaction categories can be identified by mapping the user's interaction items to their corresponding categories. In some aspects, the user's interaction categories can be divided into past interaction categories and future interaction categories, defining interaction categories before a certain point in time as past interaction categories and interaction categories after that point in time as future interaction categories. Although... Figure 6 Although not shown in the table, in some respects, the user characteristics of the selected user will also be accessed.

[0078] The candidate category model selects candidate categories, as shown in box 606. This may include providing a sequence of past interaction categories as input to the candidate category model, which generates a probability score for each category in a category set defined by the list platform. The category with the highest probability score (e.g., the top N categories) is selected as the candidate category.

[0079] The per-user category encoder generates a category embedding for each past interaction category, as shown in box 608. For a given past interaction category, this may include providing the per-user category encoder with the following as input: the past interaction category, the user's past interaction items within the past interaction category, and user characteristics of the user in some respects. Based on these inputs, the per-user category encoder generates a category embedding for the past interaction category.

[0080] As shown in box 610, training data is created for the user. This training data includes category embeddings from the per-user category encoder, a sequence of the user's past interaction categories, candidate categories and their corresponding probability scores from the candidate category model, and a sequence of the user's future interaction categories.

[0081] The class prediction model is trained using training data, as shown in box 612. This may include having the class prediction model generate a probability score for each candidate class based on class embeddings, a sequence of past interaction classes, and candidate classes. The loss is then determined. In some respects, the loss employs two loss functions—a first function based on the probability scores from the candidate class model and the user's future interaction classes; and a second function based on the probability scores from the class prediction model and the user's future interaction classes. The model is then updated based on the loss, for example, by updating the weights of the class prediction model via backpropagation.

[0082] Next turn Figure 7 A flowchart illustrating a method 700 for generating category recommendations for a user using a cascading category recommender is provided. As shown in box 702, user interaction data is accessed. User interaction data may include a sequence of user interaction categories and a sequence of interaction items. In some cases, the sequence of interaction categories is determined by mapping each user interaction item to its corresponding category. Although Figure 7 Although not shown in the text, user characteristics are also accessed in some aspects.

[0083] The candidate category model selects candidate categories, as shown in box 704. This may include providing an interactive category sequence as input to the candidate category model, which generates a probability score for each category in a category set defined by the list platform. The category with the highest probability score (e.g., the top N categories) is selected as the candidate category.

[0084] The per-user category encoder generates a category embedding for each interaction category, as shown in box 706. For a given interaction category, this may include providing the per-user category encoder with the following as input: the interaction category, the user's interaction items within the interaction category, and user characteristics of the user in some aspects. Based on these inputs, the per-user category encoder generates a category embedding for the interaction category.

[0085] As shown in box 708, a category prediction model selects one or more categories for recommendation (from candidate categories). This can include having the category prediction model generate a probability score for each candidate category based on category embeddings, a sequence of interacting categories, and the candidate categories. One or more categories can then be selected for recommendation based on these probability scores. For example, the top K categories can be selected based on their probability scores.

[0086] Provide a user interface that presents one or more categories, as shown in box 710. For example, a webpage can be provided to a user's device that presents each category as a selectable element, which, when selected, provides items or other information associated with the category. Exemplary operating environment

[0087] Having described embodiments of this disclosure, exemplary operating environments in which embodiments of this technology may be implemented are described below to provide a general context for the various aspects of this disclosure. Specifically, reference is first made to… Figure 8 An exemplary operating environment for implementing embodiments of the present technology is shown and generally designated as computing device 800. Computing device 800 is merely an example of a suitable computing environment and is not intended to imply any limitation on the use or scope of the present technology. Nor should computing device 800 be construed as having any dependency or requirement associated with any one or combination of the components shown.

[0088] This technology can be described in the general context of computer code or machine-usable instructions, including computer-executable instructions (such as program modules) executed by a computer or other machine (such as a personal data assistant or other handheld device). Typically, program modules, including routines, programs, objects, components, data structures, etc., refer to code that performs a specific task or implements a specific abstract data type. This technology can be implemented in a variety of system configurations, including handheld devices, consumer electronics, general-purpose computers, and more specialized computing devices. This technology can also be implemented in distributed computing environments, where tasks are performed by remote processing devices linked via a communication network.

[0089] refer to Figure 8 The computing device 800 includes a bus 810 that is directly or indirectly coupled to the following devices: memory 812, one or more processors 814, one or more presentation components 816, input / output (I / O) ports 818, input / output components 820, and an exemplary power supply 822. Bus 810 can represent one or more buses (e.g., an address bus, a data bus, or a combination thereof). Although for clarity... Figure 8 Each box is represented by a line, but in reality, the division of various components is not so clear, and metaphorically speaking, more accurately, the lines are gray and blurred. For example, the presentation components such as those of a display device can be considered as I / O components. Furthermore, the processor has memory. The inventors recognize this as the nature of the art and reiterate... Figure 8 The figures are merely illustrative of exemplary computing devices that can be used in conjunction with one or more embodiments of the present technology. There is no distinction between categories such as "workstation," "server," "laptop," and "handheld device," as all these categories are... Figure 8 Within the scope and with reference to "Computing Devices".

[0090] Computing device 800 typically includes various computer-readable media. Computer-readable media can be any available medium accessible by computing device 800, and includes volatile and non-volatile media, removable and non-removable media. By way of example and not limitation, computer-readable media can include computer storage media and communication media. Computer storage media includes volatile and non-volatile, removable and non-removable media implemented in any method or technology, used to store information such as computer-readable instructions, data structures, program modules, or other data.

[0091] Computer storage media include, but are not limited to: RAM, ROM, EEPROM, flash memory or other memory technologies, CD-ROM, DVD or other optical disc storage devices, magnetic tape cassettes, magnetic tape, disk storage devices or other magnetic storage devices, or any other medium that can be used to store desired information and can be accessed by a computing device 800. The terms "computer storage medium" and "computer storage medium" themselves do not include signals.

[0092] Communication media typically embody computer-readable instructions, data structures, program modules, or other data in the form of modulated data signals (e.g., carrier waves or other transmission mechanisms), and include any information transmission medium. The term "modulated data signal" refers to a signal in which one or more characteristics of the signal are set or altered in a manner that encodes information within the signal. By way of example and not limitation, communication media include wired media such as wired networks or direct wired connections, and wireless media such as acoustic, RF, infrared, and other wireless media. Any combination of the above should also be included within the scope of computer-readable media.

[0093] Memory 812 includes computer storage media in the form of volatile and / or non-volatile memory. The memory may be removable, non-removable, or a combination thereof. Exemplary hardware devices include solid-state memory, hard disk drives, optical disk drives, etc. Computing device 800 includes one or more processors that read data from various entities such as memory 812 or I / O components 820. Presentation component 816 presents data indications to a user or other device. Exemplary presentation components include display devices, speakers, printing components, vibration components, etc.

[0094] I / O port 818 allows computing device 800 to be logically coupled to other devices, including I / O component 820, some of which may be built-in. Indicative components include microphones, joysticks, gamepads, satellite antennas, scanners, printers, wireless devices, etc. I / O component 820 can provide a natural user interface (NUI) that processes air gestures, voice, or other physiological input generated by the user. In some cases, the input can be sent to appropriate network elements for further processing. The NUI can implement any combination of the following: voice recognition, touch and stylus recognition, facial recognition, biometric recognition, on-screen and near-screen gesture recognition, air gestures, head and eye tracking, and touch recognition associated with a display on computing device 800. Computing device 800 may be equipped with a depth camera for gesture detection and recognition, such as a stereo camera system, an infrared camera system, an RGB camera system, or combinations thereof. Furthermore, computing device 800 may be equipped with an accelerometer or gyroscope capable of detecting motion.

[0095] The present technology has been described with reference to specific embodiments which are intended to be illustrative and not limiting in all respects. Alternative embodiments will become apparent to those skilled in the art without departing from the scope of the present technology.

[0096] Various components used herein have been identified, and it should be understood that any number of components and arrangements can be employed to achieve the desired functionality within the scope of this disclosure. For example, for clarity of concept, components in the embodiments depicted in the accompanying drawings are shown in lines. Other arrangements of these and other components can also be implemented. For example, although some components are depicted as single components, many elements described herein can be implemented as discrete or distributed components or combined with other components, and implemented in any suitable combination and location. Some elements may be omitted entirely. Furthermore, as described below, the various functions performed by one or more entities described herein can be performed by hardware, firmware, and / or software. For example, various functions can be performed by a processor executing instructions stored in memory. Therefore, other arrangements and elements (e.g., machines, interfaces, functions, commands, and function groups) can also be used as supplements to or alternatives to the arrangements and elements shown.

[0097] The embodiments described herein can be combined with one or more of the specifically described alternatives. Specifically, the claimed embodiments may include references to more than one other embodiment in the alternatives. The claimed embodiments may specify additional limitations on the claimed subject matter.

[0098] This document specifically describes embodiments of the present technology to meet legal requirements. However, this specification itself is not intended to limit the scope of this patent. Rather, the inventors have envisioned that the claimed subject matter may also be embodied in other ways in combination with other prior art or future technology to include different steps or combinations of steps similar to those described in this document. Furthermore, although the terms “step” and / or “box” may be used herein to denote different elements of the method employed, the terms should not be construed as implying any particular order between or between the various steps disclosed herein, unless and only if the order of the various steps is explicitly described.

[0099] For the purposes of this disclosure, the word "comprising" has the same broad meaning as the word "including," and the word "access" includes "receiving," "quoting," or "retrieval." Furthermore, the word "communication" has the same broad meaning as the words "receiving" or "transmitting" (facilitated by the use of the communication medium described herein via a software- or hardware-based bus, receiver, or transmitter). Additionally, unless otherwise stated, words such as "a" or "an" include both plural and singular forms. Thus, for example, the constraint of "feature" is satisfied when one or more features are present. Furthermore, the term "or" includes conjunctions, disjunctives, and both (a or b, therefore including a or b, and a and b).

[0100] For the purposes of the detailed discussion above, embodiments of this technology are described with reference to a distributed computing environment; however, the distributed computing environment described herein is merely exemplary. Components may be configured to perform novel embodiments of the present invention, wherein the term "configured for" may mean "programmed to" perform a specific task or implement a specific abstract data type using code. Furthermore, while embodiments of this technology can generally be referenced to the technical solution environment and schematic diagrams described herein, it should be understood that the described technology can be extended to other implementations.

[0101] As can be seen from the foregoing, this technology is well-suited for achieving all the objectives and purposes set forth above, as well as other obvious and inherent advantages of the system and method. It will be understood that some features and sub-combinations are useful and can be employed without reference to other features and sub-combinations. This is as contemplated by the claims and within the scope of the claims.

Claims

1. A computer storage medium storing one or more computer-usable instructions, said computer-usable instructions, when used by one or more computing devices, causing said one or more computing devices to perform operations, said operations including: Create a training dataset that includes training data for each of the multiple users, wherein the first training data for the first user is created in the following manner: Access the first user's past interaction item sequence and past interaction category sequence; Using a candidate category model, multiple candidate categories are selected from the category set based on the past interaction category sequence; and Using a per-user category encoder, a category embedding for each past interaction category in the sequence of past interaction categories is generated based on a subset of the sequence of past interaction items corresponding to each past interaction category; and The training dataset is used to train the category prediction model.

2. The computer storage medium according to claim 1, wherein, The sequence of past interaction categories for the first user is obtained by mapping each past interaction item in the sequence of past interaction items to a corresponding category in the category set.

3. The computer storage medium according to claim 1, wherein, The category embedding of each past interaction category in the sequence of past interaction categories is generated by the per-user category encoder based on one or more user features of the first user.

4. The computer storage medium according to claim 1, wherein, Selecting the multiple candidate categories includes: The candidate category model generates a first probability score for each category in the category set based on the past interaction category sequence; and The plurality of candidate categories are selected based on the first probability score.

5. The computer storage medium according to claim 4, wherein, Training the category prediction model using the first training data in the training dataset includes: The category prediction model uses the category embedding and the past interaction category sequence to generate a second probability score for each of the plurality of candidate categories; The first loss is calculated based on the first probability scores of the plurality of candidate categories from the candidate category model; A second loss is calculated based on the second probability scores of the plurality of candidate categories from the category prediction model; and The category prediction model is updated based on the first loss and the second loss.

6. The computer storage medium according to claim 5, wherein, The first loss and the second loss are calculated using a set of basic facts about the first user's future interaction categories.

7. The computer storage medium according to claim 6, wherein, The basic fact set of the first user's past interaction category sequence and future interaction categories is obtained in the following way: Access the first user's interaction category sequence; Define the first subset of the interaction category sequence as the past interaction category sequence; and A second subset of the interaction category sequence is defined as a basic fact sequence of future interaction categories, wherein the second subset appears after the first subset in the interaction category sequence.

8. A computer-implemented method, comprising: Receive the user's sequence of interaction items and sequence of interaction categories; Using a candidate category model, multiple candidate categories are selected from the category set based on the interaction category sequence; Using a per-user category encoder, a category embedding for each interaction category in the sequence of interaction categories is generated based on a subset of the sequence of interaction items corresponding to each interaction category; Using a category prediction model, one or more categories are selected from the plurality of candidate categories based on the category embeddings and the interaction category sequence; as well as Provide a user interface that presents one or more of the categories.

9. The computer-implemented method according to claim 8, wherein, The user's interaction category sequence is obtained by mapping each interaction item in the interaction item sequence to a corresponding category in the category set.

10. The computer-implemented method according to claim 8, wherein, The category embedding of each interaction category in the sequence of interaction categories is generated by a per-user category encoder based on one or more user features of the user.

11. The computer-implemented method according to claim 8, wherein, Selecting the multiple candidate categories includes: The candidate category model generates a probability vector based on the interaction category sequence, the probability vector including a first probability score for each category in the category set; and The plurality of candidate categories are selected based on the first probability score.

12. The computer-implemented method according to claim 11, wherein, Selecting one or more categories from the plurality of candidate categories includes: The candidate prediction model generates a second probability score for each candidate category based on the category embedding and the interaction category sequence; and The one or more categories are selected based on the second probability score.

13. The computer-implemented method according to claim 8, wherein, The user interface includes web pages of the listing platform's website.

14. A computer system, comprising: One or more processors; as well as One or more computer storage media storing computer-usable instructions that, when used by one or more processors, cause the computer system to perform operations, said operations including: Create a training dataset that includes training data for each of the multiple users, wherein the first training data for the first user is created in the following manner: Access the first user's past interaction item sequence and past interaction category sequence; Using a candidate category model, multiple candidate categories are selected from the category set based on the past interaction category sequence; and Using a per-user category encoder, a category embedding for each past interaction category in the sequence of past interaction categories is generated based on a subset of the sequence of past interaction items corresponding to each past interaction category; and The training dataset is used to train the category prediction model.

15. The computer system according to claim 14, wherein, The sequence of past interaction categories for the first user is obtained by mapping each past interaction item in the sequence of past interaction items to a corresponding category in the category set.

16. The computer system according to claim 14, wherein, The category embedding of each past interaction category in the sequence of past interaction categories is generated by the per-user category encoder based on one or more user features of the first user.

17. The computer system according to claim 14, wherein, Selecting the multiple candidate categories includes: The candidate category model generates a first probability score for each category in the category set based on the past interaction category sequence; and The plurality of candidate categories are selected based on the first probability score.

18. The computer system according to claim 17, wherein, Training the category prediction model using the first training data in the training dataset includes: The category prediction model uses the category embedding and the past interaction category sequence to generate a second probability score for each of the plurality of candidate categories; The first loss is calculated based on the first probability scores of the plurality of candidate categories from the candidate category model; A second loss is calculated based on the second probability scores of the plurality of candidate categories from the category prediction model; and The category prediction model is updated based on the first loss and the second loss.

19. The computer system according to claim 18, wherein, The first loss and the second loss are calculated using a set of basic facts about the first user's future interaction categories.

20. The computer system according to claim 19, wherein, The basic fact set of the first user's past interaction category sequence and future interaction categories is obtained in the following way: Access the first user's interaction category sequence; Define the first subset of the interaction category sequence as the past interaction category sequence; and A second subset of the interaction category sequence is defined as a basic fact sequence of future interaction categories, wherein the second subset appears after the first subset in the interaction category sequence.