A recommendation method and related apparatus

CN116308640BActive Publication Date: 2026-08-21HUAWEI TECH CO LTD +1
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202310189788.4
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-02-21
Publication Date
2026-08-21
Estimated Expiration
2043-02-21

Smart Images

  • Figure CN116308640B_ABST
    Figure CN116308640B_ABST
Patent Text Reader

Abstract

A recommendation method can be applied to the field of artificial intelligence, comprising: obtaining a first feature representation, a second feature representation and target information; the first feature representation and the second feature representation correspond to attribute information of a user and an article respectively, the first article is an article provided by a target supplier, and the target information is related to the number of article exposures in the history of the target supplier; obtaining a first recommendation score according to the first feature representation and the second feature representation; updating the recommendation score according to the target information to obtain an updated first recommendation score; the updated first recommendation score is negatively related to the number of article exposures of the target supplier; and the first recommendation score is used for article recommendation to a first user. The application adjusts the recommendation score by information (target information) representing the number of article exposures of the supplier, updates the target information after each recommendation for use in the next recommendation process, and realizes online recommendation while considering the fairness of the supplier.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of artificial intelligence, and more particularly to a recommendation method and related apparatus. Background Technology

[0002] Artificial intelligence (AI) is the theory, methods, technology, and application systems that use digital computers or machines controlled by digital computers to simulate, extend, and expand human intelligence, perceive the environment, acquire knowledge, and use that knowledge to achieve optimal results. In other words, AI is a branch of computer science that attempts to understand the essence of intelligence and produce a new kind of intelligent machine that can react in a way similar to human intelligence. AI studies the design principles and implementation methods of various intelligent machines, enabling them to possess the functions of perception, reasoning, and decision-making.

[0003] Due to social and economic considerations, fairness becomes an unavoidable issue in recommender systems. In multi-stakeholder recommender systems, there are several different participants, including users, items, and suppliers. Suppliers often play a crucial role in the market, and ensuring supplier fairness is a pressing problem that recommender systems need to address.

[0004] In the issue of supplier fairness in recommender systems, two perspectives on fairness are generally considered: proportional fairness (PF). PF proposes a concept based on equity, arguing that different suppliers are inherently in an unfair position and that resources should be allocated fairly to different suppliers based on available resources. Intuitively, if the percentage increase in utility for one supplier does not exceed the percentage decrease for another supplier, PF tends to consider the resource allocation fair.

[0005] Designing an online and efficient supplier fairness algorithm remains a problem to be solved. Summary of the Invention

[0006] This application provides a recommendation method that enables online recommendation while taking into account the fairness of suppliers.

[0007] In a first aspect, this application provides a recommendation method, the method comprising: acquiring a first feature representation, a second feature representation, and target information; wherein the first feature representation corresponds to attribute information of a first user, the second feature representation corresponds to attribute information of a first item, the first item is an item provided by a target supplier, and the target information is related to the historical exposure quantity of the target supplier's items; obtaining a first recommendation score for recommending the first item to the first user based on the first feature representation and the second feature representation through a recommendation model; updating the recommendation score based on the target information to obtain an updated first recommendation score; wherein the updated first recommendation score is negatively correlated with the exposure quantity of the target supplier's items; and recommending an item to the first user based on the first recommendation score.

[0008] By deploying information representing the number of times a supplier's items are exposed (target information) to adjust the recommendation score obtained by the recommendation model, and updating the target information after each recommendation for use in the next recommendation process, online recommendation is achieved while taking into account the fairness of suppliers.

[0009] In one possible implementation, the method further includes: updating the target information using the momentum gradient method based on the recommendation results of the item recommendation, to obtain updated target information; the target information is related to the number of item exposures of the target supplier; obtaining a third feature representation and a fourth feature representation; wherein the third feature representation corresponds to the attribute information of the second user, and the fourth feature representation corresponds to the attribute information of the second item; the second item corresponds to the target supplier; obtaining a second recommendation score for recommending the second item to the second user using a recommendation model based on the third feature representation and the fourth feature representation; updating the second recommendation score based on the updated target information, to obtain an updated second recommendation score; wherein the updated second recommendation score is negatively correlated with the number of item exposures of the target supplier; and recommending items to the second user based on the second recommendation score. The momentum gradient method is an online algorithm that can be well adapted to real-world scenarios; this online algorithm can guarantee convergence and its running speed can reach the 20ms level, making it well applicable to real-world scenarios.

[0010] In one possible implementation, recommending items to the first user based on the first recommendation score includes: recommending items to the first user from unexposed items of the target supplier based on the first recommendation score, wherein the first item belongs to the unexposed items.

[0011] In one possible implementation, the number of item exposures is the number of times the target supplier has been exposed over a preset historical period.

[0012] In one possible implementation, the first item is music, video, advertisement, or text.

[0013] In one possible implementation, the attribute information of the first user corresponds to the query input by the first user, the item is a document, and the supplier is a document provider or a document type.

[0014] Secondly, this application provides a recommended method, the method comprising:

[0015] Obtain a first feature representation, a second feature representation, and target information; wherein the first feature representation corresponds to the attribute information of multiple users, the second feature representation corresponds to the attribute information of multiple items, the multiple items correspond to multiple suppliers, and the target information is related to the historical number of item exposures of each of the multiple suppliers;

[0016] Based on the first feature representation and the second feature representation, a recommendation score is obtained for each item among multiple items when recommending items to the multiple users using a recommendation model; an optimization objective is determined based on the target information and the recommendation score, and the solution result of the optimization objective is obtained through linear programming, and the solution result is used as the recommendation result; wherein, the optimization objective is used to maximize the recommendation score and maximize the item exposure of suppliers with historically low item exposure.

[0017] In one possible implementation, the optimization objective further includes at least one of the following constraints:

[0018] Constraints on the number of items recommended to each user; and,

[0019] The quantity of items exposed for each supplier is limited.

[0020] In one possible implementation, the item is music, video, advertisement, or text.

[0021] In one possible implementation, the attribute information of the first user corresponds to the query input by the first user, the item is a document, and the supplier is a document provider or a document type.

[0022] Thirdly, this application provides a recommended apparatus, the apparatus comprising:

[0023] The acquisition module is used to acquire a first feature representation, a second feature representation, and target information; wherein, the first feature representation corresponds to the attribute information of a first user, the second feature representation corresponds to the attribute information of a first item, the first item is an item provided by a target supplier, and the target information is related to the historical exposure number of the target supplier's items;

[0024] The processing module is configured to obtain a first recommendation score for recommending the first item to the first user based on the first feature representation and the second feature representation, through a recommendation model.

[0025] Based on the target information, the recommendation score is updated to obtain an updated first recommendation score; wherein, the updated first recommendation score is negatively correlated with the number of product exposures of the target supplier;

[0026] Based on the first recommendation score, items are recommended to the first user.

[0027] In one possible implementation, the processing module is further configured to:

[0028] Based on the recommendation results of the recommended items, the target information is updated using the momentum gradient method to obtain the updated target information; the target information is related to the number of item exposures of the target supplier.

[0029] The acquisition module is also used for:

[0030] Obtain a third feature representation and a fourth feature representation; wherein the third feature representation corresponds to the attribute information of the second user, and the fourth feature representation corresponds to the attribute information of the second item; the second item corresponds to the target supplier;

[0031] Based on the third feature representation and the fourth feature representation, a second recommendation score is obtained by using the recommendation model to recommend the second item to the second user;

[0032] Based on the updated target information, the second recommendation score is updated to obtain an updated second recommendation score; wherein, the updated second recommendation score is negatively correlated with the number of item exposures of the target supplier;

[0033] Based on the second recommendation score, item recommendations are made to the second user.

[0034] In one possible implementation, the processing module is specifically used for:

[0035] Based on the first recommendation score, items are recommended to the first user from the unexposed items of the target supplier, where the first item belongs to the unexposed items.

[0036] In one possible implementation, the number of item exposures is the number of times the target supplier has been exposed over a preset historical period.

[0037] In one possible implementation, the first item is music, video, advertisement, or text.

[0038] In one possible implementation, the attribute information of the first user corresponds to the query input by the first user, the item is a document, and the supplier is a document provider or a document type.

[0039] Fourthly, this application provides a recommended apparatus, the apparatus comprising:

[0040] The acquisition module is used to acquire a first feature representation, a second feature representation, and target information; wherein, the first feature representation corresponds to the attribute information of multiple users, the second feature representation corresponds to the attribute information of multiple items, the multiple items correspond to multiple suppliers, and the target information is related to the historical number of item exposures of each of the multiple suppliers;

[0041] The processing module is used to obtain the recommendation score of each item among multiple items when recommending items to the multiple users, based on the first feature representation and the second feature representation and through a recommendation model;

[0042] The optimization objective is determined based on the target information and the recommendation score, and the solution result of the optimization objective is obtained through linear programming. The solution result is used as the recommendation result. The optimization objective is to maximize the recommendation score and maximize the item exposure of suppliers with historically low item exposure.

[0043] In one possible implementation, the optimization objective further includes at least one of the following constraints:

[0044] Constraints on the number of items recommended to each user; and,

[0045] The quantity of items exposed for each supplier is limited.

[0046] In one possible implementation, the item is music, video, advertisement, or text.

[0047] In one possible implementation, the attribute information of the first user corresponds to the query input by the first user, the item is a document, and the supplier is a document provider or a document type.

[0048] Fifthly, embodiments of this application provide a data processing apparatus, which may include a memory, a processor, and a bus system, wherein the memory is used to store a program, and the processor is used to execute the program in the memory to perform any of the optional methods of the first aspect and any of the optional methods of the second aspect described above.

[0049] In a sixth aspect, embodiments of this application provide a training apparatus, which may include a memory, a processor, and a bus system, wherein the memory is used to store a program, and the processor is used to execute the program in the memory to perform any of the optional methods of the first aspect and any of the optional methods of the second aspect described above.

[0050] In a seventh aspect, embodiments of this application provide a computer-readable storage medium storing a computer program that, when run on a computer, causes the computer to perform the first aspect and any optional method described above, as well as the second aspect and any optional method described above.

[0051] Eighthly, embodiments of this application provide a computer program product, including code, which, when executed, is used to perform any of the optional methods described in the first aspect above, and any of the optional methods described in the second aspect above.

[0052] Ninthly, this application provides a chip system including a processor for supporting an execution device or training device in implementing the functions involved in the foregoing aspects, such as transmitting or processing data involved in the foregoing methods; or, information. In one possible design, the chip system further includes a memory for storing program instructions and data necessary for the execution device or training device. The chip system may be composed of chips or may include chips and other discrete devices. Attached Figure Description

[0053] Figure 1 A structural diagram illustrating the main framework of artificial intelligence;

[0054] Figure 2 A schematic diagram of a system architecture provided for an embodiment of this application;

[0055] Figure 3 A schematic diagram of a system architecture provided for an embodiment of this application;

[0056] Figure 4 A schematic diagram illustrating a recommendation flow scenario provided in an embodiment of this application;

[0057] Figure 5 A flowchart illustrating a recommended method provided in an embodiment of this application;

[0058] Figure 6A flowchart illustrating a recommended method provided in an embodiment of this application;

[0059] Figure 7 This is a schematic diagram of an application scenario provided by an embodiment of this application;

[0060] Figure 8A This is a diagram illustrating a beneficial effect;

[0061] Figure 8B This is a diagram illustrating a beneficial effect;

[0062] Figure 9 This is a schematic diagram of the structure of a data processing device provided in an embodiment of this application;

[0063] Figure 10 A schematic diagram of an execution device provided in an embodiment of this application;

[0064] Figure 11 A schematic diagram of a training device provided in an embodiment of this application;

[0065] Figure 12 This is a schematic diagram of a chip provided in an embodiment of this application. Detailed Implementation

[0066] The embodiments of the present invention will now be described with reference to the accompanying drawings. The terminology used in the embodiments section is for illustrative purposes only and is not intended to limit the scope of the invention.

[0067] The embodiments of this application will now be described with reference to the accompanying drawings. Those skilled in the art will recognize that, with technological advancements and the emergence of new scenarios, the technical solutions provided in the embodiments of this application are equally applicable to similar technical problems.

[0068] The terms "first," "second," etc., used in the specification, claims, and accompanying drawings of this application are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such terms are interchangeable where appropriate; this is merely a way of distinguishing objects with the same attributes in the embodiments of this application. Furthermore, the terms "comprising" and "having," and any variations thereof, are intended to cover non-exclusive inclusion, so that a process, method, system, product, or apparatus that comprises a series of elements is not necessarily limited to those elements, but may include other elements not explicitly listed or inherent to those processes, methods, products, or apparatuses.

[0069] First, the overall workflow of the artificial intelligence system is described; please refer to [link / reference]. Figure 1 , Figure 1The diagram illustrates a structural framework for artificial intelligence (AI). The framework is further elaborated below along two dimensions: the "Intelligent Information Chain" (horizontal axis) and the "IT Value Chain" (vertical axis). The "Intelligent Information Chain" reflects a series of processes from data acquisition to processing. For example, it could be the general process of intelligent information perception, intelligent information representation and formation, intelligent reasoning, intelligent decision-making, and intelligent execution and output. In this process, data undergoes a condensation process of "data—information—knowledge—wisdom." The "IT Value Chain" reflects the value that AI brings to the information technology industry, from the underlying infrastructure of human intelligence and information (provided and processed through technological means) to the industrial ecosystem of the system.

[0070] (1) Infrastructure

[0071] Infrastructure provides computing power to support artificial intelligence systems, enabling communication with the external world and providing support through a basic platform. This communication occurs through sensors; computing power is provided by intelligent chips (hardware acceleration chips such as CPUs, NPUs, GPUs, ASICs, and FPGAs); and the basic platform includes distributed computing frameworks and related platform guarantees and support, which may include cloud storage and computing, interconnected networks, etc. For example, sensors communicate with the outside world to acquire data, and this data is provided to intelligent chips in the distributed computing system provided by the basic platform for computation.

[0072] (2) Data

[0073] The data at the next layer of infrastructure is used to represent the data sources in the field of artificial intelligence. The data involves graphics, images, voice, text, and IoT data from traditional devices, including business data from existing systems and sensor data such as force, displacement, liquid level, temperature, and humidity.

[0074] (3) Data processing

[0075] Data processing typically includes methods such as data training, machine learning, deep learning, search, reasoning, and decision-making.

[0076] Among them, machine learning and deep learning can perform intelligent information modeling, extraction, preprocessing, and training of data by symbolizing and formalizing it.

[0077] Reasoning refers to the process in which, in a computer or intelligent system, the machine thinks and solves problems by simulating human intelligent reasoning, based on reasoning control strategies and using formalized information. Typical functions include search and matching.

[0078] Decision-making refers to the process of making decisions based on intelligent information after reasoning, and it typically provides functions such as classification, sorting, and prediction.

[0079] (4) General ability

[0080] After the data processing mentioned above, the results of the data processing can be used to form some general capabilities, such as algorithms or a general system, for example, translation, text analysis, computer vision processing, speech recognition, image recognition, etc.

[0081] (5) Smart Products and Industry Applications

[0082] Intelligent products and industry applications refer to products and applications of artificial intelligence systems in various fields. They are the encapsulation of overall artificial intelligence solutions, productizing intelligent information decision-making and realizing practical applications. Their application areas mainly include: intelligent terminals, intelligent transportation, intelligent healthcare, autonomous driving, smart cities, etc.

[0083] This application's embodiments can be applied to the field of information recommendation, including but not limited to e-commerce product recommendations, search engine result recommendations, app store recommendations, music recommendations, and video recommendations. The recommended items in various application scenarios can also be referred to as "objects" for ease of subsequent description. That is, in different recommendation scenarios, the recommended object can be an app, a video, music, or a specific product (such as the presentation interface of an online shopping platform, which displays different products based on different users; this can essentially be presented through the recommendation results of a recommendation model). These recommendation scenarios typically involve user behavior log collection, log data preprocessing (e.g., quantization, sampling), sample set training to obtain a recommendation model, and analysis and processing of the objects (such as apps, music, etc.) involved in the scenarios corresponding to the training sample items based on the recommendation model. For example, if the samples selected in the recommendation model training stage come from the user's operational behavior towards the recommended app in a mobile app store, then the recommendation model trained in this way is applicable to the aforementioned mobile app app store, or can be used for recommending terminal apps in other types of terminal app app stores. The recommendation model will eventually calculate the recommendation probability or score of each object to be recommended. The recommendation system selects the recommendation results according to certain selection rules, such as sorting them according to the recommendation probability or score. The results are then presented to the user through the corresponding application or terminal device. The user interacts with the objects in the recommendation results to generate user behavior logs, etc.

[0084] Reference Figure 4In the recommendation process, when a user interacts with the recommendation system, a recommendation request is triggered. The system inputs this request and its related feature information into the deployed recommendation model, then predicts the click-through rate (CTR) of the user for all candidate items. Subsequently, the candidate items are sorted in descending order based on the predicted CTR and displayed sequentially in different positions as the recommendation result for the user. Users browse the displayed items and perform user actions, such as browsing, clicking, and downloading. These user actions are stored in logs as training data, and the parameters of the recommendation model are periodically updated through an offline training module to improve the model's recommendation performance.

[0085] For example, when a user opens the app store, the recommendation module is triggered. This module predicts the likelihood of the user downloading a given set of candidate apps based on the user's download history, click history, app characteristics, and environmental factors such as time and location. Based on the predictions, the app store displays apps in descending order of probability, thus increasing the likelihood of app downloads. Specifically, apps more likely to be downloaded are listed first, while those less likely are listed last. User behavior is also logged and used to train and update the prediction model's parameters through an offline training module.

[0086] For example, in applications related to lifelong partners, historical data from users across domains such as video, music, and news can be used to construct a cognitive brain, mimicking the mechanisms of the human brain, and build a framework for a lifelong learning system. Lifelong partners can record past events based on system and application data, understand current intentions, predict future actions or behaviors, and ultimately provide intelligent services. In the current first phase, user behavior data (including information such as SMS messages, photos, and email events) obtained from music apps, video apps, and browser apps is used to build a user profile system and implement learning and memory modules based on user information filtering, association analysis, cross-domain recommendation, and causal reasoning to construct a personal knowledge graph for each user.

[0087] The application architecture of this application embodiment will be described next.

[0088] See appendix Figure 2This invention provides a recommendation system architecture 200. A data acquisition device 260 is used to collect samples. A training sample can consist of multiple feature information (or described as attribute information, such as user attributes and item attributes). The feature information can be of various types, specifically including user feature information, object feature information, and tag features. User feature information is used to characterize user characteristics, such as gender, age, occupation, hobbies, etc. Object feature information is used to characterize the features of the objects pushed to the user. Different recommendation systems correspond to different objects, and the types of features to be extracted for different objects are also different. For example, the object features extracted from the training samples of an app market can be the app's name (identifier), type, size, etc. The object features mentioned in the training samples of e-commerce apps can include the product name, category, price range, etc. Tag features are used to indicate whether a sample is positive or negative. Typically, the tag features of a sample can be obtained from the user's actions on the recommended object. Samples where the user has performed an action on the recommended object are positive examples, while samples where the user has not performed an action or has only browsed the recommended object are negative examples. For example, if a user clicks, downloads, or purchases a recommended object, the tag feature is 1, indicating that the sample is a positive example; if the user has not performed any action on the recommended object, the tag feature is 0, indicating that the sample is a negative example. After collection, the samples can be stored in database 230. Some or all of the feature information of the samples in database 230 can also be directly obtained from the client device 240, such as user feature information, user action information on objects (used to determine type identification), and object feature information (such as object identification). The training device 220 trains and obtains the model parameter matrix based on the samples in database 230 to generate the recommendation model 201. The following describes in more detail how the training device 220 trains to obtain the model parameter matrix used to generate the recommendation model 201. The recommendation model 201 can be used to evaluate a large number of objects to obtain the score of each object to be recommended. Furthermore, it can recommend a specified or preset number of objects from the evaluation results of a large number of objects. The calculation module 211 obtains the recommendation results based on the evaluation results of the recommendation model 201 and recommends them to the client device through the I / O interface 212.

[0089] In this embodiment, the training device 220 can select positive and negative samples from the sample set in the database 230 and add them to the training set. Then, the recommendation model is used to train the samples in the training set to obtain the trained recommendation model. The implementation details of the calculation module 211 can be found in [reference needed]. Figure 5 A detailed description of the method embodiments shown.

[0090] After training the model parameter matrix based on the samples, the training device 220 uses it to construct the recommendation model 201 and then sends the recommendation model 201 to the execution device 210. Alternatively, the model parameter matrix can be directly sent to the execution device 210, where the recommendation model is constructed for use in the corresponding system. For example, a recommendation model trained based on video-related samples can be used to recommend videos to users on video websites or apps, while a recommendation model trained based on app-related samples can be used to recommend apps to users in app stores.

[0091] The execution device 210 is equipped with an I / O interface 212 for data interaction with external devices. The execution device 210 can obtain user characteristic information from the client device 240 through the I / O interface 212, such as user identifier, user identity, gender, occupation, and hobbies. This information can also be obtained from the system database. The recommendation model 201 recommends target objects to the user based on the user characteristic information and the characteristic information of the objects to be recommended. The execution device 210 can be located on a cloud server or on the user client.

[0092] The execution device 210 can access data, code, etc., in the data storage system 250, and can also store output data into the data storage system 250. The data storage system 250 can be located within the execution device 210, can be set up independently, or can be located in other network entities; there can be one or multiple such systems.

[0093] The calculation module 211 uses the recommendation model 201 to process the user feature information and the feature information of the object to be recommended. For example, the calculation module 211 uses the recommendation model 201 to analyze and process the user feature information and the feature information of the object to be recommended, thereby obtaining the score of the object to be recommended. The objects to be recommended are sorted according to the score, and the objects ranked higher will be recommended to the client device 240.

[0094] Finally, I / O interface 212 returns the recommendation results to client device 240 and presents them to the user.

[0095] At a deeper level, the training device 220 can generate corresponding recommendation models 201 based on different sample feature information for different targets, so as to provide users with better results.

[0096] It is worth noting that, attached Figure 2 This is merely a schematic diagram of a system architecture provided by an embodiment of the present invention. The positional relationships between the devices, components, modules, etc. shown in the diagram do not constitute any limitation. For example, in the attached diagram... Figure 2In this context, the data storage system 250 is an external memory relative to the execution device 210. In other cases, the data storage system 250 may also be placed within the execution device 210.

[0097] In this embodiment, the training device 220, the execution device 210, and the client device 240 may be three different physical devices. Alternatively, the training device 220 and the execution device 210 may be on the same physical device or a cluster, or the execution device 210 and the client device 240 may be on the same physical device or a cluster.

[0098] See appendix Figure 3 This is a system architecture 300 proposed in an embodiment of the present invention. In this architecture, the execution device 210 is implemented by one or more servers, optionally in conjunction with other computing devices, such as data storage, routers, load balancers, etc. The execution device 210 can be deployed on a single physical site or distributed across multiple physical sites. The execution device 210 can use data in the data storage system 250 or call program code in the data storage system 250 to implement the object recommendation function. Specifically, the information of the object to be recommended is input into the recommendation model. The recommendation model generates an estimated score for each object to be recommended, and then sorts them in descending order of the estimated scores. The object to be recommended is then recommended to the user according to the sorting result. For example, the top 10 objects in the sorting result are recommended to the user.

[0099] The data storage system 250 is used to receive and store the parameters of the recommendation model sent by the training device, as well as the data for storing the recommendation results obtained through the recommendation model. It may also include the program code (or instructions) required for the normal operation of the storage system 250. The data storage system 250 can be a distributed storage cluster consisting of one or more devices deployed outside the execution device 210. In this case, when the execution device 210 needs to use data on the storage system 250, the storage system 250 can send the required data to the execution device 210, and the execution device 210 receives and stores (or caches) the data. Alternatively, the data storage system 250 can be deployed within the execution device 210. When deployed within the execution device 210, the distributed storage system can include one or more storage devices. Optionally, when multiple storage devices exist, different storage devices are used to store different types of data. For example, the model parameters of the recommendation model generated by the training device and the recommendation results obtained through the recommendation model can be stored on two different storage devices.

[0100] Users can interact with execution device 210 by operating their respective user devices (e.g., local device 301 and local device 302). Each local device can represent any computing device, such as a personal computer, computer workstation, smartphone, tablet, smart camera, smart car or other type of cellular phone, media consumption device, wearable device, set-top box, game console, etc.

[0101] Each user's local device can interact with the execution device 210 through a communication network of any communication mechanism / standard. The communication network can be a wide area network, a local area network, a point-to-point connection, or any combination thereof.

[0102] In another implementation, execution device 210 can be implemented by a local device. For example, local device 301 can implement the recommendation function of execution device 210 based on the recommendation model to obtain user feature information and provide recommendation results to the user, or provide services to the user of local device 302.

[0103] Since the embodiments of this application involve a large number of neural network applications, for ease of understanding, the relevant terms and concepts such as neural networks involved in the embodiments of this application will be introduced below.

[0104] 1. Click-through rate (CTR)

[0105] Click probability, also known as click-through rate, refers to the ratio of the number of clicks to the number of impressions of recommended information (e.g., recommended items) on a website or application. Click-through rate is usually an important metric for evaluating recommendation systems.

[0106] 2. Personalized Recommendation System

[0107] A personalized recommendation system refers to a system that analyzes a user's historical data (such as the operation information in the embodiments of this application) using machine learning algorithms, and uses this data to predict new requests and provide personalized recommendation results.

[0108] 3. Offline training

[0109] Offline training refers to a module in a personalized recommendation system that iteratively updates the parameters of the recommendation model according to the algorithm learned by the machine learning, based on the user's historical data (such as the operation information in the embodiments of this application), until the set requirements are met.

[0110] 4. Online Inference

[0111] Online prediction refers to using a model trained offline to predict a user's preference for recommended items in the current context, based on the characteristics of the user, the item, and the context, and to predict the probability that the user will choose the recommended item.

[0112] For example, Figure 3 This is a schematic diagram of the recommendation system provided in an embodiment of this application. For example... Figure 3 As shown, when a user enters the system, a recommendation request is triggered. The recommendation system inputs this request and its related information (such as the operation information in this embodiment) into the recommendation model, and then predicts the user's selection rate for items within the system. Further, the items are sorted in descending order based on the predicted selection rate or a function based on that selection rate; that is, the recommendation system can display items in different positions sequentially as recommendations to the user. The user browses items in different positions and performs user actions, such as browsing, selecting, and downloading. Simultaneously, the user's actual behavior is stored in a log as training data, and the parameters of the recommendation model are continuously updated through an offline training module to improve the model's predictive performance.

[0113] For example, a user opening the app store on a smart device (e.g., a mobile phone) triggers the app store's recommendation system. The app store's recommendation system predicts the probability of the user downloading each recommended candidate app based on the user's historical behavior logs, such as historical download records and user selection records, as well as the app store's own characteristics, such as environmental features like time and location. Based on the calculation results, the app store's recommendation system can display candidate apps in descending order of predicted probability values, thereby increasing the download probability of candidate apps.

[0114] For example, apps with a predicted high user selection rate can be displayed in the top recommendation positions, while apps with a predicted low user selection rate can be displayed in the bottom recommendation positions.

[0115] The recommended model mentioned above can be a neural network model. The following is an introduction to the relevant terms and concepts of neural networks that may be involved in the embodiments of this application.

[0116] (1) Neural Network

[0117] A neural network can be composed of neural units, which can be defined as a computational unit that takes xs (i.e., input data) and an intercept of 1 as input. The output of this computational unit can be:

[0118]

[0119] Where s = 1, 2, ..., n, where n is a natural number greater than 1, Ws is the weight of xs, and b is the bias of the neural unit. f is the activation function of the neural unit, used to introduce nonlinear characteristics into the neural network to convert the input signal in the neural unit into an output signal. The output signal of this activation function can be used as the input of the next convolutional layer, and the activation function can be the sigmoid function. A neural network is a network formed by connecting multiple of the above-mentioned individual neural units together, that is, the output of one neural unit can be the input of another neural unit. The input of each neural unit can be connected to the local receptive field of the previous layer to extract the features of the local receptive field, which can be a region composed of several neural units.

[0120] (2) Deep Neural Networks

[0121] Deep Neural Networks (DNNs), also known as multilayer neural networks, can be understood as neural networks with many hidden layers, though there's no specific metric for "many." DNNs can be categorized into three layers based on their position: input layers, hidden layers, and output layers. Generally, the first layer is the input layer, the last layer is the output layer, and the layers in between are hidden layers. All layers are fully connected, meaning that any neuron in the i-th layer is connected to any neuron in the (i+1)-th layer. Although DNNs appear complex, the operation of each layer is actually quite simple, resembling a linear relationship as follows: in, It is the input vector. It is the output vector. α is the offset vector, W is the weight matrix (also called coefficients), and α() is the activation function. Each layer is simply an adjustment of the input vector. The output vector is obtained through such a simple operation. Because DNNs have many layers, the coefficients W and the offset vector... The number of these parameters is therefore quite large. The definitions of these parameters in a DNN are as follows: Taking the coefficient W as an example: Assuming a three-layer DNN, the linear coefficient from the 4th neuron in the second layer to the 2nd neuron in the third layer is defined as... The superscript 3 represents the layer number where coefficient W resides, while the subscript corresponds to the output third layer index 2 and the input second layer index 4. In summary, the coefficients from the k-th neuron in layer L-1 to the j-th neuron in layer L are defined as follows: It's important to note that the input layer does not have a W parameter. In deep neural networks, more hidden layers allow the network to better represent complex real-world situations. Theoretically, the more parameters a model has, the higher its complexity and "capacity," meaning it can perform more complex learning tasks. Training a deep neural network is essentially the process of learning the weight matrix, with the ultimate goal of obtaining the weight matrix of all layers in the trained deep neural network (a weight matrix formed by the vectors W from many layers).

[0122] (3) Loss Function

[0123] In training a deep neural network, to ensure the output closely approximates the desired predicted value, we compare the network's prediction with the target value. Based on the difference, we update the weight vector of each layer (usually pre-configuring parameters before the initial update). For example, if the prediction is too high, the weight vector is adjusted to predict a lower value. This adjustment continues until the deep neural network predicts the target value or a value very close to it. Therefore, we need to predefine "how to compare the difference between the predicted and target values," which is the loss function or objective function. These are important equations used to measure the difference between the predicted and target values. Taking the loss function as an example, a higher output value (loss) indicates a greater difference, and training the deep neural network becomes a process of minimizing this loss.

[0124] (4) Backpropagation algorithm

[0125] Backpropagation (BP) can be used during training to correct the parameters in the initial model, thereby reducing the model's error loss. Specifically, forward propagation of the input signal to the output generates error loss; this error loss information is then propagated back to update the parameters in the initial model, leading to convergence of the error loss. The backpropagation algorithm is an error-loss-driven backpropagation process aimed at obtaining optimal model parameters, such as the weight matrix.

[0126] Due to social and economic considerations, fairness becomes an unavoidable issue in recommender systems. In multi-stakeholder recommender systems, there are several different participants, including users, items, and suppliers. Suppliers often play a crucial role in the market, and ensuring supplier fairness is a pressing problem that recommender systems need to address.

[0127] In the issue of supplier fairness in recommender systems, two perspectives on fairness are generally considered: proportional fairness (PF). PF proposes a concept based on equity, arguing that different suppliers are inherently in an unfair position and that resources should be allocated fairly to different suppliers based on available resources. Intuitively, if the percentage increase in utility for one supplier does not exceed the percentage decrease for another supplier, PF tends to consider the resource allocation fair.

[0128] Designing an online and efficient supplier fairness algorithm remains a problem to be solved.

[0129] This application provides a recommendation method, and the following description uses the model training stage as an example to illustrate the recommendation method provided in the embodiments of this application.

[0130] Reference Figure 5 , Figure 5 An example of a recommended method provided in this application is shown below. Figure 5 As shown, a recommended method provided in this application embodiment includes:

[0131] 501. Obtain a first feature representation, a second feature representation, and target information; wherein the first feature representation corresponds to the attribute information of a first user, the second feature representation corresponds to the attribute information of a first item, the first item is an item provided by a target supplier, and the target information is related to the historical exposure count of the target supplier's items;

[0132] In this embodiment of the application, the execution subject of step 501 can be a terminal device, which can be a portable mobile device, such as, but not limited to, mobile or portable computing devices (such as smartphones), personal computers, server computers, handheld devices (such as tablets) or laptop devices, multiprocessor systems, game consoles or controllers, microprocessor-based systems, set-top boxes, programmable consumer electronics, mobile phones, mobile computing and / or communication devices with wearable or accessory form factors (such as watches, glasses, headphones or earphones), network PCs, minicomputers, mainframe computers, distributed computing environments including any of the above systems or devices, etc.

[0133] In this embodiment of the application, the executing entity of step 501 can be a cloud-side server. For ease of description, the form of the executing entity will not be distinguished below, and all will be described as an execution device.

[0134] The objects can be physical items or virtual items, such as apps, music, videos, web pages, and news information.

[0135] In one possible implementation, the user's attribute information corresponds to the query entered by the user, the item is a document, and the supplier is a document provider or document type. That is, Figure 5 The corresponding implementation can be applied not only to information recommendation, but also to search query feedback.

[0136] The object's attribute information can be at least one of the following: object name, size, category, language type, and rating.

[0137] The user's attribute information can be attributes related to the user's preferences, such as at least one of gender, age, occupation, income, hobbies, and education level. Gender can be male or female, age can be a number between 0 and 100, occupation can be teacher, programmer, chef, etc., hobbies can be basketball, tennis, running, etc., and education level can be primary school, junior high school, high school, university, etc. This application does not limit the specific type of user information.

[0138] In one possible implementation, feature extraction can be performed on the user's attribute information and the object's attribute information based on the embedding layer to obtain the feature representation (or embedding representation) corresponding to the user's information and the feature representation (or embedding representation) corresponding to the object's information.

[0139] In a multi-stakeholder recommendation system, there are multiple participants, including users, item providers, and other stakeholders. Let... and These are collections of users, items, and suppliers. Each item... All are linked to a single supplier The set of items associated with a specific provider p is represented as When a specific user When accessing the recommendation system, K items will be offered to the user, using... This means that for each user-item pair (u,i), the recommendation model estimates a preference score s. u,i ∈R. These items are ranked according to their preference scores.

[0140] In this embodiment of the application, the product list L is defined as... K (u) The user-side utility exposed to u is the sum of preference scores in the list, denoted as: And define the provider's fairness vector as For a specific provider p,e p ∈R + This represents the exposure count of supplier p. The goal of provider fairness reordering is to calculate a new fairness list. It strikes a good balance between user utility. And the supplier fairness metrics defined on e.

[0141] An application scenario illustration of this application embodiment can be as follows: Figure 7 As shown, in Figure 7 In this scenario, suppose there are two users, u1 and u2, who arrive at the system one by one. At each time step, the system recommends a list containing K = 3 items. Therefore, the system has a total of 2 × 3 = 6 exposure opportunities. Assume the system has two suppliers, p1 and p2, each with three items. Let p1 and p2 be assigned the same weights, i.e., γ = (γ1 = 6, γ2 = 6). The model solves the problem, and the solution is two binary vectors: x1 corresponds to u1, and x2 corresponds to u2. Finally, the exposure volume within the time interval T = 2 is counted. That is, through a list of recommended products (Created based on x1) and (Based on x2) u1 and u2, and suppliers p1 and p2 received 2 and 4 exposures respectively.

[0142] In real-world scenarios, a model update time will be set, for example, one day. The exposure of suppliers within that day will be adjusted to ensure fairness, that is, to take care of some suppliers at the bottom of the hierarchy.

[0143] This application proposes an algorithm for recommendation systems based on the concept of max-min fairness (MMF), named P-MMF. This algorithm can take into account the tail suppliers, thereby ensuring that suppliers receive fairer exposure.

[0144] P-MMF defines fair supplier recommendation as a resource allocation process. In this process, resources can be viewed as a finite number of ranking positions, and suppliers as demanders. Allocation costs are defined as user preferences. Furthermore, an MMF regularizer is applied to the allocation to maximize the minimum allocation to a particular supplier. This problem can be written as a linear programming problem:

[0145]

[0146]

[0147]

[0148]

[0149] e≤γ

[0150]

[0151] in User u t The decision vector, g(·), is the user-edge utility function. Specifically, for each item i, x ti =1 if it is added to the fair ranking list Otherwise x ti = 0. It should be understood that g(·) is equivalent to f(·) because they produce the same result, while g(·) takes a binary decision vector as input. The first constraint ensures that the size of the recommendation list is K. The second constraint in the equation states that the risk of each supplier p is the cumulative risk of the corresponding item over all periods.

[0152] Next, consider the dual problem of the original problem. Focusing on the dual problem has several advantages: the number of variables in the dual problem is significantly reduced, and the variables no longer need to be integers as in the original problem. Furthermore, since the linear programming problem described above requires a certain number of users to make recommendations, online recommendations (i.e., real-time recommendations) are not feasible.

[0153] In this embodiment of the application, the recommendation score obtained by the recommendation model is adjusted by deploying information (target information) to represent the number of times a supplier's items are exposed, and the target information is updated after each recommendation for use in the next recommendation process, thereby realizing online recommendation.

[0154] In one possible implementation, the dual problem can be written as:

[0155]

[0156] Where A is the adjacency matrix of goods and suppliers, A ip =1 indicates that product i belongs to supplier p. Otherwise, A ip =0.g * ,r * These are two conjugate functions:

[0157]

[0158] In one possible implementation, the item exposure count is the target supplier's exposure volume over a preset historical period. For example, it could be the exposure volume within a single day.

[0159] 502. Based on the first feature representation and the second feature representation, a first recommendation score is obtained by using a recommendation model to recommend the first item to the first user;

[0160] In one possible implementation, a first recommendation score for recommending the first item to the first user can be obtained through a recommendation model based on the first feature representation and the second feature representation.

[0161] 503. Based on the target information, update the recommendation score to obtain an updated first recommendation score; wherein the updated first recommendation score is negatively correlated with the number of item exposures of the target supplier;

[0162] In other words, when the value of the target information is high, the algorithm will recommend fewer items related to the corresponding supplier to the user.

[0163] 504. Based on the first recommendation score, recommend items to the first user.

[0164] In one possible implementation, items can be recommended to the first user from unexposed items of the target supplier based on the first recommendation score, where the first item belongs to the unexposed items. In other words, items can be selected from unexposed items to recommend to the user.

[0165] In one possible implementation, when the recommendation information meets preset conditions, the item is determined to be recommended to the user.

[0166] By using the above method, the probability of a user making a selection of an item can be obtained, and information can be recommended based on the above probability. Specifically, when the recommended information meets the preset conditions, it can be determined to recommend the item to the user.

[0167] The preset conditions are described below:

[0168] In one possible implementation, when recommending information to a user, the probability of the user selecting multiple items (including items) can be calculated, and the recommendation index of each item for the user can be determined based on the probability of the user selecting multiple items (including items).

[0169] After obtaining the recommendation index of each item for the user, the recommendation index can be sorted, and the M items with the highest recommendation index can be recommended to the user.

[0170] In one possible implementation, a probability threshold can be set, and recommendations can be made to the user when the probability of the user selecting multiple items (including items) is greater than the probability threshold.

[0171] When recommending information, you can present the recommended information to users in the form of a list page, hoping that users will take action.

[0172] In one possible implementation, the target information can be updated using the momentum gradient method based on the recommendation results of the recommended items, resulting in updated target information. The updated target information is related to the number of item exposures of the target supplier. Subsequent recommendation processes can then be performed based on the updated target information.

[0173] For example, this application proposes a momentum gradient descent algorithm for efficient online learning:

[0174]

[0175] The algorithm retains a dual variable μ t (That is, target information), remaining resources β t and gradient g t Whenever a user arrives, the algorithm will determine the remaining resources and the dual variable μ. t Calculate the recommendation variable x. t (Line 7). The final dual variable is estimated as the average dual variable for each time t: Intuitively, for μ t When the value of the dual variable is high, the algorithm will naturally recommend fewer items associated with the corresponding supplier. Remaining resources β t Ensure the algorithm only recommends items from vendors with remaining resources. Note that in line 7, the formula relates to x. t It is linear. Therefore, x can be calculated using the top-K sorting algorithm in constant time. t It is efficient.

[0176] The online learning process is as follows. First, obtain the maximum and minimum regularizers r. * (-μ t The closed form of the conjugate function of ) can then be obtained. Then the dual function g can be derived. * (Aμ)+λr * The subgradient of (-μ): also adds the previous momentum to the updated gradient g. t In the middle. Finally, using g t The dual variable is updated by performing an online descent on line 14, where weighted averages are used. Therefore, the dual variable will shift towards suppliers with less exposure, while the original variable x t We will move toward a better solution. The feasible domain includes... satisfy:

[0177]

[0178] This algorithm is an online algorithm that can be well adapted to real-world scenarios. It can guarantee convergence and has a running speed of up to 20ms, making it well applicable to real-world scenarios.

[0179] In one possible implementation, a third feature representation and a fourth feature representation can be obtained; wherein the third feature representation corresponds to the attribute information of the second user, and the fourth feature representation corresponds to the attribute information of the second item; the second item corresponds to the target supplier; based on the third feature representation and the fourth feature representation, a second recommendation score is obtained by using a recommendation model to recommend the second item to the second user; the second recommendation score is updated based on the updated target information to obtain an updated second recommendation score; wherein the updated second recommendation score is negatively correlated with the number of item exposures of the target supplier; and item recommendations are made to the second user based on the second recommendation score.

[0180] This application's embodiments can also be extended to other ranking areas that consider supplier fairness. For example, in search, the suppliers or document types of searched documents face the same problem: some suppliers or document types at the bottom of the search results are not exposed. This means users always see the top / popular documents, while some less popular but relevant documents are not recommended. An unfair search system may prevent users from seeing documents from other perspectives, thus forcing providers to leave.

[0181] The user in this embodiment can be considered as a query in a search, and the supplier as a document or document type in a search. Therefore, this method can also be used to improve the exposure of suppliers or document types in lower-ranking documents during search ranking tasks.

[0182] This application provides a recommendation method, which includes: obtaining a first feature representation, a second feature representation, and target information; wherein the first feature representation corresponds to the attribute information of a first user, the second feature representation corresponds to the attribute information of a first item, the first item is an item provided by a target supplier, and the target information is related to the historical exposure quantity of the target supplier's items; based on the first feature representation and the second feature representation, a first recommendation score is obtained by using a recommendation model to recommend the first item to the first user; based on the target information, the recommendation score is updated to obtain an updated first recommendation score; wherein the updated first recommendation score is negatively correlated with the exposure quantity of the target supplier's items; and based on the first recommendation score, an item is recommended to the first user. By deploying information (target information) representing the exposure quantity of a supplier's items to adjust the recommendation score obtained by the recommendation model, and updating the target information after each recommendation for use in the next recommendation process, online recommendation is achieved.

[0183] Reference Figure 6 , Figure 6An example of a recommended method provided in this application is shown below. Figure 6 As shown, a recommended method provided in this application embodiment includes:

[0184] 601. Obtain a first feature representation, a second feature representation, and target information; wherein the first feature representation corresponds to the attribute information of multiple users, the second feature representation corresponds to the attribute information of multiple items, the multiple items correspond to multiple suppliers, and the target information is related to the historical number of item exposures of each of the multiple suppliers;

[0185] In one possible implementation, the item is music, video, advertisement, or text.

[0186] In one possible implementation, the attribute information of the first user corresponds to the query input by the first user, the item is a document, and the supplier is a document provider or a document type.

[0187] 602. Based on the first feature representation and the second feature representation, the recommendation score of each item among the multiple items is obtained through the recommendation model when recommending items to the multiple users;

[0188] 603. Determine the optimization objective based on the target information and the recommendation score, and obtain the solution result of the optimization objective through linear programming. The solution result is used as the recommendation result. The optimization objective is used to maximize the recommendation score and maximize the item exposure of suppliers with historically low item exposure.

[0189] In one possible implementation, the optimization objective further includes at least one of the following constraints: a constraint on the number of items recommended to each user; and a constraint on the number of items exposed to each supplier.

[0190] For example, this application provides an algorithm for recommendation systems based on the concept of max-min fairness (MMF), named P-MMF. This algorithm can take into account tail suppliers, thereby enabling suppliers to receive fairer exposure.

[0191] P-MMF defines fair supplier recommendation as a resource allocation process. In this process, resources can be viewed as a finite number of ranking positions, and suppliers as demanders. Allocation costs are defined as user preferences. Furthermore, an MMF regularizer is applied to the allocation to maximize the minimum allocation to a particular supplier. This problem can be written as a linear programming problem:

[0192]

[0193]

[0194]

[0195]

[0196] e≤γ

[0197]

[0198] in User u t The decision vector, g(·), is the user-edge utility function. Specifically, for each item i, x ti =1 if it is added to the fair ranking list Otherwise x ti = 0. It should be understood that g(·) is equivalent to f(·) because they produce the same result, while g(·) takes a binary decision vector as input. The first constraint ensures that the size of the recommendation list is K. The second constraint in the equation states that the risk of each supplier p is the cumulative risk of the corresponding item over all periods.

[0199] The method described in this application transforms the supplier fairness problem into a solvable mathematical problem, which theoretically has an optimal value and can be well applied in practice.

[0200] The technical effects of the embodiments in this application will be described below with reference to experiments:

[0201] The experiments were conducted on four large-scale, publicly available recommendation datasets, as shown in Table 1 below. As a preprocessing step, users, items, and vendors with fewer than 5 interactions with each other were removed from all datasets to avoid extreme sparsity. Vendors associated with fewer than 5 items were also removed. The table lists some statistics for the four datasets.

[0202] Table 1

[0203]

[0204] All interactions are sorted chronologically, and the top 80% are used as training data to train a base model (BPR). The remaining 20% ​​are used as test data for evaluation. Based on the trained base model, a preference score s for each user-item pair (u,i) can be obtained. u,i .

[0205] The time-series interactions in the test data were broken down into interaction sequences, with a recommendation length of T. A metric was calculated for each sequence, and the average result was used as the final performance.

[0206] Regarding the evaluation metrics, the model's performance is assessed from three aspects: user preferences, supplier fairness, and the trade-offs between them. For user preferences, following previous literature, RRQ@K is used, defined as the ratio between the sum of user and item scores based on location. The original ranked list is output by the base model, and the re-ranked list is output by the supplier fairness model. Supplier fairness is defined as MMF. The weight metric is defined as W:

[0207]

[0208]

[0209]

[0210] Among them, rank i and These represent the ranking position of product i in the recommendation list.

[0211] In this embodiment, experiments were conducted on a large-scale dataset using the online algorithm developed in P-MMF. The results are illustrated in two aspects: (1) a table shows the performance of P-MMF and all W@K-based baselines; (2) Figure 8A The paper describes the Pareto bounds for user-side preferences (RRQ@K) and supplier-side fairness (MMF@K) with different ranking sizes. In all experiments, BPR was chosen as the basic ranking model for generating preference scores. The horizon length was set to T = 256.

[0212] Table 2 shows the experimental results of P-MMF and the baselines for all four datasets, denoted by the metric W. Underlined numbers indicate the best-performing baseline. For fair comparison, all baselines were adjusted and W@K was used as the evaluation metric. Note that similar experimental phenomena were observed at other λ values.

[0213] The results showed that P-MMF outperformed all PF-based baselines (e.g., FairRec[9], FairRec+

[10] , CPFair[8]) in terms of W@K (K = 5, 10, 20), validating that P-MMF can support suppliers with poor conditions. P-MMF also outperformed all MMF-based baselines, demonstrating its effectiveness in improving supplier fairness while maintaining high user preference.

[0214] Table 2

[0215]

[0216] In real-world judicial case recommendation systems, the number of vendors is relatively small and stable. However, the number of users and projects is typically huge and growing rapidly. Therefore, the inference time of P-MMF and DMFw.rt was tested on CPU and GPU implementations. Different numbers of projects were used, while keeping the number of users and vendors constant. The GPU implementation was based on PyTorch.

[0217] Figure 8B The inference time (milliseconds) curves for each user visit are shown. Project size varies. It can be seen that the P-MMF with CPU and GPU versions requires approximately 20-40ms and 17-18ms for online inference, respectively. Furthermore, it can be seen that the inference time of P-MMF does not increase significantly with the number of projects. For example, by increasing the project size from 0 to 200,000, the P-MMF CPU version only requires slightly more time (19 milliseconds) for online inference. The inference time of the GPU version remains almost unchanged. In comparison, the inference time of DMF increases rapidly: both the CPU and GPU versions require more time (approximately 65ms). This phenomenon can be easily explained using dual problem analysis. The parameter size of P-MMF is the vendor size, which is much smaller than the project size. Therefore, online inference time is insensitive to item number. It can be concluded that due to the low computational cost and robustness of P-MMF, it can effectively adapt to real-world online recommendation scenarios, even with a rapidly increasing number of items.

[0218] Reference Figure 9 , Figure 9 A schematic diagram of the structure of a recommended device 900 provided in this application embodiment, the device 900 comprising:

[0219] The acquisition module 901 is used to acquire a first feature representation, a second feature representation, and target information; wherein, the first feature representation corresponds to the attribute information of a first user, the second feature representation corresponds to the attribute information of a first item, the first item is an item provided by a target supplier, and the target information is related to the historical exposure number of the target supplier's items;

[0220] For a detailed description of the acquisition module 901, please refer to the description of step 501 in the above embodiment, which will not be repeated here.

[0221] The processing module 902 is used to obtain a first recommendation score for recommending the first item to the first user based on the first feature representation and the second feature representation through a recommendation model;

[0222] Based on the target information, the recommendation score is updated to obtain an updated first recommendation score; wherein, the updated first recommendation score is negatively correlated with the number of product exposures of the target supplier;

[0223] Based on the first recommendation score, items are recommended to the first user.

[0224] For a detailed description of the processing module 902, please refer to the descriptions of steps 502, 503, and 504 in the above embodiments, which will not be repeated here.

[0225] In one possible implementation, the processing module is further configured to:

[0226] Based on the recommendation results of the recommended items, the target information is updated using the momentum gradient method to obtain the updated target information; the target information is related to the number of item exposures of the target supplier.

[0227] The acquisition module is also used for:

[0228] Obtain a third feature representation and a fourth feature representation; wherein the third feature representation corresponds to the attribute information of the second user, and the fourth feature representation corresponds to the attribute information of the second item; the second item corresponds to the target supplier;

[0229] Based on the third feature representation and the fourth feature representation, a second recommendation score is obtained by using the recommendation model to recommend the second item to the second user;

[0230] Based on the updated target information, the second recommendation score is updated to obtain an updated second recommendation score; wherein, the updated second recommendation score is negatively correlated with the number of item exposures of the target supplier;

[0231] Based on the second recommendation score, item recommendations are made to the second user.

[0232] In one possible implementation, the processing module is specifically used for:

[0233] Based on the first recommendation score, items are recommended to the first user from among the unexposed items of the target supplier, where the first item belongs to the unexposed items.

[0234] In one possible implementation, the number of item exposures is the number of times the target supplier has been exposed over a preset historical period.

[0235] In one possible implementation, the first item is music, video, advertisement, or text.

[0236] In one possible implementation, the attribute information of the first user corresponds to the query input by the first user, the item is a document, and the supplier is a document provider or a document type.

[0237] This application embodiment also provides a recommended device, the device comprising:

[0238] The acquisition module is used to acquire a first feature representation, a second feature representation, and target information; wherein, the first feature representation corresponds to the attribute information of multiple users, the second feature representation corresponds to the attribute information of multiple items, the multiple items correspond to multiple suppliers, and the target information is related to the historical number of item exposures of each of the multiple suppliers;

[0239] The processing module is used to obtain the recommendation score of each item among multiple items when recommending items to the multiple users, based on the first feature representation and the second feature representation and through a recommendation model;

[0240] The optimization objective is determined based on the target information and the recommendation score, and the solution result of the optimization objective is obtained through linear programming. The solution result is used as the recommendation result. The optimization objective is to maximize the recommendation score and maximize the item exposure of suppliers with historically low item exposure.

[0241] In one possible implementation, the optimization objective further includes at least one of the following constraints:

[0242] Constraints on the number of items recommended to each user; and,

[0243] The quantity of items exposed for each supplier is limited.

[0244] In one possible implementation, the item is music, video, advertisement, or text.

[0245] In one possible implementation, the attribute information of the first user corresponds to the query input by the first user, the item is a document, and the supplier is a document provider or a document type.

[0246] The following describes an execution device provided in an embodiment of this application. Please refer to [link / reference]. Figure 10 , Figure 10This is a schematic diagram of an execution device provided in an embodiment of this application. The execution device 1000 can specifically be a mobile phone, tablet, laptop, smart wearable device, server, etc., and is not limited thereto. Specifically, the execution device 1000 includes: a receiver 1001, a transmitter 1002, a processor 1003, and a memory 1004 (wherein the execution device 1000 may have one or more processors 1003). The processor 1003 may include an application processor 10031 and a communication processor 10032. In some embodiments of this application, the receiver 1001, transmitter 1002, processor 1003, and memory 1004 may be connected via a bus or other means.

[0247] Memory 1004 may include read-only memory and random access memory, and provides instructions and data to processor 1003. A portion of memory 1004 may also include non-volatile random access memory (NVRAM). Memory 1004 stores processor and operation instructions, executable modules, or data structures, or subsets thereof, or extended sets thereof, wherein the operation instructions may include various operation instructions for implementing various operations.

[0248] Processor 1003 controls the operation of the execution device. In specific applications, the various components of the execution device are coupled together through a bus system, which may include not only the data bus, but also power buses, control buses, and status signal buses. However, for clarity, all buses are referred to as the bus system in the diagram.

[0249] The methods disclosed in the embodiments of this application can be applied to or implemented by the processor 1003. The processor 1003 can be an integrated circuit chip with signal processing capabilities. During implementation, each step of the above methods can be completed by the integrated logic circuitry in the hardware of the processor 1003 or by instructions in software form. The processor 1003 can be a general-purpose processor, a digital signal processor (DSP), a microprocessor or microcontroller, a vision processing unit (VPU), a tensor processing unit (TPU), or other processors suitable for AI computation. It may further include application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components. The processor 1003 can implement or execute the methods, steps, and logic block diagrams disclosed in the embodiments of this application. The general-purpose processor can be a microprocessor or any conventional processor. The steps of the method disclosed in the embodiments of this application can be directly manifested as being executed by a hardware decoding processor, or executed by a combination of hardware and software modules in the decoding processor. The software modules can reside in random access memory, flash memory, read-only memory, programmable read-only memory, electrically erasable programmable memory, registers, or other mature storage media in the art. This storage medium is located in memory 1004. Processor 1003 reads information from memory 1004 and, in conjunction with its hardware, executes steps 501 to 504 based on the above embodiments.

[0250] Receiver 1001 can be used to receive input digital or character information, and to generate signal inputs related to the settings and function control of the execution device. Transmitter 1002 can be used to output digital or character information through the first interface; transmitter 1002 can also be used to send instructions to the disk group through the first interface to modify the data in the disk group; transmitter 1002 may also include a display device such as a display screen.

[0251] This application also provides a training device; please refer to [link / reference]. Figure 11 , Figure 11This is a schematic diagram of a training device provided in an embodiment of this application. Specifically, the training device 1100 is implemented by one or more servers. The training device 1100 can vary significantly due to different configurations or performance. It may include one or more central processing units (CPUs) 1111 (e.g., one or more processors) and memory 1132, and one or more storage media 1130 (e.g., one or more mass storage devices) for storing application programs 1142 or data 1144. The memory 1132 and storage media 1130 can be temporary or persistent storage. The program stored in the storage media 1130 may include one or more modules (not shown in the diagram), each module may include a series of instruction operations on the training device. Furthermore, the CPU 1111 may be configured to communicate with the storage media 1130 and execute the series of instruction operations in the storage media 1130 on the training device 1100.

[0252] The training device 1100 may also include one or more power supplies 1126, one or more wired or wireless network interfaces 1150, one or more input / output interfaces 1158; or, one or more operating systems 1141, such as Windows Server™, Mac OS X™, Unix™, Linux™, FreeBSD™, etc.

[0253] Specifically, the training device can perform the steps related to model training described in the above embodiments.

[0254] This application also provides a computer program product that, when run on a computer, causes the computer to perform steps as performed by the aforementioned execution device, or causes the computer to perform steps as performed by the aforementioned training device.

[0255] This application also provides a computer-readable storage medium storing a program for signal processing, which, when run on a computer, causes the computer to perform steps as performed by the aforementioned execution device, or causes the computer to perform steps as performed by the aforementioned training device.

[0256] The execution device, training device, or terminal device provided in this application embodiment can specifically be a chip. The chip includes a processing unit and a communication unit. The processing unit can be, for example, a processor, and the communication unit can be, for example, an input / output interface, pins, or circuits. The processing unit can execute computer execution instructions stored in the storage unit to cause the chip within the execution device to execute the recommended method described in the above embodiments, or to cause the chip within the training device to execute the recommended method described in the above embodiments. Optionally, the storage unit can be a storage unit within the chip, such as a register or cache. Alternatively, the storage unit can be a storage unit located outside the chip within the wireless access device, such as a read-only memory (ROM) or other types of static storage devices capable of storing static information and instructions, such as random access memory (RAM).

[0257] For details, please refer to Figure 12 , Figure 12 This is a schematic diagram of a chip provided in an embodiment of this application. The chip can be represented as a neural network processor (NPU) 1200. The NPU 1200 is mounted as a coprocessor on the host CPU, and tasks are assigned by the host CPU. The core part of the NPU is the arithmetic circuit 1203, which is controlled by the controller 1204 to extract matrix data from the memory and perform multiplication operations.

[0258] The NPU 1200 achieves this through the cooperation of its various internal components. Figure 5 The recommended methods provided in the described embodiments.

[0259] More specifically, in some implementations, the arithmetic circuitry 1203 within the NPU 1200 includes multiple processing engines (PEs). In some implementations, the arithmetic circuitry 1203 is a two-dimensional pulsating array. The arithmetic circuitry 1203 can also be a one-dimensional pulsating array or other electronic circuitry capable of performing mathematical operations such as multiplication and addition. In some implementations, the arithmetic circuitry 1203 is a general-purpose matrix processor.

[0260] For example, suppose we have an input matrix A, a weight matrix B, and an output matrix C. The arithmetic circuit retrieves the corresponding data of matrix B from the weight memory 1202 and caches it in each PE of the arithmetic circuit. The arithmetic circuit retrieves the data of matrix A from the input memory 1201 and performs matrix operations with matrix B. The partial result or the final result of the obtained matrix is ​​stored in the accumulator 1208.

[0261] Unified memory 1206 is used to store input and output data. Weight data is directly transferred to weight memory 1202 via Direct Memory Access Controller (DMAC) 1205. Input data is also transferred to unified memory 1206 via DMAC.

[0262] BIU stands for Bus Interface Unit, which is used for interaction between the AXI bus and the DMAC and the Instruction Fetch Buffer (IFB) 1209.

[0263] The Bus Interface Unit (BIU) 1210 is used by the instruction fetch memory 1209 to fetch instructions from external memory, and also by the memory access controller 1205 to fetch the original data of the input matrix A or the weight matrix B from external memory.

[0264] The DMAC is mainly used to move input data from external memory DDR to unified memory 1206, or to weight data to weight memory 1202, or to input data to input memory 1201.

[0265] The vector computation unit 1207 includes multiple processing units that further process the output of the computation circuit 1203 when needed, such as vector multiplication, vector addition, exponential operations, logarithmic operations, size comparisons, etc. It is mainly used for computation in non-convolutional / fully connected layers of neural networks, such as batch normalization, pixel-level summation, and upsampling of feature planes.

[0266] In some implementations, the vector computation unit 1207 can store the processed output vector in the unified memory 1206. For example, the vector computation unit 1207 can apply a linear function, or a nonlinear function, to the output of the computation circuit 1203, such as linear interpolation of feature planes extracted by a convolutional layer, or, for example, a vector of accumulated values, to generate activation values. In some implementations, the vector computation unit 1207 generates normalized values, pixel-level summed values, or both. In some implementations, the processed output vector can be used as an activation input to the computation circuit 1203, for example, for use in subsequent layers of the neural network.

[0267] The instruction fetch buffer 1209 connected to the controller 1204 is used to store the instructions used by the controller 1204;

[0268] Unified memory 1206, input memory 1201, weight memory 1202, and instruction fetch memory 1209 are all on-chip memories. External memory is proprietary to this NPU hardware architecture.

[0269] The processor mentioned above can be a general-purpose central processing unit, a microprocessor, an ASIC, or one or more integrated circuits used to control the execution of the above program.

[0270] It should also be noted that the device embodiments described above are merely illustrative. The units described as separate components may or may not be physically separate, and the components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the modules can be selected to achieve the purpose of this embodiment according to actual needs. In addition, in the device embodiment drawings provided in this application, the connection relationship between modules indicates that they have a communication connection, which can be implemented as one or more communication buses or signal lines.

[0271] Through the above description of the embodiments, those skilled in the art can clearly understand that this application can be implemented by means of software plus necessary general-purpose hardware, or it can be implemented by special-purpose hardware including application-specific integrated circuits, special-purpose CPUs, special-purpose memory, special-purpose components, etc. Generally, any function performed by a computer program can be easily implemented by corresponding hardware, and the specific hardware structure used to implement the same function can also be diverse, such as analog circuits, digital circuits, or special-purpose circuits. However, for this application, software program implementation is more often the preferred implementation method. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, can be embodied in the form of a software product. This computer software product is stored in a readable storage medium, such as a computer floppy disk, USB flash drive, mobile hard disk, ROM, RAM, magnetic disk, or optical disk, etc., and includes several instructions to cause a computer device (which may be a personal computer, training equipment, or network device, etc.) to execute the methods described in the various embodiments of this application.

[0272] In the above embodiments, implementation can be achieved, in whole or in part, through software, hardware, firmware, or any combination thereof. When implemented in software, it can be implemented, in whole or in part, as a computer program product.

[0273] The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, all or part of the processes or functions described in the embodiments of this application are generated. The computer may be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions may be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another. For example, the computer instructions may be transmitted from one website, computer, training device, or data center to another website, computer, training device, or data center via wired (e.g., coaxial cable, fiber optic, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) means. The computer-readable storage medium may be any available medium that a computer can store or a data storage device such as a training device or data center that integrates one or more available media. The available media may be magnetic media (e.g., floppy disks, hard disks, magnetic tapes), optical media (e.g., DVDs), or semiconductor media (e.g., solid-state drives (SSDs)).

Claims

1. A recommendation method, characterized in that, The method includes: Obtain a first feature representation, a second feature representation, and target information; wherein the first feature representation corresponds to the attribute information of a first user, the second feature representation corresponds to the attribute information of a first item, the first item is an item provided by a target supplier, and the target information is related to the historical exposure number of the target supplier's items; Based on the first feature representation and the second feature representation, a first recommendation score is obtained by using a recommendation model to recommend the first item to the first user; Based on the target information, the recommendation score is updated to obtain an updated first recommendation score; wherein, the updated first recommendation score is negatively correlated with the number of product exposures of the target supplier; Based on the updated first recommendation score, items are recommended to the first user.

2. The method according to claim 1, characterized in that, The method further includes: Based on the recommendation results of the recommended items, the target information is updated using the momentum gradient method to obtain the updated target information; the updated target information is related to the number of item exposures of the target supplier. Obtain a third feature representation and a fourth feature representation; wherein the third feature representation corresponds to the attribute information of the second user, and the fourth feature representation corresponds to the attribute information of the second item; the second item corresponds to the target supplier; Based on the third feature representation and the fourth feature representation, a second recommendation score is obtained by using the recommendation model to recommend the second item to the second user; Based on the updated target information, the second recommendation score is updated to obtain an updated second recommendation score; wherein, the updated second recommendation score is negatively correlated with the number of item exposures of the target supplier; Based on the updated second recommendation score, item recommendations are made to the second user.

3. The method according to claim 1, characterized in that, The step of recommending items to the first user based on the updated first recommendation score includes: Based on the updated first recommendation score, items are recommended to the first user from unexposed items in the target supplier, where the first item belongs to the unexposed items.

4. The method according to any one of claims 1 to 3, characterized in that, The number of times an item is exposed is the number of times the target supplier has been exposed over a preset historical period.

5. The method according to any one of claims 1 to 3, characterized in that, The first item is music, video, advertisement, or text.

6. The method according to any one of claims 1 to 3, characterized in that, The attribute information of the first user corresponds to the query entered by the first user, the first item is a document, and the supplier is a document provider or a document type.

7. A recommendation method, characterized in that, The method includes: Obtain a first feature representation, a second feature representation, and target information; wherein the first feature representation corresponds to the attribute information of multiple users, the second feature representation corresponds to the attribute information of multiple items, the multiple items correspond to multiple suppliers, and the target information is related to the historical number of item exposures of each of the multiple suppliers; Based on the first feature representation and the second feature representation, the recommendation score of each item among the multiple items is obtained through the recommendation model when recommending items to the multiple users; The optimization objective is determined based on the target information and the recommendation score, and the solution result of the optimization objective is obtained through linear programming. The solution result is used as the recommendation result. The optimization objective is to maximize the recommendation score and maximize the item exposure of suppliers with historically low item exposure.

8. The method according to claim 7, characterized in that, The optimization objective also includes at least one of the following constraints: Constraints on the number of items recommended to each user; and, The quantity of items exposed for each supplier is limited.

9. The method according to claim 7, characterized in that, The items referred to are music, videos, advertisements, or text.

10. The method according to any one of claims 7 to 9, characterized in that, The attribute information of the multiple users corresponds to the queries entered by the multiple users, the item is a document, and the supplier is a document provider or document type.

11. A recommendation device, characterized in that, The device includes: The acquisition module is used to acquire a first feature representation, a second feature representation, and target information; wherein, the first feature representation corresponds to the attribute information of a first user, the second feature representation corresponds to the attribute information of a first item, the first item is an item provided by a target supplier, and the target information is related to the historical exposure number of the target supplier's items; The processing module is configured to obtain a first recommendation score for recommending the first item to the first user based on the first feature representation and the second feature representation, through a recommendation model; Based on the target information, the recommendation score is updated to obtain an updated first recommendation score; wherein, the updated first recommendation score is negatively correlated with the number of product exposures of the target supplier; Based on the updated first recommendation score, items are recommended to the first user.

12. The apparatus according to claim 11, characterized in that, The processing module is further configured to: Based on the recommendation results of the recommended items, the target information is updated using the momentum gradient method to obtain the updated target information; the target information is related to the number of item exposures of the target supplier. The acquisition module is also used for: Obtain a third feature representation and a fourth feature representation; wherein the third feature representation corresponds to the attribute information of the second user, and the fourth feature representation corresponds to the attribute information of the second item; the second item corresponds to the target supplier; Based on the third feature representation and the fourth feature representation, a second recommendation score is obtained by using the recommendation model to recommend the second item to the second user; Based on the updated target information, the second recommendation score is updated to obtain an updated second recommendation score; wherein, the updated second recommendation score is negatively correlated with the number of item exposures of the target supplier; Based on the updated second recommendation score, item recommendations are made to the second user.

13. The apparatus according to claim 11, characterized in that, The processing module is specifically used for: Based on the updated first recommendation score, items are recommended to the first user from unexposed items in the target supplier, where the first item belongs to the unexposed items.

14. The apparatus according to any one of claims 11 to 13, characterized in that, The number of times an item is exposed is the number of times the target supplier has been exposed over a preset historical period.

15. The apparatus according to any one of claims 11 to 13, characterized in that, The first item is music, video, advertisement, or text.

16. The apparatus according to any one of claims 11 to 13, characterized in that, The attribute information of the first user corresponds to the query entered by the first user, the first item is a document, and the supplier is a document provider or a document type.

17. A recommendation device, characterized in that, The device includes: The acquisition module is used to acquire a first feature representation, a second feature representation, and target information; wherein, the first feature representation corresponds to the attribute information of multiple users, the second feature representation corresponds to the attribute information of multiple items, the multiple items correspond to multiple suppliers, and the target information is related to the historical number of item exposures of each of the multiple suppliers; The processing module is used to obtain the recommendation score of each item among multiple items when recommending items to the multiple users, based on the first feature representation and the second feature representation and through a recommendation model; The optimization objective is determined based on the target information and the recommendation score, and the solution result of the optimization objective is obtained through linear programming. The solution result is used as the recommendation result. The optimization objective is to maximize the recommendation score and maximize the item exposure of suppliers with historically low item exposure.

18. The apparatus according to claim 17, characterized in that, The optimization objective also includes at least one of the following constraints: Constraints on the number of items recommended to each user; and, The quantity of items exposed for each supplier is limited.

19. The apparatus according to claim 17, characterized in that, The items referred to are music, videos, advertisements, or text.

20. The apparatus according to any one of claims 17 to 19, characterized in that, The attribute information of the multiple users corresponds to the queries entered by the multiple users, the item is a document, and the supplier is a document provider or document type.

21. A computing device, characterized in that, The computing device includes a memory and a processor; the memory stores code, and the processor is configured to retrieve the code and execute the method as described in any one of claims 1 to 10.

22. A computer storage medium, characterized in that, The computer storage medium stores one or more instructions that, when executed by one or more computers, cause the one or more computers to perform the method of any one of claims 1 to 10.

23. A computer program product, comprising code, characterized in that, When the code is executed, it is used to implement the method as described in any one of claims 1 to 10.

Citation Information

Patent Citations

  • Personalized recommendation method for social e-commerce users

    CN110544129A

  • Commodity recommendation method and device

    CN110838043A