A data processing method and related apparatus

By predicting the probability of user behavior and adjusting the loss function, the problem of delayed feedback of conversion behavior in recommendation models is solved, thereby improving the recommendation accuracy and user experience of the model.

CN117009649BActive Publication Date: 2026-11-06HUAWEI TECH CO LTD +1
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202310802390.3
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-06-30
Publication Date
2026-11-06
Estimated Expiration
2043-06-30

AI Technical Summary

Technical Problem

Existing recommendation models suffer from delayed feedback when processing conversion behavior after user clicks, resulting in the inability to know the true tags of recent click records and affecting the accuracy of conversion rate prediction.

Method used

By acquiring attribute information of users and items, the model is used to predict the probability of a user performing a second action, and the loss function is adjusted to improve the model training accuracy, including using the first model to predict the probability of user behavior and adjusting the cross-entropy loss.

Benefits of technology

It improved the recommendation accuracy of the recommendation model, enhanced the ability to predict user behavior, and increased advertising revenue and user experience for the advertising platform.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN117009649B_ABST
    Figure CN117009649B_ABST
Patent Text Reader

Abstract

A data processing method applicable to the field of artificial intelligence includes: acquiring a first training sample, wherein the first training sample indicates that a first user performed a first action on a first item but did not perform a second action; predicting the probability that the first user will perform a second action on the first item using a first model based on first attribute information and the time interval between the time of the first action and a first deadline; adjusting a first loss corresponding to a second model based on the probability to obtain an adjusted loss; and updating the second model based on the adjusted loss. This application uses a first model to predict the probability that a user will perform a second action after the first action, and adjusts the label based on this probability, i.e., adjusts the loss function. The adjusted loss function theoretically has no deviation from the ideal loss function, thereby improving the recommendation accuracy of the trained recommendation model.
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 data processing 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] Machine learning systems, including personalized recommendation systems, train the parameters of a machine learning model based on input data and labels using optimization methods such as gradient descent. Once the model parameters converge, the model can be used to predict unknown data. Taking click-through rate prediction in a personalized recommendation system as an example, its input data includes user attributes and product attributes. How to predict personalized recommendation lists based on user preferences has a significant impact on improving the recommendation accuracy of the system.

[0004] Predicting user behavior preferences to generate personalized recommendation lists has a significant impact on improving the user experience and platform revenue of recommendation systems. In traditional internet performance advertising's pay-per-click model, only click-through rate (CTR) estimates are provided; the advertiser's true needs are not addressed. More and more advertisers are focusing on the effectiveness of deeper conversion behaviors, requiring conversion rate predictions. Within Huawei's software ecosystem, after a platform exposes an item to a user, they may click on it if interested. In this process, our recommendation system needs to predict the probability of the user clicking—whether the user will actually click. However, in reality, users will take further action after clicking. If the recommended item is a mobile application, the user might download, install, or register for it; these actions are collectively referred to as conversions. Advertisers pay different fees for different promotional effects; therefore, the accuracy of conversion rate predictions significantly impacts the advertising platform's revenue.

[0005] Because user interests change dynamically over time, models need to be trained on the most up-to-date data, which is crucial for click-through rate (CTR) and conversion rate (CTR) predictions. Models trained only on older data (e.g., data from a month ago) may struggle to capture current user interests, impacting prediction accuracy. In industry, a common strategy is to retrain models daily or weekly on all collected data to keep them relevant. This simple strategy works well for CTR prediction models, but presents a new challenge for conversion rate prediction models—the delayed feedback problem. User clicks occur quickly, within minutes of seeing a product, but subsequent conversions (e.g., purchases) take much longer, sometimes over a week. This significant delay in conversion makes it impossible to know the true nature of recent clicks (i.e., whether a conversion will occur), as clicks that haven't yet resulted in a conversion might do so a day or a week later.

[0006] The existing approach assumes that clicks that haven't converted in the present will not convert in the future. This leads to some positive samples (clicks labeled as converted) being incorrectly treated as negative samples (clicks labeled as non-converted). These erroneous samples significantly impair the performance of conversion rate prediction models, and since they are generally relatively new, they are crucial to the model's timeliness. Summary of the Invention

[0007] This application provides a data processing method that can improve the recommendation accuracy of recommendation models.

[0008] In a first aspect, this application provides a data processing method, the method comprising: acquiring a first training sample, the first training sample including first attribute information of a first user and a first item, and a first label, the first training sample indicating that the first user performed a first action on the first item, and the first label indicating that the first user did not perform a second action on the first item; predicting the probability that the first user will perform a second action on the first item using a first model based on the first attribute information and the time interval between the time of the first action and a first deadline; obtaining a prediction result of whether the first user will perform a second action on the first item using a second model based on the first attribute information; determining a first loss based on the prediction result and the first label, and adjusting the first loss according to the probability to obtain an adjusted loss; and updating the second model based on the adjusted loss.

[0009] Although the first training sample indicates that the user performed the first action on the item but not the second action at the deadline, the user may still perform the second action after the collection time. If the first training sample is directly labeled as a negative sample during training, the inaccuracy of the label will lead to low accuracy of the trained recommendation model. In this embodiment, the first model can be used to predict the probability that the user will perform the second action after the first action, and the label can be adjusted based on this probability, that is, the loss function can be adjusted. The adjusted loss function can theoretically have no deviation from the ideal loss function, thereby improving the recommendation accuracy of the trained recommendation model.

[0010] In one possible implementation, the first action is a click action, and the second action is a conversion action following the click action.

[0011] In one possible implementation, the conversion behavior is one of the following: purchase, add to cart, favorite, download, or register.

[0012] In one possible implementation, the method further includes: acquiring a second training sample, the second training sample including second attribute information of a second user and a second item, and a second label, the second training sample indicating whether the second user performed the first action on the second item and did not perform the second action before a second deadline, and the second label indicating whether the second user performed the second action on the second item after the second deadline; predicting the probability that the second user will perform the second action on the second item using the first model based on the second attribute information and the time interval between the time of the first action and the second deadline; determining a second loss based on the probability and the second label, and updating the first model based on the second loss.

[0013] In one possible implementation, the first loss is the loss associated with the negative samples.

[0014] In one possible implementation, the first loss is the cross-entropy loss associated with negative samples.

[0015] In one possible implementation, adjusting the first loss according to the probability to obtain the adjusted loss includes: using the probability as a weight to adjust the first loss to obtain the adjusted loss.

[0016] In one possible implementation, the attribute information includes user attributes, which include at least one of the following: gender, age, occupation, income, hobbies, and education level.

[0017] In one possible implementation, the attribute information includes the item's attributes, which include at least one of the following: item name, developer, installation package size, category, and rating.

[0018] The user's attribute information can be attributes related to the user's preferences, including 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 attribute information. The items can be physical or virtual, such as apps, audio / video files, web pages, and news articles. The attribute information of the items can include at least one of the following: item name, developer, installation package size, category, and rating. For example, if an item is an application, the category can be chat, parkour, office, etc., and the rating can be a score or comment on the item. This application does not limit the specific type of attribute information of the items.

[0019] Secondly, this application provides a data processing method, the method comprising: Obtain attribute information of the user and the item, and determine the prediction result of the user performing the second action on the item by using the updated second model obtained by any of the methods described in the first aspect.

[0020] Thirdly, this application provides a data processing apparatus, the apparatus comprising: The acquisition module is used to acquire a first training sample, which includes first attribute information of a first user and a first item, as well as a first tag. The first training sample indicates that the first user has performed a first action on the first item, and the first tag indicates that the first user has not performed a second action on the first item. The processing module is used to predict the probability that the first user will perform a second action on the first item based on the first attribute information and the time interval between the time of the first action and the first deadline, using a first model. Based on the first attribute information, the second model is used to obtain a prediction result of whether the first user will perform a second action on the first item; A first loss is determined based on the prediction result and the first label, and the first loss is adjusted according to the probability to obtain an adjusted loss. The second model is updated based on the adjusted loss.

[0021] In one possible implementation, the first action is a click action, and the second action is a conversion action following the click action.

[0022] In one possible implementation, the transformation behavior is as follows: Purchase, add to cart, favorite, download, or register.

[0023] In one possible implementation, the device further includes: Obtain a second training sample, which includes second attribute information of a second user and a second item, and a second label. The second training sample indicates that before the second deadline, the second user performed the first action on the second item and did not perform the second action. The second label indicates whether the second user performed the second action on the second item after the second deadline. Based on the second attribute information, the time interval between the first action and the second deadline, the probability that the second user will perform the second action on the second item is predicted using the first model. A second loss is determined based on the probability and the second label, and the first model is updated based on the second loss.

[0024] In one possible implementation, the first loss is the loss associated with the negative samples.

[0025] In one possible implementation, the first loss is the cross-entropy loss associated with negative samples.

[0026] In one possible implementation, adjusting the first loss according to the probability to obtain the adjusted loss includes: The probability is used as a weight to adjust the first loss, resulting in the adjusted loss.

[0027] Fourthly, this application provides a data processing apparatus, the apparatus comprising: The acquisition module is used to acquire attribute information of users and items; The processing module is configured to determine, through the updated second model obtained as described in any of the methods in the first aspect, the predicted result of the user performing the second action on the item.

[0028] 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 described in the first aspect above.

[0029] In a sixth aspect, 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 described in the second aspect above.

[0030] 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 methods described in the first aspect and any optional method described in the second aspect.

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

[0032] 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. This chip system may be composed of chips or may include chips and other discrete devices. Attached Figure Description

[0033] Figure 1 A structural diagram illustrating the main framework of artificial intelligence; Figure 2 A schematic diagram of a system architecture provided for an embodiment of this application; Figure 3 A schematic diagram of a system architecture provided for an embodiment of this application; Figure 4 A schematic diagram illustrating a recommended scenario provided in an embodiment of this application; Figure 5 A flowchart illustrating a data processing method provided in an embodiment of this application; Figure 6 A flowchart illustrating a data processing method provided in an embodiment of this application; Figure 7 A flowchart illustrating a data processing method provided in an embodiment of this application; Figure 8 This is a schematic diagram of the structure of a data processing device provided in an embodiment of this application; Figure 9 A schematic diagram of a terminal device provided in an embodiment of this application; Figure 10A schematic diagram of a server provided for an embodiment of this application; Figure 11 This is a schematic diagram of a chip provided in an embodiment of this application. Detailed Implementation

[0034] 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.

[0035] 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.

[0036] 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.

[0037] First, the overall workflow of the artificial intelligence system is described; please refer to [link / reference]. Figure 1 , Figure 1 The 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 by technology) to the industrial ecosystem of the system.

[0038] (1) Infrastructure

[0039] 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.

[0040] (2) Data

[0041] 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.

[0042] (3) Data processing

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

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

[0045] 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.

[0046] 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.

[0047] (4) General ability

[0048] 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.

[0049] (5) Smart products and industry applications

[0050] 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.

[0051] 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.

[0052] Reference Figure 4 In 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.

[0053] 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.

[0054] 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 human brain's mechanisms, 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 from on-device SMS, 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.

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

[0056] 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, and hobbies. 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 a positive or negative example. 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 actions on the recommended object are positive examples, while samples where the user has not performed actions 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 actions 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 in 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 a model parameter matrix based on the samples in database 230 to generate a recommendation model 201 (such as the feature extraction network and neural network in this embodiment). 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.

[0057] 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.

[0058] 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.

[0059] 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.

[0060] 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.

[0061] 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.

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

[0063] 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.

[0064] 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.

[0065] 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.

[0066] 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.

[0067] 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.

[0068] 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.

[0069] 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.

[0070] 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.

[0071] 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.

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

[0073] 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.

[0074] 2. Personalized Recommendation System

[0075] 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 then uses this data to predict new requests and provide personalized recommendation results.

[0076] 3. Offline training

[0077] 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.

[0078] 4. Online Inference

[0079] 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.

[0080] 5. Click-through rate (CTR): This refers to the probability that a user clicks on a displayed item in a specific environment.

[0081] 6. Conversion rate: refers to the probability that a user will convert a clicked item into a completed action in a specific environment. Conversion generally refers to actions such as downloading, installing, and registering.

[0082] 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, based on the predicted selection rate or a function based on that selection rate, the items are sorted in descending order; 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.

[0083] 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.

[0084] 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.

[0085] 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.

[0086] (1) Neural Network

[0087] 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: ; 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.

[0088] (2) Deep Neural Networks

[0089] 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. It is an offset vector. This is the weight matrix (also called coefficients), and α() is the activation function. Each layer is simply a subset of the input vector. The output vector is obtained through such a simple operation. Because DNNs have many layers, the coefficients... and offset vector The number of these parameters is therefore quite large. These parameters are defined in DNNs as follows: [as coefficients] For example: Suppose in a three-layer DNN, the linear coefficient from the fourth neuron in the second layer to the second neuron in the third layer is defined as... The superscript 3 represents the coefficient. The layer number is used, and the index 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... It's important to note that the input layer does not have... Parameters. In deep neural networks, more hidden layers allow the network to better depict complex situations in the real world. Theoretically, the more parameters a model has, the higher its complexity and "capacity," meaning it can accomplish more complex learning tasks. Training a deep neural network is essentially the process of learning the weight matrix, and its ultimate goal is to obtain the weight matrix of all layers in the trained deep neural network (a weight matrix formed by vectors W from many layers).

[0090] (3) Loss function

[0091] 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.

[0092] (4) Backpropagation algorithm

[0093] 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.

[0094] (5) Machine learning system

[0095] Based on input data and labels, the parameters of a machine learning model are trained using optimization methods such as gradient descent, and the trained model is then used to predict unknown data.

[0096] (6) Personalized recommendation system

[0097] This system uses machine learning algorithms to analyze and model users' historical data, and then uses this data to predict new user requests and provide personalized recommendations.

[0098] (7) prompt

[0099] A template is a term used in natural language processing, and it can be divided into hard templates and soft templates. Hard templates are generally natural language words or sentences with certain meanings; soft templates generally refer to parameterized representation vectors that do not have meaning.

[0100] Machine learning systems, including personalized recommendation systems, train the parameters of a machine learning model based on input data and labels using optimization methods such as gradient descent. Once the model parameters converge, the model can be used to predict unknown data. Taking click-through rate prediction in a personalized recommendation system as an example, its input data includes user attributes and product attributes. How to predict personalized recommendation lists based on user preferences has a significant impact on improving the recommendation accuracy of the system.

[0101] Predicting user behavior preferences to generate personalized recommendation lists has a significant impact on improving the user experience and platform revenue of recommendation systems. In traditional internet performance advertising's pay-per-click model, only click-through rate (CTR) estimates are provided; the advertiser's true needs are not addressed. More and more advertisers are focusing on the effectiveness of deeper conversion behaviors, requiring conversion rate predictions. Within Huawei's software ecosystem, after a platform exposes an item to a user, they may click on it if interested. In this process, our recommendation system needs to predict the probability of the user clicking—whether the user will actually click. However, in reality, users will take further action after clicking. If the recommended item is a mobile application, the user might download, install, or register for it; these actions are collectively referred to as conversions. Advertisers pay different fees for different promotional effects; therefore, the accuracy of conversion rate predictions significantly impacts the advertising platform's revenue.

[0102] Because user interests change dynamically over time, models need to be trained on the most up-to-date data, which is crucial for click-through rate (CTR) and conversion rate (CTR) predictions. Models trained only on older data (e.g., data from a month ago) may struggle to capture current user interests, impacting prediction accuracy. In industry, a common strategy is to retrain models daily or weekly on all collected data to keep them relevant. This simple strategy works well for CTR prediction models, but presents a new challenge for conversion rate prediction models—the delayed feedback problem. User clicks occur quickly, within minutes of seeing a product, but subsequent conversions (e.g., purchases) take much longer, sometimes over a week. This significant delay in conversion makes it impossible to know the true nature of recent clicks (i.e., whether a conversion will occur), as clicks that haven't yet resulted in a conversion might do so a day or a week later.

[0103] The existing approach assumes that clicks that haven't converted in the present will not convert in the future. This leads to some positive samples (clicks labeled as converted) being incorrectly treated as negative samples (clicks labeled as non-converted). These erroneous samples significantly impair the performance of conversion rate prediction models, and since they are generally relatively new, they are crucial to the model's timeliness.

[0104] To address the aforementioned issues, this application provides a data processing method that can be a model training process, such as a model pre-training process or a fine-tuning process.

[0105] Reference Figure 5 , Figure 5 An embodiment of a data processing method provided in this application is illustrated, such as... Figure 5 As shown, an embodiment of this application provides a data processing method including: 501. Obtain a first training sample, the first training sample including first attribute information of a first user and a first item, and a first tag, the first training sample indicating that the first user performed a first action on the first item, and the first tag indicating that the first user did not perform a second action on the first item; In one possible implementation, the first action contained in the first label of the first training sample can be a click action, and the second action can be a conversion action following the click action.

[0106] For example, the conversion behavior can be one or more combinations of the following: purchase, add to cart, favorite, download, or register.

[0107] It should be understood that the second action in this application embodiment is the user's action after performing the first action, and is not limited to the conversion after clicking.

[0108] Here, performing the first action can be described as performing the operation corresponding to the first action, and performing the second action can be described as performing the operation corresponding to the second action.

[0109] In the first training sample, the user's attribute information can be attributes related to user 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 attribute information.

[0110] The items can be physical or virtual, such as applications (APPs), audio and video, web pages, and news information. The attribute information of the items can be at least one of the following: item name, developer, installation package size, category, and rating. For example, if the item is an application, the category can be chat, parkour game, office, etc., and the rating can be a score or comment on the item. This application does not limit the specific type of attribute information of the items.

[0111] 502. Based on the first attribute information and the time interval between the first action and the first deadline, the first model is used to predict the probability that the first user will perform a second action on the first item.

[0112] The first deadline can be the current time (i.e., the execution time). Figure 5 The time in the corresponding embodiment can also be a time that deviates from the current time, for example, the execution time. Figure 5 The corresponding implementation method is executed on the same day. Figure 5 The day before the corresponding implementation, or the day before execution Figure 5 The day after the corresponding implementation.

[0113] Although the first training sample indicates that the user performed the first action on the item but not the second action at the deadline, the user may still perform the second action after the collection time. If the first training sample is directly labeled as a negative sample during training, the inaccuracy of the label will lead to low accuracy of the trained recommendation model. In this embodiment, the first model can be used to predict the probability that the user will perform the second action after the first action, and the label can be adjusted based on this probability, that is, the loss function can be adjusted. The adjusted loss function can theoretically have no deviation from the ideal loss function, thereby improving the recommendation accuracy of the trained recommendation model.

[0114] The first model can also be called the label correction model.

[0115] In one possible implementation, based on the first attribute information and the time interval between the user's first action on the item and the deadline, a first model can be used to predict the probability that the user will perform a second action on the first item. This probability is also the probability that the observed negative sample is a true positive sample.

[0116] Specifically, the first model is trained (the training process of the first model can be completed before the second model, or it can be trained in conjunction with the second model, for example, after training the first model for a certain number of iterations, the trained first model is then used to train the second model).

[0117] The following is a schematic diagram of the training process of the first model: In one possible implementation, a second training sample may be obtained, which includes second attribute information of the second user and the second item, and a second label. The second training sample indicates that before the second deadline, the second user performed the first action on the second item and did not perform the second action. The second label indicates whether the second user performed the second action on the second item after the second deadline.

[0118] The second deadline can be a preset parameter, such as one week before the sample collection time, but this application does not limit it.

[0119] The first model can be trained on samples where the second user performed the first action on the second item but not the second action at the second deadline. If the sample indicates that the second user performed the second action on the second item after the second deadline, it can be used as a positive sample to train the first model. If the sample indicates that the second user did not perform the second action on the second item after the second deadline, it can be used as a negative sample to train the first model. The input to the second model is a feature representation of the time interval between the time of the first action and the second deadline.

[0120] Specifically, during the training of the first model, the probability that the second user will perform a second action on the second item can be predicted based on the second attribute information and the time interval between the first action and the second deadline. The second loss can be determined based on the probability and the second label (e.g., positive or negative sample). The first model can be updated based on the second loss.

[0121] For example, training data for delayed feedback label correction can be generated based on offline data. First, a hyperparameter is preset. (Before sample collection time) The timeframe can be a second deadline, where the parameter represents a period of time, such as one week. Initialize the label-corrected training data. This is an empty set. Iterate through each offline data entry; if its click time occurred during... Previously, and in If no conversion has occurred before, then add it. And the elapsed time of the sample from the time it was clicked to the present, in the sample features. minus After completing the traversal, the training data for label correction is obtained. The training data can then be corrected based on the labels. Train the label correction model. This label correction model can be any probability prediction model.

[0122] 503. Based on the first attribute information, the second model is used to obtain a prediction result of whether the first user will perform a second action on the first item.

[0123] Step 503 can be the feedforward process for training the second model.

[0124] In one possible implementation, the prediction result can be the probability that the first user performs a second action on the first item.

[0125] 504. Determine a first loss based on the prediction result and the first label, and adjust the first loss according to the probability to obtain an adjusted loss.

[0126] Since the first training sample indicates that the first user did not perform the second action on the first item, the first label can be a negative sample. Therefore, the first loss can be determined based on the prediction result and the first label, and the first loss can be adjusted using probability, for example, by using it as a weight to adjust the first loss.

[0127] In one possible implementation, the first loss is the loss associated with the negative samples.

[0128] In one possible implementation, the first loss is the cross-entropy loss associated with negative samples.

[0129] For example, taking cross-entropy loss as an example, suppose the offline data is... Assume the feature vector of the i-th sample is The elapsed time from the time of the click to the present is The currently observed transformation label is The first model is The first model outputs the i-th sample as follows: The second model is The corresponding loss function is: ; 505. Update the second model based on the adjusted loss.

[0130] For example, refer to Figure 6 , Figure 6 Here is a flowchart illustrating an embodiment of this application: Among them, the first model (that is) Figure 6 The LC model shown) and the second model (that is) Figure 6 The CVR model shown can be trained alternately. After the second model is trained, its embedding table can be transferred to the first model as its initialization parameters. Then, the first model is retrained on the label-corrected training data generated in the first step. The retrained first model has improved performance and can then guide the training of the second model to achieve better prediction accuracy.

[0131] Taking the second action as an example of conversion action, refer to Figure 7 , Figure 7This is a schematic diagram of an application framework for an embodiment of this application. The framework includes a 101 delayed feedback label correction module and a 102 alternating learning module. Module 101 is a general module for solving the delayed feedback problem in conversion rate prediction. It uses unbiased loss based on the label correction model to train the conversion rate prediction model. The label correction model is used to predict the probability that a currently unconverted sample will eventually convert. It can be theoretically proven that a sufficiently accurate label correction model can guide the conversion rate prediction model to perform unbiased learning. Since the original dataset does not contain training data for the label correction model, this embodiment uses a counterfactual method to generate training data to train the label correction model. Existing methods often ignore the correct information corresponding to erroneous samples. Compared with existing methods, this embodiment directly introduces this correct information through unbiased delayed feedback label correction, while having a theoretical guarantee of unbiasedness, thus ultimately achieving better prediction accuracy than traditional methods. Module 102 is a configurable module whose purpose is to alleviate the problem of insufficient utilization efficiency of counterfactually generated data, thereby better training the label correction model. The label correction model and the conversion rate prediction model learn alternately. The output of the label correction model is used to guide the conversion rate model to make unbiased estimates. The model parameters of the conversion rate prediction model are transferred to the label correction model to supplement the missing information in the counterfactual data and enhance the learning ability of the label correction model.

[0132] The beneficial effects of the embodiments of this application will be described below with reference to experiments: Specifically, we used Criteo, a public dataset commonly used in industry for delayed feedback problems. We used the last 23 days of data from the dataset, trained using data from days 0 to 21, validated using data from day 22, and tested using data from day 23.

[0133] The offline evaluation metrics were AUC, PR-AUC, and Logloss. The method proposed in this application does not impose limitations on the conversion rate prediction model; several classic conversion rate prediction models were used: MLP, DeepFM, AutoInt, and DCNV2. A simple MLP was used for label correction, but more advanced models can also be used. Experimental results are shown in Table 1.

[0134] Table 1

[0135] Based on Figure 5 During the inference process of the model obtained in the corresponding embodiment, the attribute information of users and items can be obtained through... Figure 5The updated second model obtained from the corresponding embodiment determines the prediction result of the user performing the second action on the item. Optionally, the item can be recommended to the user when the prediction result meets preset conditions.

[0136] In one possible implementation, during the model's inference process, when the prediction result meets preset conditions, it is determined to recommend the item to the user.

[0137] By using the above method, the probability of a user taking a second action regarding an item can be obtained, and information can be recommended based on the above probability. Specifically, when a preset condition is met, the item can be recommended to the user.

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

[0139] The following describes a data processing apparatus provided in the embodiments of this application from the perspective of the apparatus itself, referring to... Figure 8 , Figure 8 This application provides a schematic diagram of the structure of a data processing apparatus, as shown in the embodiments below. Figure 8 As shown, an embodiment of this application provides a data processing apparatus 800 comprising: The acquisition module 801 is used to acquire a first training sample, the first training sample including first attribute information of a first user and a first item, and a first tag, the first training sample indicating that the first user performed a first action on the first item, and the first tag indicating that the first user did not perform a second action on the first item; For a detailed description of the acquisition module 801, please refer to the description of step 501 in the above embodiments, which will not be repeated here.

[0140] The processing module 802 is used to predict the probability that the first user will perform a second action on the first item based on the first attribute information and the time interval between the time of the first action and the first deadline, using a first model. Based on the first attribute information, the second model is used to obtain a prediction result of whether the first user will perform a second action on the first item; A first loss is determined based on the prediction result and the first label, and the first loss is adjusted according to the probability to obtain an adjusted loss. The second model is updated based on the adjusted loss.

[0141] For a detailed description of the processing module 802, please refer to the description of steps 502 to 505 in the above embodiments, which will not be repeated here.

[0142] In one possible implementation, the first action is a click action, and the second action is a conversion action following the click action.

[0143] In one possible implementation, the transformation behavior is as follows: Purchase, add to cart, favorite, download, or register.

[0144] In one possible implementation, the device further includes: Obtain a second training sample, which includes second attribute information of a second user and a second item, and a second label. The second training sample indicates that before the second deadline, the second user performed the first action on the second item and did not perform the second action. The second label indicates whether the second user performed the second action on the second item after the second deadline. Based on the second attribute information, the time interval between the first action and the second deadline, the probability that the second user will perform the second action on the second item is predicted using the first model. A second loss is determined based on the probability and the second label, and the first model is updated based on the second loss.

[0145] In one possible implementation, the first loss is the loss associated with the negative samples.

[0146] In one possible implementation, the first loss is the cross-entropy loss associated with negative samples.

[0147] In one possible implementation, adjusting the first loss according to the probability to obtain the adjusted loss includes: The probability is used as a weight to adjust the first loss, resulting in the adjusted loss.

[0148] The following describes a terminal device provided in an embodiment of this application. Please refer to [link / reference]. Figure 9 , Figure 9 This is a schematic diagram of a terminal device provided in an embodiment of this application. The terminal device 900 can specifically be a mobile phone, tablet, laptop, smart wearable device, etc., and is not limited thereto. The terminal device 900 implements... Figure 5The data processing method in the corresponding embodiment has functionalities. Specifically, the terminal device 900 includes: a receiver 901, a transmitter 902, a processor 903, and a memory 904 (wherein the terminal device 900 may have one or more processors 903), wherein the processor 903 may include an application processor 9031 and a communication processor 9032. In some embodiments of this application, the receiver 901, transmitter 902, processor 903, and memory 904 may be connected via a bus or other means.

[0149] Memory 904 may include read-only memory and random access memory, and provides instructions and data to processor 903. A portion of memory 904 may also include non-volatile random access memory (NVRAM). Memory 904 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.

[0150] The processor 903 controls the operation of the terminal device. In specific applications, the various components of the terminal device are coupled together through a bus system. This bus system includes 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.

[0151] The methods disclosed in the embodiments of this application can be applied to or implemented by processor 903. Processor 903 can be an integrated circuit chip with signal processing capabilities. During implementation, each step of the above methods can be completed by integrated logic circuits in the hardware of processor 903 or by instructions in software form. The processor 903 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 903 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 904. Processor 903 reads the information in memory 904 and, in conjunction with its hardware, completes steps 501 to 505 in the above embodiments.

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

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

[0154] Server 1000 may also include one or more power supplies 1026, one or more wired or wireless network interfaces 1050, one or more input / output interfaces 1058; or, one or more operating systems 1041, such as Windows Server™, Mac OS X™, Unix™, Linux™, FreeBSD™, etc.

[0155] Specifically, the server can perform steps 501 to 505 in the above embodiments.

[0156] 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.

[0157] 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.

[0158] 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 data processing method described in the above embodiments, or to cause the chip within the training device to execute the data processing 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).

[0159] For details, please refer to Figure 11 , Figure 11 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) 1100. The NPU 1100 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 1103, which is controlled by the controller 1104 to extract matrix data from the memory and perform multiplication operations.

[0160] The NPU 1100 achieves this through the cooperation of its various internal components. Figure 5 The data processing method provided in the described embodiments.

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

[0162] 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 1102 and caches it in each PE of the arithmetic circuit. The arithmetic circuit retrieves the data of matrix A from the input memory 1101 and performs matrix operations with matrix B. The partial result or the final result of the obtained matrix is ​​stored in the accumulator 1108.

[0163] Unified memory 1106 is used to store input and output data. Weight data is directly transferred to weight memory 1102 via Direct Memory Access Controller (DMAC) 1105. Input data is also transferred to unified memory 1106 via DMAC.

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

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

[0166] The DMAC is mainly used to move input data from external memory DDR to unified memory 1106, or to weight data to weight memory 1102, or to input data to input memory 1101.

[0167] The vector computation unit 1107 includes multiple processing units that further process the output of the computation circuit 1103 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.

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

[0169] The instruction fetch buffer 1109 connected to the controller 1104 is used to store the instructions used by the controller 1104; Unified memory 1106, input memory 1101, weight memory 1102, and instruction fetch memory 1109 are all on-chip memories. External memory is proprietary to this NPU hardware architecture.

[0170] 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.

[0171] 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.

[0172] 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 a better 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.

[0173] 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.

[0174] 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 data processing method, characterized in that, The method includes: Obtain a first training sample, which includes first attribute information of a first user and a first item, as well as a first tag. The first training sample indicates that the first user performed a first action on the first item, and the first tag indicates that the first user did not perform a second action on the first item. The first action is a click action, and the second action is a conversion action after the click action. Based on the first attribute information and the time interval between the first action and the first deadline, the probability that the first user will perform a second action on the first item is predicted using the first model. Based on the first attribute information, a prediction result of whether the first user will perform a second action on the first item is obtained through the second model, wherein the second model is a conversion rate prediction model; A first loss is determined based on the prediction result and the first label, and the first loss is adjusted according to the probability to obtain an adjusted loss. The second model is updated based on the adjusted loss, wherein the first model and the second model are trained by alternating learning.

2. The method according to claim 1, characterized in that, The transformation behavior is one of the following: Purchase, add to cart, favorite, download, or register.

3. The method according to any one of claims 1 to 2, characterized in that, The method further includes: Obtain a second training sample, which includes second attribute information of a second user and a second item, and a second label. The second training sample indicates that before the second deadline, the second user performed the first action on the second item and did not perform the second action. The second label indicates whether the second user performed the second action on the second item after the second deadline. Based on the second attribute information, the time interval between the first action and the second deadline, the probability that the second user will perform the second action on the second item is predicted using the first model. A second loss is determined based on the probability and the second label, and the first model is updated based on the second loss.

4. The method according to any one of claims 1 to 2, characterized in that, The first loss is the loss associated with negative samples.

5. The method according to any one of claims 1 to 2, characterized in that, The first loss is the cross-entropy loss related to negative samples.

6. The method according to any one of claims 1 to 2, characterized in that, The step of adjusting the first loss according to the probability to obtain the adjusted loss includes: The probability is used as a weight to adjust the first loss, resulting in the adjusted loss.

7. A data processing method, characterized in that, The method includes: Obtain the attribute information of the user and the item, and determine the prediction result of the user performing the second action on the item by using the updated second model obtained by any one of the methods described in claims 1 to 6.

8. A data processing apparatus, characterized in that, The device includes: The acquisition module is used to acquire a first training sample, which includes first attribute information of a first user and a first item, as well as a first tag. The first training sample indicates that the first user has performed a first action on the first item, and the first tag indicates that the first user has not performed a second action on the first item. The first action is a click action, and the second action is a conversion action after the click action. The processing module is used to predict the probability that the first user will perform a second action on the first item based on the first attribute information and the time interval between the time of the first action and the first deadline, using a first model. Based on the first attribute information, a prediction result of whether the first user will perform a second action on the first item is obtained through the second model, wherein the second model is a conversion rate prediction model; A first loss is determined based on the prediction result and the first label, and the first loss is adjusted according to the probability to obtain an adjusted loss. The second model is updated based on the adjusted loss, wherein the first model and the second model are trained by alternating learning.

9. The apparatus according to claim 8, characterized in that, The transformation behavior is one of the following: Purchase, add to cart, favorite, download, or register.

10. The apparatus according to any one of claims 8 to 9, characterized in that, The device further includes: Obtain a second training sample, which includes second attribute information of a second user and a second item, and a second label. The second training sample indicates that before the second deadline, the second user performed the first action on the second item and did not perform the second action. The second label indicates whether the second user performed the second action on the second item after the second deadline. Based on the second attribute information, the time interval between the first action and the second deadline, the probability that the second user will perform the second action on the second item is predicted using the first model. A second loss is determined based on the probability and the second label, and the first model is updated based on the second loss.

11. The apparatus according to any one of claims 8 to 9, characterized in that, The first loss is the loss associated with negative samples.

12. The apparatus according to any one of claims 8 to 9, characterized in that, The first loss is the cross-entropy loss related to negative samples.

13. The apparatus according to any one of claims 8 to 9, characterized in that, The step of adjusting the first loss according to the probability to obtain the adjusted loss includes: The probability is used as a weight to adjust the first loss, resulting in the adjusted loss.

14. A data processing apparatus, characterized in that, The device includes: The acquisition module is used to acquire attribute information of users and items; A processing module is configured to determine, using the updated second model obtained by the apparatus as described in any one of claims 1 to 6, the predicted result of the user performing the second action on the item.

15. 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 7.

16. 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 7.

17. 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 7.

18. A chip, comprising a processor, characterized in that, The processor is used to support the data processing device in implementing the method as described in any one of claims 1 to 7.

Citation Information

Patent Citations

  • Commodity conversion rate prediction method

    CN115439152A